import { appendNode, assign, createComment, createElement, createText, detachNode, insertNode, noop, proto } from "svelte/shared.js"; function create_main_fragment ( state, component ) { var if_block_anchor; var current_block_type = select_block_type( state ); var if_block = current_block_type( state, component ); return { create: function () { if_block.create(); if_block_anchor = createComment(); }, mount: function ( target, anchor ) { if_block.mount( target, anchor ); insertNode( if_block_anchor, target, anchor ); }, update: function ( changed, state ) { if ( current_block_type !== ( current_block_type = select_block_type( state ) ) ) { if_block.unmount(); if_block.destroy(); if_block = current_block_type( state, component ); if_block.create(); if_block.mount( if_block_anchor.parentNode, if_block_anchor ); } }, unmount: function () { if_block.unmount(); detachNode( if_block_anchor ); }, destroy: function () { if_block.destroy(); } }; } function create_if_block ( state, component ) { var p, text; return { create: function () { p = createElement( 'p' ); text = createText( "foo!" ); }, mount: function ( target, anchor ) { insertNode( p, target, anchor ); appendNode( text, p ); }, unmount: function () { detachNode( p ); }, destroy: noop }; } function create_if_block_1 ( state, component ) { var p, text; return { create: function () { p = createElement( 'p' ); text = createText( "not foo!" ); }, mount: function ( target, anchor ) { insertNode( p, target, anchor ); appendNode( text, p ); }, unmount: function () { detachNode( p ); }, destroy: noop }; } function select_block_type ( state ) { if ( state.foo ) return create_if_block; return create_if_block_1; } function SvelteComponent ( options ) { options = options || {}; this._state = options.data || {}; this._observers = { pre: Object.create( null ), post: Object.create( null ) }; this._handlers = Object.create( null ); this._root = options._root || this; this._yield = options._yield; this._bind = options._bind; this._fragment = create_main_fragment( this._state, this ); if ( options.target ) { this._fragment.create(); this._fragment.mount( options.target, options.anchor || null ); } } assign( SvelteComponent.prototype, proto ); export default SvelteComponent;