mol_wire_lib 1.0.126 → 1.0.129

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/node.test.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../mam.jam.js","../../../../mam.ts","../../../fail/mol/fail/fail.ts","../../cursor/mol/wire/cursor/cursor.ts","../../pub/mol/wire/pub/pub.ts","../../sub/sub.ts","../../mol/wire/wire.ts","../../../dev/format/mol/dev/format/format.ts","../../pub/sub/mol/wire/pub/sub/sub.ts","../../../ambient/mol/ambient/ambient.ts","../../../delegate/mol/delegate/delegate.ts","../../../owning/mol/owning/owning.ts","../../../fail/hidden/mol/fail/hidden/hidden.ts","../../../type/writable/writable.ts","../../../object2/mol/object2/object2.ts","../../../after/timeout/mol/after/timeout/timeout.ts","../../../after/frame/mol/after/frame/frame.node.ts","../../fiber/mol/wire/fiber/fiber.ts","../../../compare/deep/mol/compare/deep/deep.ts","../../task/mol/wire/task/task.ts","../../../guid/mol/guid/guid.ts","../../../key/mol/key/key.ts","../../method/mol/wire/method/method.ts","../../atom/mol/wire/atom/atom.ts","../../probe/mol/wire/probe/probe.ts","../../solid/mol/wire/solid/solid.ts","../../sync/mol/wire/sync/sync.ts","../../async/mol/wire/async/async.ts","../../mem/mol/wire/mem/mem.ts","../../../const/mol/const/const.ts","../../field/mol/wire/field/field.ts","../../set/mol/wire/set/set.ts","../../dict/mol/wire/dict/dict.ts","../../../promise/mol/promise/promise.ts","../../../wait/timeout/mol/wait/timeout/timeout.ts","../../../mem/mol/mem/mem.ts","../../../log3/mol/log3/log3.ts","../../../../node/node.ts","../../../../node/node/node.node.ts","../../../deprecated/mol/deprecated/deprecated.ts","../../../tree/mol/tree/tree.ts","../../../log3/mol/log3/log3.node.ts","../../../env/mol/env/env.ts","../../../env/mol/env/env.node.ts","../../../exec/mol/exec/exec.node.ts","../../log/mol/wire/log/log.ts","../../../test/mol/test/test.node.test.ts","../../../test/mol/test/test.test.ts","../../../dom/context/mol/dom/context/context.ts","../../../dom/context/mol/dom/context/context.node.ts","../../../dom/render/children/mol/dom/render/children/children.ts","../../../type/error/error.ts","../../../type/assert/assert.test.ts","../../../type/assert/assert.ts","../../../type/equals/equals.test.ts","../../../type/equals/equals.ts","../../../type/partial/deep/deep.test.ts","../../../type/partial/deep/deep.ts","../../../jsx/mol/jsx/jsx.test.tsx","../../../jsx/mol/jsx/jsx.ts","../../../compare/deep/mol/compare/deep/deep.test.tsx","../../../dom/serialize/mol/dom/serialize/serialize.ts","../../../assert/mol/assert/assert.test.ts","../../../assert/mol/assert/assert.ts","../../../log3/mol/log3/log3.test.ts","../../../delegate/mol/delegate/delegate.test.ts","../../../type/writable/writable.test.ts","../../../tree/mol/tree/tree.test.ts","../../pub/sub/mol/wire/pub/sub/sub.test.ts","../../../after/mock/mol/after/mock/mock.test.ts","../../async/mol/wire/async/async.test.ts","../../../after/timeout/mol/after/timeout/timeout.test.ts","../../../after/frame/mol/after/frame/frame.test.ts","../../fiber/mol/wire/fiber/fiber.test.ts","../../mem/mol/wire/mem/mem.test.ts","../../probe/mol/wire/probe/probe.test.ts","../../../key/mol/key/key.test.tsx","../../atom/mol/wire/atom/atom.test.ts","../../../const/mol/const/const.test.ts","../../field/mol/wire/field/field.test.ts","../../set/mol/wire/set/set.test.ts","../../dict/mol/wire/dict/dict.test.ts"],"names":[],"mappings":"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","file":"node.test.js","sourcesContent":[null,"Error.stackTraceLimit = 50;\n\ndeclare let _$_: { new(): {} } & typeof globalThis\ndeclare class $ extends _$_ {}\n\nnamespace $ {\n\texport type $ = typeof $$\n\texport declare class $$ extends $ {}\n\tnamespace $$ {\n\t\texport type $$ = $\n\t}\n}\n\nmodule.exports = $\n","namespace $ {\n\n\texport function $mol_fail( error : any ) : never {\n\t\tthrow error\n\t}\n\n}\n","namespace $ {\n\t\n\t/** Special status statuses. */\n\texport enum $mol_wire_cursor {\n\t\t\n\t\t/** Update required. */\n\t\tstale = -1,\n\t\t\n\t\t/** Some of (transitive) pub update required. */\n\t\tdoubt = -2,\n\t\t\n\t\t/** Actual state but may be dropped. */\n\t\tfresh = -3,\n\t\t\n\t\t/** State will never be changed. */\n\t\tfinal = -4,\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\t/**\n\t * Collects subscribers in compact array. 28B\n\t */\n\texport class $mol_wire_pub extends Object {\n\t\t\n\t\tdata = [] as unknown[]\n\t\t\n\t\t// Derived objects should be Arrays.\n\t\tstatic get [ Symbol.species ]() {\n\t\t\treturn Array\n\t\t}\n\t\t\n\t\t/**\n\t\t * Index of first subscriber.\n\t\t */\n\t\tprotected sub_from = 0 // 4B\n\t\t\n\t\t/**\n\t\t * All current subscribers.\n\t\t */\n\t\tget sub_list() {\n\t\t\tconst res = [] as $mol_wire_sub[]\n\t\t\tfor( let i = this.sub_from; i < this.data.length; i += 2 ) {\n\t\t\t\tres.push( this.data[i] as $mol_wire_sub )\n\t\t\t}\n\t\t\treturn res as readonly $mol_wire_sub[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * Has any subscribers or not.\n\t\t */\n\t\tget sub_empty() {\n\t\t\treturn this.sub_from === this.data.length\n\t\t}\n\t\t\n\t\t/**\n\t\t * Subscribe subscriber to this publisher events and return position of subscriber that required to unsubscribe.\n\t\t */\n\t\tsub_on( sub: $mol_wire_pub, pub_pos: number ) {\n\t\t\tconst pos = this.data.length\n\t\t\tthis.data.push( sub, pub_pos )\n\t\t\treturn pos\n\t\t}\n\t\t\n\t\t/**\n\t\t * Unsubscribe subscriber from this publisher events by subscriber position provided by `on(pub)`.\n\t\t */\n\t\tsub_off( sub_pos: number ) {\n\t\t\t\n\t\t\tif(!( sub_pos < this.data.length )) {\n\t\t\t\t$mol_fail( new Error( `Wrong pos ${ sub_pos }` ) )\n\t\t\t}\n\t\t\t\n\t\t\tconst end = this.data.length - 2\n\t\t\tif( sub_pos !== end ) {\n\t\t\t\tthis.peer_move( end, sub_pos )\n\t\t\t}\n\t\t\t\n\t\t\tthis.data.pop()\n\t\t\tthis.data.pop()\n\t\t\t\n\t\t\tif( this.data.length === this.sub_from ) this.reap()\n\t\t\t\n\t\t}\n\t\t\n\t\t/**\n\t\t * Called when last sub was unsubscribed.\n\t\t **/\n\t\treap() { }\n\t\t\n\t\t/**\n\t\t * Autowire this publisher with current subscriber.\n\t\t **/\n\t\tpromote() {\n\t\t\t$mol_wire_auto()?.track_next( this )\n\t\t}\n\t\t\n\t\t/**\n\t\t * Enforce actualization. Should not throw errors.\n\t\t */\n\t\trefresh() {}\n\t\t\n\t\t/**\n\t\t * Allow to put data to caches in the subtree.\n\t\t */\n\t\tcomplete() {}\n\t\t\n\t\t/**\n\t\t * Notify subscribers about self changes.\n\t\t */\n\t\temit( quant = $mol_wire_cursor.stale ) {\n\t\t\tfor( let i = this.sub_from; i < this.data.length; i += 2 ) {\n\t\t\t\t;( this.data[i] as $mol_wire_sub ).absorb( quant )\n\t\t\t}\n\t\t}\n\t\t\n\t\t/**\n\t\t * Moves peer from one position to another. Doesn't clear data at old position!\n\t\t */\n\t\tpeer_move( from_pos: number, to_pos: number ) {\n\t\t\t\n\t\t\tconst peer = this.data[ from_pos ] as $mol_wire_pub\n\t\t\tconst self_pos = this.data[ from_pos + 1 ] as number\n\t\t\t\n\t\t\tthis.data[ to_pos ] = peer\n\t\t\tthis.data[ to_pos + 1 ] = self_pos\n\t\t\t\n\t\t\tpeer.peer_repos( self_pos, to_pos )\n\t\t}\n\t\t\n\t\t/**\n\t\t * Updates self position in the peer.\n\t\t */\n\t\tpeer_repos( peer_pos: number, self_pos: number ) {\n\t\t\tthis.data[ peer_pos + 1 ] = self_pos\n\t\t}\n\t\t\n\t}\n\t\n}\n",null,"namespace $ {\n\t\n\tlet auto: $mol_wire_sub | null = null\n\t\n\t/**\n\t * When fulfilled, all publishers are promoted to this subscriber on access to its.\n\t */\n\texport function $mol_wire_auto( next = auto ) {\n\t\treturn auto = next\n\t}\n\t\n\t/**\n\t * Affection queue. Used to prevent accidental stack overflow on emit.\n\t */\n\texport const $mol_wire_affected = [] as ( $mol_wire_sub | number )[]\n\t\n}\n","namespace $ {\n\n\t// https://docs.google.com/document/d/1FTascZXT9cxfetuPRT2eXPQKXui4nWFivUnS_335T3U/preview#\n\t$['devtoolsFormatters'] = $['devtoolsFormatters'] || []\n\n\texport function $mol_dev_format_register( config : {\n\t\theader : ( val : any , config : any )=> any\n\t\thasBody : ( val : any , config : any )=> false\n\t} | {\n\t\theader : ( val : any , config : any )=> any\n\t\thasBody : ( val : any , config : any )=> boolean\n\t\tbody : ( val : any , config : any )=> any\n\t} ) {\n\t\t$['devtoolsFormatters'].push( config )\n\t}\n\n\texport let $mol_dev_format_head = Symbol( '$mol_dev_format_head' )\n\texport let $mol_dev_format_body = Symbol( '$mol_dev_format_body' )\n\n\t$mol_dev_format_register({\n\n\t\theader : ( val : any , config = false ) => {\n\t\t\t\n\t\t\tif( config ) return null\n\n\t\t\tif( !val ) return null\n\t\t\t\n\t\t\tif( $mol_dev_format_head in val ) {\n\t\t\t\treturn val[ $mol_dev_format_head ]()\n\t\t\t}\n\t\t\t\n\t\t\tif( typeof val === 'function' ) {\n\t\t\t\treturn $mol_dev_format_native( val )\n\t\t\t}\n\n\t\t\treturn null\n\t\t\t\n\t\t} ,\n\t\t\n\t\thasBody : val => val[ $mol_dev_format_body ] ,\n\n\t\tbody : val => val[ $mol_dev_format_body ]() ,\n\n\t})\n\n\texport function $mol_dev_format_native( obj : any ) {\n\t\t\n\t\tif( typeof obj === 'undefined' ) return $mol_dev_format_shade( 'undefined' )\n\t\tif( typeof obj !== 'object' && typeof obj !== 'function' ) return obj\n\n\t\treturn [\n\t\t\t'object' ,\n\t\t\t{\n\t\t\t\tobject : obj ,\n\t\t\t\tconfig : true ,\n\t\t\t} ,\n\t\t]\n\n\t}\n\n\texport function $mol_dev_format_auto( obj : any ) {\n\t\t\n\t\tif( obj == null ) return $mol_dev_format_shade( String( obj ) )\n\n\t\tif( typeof obj === 'object' && $mol_dev_format_head in obj ) {\n\t\t\treturn obj[ $mol_dev_format_head ]()\n\t\t}\n\n\t\treturn [\n\t\t\t'object' ,\n\t\t\t{\n\t\t\t\tobject : obj ,\n\t\t\t\tconfig : false ,\n\t\t\t} ,\n\t\t]\n\n\t}\n\n\texport function $mol_dev_format_element( element : string , style : object , ...content : any[] ) {\n\t\t\t\n\t\tconst styles = [] as string[]\n\t\t\n\t\tfor( let key in style ) styles.push( `${ key } : ${ style[key] }` )\n\t\t\n\t\treturn [\n\t\t\telement ,\n\t\t\t{\n\t\t\t\tstyle : styles.join( ' ; ' ) ,\n\t\t\t} ,\n\t\t\t... content ,\n\t\t]\n\n\t}\n\n\texport function $mol_dev_format_span( style : object , ...content : any[] ) {\n\t\treturn $mol_dev_format_element(\n\t\t\t'span' ,\n\t\t\t{\n\t\t\t\t'vertical-align' : '8%',\n\t\t\t\t... style ,\n\t\t\t} ,\n\t\t\t... content ,\n\t\t)\n\t}\n\n\texport let $mol_dev_format_div = $mol_dev_format_element.bind( null , 'div' )\n\texport let $mol_dev_format_ol = $mol_dev_format_element.bind( null , 'ol' )\n\texport let $mol_dev_format_li = $mol_dev_format_element.bind( null , 'li' )\n\texport let $mol_dev_format_table = $mol_dev_format_element.bind( null , 'table' )\n\texport let $mol_dev_format_tr = $mol_dev_format_element.bind( null , 'tr' )\n\texport let $mol_dev_format_td = $mol_dev_format_element.bind( null , 'td' )\n\n\texport let $mol_dev_format_accent = $mol_dev_format_span.bind( null , {\n\t\t'color' : 'magenta' ,\n\t} )\n\n\texport let $mol_dev_format_strong = $mol_dev_format_span.bind( null , {\n\t\t'font-weight' : 'bold' ,\n\t} )\n\n\texport let $mol_dev_format_string = $mol_dev_format_span.bind( null , {\n\t\t'color' : 'green',\n\t} )\n\n\texport let $mol_dev_format_shade = $mol_dev_format_span.bind( null , {\n\t\t'color' : 'gray',\n\t} )\n\n\texport let $mol_dev_format_indent = $mol_dev_format_div.bind( null , {\n\t\t'margin-left': '13px'\n\t} )\n\n}\n","namespace $ {\n\t\n\t/**\n\t * Publisher that can auto collect other publishers. 32B\n\t * \n\t * \tP1 P2 P3 P4 S1 S2 S3\n\t * \t^ ^\n\t * \tpubs_from subs_from\n\t */\n\texport class $mol_wire_pub_sub extends $mol_wire_pub implements $mol_wire_sub {\n\t\t\n\t\tprotected pub_from = 0 // 4B\n\t\tprotected cursor = $mol_wire_cursor.stale // 4B\n\t\t\n\t\tget pub_list() {\n\t\t\tconst res = [] as $mol_wire_pub[]\n\t\t\tconst max = this.cursor >=0 ? this.cursor : this.sub_from\n\t\t\tfor( let i = this.pub_from; i < max; i += 2 ) {\n\t\t\t\tres.push( this.data[i] as $mol_wire_pub )\n\t\t\t}\n\t\t\treturn res\n\t\t}\n\t\t\n\t\ttrack_on() {\n\t\t\tthis.cursor = this.pub_from\n\t\t\tconst sub = $mol_wire_auto()\n\t\t\t$mol_wire_auto( this )\n\t\t\treturn sub\n\t\t}\n\t\t\n\t\tpromote() {\n\t\t\t\n\t\t\tif( this.cursor >= this.pub_from ) {\n\t\t\t\t$mol_fail( new Error( 'Circular subscription' ) )\n\t\t\t}\n\t\t\t\n\t\t\tsuper.promote()\n\t\t}\n\t\t\n\t\ttrack_next( pub?: $mol_wire_pub ): $mol_wire_pub | null {\n\t\t\t\n\t\t\tif( this.cursor < 0 ) $mol_fail( new Error( 'Promo to non begun sub' ) )\n\t\t\t\n\t\t\tif( this.cursor < this.sub_from ) {\n\t\t\t\n \t\t\t\tconst next = this.data[ this.cursor ] as $mol_wire_pub | undefined\n\t\t\t\tif( pub === undefined ) return next ?? null\n\t\t\t\t\n\t\t\t\tif( next === pub ) {\n\t\t\t\t\tthis.cursor += 2\n\t\t\t\t\treturn next\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( next ) {\n\t\t\t\t\t\n\t\t\t\t\tif( this.sub_from < this.data.length ) {\n\t\t\t\t\t\tthis.peer_move( this.sub_from, this.data.length )\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tthis.peer_move( this.cursor, this.sub_from )\n\t\t\t\t\tthis.sub_from += 2\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t} else {\n\t\t\t\t\n\t\t\t\tif( pub === undefined ) return null\n\t\t\t\t\n\t\t\t\tif( this.sub_from < this.data.length ) {\n\t\t\t\t\tthis.peer_move( this.sub_from, this.data.length )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tthis.sub_from += 2\n\t\t\t\t\n\t\t\t}\t\t\t\n\t\t\t\n\t\t\tthis.data[ this.cursor ] = pub\n\t\t\tthis.data[ this.cursor + 1 ] = pub.sub_on( this, this.cursor )\n\t\t\t\n\t\t\tthis.cursor += 2\n\t\t\t\n\t\t\treturn pub\n\t\t}\n\t\t\n\t\ttrack_off( sub: $mol_wire_sub | null ) {\n\t\t\t\n\t\t\t$mol_wire_auto( sub )\n\t\t\t\n\t\t\tif( this.cursor < 0 ) {\n\t\t\t\t$mol_fail( new Error( 'End of non begun sub' ) )\n\t\t\t}\n\t\t\t\n\t\t\tfor(\n\t\t\t\tlet cursor = this.pub_from;\n\t\t\t\tcursor < this.cursor;\n\t\t\t\tcursor += 2\n\t\t\t) {\n\t\t\t\tconst pub = this.data[ cursor ] as $mol_wire_pub\n\t\t\t\tpub.refresh()\n\t\t\t}\n\t\t\t\n\t\t\tthis.cursor = $mol_wire_cursor.fresh\n\t\t\t\n\t\t}\n\t\t\n\t\tpub_off( sub_pos: number ) {\n\t\t\tthis.data[ sub_pos ] = undefined as any\n\t\t\tthis.data[ sub_pos + 1 ] = undefined as any \n\t\t}\n\t\t\n\t\tdestructor() {\n\t\t\t\n\t\t\tfor(\n\t\t\t\tlet cursor = this.data.length - 2;\n\t\t\t\tcursor >= this.sub_from;\n\t\t\t\tcursor -= 2\n\t\t\t) {\n\t\t\t\tconst sub = this.data[ cursor ] as $mol_wire_sub\n\t\t\t\tconst pos = this.data[ cursor + 1 ] as number\n\t\t\t\tsub.pub_off( pos )\n\t\t\t\tthis.data.pop()\n\t\t\t\tthis.data.pop()\n\t\t\t}\n\t\t\t\n\t\t\tthis.cursor = this.pub_from\n\t\t\tthis.track_cut()\n\t\t\tthis.cursor = $mol_wire_cursor.final\n\t\t\t\n\t\t}\n\t\t\n\t\ttrack_cut() {\n\t\t\t\n\t\t\tif( this.cursor < this.pub_from ) {\n\t\t\t\t$mol_fail( new Error( 'Cut of non begun sub' ) )\n\t\t\t}\n\t\t\t\n\t\t\tlet tail = 0\n\t\t\t\n\t\t\tfor(\n\t\t\t\tlet cursor = this.cursor;\n\t\t\t\tcursor < this.sub_from;\n\t\t\t\tcursor += 2\n\t\t\t) {\n\t\t\t\t\n\t\t\t\tconst pub = this.data[ cursor ] as $mol_wire_pub | undefined\n\t\t\t\tpub?.sub_off( this.data[ cursor + 1 ] as number )\n\t\t\t\t\n\t\t\t\tif( this.sub_from < this.data.length ) {\n\t\t\t\t\tthis.peer_move( this.data.length - 2, cursor )\n\t\t\t\t\tthis.data.pop()\n\t\t\t\t\tthis.data.pop()\n\t\t\t\t} else {\n\t\t\t\t\t++ tail\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tfor(; tail; -- tail ) {\n\t\t\t\tthis.data.pop()\n\t\t\t\tthis.data.pop()\n\t\t\t}\n\t\t\t\n\t\t\tthis.sub_from = this.cursor\n\t\t\t\n\t\t}\n\t\t\n\t\tcomplete() { }\n\t\t\n\t\tcomplete_pubs() {\n\t\t\t\n\t\t\tconst limit = this.cursor < 0 ? this.sub_from : this.cursor \n\t\t\t\n\t\t\tfor(\n\t\t\t\tlet cursor = this.pub_from;\n\t\t\t\tcursor < limit;\n\t\t\t\tcursor += 2\n\t\t\t) {\n\t\t\t\tconst pub = this.data[ cursor ] as $mol_wire_pub\n\t\t\t\tpub?.complete()\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\tabsorb( quant = $mol_wire_cursor.stale ) {\n\t\t\t\n\t\t\tif( this.cursor === $mol_wire_cursor.final ) return\n\t\t\tif( this.cursor >= quant ) return\n\t\t\t\n\t\t\tthis.cursor = quant\n\t\t\tthis.emit( $mol_wire_cursor.doubt )\n\t\t\t\n\t\t}\n\t\t\n\t\t[ $mol_dev_format_head ]() {\n\t\t\treturn $mol_dev_format_native( this )\n\t\t}\n\t\t\n\t\t/**\n\t\t * Is subscribed to any publisher or not.\n\t\t */\n\t\tget pub_empty() {\n\t\t\treturn this.sub_from === this.pub_from\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\n\texport const $mol_ambient_ref : unique symbol = Symbol( '$mol_ambient_ref' )\n\n\t/** @deprecated use $ instead */\n\texport type $mol_ambient_context = $\n\n\texport function $mol_ambient( this : $ | void , overrides : Partial< $ > ) : $ {\n\t\treturn Object.setPrototypeOf( overrides , this || $ )\n\t}\n\n}\n","namespace $ {\n\n\tconst instances = new WeakSet< any >()\n\n\t/**\n\t * Proxy that delegates all to lazy returned target.\n\t * \n\t * \t$mol_delegate( Array.prototype , ()=> fetch_array() )\n\t */\n export function $mol_delegate< Value extends object >(\n\t\tproto : Value ,\n\t\ttarget : ()=> Value ,\n\t) {\n\n\t\tconst proxy = new Proxy( proto , {\n\n\t\t\tget: ( _ , field )=> {\n\t\t\t\tconst obj = target()\n\t\t\t\tlet val = Reflect.get( obj , field )\n\t\t\t\tif( typeof val === 'function' ) {\n\t\t\t\t\tval = val.bind( obj )\n\t\t\t\t} \n\t\t\t\treturn val\n\t\t\t},\n\t\t\thas: ( _ , field )=> Reflect.has( target(), field ),\n\t\t\tset: ( _ , field , value )=> Reflect.set( target() , field , value ),\n\t\t\t\n\t\t\tgetOwnPropertyDescriptor: ( _ , field )=> Reflect.getOwnPropertyDescriptor( target() , field ),\n\t\t\townKeys: ()=> Reflect.ownKeys( target() ),\n\t\t\t\n\t\t\tgetPrototypeOf: ()=> Reflect.getPrototypeOf( target() ),\n\t\t\tsetPrototypeOf: ( _ , donor )=> Reflect.setPrototypeOf( target() , donor ),\n\t\t\t\n\t\t\tisExtensible: ()=> Reflect.isExtensible( target() ),\n\t\t\tpreventExtensions: ()=> Reflect.preventExtensions( target() ),\n\t\t\t\n\t\t\tapply: ( _ , self , args )=> Reflect.apply( target() as Function , self , args ),\n\t\t\tconstruct: ( _ , args , retarget )=> Reflect.construct( target() as Function , args , retarget ),\n\t\t\t\n\t\t\tdefineProperty: ( _ , field , descr )=> Reflect.defineProperty( target() , field , descr ),\n\t\t\tdeleteProperty: ( _ , field )=> Reflect.deleteProperty( target() , field ),\n\n\t\t} )\n\n\t\tinstances.add( proxy )\n\n\t\treturn proxy\n\n\t}\n\n\tReflect.defineProperty(\n\t\t$mol_delegate ,\n\t\tSymbol.hasInstance ,\n\t\t{\n\t\t\tvalue : ( obj : object )=> instances.has( obj ),\n\t\t},\n\t)\n\n}\n","namespace $ {\n\n\texport const $mol_owning_map = new WeakMap< any , any >()\n\n\texport function $mol_owning_allow< Having >(\n\t\thaving : Having ,\n\t) : having is Having & {\n\t\tdestructor() : void\n\t} {\n\t\ttry {\n\t\t\tif( !having ) return false\n\t\t\tif( typeof having !== 'object' ) return false\n\t\t\tif( having instanceof $mol_delegate ) return false\n\t\t\tif( typeof having['destructor'] !== 'function' ) return false\n\t\t\treturn true\n\t\t} catch {\n\t\t\treturn false\n\t\t}\n\t}\n\n\texport function $mol_owning_get< Having , Owner extends object >( having : Having , Owner? : { new() : Owner } ) : Owner | null {\n\t\n\t\tif( !$mol_owning_allow( having ) ) return null\n\n\t\twhile( true ) {\n\n\t\t\tconst owner = $mol_owning_map.get( having )\n\t\t\tif( !owner ) return owner\n\t\t\tif( !Owner ) return owner\n\t\t\t\n\t\t\tif( owner instanceof Owner ) return owner\n\n\t\t\thaving = owner\n\t\t}\n\n\t}\n\t\n\texport function $mol_owning_check< Owner , Having >(\n\t\towner : Owner ,\n\t\thaving : Having ,\n\t) : having is Having & { destructor() : void } {\n\t\tif( !$mol_owning_allow( having ) ) return false\n\t\tif( $mol_owning_map.get( having ) !== owner ) return false\n\t\treturn true\n\t}\n\t\n\texport function $mol_owning_catch< Owner , Having >(\n\t\towner : Owner ,\n\t\thaving : Having ,\n\t) {\n\t\tif( !$mol_owning_allow( having ) ) return false\n\t\tif( $mol_owning_map.get( having ) ) return false\n\n\t\t$mol_owning_map.set( having , owner )\n\t\treturn true\n\t}\n\n}\n","namespace $ {\n\n\texport function $mol_fail_hidden( error : any ) : never {\n\t\tthrow error /// Use 'Never Pause Here' breakpoint in DevTools or simply blackbox this script\n\t}\n\n}\n",null,"namespace $ {\n\n\texport class $mol_object2 {\n\t\t\n\t\tstatic $ = $ as $\n\t\t\n\t\t[ $mol_ambient_ref ] = null as any as $\n\t\tget $() {\n\t\t\tif( this[ $mol_ambient_ref ] ) return this[ $mol_ambient_ref ]\n\t\t\tconst owner = $mol_owning_get( this ) as any\n\t\t\treturn this[ $mol_ambient_ref ] = owner?.$ || $mol_object2.$ as $\n\t\t}\n\t\tset $( next : $ ) {\n\t\t\tif( this[ $mol_ambient_ref ] ) $mol_fail_hidden( new Error( 'Context already defined' ) )\n\t\t\tthis[ $mol_ambient_ref ] = next\n\t\t}\n\n\t\tpublic static create< Instance >(\n\t\t\tthis : new( init? : ( instance : any )=> void )=> Instance ,\n\t\t\tinit? : ( instance : $mol_type_writable<Instance> )=> void\n\t\t) : Instance {\n\t\t\tconst obj = new this\n\t\t\tif( init ) init( obj )\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\tstatic [ Symbol.toPrimitive ]() {\n\t\t\treturn this.toString()\n\t\t}\n\t\t\n\t\tstatic toString() {\n\t\t\tif( Symbol.toStringTag in this ) return this[ Symbol.toStringTag ]\n\t\t\treturn this.name\n\t\t}\n\t\t\n\t\tdestructor() { }\n\t\t\n\t\t//[ Symbol.toPrimitive ]( hint: string ) {\n\t\t//\treturn hint === 'number' ? this.valueOf() : this.toString()\n\t\t//}\n\t\t\n\t\ttoString() {\n\t\t\treturn this[ Symbol.toStringTag ] || this.constructor.name + '()'\n\t\t}\n\t\t\n\t\ttoJSON() {\n\t\t\treturn this.toString()\n\t\t}\n\n\t}\n}\n","namespace $ {\n\n\texport class $mol_after_timeout extends $mol_object2 {\n\n\t\tid : any\n\n\t\tconstructor(\n\t\t\tpublic delay : number ,\n\t\t\tpublic task : ()=> void ,\n\t\t) {\n\t\t\tsuper()\n\t\t\tthis.id = setTimeout( task , delay )\n\t\t}\n\n\t\tdestructor() {\n\t\t\tclearTimeout( this.id )\n\t\t}\n\n\t}\n\t\n}\n","namespace $ {\n\n\texport class $mol_after_frame extends $mol_after_timeout {\n\n\t\tconstructor(\n\t\t\tpublic task : ()=> void ,\n\t\t) {\n\t\t\tsuper( 16 , task )\n\t\t}\n\n\t}\n\t\n}\n","namespace $ {\n\t\n\tconst handled = new WeakSet< Promise< unknown > >()\n\t\n\t/**\n\t * Suspendable task with with support both sync/async api.\n\t * \n\t * \tA1 A2 A3 A4 P1 P2 P3 P4 S1 S2 S3\n\t * \t^ ^ ^\n\t * \targs_from pubs_from subs_from\n\t **/\n\texport abstract class $mol_wire_fiber<\n\t\tHost,\n\t\tArgs extends readonly unknown[],\n\t\tResult,\n\t> extends $mol_wire_pub_sub {\n\t\t\n\t\tstatic warm = true\n\t\t\n\t\tstatic planning = new Set< $mol_wire_fiber< any, any, any > >()\n\t\tstatic reaping = new Set< $mol_wire_fiber< any, any, any > >()\n\t\t\n\t\tstatic plan_task: $mol_after_frame | null = null\n\t\tstatic plan() {\n\t\t\t\n\t\t\tif( this.plan_task ) return\n\t\t\t\n\t\t\tthis.plan_task = new $mol_after_frame( ()=> {\n\t\t\t\t\n\t\t\t\ttry {\n\t\t\t\t\tthis.sync()\n\t\t\t\t} finally {\n\t\t\t\t\t$mol_wire_fiber.plan_task = null\n\t\t\t\t}\n\n\t\t\t} )\n\t\t\t\n\t\t}\n\t\t\n\t\tstatic sync() {\n\t\t\t\n\t\t\t// Sync whole fiber graph\n\t\t\twhile( this.planning.size ) {\n\t\t\t\t\n\t\t\t\tconst fibers = this.planning\n\t\t\t\tthis.planning = new Set\n\t\t\t\t\n\t\t\t\tfor( const fiber of fibers ) {\n\t\t\t\t\tfiber.refresh()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\t// Collect garbage\n\t\t\twhile( this.reaping.size ) {\n\t\t\t\t\n\t\t\t\tconst fibers = this.reaping\n\t\t\t\tthis.reaping = new Set\n\t\t\t\t\n\t\t\t\tfor( const fiber of fibers ) {\n\t\t\t\t\tif( !fiber.sub_empty ) continue\n\t\t\t\t\tfiber.destructor()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\tpublic cache: Result | Error | Promise< Result | Error > = undefined as any\n\t\t\n\t\tget args() {\n\t\t\treturn this.data.slice( 0 , this.pub_from ) as any as Args\n\t\t}\n\t\t\n\t\tresult() {\n\t\t\tif( this.cache instanceof Promise ) return\n\t\t\tif( this.cache instanceof Error ) return\n\t\t\treturn this.cache\n\t\t}\n\t\t\n\t\tfield() {\n\t\t\treturn this.task.name + '()'\n\t\t}\n\t\t\n\t\tconstructor(\n\t\t\tid: string,\n\t\t\treadonly task: ( this : Host , ... args : Args )=> Result,\n\t\t\treadonly host?: Host,\n\t\t\t... args: Args\n\t\t) {\n\t\t\t\n\t\t\tsuper()\n\t\t\tthis.data.push( ... args )\n\t\t\tthis.pub_from = this.sub_from = args.length\n\t\t\tthis[ Symbol.toStringTag ] = id\n\t\t\t\n\t\t}\n\t\t\n\t\tplan() {\n\t\t\t$mol_wire_fiber.planning.add( this )\n\t\t\t$mol_wire_fiber.plan()\n\t\t}\n\t\t\n\t\treap() {\n\t\t\t$mol_wire_fiber.reaping.add( this )\n\t\t\t$mol_wire_fiber.plan()\n\t\t}\n\t\t\n\t\ttoString() {\n\t\t\treturn this[ Symbol.toStringTag ]\n\t\t}\n\t\t\n\t\ttoJSON() {\n\t\t\treturn this[ Symbol.toStringTag ]\n\t\t}\n\n\t\t[ $mol_dev_format_head ]() {\n\t\t\t\n\t\t\tconst cursor = {\n\t\t\t\t[-1]: '🔴',\n\t\t\t\t[-2]: '🟡',\n\t\t\t\t[-3]: '🟢',\n\t\t\t\t[-4]: '🔵',\n\t\t\t}[ this.cursor ] ?? this.cursor.toString()\n\t\t\t\n\t\t\treturn $mol_dev_format_div( {},\n\t\t\t\t$mol_dev_format_native( this ),\n\t\t\t\t$mol_dev_format_shade( cursor + ' ' ),\n\t\t\t\t$mol_dev_format_auto( this.cache ),\n\t\t\t)\n\t\t\t\n\t\t}\n\t\t\n\t\tget $() {\n\t\t\treturn ( this.host ?? this.task )['$']\n\t\t}\n\t\t\n\t\temit( quant = $mol_wire_cursor.stale ) {\n\t\t\tif( this.sub_empty ) this.plan()\n\t\t\telse super.emit( quant )\n\t\t}\n\t\t\n\t\trefresh() {\n\n\t\t\ttype Result = typeof this.cache\n\t\t\t\n\t\t\tif( this.cursor === $mol_wire_cursor.fresh ) return\n\t\t\tif( this.cursor === $mol_wire_cursor.final ) return\n\t\t\t\n\t\t\tcheck: if( this.cursor === $mol_wire_cursor.doubt ) {\n\t\t\t\t\n\t\t\t\tfor( let i = this.pub_from ; i < this.sub_from; i += 2 ) {\n\t\t\t\t\t;( this.data[i] as $mol_wire_pub )?.refresh()\n\t\t\t\t\tif( this.cursor !== $mol_wire_cursor.doubt ) break check\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tthis.cursor = $mol_wire_cursor.fresh\n\t\t\t\treturn\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tconst bu = this.track_on()\n\t\t\tlet result: typeof this.cache\n\n\t\t\ttry {\n\n\t\t\t\tswitch( this.pub_from ) {\n\t\t\t\t\tcase 0: result = (this.task as any).call( this.host! ); break\n\t\t\t\t\tcase 1: result = (this.task as any).call( this.host!, this.data[0] ); break\n\t\t\t\t\tdefault: result = (this.task as any).call( this.host!, ... this.data.slice( 0 , this.pub_from ) ); break\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( result instanceof Promise ) {\n\t\t\t\t\t\n\t\t\t\t\tconst put = ( res: Result )=> {\n\t\t\t\t\t\tif( this.cache === result ) this.put( res )\n\t\t\t\t\t\treturn res\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tresult = Object.assign( result.then( put, put ), {\n\t\t\t\t\t\tdestructor: result['destructor']\n\t\t\t\t\t} )\n\t\t\t\t\t\n\t\t\t\t\thandled.add( result )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t} catch( error: any ) {\n\t\t\t\t\n\t\t\t\tif( error instanceof Error || error instanceof Promise ) {\n\t\t\t\t\tresult = error\n\t\t\t\t} else {\n\t\t\t\t\tresult = new Error( String( error ), { cause: error } )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( result instanceof Promise && !handled.has( result ) ) {\n\t\t\t\t\t\n\t\t\t\t\tresult = Object.assign( result.finally( ()=> {\n\t\t\t\t\t\tif( this.cache === result ) this.absorb()\n\t\t\t\t\t} ), {\n\t\t\t\t\t\tdestructor: result['destructor']\n\t\t\t\t\t} )\n\t\t\t\t\t\n\t\t\t\t\thandled.add( result )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tif(!( result instanceof Promise )) {\n\t\t\t\tthis.track_cut()\n\t\t\t}\n\t\t\t\n\t\t\tthis.track_off( bu )\n\t\t\tthis.put( result )\n\n\t\t}\n\t\t\n\t\tabstract put( next: Result | Error | Promise< Result | Error > ): Result | Error | Promise< Result | Error >\n\t\t\n\t\t/**\n\t\t * Synchronous execution. Throws Promise when waits async task (SuspenseAPI provider).\n\t\t * Should be called inside SuspenseAPI consumer (ie fiber).\n\t\t */\n\t\tsync() {\n\t\t\t\n\t\t\tif( !$mol_wire_fiber.warm ) {\n\t\t\t\treturn this.result() as Awaited< Result >\n\t\t\t}\n\t\t\t\n\t\t\tthis.promote()\n\t\t\tthis.refresh()\n\t\t\t\n\t\t\tif( this.cache instanceof Error ) {\n\t\t\t\treturn $mol_fail_hidden( this.cache )\n\t\t\t}\n\t\t\t\n\t\t\tif( this.cache instanceof Promise ) {\n\t\t\t\treturn $mol_fail_hidden( this.cache )\n\t\t\t}\n\t\t\t\n\t\t\treturn this.cache as Awaited< Result >\n\t\t}\n\n\t\t/**\n\t\t * Asynchronous execution.\n\t\t * It's SuspenseAPI consumer. So SuspenseAPI providers can be called inside.\n\t\t */\n\t\tasync async() {\n\t\t\t\n\t\t\twhile( true ) {\n\t\t\t\t\n\t\t\t\tthis.refresh()\n\t\t\t\t\n\t\t\t\tif( this.cache instanceof Error ) {\n\t\t\t\t\t$mol_fail_hidden( this.cache )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif(!( this.cache instanceof Promise )) return this.cache\n\t\t\t\t\t\n\t\t\t\tawait this.cache\n\t\t\t\t\t\n\t\t\t\tif( this.cursor === $mol_wire_cursor.final ) {\n\t\t\t\t\t// never ends on destructed fiber\n\t\t\t\t\tawait new Promise( ()=> {} )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\n\texport let $mol_compare_deep_cache = new WeakMap< any , WeakMap< any , boolean > >()\n\t\n\t/**\n\t * Deeply compares two values. Returns true if equal.\n\t * Define `Symbol.toPrimitive` to customize.\n\t */\n\texport function $mol_compare_deep< Value >( left: Value, right: Value ): boolean {\n\n\t\tif( Object.is( left , right ) ) return true\n\n\t\tif( left === null ) return false\n\t\tif( right === null ) return false\n\n\t\tif( typeof left !== 'object' ) return false\n\t\tif( typeof right !== 'object' ) return false\n\n\t\tconst left_proto = Reflect.getPrototypeOf( left as any )\n\t\tconst right_proto = Reflect.getPrototypeOf( right as any )\n\t\t\n\t\tif( left_proto !== right_proto ) return false\n\n\t\tif( left instanceof Boolean ) return Object.is( left.valueOf(), right['valueOf']() )\n\t\tif( left instanceof Number ) return Object.is( left.valueOf(), right['valueOf']() )\n\t\tif( left instanceof String ) return Object.is( left.valueOf(), right['valueOf']() )\n\t\tif( left instanceof Date ) return Object.is( left.valueOf(), right['valueOf']() )\n\t\tif( left instanceof RegExp ) return left.source === right['source'] && left.flags === right['flags']\n\n\t\tlet left_cache = $mol_compare_deep_cache.get( left )\n\t\tif( left_cache ) {\n\n\t\t\tconst right_cache = left_cache.get( right )\n\t\t\tif( typeof right_cache === 'boolean' ) return right_cache\n\n\t\t} else {\n\t\t\t\n\t\t\tleft_cache = new WeakMap< any , boolean >([[ right, true ]])\n\t\t\t$mol_compare_deep_cache.set( left , left_cache )\n\n\t\t}\n\n\t\tlet result!: boolean\n\n\t\ttry {\n\t\t\t\n\t\t\tif( left_proto && !Reflect.getPrototypeOf( left_proto ) ) result = compare_pojo( left, right as any )\n\t\t\telse if( Array.isArray( left ) ) result = compare_array( left, right as any )\n\t\t\telse if( left instanceof Set ) result = compare_set( left, right as any )\n\t\t\telse if( left instanceof Map ) result = compare_map( left, right as any )\n\t\t\telse if( left instanceof Error ) result = left.stack === ( right as any ).stack\n\t\t\telse if( ArrayBuffer.isView( left ) ) result = compare_buffer( left, right as any )\n\t\t\telse if( Symbol.toPrimitive in left ) result = compare_primitive( left, right )\n\t\t\telse result = false\n\n\t\t} finally {\n\t\t\tleft_cache.set( right , result )\n\t\t}\n\t\t\n\t\treturn result\n\t}\n\n\tfunction compare_array< Value extends any[] >( left: Value, right: Value ): boolean {\n\t\t\n\t\tconst len = left.length\n\t\tif( len !== right.length ) return false\n\t\t\n\t\tfor( let i = 0; i < len; ++i ) {\n\t\t\tif( !$mol_compare_deep( left[i] , right[i] ) ) return false\n\t\t}\n\t\t\n\t\treturn true\n\t}\n\t\n\tfunction compare_buffer( left: ArrayBufferView, right: ArrayBufferView ): boolean {\n\t\t\n\t\tconst len = left.byteLength\n\t\tif( len !== right.byteLength ) return false\n\t\t\n\t\tfor( let i = 0; i < len; ++i ) {\n\t\t\tif( left[i] !== right[i] ) return false\n\t\t}\n\t\t\n\t\treturn true\n\t}\n\t\n\tfunction compare_iterator< Value extends IterableIterator<any> >(\n\t\tleft: Value,\n\t\tright: Value,\n\t\tcompare: ( left: any, right: any )=> boolean\n\t): boolean {\n\t\t\n\t\twhile( true ) {\n\n\t\t\tconst left_next = left.next()\n\t\t\tconst right_next = right.next()\n\n\t\t\tif( left_next.done !== right_next.done ) return false\n\t\t\tif( left_next.done ) break\n\n\t\t\tif( !compare( left_next.value , right_next.value ) ) return false\n\n\t\t}\n\n\t\treturn true\n\n\t}\n\t\n\tfunction compare_set< Value extends Set<any> >( left: Value, right: Value ): boolean {\n\t\tif( left.size !== right.size ) return false\n\t\treturn compare_iterator( left.values(), right.values(), $mol_compare_deep )\n\t}\n\t\n\tfunction compare_map< Key, Value >( left: Map< Key, Value > , right: Map< Key, Value > ): boolean {\n\t\tif( left.size !== right.size ) return false\n\t\treturn compare_iterator( left.keys(), right.keys(), Object.is )\n\t\t\t&& compare_iterator( left.values(), right.values(), $mol_compare_deep )\n\t}\n\t\n\tfunction compare_pojo( left: {}, right: {} ): boolean {\n\t\t\n\t\tconst left_keys = Object.getOwnPropertyNames( left )\n\t\tconst right_keys = Object.getOwnPropertyNames( right )\n\t\t\n\t\tif( left_keys.length !== right_keys.length ) return false\n\n\t\tfor( let key of left_keys ) {\n\t\t\tif( !$mol_compare_deep( left[ key ], Reflect.get( right, key ) ) ) return false\n\t\t}\n\n\t\treturn true\n\t}\n\t\n\tfunction compare_primitive( left: {}, right: {} ): boolean {\n\t\treturn Object.is(\n\t\t\tleft[ Symbol.toPrimitive ]( 'default' ),\n\t\t\tright[ Symbol.toPrimitive ]( 'default' ),\n\t\t)\n\t}\n\t\n}\n","namespace $ {\n\t\n\texport class $mol_wire_task<\n\t\tHost,\n\t\tArgs extends readonly unknown[],\n\t\tResult,\n\t> extends $mol_wire_fiber< Host, Args, Result > {\n\t\t\n\t\tstatic getter<\n\t\t\tHost,\n\t\t\tArgs extends readonly unknown[],\n\t\t\tResult,\n\t\t>(\n\t\t\ttask: ( this : Host , ... args : Args )=> Result,\n\t\t): ( host: Host, args: Args )=> $mol_wire_task< Host, [ ... Args ], Result > {\n\t\t\t\n\t\t\treturn function $mol_wire_task_get( host: Host, args: Args ) {\n\t\t\t\t\n\t\t\t\tconst existen = $mol_wire_auto()?.track_next()\n\t\t\t\n\t\t\t\treuse: if( existen ) {\n\t\t\t\t\t\n\t\t\t\t\tif(!( existen instanceof $mol_wire_task )) break reuse\n\t\t\t\t\n\t\t\t\t\tif( existen.host !== host ) break reuse\n\t\t\t\t\tif( existen.task !== task ) break reuse\n\t\t\t\t\tif( !$mol_compare_deep( existen.args, args ) ) break reuse\n\t\t\t\t\t\n\t\t\t\t\treturn existen\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn new $mol_wire_task( `${ host?.[ Symbol.toStringTag ] ?? host }.${ task.name }(#)`, task, host, ... args )\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\tcomplete() {\n\t\t\tif( this.sub_empty ) this.destructor()\n\t\t}\n\t\t\n\t\tput( next: Result | Error | Promise< Result | Error > ) {\n\t\t\t\n\t\t\tconst prev = this.cache\n\t\t\tthis.cache = next\n\t\t\t\n\t\t\tif( next instanceof Promise ) {\n\t\t\t\t\n\t\t\t\tthis.cursor = $mol_wire_cursor.fresh\n\t\t\t\tif( next !== prev ) this.emit()\n\t\t\t\t\n\t\t\t\treturn next\n\t\t\t}\n\t\t\t\n\t\t\tthis.cursor = $mol_wire_cursor.final\n\t\t\t\n\t\t\tif( this.sub_empty ) this.destructor()\n\t\t\telse if( next !== prev ) this.emit()\n\t\t\t\n\t\t\treturn next\n\t\t}\n\t\t\n\t}\n\n}\n","namespace $ {\n\n\t/** Generates unique identifier. */\n\texport function $mol_guid(\n\t\tlength = 8,\n\t\texists: ( id: string )=> boolean = ()=> false,\n\t) {\n\n\t\tfor(;;) {\n\n\t\t\tlet id = Math.random().toString( 36 ).substring( 2, length + 2 ).toUpperCase()\n\t\t\tif( exists( id ) ) continue\n\t\t\t\n\t\t\treturn id\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\t\n\texport const $mol_key_store = new WeakMap< object, string >()\n\n\texport function $mol_key< Value >( value : Value ) : string {\n\t\t\n\t\tif( !value ) return JSON.stringify( value )\n\t\tif( typeof value !== 'object' && typeof value !== 'function' ) return JSON.stringify( value )\n\t\t\n\t\treturn JSON.stringify( value, ( field, value )=> {\n\t\t\t\n\t\t\tif( !value ) return value\n\t\t\tif( typeof value !== 'object' && typeof value !== 'function' ) return value\n\t\t\tif( Array.isArray( value ) ) return value\n\t\t\t\n\t\t\tconst proto = Reflect.getPrototypeOf( value )\n\t\t\tif( !proto ) return value\n\t\t\tif( Reflect.getPrototypeOf( proto ) === null ) return value\n\t\t\t\n\t\t\tif( 'toJSON' in value ) return value\n\t\t\tif( value instanceof RegExp ) return value.toString()\n\t\t\t\n\t\t\tlet key = $mol_key_store.get( value )\n\t\t\tif( key ) return key\n\t\t\t\n\t\t\tkey = $mol_guid()\n\t\t\t$mol_key_store.set( value, key )\n\t\t\t\n\t\t\treturn key\n\t\t} )\n\n\t}\n\t\n}\n","namespace $ {\n\t\n\texport function $mol_wire_method<\n\t\tHost extends object,\n\t\tArgs extends readonly any[],\n\t\tResult,\n\t>(\n\t\thost : Host,\n\t\tfield : PropertyKey,\n\t\tdescr? : TypedPropertyDescriptor< ( ... args: Args )=> Result >,\n\t) {\n\t\t\n\t\tif( !descr ) descr = Reflect.getOwnPropertyDescriptor( host , field )\n\t\tconst orig = descr?.value! ?? host[ field ]\n\t\t\n\t\tconst sup = Reflect.getPrototypeOf( host )!\t\n\t\tif( typeof sup[ field as any ] === 'function' ) {\n\t\t\tObject.defineProperty( orig , 'name' , { value : sup[ field as any ].name } )\n\t\t}\n\t\t\n\t\tconst temp = $mol_wire_task.getter( orig )\n\t\tconst value = function( this: Host, ... args: Args ) {\n\t\t\tconst fiber = temp( this ?? null as any, args )\n\t\t\treturn fiber.sync() as Result\n\t\t}\n\t\t\n\t\tObject.defineProperty( value , 'name' , { value : orig.name + ' ' } )\n\t\t\n\t\tObject.assign( value, { orig } )\n\t\tconst descr2 = { ... descr, value }\n\t\tReflect.defineProperty( host, field, descr2 )\n\t\t\n\t\treturn descr2\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\n\texport class $mol_wire_atom<\n\t\tHost,\n\t\tArgs extends readonly unknown[],\n\t\tResult,\n\t> extends $mol_wire_fiber< Host, Args, Result > {\n\n\t\tstatic getter<\n\t\t\tHost,\n\t\t\tArgs extends readonly unknown[],\n\t\t\tResult,\n\t\t>(\n\t\t\ttask: ( this : Host , ... args : Args )=> Result,\n\t\t\tkeys: number,\n\t\t): ( host: Host, args: Args )=> $mol_wire_atom< Host, [ ... Args ], Result > {\n\t\t\t\n\t\t\tconst field = task.name + '()'\n\t\t\t\n\t\t\tif( keys ) {\n\t\t\t\t\n\t\t\t\treturn function $mol_wire_atom_get( host: Host, args: Args ) {\n\t\t\t\t\t\n\t\t\t\t\tlet dict, key!: string, fiber\n\t\t\t\t\t\n\t\t\t\t\tkey = `${ host?.[ Symbol.toStringTag ] ?? host }.${ task.name }(${ args.map( v => $mol_key( v ) ).join(',') })`\n\t\t\t\t\tdict = Object.getOwnPropertyDescriptor( host ?? task, field )?.value\n\t\t\t\t\t\n\t\t\t\t\tif( dict ) {\n\t\t\t\t\t\tconst existen = dict.get( key )\n\t\t\t\t\t\tif( existen ) return existen\n\t\t\t\t\t} else {\n\t\t\t\t\t\tdict = ( host ?? task )[ field ] = new Map<any,any>()\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tfiber = new $mol_wire_atom( key, task, host, ... args )\n\t\t\t\t\tdict.set( key, fiber )\n\t\t\t\t\t\n\t\t\t\t\treturn fiber\n\t\t\t\t}\n\t\t\t\t\n\t\t\t} else {\n\t\t\t\t\n\t\t\t\treturn function $mol_wire_atom_get( host: Host, args: Args ) {\n\t\t\t\t\t\n\t\t\t\t\tconst existen = Object.getOwnPropertyDescriptor( host ?? task, field )?.value\n\t\t\t\t\tif( existen ) return existen\n\t\t\t\t\t\n\t\t\t\t\tconst key = `${ host?.[ Symbol.toStringTag ] ?? host }.${ field }`\n\t\t\t\t\t\n\t\t\t\t\tconst fiber = new $mol_wire_atom( key, task, host, ... args )\n\t\t\t\t\t;( host ?? task )[ field ] = fiber\n\t\t\t\t\t\n\t\t\t\t\treturn fiber\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\t/**\n\t\t * Update fiber value through another temp fiber.\n\t\t */\n\t\t@ $mol_wire_method\n\t\trecall( ... args: Args ) {\n\t\t\t\n\t\t\tif( this.cursor > $mol_wire_cursor.fresh ) {\n\t\t\t\ttry {\n\t\t\t\t\tthis.once()\n\t\t\t\t} catch( error: unknown ) {\n\t\t\t\t\tif( error instanceof Promise ) $mol_fail_hidden( error )\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\treturn this.put( this.task.call( this.host!, ... args ) )\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_wire_method\n\t\tonce() {\n\t\t\treturn this.sync()\n\t\t}\n\t\t\n\t\tdestructor() {\n\t\t\t\n\t\t\tsuper.destructor()\n\t\t\t\n\t\t\tconst prev = this.cache\n\t\t\tif( $mol_owning_check( this, prev ) ) {\n\t\t\t\tprev.destructor()\n\t\t\t}\n\t\t\t\n\t\t\tif( this.pub_from === 0 ) {\n\t\t\t\t;( this.host ?? this.task )[ this.field() ] = null\n\t\t\t} else {\n\t\t\t\t;( this.host ?? this.task )[ this.field() ].delete( this[ Symbol.toStringTag ] )\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\tput( next: Result | Error | Promise< Result | Error > ) {\n\t\t\t\n\t\t\tconst prev = this.cache\n\t\t\t\n\t\t\tif( next !== prev ) {\n\t\t\t\t\n\t\t\t\tif( $mol_owning_check( this, prev ) ) {\n\t\t\t\t\tprev.destructor()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tthis.cache = next\n\t\t\t\t\n\t\t\t\tif( $mol_owning_catch( this, next ) ) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tnext[ Symbol.toStringTag ] = this[ Symbol.toStringTag ]\n\t\t\t\t\t} catch {} // Promises throws in strict mode\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( this.sub_from < this.data.length ) {\n\t\t\t\t\tif( !$mol_compare_deep( prev, next ) ) {\n\t\t\t\t\t\tthis.emit()\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tthis.cursor = $mol_wire_cursor.fresh\n\t\t\t\n\t\t\tif( next instanceof Promise ) return next\n\t\t\t\n\t\t\tthis.complete_pubs()\n\t\t\t\n\t\t\treturn next\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\texport function $mol_wire_probe< Value >(\n\t\ttask : ()=> Value, next?: Value\n\t) : Value | undefined {\n\t\t\n\t\tconst warm = $mol_wire_fiber.warm\n\t\t\n\t\ttry {\n\t\t\t$mol_wire_fiber.warm = false\n\t\t\treturn task()\n\t\t} finally {\n\t\t\t$mol_wire_fiber.warm = warm\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\t/**\n\t * Disable reaping of current subscriber\n\t */\n\texport function $mol_wire_solid() {\n\t\t$mol_wire_auto()!.reap = nothing\n\t}\n\t\n\tconst nothing = ()=> {}\n\t\n}\n","namespace $ {\n\t\n\texport function $mol_wire_sync< Host extends object >( obj: Host ) {\n\t\treturn new Proxy( obj, {\n\t\t\t\n\t\t\tget( obj, field ) {\n\t\t\t\t\n\t\t\t\tconst val = obj[ field ]\n\t\t\t\tif( typeof val !== 'function' ) return val\n\t\t\t\t\n\t\t\t\tconst temp = $mol_wire_task.getter( val )\n\t\t\t\treturn function $mol_wire_sync( this: Host, ... args: any[] ) {\n\t\t\t\t\tconst fiber = temp( obj, args )\n\t\t\t\t\treturn fiber.sync()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t} ) as any as {\n\t\t\t[ key in keyof Host ]: Host[ key ] extends ( ... args: infer Args )=> Promise< infer Res >\n\t\t\t\t? ( ... args: Args )=> Res\n\t\t\t\t: Host[ key ]\n\t\t}\n\t}\n\n}\n","namespace $ {\n\t\n\texport function $mol_wire_async< Host extends object >( obj: Host ) {\n\t\treturn new Proxy( obj, {\n\t\t\t\n\t\t\tget( obj, field ) {\n\t\t\t\t\n\t\t\t\tconst val = obj[ field ]\n\t\t\t\tif( typeof val !== 'function' ) return val\n\t\t\t\t\n\t\t\t\tlet fiber: $mol_wire_fiber< any, any, any >\n\t\t\t\tconst temp = $mol_wire_task.getter( val ) \n\t\t\t\t\n\t\t\t\treturn function $mol_wire_async( this: Host, ... args: any[] ) {\n\t\t\t\t\t\n\t\t\t\t\tfiber?.destructor()\n\t\t\t\t\t\n\t\t\t\t\tfiber = temp( obj, args )\n\t\t\t\t\treturn fiber.async()\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t} ) as any as {\n\t\t\t[ key in keyof Host ]: Host[ key ] extends ( ... args: infer Args )=> infer Res\n\t\t\t\t? Res extends Promise<any>\n\t\t\t\t\t? Host[ key ]\n\t\t\t\t\t: ( ... args: Args )=> Promise< Res >\n\t\t\t\t: Host[ key ]\n\t\t}\n\t}\n\t\n}\n","namespace $ {\n\t\n\texport function $mol_wire_mem< Keys extends number >( keys: Keys ) {\n\t\t\n\t\tconst wrap = $mol_wire_mem_func( keys )\n\t\n\t\treturn <\n\t\t\tHost extends object ,\n\t\t\tField extends keyof Host ,\n\t\t\tProp extends Extract< Host[ Field ] , ( ... args: any[] )=> any >,\n\t\t>(\n\t\t\thost : Host ,\n\t\t\tfield : Field ,\n\t\t\tdescr? : TypedPropertyDescriptor< Prop >\n\t\t)=> {\n\n\t\t\tif( !descr ) descr = Reflect.getOwnPropertyDescriptor( host , field )\n\t\t\tconst orig = descr?.value! ?? host[ field ]\n\t\t\t\n\t\t\tconst sup = Reflect.getPrototypeOf( host )!\n\t\t\tif( typeof sup[ field as any ] === 'function' ) {\n\t\t\t\tObject.defineProperty( orig , 'name' , { value : sup[ field as any ].name } )\n\t\t\t}\n\t\t\t\n\t\t\tconst descr2 = {\n\t\t\t\t... descr,\n\t\t\t\tvalue: wrap( orig )\n\t\t\t}\n\t\t\t\n\t\t\tReflect.defineProperty( host, field, descr2 )\n\t\t\t\n\t\t\treturn descr2\n\n\t\t}\n\t\t\n\t}\n\t\n\texport function $mol_wire_mem_func< Keys extends number >( keys: Keys ) {\n\t\t\n\t\treturn <\n\t\t\tResult,\n\t\t\tHost,\n\t\t\tArgs extends unknown[],\n\t\t\tFunc extends ( this: Host, ... args: Args )=> Result\n\t\t>( func: Func )=> {\n\t\t\t\n\t\t\tconst persist = $mol_wire_atom.getter( func, keys )\n\t\t\t\n\t\t\tconst wrapper = function( this: Host, ... args: Parameters< Func > ){\n\t\t\t\t\n\t\t\t\tlet atom = persist( this, args.slice( 0, keys ) as Args )\n\t\t\t\t\n\t\t\t\tif( args.length <= keys || args[ keys ] === undefined ) {\n\t\t\t\t\t\n\t\t\t\t\tif( !$mol_wire_fiber.warm ) return atom.sync()\n\t\t\t\t\t\n\t\t\t\t\tif( $mol_wire_auto() instanceof $mol_wire_task ) {\n\t\t\t\t\t\treturn atom.once()\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn atom.sync()\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn atom.recall( ... args as any )\n\n\t\t\t}\n\t\t\t\n\t\t\tObject.defineProperty( wrapper , 'name' , { value : func.name + ' ' } )\n\t\t\tObject.assign( wrapper, { orig: func } )\n\t\t\t\n\t\t\treturn wrapper as unknown as Func\n\t\t}\n\t\t\n\t}\n\n}\n","namespace $ { \n\texport function $mol_const< Value >( value : Value ) {\n\t\tvar getter = <{ () : Value , '()' : Value }> ( () => value )\n\t\tgetter['()'] = value\n\t\tgetter[ Symbol.toStringTag ] = value\n\t\treturn getter\n\t}\n}\n","namespace $ {\n\t\n\texport function $mol_wire_field<\n\t\tHost extends object ,\n\t\tField extends keyof Host ,\n\t\tValue extends Host[ Field ],\n\t>(\n\t\thost : Host ,\n\t\tfield : Field ,\n\t\tdescr? : TypedPropertyDescriptor< Value >\n\t): any {\n\n\t\tif( !descr ) descr = Reflect.getOwnPropertyDescriptor( host , field )\n\t\t\n\t\tconst _get = descr?.get || $mol_const( descr?.value )\n\t\tconst persist = $mol_wire_atom.getter( _get, 0 )\n\t\t\n\t\tconst _set = descr?.set || function( this : Host , next ) {\n\t\t\tpersist( this, [] ).put( next )\n\t\t}\n\n\t\tconst sup = Reflect.getPrototypeOf( host )!\n\t\tconst sup_descr = Reflect.getOwnPropertyDescriptor( sup, field )\n\t\t\n\t\tObject.defineProperty( _get , 'name' , { value : sup_descr?.get?.name ?? field } )\n\t\tObject.defineProperty( _set , 'name' , { value : sup_descr?.set?.name ?? field } )\n\t\t\n\t\tfunction get( this: Host ) {\n\t\t\treturn persist( this, [] ).sync()\n\t\t}\n\t\t\n\t\tconst temp = $mol_wire_task.getter( _set )\n\t\tfunction set( this: Host, next: Value ) {\n\t\t\ttemp( this, [ next ] ).sync()\n\t\t}\n\t\t\n\t\tObject.defineProperty( get , 'name' , { value : _get.name + '$' } )\n\t\tObject.defineProperty( set , 'name' , { value : _set.name + '@' } )\n\t\t\n\t\tObject.assign( get, { orig: _get } )\n\t\tObject.assign( set, { orig: _set } )\n\t\t\n\t\tconst { value, writable, ... descr2 } = { ... descr, get, set }\n\t\tReflect.defineProperty( host, field, descr2 )\n\t\t\n\t\treturn descr2\n\t}\n\n}\n","namespace $ {\n\texport class $mol_wire_set< Value > extends Set< Value > {\n\n\t\tpub = new $mol_wire_pub\n\t\t\n\t\t// Accessors\n\t\t\n\t\thas( value: Value ) {\n\t\t\tthis.pub.promote()\n\t\t\treturn super.has( value )\n\t\t}\n\t\t\n\t\tentries() {\n\t\t\tthis.pub.promote()\n\t\t\treturn super.entries()\n\t\t}\n\t\t\n\t\tkeys() {\n\t\t\tthis.pub.promote()\n\t\t\treturn super.keys()\n\t\t}\n\t\t\n\t\tvalues() {\n\t\t\tthis.pub.promote()\n\t\t\treturn super.values()\n\t\t}\n\t\t\n\t\tforEach(\n\t\t\ttask: ( value: Value, value2: Value, set: Set< Value > ) => void,\n\t\t\tself?: any\n\t\t) {\n\t\t\tthis.pub.promote()\n\t\t\tsuper.forEach( task, self )\n\t\t}\n\t\t\n\t\t[Symbol.iterator]() {\n\t\t\tthis.pub.promote()\n\t\t\treturn super[Symbol.iterator]()\n\t\t}\n\t\t\n\t\tget size() {\n\t\t\tthis.pub.promote()\n\t\t\treturn super.size\t\n\t\t}\n\n\t\t// Mutators\n\n\t\tadd( value: Value ) {\n\t\t\tif( super.has( value ) ) return this\n\t\t\tsuper.add( value )\n\t\t\tthis.pub.emit()\n\t\t\treturn this\n\t\t}\n\n\t\tdelete( value: Value ) {\n\t\t\tconst res = super.delete( value )\n\t\t\tif( res ) this.pub.emit()\n\t\t\treturn res\n\t\t}\n\t\t\n\t\tclear() {\n\t\t\tif( !super.size ) return\n\t\t\tsuper.clear()\n\t\t\tthis.pub.emit()\n\t\t}\n\n\t\t// Extensions\n\t\t\n\t\titem( val: Value, next?: boolean ) {\n\t\t\t\n\t\t\tif( next === undefined ) return this.has( val )\n\t\t\t\n\t\t\tif( next ) this.add( val )\n\t\t\telse this.delete( val )\n\t\t\t\n\t\t\treturn next\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\texport class $mol_wire_dict< Key, Value > extends Map< Key, Value > {\n\n\t\tpub = new $mol_wire_pub\n\t\t\n\t\t// Accessors\n\t\t\n\t\thas( key: Key ) {\n\t\t\tthis.pub.promote()\n\t\t\treturn super.has( key )\n\t\t}\n\t\t\n\t\tget( key: Key ) {\n\t\t\tthis.pub.promote()\n\t\t\treturn super.get( key )\n\t\t}\n\t\t\n\t\tentries() {\n\t\t\tthis.pub.promote()\n\t\t\treturn super.entries()\n\t\t}\n\t\t\n\t\tkeys() {\n\t\t\tthis.pub.promote()\n\t\t\treturn super.keys()\n\t\t}\n\t\t\n\t\tvalues() {\n\t\t\tthis.pub.promote()\n\t\t\treturn super.values()\n\t\t}\n\t\t\n\t\tforEach(\n\t\t\ttask: ( value: Value, key: Key, dict: Map< Key, Value > ) => void,\n\t\t\tself?: any\n\t\t) {\n\t\t\tthis.pub.promote()\n\t\t\tsuper.forEach( task, self )\n\t\t}\n\t\t\n\t\t[Symbol.iterator]() {\n\t\t\tthis.pub.promote()\n\t\t\treturn super[Symbol.iterator]()\n\t\t}\n\t\t\n\t\tget size() {\n\t\t\tthis.pub.promote()\n\t\t\treturn super.size\t\n\t\t}\n\n\t\t// Mutators\n\n\t\tset( key: Key, value: Value ) {\n\t\t\tif( super.get( key ) === value ) return this\n\t\t\tsuper.set( key, value )\n\t\t\tthis.pub.emit()\n\t\t\treturn this\n\t\t}\n\n\t\tdelete( key: Key ) {\n\t\t\tconst res = super.delete( key )\n\t\t\tif( res ) this.pub.emit()\n\t\t\treturn res\n\t\t}\n\t\t\n\t\tclear() {\n\t\t\tif( !super.size ) return\n\t\t\tsuper.clear()\n\t\t\tthis.pub.emit()\n\t\t}\n\t\t\n\t\t// Extensions\n\t\t\n\t\titem( key: Key, next?: Value | null ) {\n\t\t\t\n\t\t\tif( next === undefined ) return this.get( key ) ?? null\n\t\t\t\n\t\t\tif( next === null ) this.delete( key )\n\t\t\telse this.set( key, next )\n\t\t\t\n\t\t\treturn next\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\n\texport function $mol_promise< Result = void >() {\n\t\t\n\t\tlet done!: ( res: Result | PromiseLike< Result > )=> void\n\t\tlet fail!: ( error?: any ) => void\n\t\t\n\t\tconst promise = new Promise( ( d, f ) => {\n\t\t\tdone = d\n\t\t\tfail = f\n\t\t} )\n\t\t\n\t\treturn Object.assign( promise, {\n\t\t\tdone,\n\t\t\tfail,\n\t\t} )\n\t\t\n\t}\n\n}\n","namespace $ {\n\t\n\texport function $mol_wait_timeout_async( this: $, timeout: number ) {\n\t\tconst promise = $mol_promise()\n\t\tconst task = new this.$mol_after_timeout( timeout , ()=> promise.done() )\n\t\treturn Object.assign( promise, {\n\t\t\tdestructor: ()=> task.destructor()\n\t\t} )\n\t}\n\t\n\texport function $mol_wait_timeout( this: $, timeout: number ) {\n\t\treturn this.$mol_wire_sync( this ).$mol_wait_timeout_async( timeout )\n\t}\n\t\n}\n","namespace $ {\n\texport let $mol_mem = $mol_wire_mem(0)\n\texport let $mol_mem_key = $mol_wire_mem(1)\n\texport let $mol_mem_key2 = $mol_wire_mem(2)\n\texport let $mol_mem_key3 = $mol_wire_mem(3)\n}\n","namespace $ {\n\n\t/** Logger event data */\n\texport type $mol_log3_event< Fields > = {\n\t\t[ key in string ] : unknown\n\t} & {\n\t\t\n\t\t/** Time of event creation */\n\t\ttime? : string\n\n\t\t/** Place of event creation */\n\t\tplace : unknown\n\n\t\t/** Short description of event */\n\t\tmessage : string\n\n\t} & Fields\n\n\t/** Logger function */\n\texport type $mol_log3_logger< Fields , Res = void > = (\n\t\tthis : $ ,\n\t\tevent : $mol_log3_event< Fields > ,\n\t)=> Res\n\n\t/** Log begin of some task */\n\texport declare let $mol_log3_come : $mol_log3_logger<{}>\n\t\n\t/** Log end of some task */\n\texport declare let $mol_log3_done : $mol_log3_logger<{}>\n\t\n\t/** Log error */\n\texport declare let $mol_log3_fail : $mol_log3_logger<{}>\n\t\n\t/** Log warning message */\n\texport declare let $mol_log3_warn : $mol_log3_logger<{ hint : string }>\n\t\n\t/** Log some generic event */\n\texport declare let $mol_log3_rise : $mol_log3_logger<{}>\n\n\t/** Log begin of log group, returns func to close group */\n\texport declare let $mol_log3_area : $mol_log3_logger< {} , ()=> void >\n\n\t/** Log begin of collapsed group only when some logged inside, returns func to close group */\n\texport function $mol_log3_area_lazy(\n\t\tthis : $ ,\n\t\tevent : $mol_log3_event<{}> ,\n\t) {\n\n\t\tconst self = this\n\t\tconst stack = self.$mol_log3_stack\n\n\t\tconst deep = stack.length\n\t\tlet logged = false\n\n\t\tstack.push( ()=> {\n\t\t\tlogged = true\n\t\t\tself.$mol_log3_area.call( self , event )\n\t\t} )\n\n\t\treturn ()=> {\n\t\t\tif( logged ) self.console.groupEnd()\n\t\t\tif( stack.length > deep ) stack.length = deep\n\t\t}\n\n\t}\n\n\texport let $mol_log3_stack = [] as ( ()=> void )[]\n\n}\n",null,"interface $node {\n\t[key:string]: any\n}\n\nvar $node = new Proxy( { require } as any , {\n\t\n\tget( target , name : string , wrapper ) {\n\n\t\tif( target[ name ] ) return target[ name ]\n\n\t\tconst mod = target.require( 'module' ) as typeof import( 'module' )\n\t\t\n\t\tif( mod.builtinModules.indexOf( name ) >= 0 ) return target.require( name )\n\t\t\n\t\tconst path = target.require( 'path' ) as typeof import( 'path' )\n\t\tconst fs = target.require( 'fs' ) as typeof import( 'fs' )\n\n\t\tlet dir = path.resolve( '.' )\n\t\tconst suffix = `./node_modules/${ name }`\n\n\t\tconst $$ = ( $ as any )\n\t\t\n\t\twhile( !fs.existsSync( path.join( dir , suffix ) ) ) {\n\n\t\t\tconst parent = path.resolve( dir , '..' )\n\n\t\t\tif( parent === dir ) {\n\n\t\t\t\t$$.$mol_exec( '.' , 'npm' , 'install' , name )\n\t\t\t\t\n\t\t\t\ttry {\n\t\t\t\t\t$$.$mol_exec( '.' , 'npm' , 'install' , '@types/' + name )\n\t\t\t\t} catch {}\n\n\t\t\t\tbreak\n\n\t\t\t} else {\n\n\t\t\t\tdir = parent\n\n\t\t\t}\n\n\t\t}\n\t\t\n\t\treturn target.require( name )\n\n\t},\n\n\tset( target , name : string , value ) {\n\t\ttarget[ name ] = value\n\t\treturn true\n\t},\n\n} ) as $node\n\nrequire = ( req =>\n\tObject.assign( function require( name : string ) {\n\t\treturn $node[ name ]\n\t} , req )\n)( require )\n\n","namespace $ {\n\t\n\texport function $mol_deprecated( message : string ) {\n\t\treturn <\n\t\t\tMethod extends ( this : Host , ... args : readonly any[] )=> any ,\n\t\t\tHost extends {\n\t\t\t\t[key in Field] : Method\n\t\t\t},\n\t\t\tField extends keyof Host ,\n\t\t>(\n\t\t\thost : Host ,\n\t\t\tfield : Field ,\n\t\t\tdescr : TypedPropertyDescriptor< Method >\n\t\t)=> {\n\n\t\t\tconst value = descr.value!\n\t\t\tlet warned = false\n\t\t\t\n\t\t\tdescr.value = function $mol_deprecated_wrapper( this : Host , ... args : Parameters< Method > ) : ReturnType< Method > {\n\n\t\t\t\tif( !warned ) {\n\t\t\t\t\t$$.$mol_log3_warn({\n\t\t\t\t\t\tplace: `${ host.constructor.name }::${ field }`,\n\t\t\t\t\t\tmessage: `Deprecated` ,\n\t\t\t\t\t\thint: message ,\n\t\t\t\t\t})\n\t\t\t\t\twarned = true\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn value.call( this , ... args )\n\t\t\t\n\t\t\t} as any\n\n\t\t}\n\t}\n\t\n}\n","namespace $ {\n\n\texport const $mol_tree_convert : unique symbol = Symbol( '$mol_tree_convert' )\n\texport type $mol_tree_path = Array< string | number | null >\n\n\texport type $mol_tree_hack = ( input : $mol_tree , context : $mol_tree_context )=> readonly $mol_tree[]\n\texport type $mol_tree_context = Record< string , $mol_tree_hack >\n\texport type $mol_tree_library = Record< string , $mol_tree_context >\n\t\n\t/**\n\t * Abstract Syntax Tree with human readable serialization.\n\t * @see https://github.com/nin-jin/tree.d\n\t */\n\texport class $mol_tree extends $mol_object2 {\n\t\t\n\t\treadonly type : string\n\t\treadonly data : string\n\t\treadonly sub : readonly $mol_tree[]\n\t\treadonly baseUri : string\n\t\treadonly row : number\n\t\treadonly col : number\n\t\treadonly length : number\n\t\t\n\t\tconstructor( config : Partial<$mol_tree> = {} ) {\n\n\t\t\tsuper()\n\n\t\t\tthis.type = config.type || ''\n\t\t\t\n\t\t\tif( config.value !== undefined ) {\n\n\t\t\t\tvar sub = $mol_tree.values( config.value )\n\t\t\t\t\n\t\t\t\tif( config.type || sub.length > 1 ) {\n\n\t\t\t\t\tthis.sub = [ ... sub , ...( config.sub || [] ) ]\n\t\t\t\t\tthis.data = config.data || ''\n\n\t\t\t\t} else {\n\n\t\t\t\t\tthis.data = sub[ 0 ].data\n\t\t\t\t\tthis.sub = config.sub || []\n\n\t\t\t\t}\n\n\t\t\t} else {\n\t\t\t\t\n\t\t\t\tthis.data = config.data || ''\n\t\t\t\tthis.sub = config.sub || []\n\n\t\t\t}\n\t\t\t\n\t\t\tthis.baseUri = config.baseUri || ''\n\t\t\tthis.row = config.row || 0\n\t\t\tthis.col = config.col || 0\n\t\t\tthis.length = config.length || 0\n\n\t\t}\n\t\t\n\t\tstatic values( str : string , baseUri? : string ) {\n\n\t\t\treturn str.split( '\\n' ).map( ( data , index ) => new $mol_tree( {\n\t\t\t\tdata : data ,\n\t\t\t\tbaseUri : baseUri ,\n\t\t\t\trow : index + 1 ,\n\t\t\t\tlength : data.length ,\n\t\t\t} ) )\n\n\t\t}\n\t\t\n\t\t/** Cloning node with overrides. */\n\t\tclone( config : Partial<$mol_tree> = {} ) {\n\n\t\t\treturn new $mol_tree({\n\t\t\t\ttype : ( 'type' in config ) ? config.type : this.type ,\n\t\t\t\tdata : ( 'data' in config ) ? config.data : this.data ,\n\t\t\t\tsub : ( 'sub' in config ) ? config.sub : this.sub ,\n\t\t\t\tbaseUri : ( 'baseUri' in config ) ? config.baseUri : this.baseUri ,\n\t\t\t\trow : ( 'row' in config ) ? config.row : this.row ,\n\t\t\t\tcol : ( 'col' in config ) ? config.col : this.col ,\n\t\t\t\tlength : ( 'length' in config ) ? config.length : this.length ,\n\t\t\t\tvalue : config.value\n\t\t\t})\n\n\t\t}\n\t\t\n\t\t/** Makes new derived node. */\n\t\tmake( config : Partial<$mol_tree> ) {\n\n\t\t\treturn new $mol_tree({\n\t\t\t\tbaseUri : this.baseUri ,\n\t\t\t\trow : this.row ,\n\t\t\t\tcol : this.col ,\n\t\t\t\tlength : this.length ,\n\t\t\t\t... config ,\n\t\t\t})\n\n\t\t}\n\t\t\n\t\t/** Makes new derived data node. */\n\t\tmake_data( value : string , sub? : readonly $mol_tree[] ) {\n\t\t\treturn this.make({ value , sub })\n\t\t}\n\t\t\n\t\t/** Makes new derived structural node. */\n\t\tmake_struct( type : string , sub? : readonly $mol_tree[] ) {\n\t\t\treturn this.make({ type , sub })\n\t\t}\n\t\t\n\t\t/** Parses tree format to AST. */\n\t\tstatic fromString( str : string , baseUri? : string ) {\n\t\t\t\n\t\t\tvar root = new $mol_tree( { baseUri : baseUri } )\n\t\t\tvar stack = [ root ]\n\t\t\t\n\t\t\tvar row = 0\n\t\t\tvar prefix = str.replace( /^\\n?(\\t*)[\\s\\S]*/ , '$1' )\n\t\t\tvar lines = str.replace( new RegExp( '^\\\\t{0,' + prefix.length + '}' , 'mg' ) , '' ).split( '\\n' )\n\n\t\t\tlines.forEach( line => {\n\n\t\t\t\t++row\n\t\t\t\t\n\t\t\t\tvar chunks = /^(\\t*)((?:[^\\n\\t\\\\ ]+ *)*)(\\\\[^\\n]*)?(.*?)(?:$|\\n)/m.exec( line )\n\t\t\t\tif( !chunks || chunks[4] ) return this.$.$mol_fail( new Error( `Syntax error at ${baseUri}:${row}\\n${line}` ) )\n\t\t\t\t\n\t\t\t\tvar indent = chunks[ 1 ]\n\t\t\t\tvar path = chunks[ 2 ]\n\t\t\t\tvar data = chunks[ 3 ]\n\t\t\t\t\n\t\t\t\tvar deep = indent.length\n\t\t\t\tvar types = path ? path.replace( / $/ , '' ).split( / +/ ) : []\n\t\t\t\t\n\t\t\t\tif( stack.length <= deep ) return this.$.$mol_fail( new Error( `Too many tabs at ${baseUri}:${row}\\n${line}` ) )\n\t\t\t\t\n\t\t\t\tstack.length = deep + 1\n\t\t\t\tvar parent = stack[ deep ];\n\t\t\t\t\n\t\t\t\tlet col = deep\n\t\t\t\ttypes.forEach( type => {\n\t\t\t\t\tif( !type ) return this.$.$mol_fail( new Error( `Unexpected space symbol ${baseUri}:${row}\\n${line}` ) )\n\t\t\t\t\tvar next = new $mol_tree({ type , baseUri , row , col , length : type.length })\n\t\t\t\t\tconst parent_sub = parent.sub as $mol_tree[]\n\t\t\t\t\tparent_sub.push( next )\t\n\t\t\t\t\tparent = next\n\t\t\t\t\tcol += type.length + 1\n\t\t\t\t} )\n\t\t\t\t\n\t\t\t\tif( data ) {\n\t\t\t\t\tvar next = new $mol_tree({ data : data.substring( 1 ) , baseUri , row , col , length : data.length })\n\t\t\t\t\tconst parent_sub = parent.sub as $mol_tree[]\n\t\t\t\t\tparent_sub.push( next )\n\t\t\t\t\tparent = next\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tstack.push( parent )\n\t\t\t\t\n\t\t\t} )\n\t\t\t\n\t\t\treturn root\n\t\t}\n\t\t\n\t\t/**\n\t\t * Parses json.tree lang to AST.\n\t\t * @todo Move to $mol_tree_json_from\n\t\t */\n\t\tstatic fromJSON( json : any , baseUri = '' ) : $mol_tree {\n\n\t\t\tswitch( true ) {\n\n\t\t\t\tcase typeof json === 'boolean' :\n\t\t\t\tcase typeof json === 'number' :\n\t\t\t\tcase json === null :\n\n\t\t\t\t\treturn new $mol_tree({\n\t\t\t\t\t\ttype : String( json ) ,\n\t\t\t\t\t\tbaseUri : baseUri\n\t\t\t\t\t})\n\t\t\t\t\n\t\t\t\tcase typeof json === 'string' :\n\n\t\t\t\t\treturn new $mol_tree({\n\t\t\t\t\t\tvalue : json ,\n\t\t\t\t\t\tbaseUri : baseUri\n\t\t\t\t\t})\n\n\t\t\t\tcase Array.isArray( json ) :\n\n\t\t\t\t\treturn new $mol_tree({\n\t\t\t\t\t\ttype : \"/\" ,\n\t\t\t\t\t\tsub : ( json as any[] ).map( json => $mol_tree.fromJSON( json , baseUri ) )\n\t\t\t\t\t})\n\n\t\t\t\tcase json instanceof Date :\n\n\t\t\t\t\treturn new $mol_tree({\n\t\t\t\t\t\tvalue : json.toISOString() ,\n\t\t\t\t\t\tbaseUri : baseUri\n\t\t\t\t\t})\n\t\t\t\t\n\t\t\t\tdefault :\n\n\t\t\t\t\tif( typeof json[ $mol_tree_convert ] === 'function' ) {\n\t\t\t\t\t\treturn json[ $mol_tree_convert ]()\n\t\t\t\t\t}\n\n\t\t\t\t\tif( typeof json.toJSON === 'function' ) {\n\t\t\t\t\t\treturn $mol_tree.fromJSON( json.toJSON() )\n\t\t\t\t\t}\n\n\t\t\t\t\tif( json instanceof Error ) {\n\t\t\t\t\t\tconst { name , message , stack } = json\n\t\t\t\t\t\tjson = { ... json , name , message , stack }\n\t\t\t\t\t}\n\n\t\t\t\t\tvar sub : $mol_tree[] = []\n\t\t\t\t\t\n\t\t\t\t\tfor( var key in json ) {\n\n\t\t\t\t\t\tif( json[ key ] === undefined ) continue\n\n\t\t\t\t\t\tconst subsub = $mol_tree.fromJSON( json[ key ] , baseUri )\n\t\t\t\t\t\t\n\t\t\t\t\t\tif( /^[^\\n\\t\\\\ ]+$/.test( key ) ) {\n\n\t\t\t\t\t\t\tvar child = new $mol_tree({\n\t\t\t\t\t\t\t\ttype : key ,\n\t\t\t\t\t\t\t\tbaseUri : baseUri ,\n\t\t\t\t\t\t\t\tsub : [ subsub ] ,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tvar child = new $mol_tree({\n\t\t\t\t\t\t\t\tvalue : key ,\n\t\t\t\t\t\t\t\tbaseUri : baseUri ,\n\t\t\t\t\t\t\t\tsub : [ subsub ] ,\n\t\t\t\t\t\t\t} )\n\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tsub.push( child )\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\treturn new $mol_tree({\n\t\t\t\t\t\ttype : \"*\" ,\n\t\t\t\t\t\tsub : sub ,\n\t\t\t\t\t\tbaseUri : baseUri\n\t\t\t\t\t})\n\t\t\t\t\n\t\t\t}\n\n\t\t}\n\t\t\n\t\tget uri() {\n\t\t\treturn this.baseUri + '#' + this.row + ':' + this.col\n\t\t}\n\t\t\n\t\t/** Serializas to tree format. */\n\t\ttoString( prefix = '' ) : string {\n\t\t\tvar output = ''\n\t\t\t\n\t\t\tif( this.type.length ) {\n\t\t\t\tif( !prefix.length ) {\n\t\t\t\t\tprefix = \"\\t\";\n\t\t\t\t}\n\t\t\t\toutput += this.type\n\t\t\t\tif( this.sub.length == 1 ) {\n\t\t\t\t\treturn output + ' ' + this.sub[ 0 ].toString( prefix )\n\t\t\t\t}\n\t\t\t\toutput += \"\\n\"\n\t\t\t} else if( this.data.length || prefix.length ) {\n\t\t\t\toutput += \"\\\\\" + this.data + \"\\n\"\n\t\t\t}\n\n\t\t\tfor( var child of this.sub ) {\n\t\t\t\toutput += prefix\n\t\t\t\toutput += child.toString( prefix + \"\\t\" )\n\t\t\t}\n\t\t\t\n\t\t\treturn output\n\t\t}\n\t\t\n\t\t/**\n\t\t * Serializes AST to json.tree lang.\n\t\t * @todo Move to $mol_tree_json_to\n\t\t */\n\t\ttoJSON() : any {\n\t\t\tif( !this.type ) return this.value\n\t\t\t\n\t\t\tif( this.type === 'true' ) return true\n\t\t\tif( this.type === 'false' ) return false\n\t\t\tif( this.type === 'null' ) return null\n\t\t\t\n\t\t\tif( this.type === '*' ) {\n\t\t\t\tvar obj = {}\n\t\t\t\tfor( var child of this.sub ) {\n\t\t\t\t\tif( child.type === '-' ) continue\n\t\t\t\t\tvar key = child.type || child.clone({ sub : child.sub.slice( 0 , child.sub.length - 1 ) }).value\n\t\t\t\t\tvar val = child.sub[ child.sub.length - 1 ].toJSON()\n\t\t\t\t\tif( val !== undefined ) ( obj as any )[ key ] = val\n\t\t\t\t}\n\t\t\t\treturn obj\n\t\t\t}\n\t\t\t\n\t\t\tif( this.type === '/' ) {\n\t\t\t\tvar res : any[] = []\n\t\t\t\tthis.sub.forEach(\n\t\t\t\t\tchild => {\n\t\t\t\t\t\tif( child.type === '-' ) return\n\t\t\t\t\t\tvar val = child.toJSON()\n\t\t\t\t\t\tif( val !== undefined ) res.push( val )\n\t\t\t\t\t}\n\t\t\t\t)\n\t\t\t\treturn res\n\t\t\t}\n\t\t\t\n\t\t\tif( this.type === 'time' ) {\n\t\t\t\treturn new Date( this.value )\n\t\t\t}\n\t\t\t\n\t\t\tconst numb = Number( this.type ) \n\t\t\tif( !Number.isNaN( numb ) || this.type === 'NaN' ) return numb\n\t\t\t\n\t\t\tthrow new Error( `Unknown type (${this.type}) at ${this.uri}` )\n\t\t}\n\t\t\n\t\tget value() {\n\t\t\tvar values : string[] = []\n\t\t\tfor( var child of this.sub ) {\n\t\t\t\tif( child.type ) continue\n\t\t\t\tvalues.push( child.value )\n\t\t\t}\n\t\t\treturn this.data + values.join( \"\\n\" )\n\t\t}\n\t\t\n\t\t/** Makes new tree with node overrided by path. */\n\t\tinsert( value : $mol_tree , ...path : $mol_tree_path ) : $mol_tree {\n\t\t\tif( path.length === 0 ) return value\n\t\t\t\n\t\t\tconst type = path[0]\n\t\t\tif( typeof type === 'string' ) {\n\n\t\t\t\tlet replaced = false\n\t\t\t\tconst sub = this.sub.map( ( item , index )=> {\n\t\t\t\t\tif( item.type !== type ) return item\n\t\t\t\t\treplaced = true\n\t\t\t\t\treturn item.insert( value , ... path.slice( 1 ) )\n\t\t\t\t} )\n\t\t\t\t\n\t\t\t\tif( !replaced ) sub.push( new $mol_tree({ type }).insert( value , ... path.slice( 1 ) ) )\n\t\t\t\t\n\t\t\t\treturn this.clone({ sub })\n\n\t\t\t} else if( typeof type === 'number' ) {\n\t\t\t\t\n\t\t\t\tconst sub = this.sub.slice()\n\t\t\t\tsub[ type ] = ( sub[ type ] || new $mol_tree ).insert( value , ... path.slice( 1 ) )\n\t\t\t\t\n\t\t\t\treturn this.clone({ sub })\n\n\t\t\t} else {\n\t\t\t\t\n\t\t\t\treturn this.clone({ sub : ( ( this.sub.length === 0 ) ? [ new $mol_tree() ] : this.sub ).map( item => item.insert( value , ... path.slice( 1 ) ) ) })\n\n\t\t\t}\n\t\t}\n\n\t\t/** Query nodes by path. */\n\t\tselect( ...path : $mol_tree_path ) {\n\t\t\tvar next = [ this as $mol_tree ]\n\t\t\tfor( var type of path ) {\n\t\t\t\tif( !next.length ) break\n\t\t\t\tvar prev = next\n\t\t\t\tnext = []\n\n\t\t\t\tfor( var item of prev ) {\n\n\t\t\t\t\tswitch( typeof( type ) ) {\n\n\t\t\t\t\t\tcase 'string' :\n\t\t\t\t\t\t\tfor( var child of item.sub ) {\n\t\t\t\t\t\t\t\tif( !type || ( child.type == type ) ) {\n\t\t\t\t\t\t\t\t\tnext.push( child )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\n\t\t\t\t\t\tcase 'number' :\n\t\t\t\t\t\t\tif( type < item.sub.length ) next.push( item.sub[ type ] )\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\n\t\t\t\t\t\tdefault : next.push( ... item.sub )\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn new $mol_tree( { sub : next } )\n\t\t}\n\t\t\n\t\t/** Filter subnodes by path or value. */\n\t\tfilter( path : string[] , value? : string ) {\n\t\t\tvar sub = this.sub.filter(\n\t\t\t\tfunction( item ) {\n\t\t\t\t\t\n\t\t\t\t\tvar found = item.select( ...path )\n\t\t\t\t\t\n\t\t\t\t\tif( value == null ) {\n\t\t\t\t\t\treturn Boolean( found.sub.length )\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn found.sub.some( child => child.value == value )\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t)\n\t\t\t\n\t\t\treturn new $mol_tree( { sub : sub } )\n\t\t}\n\n\t\t@ $mol_deprecated( 'Use $mol_tree:hack' )\n\t\ttransform( visit : ( stack : $mol_tree[] , sub : ()=> $mol_tree[] )=> $mol_tree | null , stack : $mol_tree[] = [] ) : $mol_tree | null {\n\t\t\tconst sub_stack = [ this , ...stack ]\n\t\t\treturn visit( sub_stack , ()=> this.sub.map( node => node.transform( visit , sub_stack ) ).filter( n => n ) as $mol_tree[] )\n\t\t}\n\n\t\t/** Transform tree through context with transformers */\n\t\thack( context : $mol_tree_context ) : $mol_tree {\n\t\t\t\n\t\t\tconst sub = ( [] as $mol_tree[] ).concat( ... this.sub.map( child => {\n\n\t\t\t\tconst handle = context[ child.type ] || context[ '' ]\n\t\t\t\tif( !handle ) $mol_fail( child.error( 'Handler not defined' ) )\n\t\t\t\t\n\t\t\t\treturn handle( child , context )\n\n\t\t\t} ) )\n\n\t\t\treturn this.clone({ sub })\n\t\t}\n\n\t\t/** Makes Error with node coordinates. */\n\t\terror( message : string ) {\n\t\t\treturn new Error( `${message}:\\n${ this } ${this.baseUri}:${this.row}:${this.col}` )\n\t\t}\n\n\t}\n\t\n}\n","namespace $ {\n\n\texport function $mol_log3_node_make(\n\t\tlevel : keyof Console ,\n\t\toutput : 'stdout' | 'stderr',\n\t\ttype : string ,\n\t\tcolor: keyof typeof $node.colorette ,\n\t) {\n\n\t\treturn function $mol_log3_logger(\n\t\t\tthis : $ ,\n\t\t\tevent : $mol_log3_event<{}> ,\n\t\t) {\n\n\t\t\tif( !event.time ) event = { time : new Date().toISOString() , ... event }\n\n\t\t\tconst tree = this.$mol_tree.fromJSON( event ).clone({ type })\n\t\t\tlet str = tree.toString()\n\n\t\t\tif( process[output].isTTY ) {\n\t\t\t\tstr = $node.colorette[ color + 'Bright' ]( str )\n\t\t\t}\n\n\t\t\t;( this.console[ level ] as any )( str )\n\t\n\t\t\tconst self = this\n\t\t\treturn ()=> self.console.groupEnd()\n\n\t\t}\n\n\t}\n\n\t$.$mol_log3_come = $mol_log3_node_make( 'info' , 'stdout' , 'come' , 'blue' )\n\t$.$mol_log3_done = $mol_log3_node_make( 'info' , 'stdout' , 'done' , 'green' )\n\t$.$mol_log3_fail = $mol_log3_node_make( 'error' , 'stderr' , 'fail' , 'red' )\n\t$.$mol_log3_warn = $mol_log3_node_make( 'warn' , 'stderr' , 'warn' , 'yellow' )\n\t$.$mol_log3_rise = $mol_log3_node_make( 'log' , 'stdout' , 'rise' , 'magenta' )\n\t$.$mol_log3_area = $mol_log3_node_make( 'log' , 'stdout' , 'area' , 'cyan' )\n\n}\n","namespace $ {\n\texport function $mol_env() {\n\t\treturn {} as Record< string, string | undefined >\n\t}\n}\n","namespace $ {\n\t$.$mol_env = function $mol_env() {\n\t\treturn this.process.env\n\t}\n}\n","namespace $ {\n\texport function $mol_exec(\n\t\tthis : $ ,\n\t\tdir : string ,\n\t\tcommand : string ,\n\t\t...args : string[]\n\t) {\n\n\t\tlet [ app , ... args0 ] = command.split( ' ' )\n\t\targs = [ ... args0 , ... args ]\n\n\t\tthis.$mol_log3_come({\n\t\t\tplace: '$mol_exec' ,\n\t\t\tdir: $node.path.relative( '' , dir ) ,\n\t\t\tmessage: 'Run',\n\t\t\tcommand: `${app} ${ args.join(' ') }` ,\n\t\t})\n\n\t\tvar res = $node['child_process'].spawnSync(\n\t\t\tapp ,\n\t\t\targs,\n\t\t\t{\n\t\t\t\tcwd : $node.path.resolve( dir ) ,\n\t\t\t\tshell : true ,\n\t\t\t\tenv: this.$mol_env(),\n\t\t\t}\n\t\t)\n\t\t\n\t\tif( res.status || res.error ) return $mol_fail( res.error || new Error( res.stderr.toString() ) )\n\t\tif( !res.stdout ) res.stdout = Buffer.from([])\n\n\t\treturn res\n\t}\n}\n","namespace $ {\n\t\n\texport class $mol_wire_log extends $mol_object2 {\n\t\t\n\t\t@ $mol_mem\n\t\tstatic watch( task?: ()=> any ) {\n\t\t\treturn task\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic track( fiber: $mol_wire_fiber< any, any, any > ) {\n\t\t\t\n\t\t\tconst prev = $mol_wire_probe( ()=> this.track( fiber ) )\n\t\t\tlet next: any\n\t\t\t\n\t\t\ttry {\n\t\t\t\tnext = fiber.sync()\n\t\t\t} finally {\n\t\t\t\t\n\t\t\t\tfor( const pub of fiber.pub_list ) {\n\t\t\t\t\tif( pub instanceof $mol_wire_fiber ) {\n\t\t\t\t\t\tthis.track( pub )\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tif( prev !== undefined && !$mol_compare_deep( prev, next ) ) {\n\t\t\t\tthis.$.$mol_log3_rise({\n\t\t\t\t\tmessage: 'Changed',\n\t\t\t\t\tplace: fiber,\n\t\t\t\t})\n\t\t\t}\n\t\t\n\t\t\treturn next\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tstatic active() {\n\t\t\t\n\t\t\ttry {\n\t\t\t\tthis.watch()?.()\n\t\t\t} finally {\n\t\t\t\tfor( const pub of ( $mol_wire_auto() as $mol_wire_fiber< any, any, any > ).pub_list ) {\n\t\t\t\t\tif( pub instanceof $mol_wire_fiber ) {\n\t\t\t\t\t\tthis.track( pub )\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\texport function $mol_test_complete() {\n\t\tprocess.exit(0)\n\t}\n\t\n}\n","namespace $ {\n\n\texport function $mol_test( set : { [ name : string ] : string | ( ( context : $ )=> void ) } ) {\n\t\t\n\t\tfor( let name in set ) {\n\n\t\t\tconst code = set[ name ]\n\t\t\tconst test = ( typeof code === 'string' ) ? new Function( '' , code ) as ()=> void : code\n\t\t\t\n\t\t\t$mol_test_all.push( test )\n\t\t}\n\n\t\t$mol_test_schedule()\n\t}\n\n\texport let $mol_test_mocks = [] as Array< ( context : $ )=> void >\n\n\texport const $mol_test_all = [] as Array< ( context : $ )=> any >\n\n\texport async function $mol_test_run() {\n\n\t\tfor( var test of $mol_test_all ) {\n\n\t\t\tlet context = Object.create( $$ )\n\t\t\tfor( let mock of $mol_test_mocks ) await mock( context )\n\t\t\t\n\t\t\tconst res = test( context )\n\t\t\tif( res instanceof Promise ) {\n\t\t\t\tawait new Promise( ( done, fail )=> {\n\t\t\t\t\tres.then( done, fail )\n\t\t\t\t\tsetTimeout( ()=> fail( new Error( 'Test timeout: ' + test.name ) ), 1000 )\n\t\t\t\t} )\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\t$$.$mol_log3_done({\n\t\t\tplace: '$mol_test',\n\t\t\tmessage: 'All tests passed',\n\t\t\tcount: $mol_test_all.length,\n\t\t})\n\t\t\n\t}\n\t\n\tlet scheduled = false\n\texport function $mol_test_schedule() {\n\n\t\tif( scheduled ) return\n\t\tscheduled = true\n\n\t\tsetTimeout( async ()=> {\n\t\t\t\n\t\t\tscheduled = false\n \t\t\t\n\t\t\ttry {\n\t\t\t\tawait $mol_test_run()\n\t\t\t} finally {\n\t\t\t\t$$.$mol_test_complete()\n\t\t\t}\n\t\t\t\n\t\t} , 0 )\n\t\t\n\t}\n\n\t$mol_test_mocks.push( context => {\n\t\tlet seed = 0\n\n\t\tcontext.Math = Object.create( Math )\n\t\tcontext.Math.random = ()=> Math.sin( seed++ )\n\n\t\tconst forbidden = [ 'XMLHttpRequest' , 'fetch' ]\n\n\t\tfor( let api of forbidden ) {\n\t\t\tcontext[ api ] = new Proxy( function(){} , {\n\t\t\t\tget() {\n\t\t\t\t\t$mol_fail_hidden( new Error( `${ api } is forbidden in tests` ) )\n\t\t\t\t} ,\n\t\t\t\tapply() {\n\t\t\t\t\t$mol_fail_hidden( new Error( `${ api } is forbidden in tests` ) )\n\t\t\t\t} ,\n\t\t\t} )\n\t\t}\n\t\t\n\t} )\n\n\t$mol_test({\n\n\t\t'mocked Math.random'( $ ) {\n\t\t\tconsole.assert( $.Math.random() === 0 )\n\t\t\tconsole.assert( $.Math.random() === Math.sin(1) )\n\t\t} ,\n\n\t\t'forbidden XMLHttpRequest'( $ ) {\n\t\t\ttry {\n\t\t\t\tconsole.assert( void new $.XMLHttpRequest )\n\t\t\t} catch( error: any ) {\n\t\t\t\tconsole.assert( error.message === 'XMLHttpRequest is forbidden in tests' )\n\t\t\t}\n\t\t} ,\n\n\t\t'forbidden fetch'( $ ) {\n\t\t\ttry {\n\t\t\t\tconsole.assert( void $.fetch('') )\n\t\t\t} catch( error: any ) {\n\t\t\t\tconsole.assert( error.message === 'fetch is forbidden in tests' )\n\t\t\t}\n\t\t} ,\n\n\t})\n\n}\n","namespace $ {\n\t\n\texport var $mol_dom_context : typeof globalThis\n\t\n}\n","namespace $ {\n\t\n\t$.$mol_dom_context = new $node.jsdom.JSDOM( '' , { url : 'https://localhost/' } ).window as any\n\t\n}\n","namespace $ {\n\n\texport function $mol_dom_render_children (\n\t\tel : Element | DocumentFragment ,\n\t\tchildNodes : NodeList | Array< Node | string | null >\n\t) {\n\t\tconst node_set = new Set< Node | string | null >( childNodes )\n\t\t\n\t\tlet nextNode : Node | null = el.firstChild\n\t\tfor( let view of childNodes ) {\n\n\t\t\tif( view == null ) continue\n\n\t\t\tif( view instanceof $mol_dom_context.Node ) {\n\t\t\t\t\n\t\t\t\twhile( true ) {\n\t\t\t\t\tif( !nextNode ) {\n\t\t\t\t\t\tel.appendChild( view )\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\tif( nextNode == view ) {\n\t\t\t\t\t\tnextNode = nextNode.nextSibling\n\t\t\t\t\t\tbreak\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif( node_set.has( nextNode ) ) {\n\t\t\t\t\t\t\tel.insertBefore( view , nextNode )\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconst nn = nextNode.nextSibling\n\t\t\t\t\t\t\tel.removeChild( nextNode )\n\t\t\t\t\t\t\tnextNode = nn\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t} else {\n\t\t\t\tif( nextNode && nextNode.nodeName === '#text' ) {\n\t\t\t\t\tconst str = String( view )\n\t\t\t\t\tif( nextNode.nodeValue !== str ) nextNode.nodeValue = str\n\t\t\t\t\tnextNode = nextNode.nextSibling\n\t\t\t\t} else {\n\t\t\t\t\tconst textNode = $mol_dom_context.document.createTextNode( String( view ) )\n\t\t\t\t\tel.insertBefore( textNode , nextNode )\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\twhile( nextNode ) {\n\t\t\tconst currNode = nextNode\n\t\t\tnextNode = currNode.nextSibling\n\t\t\tel.removeChild( currNode )\n\t\t}\n\t}\n\n}\n",null,null,null,null,null,null,null,"/** @jsx $mol_jsx */\nnamespace $ {\n\t\n\t$mol_test({\n\t\t\n\t\t'Make empty div'() {\n\t\t\t$mol_assert_equal( (<div/>).outerHTML , '<div></div>' )\n\t\t} ,\n\t\t\n\t\t'Define native field'() {\n\t\t\t\n\t\t\tconst dom = <input value='123' /> as HTMLInputElement\n\t\t\t\n\t\t\t$mol_assert_equal( dom.outerHTML , '<input value=\"123\">' )\n\t\t\t$mol_assert_equal( dom.value , '123' )\n\n\t\t} ,\n\t\t\n\t\t'Define classes'() {\n\t\t\t\n\t\t\tconst dom = <div class={ 'foo bar' } />\n\t\t\t\n\t\t\t$mol_assert_equal( dom.outerHTML , '<div class=\"foo bar\"></div>' )\n\n\t\t} ,\n\t\t\n\t\t'Define styles'() {\n\t\t\t\n\t\t\tconst dom = <div style={{ color : 'red' }} />\n\t\t\t\n\t\t\t$mol_assert_equal( dom.outerHTML , '<div style=\"color: red;\"></div>' )\n\n\t\t} ,\n\t\t\n\t\t'Define dataset'() {\n\t\t\t\n\t\t\tconst dom = <div dataset={{ foo : 'bar' }} />\n\t\t\t\n\t\t\t$mol_assert_equal( dom.outerHTML , '<div data-foo=\"bar\"></div>' )\n\n\t\t} ,\n\t\t\n\t\t'Define attributes'() {\n\t\t\t\n\t\t\tconst dom = <div lang=\"ru\" hidden />\n\t\t\t\n\t\t\t$mol_assert_equal( dom.outerHTML , '<div lang=\"ru\" hidden=\"\"></div>' )\n\n\t\t} ,\n\t\t\n\t\t'Define child nodes'() {\n\n\t\t\tconst dom =\n\t\t\t\t<div>\n\t\t\t\t\thello\n\t\t\t\t\t<strong>world</strong>\n\t\t\t\t\t!\n\t\t\t\t</div>\n\t\t\t\n\t\t\t$mol_assert_equal( dom.outerHTML , '<div>hello<strong>world</strong>!</div>' )\n\n\t\t} ,\n\n\t\t'Function as component'() {\n\n\t\t\tconst Button = ( { hint } : { hint : string } , target : ()=> string ) => {\n\t\t\t\treturn <button title={ hint } >{ target() }</button>\n\t\t\t}\n\n\t\t\tconst dom = <Button id=\"/foo\" hint=\"click me\">{ ()=> 'hey!' }</Button>\n\n\t\t\t$mol_assert_equal( dom.outerHTML , '<button title=\"click me\" id=\"/foo\">hey!</button>' )\n\t\t\t\n\t\t} ,\n\t\t\n\t\t// 'Standart classes as component'() {\n\n\t\t// \tconst dom = <HTMLButtonElement id=\"/foo\" title=\"click me\">hey!</HTMLButtonElement>\n\n\t\t// \t$mol_assert_equal( dom.outerHTML , '<button title=\"click me\" id=\"/foo\">hey!</button>' )\n\t\t\t\n\t\t// } ,\n\t\t\n\t\t'Nested guid generation'() {\n\n\t\t\tconst Foo = ()=> {\n\t\t\t\treturn <div>\n\t\t\t\t\t<Bar id=\"/bar\">\n\t\t\t\t\t\t<img id=\"/icon\" />\n\t\t\t\t\t</Bar>\n\t\t\t\t</div>\n\t\t\t}\n\n\t\t\tconst Bar = ( props : {} , icon : Element )=> {\n\t\t\t\treturn <span>{ icon }</span>\n\t\t\t}\n\n\t\t\tconst dom = <Foo id=\"/foo\" />\n\n\t\t\t$mol_assert_equal( dom.outerHTML , '<div id=\"/foo\"><span id=\"/foo/bar\"><img id=\"/foo/icon\"></span></div>' )\n\t\t\t\n\t\t} ,\n\t\t\n\t\t'Fail on non unique ids'() {\n\n\t\t\tconst App = ()=> {\n\t\t\t\treturn <div>\n\t\t\t\t\t<span id=\"/bar\" />\n\t\t\t\t\t<span id=\"/bar\" />\n\t\t\t\t</div>\n\t\t\t}\n\n\t\t\t$mol_assert_fail( ()=> <App id=\"/foo\" /> , 'JSX already has tag with id \"/bar\"' )\n\t\t\t\n\t\t} ,\n\t\t\n\t})\n\t\n}\n","namespace $ {\n\n\texport let $mol_jsx_prefix = ''\n\n\texport let $mol_jsx_booked = null as null | Set< string >\n\t\n\texport let $mol_jsx_document : $mol_jsx.JSX.ElementClass['ownerDocument'] = {\n\t\tgetElementById : ()=> null ,\n\t\tcreateElementNS : ( space: string, name : string )=> $mol_dom_context.document.createElementNS( space, name ) as any,\n\t\tcreateDocumentFragment : ()=> $mol_dom_context.document.createDocumentFragment(),\n\t}\n\t\n\texport const $mol_jsx_frag = ''\n\n\texport function $mol_jsx<\n\t\tProps extends $mol_jsx.JSX.IntrinsicAttributes,\n\t\tChildren extends Array< Node | string >\n\t>(\n\t\tElem : string\n\t\t\t| ( ( props : Props , ... children : Children ) => Element ) ,\n\t\tprops : Props ,\n\t\t... childNodes : Children\n\t) : Element | DocumentFragment {\n\n\t\tconst id = props && props.id || ''\n\n\t\tif( Elem && $mol_jsx_booked ) {\n\t\t\tif( $mol_jsx_booked.has( id ) ) {\n\t\t\t\t$mol_fail( new Error( `JSX already has tag with id ${ JSON.stringify( id ) }` ) )\n\t\t\t} else {\n\t\t\t\t$mol_jsx_booked.add( id )\n\t\t\t}\n\t\t}\n\n\t\tconst guid = $mol_jsx_prefix + id\n\n\t\tlet node: Element | DocumentFragment | null = guid ? $mol_jsx_document.getElementById( guid ) : null\n\n\t\tif( typeof Elem !== 'string' ) {\n\n\t\t\tif( 'prototype' in Elem ) {\n\n\t\t\t\tconst view = node && node[ Elem as any ] || new ( Elem as any )\n\t\t\t\t\n\t\t\t\tObject.assign( view , props )\n\t\t\t\tview[ Symbol.toStringTag ] = guid\n\t\t\t\t\n\t\t\t\tview.childNodes = childNodes\n\t\t\t\t\n\t\t\t\tif( !view.ownerDocument ) view.ownerDocument = $mol_jsx_document\n\t\t\t\t\n\t\t\t\tnode = view.valueOf()\n\t\t\t\t\n\t\t\t\tnode![ Elem as any ] = view\n\t\t\t\t\n\t\t\t\treturn node!\n\n\t\t\t} else {\n\n\t\t\t\tconst prefix = $mol_jsx_prefix\n\t\t\t\tconst booked = $mol_jsx_booked\n\t\t\t\t\n\t\t\t\ttry {\n\t\n\t\t\t\t\t$mol_jsx_prefix = guid\n\t\t\t\t\t$mol_jsx_booked = new Set\n\t\n\t\t\t\t\treturn ( Elem as any )( props , ... childNodes )\n\t\t\t\t\t\n\t\t\t\t} finally {\n\n\t\t\t\t\t$mol_jsx_prefix = prefix\n\t\t\t\t\t$mol_jsx_booked = booked\n\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\n\t\t}\n\n\t\tif( !node ) {\n\t\t\tnode = Elem\n\t\t\t\t? $mol_jsx_document.createElementNS( props?.xmlns ?? 'http://www.w3.org/1999/xhtml', Elem )\n\t\t\t\t: $mol_jsx_document.createDocumentFragment()\n\t\t}\n\n\t\t$mol_dom_render_children( node , ( [] as ( Node | string )[] ).concat( ... childNodes ) )\n\t\tif( !Elem ) return node\n\n\t\tfor( const key in props ) {\n\n\t\t\tif( typeof props[ key ] === 'string' ) {\n\n\t\t\t\t;( node as Element ).setAttribute( key , props[ key as any ] )\n\n\t\t\t} else if(\n\t\t\t\tprops[ key ] &&\n\t\t\t\ttypeof props[ key ] === 'object' &&\n\t\t\t\tReflect.getPrototypeOf( props[ key ] as any ) === Reflect.getPrototypeOf({})\n\t\t\t) {\n\n\t\t\t\tif( typeof node[ key as any ] === 'object' ) {\n\t\t\t\t\tObject.assign( ( node as any )[ key ] , props[ key ] )\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\n\t\t\t} else {\n\n\t\t\t\tnode[ key as any ] = props[ key ]\n\t\t\t\t\n\t\t\t}\n\n\t\t}\n\n\t\tif( guid ) ( node as Element ).id = guid\n\n\t\treturn node\n\n\t}\n\n\texport declare namespace $mol_jsx.JSX {\n\n\t\texport interface Element extends HTMLElement {\n\t\t\tclass?: string\n\t\t}\n\t\t\n\t\texport interface ElementClass {\n\t\t\tattributes : {}\n\t\t\townerDocument : Pick< Document , 'getElementById' | 'createElementNS' | 'createDocumentFragment' >\n\t\t\tchildNodes : Array< Node | string >\n\t\t\tvalueOf() : Element\n\t\t}\n\t\t\n\t\ttype OrString< Dict > = {\n\t\t\t[ key in keyof Dict ]: Dict[ key ] | string\n\t\t}\n\t\t\n\t\t/** Props for html elements */\n\t\texport type IntrinsicElements = {\n\t\t\t[ key in keyof ElementTagNameMap ]? : $.$mol_type_partial_deep< OrString<\n\t\t\t\t& Element\n\t\t\t\t& IntrinsicAttributes\n\t\t\t\t& ElementTagNameMap[ key ]\n\t\t\t> >\n\t\t}\n\t\t\n\t\t/** Additional undeclared props */\n\t\texport interface IntrinsicAttributes {\n\t\t\tid? : string\n\t\t\txmlns? : string\n\t\t}\n\t\t\n\t\texport interface ElementAttributesProperty {\n\t\t\tattributes : {\n\t\t\t}\n\t\t}\n\t\t\n\t\t// export type IntrinsicClassAttributes< Class > = $.$mol_type_partial_deep< Omit< Class , 'valueOf' > >\n\t\t\n\t\tinterface ElementChildrenAttribute {\n\t\t}\n\t\n\t}\n\n}\n","/** @jsx $mol_jsx */\nnamespace $ {\n\n\t$mol_test({\n\n\t\t'nulls & undefineds'() {\n\n\t\t\t$mol_assert_ok( $mol_compare_deep( null , null ) )\n\t\t\t$mol_assert_ok( $mol_compare_deep( undefined , undefined ) )\n\t\t\t\n\t\t\t$mol_assert_not( $mol_compare_deep( undefined , null ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( {} , null ) )\n\t\t\t\n\t\t} ,\n\n\t\t'number'() {\n\t\t\t\n\t\t\t$mol_assert_ok( $mol_compare_deep( 1 , 1 ) )\n\t\t\t$mol_assert_ok( $mol_compare_deep( Number.NaN , Number.NaN ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( 1 , 2 ) )\n\t\t\t\n\t\t\t$mol_assert_ok( $mol_compare_deep( Object( 1 ) , Object( 1 ) ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( Object( 1 ) , Object( 2 ) ) )\n\t\t\t\n\t\t} ,\n\n\t\t'POJO'() {\n\t\t\t$mol_assert_ok( $mol_compare_deep( {} , {} ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( { a : 1 } , { b : 2 } ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( { a : 1 } , { a : 2 } ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( {} , { a : undefined } ) )\n\t\t\t$mol_assert_ok( $mol_compare_deep( { a: 1, b: 2 } , { b: 2, a: 1 } ) )\n\t\t\t$mol_assert_ok( $mol_compare_deep( { a : { b : 1 } } , { a : { b : 1 } } ) )\n\t\t} ,\n\n\t\t'Array'() {\n\t\t\t$mol_assert_ok( $mol_compare_deep( [] , [] ) )\n\t\t\t$mol_assert_ok( $mol_compare_deep( [ 1 , [2] ] , [ 1 , [2] ] ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( [ 1 , 2 ] , [ 1 , 3 ] ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( [ 1 , 2 , ] , [ 1 , 3 , undefined ] ) )\n\t\t} ,\n\n\t\t'Non POJO are different'() {\n\t\t\t\n\t\t\tclass Thing extends Object {}\n\t\t\t$mol_assert_not( $mol_compare_deep( new Thing , new Thing ) )\n\t\t\t\n\t\t\t$mol_assert_not( $mol_compare_deep( ()=> 1 , ()=>1 ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( new RangeError( 'Test error' ) , new RangeError( 'Test error' ) ) )\n\t\t\t\n\t\t} ,\n\n\t\t'same POJOs with cyclic reference'() {\n\n\t\t\tconst a = { foo : {} }\n\t\t\ta['self'] = a\n\n\t\t\tconst b = { foo : {} }\n\t\t\tb['self'] = b\n\n\t\t\t$mol_assert_ok( $mol_compare_deep( a , b ) )\n\n\t\t} ,\n\n\t\t'Date'() {\n\t\t\t$mol_assert_ok( $mol_compare_deep( new Date( 12345 ) , new Date( 12345 ) ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( new Date( 12345 ) , new Date( 12346 ) ) )\n\t\t} ,\n\n\t\t'RegExp'() {\n\t\t\t$mol_assert_ok( $mol_compare_deep( /\\x22/mig , /\\x22/mig ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( /\\x22/mig , /\\x21/mig ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( /\\x22/mig , /\\x22/mg ) )\n\t\t} ,\n\n\t\t'Error'() {\n\t\t\t\n\t\t\t$mol_assert_not( $mol_compare_deep( new Error( 'xxx' ) , new Error( 'xxx' ) ) )\n\n\t\t\tconst fail = ( message: string )=> new Error( message )\n\t\t\t\n\t\t\t$mol_assert_ok( $mol_compare_deep(\n\t\t\t\t... [ 'xxx' , 'xxx' ].map( msg => new Error( msg ) ) as [ Error, Error ]\n\t\t\t) )\n\t\t\t\n\t\t\t$mol_assert_not( $mol_compare_deep(\n\t\t\t\t... [ 'xxx' , 'yyy' ].map( msg => new Error( msg ) ) as [ Error, Error ]\n\t\t\t) )\n\t\t\t\n\t\t} ,\n\n\t\t'Map'() {\n\t\t\t$mol_assert_ok( $mol_compare_deep( new Map , new Map ) )\n\t\t\t$mol_assert_ok( $mol_compare_deep( new Map([ [ 1 , [2] ] ]) , new Map([ [ 1 , [2] ] ]) ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( new Map([ [ 1 , 2 ] ]) , new Map([ [ 1 , 3 ] ]) ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( new Map([ [ [1] , 2 ] ]) , new Map([ [ [1] , 2 ] ]) ) )\n\t\t} ,\n\t\t\n\t\t'Set'() {\n\t\t\t$mol_assert_ok( $mol_compare_deep( new Set , new Set ) )\n\t\t\t$mol_assert_ok( $mol_compare_deep( new Set([ 1 , [2] ]) , new Set([ 1 , [2] ]) ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( new Set([ 1 ]) , new Set([ 2 ]) ) )\n\t\t} ,\n\t\t\n\t\t'Uint8Array'() {\n\t\t\t$mol_assert_ok( $mol_compare_deep( new Uint8Array , new Uint8Array ) )\n\t\t\t$mol_assert_ok( $mol_compare_deep( new Uint8Array([ 0 ]) , new Uint8Array([ 0 ]) ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( new Uint8Array([ 0 ]) , new Uint8Array([ 1 ]) ) )\n\t\t} ,\n\t\t\n\t\t'Custom comparator'() {\n\t\t\t\n\t\t\tclass User {\n\t\t\t\t\n\t\t\t\tconstructor(\n\t\t\t\t\treadonly name: string,\n\t\t\t\t\treadonly rand = Math.random(),\n\t\t\t\t) {}\n\t\t\t\t\n\t\t\t\t[ Symbol.toPrimitive ]( mode: 'default' | 'number' | 'string' ) {\n\t\t\t\t\treturn this.name\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\t$mol_assert_ok( $mol_compare_deep( new User( 'Jin' ), new User( 'Jin' ) ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( new User( 'Jin' ), new User( 'John' ) ) )\n\t\t\t\n\t\t} ,\n\t\t\n\t})\n\n}\n","namespace $ {\n\n\texport function $mol_dom_serialize(\n\t\tnode: Node\n\t) {\n\t\tconst serializer = new $mol_dom_context.XMLSerializer\n\t\treturn serializer.serializeToString( node )\n\t}\n\n}\n","namespace $ {\n\t$mol_test( {\n\t\t\n\t\t'must be false'() {\n\t\t\t$mol_assert_not( 0 )\n\t\t} ,\n\t\t\n\t\t'must be true'() {\n\t\t\t$mol_assert_ok( 1 )\n\t\t} ,\n\t\t\n\t\t'two must be equal'() {\n\t\t\t$mol_assert_equal( 2 , 2 )\n\t\t} ,\n\t\t\n\t\t'three must be equal'() {\n\t\t\t$mol_assert_equal( 2 , 2 , 2 )\n\t\t} ,\n\t\t\n\t\t'two must be unique'() {\n\t\t\t$mol_assert_unique( [ 3 ] , [ 3 ] )\n\t\t} ,\n\t\t\n\t\t'three must be unique'() {\n\t\t\t$mol_assert_unique( [ 3 ] , [ 3 ] , [ 3 ] )\n\t\t} ,\n\t\t\n\t\t'two must be alike'() {\n\t\t\t$mol_assert_like( [ 3 ] , [ 3 ] )\n\t\t} ,\n\t\t\n\t\t'three must be alike'() {\n\t\t\t$mol_assert_like( [ 3 ] , [ 3 ] , [ 3 ] )\n\t\t} ,\n\t\t\n\t} )\n}\n","namespace $ {\n\t\n\texport function $mol_assert_ok( value : any ) {\n\t\tif( value ) return\n\t\t$mol_fail( new Error( `${value} ≠ true` ) )\n\t}\n\t\n\texport function $mol_assert_not( value : any ) {\n\t\tif( !value ) return\n\t\t$mol_fail( new Error( `${value} ≠ false` ) )\n\t}\n\t\n\texport function $mol_assert_fail( handler : ()=> any , ErrorRight? : any ) {\n\t\t\n\t\tconst fail = $.$mol_fail\n\t\t\n\t\ttry {\n\t\t\t$.$mol_fail = $.$mol_fail_hidden\n\t\t\t\n\t\t\thandler()\n\n\t\t} catch( error: any ) {\n\t\t\t\n\t\t\tif( !ErrorRight ) return error\n\t\t\t\n\t\t\t$.$mol_fail = fail\n\n\t\t\tif( typeof ErrorRight === 'string' ) {\n\t\t\t\t$mol_assert_equal( error.message, ErrorRight )\n\t\t\t} else {\n\t\t\t\t$mol_assert_ok( error instanceof ErrorRight )\n\t\t\t}\n\t\t\t\n\t\t\treturn error\n\n\t\t} finally {\n\t\t\t$.$mol_fail = fail\n\t\t}\n\n\t\t$mol_fail( new Error( 'Not failed' ) )\n\t}\n\t\n\texport function $mol_assert_equal< Value >( ... args : [ Value, Value, ...Value[] ] ) {\n\t\tfor( let i = 0 ; i < args.length ; ++i ) {\n\t\t\tfor( let j = 0 ; j < args.length ; ++j ) {\n\t\t\t\tif( i === j ) continue\n\t\t\t\tif( Number.isNaN( args[i] as any as number ) && Number.isNaN( args[j] as any as number ) ) continue\n\t\t\t\tif( args[i] !== args[j] ) $mol_fail( new Error( `Not equal (${i+1}:${j+1})\\n${ args[i] }\\n${ args[j] }` ) )\n\t\t\t}\n\t\t}\n\t}\n\t\n\texport function $mol_assert_unique( ... args : [ any, any, ...any[] ] ) {\n\t\tfor( let i = 0 ; i < args.length ; ++i ) {\n\t\t\tfor( let j = 0 ; j < args.length ; ++j ) {\n\t\t\t\tif( i === j ) continue\n\t\t\t\tif( args[i] === args[j] || ( Number.isNaN( args[i] as any as number ) && Number.isNaN( args[j] as any as number ) ) ) {\n\t\t\t\t\t$mol_fail( new Error( `args[${ i }] = args[${ j }] = ${ args[i] }` ) )\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\t\n\texport function $mol_assert_like< Value >( head : Value, ... tail : Value[]) {\n\t\tfor( let [ index, value ] of Object.entries( tail ) ) {\n\n\t\t\tif( !$mol_compare_deep( value , head ) ) {\n\n\t\t\t\tconst print = ( val : any ) => {\n\t\t\t\t\t\n\t\t\t\t\tif( !val ) return val\n\t\t\t\t\tif( typeof val !== 'object' ) return val\n\t\t\t\t\tif( 'outerHTML' in val ) return val.outerHTML\n\t\t\t\t\t\n\t\t\t\t\ttry {\n\t\t\t\t\t\treturn JSON.stringify( val )\n\t\t\t\t\t} catch( error: any ) {\n\t\t\t\t\t\tconsole.error( error )\n\t\t\t\t\t\treturn val\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn $mol_fail( new Error( `Not like (1:${ + index + 2 })\\n${ print( head ) }\\n---\\n${ print( value ) }` ) )\n\n\t\t\t}\n\n\t\t}\n\t}\n\t\n\texport function $mol_assert_dom( left: Element, right: Element ) {\n\t\t$mol_assert_equal( $mol_dom_serialize( left ), $mol_dom_serialize( right ) )\n\t}\n\n}\n","namespace $ {\n\n\t$mol_test_mocks.push( $ => {\n\t\t$.$mol_log3_come = ()=> {}\n\t\t$.$mol_log3_done = ()=> {}\n\t\t$.$mol_log3_fail = ()=> {}\n\t\t$.$mol_log3_warn = ()=> {}\n\t\t$.$mol_log3_rise = ()=> {}\n\t\t$.$mol_log3_area = ()=> ()=> {}\n\t} )\n\n}\n","namespace $ {\n\t$mol_test({\n\t\t\n\t\t'get'() {\n\t\t\tconst proxy = $mol_delegate( {} as any , ()=> ({ foo : 777 }) )\n\t\t\t$mol_assert_equal( proxy.foo , 777 )\n\t\t},\n\n\t\t'has'() {\n\t\t\tconst proxy = $mol_delegate( {} as any , ()=> ({ foo : 777 }) )\n\t\t\t$mol_assert_equal( 'foo' in proxy , true )\n\t\t},\n\n\t\t'set'() {\n\t\t\tconst target = { foo : 777 }\n\t\t\tconst proxy = $mol_delegate( {} as any , ()=> target )\n\t\t\tproxy.foo = 123\n\t\t\t$mol_assert_equal( target.foo , 123 )\n\t\t},\n\t\t\n\t\t'getOwnPropertyDescriptor'() {\n\n\t\t\tconst proxy = $mol_delegate( {} as any , ()=> ({ foo : 777 }) )\n\t\t\t\n\t\t\t$mol_assert_like(\n\t\t\t\tObject.getOwnPropertyDescriptor( proxy , 'foo' ),\n\t\t\t\t{\n\t\t\t\t\tvalue: 777,\n\t\t\t\t\twritable: true,\n\t\t\t\t\tenumerable: true,\n\t\t\t\t\tconfigurable: true,\n\t\t\t\t},\n\t\t\t)\n\t\t\t\n\t\t},\n\n\t\t'ownKeys'() {\n\n\t\t\tconst proxy = $mol_delegate(\n\t\t\t\t{} as any ,\n\t\t\t\t()=> ({ foo : 777 , [ Symbol.toStringTag ] : 'bar' }),\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_like(\n\t\t\t\tReflect.ownKeys( proxy ),\n\t\t\t\t[ 'foo' , Symbol.toStringTag ],\n\t\t\t)\n\n\t\t},\n\n\t\t'getPrototypeOf'() {\n\n\t\t\tclass Foo {}\n\n\t\t\tconst proxy = $mol_delegate(\n\t\t\t\t{} as any ,\n\t\t\t\t()=> new Foo,\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\tObject.getPrototypeOf( proxy ),\n\t\t\t\tFoo.prototype,\n\t\t\t)\n\n\t\t},\n\n\t\t'setPrototypeOf'() {\n\n\t\t\tclass Foo {}\n\t\t\tconst target = {}\n\n\t\t\tconst proxy = $mol_delegate(\n\t\t\t\t{} ,\n\t\t\t\t()=> target,\n\t\t\t)\n\n\t\t\tObject.setPrototypeOf( proxy , Foo.prototype )\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\tObject.getPrototypeOf( target ),\n\t\t\t\tFoo.prototype,\n\t\t\t)\n\n\t\t},\n\n\t\t'instanceof'() {\n\n\t\t\tclass Foo {}\n\n\t\t\tconst proxy = $mol_delegate(\n\t\t\t\t{} ,\n\t\t\t\t()=> new Foo,\n\t\t\t)\n\n\t\t\t$mol_assert_ok( proxy instanceof Foo )\n\t\t\t$mol_assert_ok( proxy instanceof $mol_delegate )\n\n\t\t},\n\n\t\t'autobind'() {\n\n\t\t\tclass Foo {}\n\n\t\t\tconst proxy = $mol_delegate(\n\t\t\t\t{} ,\n\t\t\t\t()=> new Foo,\n\t\t\t)\n\n\t\t\t$mol_assert_ok( proxy instanceof Foo )\n\t\t\t$mol_assert_ok( proxy instanceof $mol_delegate )\n\n\t\t},\n\n\t})\n}\n",null,"namespace $ {\n\t$mol_test( {\n\t\t\n\t\t'tree parsing'() {\n\t\t\t\n\t\t\t$mol_assert_equal( $mol_tree.fromString( \"foo\\nbar\\n\" ).sub.length , 2 )\n\t\t\t$mol_assert_equal( $mol_tree.fromString( \"foo\\nbar\\n\" ).sub[ 1 ].type , \"bar\" )\n\t\t\t$mol_assert_equal( $mol_tree.fromString( \"foo\\n\\n\\n\" ).sub.length , 1 )\n\t\t\t\n\t\t\t$mol_assert_equal( $mol_tree.fromString( \"=foo\\n\\\\bar\\n\" ).sub.length , 2 )\n\t\t\t$mol_assert_equal( $mol_tree.fromString( \"=foo\\n\\\\bar\\n\" ).sub[ 1 ].data , \"bar\" )\n\t\t\t\n\t\t\t$mol_assert_equal( $mol_tree.fromString( \"foo bar \\\\pol\" ).sub[ 0 ].sub[ 0 ].sub[ 0 ].data , \"pol\" )\n\t\t\t$mol_assert_equal( $mol_tree.fromString( \"foo bar\\n\\t\\\\pol\\n\\t\\\\men\" ).sub[ 0 ].sub[ 0 ].sub[ 1 ].data , \"men\" )\n\t\t\t\n\t\t\t$mol_assert_equal( $mol_tree.fromString( 'foo bar \\\\text\\n' ).toString() , 'foo bar \\\\text\\n' )\n\t\t} ,\n\n\t\t'inserting'() {\n\t\t\t$mol_assert_equal( $mol_tree.fromString( 'a b c d' ).insert( new $mol_tree , 'a' , 'b' , 'c' ).toString() , 'a b \\\\\\n' )\n\t\t\t$mol_assert_equal( $mol_tree.fromString( 'a b' ).insert( new $mol_tree , 'a' , 'b' , 'c' , 'd' ).toString() , 'a b c \\\\\\n' )\n\n\t\t\t$mol_assert_equal( $mol_tree.fromString( 'a b c d' ).insert( new $mol_tree , 0 , 0 , 0 ).toString() , 'a b \\\\\\n' )\n\t\t\t$mol_assert_equal( $mol_tree.fromString( 'a b' ).insert( new $mol_tree , 0 , 0 , 0 , 0 ).toString() , 'a b \\\\\\n\\t\\\\\\n' )\n\n\t\t\t$mol_assert_equal( $mol_tree.fromString( 'a b c d' ).insert( new $mol_tree , null , null , null ).toString() , 'a b \\\\\\n' )\n\t\t\t$mol_assert_equal( $mol_tree.fromString( 'a b' ).insert( new $mol_tree , null , null , null , null ).toString() , 'a b \\\\\\n\\t\\\\\\n' )\n\t\t} ,\n\n\t\t'fromJSON'() {\n\t\t\t$mol_assert_equal( $mol_tree.fromJSON([]).toString() , '/\\n' )\n\t\t\t$mol_assert_equal( $mol_tree.fromJSON([ false , true ]).toString() , '/\\n\\tfalse\\n\\ttrue\\n' )\n\t\t\t$mol_assert_equal( $mol_tree.fromJSON([ 0 , 1 , 2.3 ]).toString() , '/\\n\\t0\\n\\t1\\n\\t2.3\\n' )\n\t\t\t$mol_assert_equal( $mol_tree.fromJSON([ '' , 'foo' , 'bar\\nbaz' ]).toString() , '/\\n\\t\\\\\\n\\t\\\\foo\\n\\t\\\\\\n\\t\\t\\\\bar\\n\\t\\t\\\\baz\\n' )\n\t\t\t$mol_assert_equal( $mol_tree.fromJSON({ 'foo' : false , 'bar\\nbaz' : 'lol' }).toString() , '*\\n\\tfoo false\\n\\t\\\\\\n\\t\\t\\\\bar\\n\\t\\t\\\\baz\\n\\t\\t\\\\lol\\n' )\n\t\t} ,\n\t\t\n\t\t'toJSON'() {\n\t\t\t$mol_assert_equal( JSON.stringify( $mol_tree.fromString( '/\\n' ).sub[0] ) , '[]' )\n\t\t\t$mol_assert_equal( JSON.stringify( $mol_tree.fromString( '/\\n\\tfalse\\n\\ttrue\\n' ).sub[0] ) , '[false,true]' )\n\t\t\t$mol_assert_equal( JSON.stringify( $mol_tree.fromString( '/\\n\\t0\\n\\t1\\n\\t2.3\\n' ).sub[0] ) , '[0,1,2.3]' )\n\t\t\t$mol_assert_equal( JSON.stringify( $mol_tree.fromString( '/\\n\\t\\\\\\n\\t\\\\foo\\n\\t\\\\\\n\\t\\t\\\\bar\\n\\t\\t\\\\baz\\n' ).sub[0] ) , '[\"\",\"foo\",\"bar\\\\nbaz\"]' )\n\t\t\t$mol_assert_equal( JSON.stringify( $mol_tree.fromString( '*\\n\\tfoo false\\n\\t\\\\\\n\\t\\t\\\\bar\\n\\t\\t\\\\baz\\n\\t\\t\\\\lol\\n' ).sub[0] ) , '{\"foo\":false,\"bar\\\\nbaz\":\"lol\"}' )\n\t\t} ,\n\t\t\n\t\t'hack'() {\n\n\t\t\tconst res = $mol_tree.fromString( `foo bar xxx` ).hack({\n\t\t\t\t'' : ( tree , context )=> [ tree.hack( context ) ] ,\n\t\t\t\t'bar' : ( tree , context )=> [ tree.hack( context ).clone({ type : '777' }) ] ,\n\t\t\t})\n\n\t\t\t$mol_assert_equal( res.toString() , new $mol_tree({ type : 'foo 777 xxx' }).toString() )\n\n\t\t} ,\n\n\t\t'errors handling'( $ ) {\n\n\t\t\tconst errors = [] as string[]\n\n\t\t\tclass Tree extends $mol_tree {\n\t\t\t\tstatic $ = $.$mol_ambient({\n\t\t\t\t\t$mol_fail: error => errors.push( error.message ) as never\n\t\t\t\t})\n\t\t\t}\n\t\t\t\n\t\t\tTree.fromString( `\n\t\t\t\t\\t \\tfoo\n\t\t\t\tbar \\\\data\n\t\t\t` , 'test' )\n\n\t\t\t$mol_assert_like( errors , [ 'Syntax error at test:2\\n \\tfoo' ] )\n\n\t\t},\n\n\t} )\t\n}\n","namespace $ {\n\t$mol_test({\n\t\t\n\t\t'Collect deps'() {\n\t\t\t\n\t\t\tconst pub1 = new $mol_wire_pub\n\t\t\tconst pub2 = new $mol_wire_pub\n\t\t\tconst sub = new $mol_wire_pub_sub\n\t\t\t\n\t\t\tconst bu1 = sub.track_on()\n\t\t\ttry {\n\t\t\t\t\n\t\t\t\tpub1.promote()\n\t\t\t\tpub2.promote()\n\t\t\t\tpub2.promote()\n\t\t\t\t\n\t\t\t} finally {\n\t\t\t\t\n\t\t\t\tsub.track_cut()\n\t\t\t\tsub.track_off( bu1 )\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tpub1.emit()\n\t\t\tpub2.emit()\n\t\t\t\n\t\t\t$mol_assert_like( sub.pub_list, [ pub1, pub2, pub2 ] )\n\t\t\t\n\t\t\tconst bu2 = sub.track_on()\n\t\t\ttry {\n\t\t\t\t\n\t\t\t\tpub1.promote()\n\t\t\t\tpub1.promote()\n\t\t\t\tpub2.promote()\n\t\t\t\t\n\t\t\t} finally {\n\t\t\t\t\n\t\t\t\tsub.track_cut()\n\t\t\t\tsub.track_off( bu2 )\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tpub1.emit()\n\t\t\tpub2.emit()\n\t\t\t\n\t\t\t$mol_assert_like( sub.pub_list, [ pub1, pub1, pub2 ] )\n\t\t\t\n\t\t},\n\t\t\n\t\t'cyclic detection'( $ ) {\n\t\t\t\n\t\t\tconst sub1 = new $mol_wire_pub_sub\n\t\t\tconst sub2 = new $mol_wire_pub_sub\n\t\t\t\n\t\t\tconst bu1 = sub1.track_on()\n\t\t\ttry {\n\t\t\t\t\n\t\t\t\tconst bu2 = sub2.track_on()\n\t\t\t\ttry {\n\t\t\t\t\t\n\t\t\t\t\t$mol_assert_fail( ()=> sub1.promote(), 'Circular subscription' )\n\t\t\t\t\t\n\t\t\t\t} finally {\n\t\t\t\t\t\n\t\t\t\t\tsub2.track_cut()\n\t\t\t\t\tsub2.track_off( bu2 )\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t} finally {\n\t\t\t\t\n\t\t\t\tsub1.track_cut()\n\t\t\t\tsub1.track_off( bu1 )\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t},\n\n\t})\n}\n","namespace $ {\n\n\t/// @todo right orderinng\n\texport let $mol_after_mock_queue = [] as ( ()=> void )[]\n\n\texport function $mol_after_mock_warp() {\n\t\tconst queue = $mol_after_mock_queue.splice( 0 )\n\t\tfor( const task of queue ) task()\n\t}\n\n\texport class $mol_after_mock_commmon extends $mol_object2 {\n\n\t\tpromise = Promise.resolve()\n\t\tcancelled = false\n\t\tid : any\n\n\t\tconstructor( public task : ()=> void ) {\n\t\t\tsuper()\n\t\t\t$mol_after_mock_queue.push( task )\n\t\t}\n\n\t\tdestructor() {\n\t\t\tconst index = $mol_after_mock_queue.indexOf( this.task )\n\t\t\tif( index >= 0 )$mol_after_mock_queue.splice( index , 1 )\n\t\t}\n\n\t}\n\n\texport class $mol_after_mock_timeout extends $mol_after_mock_commmon {\n\n\t\tconstructor(\n\t\t\tpublic delay : number ,\n\t\t\ttask : ()=> void ,\n\t\t) {\n\t\t\tsuper( task )\n\t\t}\n\n\t}\n\t\n}\n","namespace $ {\n\n\t$mol_test({\n\t\t\n\t\tasync 'Latest Calls Wins on Concurrency'( $ ) {\n\t\t\t\n\t\t\tclass NameLogger extends $mol_object2 {\n\t\t\t\t\n\t\t\t\tstatic $ = $\n\t\t\t\t\n\t\t\t\tstatic first = [] as string[]\n\t\t\t\tstatic last = [] as string[]\n\t\t\t\t\n\t\t\t\tstatic send( next: string ) {\n\t\t\t\t\t$mol_wire_sync( this.first ).push( next )\n\t\t\t\t\tthis.$.$mol_wait_timeout(0)\n\t\t\t\t\tthis.last.push( next )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tconst name = $mol_wire_async( NameLogger ).send\n\t\t\t\n\t\t\tname( 'john' )\n\t\t\tconst promise = name( 'jin' )\n\t\t\t\n\t\t\t$.$mol_after_mock_warp()\n\t\t\tawait promise\n\t\t\t\n\t\t\t$mol_assert_like( NameLogger.first, [ 'john', 'jin' ] )\n\t\t\t$mol_assert_like( NameLogger.last, [ 'jin' ] )\n\n\t\t},\n\n\t})\n\t\n}\n","namespace $ {\n\n\t$mol_test_mocks.push( $ => {\n\t\t$.$mol_after_timeout = $mol_after_mock_timeout as any as typeof $mol_after_timeout\n\t})\n\n}\n","namespace $ {\n\n\t$mol_test_mocks.push( $ => {\n\t\t$.$mol_after_frame = $mol_after_mock_commmon as any as typeof $mol_after_frame\n\t})\n\n}\n","namespace $ {\n\n\t$mol_test({\n\t\t\n\t\t'Sync execution'() {\n\n\t\t\tclass Sync extends $mol_object2 {\n\t\t\t\t\n\t\t\t\t@ $mol_wire_method\n\t\t\t\tstatic calc( a: number, b: number ) {\n\t\t\t\t\treturn a + b\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\t$mol_assert_equal( Sync.calc( 1, 2 ), 3 )\n\t\t\t\n\t\t},\n\n\t\tasync 'async <=> sync'() {\n\t\t\t\n\t\t\tclass SyncAsync extends $mol_object2 {\n\t\t\t\t\n\t\t\t\tstatic async val( a: number ) {\n\t\t\t\t\treturn a\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tstatic sum( a: number, b: number ) {\n\t\t\t\t\tconst syn = $mol_wire_sync( this )\n\t\t\t\t\treturn syn.val( a ) + syn.val( b )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tstatic async calc( a: number, b: number ) {\n\t\t\t\t\treturn 5 + await $mol_wire_async( this ).sum( a, b )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\t$mol_assert_equal( await SyncAsync.calc( 1, 2 ), 8 )\n\n\t\t},\n\n\t\tasync 'Idempotence control'() {\n\n\t\t\tclass Idempotence extends $mol_object2 {\n\t\t\t\t\n\t\t\t\tstatic logs_idemp = 0\n\t\t\t\tstatic logs_unidemp = 0\n\t\t\t\t\n\t\t\t\t@ $mol_wire_method\n\t\t\t\tstatic log_idemp() {\n\t\t\t\t\tthis.logs_idemp += 1\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tstatic log_unidemp() {\n\t\t\t\t\tthis.logs_unidemp += 1\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tstatic async val( a: number ) {\n\t\t\t\t\treturn a\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tstatic sum( a: number, b: number ) {\n\t\t\t\t\tthis.log_idemp()\n\t\t\t\t\tthis.log_unidemp()\n\t\t\t\t\tconst syn = $mol_wire_sync( this )\n\t\t\t\t\treturn syn.val( a ) + syn.val( b )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tstatic async calc( a: number, b: number ) {\n\t\t\t\t\treturn 5 + await $mol_wire_async( this ).sum( a, b )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\t$mol_assert_equal( await Idempotence.calc( 1, 2 ), 8 )\n\t\t\t$mol_assert_equal( Idempotence.logs_idemp, 1 )\n\t\t\t$mol_assert_equal( Idempotence.logs_unidemp, 3 )\n\n\t\t},\n\n\t\tasync 'Error handling'() {\n\t\t\t\n\t\t\tclass Handle extends $mol_object2 {\n\t\t\t\t\n\t\t\t\tstatic async sum( a: number, b: number ){\n\t\t\t\t\t$mol_fail( new Error( 'test error ' + ( a + b ) ) )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tstatic check() {\n\t\t\t\t\ttry {\n\t\t\t\t\t\treturn $mol_wire_sync( Handle ).sum( 1, 2 )\n\t\t\t\t\t} catch( error: any ) {\n\t\t\t\t\t\tif( error instanceof Promise ) $mol_fail_hidden( error )\n\t\t\t\t\t\t$mol_assert_equal( error.message, 'test error 3' )\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\t\n\t\t\tawait $mol_wire_async( Handle ).check()\n\t\t\t\n\t\t},\n\t\t\n\t})\n\t\n}\n","namespace $ {\n\t$mol_test({\n\t\t\n\t\t// https://github.com/nin-jin/slides/tree/master/reactivity#component-states\n\t\t'Cached channel' ($) {\n\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic value( next = 1 ) {\n\t\t\t\t\treturn next + 1\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\t$mol_assert_equal( App.value(), 2 )\n\n\t\t\tApp.value( 2 )\n\t\t\t$mol_assert_equal( App.value(), 3 )\n\n\t\t},\n\n\t\t'Mem overrides mem' ($) {\n\n\t\t\tclass Base extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic value( next = 1 ) {\n\t\t\t\t\treturn next + 1\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tclass Middle extends Base {\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic value( next?: number ) {\n\t\t\t\t\treturn super.value( next ) + 1\n\t\t\t\t}\n\t\t\t\n\t\t\t}\n\t\t\t\t\n\t\t\tclass App extends Middle {\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic value( next?: number ) {\n\t\t\t\t\treturn super.value( next ) * 3\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\t$mol_assert_equal( App.value(), 9 )\n\t\t\t\n\t\t\t$mol_assert_equal( App.value( 5 ), 21 )\n\t\t\t$mol_assert_equal( App.value(), 21 )\n\n\t\t},\n\n\t\t// https://github.com/nin-jin/slides/tree/master/reactivity#wish--constant-consistency-of-states\n\t\t'Auto recalculation of cached values'( $ ) {\n\t\t\t\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic xxx( next? : number ) {\n\t\t\t\t\treturn next || 1\n\t\t\t\t}\n\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic yyy() {\n\t\t\t\t\treturn this.xxx() + 1\n\t\t\t\t}\n\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic zzz() {\n\t\t\t\t\treturn this.yyy() + 1\n\t\t\t\t}\n\n\t\t\t}\n\t\t\t\n\t\t\t$mol_assert_equal( App.yyy(), 2 )\n\t\t\t$mol_assert_equal( App.zzz(), 3 )\n\n\t\t\tApp.xxx( 5 )\n\t\t\t$mol_assert_equal( App.zzz(), 7 )\n\n\t\t},\n\n\t\t// https://github.com/nin-jin/slides/tree/master/reactivity#wish--only-necessary-calculations\n\t\t'Skip recalculation when actually no dependency changes'( $ ) {\n\t\t\t\n\t\t\tconst log = [] as string[]\n\t\t\t\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic xxx( next? : number ) {\n\t\t\t\t\tlog.push( 'xxx' )\n\t\t\t\t\treturn next || 1\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic yyy() {\n\t\t\t\t\tlog.push( 'yyy' )\n\t\t\t\t\treturn [ Math.sign( this.xxx() ) ]\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic zzz() {\n\t\t\t\t\tlog.push( 'zzz' )\n\t\t\t\t\treturn this.yyy()[0] + 1\n\t\t\t\t}\n\n\t\t\t}\n\t\t\t\n\t\t\tApp.zzz()\n\t\t\t$mol_assert_like( log, [ 'zzz', 'yyy', 'xxx' ] )\n\t\t\t\n\t\t\tApp.xxx( 5 )\n\t\t\t$mol_assert_like( log, [ 'zzz', 'yyy', 'xxx', 'xxx' ] )\n\t\t\t\n\t\t\tApp.zzz()\n\t\t\t$mol_assert_like( log, [ 'zzz', 'yyy', 'xxx', 'xxx', 'yyy' ] )\n\n\t\t},\n\n\t\t// https://github.com/nin-jin/slides/tree/master/reactivity#flow-auto\n\t\t'Flow: Auto'( $ ) {\n\n\t\t\tclass App extends $mol_object2 {\n\t\t\t\t\n\t\t\t\tstatic get $() { return $ }\n\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic first( next = 1 ) { return next }\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic second( next = 2 ) { return next }\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic condition( next = true ) { return next }\n\t\t\t\t\n\t\t\t\tstatic counter = 0\n\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic result() {\n\t\t\t\t\tconst res = this.condition() ? this.first() : this.second() \n\t\t\t\t\treturn res + this.counter ++\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\n\t\t\t$mol_assert_equal( App.result() , 1 )\n\t\t\t$mol_assert_equal( App.counter , 1 )\n\t\t\t\n\t\t\tApp.condition( false )\n\t\t\t$mol_assert_equal( App.result() , 3 )\n\t\t\t$mol_assert_equal( App.counter , 2 )\n\n\t\t\tApp.first( 10 )\n\t\t\t$mol_assert_equal( App.result() , 3 )\n\t\t\t$mol_assert_equal( App.counter , 2 )\n\n\t\t} ,\n\n\t\t// https://github.com/nin-jin/slides/tree/master/reactivity#dupes-equality\n\t\t'Dupes: Equality'( $ ) {\n\t\t\t\n\t\t\tlet counter = 0\n\t\t\t\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic foo( next? : { numbs: number[] } ) {\n\t\t\t\t\treturn next ?? { numbs: [ 1 ] }\n\t\t\t\t}\n\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic bar() {\n\t\t\t\t\treturn { ... this.foo(), count: ++ counter }\n\t\t\t\t}\n\n\t\t\t}\n\t\t\t\n\t\t\t$mol_assert_like( App.bar(), { numbs: [ 1 ], count: 1 } )\n\n\t\t\tApp.foo({ numbs: [ 1 ] })\n\t\t\t$mol_assert_like( App.bar(), { numbs: [ 1 ], count: 1 } )\n\t\t\t\n\t\t\tApp.foo({ numbs: [ 2 ] })\n\t\t\t$mol_assert_like( App.bar(), { numbs: [ 2 ], count: 2 } )\n\n\t\t},\n\n\t\t// https://github.com/nin-jin/slides/tree/master/reactivity#cycle-fail\n\t\t'Cycle: Fail'( $ ) {\n\t\t\n\t\t\tclass App extends $mol_object2 {\n\t\t\n\t\t\t\tstatic $ = $\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic foo() : number {\n\t\t\t\t\treturn this.bar() + 1\n\t\t\t\t}\n\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic bar() : number {\n\t\t\t\t\treturn this.foo() + 1\n\t\t\t\t}\n\t\t\n\t\t\t\t@ $mol_wire_method\n\t\t\t\tstatic test() {\n\t\t\t\t\t$mol_assert_fail( ()=> App.foo(), 'Circular subscription' )\n\t\t\t\t}\t\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tApp.test()\n\t\t} ,\n\n\t\t// https://github.com/nin-jin/slides/tree/master/reactivity#wish--stable-behavior\n\t\t'Different order of pull and push'( $ ) {\n\t\t\n\t\t\tclass App extends $mol_object2 {\n\t\t\n\t\t\t\tstatic $ = $\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic store( next = 0 ) {\n\t\t\t\t\treturn next\n\t\t\t\t}\n\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic fast( next?: number ) {\n\t\t\t\t\treturn this.store( next )\n\t\t\t\t}\n\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic slow( next?: number ) {\n\t\t\t\t\treturn this.store( next )\n\t\t\t\t}\n\t\t\n\t\t\t}\n\t\t\t\n\t\t\tApp.fast()\n\t\t\t$mol_assert_equal( App.slow( 666 ), 666 )\n\t\t\t$mol_assert_equal( App.fast(), App.slow(), 666 )\n\t\t\t\n\t\t\tApp.store( 777 )\n\t\t\t$mol_assert_equal( App.fast(), App.slow(), 777 )\n\t\t\t\n\t\t} ,\n\t\t\n\t\t// https://github.com/nin-jin/slides/tree/master/reactivity#wish--stable-behavior\n\t\t'Actions inside invariant'( $ ) {\n\t\t\n\t\t\tclass App extends $mol_object2 {\n\t\t\n\t\t\t\tstatic $ = $\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic count( next = 0 ) {\n\t\t\t\t\treturn next\n\t\t\t\t}\n\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic count2() {\n\t\t\t\t\treturn this.count()\n\t\t\t\t}\n\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic res() {\n\t\t\t\t\tconst count = this.count2()\n\t\t\t\t\tif( !count ) this.count( count + 1 )\n\t\t\t\t\treturn count + 1\n\t\t\t\t}\n\t\t\n\t\t\t}\n\t\t\t\n\t\t\t$mol_assert_like( App.res(), 1 )\n\t\t\t\n\t\t\tApp.count( 5 )\n\t\t\t$mol_assert_like( App.res(), 6 )\n\n\t\t} ,\n\t\t\n\t\tasync 'Toggle with async'( $ ) {\n\t\t\n\t\t\tclass App extends $mol_object2 {\n\t\t\n\t\t\t\tstatic $ = $\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic checked( next = false ) {\n\t\t\t\t\t$$.$mol_wait_timeout(0)\n\t\t\t\t\treturn next\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t@ $mol_wire_method\n\t\t\t\tstatic toggle() {\n\t\t\t\t\tconst prev = this.checked()\n\t\t\t\t\t$mol_assert_unique( this.checked( !prev ), prev )\n\t\t\t\t\t// $mol_assert_equal( this.checked() , prev )\n\t\t\t\t}\n\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic res() {\n\t\t\t\t\treturn this.checked()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t@ $mol_wire_method\n\t\t\t\tstatic test() {\n\t\t\t\t\t\n\t\t\t\t\t$mol_assert_equal( App.res(), false )\n\t\t\t\t\t\n\t\t\t\t\tApp.toggle()\n\t\t\t\t\t$mol_assert_equal( App.res(), true )\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\n\t\t\t}\n\t\t\t\n\t\t\tawait $mol_wire_async( App ).test()\n\t\t\t\n\t\t} ,\n\n\t\t// // https://github.com/nin-jin/slides/tree/master/reactivity#wish--stable-behavior\n\t\t// 'Stable order of multiple root'( $ ) {\n\t\t\n\t\t// \tclass App extends $mol_object2 {\n\t\t\n\t\t// \t\tstatic $ = $\n\t\t\t\t\n\t\t// \t\tstatic counter = 0\n\t\t\t\t\n\t\t// \t\t@ $mol_wire_mem(0)\n\t\t// \t\tstatic left_trigger( next = 0 ) {\n\t\t// \t\t\treturn next\n\t\t// \t\t}\n\t\t\n\t\t// \t\t@ $mol_wire_mem(0)\n\t\t// \t\tstatic left_root() {\n\t\t// \t\t\tthis.left_trigger()\n\t\t// \t\t\treturn ++ this.counter\n\t\t// \t\t}\n\t\t\t\t\n\t\t// \t\t@ $mol_wire_mem(0)\n\t\t// \t\tstatic right_trigger( next = 0 ) {\n\t\t// \t\t\treturn next\n\t\t// \t\t}\n\t\t\t\t\n\t\t// \t\t@ $mol_wire_mem(0)\n\t\t// \t\tstatic right_root() {\n\t\t// \t\t\tthis.right_trigger()\n\t\t// \t\t\treturn ++ this.counter\n\t\t// \t\t}\n\t\t\n\t\t// \t}\n\t\t\t\n\t\t// \t$mol_assert_equal( App.left_root(), 1 )\n\t\t// \t$mol_assert_equal( App.right_root(), 2 )\n\t\t\t\n\t\t// \tApp.right_trigger( 1 )\n\t\t// \tApp.left_trigger( 1 )\n\t\t\t\n\t\t// \t$mol_wire_fiber.sync()\n\t\t\t\n\t\t// \t$mol_assert_equal( App.right_root(), 4 )\n\t\t// \t$mol_assert_equal( App.left_root(), 3 )\n\n\t\t// } ,\n\n\t\t// https://github.com/nin-jin/slides/tree/master/reactivity#error-store\n\t\t'Restore after error'( $ ) {\n\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\tstatic get $() { return $ }\n\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic condition( next = false ) { return next }\n\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic broken() {\n\t\t\t\t\t\n\t\t\t\t\tif( this.condition() ) {\n\t\t\t\t\t\t$mol_fail( new Error( 'test error' ) )\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\treturn 1\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic result() {\n\t\t\t\t\treturn this.broken()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\n\t\t\t$mol_assert_equal( App.result() , 1 )\n\t\t\t\n\t\t\tApp.condition( true )\n\t\t\t$mol_assert_fail( ()=> App.result() )\n\t\t\t\n\t\t\tApp.condition( false )\n\t\t\t$mol_assert_equal( App.result() , 1 )\n\n\t\t} ,\n\t\n\t\tasync 'Wait for data'($) {\n\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\t\t\t\t\n\t\t\t\tstatic async source() {\n\t\t\t\t\treturn 'Jin'\n\t\t\t\t}\n\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic middle() {\n\t\t\t\t\treturn $mol_wire_sync( this ).source()\n\t\t\t\t}\n\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic target() {\n\t\t\t\t\treturn this.middle()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t@ $mol_wire_method\n\t\t\t\tstatic test() {\n\t\t\t\t\t$mol_assert_equal( App.target() , 'Jin' )\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tawait $mol_wire_async( App ).test()\n\t\t},\n\n\t\t'Auto destroy on long alone'( $ ) {\n\n\t\t\tlet destroyed = false\n\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic showing( next = true ) {\n\t\t\t\t\treturn next\n\t\t\t\t}\n\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic details() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tdestructor() {\n\t\t\t\t\t\t\tdestroyed = true\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic render() {\n\t\t\t\t\treturn this.showing() ? this.details() : null\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tconst details = App.render()\n\t\t\t$mol_assert_ok( details )\n\n\t\t\tApp.showing( false )\n\t\t\t$mol_assert_not( App.render() )\n\t\t\t\n\t\t\tApp.showing( true )\n\t\t\t$mol_assert_equal( App.render() , details )\n\t\t\t\n\t\t\t$mol_wire_fiber.sync()\n\t\t\t$mol_assert_not( destroyed )\n\t\t\t\n\t\t\tApp.showing( false )\n\t\t\t$mol_wire_fiber.sync()\n\t\t\t$mol_assert_ok( destroyed )\n\n\t\t\tApp.showing( true )\n\t\t\t$mol_assert_unique( App.render() , details )\n\t\t\t\n\t\t},\n\n\t\t// https://github.com/nin-jin/slides/tree/master/reactivity#wish--stable-behavior\n\t\tasync 'Hold pubs while wait async task'($) {\n\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\t\t\t\t\n\t\t\t\tstatic counter = 0\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic resets( next?: null ): number {\n\t\t\t\t\treturn ( $mol_wire_probe( ()=> this.resets() ) ?? -1 ) + 1\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tstatic async wait() { }\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic value() {\n\t\t\t\t\treturn ++ this.counter\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic result() {\n\t\t\t\t\tif( this.resets() ) $mol_wire_sync( this ).wait()\n\t\t\t\t\treturn this.value()\n\t\t\t\t}\n\n\t\t\t\t@ $mol_wire_method\n\t\t\t\tstatic test() {\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\t$mol_assert_equal( App.result() , 1 )\n\t\t\t\n\t\t\tApp.resets( null )\n\t\t\t$mol_wire_fiber.sync()\n\t\t\t$mol_assert_equal( await $mol_wire_async( App ).result() , 1 )\n\t\t\t\n\t\t},\n\n\t\t'Memoize by single simple key' ($) {\n\n\t\t\tclass Team extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\n\t\t\t\t@ $mol_wire_mem(1)\n\t\t\t\tstatic user_name( user: string , next?: string ) {\n\t\t\t\t\treturn next ?? user\n\t\t\t\t}\n\n\t\t\t\t@ $mol_wire_mem(1)\n\t\t\t\tstatic user_names() {\n\t\t\t\t\treturn [\n\t\t\t\t\t\tthis.user_name( 'jin' ),\n\t\t\t\t\t\tthis.user_name( 'john' ),\n\t\t\t\t\t]\n\t\t\t\t}\n\n\t\t\t\t@ $mol_wire_method\n\t\t\t\tstatic test() {\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\t$mol_assert_like( Team.user_names(), [ 'jin', 'john' ] )\n\t\t\t\n\t\t\tTeam.user_name( 'jin', 'JIN' )\n\t\t\t$mol_assert_like( Team.user_names(), [ 'JIN', 'john' ] )\n\n\t\t} ,\n\n\t\t'Memoize by single complex key' ($) {\n\n\t\t\tclass Map extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\n\t\t\t\t@ $mol_wire_mem(1)\n\t\t\t\tstatic tile( pos: [ number, number ] ) {\n\t\t\t\t\treturn new String( `/tile=${pos}` )\n\t\t\t\t}\n\n\t\t\t\t@ $mol_wire_method\n\t\t\t\tstatic test() {\n\t\t\t\t\t\n\t\t\t\t\t$mol_assert_like( this.tile([0,1]), new String( '/tile=0,1' ) )\n\t\t\t\t\t$mol_assert_equal( this.tile([0,1]), this.tile([0,1]) )\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\n\t\t\tMap.test()\n\t\t} ,\n\n\t\t'Memoize by multiple keys' ($) {\n\n\t\t\tclass Map extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\n\t\t\t\t@ $mol_wire_mem(2)\n\t\t\t\tstatic tile( x: number, y: number ) {\n\t\t\t\t\treturn new String( `/tile=${x},${y}` )\n\t\t\t\t}\n\n\t\t\t\t@ $mol_wire_method\n\t\t\t\tstatic test() {\n\t\t\t\t\t\n\t\t\t\t\t$mol_assert_like( this.tile(0,1), new String( '/tile=0,1' ) )\n\t\t\t\t\t$mol_assert_equal( this.tile(0,1), this.tile(0,1) )\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\n\t\t\tMap.test()\n\t\t} ,\n\n\t\t'Owned value has js-path name' () {\n\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic title() {\n\t\t\t\t\treturn new $mol_object2\n\t\t\t\t}\n\n\t\t\t\t@ $mol_wire_mem(1)\n\t\t\t\tstatic like( friend: number ) {\n\t\t\t\t\treturn new $mol_object2\n\t\t\t\t}\n\n\t\t\t\t@ $mol_wire_mem(2)\n\t\t\t\tstatic relation( friend: number, props: [ number ] ) {\n\t\t\t\t\treturn new $mol_object2\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\t$mol_assert_equal( `${ App.title() }` , 'App.title()' )\n\t\t\t$mol_assert_equal( `${ App.like(123) }` , 'App.like(123)' )\n\t\t\t$mol_assert_equal( `${ App.relation(123,[456]) }` , 'App.relation(123,[456])' )\n\n\t\t} ,\n\n\t\t'Deep deps' ($) {\n\n\t\t\tclass Fib extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\t\t\t\t\n\t\t\t\tstatic sums = 0\n\n\t\t\t\t@ $mol_wire_mem(1)\n\t\t\t\tstatic value( index: number , next?: number ): number {\n\t\t\t\t\tif( next ) return next\n\t\t\t\t\tif( index < 2 ) return 1\n\t\t\t\t\t++ this.sums\n\t\t\t\t\treturn this.value( index - 1 ) + this.value( index - 2 )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\t$mol_assert_equal( Fib.value( 4 ), 5 )\n\t\t\t$mol_assert_equal( Fib.sums, 3 )\n\t\t\t\n\t\t\tFib.value( 1, 2 )\n\t\t\t$mol_assert_equal( Fib.value( 4 ), 8 )\n\t\t\t$mol_assert_equal( Fib.sums, 6 )\n\n\t\t} ,\n\n\t\t// 'Unsubscribe from temp pubs on complete' ($) {\n\n\t\t// \tclass Random extends $mol_object2 {\n\n\t\t// \t\tstatic $ = $\n\n\t\t// \t\t@ $mol_wire_method\n\t\t// \t\tstatic seed() {\n\t\t// \t\t\treturn Math.random()\n\t\t// \t\t}\n\t\t\t\t\n\t\t// \t\t@ $mol_wire_mem(0)\n\t\t// \t\tstatic resets( next?: null ) {\n\t\t// \t\t\treturn Math.random()\n\t\t// \t\t}\n\t\t\t\t\n\t\t// \t\t@ $mol_wire_mem(0)\n\t\t// \t\tstatic value() {\n\t\t// \t\t\tthis.resets()\n\t\t// \t\t\treturn this.seed()\n\t\t// \t\t}\n\n\t\t// \t}\n\t\t\t\n\t\t// \tconst first = Random.value()\n\t\t\t\n\t\t// \tRandom.resets( null )\n\t\t// \t$mol_assert_unique( Random.value(), first )\n\n\t\t// } ,\n\n\t})\n}\n","namespace $ {\n\t$mol_test({\n\t\t\n\t\t'Previous value'() {\n\n\t\t\tclass Cache extends $mol_object2 {\n\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic store( next?: Record< string, number > ): typeof next {\n\t\t\t\t\tif( !next ) return {}\n\t\t\t\t\treturn {\n\t\t\t\t\t\t... $mol_wire_probe( ()=> this.store() ) ?? {},\n\t\t\t\t\t\t... next,\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\t$mol_assert_like( Cache.store(), {} )\n\t\t\t\n\t\t\t$mol_assert_like( Cache.store({ foo: 666 }), { foo: 666 } )\n\t\t\t$mol_assert_like( Cache.store({ bar: 777 }), { foo: 666, bar: 777 } )\n\n\t\t} ,\n\t\t\n\t})\n}\n","/** @jsx $mol_jsx */\nnamespace $ {\n\t$mol_test({\n\t\t\n\t\t'Primitives'() {\n\t\t\t\n\t\t\t$mol_assert_equal( $mol_key( null ), 'null' )\n\t\t\t$mol_assert_equal( $mol_key( false ), 'false' )\n\t\t\t$mol_assert_equal( $mol_key( true ), 'true' )\n\t\t\t$mol_assert_equal( $mol_key( 0 ), '0' )\n\t\t\t$mol_assert_equal( $mol_key( '' ), '\"\"' )\n\t\t\t\n\t\t},\n\t\t\n\t\t'Array & POJO'() {\n\t\t\t\n\t\t\t$mol_assert_equal( $mol_key([ null ]), '[null]' )\n\t\t\t$mol_assert_equal( $mol_key({ foo: 0 }), '{\"foo\":0}' )\n\t\t\t$mol_assert_equal( $mol_key({ foo: [false] }), '{\"foo\":[false]}' )\n\t\t\t\n\t\t},\n\t\t\n\t\t'Function'() {\n\t\t\t\n\t\t\tconst func = ()=> {}\n\t\t\t$mol_assert_equal( $mol_key( func ), $mol_key( func ) )\n\t\t\t$mol_assert_unique( $mol_key( func ), $mol_key( ()=> {} ) )\n\t\t\t\n\t\t},\n\t\t\n\t\t'Objects'() {\n\t\t\t\n\t\t\tclass User {}\n\t\t\tconst jin = new User()\n\t\t\t\n\t\t\t$mol_assert_equal( $mol_key( jin ), $mol_key( jin ) )\n\t\t\t$mol_assert_unique( $mol_key( jin ), $mol_key( new User() ) )\n\t\t\t\n\t\t},\n\t\t\n\t\t'Elements'() {\n\t\t\t\n\t\t\tconst foo = <div>bar</div>\n\t\t\t\n\t\t\t$mol_assert_equal( $mol_key( foo ), $mol_key( foo ) )\n\t\t\t$mol_assert_unique( $mol_key( foo ), $mol_key( <div>bar</div> ) )\n\t\t\t\n\t\t},\n\t\t\n\t\t'Custom JSON representation'() {\n\t\t\t\n\t\t\tclass User {\n\t\t\t\tconstructor( public name: string, public age: number ) {}\n\t\t\t\ttoJSON() { return { name: this.name } }\n\t\t\t}\n\t\t\t\n\t\t\t$mol_assert_equal( $mol_key( new User( 'jin', 18 ) ), '{\"name\":\"jin\"}' )\n\t\t\t\n\t\t},\n\t\t\n\t\t'Special native classes'() {\n\t\t\t\n\t\t\t$mol_assert_equal( $mol_key( new Date( 'xyz' ) ), 'null' )\n\t\t\t$mol_assert_equal( $mol_key( new Date( '2001-01-02T03:04:05.678Z' ) ), '\"2001-01-02T03:04:05.678Z\"' )\n\t\t\t\n\t\t\t$mol_assert_equal( $mol_key( /./ ), '\"/./\"' )\n\t\t\t$mol_assert_equal( $mol_key( /\\./gimsu ), '\"/\\\\\\\\./gimsu\"' )\n\t\t\t\n\t\t},\n\t\t\n\t})\n}\n","namespace $ {\n\t\n\t$mol_wire_log.active()\n\n}\n","namespace $ {\n\t$mol_test( { \n\t\t\n\t\t'const returns stored value'() {\n\t\t\n\t\t\tconst foo = { bar : $mol_const( Math.random() ) }\n\t\t\t\n\t\t\t$mol_assert_equal( foo.bar() , foo.bar() )\n\t\t\t$mol_assert_equal( foo.bar() , foo.bar['()'] )\n\t\t\t\n\t\t} ,\n\n\t} )\n}\n","namespace $ {\n\t$mol_test({\n\t\t\n\t\t'Cached field' ($) {\n\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\t\t\t\t\n\t\t\t\t@ $mol_wire_field\n\t\t\t\tstatic low = 1\n\t\t\t\t\n\t\t\t\t@ $mol_wire_field\n\t\t\t\tstatic get high() {\n\t\t\t\t\treturn this.low + 1\n\t\t\t\t}\n\t\t\t\tstatic set high( next: number ) {\n\t\t\t\t\tthis.low = next - 1\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t@ $mol_wire_method\n\t\t\t\tstatic test() {\n\t\t\t\t\t\n\t\t\t\t\t$mol_assert_equal( App.high , 2 )\n\t\t\n\t\t\t\t\tApp.high = 3\n\t\t\t\t\t$mol_assert_equal( App.high , 3 )\n\t\t\t\t\t\n\t\t\t\t}\n\n\t\t\t}\n\t\t\t\n\t\t\tApp.test()\n\t\t},\n\n\t})\n}\n","namespace $ {\n\t$mol_test({\n\t\t\n\t\t'Watch one value' ($) {\n\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\t\t\t\tstatic set = new $mol_wire_set< number >()\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic lucky() {\n\t\t\t\t\treturn this.set.has( 777 )\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\t$mol_assert_equal( App.lucky(), false )\n\n\t\t\tApp.set.add( 666 )\n\t\t\t$mol_assert_equal( App.lucky(), false )\n\n\t\t\tApp.set.add( 777 )\n\t\t\t$mol_assert_equal( App.lucky(), true )\n\n\t\t\tApp.set.delete( 777 )\n\t\t\t$mol_assert_equal( App.lucky(), false )\n\n\t\t},\n\n\t\t'Watch item channel' ($) {\n\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\t\t\t\tstatic set = new $mol_wire_set< number >()\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic lucky() {\n\t\t\t\t\treturn this.set.item( 777 )\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\t$mol_assert_equal( App.lucky(), false )\n\n\t\t\tApp.set.item( 666, true )\n\t\t\t$mol_assert_equal( App.lucky(), false )\n\n\t\t\tApp.set.item( 777, true )\n\t\t\t$mol_assert_equal( App.lucky(), true )\n\n\t\t\tApp.set.item( 777, false )\n\t\t\t$mol_assert_equal( App.lucky(), false )\n\n\t\t},\n\n\t\t'Watch size' ($) {\n\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\t\t\t\tstatic set = new $mol_wire_set< number >()\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic size() {\n\t\t\t\t\treturn this.set.size\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\t$mol_assert_equal( App.size(), 0 )\n\n\t\t\tApp.set.add( 666 )\n\t\t\t$mol_assert_equal( App.size(), 1 )\n\n\t\t\tApp.set.add( 777 )\n\t\t\t$mol_assert_equal( App.size(), 2 )\n\n\t\t\tApp.set.delete( 777 )\n\t\t\t$mol_assert_equal( App.size(), 1 )\n\n\t\t},\n\n\t\t'Watch for-of' ($) {\n\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\t\t\t\tstatic set = new $mol_wire_set< number >()\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic sum() {\n\t\t\t\t\tlet res = 0\n\t\t\t\t\tfor( const val of this.set ) {\n\t\t\t\t\t\tres += val\n\t\t\t\t\t}\n\t\t\t\t\treturn res\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\t$mol_assert_equal( App.sum(), 0 )\n\n\t\t\tApp.set.add( 111 )\n\t\t\t$mol_assert_equal( App.sum(), 111 )\n\n\t\t\tApp.set.add( 222 )\n\t\t\t$mol_assert_equal( App.sum(), 333 )\n\n\t\t\tApp.set.delete( 111 )\n\t\t\t$mol_assert_equal( App.sum(), 222 )\n\n\t\t},\n\n\t\t'Watch forEach' ($) {\n\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\t\t\t\tstatic set = new $mol_wire_set< number >()\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic sum() {\n\t\t\t\t\tlet res = 0\n\t\t\t\t\tthis.set.forEach( val => res += val )\n\t\t\t\t\treturn res\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\t$mol_assert_equal( App.sum(), 0 )\n\n\t\t\tApp.set.add( 111 )\n\t\t\t$mol_assert_equal( App.sum(), 111 )\n\n\t\t\tApp.set.add( 222 )\n\t\t\t$mol_assert_equal( App.sum(), 333 )\n\n\t\t\tApp.set.delete( 111 )\n\t\t\t$mol_assert_equal( App.sum(), 222 )\n\t\t\t\n\t\t},\n\n\t})\n}\n","namespace $ {\n\t$mol_test({\n\t\t\n\t\t'Watch one value' ($) {\n\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\t\t\t\tstatic dict = new $mol_wire_dict< number, number >()\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic lucky() {\n\t\t\t\t\treturn this.dict.get( 777 )\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\t$mol_assert_equal( App.lucky(), undefined )\n\n\t\t\tApp.dict.set( 666, 6666 )\n\t\t\t$mol_assert_equal( App.lucky(), undefined )\n\n\t\t\tApp.dict.set( 777, 7777 )\n\t\t\t$mol_assert_equal( App.lucky(), 7777 )\n\n\t\t\tApp.dict.delete( 777 )\n\t\t\t$mol_assert_equal( App.lucky(), undefined )\n\n\t\t},\n\n\t\t'Watch item channel' ($) {\n\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\t\t\t\tstatic dict = new $mol_wire_dict< number, number >()\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic lucky() {\n\t\t\t\t\treturn this.dict.item( 777 )\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\t$mol_assert_equal( App.lucky(), null )\n\n\t\t\tApp.dict.item( 666, 6666 )\n\t\t\t$mol_assert_equal( App.lucky(), null )\n\n\t\t\tApp.dict.item( 777, 7777 )\n\t\t\t$mol_assert_equal( App.lucky(), 7777 )\n\n\t\t\tApp.dict.item( 777, null )\n\t\t\t$mol_assert_equal( App.lucky(), null )\n\n\t\t},\n\n\t\t'Watch size' ($) {\n\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\t\t\t\tstatic dict = new $mol_wire_dict< number, number >()\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic size() {\n\t\t\t\t\treturn this.dict.size\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\t$mol_assert_equal( App.size(), 0 )\n\n\t\t\tApp.dict.set( 666, 6666 )\n\t\t\t$mol_assert_equal( App.size(), 1 )\n\n\t\t\tApp.dict.set( 777, 7777 )\n\t\t\t$mol_assert_equal( App.size(), 2 )\n\n\t\t\tApp.dict.delete( 777 )\n\t\t\t$mol_assert_equal( App.size(), 1 )\n\n\t\t},\n\n\t\t'Watch for-of' ($) {\n\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\t\t\t\tstatic dict = new $mol_wire_dict< number, number >()\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic sum() {\n\t\t\t\t\tlet keys = 0\n\t\t\t\t\tlet vals = 0\n\t\t\t\t\tfor( const [ key, val ] of this.dict ) {\n\t\t\t\t\t\tkeys += key\n\t\t\t\t\t\tvals += val\n\t\t\t\t\t}\n\t\t\t\t\treturn [ keys, vals ]\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\t$mol_assert_like( App.sum(), [ 0, 0 ] )\n\n\t\t\tApp.dict.set( 111, 1111 )\n\t\t\t$mol_assert_like( App.sum(), [ 111, 1111 ] )\n\n\t\t\tApp.dict.set( 222, 2222 )\n\t\t\t$mol_assert_like( App.sum(), [ 333, 3333 ] )\n\n\t\t\tApp.dict.delete( 111 )\n\t\t\t$mol_assert_like( App.sum(), [ 222, 2222 ] )\n\n\t\t},\n\n\t\t'Watch forEach' ($) {\n\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\t\t\t\tstatic dict = new $mol_wire_dict< number, number >()\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic sum() {\n\t\t\t\t\tlet keys = 0\n\t\t\t\t\tlet vals = 0\n\t\t\t\t\tthis.dict.forEach( ( val, key )=> {\n\t\t\t\t\t\tkeys += key\n\t\t\t\t\t\tvals += val\n\t\t\t\t\t} )\n\t\t\t\t\treturn [ keys, vals ]\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\t$mol_assert_like( App.sum(), [ 0, 0 ] )\n\n\t\t\tApp.dict.set( 111, 1111 )\n\t\t\t$mol_assert_like( App.sum(), [ 111, 1111 ] )\n\n\t\t\tApp.dict.set( 222, 2222 )\n\t\t\t$mol_assert_like( App.sum(), [ 333, 3333 ] )\n\n\t\t\tApp.dict.delete( 111 )\n\t\t\t$mol_assert_like( App.sum(), [ 222, 2222 ] )\n\t\t\t\n\t\t},\n\n\t})\n}\n"]}
1
+ {"version":3,"sources":["../../../../mam.jam.js","../../../../mam.ts","../../../fail/mol/fail/fail.ts","../../cursor/mol/wire/cursor/cursor.ts","../../pub/mol/wire/pub/pub.ts","../../sub/sub.ts","../../mol/wire/wire.ts","../../../dev/format/mol/dev/format/format.ts","../../pub/sub/mol/wire/pub/sub/sub.ts","../../../ambient/mol/ambient/ambient.ts","../../../delegate/mol/delegate/delegate.ts","../../../owning/mol/owning/owning.ts","../../../fail/hidden/mol/fail/hidden/hidden.ts","../../../type/writable/writable.ts","../../../object2/mol/object2/object2.ts","../../../after/timeout/mol/after/timeout/timeout.ts","../../../after/frame/mol/after/frame/frame.node.ts","../../fiber/mol/wire/fiber/fiber.ts","../../../compare/deep/mol/compare/deep/deep.ts","../../task/mol/wire/task/task.ts","../../../guid/mol/guid/guid.ts","../../../key/mol/key/key.ts","../../method/mol/wire/method/method.ts","../../atom/mol/wire/atom/atom.ts","../../probe/mol/wire/probe/probe.ts","../../solid/mol/wire/solid/solid.ts","../../sync/mol/wire/sync/sync.ts","../../async/mol/wire/async/async.ts","../../mem/mol/wire/mem/mem.ts","../../../const/mol/const/const.ts","../../field/mol/wire/field/field.ts","../../set/mol/wire/set/set.ts","../../dict/mol/wire/dict/dict.ts","../../../promise/mol/promise/promise.ts","../../../wait/timeout/mol/wait/timeout/timeout.ts","../../../mem/mol/mem/mem.ts","../../../log3/mol/log3/log3.ts","../../../../node/node.ts","../../../../node/node/node.node.ts","../../../deprecated/mol/deprecated/deprecated.ts","../../../tree/mol/tree/tree.ts","../../../log3/mol/log3/log3.node.ts","../../../env/mol/env/env.ts","../../../env/mol/env/env.node.ts","../../../exec/mol/exec/exec.node.ts","../../log/mol/wire/log/log.ts","../../../test/mol/test/test.node.test.ts","../../../test/mol/test/test.test.ts","../../../dom/context/mol/dom/context/context.ts","../../../dom/context/mol/dom/context/context.node.ts","../../../dom/render/children/mol/dom/render/children/children.ts","../../../type/error/error.ts","../../../type/assert/assert.test.ts","../../../type/assert/assert.ts","../../../type/equals/equals.test.ts","../../../type/equals/equals.ts","../../../type/partial/deep/deep.test.ts","../../../type/partial/deep/deep.ts","../../../jsx/mol/jsx/jsx.test.tsx","../../../jsx/mol/jsx/jsx.ts","../../../compare/deep/mol/compare/deep/deep.test.tsx","../../../dom/serialize/mol/dom/serialize/serialize.ts","../../../assert/mol/assert/assert.test.ts","../../../assert/mol/assert/assert.ts","../../../log3/mol/log3/log3.test.ts","../../../delegate/mol/delegate/delegate.test.ts","../../../type/writable/writable.test.ts","../../../tree/mol/tree/tree.test.ts","../../pub/sub/mol/wire/pub/sub/sub.test.ts","../../../after/mock/mol/after/mock/mock.test.ts","../../async/mol/wire/async/async.test.ts","../../../after/timeout/mol/after/timeout/timeout.test.ts","../../../after/frame/mol/after/frame/frame.test.ts","../../fiber/mol/wire/fiber/fiber.test.ts","../../mem/mol/wire/mem/mem.test.ts","../../probe/mol/wire/probe/probe.test.ts","../../../key/mol/key/key.test.tsx","../../atom/mol/wire/atom/atom.test.ts","../../../const/mol/const/const.test.ts","../../field/mol/wire/field/field.test.ts","../../set/mol/wire/set/set.test.ts","../../dict/mol/wire/dict/dict.test.ts"],"names":[],"mappings":"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","file":"node.test.js","sourcesContent":[null,"Error.stackTraceLimit = 50;\n\ndeclare let _$_: { new(): {} } & typeof globalThis\ndeclare class $ extends _$_ {}\n\nnamespace $ {\n\texport type $ = typeof $$\n\texport declare class $$ extends $ {}\n\tnamespace $$ {\n\t\texport type $$ = $\n\t}\n}\n\nmodule.exports = $\n","namespace $ {\n\n\texport function $mol_fail( error : any ) : never {\n\t\tthrow error\n\t}\n\n}\n","namespace $ {\n\t\n\t/** Special status statuses. */\n\texport enum $mol_wire_cursor {\n\t\t\n\t\t/** Update required. */\n\t\tstale = -1,\n\t\t\n\t\t/** Some of (transitive) pub update required. */\n\t\tdoubt = -2,\n\t\t\n\t\t/** Actual state but may be dropped. */\n\t\tfresh = -3,\n\t\t\n\t\t/** State will never be changed. */\n\t\tfinal = -4,\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\t/**\n\t * Collects subscribers in compact array. 28B\n\t */\n\texport class $mol_wire_pub extends Object {\n\t\t\n\t\tdata = [] as unknown[]\n\t\t\n\t\t// Derived objects should be Arrays.\n\t\tstatic get [ Symbol.species ]() {\n\t\t\treturn Array\n\t\t}\n\t\t\n\t\t/**\n\t\t * Index of first subscriber.\n\t\t */\n\t\tprotected sub_from = 0 // 4B\n\t\t\n\t\t/**\n\t\t * All current subscribers.\n\t\t */\n\t\tget sub_list() {\n\t\t\tconst res = [] as $mol_wire_sub[]\n\t\t\tfor( let i = this.sub_from; i < this.data.length; i += 2 ) {\n\t\t\t\tres.push( this.data[i] as $mol_wire_sub )\n\t\t\t}\n\t\t\treturn res as readonly $mol_wire_sub[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * Has any subscribers or not.\n\t\t */\n\t\tget sub_empty() {\n\t\t\treturn this.sub_from === this.data.length\n\t\t}\n\t\t\n\t\t/**\n\t\t * Subscribe subscriber to this publisher events and return position of subscriber that required to unsubscribe.\n\t\t */\n\t\tsub_on( sub: $mol_wire_pub, pub_pos: number ) {\n\t\t\tconst pos = this.data.length\n\t\t\tthis.data.push( sub, pub_pos )\n\t\t\treturn pos\n\t\t}\n\t\t\n\t\t/**\n\t\t * Unsubscribe subscriber from this publisher events by subscriber position provided by `on(pub)`.\n\t\t */\n\t\tsub_off( sub_pos: number ) {\n\t\t\t\n\t\t\tif(!( sub_pos < this.data.length )) {\n\t\t\t\t$mol_fail( new Error( `Wrong pos ${ sub_pos }` ) )\n\t\t\t}\n\t\t\t\n\t\t\tconst end = this.data.length - 2\n\t\t\tif( sub_pos !== end ) {\n\t\t\t\tthis.peer_move( end, sub_pos )\n\t\t\t}\n\t\t\t\n\t\t\tthis.data.pop()\n\t\t\tthis.data.pop()\n\t\t\t\n\t\t\tif( this.data.length === this.sub_from ) this.reap()\n\t\t\t\n\t\t}\n\t\t\n\t\t/**\n\t\t * Called when last sub was unsubscribed.\n\t\t **/\n\t\treap() { }\n\t\t\n\t\t/**\n\t\t * Autowire this publisher with current subscriber.\n\t\t **/\n\t\tpromote() {\n\t\t\t$mol_wire_auto()?.track_next( this )\n\t\t}\n\t\t\n\t\t/**\n\t\t * Enforce actualization. Should not throw errors.\n\t\t */\n\t\trefresh() {}\n\t\t\n\t\t/**\n\t\t * Allow to put data to caches in the subtree.\n\t\t */\n\t\tcomplete() {}\n\t\t\n\t\t/**\n\t\t * Notify subscribers about self changes.\n\t\t */\n\t\temit( quant = $mol_wire_cursor.stale ) {\n\t\t\tfor( let i = this.sub_from; i < this.data.length; i += 2 ) {\n\t\t\t\t;( this.data[i] as $mol_wire_sub ).absorb( quant )\n\t\t\t}\n\t\t}\n\t\t\n\t\t/**\n\t\t * Moves peer from one position to another. Doesn't clear data at old position!\n\t\t */\n\t\tpeer_move( from_pos: number, to_pos: number ) {\n\t\t\t\n\t\t\tconst peer = this.data[ from_pos ] as $mol_wire_pub\n\t\t\tconst self_pos = this.data[ from_pos + 1 ] as number\n\t\t\t\n\t\t\tthis.data[ to_pos ] = peer\n\t\t\tthis.data[ to_pos + 1 ] = self_pos\n\t\t\t\n\t\t\tpeer.peer_repos( self_pos, to_pos )\n\t\t}\n\t\t\n\t\t/**\n\t\t * Updates self position in the peer.\n\t\t */\n\t\tpeer_repos( peer_pos: number, self_pos: number ) {\n\t\t\tthis.data[ peer_pos + 1 ] = self_pos\n\t\t}\n\t\t\n\t}\n\t\n}\n",null,"namespace $ {\n\t\n\tlet auto: $mol_wire_sub | null = null\n\t\n\t/**\n\t * When fulfilled, all publishers are promoted to this subscriber on access to its.\n\t */\n\texport function $mol_wire_auto( next = auto ) {\n\t\treturn auto = next\n\t}\n\t\n\t/**\n\t * Affection queue. Used to prevent accidental stack overflow on emit.\n\t */\n\texport const $mol_wire_affected = [] as ( $mol_wire_sub | number )[]\n\t\n}\n","namespace $ {\n\n\t// https://docs.google.com/document/d/1FTascZXT9cxfetuPRT2eXPQKXui4nWFivUnS_335T3U/preview#\n\t$['devtoolsFormatters'] = $['devtoolsFormatters'] || []\n\n\texport function $mol_dev_format_register( config : {\n\t\theader : ( val : any , config : any )=> any\n\t\thasBody : ( val : any , config : any )=> false\n\t} | {\n\t\theader : ( val : any , config : any )=> any\n\t\thasBody : ( val : any , config : any )=> boolean\n\t\tbody : ( val : any , config : any )=> any\n\t} ) {\n\t\t$['devtoolsFormatters'].push( config )\n\t}\n\n\texport let $mol_dev_format_head = Symbol( '$mol_dev_format_head' )\n\texport let $mol_dev_format_body = Symbol( '$mol_dev_format_body' )\n\n\t$mol_dev_format_register({\n\n\t\theader : ( val : any , config = false ) => {\n\t\t\t\n\t\t\tif( config ) return null\n\n\t\t\tif( !val ) return null\n\t\t\t\n\t\t\tif( $mol_dev_format_head in val ) {\n\t\t\t\treturn val[ $mol_dev_format_head ]()\n\t\t\t}\n\t\t\t\n\t\t\tif( typeof val === 'function' ) {\n\t\t\t\treturn $mol_dev_format_native( val )\n\t\t\t}\n\n\t\t\treturn null\n\t\t\t\n\t\t} ,\n\t\t\n\t\thasBody : val => val[ $mol_dev_format_body ] ,\n\n\t\tbody : val => val[ $mol_dev_format_body ]() ,\n\n\t})\n\n\texport function $mol_dev_format_native( obj : any ) {\n\t\t\n\t\tif( typeof obj === 'undefined' ) return $mol_dev_format_shade( 'undefined' )\n\t\tif( typeof obj !== 'object' && typeof obj !== 'function' ) return obj\n\n\t\treturn [\n\t\t\t'object' ,\n\t\t\t{\n\t\t\t\tobject : obj ,\n\t\t\t\tconfig : true ,\n\t\t\t} ,\n\t\t]\n\n\t}\n\n\texport function $mol_dev_format_auto( obj : any ) {\n\t\t\n\t\tif( obj == null ) return $mol_dev_format_shade( String( obj ) )\n\n\t\tif( typeof obj === 'object' && $mol_dev_format_head in obj ) {\n\t\t\treturn obj[ $mol_dev_format_head ]()\n\t\t}\n\n\t\treturn [\n\t\t\t'object' ,\n\t\t\t{\n\t\t\t\tobject : obj ,\n\t\t\t\tconfig : false ,\n\t\t\t} ,\n\t\t]\n\n\t}\n\n\texport function $mol_dev_format_element( element : string , style : object , ...content : any[] ) {\n\t\t\t\n\t\tconst styles = [] as string[]\n\t\t\n\t\tfor( let key in style ) styles.push( `${ key } : ${ style[key] }` )\n\t\t\n\t\treturn [\n\t\t\telement ,\n\t\t\t{\n\t\t\t\tstyle : styles.join( ' ; ' ) ,\n\t\t\t} ,\n\t\t\t... content ,\n\t\t]\n\n\t}\n\n\texport function $mol_dev_format_span( style : object , ...content : any[] ) {\n\t\treturn $mol_dev_format_element(\n\t\t\t'span' ,\n\t\t\t{\n\t\t\t\t'vertical-align' : '8%',\n\t\t\t\t... style ,\n\t\t\t} ,\n\t\t\t... content ,\n\t\t)\n\t}\n\n\texport let $mol_dev_format_div = $mol_dev_format_element.bind( null , 'div' )\n\texport let $mol_dev_format_ol = $mol_dev_format_element.bind( null , 'ol' )\n\texport let $mol_dev_format_li = $mol_dev_format_element.bind( null , 'li' )\n\texport let $mol_dev_format_table = $mol_dev_format_element.bind( null , 'table' )\n\texport let $mol_dev_format_tr = $mol_dev_format_element.bind( null , 'tr' )\n\texport let $mol_dev_format_td = $mol_dev_format_element.bind( null , 'td' )\n\n\texport let $mol_dev_format_accent = $mol_dev_format_span.bind( null , {\n\t\t'color' : 'magenta' ,\n\t} )\n\n\texport let $mol_dev_format_strong = $mol_dev_format_span.bind( null , {\n\t\t'font-weight' : 'bold' ,\n\t} )\n\n\texport let $mol_dev_format_string = $mol_dev_format_span.bind( null , {\n\t\t'color' : 'green',\n\t} )\n\n\texport let $mol_dev_format_shade = $mol_dev_format_span.bind( null , {\n\t\t'color' : 'gray',\n\t} )\n\n\texport let $mol_dev_format_indent = $mol_dev_format_div.bind( null , {\n\t\t'margin-left': '13px'\n\t} )\n\n}\n","namespace $ {\n\t\n\t/**\n\t * Publisher that can auto collect other publishers. 32B\n\t * \n\t * \tP1 P2 P3 P4 S1 S2 S3\n\t * \t^ ^\n\t * \tpubs_from subs_from\n\t */\n\texport class $mol_wire_pub_sub extends $mol_wire_pub implements $mol_wire_sub {\n\t\t\n\t\tprotected pub_from = 0 // 4B\n\t\tprotected cursor = $mol_wire_cursor.stale // 4B\n\t\t\n\t\tget pub_list() {\n\t\t\tconst res = [] as $mol_wire_pub[]\n\t\t\tconst max = this.cursor >=0 ? this.cursor : this.sub_from\n\t\t\tfor( let i = this.pub_from; i < max; i += 2 ) {\n\t\t\t\tres.push( this.data[i] as $mol_wire_pub )\n\t\t\t}\n\t\t\treturn res\n\t\t}\n\t\t\n\t\ttrack_on() {\n\t\t\tthis.cursor = this.pub_from\n\t\t\tconst sub = $mol_wire_auto()\n\t\t\t$mol_wire_auto( this )\n\t\t\treturn sub\n\t\t}\n\t\t\n\t\tpromote() {\n\t\t\t\n\t\t\tif( this.cursor >= this.pub_from ) {\n\t\t\t\t$mol_fail( new Error( 'Circular subscription' ) )\n\t\t\t}\n\t\t\t\n\t\t\tsuper.promote()\n\t\t}\n\t\t\n\t\ttrack_next( pub?: $mol_wire_pub ): $mol_wire_pub | null {\n\t\t\t\n\t\t\tif( this.cursor < 0 ) $mol_fail( new Error( 'Promo to non begun sub' ) )\n\t\t\t\n\t\t\tif( this.cursor < this.sub_from ) {\n\t\t\t\n \t\t\t\tconst next = this.data[ this.cursor ] as $mol_wire_pub | undefined\n\t\t\t\tif( pub === undefined ) return next ?? null\n\t\t\t\t\n\t\t\t\tif( next === pub ) {\n\t\t\t\t\tthis.cursor += 2\n\t\t\t\t\treturn next\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( next ) {\n\t\t\t\t\t\n\t\t\t\t\tif( this.sub_from < this.data.length ) {\n\t\t\t\t\t\tthis.peer_move( this.sub_from, this.data.length )\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tthis.peer_move( this.cursor, this.sub_from )\n\t\t\t\t\tthis.sub_from += 2\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t} else {\n\t\t\t\t\n\t\t\t\tif( pub === undefined ) return null\n\t\t\t\t\n\t\t\t\tif( this.sub_from < this.data.length ) {\n\t\t\t\t\tthis.peer_move( this.sub_from, this.data.length )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tthis.sub_from += 2\n\t\t\t\t\n\t\t\t}\t\t\t\n\t\t\t\n\t\t\tthis.data[ this.cursor ] = pub\n\t\t\tthis.data[ this.cursor + 1 ] = pub.sub_on( this, this.cursor )\n\t\t\t\n\t\t\tthis.cursor += 2\n\t\t\t\n\t\t\treturn pub\n\t\t}\n\t\t\n\t\ttrack_off( sub: $mol_wire_sub | null ) {\n\t\t\t\n\t\t\t$mol_wire_auto( sub )\n\t\t\t\n\t\t\tif( this.cursor < 0 ) {\n\t\t\t\t$mol_fail( new Error( 'End of non begun sub' ) )\n\t\t\t}\n\t\t\t\n\t\t\tfor(\n\t\t\t\tlet cursor = this.pub_from;\n\t\t\t\tcursor < this.cursor;\n\t\t\t\tcursor += 2\n\t\t\t) {\n\t\t\t\tconst pub = this.data[ cursor ] as $mol_wire_pub\n\t\t\t\tpub.refresh()\n\t\t\t}\n\t\t\t\n\t\t\tthis.cursor = $mol_wire_cursor.fresh\n\t\t\t\n\t\t}\n\t\t\n\t\tpub_off( sub_pos: number ) {\n\t\t\tthis.data[ sub_pos ] = undefined as any\n\t\t\tthis.data[ sub_pos + 1 ] = undefined as any \n\t\t}\n\t\t\n\t\tdestructor() {\n\t\t\t\n\t\t\tfor(\n\t\t\t\tlet cursor = this.data.length - 2;\n\t\t\t\tcursor >= this.sub_from;\n\t\t\t\tcursor -= 2\n\t\t\t) {\n\t\t\t\tconst sub = this.data[ cursor ] as $mol_wire_sub\n\t\t\t\tconst pos = this.data[ cursor + 1 ] as number\n\t\t\t\tsub.pub_off( pos )\n\t\t\t\tthis.data.pop()\n\t\t\t\tthis.data.pop()\n\t\t\t}\n\t\t\t\n\t\t\tthis.cursor = this.pub_from\n\t\t\tthis.track_cut()\n\t\t\tthis.cursor = $mol_wire_cursor.final\n\t\t\t\n\t\t}\n\t\t\n\t\ttrack_cut() {\n\t\t\t\n\t\t\tif( this.cursor < this.pub_from ) {\n\t\t\t\t$mol_fail( new Error( 'Cut of non begun sub' ) )\n\t\t\t}\n\t\t\t\n\t\t\tlet tail = 0\n\t\t\t\n\t\t\tfor(\n\t\t\t\tlet cursor = this.cursor;\n\t\t\t\tcursor < this.sub_from;\n\t\t\t\tcursor += 2\n\t\t\t) {\n\t\t\t\t\n\t\t\t\tconst pub = this.data[ cursor ] as $mol_wire_pub | undefined\n\t\t\t\tpub?.sub_off( this.data[ cursor + 1 ] as number )\n\t\t\t\t\n\t\t\t\tif( this.sub_from < this.data.length ) {\n\t\t\t\t\tthis.peer_move( this.data.length - 2, cursor )\n\t\t\t\t\tthis.data.pop()\n\t\t\t\t\tthis.data.pop()\n\t\t\t\t} else {\n\t\t\t\t\t++ tail\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tfor(; tail; -- tail ) {\n\t\t\t\tthis.data.pop()\n\t\t\t\tthis.data.pop()\n\t\t\t}\n\t\t\t\n\t\t\tthis.sub_from = this.cursor\n\t\t\t\n\t\t}\n\t\t\n\t\tcomplete() { }\n\t\t\n\t\tcomplete_pubs() {\n\t\t\t\n\t\t\tconst limit = this.cursor < 0 ? this.sub_from : this.cursor \n\t\t\t\n\t\t\tfor(\n\t\t\t\tlet cursor = this.pub_from;\n\t\t\t\tcursor < limit;\n\t\t\t\tcursor += 2\n\t\t\t) {\n\t\t\t\tconst pub = this.data[ cursor ] as $mol_wire_pub\n\t\t\t\tpub?.complete()\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\tabsorb( quant = $mol_wire_cursor.stale ) {\n\t\t\t\n\t\t\tif( this.cursor === $mol_wire_cursor.final ) return\n\t\t\tif( this.cursor >= quant ) return\n\t\t\t\n\t\t\tthis.cursor = quant\n\t\t\tthis.emit( $mol_wire_cursor.doubt )\n\t\t\t\n\t\t}\n\t\t\n\t\t[ $mol_dev_format_head ]() {\n\t\t\treturn $mol_dev_format_native( this )\n\t\t}\n\t\t\n\t\t/**\n\t\t * Is subscribed to any publisher or not.\n\t\t */\n\t\tget pub_empty() {\n\t\t\treturn this.sub_from === this.pub_from\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\n\texport const $mol_ambient_ref : unique symbol = Symbol( '$mol_ambient_ref' )\n\n\t/** @deprecated use $ instead */\n\texport type $mol_ambient_context = $\n\n\texport function $mol_ambient( this : $ | void , overrides : Partial< $ > ) : $ {\n\t\treturn Object.setPrototypeOf( overrides , this || $ )\n\t}\n\n}\n","namespace $ {\n\n\tconst instances = new WeakSet< any >()\n\n\t/**\n\t * Proxy that delegates all to lazy returned target.\n\t * \n\t * \t$mol_delegate( Array.prototype , ()=> fetch_array() )\n\t */\n export function $mol_delegate< Value extends object >(\n\t\tproto : Value ,\n\t\ttarget : ()=> Value ,\n\t) {\n\n\t\tconst proxy = new Proxy( proto , {\n\n\t\t\tget: ( _ , field )=> {\n\t\t\t\tconst obj = target()\n\t\t\t\tlet val = Reflect.get( obj , field )\n\t\t\t\tif( typeof val === 'function' ) {\n\t\t\t\t\tval = val.bind( obj )\n\t\t\t\t} \n\t\t\t\treturn val\n\t\t\t},\n\t\t\thas: ( _ , field )=> Reflect.has( target(), field ),\n\t\t\tset: ( _ , field , value )=> Reflect.set( target() , field , value ),\n\t\t\t\n\t\t\tgetOwnPropertyDescriptor: ( _ , field )=> Reflect.getOwnPropertyDescriptor( target() , field ),\n\t\t\townKeys: ()=> Reflect.ownKeys( target() ),\n\t\t\t\n\t\t\tgetPrototypeOf: ()=> Reflect.getPrototypeOf( target() ),\n\t\t\tsetPrototypeOf: ( _ , donor )=> Reflect.setPrototypeOf( target() , donor ),\n\t\t\t\n\t\t\tisExtensible: ()=> Reflect.isExtensible( target() ),\n\t\t\tpreventExtensions: ()=> Reflect.preventExtensions( target() ),\n\t\t\t\n\t\t\tapply: ( _ , self , args )=> Reflect.apply( target() as Function , self , args ),\n\t\t\tconstruct: ( _ , args , retarget )=> Reflect.construct( target() as Function , args , retarget ),\n\t\t\t\n\t\t\tdefineProperty: ( _ , field , descr )=> Reflect.defineProperty( target() , field , descr ),\n\t\t\tdeleteProperty: ( _ , field )=> Reflect.deleteProperty( target() , field ),\n\n\t\t} )\n\n\t\tinstances.add( proxy )\n\n\t\treturn proxy\n\n\t}\n\n\tReflect.defineProperty(\n\t\t$mol_delegate ,\n\t\tSymbol.hasInstance ,\n\t\t{\n\t\t\tvalue : ( obj : object )=> instances.has( obj ),\n\t\t},\n\t)\n\n}\n","namespace $ {\n\n\texport const $mol_owning_map = new WeakMap< any , any >()\n\n\texport function $mol_owning_allow< Having >(\n\t\thaving : Having ,\n\t) : having is Having & {\n\t\tdestructor() : void\n\t} {\n\t\ttry {\n\t\t\tif( !having ) return false\n\t\t\tif( typeof having !== 'object' ) return false\n\t\t\tif( having instanceof $mol_delegate ) return false\n\t\t\tif( typeof having['destructor'] !== 'function' ) return false\n\t\t\treturn true\n\t\t} catch {\n\t\t\treturn false\n\t\t}\n\t}\n\n\texport function $mol_owning_get< Having , Owner extends object >( having : Having , Owner? : { new() : Owner } ) : Owner | null {\n\t\n\t\tif( !$mol_owning_allow( having ) ) return null\n\n\t\twhile( true ) {\n\n\t\t\tconst owner = $mol_owning_map.get( having )\n\t\t\tif( !owner ) return owner\n\t\t\tif( !Owner ) return owner\n\t\t\t\n\t\t\tif( owner instanceof Owner ) return owner\n\n\t\t\thaving = owner\n\t\t}\n\n\t}\n\t\n\texport function $mol_owning_check< Owner , Having >(\n\t\towner : Owner ,\n\t\thaving : Having ,\n\t) : having is Having & { destructor() : void } {\n\t\tif( !$mol_owning_allow( having ) ) return false\n\t\tif( $mol_owning_map.get( having ) !== owner ) return false\n\t\treturn true\n\t}\n\t\n\texport function $mol_owning_catch< Owner , Having >(\n\t\towner : Owner ,\n\t\thaving : Having ,\n\t) {\n\t\tif( !$mol_owning_allow( having ) ) return false\n\t\tif( $mol_owning_map.get( having ) ) return false\n\n\t\t$mol_owning_map.set( having , owner )\n\t\treturn true\n\t}\n\n}\n","namespace $ {\n\n\texport function $mol_fail_hidden( error : any ) : never {\n\t\tthrow error /// Use 'Never Pause Here' breakpoint in DevTools or simply blackbox this script\n\t}\n\n}\n",null,"namespace $ {\n\n\texport class $mol_object2 {\n\t\t\n\t\tstatic $ = $ as $\n\t\t\n\t\t[ $mol_ambient_ref ] = null as any as $\n\t\tget $() {\n\t\t\tif( this[ $mol_ambient_ref ] ) return this[ $mol_ambient_ref ]\n\t\t\tconst owner = $mol_owning_get( this ) as any\n\t\t\treturn this[ $mol_ambient_ref ] = owner?.$ || $mol_object2.$ as $\n\t\t}\n\t\tset $( next : $ ) {\n\t\t\tif( this[ $mol_ambient_ref ] ) $mol_fail_hidden( new Error( 'Context already defined' ) )\n\t\t\tthis[ $mol_ambient_ref ] = next\n\t\t}\n\n\t\tpublic static create< Instance >(\n\t\t\tthis : new( init? : ( instance : any )=> void )=> Instance ,\n\t\t\tinit? : ( instance : $mol_type_writable<Instance> )=> void\n\t\t) : Instance {\n\t\t\tconst obj = new this\n\t\t\tif( init ) init( obj )\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\tstatic [ Symbol.toPrimitive ]() {\n\t\t\treturn this.toString()\n\t\t}\n\t\t\n\t\tstatic toString() {\n\t\t\tif( Symbol.toStringTag in this ) return this[ Symbol.toStringTag ]\n\t\t\treturn this.name\n\t\t}\n\t\t\n\t\tdestructor() { }\n\t\t\n\t\t//[ Symbol.toPrimitive ]( hint: string ) {\n\t\t//\treturn hint === 'number' ? this.valueOf() : this.toString()\n\t\t//}\n\t\t\n\t\ttoString() {\n\t\t\treturn this[ Symbol.toStringTag ] || this.constructor.name + '()'\n\t\t}\n\t\t\n\t\ttoJSON() {\n\t\t\treturn this.toString()\n\t\t}\n\n\t}\n}\n","namespace $ {\n\n\texport class $mol_after_timeout extends $mol_object2 {\n\n\t\tid : any\n\n\t\tconstructor(\n\t\t\tpublic delay : number ,\n\t\t\tpublic task : ()=> void ,\n\t\t) {\n\t\t\tsuper()\n\t\t\tthis.id = setTimeout( task , delay )\n\t\t}\n\n\t\tdestructor() {\n\t\t\tclearTimeout( this.id )\n\t\t}\n\n\t}\n\t\n}\n","namespace $ {\n\n\texport class $mol_after_frame extends $mol_after_timeout {\n\n\t\tconstructor(\n\t\t\tpublic task : ()=> void ,\n\t\t) {\n\t\t\tsuper( 16 , task )\n\t\t}\n\n\t}\n\t\n}\n","namespace $ {\n\t\n\tconst handled = new WeakSet< Promise< unknown > >()\n\t\n\t/**\n\t * Suspendable task with with support both sync/async api.\n\t * \n\t * \tA1 A2 A3 A4 P1 P2 P3 P4 S1 S2 S3\n\t * \t^ ^ ^\n\t * \targs_from pubs_from subs_from\n\t **/\n\texport abstract class $mol_wire_fiber<\n\t\tHost,\n\t\tArgs extends readonly unknown[],\n\t\tResult,\n\t> extends $mol_wire_pub_sub {\n\t\t\n\t\tstatic warm = true\n\t\t\n\t\tstatic planning = new Set< $mol_wire_fiber< any, any, any > >()\n\t\tstatic reaping = new Set< $mol_wire_fiber< any, any, any > >()\n\t\t\n\t\tstatic plan_task: $mol_after_frame | null = null\n\t\tstatic plan() {\n\t\t\t\n\t\t\tif( this.plan_task ) return\n\t\t\t\n\t\t\tthis.plan_task = new $mol_after_frame( ()=> {\n\t\t\t\t\n\t\t\t\ttry {\n\t\t\t\t\tthis.sync()\n\t\t\t\t} finally {\n\t\t\t\t\t$mol_wire_fiber.plan_task = null\n\t\t\t\t}\n\n\t\t\t} )\n\t\t\t\n\t\t}\n\t\t\n\t\tstatic sync() {\n\t\t\t\n\t\t\t// Sync whole fiber graph\n\t\t\twhile( this.planning.size ) {\n\t\t\t\t\n\t\t\t\tconst fibers = this.planning\n\t\t\t\tthis.planning = new Set\n\t\t\t\t\n\t\t\t\tfor( const fiber of fibers ) {\n\t\t\t\t\tfiber.refresh()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\t// Collect garbage\n\t\t\twhile( this.reaping.size ) {\n\t\t\t\t\n\t\t\t\tconst fibers = this.reaping\n\t\t\t\tthis.reaping = new Set\n\t\t\t\t\n\t\t\t\tfor( const fiber of fibers ) {\n\t\t\t\t\tif( !fiber.sub_empty ) continue\n\t\t\t\t\tfiber.destructor()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\tpublic cache: Result | Error | Promise< Result | Error > = undefined as any\n\t\t\n\t\tget args() {\n\t\t\treturn this.data.slice( 0 , this.pub_from ) as any as Args\n\t\t}\n\t\t\n\t\tresult() {\n\t\t\tif( this.cache instanceof Promise ) return\n\t\t\tif( this.cache instanceof Error ) return\n\t\t\treturn this.cache\n\t\t}\n\t\t\n\t\tfield() {\n\t\t\treturn this.task.name + '()'\n\t\t}\n\t\t\n\t\tconstructor(\n\t\t\tid: string,\n\t\t\treadonly task: ( this : Host , ... args : Args )=> Result,\n\t\t\treadonly host?: Host,\n\t\t\t... args: Args\n\t\t) {\n\t\t\t\n\t\t\tsuper()\n\t\t\tthis.data.push( ... args )\n\t\t\tthis.pub_from = this.sub_from = args.length\n\t\t\tthis[ Symbol.toStringTag ] = id\n\t\t\t\n\t\t}\n\t\t\n\t\tplan() {\n\t\t\t$mol_wire_fiber.planning.add( this )\n\t\t\t$mol_wire_fiber.plan()\n\t\t}\n\t\t\n\t\treap() {\n\t\t\t$mol_wire_fiber.reaping.add( this )\n\t\t\t$mol_wire_fiber.plan()\n\t\t}\n\t\t\n\t\ttoString() {\n\t\t\treturn this[ Symbol.toStringTag ]\n\t\t}\n\t\t\n\t\ttoJSON() {\n\t\t\treturn this[ Symbol.toStringTag ]\n\t\t}\n\n\t\t[ $mol_dev_format_head ]() {\n\t\t\t\n\t\t\tconst cursor = {\n\t\t\t\t[-1]: '🔴',\n\t\t\t\t[-2]: '🟡',\n\t\t\t\t[-3]: '🟢',\n\t\t\t\t[-4]: '🔵',\n\t\t\t}[ this.cursor ] ?? this.cursor.toString()\n\t\t\t\n\t\t\treturn $mol_dev_format_div( {},\n\t\t\t\t$mol_dev_format_native( this ),\n\t\t\t\t$mol_dev_format_shade( cursor + ' ' ),\n\t\t\t\t$mol_dev_format_auto( this.cache ),\n\t\t\t)\n\t\t\t\n\t\t}\n\t\t\n\t\tget $() {\n\t\t\treturn ( this.host ?? this.task )['$']\n\t\t}\n\t\t\n\t\temit( quant = $mol_wire_cursor.stale ) {\n\t\t\tif( this.sub_empty ) this.plan()\n\t\t\telse super.emit( quant )\n\t\t}\n\t\t\n\t\trefresh() {\n\n\t\t\ttype Result = typeof this.cache\n\t\t\t\n\t\t\tif( this.cursor === $mol_wire_cursor.fresh ) return\n\t\t\tif( this.cursor === $mol_wire_cursor.final ) return\n\t\t\t\n\t\t\tcheck: if( this.cursor === $mol_wire_cursor.doubt ) {\n\t\t\t\t\n\t\t\t\tfor( let i = this.pub_from ; i < this.sub_from; i += 2 ) {\n\t\t\t\t\t;( this.data[i] as $mol_wire_pub )?.refresh()\n\t\t\t\t\tif( this.cursor !== $mol_wire_cursor.doubt ) break check\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tthis.cursor = $mol_wire_cursor.fresh\n\t\t\t\treturn\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tconst bu = this.track_on()\n\t\t\tlet result: typeof this.cache\n\n\t\t\ttry {\n\n\t\t\t\tswitch( this.pub_from ) {\n\t\t\t\t\tcase 0: result = (this.task as any).call( this.host! ); break\n\t\t\t\t\tcase 1: result = (this.task as any).call( this.host!, this.data[0] ); break\n\t\t\t\t\tdefault: result = (this.task as any).call( this.host!, ... this.data.slice( 0 , this.pub_from ) ); break\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( result instanceof Promise ) {\n\t\t\t\t\t\n\t\t\t\t\tconst put = ( res: Result )=> {\n\t\t\t\t\t\tif( this.cache === result ) this.put( res )\n\t\t\t\t\t\treturn res\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tresult = Object.assign( result.then( put, put ), {\n\t\t\t\t\t\tdestructor: result['destructor']\n\t\t\t\t\t} )\n\t\t\t\t\t\n\t\t\t\t\thandled.add( result )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t} catch( error: any ) {\n\t\t\t\t\n\t\t\t\tif( error instanceof Error || error instanceof Promise ) {\n\t\t\t\t\tresult = error\n\t\t\t\t} else {\n\t\t\t\t\tresult = new Error( String( error ), { cause: error } )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( result instanceof Promise && !handled.has( result ) ) {\n\t\t\t\t\t\n\t\t\t\t\tresult = Object.assign( result.finally( ()=> {\n\t\t\t\t\t\tif( this.cache === result ) this.absorb()\n\t\t\t\t\t} ), {\n\t\t\t\t\t\tdestructor: result['destructor']\n\t\t\t\t\t} )\n\t\t\t\t\t\n\t\t\t\t\thandled.add( result )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tif(!( result instanceof Promise )) {\n\t\t\t\tthis.track_cut()\n\t\t\t}\n\t\t\t\n\t\t\tthis.track_off( bu )\n\t\t\tthis.put( result )\n\n\t\t}\n\t\t\n\t\tabstract put( next: Result | Error | Promise< Result | Error > ): Result | Error | Promise< Result | Error >\n\t\t\n\t\t/**\n\t\t * Synchronous execution. Throws Promise when waits async task (SuspenseAPI provider).\n\t\t * Should be called inside SuspenseAPI consumer (ie fiber).\n\t\t */\n\t\tsync() {\n\t\t\t\n\t\t\tif( !$mol_wire_fiber.warm ) {\n\t\t\t\treturn this.result() as Awaited< Result >\n\t\t\t}\n\t\t\t\n\t\t\tthis.promote()\n\t\t\tthis.refresh()\n\t\t\t\n\t\t\tif( this.cache instanceof Error ) {\n\t\t\t\treturn $mol_fail_hidden( this.cache )\n\t\t\t}\n\t\t\t\n\t\t\tif( this.cache instanceof Promise ) {\n\t\t\t\treturn $mol_fail_hidden( this.cache )\n\t\t\t}\n\t\t\t\n\t\t\treturn this.cache as Awaited< Result >\n\t\t}\n\n\t\t/**\n\t\t * Asynchronous execution.\n\t\t * It's SuspenseAPI consumer. So SuspenseAPI providers can be called inside.\n\t\t */\n\t\tasync async() {\n\t\t\t\n\t\t\twhile( true ) {\n\t\t\t\t\n\t\t\t\tthis.refresh()\n\t\t\t\t\n\t\t\t\tif( this.cache instanceof Error ) {\n\t\t\t\t\t$mol_fail_hidden( this.cache )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif(!( this.cache instanceof Promise )) return this.cache\n\t\t\t\t\t\n\t\t\t\tawait this.cache\n\t\t\t\t\t\n\t\t\t\tif( this.cursor === $mol_wire_cursor.final ) {\n\t\t\t\t\t// never ends on destructed fiber\n\t\t\t\t\tawait new Promise( ()=> {} )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\n\texport let $mol_compare_deep_cache = new WeakMap< any , WeakMap< any , boolean > >()\n\t\n\t/**\n\t * Deeply compares two values. Returns true if equal.\n\t * Define `Symbol.toPrimitive` to customize.\n\t */\n\texport function $mol_compare_deep< Value >( left: Value, right: Value ): boolean {\n\n\t\tif( Object.is( left , right ) ) return true\n\n\t\tif( left === null ) return false\n\t\tif( right === null ) return false\n\n\t\tif( typeof left !== 'object' ) return false\n\t\tif( typeof right !== 'object' ) return false\n\n\t\tconst left_proto = Reflect.getPrototypeOf( left as any )\n\t\tconst right_proto = Reflect.getPrototypeOf( right as any )\n\t\t\n\t\tif( left_proto !== right_proto ) return false\n\n\t\tif( left instanceof Boolean ) return Object.is( left.valueOf(), right['valueOf']() )\n\t\tif( left instanceof Number ) return Object.is( left.valueOf(), right['valueOf']() )\n\t\tif( left instanceof String ) return Object.is( left.valueOf(), right['valueOf']() )\n\t\tif( left instanceof Date ) return Object.is( left.valueOf(), right['valueOf']() )\n\t\tif( left instanceof RegExp ) return left.source === right['source'] && left.flags === right['flags']\n\n\t\tlet left_cache = $mol_compare_deep_cache.get( left )\n\t\tif( left_cache ) {\n\n\t\t\tconst right_cache = left_cache.get( right )\n\t\t\tif( typeof right_cache === 'boolean' ) return right_cache\n\n\t\t} else {\n\t\t\t\n\t\t\tleft_cache = new WeakMap< any , boolean >([[ right, true ]])\n\t\t\t$mol_compare_deep_cache.set( left , left_cache )\n\n\t\t}\n\n\t\tlet result!: boolean\n\n\t\ttry {\n\t\t\t\n\t\t\tif( left_proto && !Reflect.getPrototypeOf( left_proto ) ) result = compare_pojo( left, right as any )\n\t\t\telse if( Array.isArray( left ) ) result = compare_array( left, right as any )\n\t\t\telse if( left instanceof Set ) result = compare_set( left, right as any )\n\t\t\telse if( left instanceof Map ) result = compare_map( left, right as any )\n\t\t\telse if( left instanceof Error ) result = left.stack === ( right as any ).stack\n\t\t\telse if( ArrayBuffer.isView( left ) ) result = compare_buffer( left, right as any )\n\t\t\telse if( Symbol.toPrimitive in left ) result = compare_primitive( left, right )\n\t\t\telse result = false\n\n\t\t} finally {\n\t\t\tleft_cache.set( right , result )\n\t\t}\n\t\t\n\t\treturn result\n\t}\n\n\tfunction compare_array< Value extends any[] >( left: Value, right: Value ): boolean {\n\t\t\n\t\tconst len = left.length\n\t\tif( len !== right.length ) return false\n\t\t\n\t\tfor( let i = 0; i < len; ++i ) {\n\t\t\tif( !$mol_compare_deep( left[i] , right[i] ) ) return false\n\t\t}\n\t\t\n\t\treturn true\n\t}\n\t\n\tfunction compare_buffer( left: ArrayBufferView, right: ArrayBufferView ): boolean {\n\t\t\n\t\tconst len = left.byteLength\n\t\tif( len !== right.byteLength ) return false\n\t\t\n\t\tfor( let i = 0; i < len; ++i ) {\n\t\t\tif( left[i] !== right[i] ) return false\n\t\t}\n\t\t\n\t\treturn true\n\t}\n\t\n\tfunction compare_iterator< Value extends IterableIterator<any> >(\n\t\tleft: Value,\n\t\tright: Value,\n\t\tcompare: ( left: any, right: any )=> boolean\n\t): boolean {\n\t\t\n\t\twhile( true ) {\n\n\t\t\tconst left_next = left.next()\n\t\t\tconst right_next = right.next()\n\n\t\t\tif( left_next.done !== right_next.done ) return false\n\t\t\tif( left_next.done ) break\n\n\t\t\tif( !compare( left_next.value , right_next.value ) ) return false\n\n\t\t}\n\n\t\treturn true\n\n\t}\n\t\n\tfunction compare_set< Value extends Set<any> >( left: Value, right: Value ): boolean {\n\t\tif( left.size !== right.size ) return false\n\t\treturn compare_iterator( left.values(), right.values(), $mol_compare_deep )\n\t}\n\t\n\tfunction compare_map< Key, Value >( left: Map< Key, Value > , right: Map< Key, Value > ): boolean {\n\t\tif( left.size !== right.size ) return false\n\t\treturn compare_iterator( left.keys(), right.keys(), Object.is )\n\t\t\t&& compare_iterator( left.values(), right.values(), $mol_compare_deep )\n\t}\n\t\n\tfunction compare_pojo( left: {}, right: {} ): boolean {\n\t\t\n\t\tconst left_keys = Object.getOwnPropertyNames( left )\n\t\tconst right_keys = Object.getOwnPropertyNames( right )\n\t\t\n\t\tif( left_keys.length !== right_keys.length ) return false\n\n\t\tfor( let key of left_keys ) {\n\t\t\tif( !$mol_compare_deep( left[ key ], Reflect.get( right, key ) ) ) return false\n\t\t}\n\n\t\treturn true\n\t}\n\t\n\tfunction compare_primitive( left: {}, right: {} ): boolean {\n\t\treturn Object.is(\n\t\t\tleft[ Symbol.toPrimitive ]( 'default' ),\n\t\t\tright[ Symbol.toPrimitive ]( 'default' ),\n\t\t)\n\t}\n\t\n}\n","namespace $ {\n\t\n\texport class $mol_wire_task<\n\t\tHost,\n\t\tArgs extends readonly unknown[],\n\t\tResult,\n\t> extends $mol_wire_fiber< Host, Args, Result > {\n\t\t\n\t\tstatic getter<\n\t\t\tHost,\n\t\t\tArgs extends readonly unknown[],\n\t\t\tResult,\n\t\t>(\n\t\t\ttask: ( this : Host , ... args : Args )=> Result,\n\t\t): ( host: Host, args: Args )=> $mol_wire_task< Host, [ ... Args ], Result > {\n\t\t\t\n\t\t\treturn function $mol_wire_task_get( host: Host, args: Args ) {\n\t\t\t\t\n\t\t\t\tconst existen = $mol_wire_auto()?.track_next()\n\t\t\t\n\t\t\t\treuse: if( existen ) {\n\t\t\t\t\t\n\t\t\t\t\tif(!( existen instanceof $mol_wire_task )) break reuse\n\t\t\t\t\n\t\t\t\t\tif( existen.host !== host ) break reuse\n\t\t\t\t\tif( existen.task !== task ) break reuse\n\t\t\t\t\tif( !$mol_compare_deep( existen.args, args ) ) break reuse\n\t\t\t\t\t\n\t\t\t\t\treturn existen\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn new $mol_wire_task( `${ host?.[ Symbol.toStringTag ] ?? host }.${ task.name }(#)`, task, host, ... args )\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\tcomplete() {\n\t\t\tif( this.sub_empty ) this.destructor()\n\t\t}\n\t\t\n\t\tput( next: Result | Error | Promise< Result | Error > ) {\n\t\t\t\n\t\t\tconst prev = this.cache\n\t\t\tthis.cache = next\n\t\t\t\n\t\t\tif( next instanceof Promise ) {\n\t\t\t\t\n\t\t\t\tthis.cursor = $mol_wire_cursor.fresh\n\t\t\t\tif( next !== prev ) this.emit()\n\t\t\t\t\n\t\t\t\treturn next\n\t\t\t}\n\t\t\t\n\t\t\tthis.cursor = $mol_wire_cursor.final\n\t\t\t\n\t\t\tif( this.sub_empty ) this.destructor()\n\t\t\telse if( next !== prev ) this.emit()\n\t\t\t\n\t\t\treturn next\n\t\t}\n\t\t\n\t}\n\n}\n","namespace $ {\n\n\t/** Generates unique identifier. */\n\texport function $mol_guid(\n\t\tlength = 8,\n\t\texists: ( id: string )=> boolean = ()=> false,\n\t) {\n\n\t\tfor(;;) {\n\n\t\t\tlet id = Math.random().toString( 36 ).substring( 2, length + 2 ).toUpperCase()\n\t\t\tif( exists( id ) ) continue\n\t\t\t\n\t\t\treturn id\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\t\n\texport const $mol_key_store = new WeakMap< object, string >()\n\n\texport function $mol_key< Value >( value : Value ) : string {\n\t\t\n\t\tif( !value ) return JSON.stringify( value )\n\t\tif( typeof value !== 'object' && typeof value !== 'function' ) return JSON.stringify( value )\n\t\t\n\t\treturn JSON.stringify( value, ( field, value )=> {\n\t\t\t\n\t\t\tif( !value ) return value\n\t\t\tif( typeof value !== 'object' && typeof value !== 'function' ) return value\n\t\t\tif( Array.isArray( value ) ) return value\n\t\t\t\n\t\t\tconst proto = Reflect.getPrototypeOf( value )\n\t\t\tif( !proto ) return value\n\t\t\tif( Reflect.getPrototypeOf( proto ) === null ) return value\n\t\t\t\n\t\t\tif( 'toJSON' in value ) return value\n\t\t\tif( value instanceof RegExp ) return value.toString()\n\t\t\t\n\t\t\tlet key = $mol_key_store.get( value )\n\t\t\tif( key ) return key\n\t\t\t\n\t\t\tkey = $mol_guid()\n\t\t\t$mol_key_store.set( value, key )\n\t\t\t\n\t\t\treturn key\n\t\t} )\n\n\t}\n\t\n}\n","namespace $ {\n\t\n\texport function $mol_wire_method<\n\t\tHost extends object,\n\t\tArgs extends readonly any[],\n\t\tResult,\n\t>(\n\t\thost : Host,\n\t\tfield : PropertyKey,\n\t\tdescr? : TypedPropertyDescriptor< ( ... args: Args )=> Result >,\n\t) {\n\t\t\n\t\tif( !descr ) descr = Reflect.getOwnPropertyDescriptor( host , field )\n\t\tconst orig = descr?.value! ?? host[ field ]\n\t\t\n\t\tconst sup = Reflect.getPrototypeOf( host )!\t\n\t\tif( typeof sup[ field as any ] === 'function' ) {\n\t\t\tObject.defineProperty( orig , 'name' , { value : sup[ field as any ].name } )\n\t\t}\n\t\t\n\t\tconst temp = $mol_wire_task.getter( orig )\n\t\tconst value = function( this: Host, ... args: Args ) {\n\t\t\tconst fiber = temp( this ?? null as any, args )\n\t\t\treturn fiber.sync() as Result\n\t\t}\n\t\t\n\t\tObject.defineProperty( value , 'name' , { value : orig.name + ' ' } )\n\t\t\n\t\tObject.assign( value, { orig } )\n\t\tconst descr2 = { ... descr, value }\n\t\tReflect.defineProperty( host, field, descr2 )\n\t\t\n\t\treturn descr2\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\n\texport class $mol_wire_atom<\n\t\tHost,\n\t\tArgs extends readonly unknown[],\n\t\tResult,\n\t> extends $mol_wire_fiber< Host, Args, Result > {\n\n\t\tstatic getter<\n\t\t\tHost,\n\t\t\tArgs extends readonly unknown[],\n\t\t\tResult,\n\t\t>(\n\t\t\ttask: ( this : Host , ... args : Args )=> Result,\n\t\t\tkeys: number,\n\t\t): ( host: Host, args: Args )=> $mol_wire_atom< Host, [ ... Args ], Result > {\n\t\t\t\n\t\t\tconst field = task.name + '()'\n\t\t\t\n\t\t\tif( keys ) {\n\t\t\t\t\n\t\t\t\treturn function $mol_wire_atom_get( host: Host, args: Args ) {\n\t\t\t\t\t\n\t\t\t\t\tlet dict, key!: string, fiber\n\t\t\t\t\t\n\t\t\t\t\tkey = `${ host?.[ Symbol.toStringTag ] ?? host }.${ task.name }(${ args.map( v => $mol_key( v ) ).join(',') })`\n\t\t\t\t\tdict = Object.getOwnPropertyDescriptor( host ?? task, field )?.value\n\t\t\t\t\t\n\t\t\t\t\tif( dict ) {\n\t\t\t\t\t\tconst existen = dict.get( key )\n\t\t\t\t\t\tif( existen ) return existen\n\t\t\t\t\t} else {\n\t\t\t\t\t\tdict = ( host ?? task )[ field ] = new Map<any,any>()\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tfiber = new $mol_wire_atom( key, task, host, ... args )\n\t\t\t\t\tdict.set( key, fiber )\n\t\t\t\t\t\n\t\t\t\t\treturn fiber\n\t\t\t\t}\n\t\t\t\t\n\t\t\t} else {\n\t\t\t\t\n\t\t\t\treturn function $mol_wire_atom_get( host: Host, args: Args ) {\n\t\t\t\t\t\n\t\t\t\t\tconst existen = Object.getOwnPropertyDescriptor( host ?? task, field )?.value\n\t\t\t\t\tif( existen ) return existen\n\t\t\t\t\t\n\t\t\t\t\tconst key = `${ host?.[ Symbol.toStringTag ] ?? host }.${ field }`\n\t\t\t\t\t\n\t\t\t\t\tconst fiber = new $mol_wire_atom( key, task, host, ... args )\n\t\t\t\t\t;( host ?? task )[ field ] = fiber\n\t\t\t\t\t\n\t\t\t\t\treturn fiber\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\t/**\n\t\t * Update fiber value through another temp fiber.\n\t\t */\n\t\t@ $mol_wire_method\n\t\trecall( ... args: Args ) {\n\t\t\t\n\t\t\tif( this.cursor > $mol_wire_cursor.fresh ) {\n\t\t\t\ttry {\n\t\t\t\t\tthis.once()\n\t\t\t\t} catch( error: unknown ) {\n\t\t\t\t\tif( error instanceof Promise ) $mol_fail_hidden( error )\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\treturn this.put( this.task.call( this.host!, ... args ) )\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_wire_method\n\t\tonce() {\n\t\t\treturn this.sync()\n\t\t}\n\t\t\n\t\tdestructor() {\n\t\t\t\n\t\t\tsuper.destructor()\n\t\t\t\n\t\t\tconst prev = this.cache\n\t\t\tif( $mol_owning_check( this, prev ) ) {\n\t\t\t\tprev.destructor()\n\t\t\t}\n\t\t\t\n\t\t\tif( this.pub_from === 0 ) {\n\t\t\t\t;( this.host ?? this.task )[ this.field() ] = null\n\t\t\t} else {\n\t\t\t\t;( this.host ?? this.task )[ this.field() ].delete( this[ Symbol.toStringTag ] )\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\tput( next: Result | Error | Promise< Result | Error > ) {\n\t\t\t\n\t\t\tconst prev = this.cache\n\t\t\t\n\t\t\tif( next !== prev ) {\n\t\t\t\t\n\t\t\t\tif( $mol_owning_check( this, prev ) ) {\n\t\t\t\t\tprev.destructor()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tthis.cache = next\n\t\t\t\t\n\t\t\t\tif( $mol_owning_catch( this, next ) ) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tnext[ Symbol.toStringTag ] = this[ Symbol.toStringTag ]\n\t\t\t\t\t} catch {} // Promises throws in strict mode\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( this.sub_from < this.data.length ) {\n\t\t\t\t\tif( !$mol_compare_deep( prev, next ) ) {\n\t\t\t\t\t\tthis.emit()\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tthis.cursor = $mol_wire_cursor.fresh\n\t\t\t\n\t\t\tif( next instanceof Promise ) return next\n\t\t\t\n\t\t\tthis.complete_pubs()\n\t\t\t\n\t\t\treturn next\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\texport function $mol_wire_probe< Value >(\n\t\ttask : ()=> Value, next?: Value\n\t) : Value | undefined {\n\t\t\n\t\tconst warm = $mol_wire_fiber.warm\n\t\t\n\t\ttry {\n\t\t\t$mol_wire_fiber.warm = false\n\t\t\treturn task()\n\t\t} finally {\n\t\t\t$mol_wire_fiber.warm = warm\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\t/**\n\t * Disable reaping of current subscriber\n\t */\n\texport function $mol_wire_solid() {\n\t\t$mol_wire_auto()!.reap = nothing\n\t}\n\t\n\tconst nothing = ()=> {}\n\t\n}\n","namespace $ {\n\t\n\texport function $mol_wire_sync< Host extends object >( obj: Host ) {\n\t\treturn new Proxy( obj, {\n\t\t\t\n\t\t\tget( obj, field ) {\n\t\t\t\t\n\t\t\t\tconst val = obj[ field ]\n\t\t\t\tif( typeof val !== 'function' ) return val\n\t\t\t\t\n\t\t\t\tconst temp = $mol_wire_task.getter( val )\n\t\t\t\treturn function $mol_wire_sync( this: Host, ... args: any[] ) {\n\t\t\t\t\tconst fiber = temp( obj, args )\n\t\t\t\t\treturn fiber.sync()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t} ) as any as {\n\t\t\t[ key in keyof Host ]: Host[ key ] extends ( ... args: infer Args )=> Promise< infer Res >\n\t\t\t\t? ( ... args: Args )=> Res\n\t\t\t\t: Host[ key ]\n\t\t}\n\t}\n\n}\n","namespace $ {\n\t\n\texport function $mol_wire_async< Host extends object >( obj: Host ) {\n\t\treturn new Proxy( obj, {\n\t\t\t\n\t\t\tget( obj, field ) {\n\t\t\t\t\n\t\t\t\tconst val = obj[ field ]\n\t\t\t\tif( typeof val !== 'function' ) return val\n\t\t\t\t\n\t\t\t\tlet fiber: $mol_wire_fiber< any, any, any >\n\t\t\t\tconst temp = $mol_wire_task.getter( val ) \n\t\t\t\t\n\t\t\t\treturn function $mol_wire_async( this: Host, ... args: any[] ) {\n\t\t\t\t\t\n\t\t\t\t\tfiber?.destructor()\n\t\t\t\t\t\n\t\t\t\t\tfiber = temp( obj, args )\n\t\t\t\t\treturn fiber.async()\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t} ) as any as {\n\t\t\t[ key in keyof Host ]: Host[ key ] extends ( ... args: infer Args )=> infer Res\n\t\t\t\t? Res extends Promise<any>\n\t\t\t\t\t? Host[ key ]\n\t\t\t\t\t: ( ... args: Args )=> Promise< Res >\n\t\t\t\t: Host[ key ]\n\t\t}\n\t}\n\t\n}\n","namespace $ {\n\t\n\texport function $mol_wire_mem< Keys extends number >( keys: Keys ) {\n\t\t\n\t\tconst wrap = $mol_wire_mem_func( keys )\n\t\n\t\treturn <\n\t\t\tHost extends object ,\n\t\t\tField extends keyof Host ,\n\t\t\tProp extends Extract< Host[ Field ] , ( ... args: any[] )=> any >,\n\t\t>(\n\t\t\thost : Host ,\n\t\t\tfield : Field ,\n\t\t\tdescr? : TypedPropertyDescriptor< Prop >\n\t\t)=> {\n\n\t\t\tif( !descr ) descr = Reflect.getOwnPropertyDescriptor( host , field )\n\t\t\tconst orig = descr?.value! ?? host[ field ]\n\t\t\t\n\t\t\tconst sup = Reflect.getPrototypeOf( host )!\n\t\t\tif( typeof sup[ field as any ] === 'function' ) {\n\t\t\t\tObject.defineProperty( orig , 'name' , { value : sup[ field as any ].name } )\n\t\t\t}\n\t\t\t\n\t\t\tconst descr2 = {\n\t\t\t\t... descr,\n\t\t\t\tvalue: wrap( orig )\n\t\t\t}\n\t\t\t\n\t\t\tReflect.defineProperty( host, field, descr2 )\n\t\t\t\n\t\t\treturn descr2\n\n\t\t}\n\t\t\n\t}\n\t\n\texport function $mol_wire_mem_func< Keys extends number >( keys: Keys ) {\n\t\t\n\t\treturn <\n\t\t\tResult,\n\t\t\tHost,\n\t\t\tArgs extends unknown[],\n\t\t\tFunc extends ( this: Host, ... args: Args )=> Result\n\t\t>( func: Func )=> {\n\t\t\t\n\t\t\tconst persist = $mol_wire_atom.getter( func, keys )\n\t\t\t\n\t\t\tconst wrapper = function( this: Host, ... args: Parameters< Func > ){\n\t\t\t\t\n\t\t\t\tlet atom = persist( this, args.slice( 0, keys ) as Args )\n\t\t\t\t\n\t\t\t\tif( args.length <= keys || args[ keys ] === undefined ) {\n\t\t\t\t\t\n\t\t\t\t\tif( !$mol_wire_fiber.warm ) return atom.sync()\n\t\t\t\t\t\n\t\t\t\t\tif( $mol_wire_auto() instanceof $mol_wire_task ) {\n\t\t\t\t\t\treturn atom.once()\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn atom.sync()\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn atom.recall( ... args as any )\n\n\t\t\t}\n\t\t\t\n\t\t\tObject.defineProperty( wrapper , 'name' , { value : func.name + ' ' } )\n\t\t\tObject.assign( wrapper, { orig: func } )\n\t\t\t\n\t\t\treturn wrapper as unknown as Func\n\t\t}\n\t\t\n\t}\n\n}\n","namespace $ { \n\texport function $mol_const< Value >( value : Value ) {\n\t\tvar getter = <{ () : Value , '()' : Value }> ( () => value )\n\t\tgetter['()'] = value\n\t\tgetter[ Symbol.toStringTag ] = value\n\t\treturn getter\n\t}\n}\n","namespace $ {\n\t\n\texport function $mol_wire_field<\n\t\tHost extends object ,\n\t\tField extends keyof Host ,\n\t\tValue extends Host[ Field ],\n\t>(\n\t\thost : Host ,\n\t\tfield : Field ,\n\t\tdescr? : TypedPropertyDescriptor< Value >\n\t): any {\n\n\t\tif( !descr ) descr = Reflect.getOwnPropertyDescriptor( host , field )\n\t\t\n\t\tconst _get = descr?.get || $mol_const( descr?.value )\n\t\tconst persist = $mol_wire_atom.getter( _get, 0 )\n\t\t\n\t\tconst _set = descr?.set || function( this : Host , next ) {\n\t\t\tpersist( this, [] ).put( next )\n\t\t}\n\n\t\tconst sup = Reflect.getPrototypeOf( host )!\n\t\tconst sup_descr = Reflect.getOwnPropertyDescriptor( sup, field )\n\t\t\n\t\tObject.defineProperty( _get , 'name' , { value : sup_descr?.get?.name ?? field } )\n\t\tObject.defineProperty( _set , 'name' , { value : sup_descr?.set?.name ?? field } )\n\t\t\n\t\tfunction get( this: Host ) {\n\t\t\treturn persist( this, [] ).sync()\n\t\t}\n\t\t\n\t\tconst temp = $mol_wire_task.getter( _set )\n\t\tfunction set( this: Host, next: Value ) {\n\t\t\ttemp( this, [ next ] ).sync()\n\t\t}\n\t\t\n\t\tObject.defineProperty( get , 'name' , { value : _get.name + '$' } )\n\t\tObject.defineProperty( set , 'name' , { value : _set.name + '@' } )\n\t\t\n\t\tObject.assign( get, { orig: _get } )\n\t\tObject.assign( set, { orig: _set } )\n\t\t\n\t\tconst { value, writable, ... descr2 } = { ... descr, get, set }\n\t\tReflect.defineProperty( host, field, descr2 )\n\t\t\n\t\treturn descr2\n\t}\n\n}\n","namespace $ {\n\texport class $mol_wire_set< Value > extends Set< Value > {\n\n\t\tpub = new $mol_wire_pub\n\t\t\n\t\t// Accessors\n\t\t\n\t\thas( value: Value ) {\n\t\t\tthis.pub.promote()\n\t\t\treturn super.has( value )\n\t\t}\n\t\t\n\t\tentries() {\n\t\t\tthis.pub.promote()\n\t\t\treturn super.entries()\n\t\t}\n\t\t\n\t\tkeys() {\n\t\t\tthis.pub.promote()\n\t\t\treturn super.keys()\n\t\t}\n\t\t\n\t\tvalues() {\n\t\t\tthis.pub.promote()\n\t\t\treturn super.values()\n\t\t}\n\t\t\n\t\tforEach(\n\t\t\ttask: ( value: Value, value2: Value, set: Set< Value > ) => void,\n\t\t\tself?: any\n\t\t) {\n\t\t\tthis.pub.promote()\n\t\t\tsuper.forEach( task, self )\n\t\t}\n\t\t\n\t\t[Symbol.iterator]() {\n\t\t\tthis.pub.promote()\n\t\t\treturn super[Symbol.iterator]()\n\t\t}\n\t\t\n\t\tget size() {\n\t\t\tthis.pub.promote()\n\t\t\treturn super.size\t\n\t\t}\n\n\t\t// Mutators\n\n\t\tadd( value: Value ) {\n\t\t\tif( super.has( value ) ) return this\n\t\t\tsuper.add( value )\n\t\t\tthis.pub.emit()\n\t\t\treturn this\n\t\t}\n\n\t\tdelete( value: Value ) {\n\t\t\tconst res = super.delete( value )\n\t\t\tif( res ) this.pub.emit()\n\t\t\treturn res\n\t\t}\n\t\t\n\t\tclear() {\n\t\t\tif( !super.size ) return\n\t\t\tsuper.clear()\n\t\t\tthis.pub.emit()\n\t\t}\n\n\t\t// Extensions\n\t\t\n\t\titem( val: Value, next?: boolean ) {\n\t\t\t\n\t\t\tif( next === undefined ) return this.has( val )\n\t\t\t\n\t\t\tif( next ) this.add( val )\n\t\t\telse this.delete( val )\n\t\t\t\n\t\t\treturn next\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\texport class $mol_wire_dict< Key, Value > extends Map< Key, Value > {\n\n\t\tpub = new $mol_wire_pub\n\t\t\n\t\t// Accessors\n\t\t\n\t\thas( key: Key ) {\n\t\t\tthis.pub.promote()\n\t\t\treturn super.has( key )\n\t\t}\n\t\t\n\t\tget( key: Key ) {\n\t\t\tthis.pub.promote()\n\t\t\treturn super.get( key )\n\t\t}\n\t\t\n\t\tentries() {\n\t\t\tthis.pub.promote()\n\t\t\treturn super.entries()\n\t\t}\n\t\t\n\t\tkeys() {\n\t\t\tthis.pub.promote()\n\t\t\treturn super.keys()\n\t\t}\n\t\t\n\t\tvalues() {\n\t\t\tthis.pub.promote()\n\t\t\treturn super.values()\n\t\t}\n\t\t\n\t\tforEach(\n\t\t\ttask: ( value: Value, key: Key, dict: Map< Key, Value > ) => void,\n\t\t\tself?: any\n\t\t) {\n\t\t\tthis.pub.promote()\n\t\t\tsuper.forEach( task, self )\n\t\t}\n\t\t\n\t\t[Symbol.iterator]() {\n\t\t\tthis.pub.promote()\n\t\t\treturn super[Symbol.iterator]()\n\t\t}\n\t\t\n\t\tget size() {\n\t\t\tthis.pub.promote()\n\t\t\treturn super.size\t\n\t\t}\n\n\t\t// Mutators\n\n\t\tset( key: Key, value: Value ) {\n\t\t\tif( super.get( key ) === value ) return this\n\t\t\tsuper.set( key, value )\n\t\t\tthis.pub.emit()\n\t\t\treturn this\n\t\t}\n\n\t\tdelete( key: Key ) {\n\t\t\tconst res = super.delete( key )\n\t\t\tif( res ) this.pub.emit()\n\t\t\treturn res\n\t\t}\n\t\t\n\t\tclear() {\n\t\t\tif( !super.size ) return\n\t\t\tsuper.clear()\n\t\t\tthis.pub.emit()\n\t\t}\n\t\t\n\t\t// Extensions\n\t\t\n\t\titem( key: Key, next?: Value | null ) {\n\t\t\t\n\t\t\tif( next === undefined ) return this.get( key ) ?? null\n\t\t\t\n\t\t\tif( next === null ) this.delete( key )\n\t\t\telse this.set( key, next )\n\t\t\t\n\t\t\treturn next\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\n\texport function $mol_promise< Result = void >() {\n\t\t\n\t\tlet done!: ( res: Result | PromiseLike< Result > )=> void\n\t\tlet fail!: ( error?: any ) => void\n\t\t\n\t\tconst promise = new Promise( ( d, f ) => {\n\t\t\tdone = d\n\t\t\tfail = f\n\t\t} )\n\t\t\n\t\treturn Object.assign( promise, {\n\t\t\tdone,\n\t\t\tfail,\n\t\t} )\n\t\t\n\t}\n\n}\n","namespace $ {\n\t\n\texport function $mol_wait_timeout_async( this: $, timeout: number ) {\n\t\tconst promise = $mol_promise()\n\t\tconst task = new this.$mol_after_timeout( timeout , ()=> promise.done() )\n\t\treturn Object.assign( promise, {\n\t\t\tdestructor: ()=> task.destructor()\n\t\t} )\n\t}\n\t\n\texport function $mol_wait_timeout( this: $, timeout: number ) {\n\t\treturn this.$mol_wire_sync( this ).$mol_wait_timeout_async( timeout )\n\t}\n\t\n}\n","namespace $ {\n\texport let $mol_mem = $mol_wire_mem(0)\n\texport let $mol_mem_key = $mol_wire_mem(1)\n\texport let $mol_mem_key2 = $mol_wire_mem(2)\n\texport let $mol_mem_key3 = $mol_wire_mem(3)\n}\n","namespace $ {\n\n\t/** Logger event data */\n\texport type $mol_log3_event< Fields > = {\n\t\t[ key in string ] : unknown\n\t} & {\n\t\t\n\t\t/** Time of event creation */\n\t\ttime? : string\n\n\t\t/** Place of event creation */\n\t\tplace : unknown\n\n\t\t/** Short description of event */\n\t\tmessage : string\n\n\t} & Fields\n\n\t/** Logger function */\n\texport type $mol_log3_logger< Fields , Res = void > = (\n\t\tthis : $ ,\n\t\tevent : $mol_log3_event< Fields > ,\n\t)=> Res\n\n\t/** Log begin of some task */\n\texport declare let $mol_log3_come : $mol_log3_logger<{}>\n\t\n\t/** Log end of some task */\n\texport declare let $mol_log3_done : $mol_log3_logger<{}>\n\t\n\t/** Log error */\n\texport declare let $mol_log3_fail : $mol_log3_logger<{}>\n\t\n\t/** Log warning message */\n\texport declare let $mol_log3_warn : $mol_log3_logger<{ hint : string }>\n\t\n\t/** Log some generic event */\n\texport declare let $mol_log3_rise : $mol_log3_logger<{}>\n\n\t/** Log begin of log group, returns func to close group */\n\texport declare let $mol_log3_area : $mol_log3_logger< {} , ()=> void >\n\n\t/** Log begin of collapsed group only when some logged inside, returns func to close group */\n\texport function $mol_log3_area_lazy(\n\t\tthis : $ ,\n\t\tevent : $mol_log3_event<{}> ,\n\t) {\n\n\t\tconst self = this\n\t\tconst stack = self.$mol_log3_stack\n\n\t\tconst deep = stack.length\n\t\tlet logged = false\n\n\t\tstack.push( ()=> {\n\t\t\tlogged = true\n\t\t\tself.$mol_log3_area.call( self , event )\n\t\t} )\n\n\t\treturn ()=> {\n\t\t\tif( logged ) self.console.groupEnd()\n\t\t\tif( stack.length > deep ) stack.length = deep\n\t\t}\n\n\t}\n\n\texport let $mol_log3_stack = [] as ( ()=> void )[]\n\n}\n",null,"interface $node {\n\t[key:string]: any\n}\n\nvar $node = new Proxy( { require } as any , {\n\t\n\tget( target , name : string , wrapper ) {\n\n\t\tif( target[ name ] ) return target[ name ]\n\n\t\tconst mod = target.require( 'module' ) as typeof import( 'module' )\n\t\t\n\t\tif( mod.builtinModules.indexOf( name ) >= 0 ) return target.require( name )\n\t\t\n\t\tconst path = target.require( 'path' ) as typeof import( 'path' )\n\t\tconst fs = target.require( 'fs' ) as typeof import( 'fs' )\n\n\t\tlet dir = path.resolve( '.' )\n\t\tconst suffix = `./node_modules/${ name }`\n\n\t\tconst $$ = ( $ as any )\n\t\t\n\t\twhile( !fs.existsSync( path.join( dir , suffix ) ) ) {\n\n\t\t\tconst parent = path.resolve( dir , '..' )\n\n\t\t\tif( parent === dir ) {\n\n\t\t\t\t$$.$mol_exec( '.' , 'npm' , 'install' , name )\n\t\t\t\t\n\t\t\t\ttry {\n\t\t\t\t\t$$.$mol_exec( '.' , 'npm' , 'install' , '@types/' + name )\n\t\t\t\t} catch {}\n\n\t\t\t\tbreak\n\n\t\t\t} else {\n\n\t\t\t\tdir = parent\n\n\t\t\t}\n\n\t\t}\n\t\t\n\t\treturn target.require( name )\n\n\t},\n\n\tset( target , name : string , value ) {\n\t\ttarget[ name ] = value\n\t\treturn true\n\t},\n\n} ) as $node\n\nrequire = ( req =>\n\tObject.assign( function require( name : string ) {\n\t\treturn $node[ name ]\n\t} , req )\n)( require )\n\n","namespace $ {\n\t\n\texport function $mol_deprecated( message : string ) {\n\t\treturn <\n\t\t\tMethod extends ( this : Host , ... args : readonly any[] )=> any ,\n\t\t\tHost extends {\n\t\t\t\t[key in Field] : Method\n\t\t\t},\n\t\t\tField extends keyof Host ,\n\t\t>(\n\t\t\thost : Host ,\n\t\t\tfield : Field ,\n\t\t\tdescr : TypedPropertyDescriptor< Method >\n\t\t)=> {\n\n\t\t\tconst value = descr.value!\n\t\t\tlet warned = false\n\t\t\t\n\t\t\tdescr.value = function $mol_deprecated_wrapper( this : Host , ... args : Parameters< Method > ) : ReturnType< Method > {\n\n\t\t\t\tif( !warned ) {\n\t\t\t\t\t$$.$mol_log3_warn({\n\t\t\t\t\t\tplace: `${ host.constructor.name }::${ field }`,\n\t\t\t\t\t\tmessage: `Deprecated` ,\n\t\t\t\t\t\thint: message ,\n\t\t\t\t\t})\n\t\t\t\t\twarned = true\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn value.call( this , ... args )\n\t\t\t\n\t\t\t} as any\n\n\t\t}\n\t}\n\t\n}\n","namespace $ {\n\n\texport const $mol_tree_convert : unique symbol = Symbol( '$mol_tree_convert' )\n\texport type $mol_tree_path = Array< string | number | null >\n\n\texport type $mol_tree_hack = ( input : $mol_tree , context : $mol_tree_context )=> readonly $mol_tree[]\n\texport type $mol_tree_context = Record< string , $mol_tree_hack >\n\texport type $mol_tree_library = Record< string , $mol_tree_context >\n\t\n\t/**\n\t * Abstract Syntax Tree with human readable serialization.\n\t * @see https://github.com/nin-jin/tree.d\n\t */\n\texport class $mol_tree extends $mol_object2 {\n\t\t\n\t\treadonly type : string\n\t\treadonly data : string\n\t\treadonly sub : readonly $mol_tree[]\n\t\treadonly baseUri : string\n\t\treadonly row : number\n\t\treadonly col : number\n\t\treadonly length : number\n\t\t\n\t\tconstructor( config : Partial<$mol_tree> = {} ) {\n\n\t\t\tsuper()\n\n\t\t\tthis.type = config.type || ''\n\t\t\t\n\t\t\tif( config.value !== undefined ) {\n\n\t\t\t\tvar sub = $mol_tree.values( config.value )\n\t\t\t\t\n\t\t\t\tif( config.type || sub.length > 1 ) {\n\n\t\t\t\t\tthis.sub = [ ... sub , ...( config.sub || [] ) ]\n\t\t\t\t\tthis.data = config.data || ''\n\n\t\t\t\t} else {\n\n\t\t\t\t\tthis.data = sub[ 0 ].data\n\t\t\t\t\tthis.sub = config.sub || []\n\n\t\t\t\t}\n\n\t\t\t} else {\n\t\t\t\t\n\t\t\t\tthis.data = config.data || ''\n\t\t\t\tthis.sub = config.sub || []\n\n\t\t\t}\n\t\t\t\n\t\t\tthis.baseUri = config.baseUri || ''\n\t\t\tthis.row = config.row || 0\n\t\t\tthis.col = config.col || 0\n\t\t\tthis.length = config.length || 0\n\n\t\t}\n\t\t\n\t\tstatic values( str : string , baseUri? : string ) {\n\n\t\t\treturn str.split( '\\n' ).map( ( data , index ) => new $mol_tree( {\n\t\t\t\tdata : data ,\n\t\t\t\tbaseUri : baseUri ,\n\t\t\t\trow : index + 1 ,\n\t\t\t\tlength : data.length ,\n\t\t\t} ) )\n\n\t\t}\n\t\t\n\t\t/** Cloning node with overrides. */\n\t\tclone( config : Partial<$mol_tree> = {} ) {\n\n\t\t\treturn new $mol_tree({\n\t\t\t\ttype : ( 'type' in config ) ? config.type : this.type ,\n\t\t\t\tdata : ( 'data' in config ) ? config.data : this.data ,\n\t\t\t\tsub : ( 'sub' in config ) ? config.sub : this.sub ,\n\t\t\t\tbaseUri : ( 'baseUri' in config ) ? config.baseUri : this.baseUri ,\n\t\t\t\trow : ( 'row' in config ) ? config.row : this.row ,\n\t\t\t\tcol : ( 'col' in config ) ? config.col : this.col ,\n\t\t\t\tlength : ( 'length' in config ) ? config.length : this.length ,\n\t\t\t\tvalue : config.value\n\t\t\t})\n\n\t\t}\n\t\t\n\t\t/** Makes new derived node. */\n\t\tmake( config : Partial<$mol_tree> ) {\n\n\t\t\treturn new $mol_tree({\n\t\t\t\tbaseUri : this.baseUri ,\n\t\t\t\trow : this.row ,\n\t\t\t\tcol : this.col ,\n\t\t\t\tlength : this.length ,\n\t\t\t\t... config ,\n\t\t\t})\n\n\t\t}\n\t\t\n\t\t/** Makes new derived data node. */\n\t\tmake_data( value : string , sub? : readonly $mol_tree[] ) {\n\t\t\treturn this.make({ value , sub })\n\t\t}\n\t\t\n\t\t/** Makes new derived structural node. */\n\t\tmake_struct( type : string , sub? : readonly $mol_tree[] ) {\n\t\t\treturn this.make({ type , sub })\n\t\t}\n\t\t\n\t\t/** Parses tree format to AST. */\n\t\tstatic fromString( str : string , baseUri? : string ) {\n\t\t\t\n\t\t\tvar root = new $mol_tree( { baseUri : baseUri } )\n\t\t\tvar stack = [ root ]\n\t\t\t\n\t\t\tvar row = 0\n\t\t\tvar prefix = str.replace( /^\\n?(\\t*)[\\s\\S]*/ , '$1' )\n\t\t\tvar lines = str.replace( new RegExp( '^\\\\t{0,' + prefix.length + '}' , 'mg' ) , '' ).split( '\\n' )\n\n\t\t\tlines.forEach( line => {\n\n\t\t\t\t++row\n\t\t\t\t\n\t\t\t\tvar chunks = /^(\\t*)((?:[^\\n\\t\\\\ ]+ *)*)(\\\\[^\\n]*)?(.*?)(?:$|\\n)/m.exec( line )\n\t\t\t\tif( !chunks || chunks[4] ) return this.$.$mol_fail( new Error( `Syntax error at ${baseUri}:${row}\\n${line}` ) )\n\t\t\t\t\n\t\t\t\tvar indent = chunks[ 1 ]\n\t\t\t\tvar path = chunks[ 2 ]\n\t\t\t\tvar data = chunks[ 3 ]\n\t\t\t\t\n\t\t\t\tvar deep = indent.length\n\t\t\t\tvar types = path ? path.replace( / $/ , '' ).split( / +/ ) : []\n\t\t\t\t\n\t\t\t\tif( stack.length <= deep ) return this.$.$mol_fail( new Error( `Too many tabs at ${baseUri}:${row}\\n${line}` ) )\n\t\t\t\t\n\t\t\t\tstack.length = deep + 1\n\t\t\t\tvar parent = stack[ deep ];\n\t\t\t\t\n\t\t\t\tlet col = deep\n\t\t\t\ttypes.forEach( type => {\n\t\t\t\t\tif( !type ) return this.$.$mol_fail( new Error( `Unexpected space symbol ${baseUri}:${row}\\n${line}` ) )\n\t\t\t\t\tvar next = new $mol_tree({ type , baseUri , row , col , length : type.length })\n\t\t\t\t\tconst parent_sub = parent.sub as $mol_tree[]\n\t\t\t\t\tparent_sub.push( next )\t\n\t\t\t\t\tparent = next\n\t\t\t\t\tcol += type.length + 1\n\t\t\t\t} )\n\t\t\t\t\n\t\t\t\tif( data ) {\n\t\t\t\t\tvar next = new $mol_tree({ data : data.substring( 1 ) , baseUri , row , col , length : data.length })\n\t\t\t\t\tconst parent_sub = parent.sub as $mol_tree[]\n\t\t\t\t\tparent_sub.push( next )\n\t\t\t\t\tparent = next\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tstack.push( parent )\n\t\t\t\t\n\t\t\t} )\n\t\t\t\n\t\t\treturn root\n\t\t}\n\t\t\n\t\t/**\n\t\t * Parses json.tree lang to AST.\n\t\t * @todo Move to $mol_tree_json_from\n\t\t */\n\t\tstatic fromJSON( json : any , baseUri = '' ) : $mol_tree {\n\n\t\t\tswitch( true ) {\n\n\t\t\t\tcase typeof json === 'boolean' :\n\t\t\t\tcase typeof json === 'number' :\n\t\t\t\tcase json === null :\n\n\t\t\t\t\treturn new $mol_tree({\n\t\t\t\t\t\ttype : String( json ) ,\n\t\t\t\t\t\tbaseUri : baseUri\n\t\t\t\t\t})\n\t\t\t\t\n\t\t\t\tcase typeof json === 'string' :\n\n\t\t\t\t\treturn new $mol_tree({\n\t\t\t\t\t\tvalue : json ,\n\t\t\t\t\t\tbaseUri : baseUri\n\t\t\t\t\t})\n\n\t\t\t\tcase Array.isArray( json ) :\n\n\t\t\t\t\treturn new $mol_tree({\n\t\t\t\t\t\ttype : \"/\" ,\n\t\t\t\t\t\tsub : ( json as any[] ).map( json => $mol_tree.fromJSON( json , baseUri ) )\n\t\t\t\t\t})\n\n\t\t\t\tcase json instanceof Date :\n\n\t\t\t\t\treturn new $mol_tree({\n\t\t\t\t\t\tvalue : json.toISOString() ,\n\t\t\t\t\t\tbaseUri : baseUri\n\t\t\t\t\t})\n\t\t\t\t\n\t\t\t\tdefault :\n\n\t\t\t\t\tif( typeof json[ $mol_tree_convert ] === 'function' ) {\n\t\t\t\t\t\treturn json[ $mol_tree_convert ]()\n\t\t\t\t\t}\n\n\t\t\t\t\tif( typeof json.toJSON === 'function' ) {\n\t\t\t\t\t\treturn $mol_tree.fromJSON( json.toJSON() )\n\t\t\t\t\t}\n\n\t\t\t\t\tif( json instanceof Error ) {\n\t\t\t\t\t\tconst { name , message , stack } = json\n\t\t\t\t\t\tjson = { ... json , name , message , stack }\n\t\t\t\t\t}\n\n\t\t\t\t\tvar sub : $mol_tree[] = []\n\t\t\t\t\t\n\t\t\t\t\tfor( var key in json ) {\n\n\t\t\t\t\t\tif( json[ key ] === undefined ) continue\n\n\t\t\t\t\t\tconst subsub = $mol_tree.fromJSON( json[ key ] , baseUri )\n\t\t\t\t\t\t\n\t\t\t\t\t\tif( /^[^\\n\\t\\\\ ]+$/.test( key ) ) {\n\n\t\t\t\t\t\t\tvar child = new $mol_tree({\n\t\t\t\t\t\t\t\ttype : key ,\n\t\t\t\t\t\t\t\tbaseUri : baseUri ,\n\t\t\t\t\t\t\t\tsub : [ subsub ] ,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tvar child = new $mol_tree({\n\t\t\t\t\t\t\t\tvalue : key ,\n\t\t\t\t\t\t\t\tbaseUri : baseUri ,\n\t\t\t\t\t\t\t\tsub : [ subsub ] ,\n\t\t\t\t\t\t\t} )\n\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tsub.push( child )\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\treturn new $mol_tree({\n\t\t\t\t\t\ttype : \"*\" ,\n\t\t\t\t\t\tsub : sub ,\n\t\t\t\t\t\tbaseUri : baseUri\n\t\t\t\t\t})\n\t\t\t\t\n\t\t\t}\n\n\t\t}\n\t\t\n\t\tget uri() {\n\t\t\treturn this.baseUri + '#' + this.row + ':' + this.col\n\t\t}\n\t\t\n\t\t/** Serializas to tree format. */\n\t\ttoString( prefix = '' ) : string {\n\t\t\tvar output = ''\n\t\t\t\n\t\t\tif( this.type.length ) {\n\t\t\t\tif( !prefix.length ) {\n\t\t\t\t\tprefix = \"\\t\";\n\t\t\t\t}\n\t\t\t\toutput += this.type\n\t\t\t\tif( this.sub.length == 1 ) {\n\t\t\t\t\treturn output + ' ' + this.sub[ 0 ].toString( prefix )\n\t\t\t\t}\n\t\t\t\toutput += \"\\n\"\n\t\t\t} else if( this.data.length || prefix.length ) {\n\t\t\t\toutput += \"\\\\\" + this.data + \"\\n\"\n\t\t\t}\n\n\t\t\tfor( var child of this.sub ) {\n\t\t\t\toutput += prefix\n\t\t\t\toutput += child.toString( prefix + \"\\t\" )\n\t\t\t}\n\t\t\t\n\t\t\treturn output\n\t\t}\n\t\t\n\t\t/**\n\t\t * Serializes AST to json.tree lang.\n\t\t * @todo Move to $mol_tree_json_to\n\t\t */\n\t\ttoJSON() : any {\n\t\t\tif( !this.type ) return this.value\n\t\t\t\n\t\t\tif( this.type === 'true' ) return true\n\t\t\tif( this.type === 'false' ) return false\n\t\t\tif( this.type === 'null' ) return null\n\t\t\t\n\t\t\tif( this.type === '*' ) {\n\t\t\t\tvar obj = {}\n\t\t\t\tfor( var child of this.sub ) {\n\t\t\t\t\tif( child.type === '-' ) continue\n\t\t\t\t\tvar key = child.type || child.clone({ sub : child.sub.slice( 0 , child.sub.length - 1 ) }).value\n\t\t\t\t\tvar val = child.sub[ child.sub.length - 1 ].toJSON()\n\t\t\t\t\tif( val !== undefined ) ( obj as any )[ key ] = val\n\t\t\t\t}\n\t\t\t\treturn obj\n\t\t\t}\n\t\t\t\n\t\t\tif( this.type === '/' ) {\n\t\t\t\tvar res : any[] = []\n\t\t\t\tthis.sub.forEach(\n\t\t\t\t\tchild => {\n\t\t\t\t\t\tif( child.type === '-' ) return\n\t\t\t\t\t\tvar val = child.toJSON()\n\t\t\t\t\t\tif( val !== undefined ) res.push( val )\n\t\t\t\t\t}\n\t\t\t\t)\n\t\t\t\treturn res\n\t\t\t}\n\t\t\t\n\t\t\tif( this.type === 'time' ) {\n\t\t\t\treturn new Date( this.value )\n\t\t\t}\n\t\t\t\n\t\t\tconst numb = Number( this.type ) \n\t\t\tif( !Number.isNaN( numb ) || this.type === 'NaN' ) return numb\n\t\t\t\n\t\t\tthrow new Error( `Unknown type (${this.type}) at ${this.uri}` )\n\t\t}\n\t\t\n\t\tget value() {\n\t\t\tvar values : string[] = []\n\t\t\tfor( var child of this.sub ) {\n\t\t\t\tif( child.type ) continue\n\t\t\t\tvalues.push( child.value )\n\t\t\t}\n\t\t\treturn this.data + values.join( \"\\n\" )\n\t\t}\n\t\t\n\t\t/** Makes new tree with node overrided by path. */\n\t\tinsert( value : $mol_tree , ...path : $mol_tree_path ) : $mol_tree {\n\t\t\tif( path.length === 0 ) return value\n\t\t\t\n\t\t\tconst type = path[0]\n\t\t\tif( typeof type === 'string' ) {\n\n\t\t\t\tlet replaced = false\n\t\t\t\tconst sub = this.sub.map( ( item , index )=> {\n\t\t\t\t\tif( item.type !== type ) return item\n\t\t\t\t\treplaced = true\n\t\t\t\t\treturn item.insert( value , ... path.slice( 1 ) )\n\t\t\t\t} )\n\t\t\t\t\n\t\t\t\tif( !replaced ) sub.push( new $mol_tree({ type }).insert( value , ... path.slice( 1 ) ) )\n\t\t\t\t\n\t\t\t\treturn this.clone({ sub })\n\n\t\t\t} else if( typeof type === 'number' ) {\n\t\t\t\t\n\t\t\t\tconst sub = this.sub.slice()\n\t\t\t\tsub[ type ] = ( sub[ type ] || new $mol_tree ).insert( value , ... path.slice( 1 ) )\n\t\t\t\t\n\t\t\t\treturn this.clone({ sub })\n\n\t\t\t} else {\n\t\t\t\t\n\t\t\t\treturn this.clone({ sub : ( ( this.sub.length === 0 ) ? [ new $mol_tree() ] : this.sub ).map( item => item.insert( value , ... path.slice( 1 ) ) ) })\n\n\t\t\t}\n\t\t}\n\n\t\t/** Query nodes by path. */\n\t\tselect( ...path : $mol_tree_path ) {\n\t\t\tvar next = [ this as $mol_tree ]\n\t\t\tfor( var type of path ) {\n\t\t\t\tif( !next.length ) break\n\t\t\t\tvar prev = next\n\t\t\t\tnext = []\n\n\t\t\t\tfor( var item of prev ) {\n\n\t\t\t\t\tswitch( typeof( type ) ) {\n\n\t\t\t\t\t\tcase 'string' :\n\t\t\t\t\t\t\tfor( var child of item.sub ) {\n\t\t\t\t\t\t\t\tif( !type || ( child.type == type ) ) {\n\t\t\t\t\t\t\t\t\tnext.push( child )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\n\t\t\t\t\t\tcase 'number' :\n\t\t\t\t\t\t\tif( type < item.sub.length ) next.push( item.sub[ type ] )\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\n\t\t\t\t\t\tdefault : next.push( ... item.sub )\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn new $mol_tree( { sub : next } )\n\t\t}\n\t\t\n\t\t/** Filter subnodes by path or value. */\n\t\tfilter( path : string[] , value? : string ) {\n\t\t\tvar sub = this.sub.filter(\n\t\t\t\tfunction( item ) {\n\t\t\t\t\t\n\t\t\t\t\tvar found = item.select( ...path )\n\t\t\t\t\t\n\t\t\t\t\tif( value == null ) {\n\t\t\t\t\t\treturn Boolean( found.sub.length )\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn found.sub.some( child => child.value == value )\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t)\n\t\t\t\n\t\t\treturn new $mol_tree( { sub : sub } )\n\t\t}\n\n\t\t@ $mol_deprecated( 'Use $mol_tree:hack' )\n\t\ttransform( visit : ( stack : $mol_tree[] , sub : ()=> $mol_tree[] )=> $mol_tree | null , stack : $mol_tree[] = [] ) : $mol_tree | null {\n\t\t\tconst sub_stack = [ this , ...stack ]\n\t\t\treturn visit( sub_stack , ()=> this.sub.map( node => node.transform( visit , sub_stack ) ).filter( n => n ) as $mol_tree[] )\n\t\t}\n\n\t\t/** Transform tree through context with transformers */\n\t\thack( context : $mol_tree_context ) : $mol_tree {\n\t\t\t\n\t\t\tconst sub = ( [] as $mol_tree[] ).concat( ... this.sub.map( child => {\n\n\t\t\t\tconst handle = context[ child.type ] || context[ '' ]\n\t\t\t\tif( !handle ) $mol_fail( child.error( 'Handler not defined' ) )\n\t\t\t\t\n\t\t\t\treturn handle( child , context )\n\n\t\t\t} ) )\n\n\t\t\treturn this.clone({ sub })\n\t\t}\n\n\t\t/** Makes Error with node coordinates. */\n\t\terror( message : string ) {\n\t\t\treturn new Error( `${message}:\\n${ this } ${this.baseUri}:${this.row}:${this.col}` )\n\t\t}\n\n\t}\n\t\n}\n","namespace $ {\n\n\texport function $mol_log3_node_make(\n\t\tlevel : keyof Console ,\n\t\toutput : 'stdout' | 'stderr',\n\t\ttype : string ,\n\t\tcolor: keyof typeof $node.colorette ,\n\t) {\n\n\t\treturn function $mol_log3_logger(\n\t\t\tthis : $ ,\n\t\t\tevent : $mol_log3_event<{}> ,\n\t\t) {\n\n\t\t\tif( !event.time ) event = { time : new Date().toISOString() , ... event }\n\n\t\t\tconst tree = this.$mol_tree.fromJSON( event ).clone({ type })\n\t\t\tlet str = tree.toString()\n\n\t\t\tif( process[output].isTTY ) {\n\t\t\t\tstr = $node.colorette[ color + 'Bright' ]( str )\n\t\t\t}\n\n\t\t\t;( this.console[ level ] as any )( str )\n\t\n\t\t\tconst self = this\n\t\t\treturn ()=> self.console.groupEnd()\n\n\t\t}\n\n\t}\n\n\t$.$mol_log3_come = $mol_log3_node_make( 'info' , 'stdout' , 'come' , 'blue' )\n\t$.$mol_log3_done = $mol_log3_node_make( 'info' , 'stdout' , 'done' , 'green' )\n\t$.$mol_log3_fail = $mol_log3_node_make( 'error' , 'stderr' , 'fail' , 'red' )\n\t$.$mol_log3_warn = $mol_log3_node_make( 'warn' , 'stderr' , 'warn' , 'yellow' )\n\t$.$mol_log3_rise = $mol_log3_node_make( 'log' , 'stdout' , 'rise' , 'magenta' )\n\t$.$mol_log3_area = $mol_log3_node_make( 'log' , 'stdout' , 'area' , 'cyan' )\n\n}\n","namespace $ {\n\texport function $mol_env() {\n\t\treturn {} as Record< string, string | undefined >\n\t}\n}\n","namespace $ {\n\t$.$mol_env = function $mol_env() {\n\t\treturn this.process.env\n\t}\n}\n","namespace $ {\n\texport function $mol_exec(\n\t\tthis : $ ,\n\t\tdir : string ,\n\t\tcommand : string ,\n\t\t...args : string[]\n\t) {\n\n\t\tlet [ app , ... args0 ] = command.split( ' ' )\n\t\targs = [ ... args0 , ... args ]\n\n\t\tthis.$mol_log3_come({\n\t\t\tplace: '$mol_exec' ,\n\t\t\tdir: $node.path.relative( '' , dir ) ,\n\t\t\tmessage: 'Run',\n\t\t\tcommand: `${app} ${ args.join(' ') }` ,\n\t\t})\n\n\t\tvar res = $node['child_process'].spawnSync(\n\t\t\tapp ,\n\t\t\targs,\n\t\t\t{\n\t\t\t\tcwd : $node.path.resolve( dir ) ,\n\t\t\t\tshell : true ,\n\t\t\t\tenv: this.$mol_env(),\n\t\t\t}\n\t\t)\n\t\t\n\t\tif( res.status || res.error ) return $mol_fail( res.error || new Error( res.stderr.toString() ) )\n\t\tif( !res.stdout ) res.stdout = Buffer.from([])\n\n\t\treturn res\n\t}\n}\n","namespace $ {\n\t\n\texport class $mol_wire_log extends $mol_object2 {\n\t\t\n\t\t@ $mol_mem\n\t\tstatic watch( task?: ()=> any ) {\n\t\t\treturn task\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic track( fiber: $mol_wire_fiber< any, any, any > ) {\n\t\t\t\n\t\t\tconst prev = $mol_wire_probe( ()=> this.track( fiber ) )\n\t\t\tlet next: any\n\t\t\t\n\t\t\ttry {\n\t\t\t\tnext = fiber.sync()\n\t\t\t} finally {\n\t\t\t\t\n\t\t\t\tfor( const pub of fiber.pub_list ) {\n\t\t\t\t\tif( pub instanceof $mol_wire_fiber ) {\n\t\t\t\t\t\tthis.track( pub )\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tif( prev !== undefined && !$mol_compare_deep( prev, next ) ) {\n\t\t\t\tthis.$.$mol_log3_rise({\n\t\t\t\t\tmessage: 'Changed',\n\t\t\t\t\tplace: fiber,\n\t\t\t\t})\n\t\t\t}\n\t\t\n\t\t\treturn next\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tstatic active() {\n\t\t\t\n\t\t\ttry {\n\t\t\t\tthis.watch()?.()\n\t\t\t} finally {\n\t\t\t\tfor( const pub of ( $mol_wire_auto() as $mol_wire_fiber< any, any, any > ).pub_list ) {\n\t\t\t\t\tif( pub instanceof $mol_wire_fiber ) {\n\t\t\t\t\t\tthis.track( pub )\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\texport function $mol_test_complete() {\n\t\tprocess.exit(0)\n\t}\n\t\n}\n","namespace $ {\n\n\texport function $mol_test( set : { [ name : string ] : string | ( ( context : $ )=> void ) } ) {\n\t\t\n\t\tfor( let name in set ) {\n\n\t\t\tconst code = set[ name ]\n\t\t\tconst test = ( typeof code === 'string' ) ? new Function( '' , code ) as ()=> void : code\n\t\t\t\n\t\t\t$mol_test_all.push( test )\n\t\t}\n\n\t\t$mol_test_schedule()\n\t}\n\n\texport let $mol_test_mocks = [] as Array< ( context : $ )=> void >\n\n\texport const $mol_test_all = [] as Array< ( context : $ )=> any >\n\n\texport async function $mol_test_run() {\n\n\t\tfor( var test of $mol_test_all ) {\n\n\t\t\tlet context = Object.create( $$ )\n\t\t\tfor( let mock of $mol_test_mocks ) await mock( context )\n\t\t\t\n\t\t\tconst res = test( context )\n\t\t\tif( res instanceof Promise ) {\n\t\t\t\tawait new Promise( ( done, fail )=> {\n\t\t\t\t\tres.then( done, fail )\n\t\t\t\t\tsetTimeout( ()=> fail( new Error( 'Test timeout: ' + test.name ) ), 1000 )\n\t\t\t\t} )\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\t$$.$mol_log3_done({\n\t\t\tplace: '$mol_test',\n\t\t\tmessage: 'All tests passed',\n\t\t\tcount: $mol_test_all.length,\n\t\t})\n\t\t\n\t}\n\t\n\tlet scheduled = false\n\texport function $mol_test_schedule() {\n\n\t\tif( scheduled ) return\n\t\tscheduled = true\n\n\t\tsetTimeout( async ()=> {\n\t\t\t\n\t\t\tscheduled = false\n \t\t\t\n\t\t\ttry {\n\t\t\t\tawait $mol_test_run()\n\t\t\t} finally {\n\t\t\t\t$$.$mol_test_complete()\n\t\t\t}\n\t\t\t\n\t\t} , 0 )\n\t\t\n\t}\n\n\t$mol_test_mocks.push( context => {\n\t\tlet seed = 0\n\n\t\tcontext.Math = Object.create( Math )\n\t\tcontext.Math.random = ()=> Math.sin( seed++ )\n\n\t\tconst forbidden = [ 'XMLHttpRequest' , 'fetch' ]\n\n\t\tfor( let api of forbidden ) {\n\t\t\tcontext[ api ] = new Proxy( function(){} , {\n\t\t\t\tget() {\n\t\t\t\t\t$mol_fail_hidden( new Error( `${ api } is forbidden in tests` ) )\n\t\t\t\t} ,\n\t\t\t\tapply() {\n\t\t\t\t\t$mol_fail_hidden( new Error( `${ api } is forbidden in tests` ) )\n\t\t\t\t} ,\n\t\t\t} )\n\t\t}\n\t\t\n\t} )\n\n\t$mol_test({\n\n\t\t'mocked Math.random'( $ ) {\n\t\t\tconsole.assert( $.Math.random() === 0 )\n\t\t\tconsole.assert( $.Math.random() === Math.sin(1) )\n\t\t} ,\n\n\t\t'forbidden XMLHttpRequest'( $ ) {\n\t\t\ttry {\n\t\t\t\tconsole.assert( void new $.XMLHttpRequest )\n\t\t\t} catch( error: any ) {\n\t\t\t\tconsole.assert( error.message === 'XMLHttpRequest is forbidden in tests' )\n\t\t\t}\n\t\t} ,\n\n\t\t'forbidden fetch'( $ ) {\n\t\t\ttry {\n\t\t\t\tconsole.assert( void $.fetch('') )\n\t\t\t} catch( error: any ) {\n\t\t\t\tconsole.assert( error.message === 'fetch is forbidden in tests' )\n\t\t\t}\n\t\t} ,\n\n\t})\n\n}\n","namespace $ {\n\t\n\texport var $mol_dom_context : typeof globalThis\n\t\n}\n","namespace $ {\n\t\n\t$.$mol_dom_context = new $node.jsdom.JSDOM( '' , { url : 'https://localhost/' } ).window as any\n\t\n}\n","namespace $ {\n\n\texport function $mol_dom_render_children (\n\t\tel : Element | DocumentFragment ,\n\t\tchildNodes : NodeList | Array< Node | string | null >\n\t) {\n\t\tconst node_set = new Set< Node | string | null >( childNodes )\n\t\t\n\t\tlet nextNode : Node | null = el.firstChild\n\t\tfor( let view of childNodes ) {\n\n\t\t\tif( view == null ) continue\n\n\t\t\tif( view instanceof $mol_dom_context.Node ) {\n\t\t\t\t\n\t\t\t\twhile( true ) {\n\t\t\t\t\tif( !nextNode ) {\n\t\t\t\t\t\tel.appendChild( view )\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\tif( nextNode == view ) {\n\t\t\t\t\t\tnextNode = nextNode.nextSibling\n\t\t\t\t\t\tbreak\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif( node_set.has( nextNode ) ) {\n\t\t\t\t\t\t\tel.insertBefore( view , nextNode )\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconst nn = nextNode.nextSibling\n\t\t\t\t\t\t\tel.removeChild( nextNode )\n\t\t\t\t\t\t\tnextNode = nn\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t} else {\n\t\t\t\tif( nextNode && nextNode.nodeName === '#text' ) {\n\t\t\t\t\tconst str = String( view )\n\t\t\t\t\tif( nextNode.nodeValue !== str ) nextNode.nodeValue = str\n\t\t\t\t\tnextNode = nextNode.nextSibling\n\t\t\t\t} else {\n\t\t\t\t\tconst textNode = $mol_dom_context.document.createTextNode( String( view ) )\n\t\t\t\t\tel.insertBefore( textNode , nextNode )\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\twhile( nextNode ) {\n\t\t\tconst currNode = nextNode\n\t\t\tnextNode = currNode.nextSibling\n\t\t\tel.removeChild( currNode )\n\t\t}\n\t}\n\n}\n",null,null,null,null,null,null,null,"/** @jsx $mol_jsx */\nnamespace $ {\n\t\n\t$mol_test({\n\t\t\n\t\t'Make empty div'() {\n\t\t\t$mol_assert_equal( (<div/>).outerHTML , '<div></div>' )\n\t\t} ,\n\t\t\n\t\t'Define native field'() {\n\t\t\t\n\t\t\tconst dom = <input value='123' /> as HTMLInputElement\n\t\t\t\n\t\t\t$mol_assert_equal( dom.outerHTML , '<input value=\"123\">' )\n\t\t\t$mol_assert_equal( dom.value , '123' )\n\n\t\t} ,\n\t\t\n\t\t'Define classes'() {\n\t\t\t\n\t\t\tconst dom = <div class={ 'foo bar' } />\n\t\t\t\n\t\t\t$mol_assert_equal( dom.outerHTML , '<div class=\"foo bar\"></div>' )\n\n\t\t} ,\n\t\t\n\t\t'Define styles'() {\n\t\t\t\n\t\t\tconst dom = <div style={{ color : 'red' }} />\n\t\t\t\n\t\t\t$mol_assert_equal( dom.outerHTML , '<div style=\"color: red;\"></div>' )\n\n\t\t} ,\n\t\t\n\t\t'Define dataset'() {\n\t\t\t\n\t\t\tconst dom = <div dataset={{ foo : 'bar' }} />\n\t\t\t\n\t\t\t$mol_assert_equal( dom.outerHTML , '<div data-foo=\"bar\"></div>' )\n\n\t\t} ,\n\t\t\n\t\t'Define attributes'() {\n\t\t\t\n\t\t\tconst dom = <div lang=\"ru\" hidden />\n\t\t\t\n\t\t\t$mol_assert_equal( dom.outerHTML , '<div lang=\"ru\" hidden=\"\"></div>' )\n\n\t\t} ,\n\t\t\n\t\t'Define child nodes'() {\n\n\t\t\tconst dom =\n\t\t\t\t<div>\n\t\t\t\t\thello\n\t\t\t\t\t<strong>world</strong>\n\t\t\t\t\t!\n\t\t\t\t</div>\n\t\t\t\n\t\t\t$mol_assert_equal( dom.outerHTML , '<div>hello<strong>world</strong>!</div>' )\n\n\t\t} ,\n\n\t\t'Function as component'() {\n\n\t\t\tconst Button = ( { hint } : { hint : string } , target : ()=> string ) => {\n\t\t\t\treturn <button title={ hint } >{ target() }</button>\n\t\t\t}\n\n\t\t\tconst dom = <Button id=\"/foo\" hint=\"click me\">{ ()=> 'hey!' }</Button>\n\n\t\t\t$mol_assert_equal( dom.outerHTML , '<button title=\"click me\" id=\"/foo\">hey!</button>' )\n\t\t\t\n\t\t} ,\n\t\t\n\t\t// 'Standart classes as component'() {\n\n\t\t// \tconst dom = <HTMLButtonElement id=\"/foo\" title=\"click me\">hey!</HTMLButtonElement>\n\n\t\t// \t$mol_assert_equal( dom.outerHTML , '<button title=\"click me\" id=\"/foo\">hey!</button>' )\n\t\t\t\n\t\t// } ,\n\t\t\n\t\t'Nested guid generation'() {\n\n\t\t\tconst Foo = ()=> {\n\t\t\t\treturn <div>\n\t\t\t\t\t<Bar id=\"/bar\">\n\t\t\t\t\t\t<img id=\"/icon\" />\n\t\t\t\t\t</Bar>\n\t\t\t\t</div>\n\t\t\t}\n\n\t\t\tconst Bar = ( props : {} , icon : Element )=> {\n\t\t\t\treturn <span>{ icon }</span>\n\t\t\t}\n\n\t\t\tconst dom = <Foo id=\"/foo\" />\n\n\t\t\t$mol_assert_equal( dom.outerHTML , '<div id=\"/foo\"><span id=\"/foo/bar\"><img id=\"/foo/icon\"></span></div>' )\n\t\t\t\n\t\t} ,\n\t\t\n\t\t'Fail on non unique ids'() {\n\n\t\t\tconst App = ()=> {\n\t\t\t\treturn <div>\n\t\t\t\t\t<span id=\"/bar\" />\n\t\t\t\t\t<span id=\"/bar\" />\n\t\t\t\t</div>\n\t\t\t}\n\n\t\t\t$mol_assert_fail( ()=> <App id=\"/foo\" /> , 'JSX already has tag with id \"/bar\"' )\n\t\t\t\n\t\t} ,\n\t\t\n\t})\n\t\n}\n","namespace $ {\n\n\texport let $mol_jsx_prefix = ''\n\n\texport let $mol_jsx_booked = null as null | Set< string >\n\t\n\texport let $mol_jsx_document : $mol_jsx.JSX.ElementClass['ownerDocument'] = {\n\t\tgetElementById : ()=> null ,\n\t\tcreateElementNS : ( space: string, name : string )=> $mol_dom_context.document.createElementNS( space, name ) as any,\n\t\tcreateDocumentFragment : ()=> $mol_dom_context.document.createDocumentFragment(),\n\t}\n\t\n\texport const $mol_jsx_frag = ''\n\n\texport function $mol_jsx<\n\t\tProps extends $mol_jsx.JSX.IntrinsicAttributes,\n\t\tChildren extends Array< Node | string >\n\t>(\n\t\tElem : string\n\t\t\t| ( ( props : Props , ... children : Children ) => Element ) ,\n\t\tprops : Props ,\n\t\t... childNodes : Children\n\t) : Element | DocumentFragment {\n\n\t\tconst id = props && props.id || ''\n\n\t\tif( Elem && $mol_jsx_booked ) {\n\t\t\tif( $mol_jsx_booked.has( id ) ) {\n\t\t\t\t$mol_fail( new Error( `JSX already has tag with id ${ JSON.stringify( id ) }` ) )\n\t\t\t} else {\n\t\t\t\t$mol_jsx_booked.add( id )\n\t\t\t}\n\t\t}\n\n\t\tconst guid = $mol_jsx_prefix + id\n\n\t\tlet node: Element | DocumentFragment | null = guid ? $mol_jsx_document.getElementById( guid ) : null\n\n\t\tif( typeof Elem !== 'string' ) {\n\n\t\t\tif( 'prototype' in Elem ) {\n\n\t\t\t\tconst view = node && node[ Elem as any ] || new ( Elem as any )\n\t\t\t\t\n\t\t\t\tObject.assign( view , props )\n\t\t\t\tview[ Symbol.toStringTag ] = guid\n\t\t\t\t\n\t\t\t\tview.childNodes = childNodes\n\t\t\t\t\n\t\t\t\tif( !view.ownerDocument ) view.ownerDocument = $mol_jsx_document\n\t\t\t\t\n\t\t\t\tnode = view.valueOf()\n\t\t\t\t\n\t\t\t\tnode![ Elem as any ] = view\n\t\t\t\t\n\t\t\t\treturn node!\n\n\t\t\t} else {\n\n\t\t\t\tconst prefix = $mol_jsx_prefix\n\t\t\t\tconst booked = $mol_jsx_booked\n\t\t\t\t\n\t\t\t\ttry {\n\t\n\t\t\t\t\t$mol_jsx_prefix = guid\n\t\t\t\t\t$mol_jsx_booked = new Set\n\t\n\t\t\t\t\treturn ( Elem as any )( props , ... childNodes )\n\t\t\t\t\t\n\t\t\t\t} finally {\n\n\t\t\t\t\t$mol_jsx_prefix = prefix\n\t\t\t\t\t$mol_jsx_booked = booked\n\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\n\t\t}\n\n\t\tif( !node ) {\n\t\t\tnode = Elem\n\t\t\t\t? $mol_jsx_document.createElementNS( props?.xmlns ?? 'http://www.w3.org/1999/xhtml', Elem )\n\t\t\t\t: $mol_jsx_document.createDocumentFragment()\n\t\t}\n\n\t\t$mol_dom_render_children( node , ( [] as ( Node | string )[] ).concat( ... childNodes ) )\n\t\tif( !Elem ) return node\n\n\t\tfor( const key in props ) {\n\n\t\t\tif( typeof props[ key ] === 'string' ) {\n\n\t\t\t\t;( node as Element ).setAttribute( key , props[ key as any ] )\n\n\t\t\t} else if(\n\t\t\t\tprops[ key ] &&\n\t\t\t\ttypeof props[ key ] === 'object' &&\n\t\t\t\tReflect.getPrototypeOf( props[ key ] as any ) === Reflect.getPrototypeOf({})\n\t\t\t) {\n\n\t\t\t\tif( typeof node[ key as any ] === 'object' ) {\n\t\t\t\t\tObject.assign( ( node as any )[ key ] , props[ key ] )\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\n\t\t\t} else {\n\n\t\t\t\tnode[ key as any ] = props[ key ]\n\t\t\t\t\n\t\t\t}\n\n\t\t}\n\n\t\tif( guid ) ( node as Element ).id = guid\n\n\t\treturn node\n\n\t}\n\n\texport declare namespace $mol_jsx.JSX {\n\n\t\texport interface Element extends HTMLElement {\n\t\t\tclass?: string\n\t\t}\n\t\t\n\t\texport interface ElementClass {\n\t\t\tattributes : {}\n\t\t\townerDocument : Pick< Document , 'getElementById' | 'createElementNS' | 'createDocumentFragment' >\n\t\t\tchildNodes : Array< Node | string >\n\t\t\tvalueOf() : Element\n\t\t}\n\t\t\n\t\ttype OrString< Dict > = {\n\t\t\t[ key in keyof Dict ]: Dict[ key ] | string\n\t\t}\n\t\t\n\t\t/** Props for html elements */\n\t\texport type IntrinsicElements = {\n\t\t\t[ key in keyof ElementTagNameMap ]? : $.$mol_type_partial_deep< OrString<\n\t\t\t\t& Element\n\t\t\t\t& IntrinsicAttributes\n\t\t\t\t& ElementTagNameMap[ key ]\n\t\t\t> >\n\t\t}\n\t\t\n\t\t/** Additional undeclared props */\n\t\texport interface IntrinsicAttributes {\n\t\t\tid? : string\n\t\t\txmlns? : string\n\t\t}\n\t\t\n\t\texport interface ElementAttributesProperty {\n\t\t\tattributes : {\n\t\t\t}\n\t\t}\n\t\t\n\t\t// export type IntrinsicClassAttributes< Class > = $.$mol_type_partial_deep< Omit< Class , 'valueOf' > >\n\t\t\n\t\tinterface ElementChildrenAttribute {\n\t\t}\n\t\n\t}\n\n}\n","/** @jsx $mol_jsx */\nnamespace $ {\n\n\t$mol_test({\n\n\t\t'nulls & undefineds'() {\n\n\t\t\t$mol_assert_ok( $mol_compare_deep( null , null ) )\n\t\t\t$mol_assert_ok( $mol_compare_deep( undefined , undefined ) )\n\t\t\t\n\t\t\t$mol_assert_not( $mol_compare_deep( undefined , null ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( {} , null ) )\n\t\t\t\n\t\t} ,\n\n\t\t'number'() {\n\t\t\t\n\t\t\t$mol_assert_ok( $mol_compare_deep( 1 , 1 ) )\n\t\t\t$mol_assert_ok( $mol_compare_deep( Number.NaN , Number.NaN ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( 1 , 2 ) )\n\t\t\t\n\t\t\t$mol_assert_ok( $mol_compare_deep( Object( 1 ) , Object( 1 ) ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( Object( 1 ) , Object( 2 ) ) )\n\t\t\t\n\t\t} ,\n\n\t\t'POJO'() {\n\t\t\t$mol_assert_ok( $mol_compare_deep( {} , {} ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( { a : 1 } , { b : 2 } ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( { a : 1 } , { a : 2 } ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( {} , { a : undefined } ) )\n\t\t\t$mol_assert_ok( $mol_compare_deep( { a: 1, b: 2 } , { b: 2, a: 1 } ) )\n\t\t\t$mol_assert_ok( $mol_compare_deep( { a : { b : 1 } } , { a : { b : 1 } } ) )\n\t\t} ,\n\n\t\t'Array'() {\n\t\t\t$mol_assert_ok( $mol_compare_deep( [] , [] ) )\n\t\t\t$mol_assert_ok( $mol_compare_deep( [ 1 , [2] ] , [ 1 , [2] ] ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( [ 1 , 2 ] , [ 1 , 3 ] ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( [ 1 , 2 , ] , [ 1 , 3 , undefined ] ) )\n\t\t} ,\n\n\t\t'Non POJO are different'() {\n\t\t\t\n\t\t\tclass Thing extends Object {}\n\t\t\t$mol_assert_not( $mol_compare_deep( new Thing , new Thing ) )\n\t\t\t\n\t\t\t$mol_assert_not( $mol_compare_deep( ()=> 1 , ()=>1 ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( new RangeError( 'Test error' ) , new RangeError( 'Test error' ) ) )\n\t\t\t\n\t\t} ,\n\n\t\t'same POJOs with cyclic reference'() {\n\n\t\t\tconst a = { foo : {} }\n\t\t\ta['self'] = a\n\n\t\t\tconst b = { foo : {} }\n\t\t\tb['self'] = b\n\n\t\t\t$mol_assert_ok( $mol_compare_deep( a , b ) )\n\n\t\t} ,\n\n\t\t'Date'() {\n\t\t\t$mol_assert_ok( $mol_compare_deep( new Date( 12345 ) , new Date( 12345 ) ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( new Date( 12345 ) , new Date( 12346 ) ) )\n\t\t} ,\n\n\t\t'RegExp'() {\n\t\t\t$mol_assert_ok( $mol_compare_deep( /\\x22/mig , /\\x22/mig ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( /\\x22/mig , /\\x21/mig ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( /\\x22/mig , /\\x22/mg ) )\n\t\t} ,\n\n\t\t'Error'() {\n\t\t\t\n\t\t\t$mol_assert_not( $mol_compare_deep( new Error( 'xxx' ) , new Error( 'xxx' ) ) )\n\n\t\t\tconst fail = ( message: string )=> new Error( message )\n\t\t\t\n\t\t\t$mol_assert_ok( $mol_compare_deep(\n\t\t\t\t... [ 'xxx' , 'xxx' ].map( msg => new Error( msg ) ) as [ Error, Error ]\n\t\t\t) )\n\t\t\t\n\t\t\t$mol_assert_not( $mol_compare_deep(\n\t\t\t\t... [ 'xxx' , 'yyy' ].map( msg => new Error( msg ) ) as [ Error, Error ]\n\t\t\t) )\n\t\t\t\n\t\t} ,\n\n\t\t'Map'() {\n\t\t\t$mol_assert_ok( $mol_compare_deep( new Map , new Map ) )\n\t\t\t$mol_assert_ok( $mol_compare_deep( new Map([ [ 1 , [2] ] ]) , new Map([ [ 1 , [2] ] ]) ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( new Map([ [ 1 , 2 ] ]) , new Map([ [ 1 , 3 ] ]) ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( new Map([ [ [1] , 2 ] ]) , new Map([ [ [1] , 2 ] ]) ) )\n\t\t} ,\n\t\t\n\t\t'Set'() {\n\t\t\t$mol_assert_ok( $mol_compare_deep( new Set , new Set ) )\n\t\t\t$mol_assert_ok( $mol_compare_deep( new Set([ 1 , [2] ]) , new Set([ 1 , [2] ]) ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( new Set([ 1 ]) , new Set([ 2 ]) ) )\n\t\t} ,\n\t\t\n\t\t'Uint8Array'() {\n\t\t\t$mol_assert_ok( $mol_compare_deep( new Uint8Array , new Uint8Array ) )\n\t\t\t$mol_assert_ok( $mol_compare_deep( new Uint8Array([ 0 ]) , new Uint8Array([ 0 ]) ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( new Uint8Array([ 0 ]) , new Uint8Array([ 1 ]) ) )\n\t\t} ,\n\t\t\n\t\t'Custom comparator'() {\n\t\t\t\n\t\t\tclass User {\n\t\t\t\t\n\t\t\t\tconstructor(\n\t\t\t\t\treadonly name: string,\n\t\t\t\t\treadonly rand = Math.random(),\n\t\t\t\t) {}\n\t\t\t\t\n\t\t\t\t[ Symbol.toPrimitive ]( mode: 'default' | 'number' | 'string' ) {\n\t\t\t\t\treturn this.name\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\t$mol_assert_ok( $mol_compare_deep( new User( 'Jin' ), new User( 'Jin' ) ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( new User( 'Jin' ), new User( 'John' ) ) )\n\t\t\t\n\t\t} ,\n\t\t\n\t})\n\n}\n","namespace $ {\n\n\texport function $mol_dom_serialize(\n\t\tnode: Node\n\t) {\n\t\tconst serializer = new $mol_dom_context.XMLSerializer\n\t\treturn serializer.serializeToString( node )\n\t}\n\n}\n","namespace $ {\n\t$mol_test( {\n\t\t\n\t\t'must be false'() {\n\t\t\t$mol_assert_not( 0 )\n\t\t} ,\n\t\t\n\t\t'must be true'() {\n\t\t\t$mol_assert_ok( 1 )\n\t\t} ,\n\t\t\n\t\t'two must be equal'() {\n\t\t\t$mol_assert_equal( 2 , 2 )\n\t\t} ,\n\t\t\n\t\t'three must be equal'() {\n\t\t\t$mol_assert_equal( 2 , 2 , 2 )\n\t\t} ,\n\t\t\n\t\t'two must be unique'() {\n\t\t\t$mol_assert_unique( [ 3 ] , [ 3 ] )\n\t\t} ,\n\t\t\n\t\t'three must be unique'() {\n\t\t\t$mol_assert_unique( [ 3 ] , [ 3 ] , [ 3 ] )\n\t\t} ,\n\t\t\n\t\t'two must be alike'() {\n\t\t\t$mol_assert_like( [ 3 ] , [ 3 ] )\n\t\t} ,\n\t\t\n\t\t'three must be alike'() {\n\t\t\t$mol_assert_like( [ 3 ] , [ 3 ] , [ 3 ] )\n\t\t} ,\n\t\t\n\t} )\n}\n","namespace $ {\n\t\n\texport function $mol_assert_ok( value : any ) {\n\t\tif( value ) return\n\t\t$mol_fail( new Error( `${value} ≠ true` ) )\n\t}\n\t\n\texport function $mol_assert_not( value : any ) {\n\t\tif( !value ) return\n\t\t$mol_fail( new Error( `${value} ≠ false` ) )\n\t}\n\t\n\texport function $mol_assert_fail( handler : ()=> any , ErrorRight? : any ) {\n\t\t\n\t\tconst fail = $.$mol_fail\n\t\t\n\t\ttry {\n\t\t\t$.$mol_fail = $.$mol_fail_hidden\n\t\t\t\n\t\t\thandler()\n\n\t\t} catch( error: any ) {\n\t\t\t\n\t\t\tif( !ErrorRight ) return error\n\t\t\t\n\t\t\t$.$mol_fail = fail\n\n\t\t\tif( typeof ErrorRight === 'string' ) {\n\t\t\t\t$mol_assert_equal( error.message, ErrorRight )\n\t\t\t} else {\n\t\t\t\t$mol_assert_ok( error instanceof ErrorRight )\n\t\t\t}\n\t\t\t\n\t\t\treturn error\n\n\t\t} finally {\n\t\t\t$.$mol_fail = fail\n\t\t}\n\n\t\t$mol_fail( new Error( 'Not failed' ) )\n\t}\n\t\n\texport function $mol_assert_equal< Value >( ... args : [ Value, Value, ...Value[] ] ) {\n\t\tfor( let i = 0 ; i < args.length ; ++i ) {\n\t\t\tfor( let j = 0 ; j < args.length ; ++j ) {\n\t\t\t\tif( i === j ) continue\n\t\t\t\tif( Number.isNaN( args[i] as any as number ) && Number.isNaN( args[j] as any as number ) ) continue\n\t\t\t\tif( args[i] !== args[j] ) $mol_fail( new Error( `Not equal (${i+1}:${j+1})\\n${ args[i] }\\n${ args[j] }` ) )\n\t\t\t}\n\t\t}\n\t}\n\t\n\texport function $mol_assert_unique( ... args : [ any, any, ...any[] ] ) {\n\t\tfor( let i = 0 ; i < args.length ; ++i ) {\n\t\t\tfor( let j = 0 ; j < args.length ; ++j ) {\n\t\t\t\tif( i === j ) continue\n\t\t\t\tif( args[i] === args[j] || ( Number.isNaN( args[i] as any as number ) && Number.isNaN( args[j] as any as number ) ) ) {\n\t\t\t\t\t$mol_fail( new Error( `args[${ i }] = args[${ j }] = ${ args[i] }` ) )\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\t\n\texport function $mol_assert_like< Value >( head : Value, ... tail : Value[]) {\n\t\tfor( let [ index, value ] of Object.entries( tail ) ) {\n\n\t\t\tif( !$mol_compare_deep( value , head ) ) {\n\n\t\t\t\tconst print = ( val : any ) => {\n\t\t\t\t\t\n\t\t\t\t\tif( !val ) return val\n\t\t\t\t\tif( typeof val !== 'object' ) return val\n\t\t\t\t\tif( 'outerHTML' in val ) return val.outerHTML\n\t\t\t\t\t\n\t\t\t\t\ttry {\n\t\t\t\t\t\treturn JSON.stringify( val )\n\t\t\t\t\t} catch( error: any ) {\n\t\t\t\t\t\tconsole.error( error )\n\t\t\t\t\t\treturn val\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn $mol_fail( new Error( `Not like (1:${ + index + 2 })\\n${ print( head ) }\\n---\\n${ print( value ) }` ) )\n\n\t\t\t}\n\n\t\t}\n\t}\n\t\n\texport function $mol_assert_dom( left: Element, right: Element ) {\n\t\t$mol_assert_equal( $mol_dom_serialize( left ), $mol_dom_serialize( right ) )\n\t}\n\n}\n","namespace $ {\n\n\t$mol_test_mocks.push( $ => {\n\t\t$.$mol_log3_come = ()=> {}\n\t\t$.$mol_log3_done = ()=> {}\n\t\t$.$mol_log3_fail = ()=> {}\n\t\t$.$mol_log3_warn = ()=> {}\n\t\t$.$mol_log3_rise = ()=> {}\n\t\t$.$mol_log3_area = ()=> ()=> {}\n\t} )\n\n}\n","namespace $ {\n\t$mol_test({\n\t\t\n\t\t'get'() {\n\t\t\tconst proxy = $mol_delegate( {} as any , ()=> ({ foo : 777 }) )\n\t\t\t$mol_assert_equal( proxy.foo , 777 )\n\t\t},\n\n\t\t'has'() {\n\t\t\tconst proxy = $mol_delegate( {} as any , ()=> ({ foo : 777 }) )\n\t\t\t$mol_assert_equal( 'foo' in proxy , true )\n\t\t},\n\n\t\t'set'() {\n\t\t\tconst target = { foo : 777 }\n\t\t\tconst proxy = $mol_delegate( {} as any , ()=> target )\n\t\t\tproxy.foo = 123\n\t\t\t$mol_assert_equal( target.foo , 123 )\n\t\t},\n\t\t\n\t\t'getOwnPropertyDescriptor'() {\n\n\t\t\tconst proxy = $mol_delegate( {} as any , ()=> ({ foo : 777 }) )\n\t\t\t\n\t\t\t$mol_assert_like(\n\t\t\t\tObject.getOwnPropertyDescriptor( proxy , 'foo' ),\n\t\t\t\t{\n\t\t\t\t\tvalue: 777,\n\t\t\t\t\twritable: true,\n\t\t\t\t\tenumerable: true,\n\t\t\t\t\tconfigurable: true,\n\t\t\t\t},\n\t\t\t)\n\t\t\t\n\t\t},\n\n\t\t'ownKeys'() {\n\n\t\t\tconst proxy = $mol_delegate(\n\t\t\t\t{} as any ,\n\t\t\t\t()=> ({ foo : 777 , [ Symbol.toStringTag ] : 'bar' }),\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_like(\n\t\t\t\tReflect.ownKeys( proxy ),\n\t\t\t\t[ 'foo' , Symbol.toStringTag ],\n\t\t\t)\n\n\t\t},\n\n\t\t'getPrototypeOf'() {\n\n\t\t\tclass Foo {}\n\n\t\t\tconst proxy = $mol_delegate(\n\t\t\t\t{} as any ,\n\t\t\t\t()=> new Foo,\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\tObject.getPrototypeOf( proxy ),\n\t\t\t\tFoo.prototype,\n\t\t\t)\n\n\t\t},\n\n\t\t'setPrototypeOf'() {\n\n\t\t\tclass Foo {}\n\t\t\tconst target = {}\n\n\t\t\tconst proxy = $mol_delegate(\n\t\t\t\t{} ,\n\t\t\t\t()=> target,\n\t\t\t)\n\n\t\t\tObject.setPrototypeOf( proxy , Foo.prototype )\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\tObject.getPrototypeOf( target ),\n\t\t\t\tFoo.prototype,\n\t\t\t)\n\n\t\t},\n\n\t\t'instanceof'() {\n\n\t\t\tclass Foo {}\n\n\t\t\tconst proxy = $mol_delegate(\n\t\t\t\t{} ,\n\t\t\t\t()=> new Foo,\n\t\t\t)\n\n\t\t\t$mol_assert_ok( proxy instanceof Foo )\n\t\t\t$mol_assert_ok( proxy instanceof $mol_delegate )\n\n\t\t},\n\n\t\t'autobind'() {\n\n\t\t\tclass Foo {}\n\n\t\t\tconst proxy = $mol_delegate(\n\t\t\t\t{} ,\n\t\t\t\t()=> new Foo,\n\t\t\t)\n\n\t\t\t$mol_assert_ok( proxy instanceof Foo )\n\t\t\t$mol_assert_ok( proxy instanceof $mol_delegate )\n\n\t\t},\n\n\t})\n}\n",null,"namespace $ {\n\t$mol_test( {\n\t\t\n\t\t'tree parsing'() {\n\t\t\t\n\t\t\t$mol_assert_equal( $mol_tree.fromString( \"foo\\nbar\\n\" ).sub.length , 2 )\n\t\t\t$mol_assert_equal( $mol_tree.fromString( \"foo\\nbar\\n\" ).sub[ 1 ].type , \"bar\" )\n\t\t\t$mol_assert_equal( $mol_tree.fromString( \"foo\\n\\n\\n\" ).sub.length , 1 )\n\t\t\t\n\t\t\t$mol_assert_equal( $mol_tree.fromString( \"=foo\\n\\\\bar\\n\" ).sub.length , 2 )\n\t\t\t$mol_assert_equal( $mol_tree.fromString( \"=foo\\n\\\\bar\\n\" ).sub[ 1 ].data , \"bar\" )\n\t\t\t\n\t\t\t$mol_assert_equal( $mol_tree.fromString( \"foo bar \\\\pol\" ).sub[ 0 ].sub[ 0 ].sub[ 0 ].data , \"pol\" )\n\t\t\t$mol_assert_equal( $mol_tree.fromString( \"foo bar\\n\\t\\\\pol\\n\\t\\\\men\" ).sub[ 0 ].sub[ 0 ].sub[ 1 ].data , \"men\" )\n\t\t\t\n\t\t\t$mol_assert_equal( $mol_tree.fromString( 'foo bar \\\\text\\n' ).toString() , 'foo bar \\\\text\\n' )\n\t\t} ,\n\n\t\t'inserting'() {\n\t\t\t$mol_assert_equal( $mol_tree.fromString( 'a b c d' ).insert( new $mol_tree , 'a' , 'b' , 'c' ).toString() , 'a b \\\\\\n' )\n\t\t\t$mol_assert_equal( $mol_tree.fromString( 'a b' ).insert( new $mol_tree , 'a' , 'b' , 'c' , 'd' ).toString() , 'a b c \\\\\\n' )\n\n\t\t\t$mol_assert_equal( $mol_tree.fromString( 'a b c d' ).insert( new $mol_tree , 0 , 0 , 0 ).toString() , 'a b \\\\\\n' )\n\t\t\t$mol_assert_equal( $mol_tree.fromString( 'a b' ).insert( new $mol_tree , 0 , 0 , 0 , 0 ).toString() , 'a b \\\\\\n\\t\\\\\\n' )\n\n\t\t\t$mol_assert_equal( $mol_tree.fromString( 'a b c d' ).insert( new $mol_tree , null , null , null ).toString() , 'a b \\\\\\n' )\n\t\t\t$mol_assert_equal( $mol_tree.fromString( 'a b' ).insert( new $mol_tree , null , null , null , null ).toString() , 'a b \\\\\\n\\t\\\\\\n' )\n\t\t} ,\n\n\t\t'fromJSON'() {\n\t\t\t$mol_assert_equal( $mol_tree.fromJSON([]).toString() , '/\\n' )\n\t\t\t$mol_assert_equal( $mol_tree.fromJSON([ false , true ]).toString() , '/\\n\\tfalse\\n\\ttrue\\n' )\n\t\t\t$mol_assert_equal( $mol_tree.fromJSON([ 0 , 1 , 2.3 ]).toString() , '/\\n\\t0\\n\\t1\\n\\t2.3\\n' )\n\t\t\t$mol_assert_equal( $mol_tree.fromJSON([ '' , 'foo' , 'bar\\nbaz' ]).toString() , '/\\n\\t\\\\\\n\\t\\\\foo\\n\\t\\\\\\n\\t\\t\\\\bar\\n\\t\\t\\\\baz\\n' )\n\t\t\t$mol_assert_equal( $mol_tree.fromJSON({ 'foo' : false , 'bar\\nbaz' : 'lol' }).toString() , '*\\n\\tfoo false\\n\\t\\\\\\n\\t\\t\\\\bar\\n\\t\\t\\\\baz\\n\\t\\t\\\\lol\\n' )\n\t\t} ,\n\t\t\n\t\t'toJSON'() {\n\t\t\t$mol_assert_equal( JSON.stringify( $mol_tree.fromString( '/\\n' ).sub[0] ) , '[]' )\n\t\t\t$mol_assert_equal( JSON.stringify( $mol_tree.fromString( '/\\n\\tfalse\\n\\ttrue\\n' ).sub[0] ) , '[false,true]' )\n\t\t\t$mol_assert_equal( JSON.stringify( $mol_tree.fromString( '/\\n\\t0\\n\\t1\\n\\t2.3\\n' ).sub[0] ) , '[0,1,2.3]' )\n\t\t\t$mol_assert_equal( JSON.stringify( $mol_tree.fromString( '/\\n\\t\\\\\\n\\t\\\\foo\\n\\t\\\\\\n\\t\\t\\\\bar\\n\\t\\t\\\\baz\\n' ).sub[0] ) , '[\"\",\"foo\",\"bar\\\\nbaz\"]' )\n\t\t\t$mol_assert_equal( JSON.stringify( $mol_tree.fromString( '*\\n\\tfoo false\\n\\t\\\\\\n\\t\\t\\\\bar\\n\\t\\t\\\\baz\\n\\t\\t\\\\lol\\n' ).sub[0] ) , '{\"foo\":false,\"bar\\\\nbaz\":\"lol\"}' )\n\t\t} ,\n\t\t\n\t\t'hack'() {\n\n\t\t\tconst res = $mol_tree.fromString( `foo bar xxx` ).hack({\n\t\t\t\t'' : ( tree , context )=> [ tree.hack( context ) ] ,\n\t\t\t\t'bar' : ( tree , context )=> [ tree.hack( context ).clone({ type : '777' }) ] ,\n\t\t\t})\n\n\t\t\t$mol_assert_equal( res.toString() , new $mol_tree({ type : 'foo 777 xxx' }).toString() )\n\n\t\t} ,\n\n\t\t'errors handling'( $ ) {\n\n\t\t\tconst errors = [] as string[]\n\n\t\t\tclass Tree extends $mol_tree {\n\t\t\t\tstatic $ = $.$mol_ambient({\n\t\t\t\t\t$mol_fail: error => errors.push( error.message ) as never\n\t\t\t\t})\n\t\t\t}\n\t\t\t\n\t\t\tTree.fromString( `\n\t\t\t\t\\t \\tfoo\n\t\t\t\tbar \\\\data\n\t\t\t` , 'test' )\n\n\t\t\t$mol_assert_like( errors , [ 'Syntax error at test:2\\n \\tfoo' ] )\n\n\t\t},\n\n\t} )\t\n}\n","namespace $ {\n\t$mol_test({\n\t\t\n\t\t'Collect deps'() {\n\t\t\t\n\t\t\tconst pub1 = new $mol_wire_pub\n\t\t\tconst pub2 = new $mol_wire_pub\n\t\t\tconst sub = new $mol_wire_pub_sub\n\t\t\t\n\t\t\tconst bu1 = sub.track_on()\n\t\t\ttry {\n\t\t\t\t\n\t\t\t\tpub1.promote()\n\t\t\t\tpub2.promote()\n\t\t\t\tpub2.promote()\n\t\t\t\t\n\t\t\t} finally {\n\t\t\t\t\n\t\t\t\tsub.track_cut()\n\t\t\t\tsub.track_off( bu1 )\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tpub1.emit()\n\t\t\tpub2.emit()\n\t\t\t\n\t\t\t$mol_assert_like( sub.pub_list, [ pub1, pub2, pub2 ] )\n\t\t\t\n\t\t\tconst bu2 = sub.track_on()\n\t\t\ttry {\n\t\t\t\t\n\t\t\t\tpub1.promote()\n\t\t\t\tpub1.promote()\n\t\t\t\tpub2.promote()\n\t\t\t\t\n\t\t\t} finally {\n\t\t\t\t\n\t\t\t\tsub.track_cut()\n\t\t\t\tsub.track_off( bu2 )\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tpub1.emit()\n\t\t\tpub2.emit()\n\t\t\t\n\t\t\t$mol_assert_like( sub.pub_list, [ pub1, pub1, pub2 ] )\n\t\t\t\n\t\t},\n\t\t\n\t\t'cyclic detection'( $ ) {\n\t\t\t\n\t\t\tconst sub1 = new $mol_wire_pub_sub\n\t\t\tconst sub2 = new $mol_wire_pub_sub\n\t\t\t\n\t\t\tconst bu1 = sub1.track_on()\n\t\t\ttry {\n\t\t\t\t\n\t\t\t\tconst bu2 = sub2.track_on()\n\t\t\t\ttry {\n\t\t\t\t\t\n\t\t\t\t\t$mol_assert_fail( ()=> sub1.promote(), 'Circular subscription' )\n\t\t\t\t\t\n\t\t\t\t} finally {\n\t\t\t\t\t\n\t\t\t\t\tsub2.track_cut()\n\t\t\t\t\tsub2.track_off( bu2 )\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t} finally {\n\t\t\t\t\n\t\t\t\tsub1.track_cut()\n\t\t\t\tsub1.track_off( bu1 )\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t},\n\n\t})\n}\n","namespace $ {\n\n\t/// @todo right orderinng\n\texport let $mol_after_mock_queue = [] as ( ()=> void )[]\n\n\texport function $mol_after_mock_warp() {\n\t\tconst queue = $mol_after_mock_queue.splice( 0 )\n\t\tfor( const task of queue ) task()\n\t}\n\n\texport class $mol_after_mock_commmon extends $mol_object2 {\n\n\t\tpromise = Promise.resolve()\n\t\tcancelled = false\n\t\tid : any\n\n\t\tconstructor( public task : ()=> void ) {\n\t\t\tsuper()\n\t\t\t$mol_after_mock_queue.push( task )\n\t\t}\n\n\t\tdestructor() {\n\t\t\tconst index = $mol_after_mock_queue.indexOf( this.task )\n\t\t\tif( index >= 0 )$mol_after_mock_queue.splice( index , 1 )\n\t\t}\n\n\t}\n\n\texport class $mol_after_mock_timeout extends $mol_after_mock_commmon {\n\n\t\tconstructor(\n\t\t\tpublic delay : number ,\n\t\t\ttask : ()=> void ,\n\t\t) {\n\t\t\tsuper( task )\n\t\t}\n\n\t}\n\t\n}\n","namespace $ {\n\n\t$mol_test({\n\t\t\n\t\tasync 'Latest Calls Wins on Concurrency'( $ ) {\n\t\t\t\n\t\t\tclass NameLogger extends $mol_object2 {\n\t\t\t\t\n\t\t\t\tstatic $ = $\n\t\t\t\t\n\t\t\t\tstatic first = [] as string[]\n\t\t\t\tstatic last = [] as string[]\n\t\t\t\t\n\t\t\t\tstatic send( next: string ) {\n\t\t\t\t\t$mol_wire_sync( this.first ).push( next )\n\t\t\t\t\tthis.$.$mol_wait_timeout(0)\n\t\t\t\t\tthis.last.push( next )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tconst name = $mol_wire_async( NameLogger ).send\n\t\t\t\n\t\t\tname( 'john' )\n\t\t\tconst promise = name( 'jin' )\n\t\t\t\n\t\t\t$.$mol_after_mock_warp()\n\t\t\tawait promise\n\t\t\t\n\t\t\t$mol_assert_like( NameLogger.first, [ 'john', 'jin' ] )\n\t\t\t$mol_assert_like( NameLogger.last, [ 'jin' ] )\n\n\t\t},\n\n\t})\n\t\n}\n","namespace $ {\n\n\t$mol_test_mocks.push( $ => {\n\t\t$.$mol_after_timeout = $mol_after_mock_timeout as any as typeof $mol_after_timeout\n\t})\n\n}\n","namespace $ {\n\n\t$mol_test_mocks.push( $ => {\n\t\t$.$mol_after_frame = $mol_after_mock_commmon as any as typeof $mol_after_frame\n\t})\n\n}\n","namespace $ {\n\n\t$mol_test({\n\t\t\n\t\t'Sync execution'() {\n\n\t\t\tclass Sync extends $mol_object2 {\n\t\t\t\t\n\t\t\t\t@ $mol_wire_method\n\t\t\t\tstatic calc( a: number, b: number ) {\n\t\t\t\t\treturn a + b\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\t$mol_assert_equal( Sync.calc( 1, 2 ), 3 )\n\t\t\t\n\t\t},\n\n\t\tasync 'async <=> sync'() {\n\t\t\t\n\t\t\tclass SyncAsync extends $mol_object2 {\n\t\t\t\t\n\t\t\t\tstatic async val( a: number ) {\n\t\t\t\t\treturn a\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tstatic sum( a: number, b: number ) {\n\t\t\t\t\tconst syn = $mol_wire_sync( this )\n\t\t\t\t\treturn syn.val( a ) + syn.val( b )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tstatic async calc( a: number, b: number ) {\n\t\t\t\t\treturn 5 + await $mol_wire_async( this ).sum( a, b )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\t$mol_assert_equal( await SyncAsync.calc( 1, 2 ), 8 )\n\n\t\t},\n\n\t\tasync 'Idempotence control'() {\n\n\t\t\tclass Idempotence extends $mol_object2 {\n\t\t\t\t\n\t\t\t\tstatic logs_idemp = 0\n\t\t\t\tstatic logs_unidemp = 0\n\t\t\t\t\n\t\t\t\t@ $mol_wire_method\n\t\t\t\tstatic log_idemp() {\n\t\t\t\t\tthis.logs_idemp += 1\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tstatic log_unidemp() {\n\t\t\t\t\tthis.logs_unidemp += 1\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tstatic async val( a: number ) {\n\t\t\t\t\treturn a\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tstatic sum( a: number, b: number ) {\n\t\t\t\t\tthis.log_idemp()\n\t\t\t\t\tthis.log_unidemp()\n\t\t\t\t\tconst syn = $mol_wire_sync( this )\n\t\t\t\t\treturn syn.val( a ) + syn.val( b )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tstatic async calc( a: number, b: number ) {\n\t\t\t\t\treturn 5 + await $mol_wire_async( this ).sum( a, b )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\t$mol_assert_equal( await Idempotence.calc( 1, 2 ), 8 )\n\t\t\t$mol_assert_equal( Idempotence.logs_idemp, 1 )\n\t\t\t$mol_assert_equal( Idempotence.logs_unidemp, 3 )\n\n\t\t},\n\n\t\tasync 'Error handling'() {\n\t\t\t\n\t\t\tclass Handle extends $mol_object2 {\n\t\t\t\t\n\t\t\t\tstatic async sum( a: number, b: number ){\n\t\t\t\t\t$mol_fail( new Error( 'test error ' + ( a + b ) ) )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tstatic check() {\n\t\t\t\t\ttry {\n\t\t\t\t\t\treturn $mol_wire_sync( Handle ).sum( 1, 2 )\n\t\t\t\t\t} catch( error: any ) {\n\t\t\t\t\t\tif( error instanceof Promise ) $mol_fail_hidden( error )\n\t\t\t\t\t\t$mol_assert_equal( error.message, 'test error 3' )\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\t\n\t\t\tawait $mol_wire_async( Handle ).check()\n\t\t\t\n\t\t},\n\t\t\n\t})\n\t\n}\n","namespace $ {\n\t$mol_test({\n\t\t\n\t\t// https://github.com/nin-jin/slides/tree/master/reactivity#component-states\n\t\t'Cached channel' ($) {\n\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic value( next = 1 ) {\n\t\t\t\t\treturn next + 1\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\t$mol_assert_equal( App.value(), 2 )\n\n\t\t\tApp.value( 2 )\n\t\t\t$mol_assert_equal( App.value(), 3 )\n\n\t\t},\n\n\t\t'Mem overrides mem' ($) {\n\n\t\t\tclass Base extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic value( next = 1 ) {\n\t\t\t\t\treturn next + 1\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tclass Middle extends Base {\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic value( next?: number ) {\n\t\t\t\t\treturn super.value( next ) + 1\n\t\t\t\t}\n\t\t\t\n\t\t\t}\n\t\t\t\t\n\t\t\tclass App extends Middle {\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic value( next?: number ) {\n\t\t\t\t\treturn super.value( next ) * 3\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\t$mol_assert_equal( App.value(), 9 )\n\t\t\t\n\t\t\t$mol_assert_equal( App.value( 5 ), 21 )\n\t\t\t$mol_assert_equal( App.value(), 21 )\n\n\t\t},\n\n\t\t// https://github.com/nin-jin/slides/tree/master/reactivity#wish-consistency\n\t\t'Auto recalculation of cached values'( $ ) {\n\t\t\t\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic xxx( next? : number ) {\n\t\t\t\t\treturn next || 1\n\t\t\t\t}\n\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic yyy() {\n\t\t\t\t\treturn this.xxx() + 1\n\t\t\t\t}\n\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic zzz() {\n\t\t\t\t\treturn this.yyy() + 1\n\t\t\t\t}\n\n\t\t\t}\n\t\t\t\n\t\t\t$mol_assert_equal( App.yyy(), 2 )\n\t\t\t$mol_assert_equal( App.zzz(), 3 )\n\n\t\t\tApp.xxx( 5 )\n\t\t\t$mol_assert_equal( App.zzz(), 7 )\n\n\t\t},\n\n\t\t// https://github.com/nin-jin/slides/tree/master/reactivity#wish-reasonability\n\t\t'Skip recalculation when actually no dependency changes'( $ ) {\n\t\t\t\n\t\t\tconst log = [] as string[]\n\t\t\t\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic xxx( next? : number ) {\n\t\t\t\t\tlog.push( 'xxx' )\n\t\t\t\t\treturn next || 1\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic yyy() {\n\t\t\t\t\tlog.push( 'yyy' )\n\t\t\t\t\treturn [ Math.sign( this.xxx() ) ]\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic zzz() {\n\t\t\t\t\tlog.push( 'zzz' )\n\t\t\t\t\treturn this.yyy()[0] + 1\n\t\t\t\t}\n\n\t\t\t}\n\t\t\t\n\t\t\tApp.zzz()\n\t\t\t$mol_assert_like( log, [ 'zzz', 'yyy', 'xxx' ] )\n\t\t\t\n\t\t\tApp.xxx( 5 )\n\t\t\t$mol_assert_like( log, [ 'zzz', 'yyy', 'xxx', 'xxx' ] )\n\t\t\t\n\t\t\tApp.zzz()\n\t\t\t$mol_assert_like( log, [ 'zzz', 'yyy', 'xxx', 'xxx', 'yyy' ] )\n\n\t\t},\n\n\t\t// https://github.com/nin-jin/slides/tree/master/reactivity#flow-auto\n\t\t'Flow: Auto'( $ ) {\n\n\t\t\tclass App extends $mol_object2 {\n\t\t\t\t\n\t\t\t\tstatic get $() { return $ }\n\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic first( next = 1 ) { return next }\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic second( next = 2 ) { return next }\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic condition( next = true ) { return next }\n\t\t\t\t\n\t\t\t\tstatic counter = 0\n\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic result() {\n\t\t\t\t\tconst res = this.condition() ? this.first() : this.second() \n\t\t\t\t\treturn res + this.counter ++\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\n\t\t\t$mol_assert_equal( App.result() , 1 )\n\t\t\t$mol_assert_equal( App.counter , 1 )\n\t\t\t\n\t\t\tApp.condition( false )\n\t\t\t$mol_assert_equal( App.result() , 3 )\n\t\t\t$mol_assert_equal( App.counter , 2 )\n\n\t\t\tApp.first( 10 )\n\t\t\t$mol_assert_equal( App.result() , 3 )\n\t\t\t$mol_assert_equal( App.counter , 2 )\n\n\t\t} ,\n\n\t\t// https://github.com/nin-jin/slides/tree/master/reactivity#dupes-equality\n\t\t'Dupes: Equality'( $ ) {\n\t\t\t\n\t\t\tlet counter = 0\n\t\t\t\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic foo( next? : { numbs: number[] } ) {\n\t\t\t\t\treturn next ?? { numbs: [ 1 ] }\n\t\t\t\t}\n\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic bar() {\n\t\t\t\t\treturn { ... this.foo(), count: ++ counter }\n\t\t\t\t}\n\n\t\t\t}\n\t\t\t\n\t\t\t$mol_assert_like( App.bar(), { numbs: [ 1 ], count: 1 } )\n\n\t\t\tApp.foo({ numbs: [ 1 ] })\n\t\t\t$mol_assert_like( App.bar(), { numbs: [ 1 ], count: 1 } )\n\t\t\t\n\t\t\tApp.foo({ numbs: [ 2 ] })\n\t\t\t$mol_assert_like( App.bar(), { numbs: [ 2 ], count: 2 } )\n\n\t\t},\n\n\t\t// https://github.com/nin-jin/slides/tree/master/reactivity#cycle-fail\n\t\t'Cycle: Fail'( $ ) {\n\t\t\n\t\t\tclass App extends $mol_object2 {\n\t\t\n\t\t\t\tstatic $ = $\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic foo() : number {\n\t\t\t\t\treturn this.bar() + 1\n\t\t\t\t}\n\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic bar() : number {\n\t\t\t\t\treturn this.foo() + 1\n\t\t\t\t}\n\t\t\n\t\t\t\t@ $mol_wire_method\n\t\t\t\tstatic test() {\n\t\t\t\t\t$mol_assert_fail( ()=> App.foo(), 'Circular subscription' )\n\t\t\t\t}\t\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tApp.test()\n\t\t} ,\n\n\t\t// https://github.com/nin-jin/slides/tree/master/reactivity#wish-stability\n\t\t'Different order of pull and push'( $ ) {\n\t\t\n\t\t\tclass App extends $mol_object2 {\n\t\t\n\t\t\t\tstatic $ = $\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic store( next = 0 ) {\n\t\t\t\t\treturn next\n\t\t\t\t}\n\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic fast( next?: number ) {\n\t\t\t\t\treturn this.store( next )\n\t\t\t\t}\n\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic slow( next?: number ) {\n\t\t\t\t\treturn this.store( next )\n\t\t\t\t}\n\t\t\n\t\t\t}\n\t\t\t\n\t\t\tApp.fast()\n\t\t\t$mol_assert_equal( App.slow( 666 ), 666 )\n\t\t\t$mol_assert_equal( App.fast(), App.slow(), 666 )\n\t\t\t\n\t\t\tApp.store( 777 )\n\t\t\t$mol_assert_equal( App.fast(), App.slow(), 777 )\n\t\t\t\n\t\t} ,\n\t\t\n\t\t// https://github.com/nin-jin/slides/tree/master/reactivity#wish-stability\n\t\t'Actions inside invariant'( $ ) {\n\t\t\n\t\t\tclass App extends $mol_object2 {\n\t\t\n\t\t\t\tstatic $ = $\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic count( next = 0 ) {\n\t\t\t\t\treturn next\n\t\t\t\t}\n\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic count2() {\n\t\t\t\t\treturn this.count()\n\t\t\t\t}\n\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic res() {\n\t\t\t\t\tconst count = this.count2()\n\t\t\t\t\tif( !count ) this.count( count + 1 )\n\t\t\t\t\treturn count + 1\n\t\t\t\t}\n\t\t\n\t\t\t}\n\t\t\t\n\t\t\t$mol_assert_like( App.res(), 1 )\n\t\t\t\n\t\t\tApp.count( 5 )\n\t\t\t$mol_assert_like( App.res(), 6 )\n\n\t\t} ,\n\t\t\n\t\tasync 'Toggle with async'( $ ) {\n\t\t\n\t\t\tclass App extends $mol_object2 {\n\t\t\n\t\t\t\tstatic $ = $\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic checked( next = false ) {\n\t\t\t\t\t$$.$mol_wait_timeout(0)\n\t\t\t\t\treturn next\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t@ $mol_wire_method\n\t\t\t\tstatic toggle() {\n\t\t\t\t\tconst prev = this.checked()\n\t\t\t\t\t$mol_assert_unique( this.checked( !prev ), prev )\n\t\t\t\t\t// $mol_assert_equal( this.checked() , prev )\n\t\t\t\t}\n\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic res() {\n\t\t\t\t\treturn this.checked()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t@ $mol_wire_method\n\t\t\t\tstatic test() {\n\t\t\t\t\t\n\t\t\t\t\t$mol_assert_equal( App.res(), false )\n\t\t\t\t\t\n\t\t\t\t\tApp.toggle()\n\t\t\t\t\t$mol_assert_equal( App.res(), true )\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\n\t\t\t}\n\t\t\t\n\t\t\tawait $mol_wire_async( App ).test()\n\t\t\t\n\t\t} ,\n\n\t\t// // https://github.com/nin-jin/slides/tree/master/reactivity#wish-stability\n\t\t// 'Stable order of multiple root'( $ ) {\n\t\t\n\t\t// \tclass App extends $mol_object2 {\n\t\t\n\t\t// \t\tstatic $ = $\n\t\t\t\t\n\t\t// \t\tstatic counter = 0\n\t\t\t\t\n\t\t// \t\t@ $mol_wire_mem(0)\n\t\t// \t\tstatic left_trigger( next = 0 ) {\n\t\t// \t\t\treturn next\n\t\t// \t\t}\n\t\t\n\t\t// \t\t@ $mol_wire_mem(0)\n\t\t// \t\tstatic left_root() {\n\t\t// \t\t\tthis.left_trigger()\n\t\t// \t\t\treturn ++ this.counter\n\t\t// \t\t}\n\t\t\t\t\n\t\t// \t\t@ $mol_wire_mem(0)\n\t\t// \t\tstatic right_trigger( next = 0 ) {\n\t\t// \t\t\treturn next\n\t\t// \t\t}\n\t\t\t\t\n\t\t// \t\t@ $mol_wire_mem(0)\n\t\t// \t\tstatic right_root() {\n\t\t// \t\t\tthis.right_trigger()\n\t\t// \t\t\treturn ++ this.counter\n\t\t// \t\t}\n\t\t\n\t\t// \t}\n\t\t\t\n\t\t// \t$mol_assert_equal( App.left_root(), 1 )\n\t\t// \t$mol_assert_equal( App.right_root(), 2 )\n\t\t\t\n\t\t// \tApp.right_trigger( 1 )\n\t\t// \tApp.left_trigger( 1 )\n\t\t\t\n\t\t// \t$mol_wire_fiber.sync()\n\t\t\t\n\t\t// \t$mol_assert_equal( App.right_root(), 4 )\n\t\t// \t$mol_assert_equal( App.left_root(), 3 )\n\n\t\t// } ,\n\n\t\t// https://github.com/nin-jin/slides/tree/master/reactivity#error-store\n\t\t'Restore after error'( $ ) {\n\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\tstatic get $() { return $ }\n\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic condition( next = false ) { return next }\n\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic broken() {\n\t\t\t\t\t\n\t\t\t\t\tif( this.condition() ) {\n\t\t\t\t\t\t$mol_fail( new Error( 'test error' ) )\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\treturn 1\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic result() {\n\t\t\t\t\treturn this.broken()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\n\t\t\t$mol_assert_equal( App.result() , 1 )\n\t\t\t\n\t\t\tApp.condition( true )\n\t\t\t$mol_assert_fail( ()=> App.result() )\n\t\t\t\n\t\t\tApp.condition( false )\n\t\t\t$mol_assert_equal( App.result() , 1 )\n\n\t\t} ,\n\t\n\t\tasync 'Wait for data'($) {\n\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\t\t\t\t\n\t\t\t\tstatic async source() {\n\t\t\t\t\treturn 'Jin'\n\t\t\t\t}\n\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic middle() {\n\t\t\t\t\treturn $mol_wire_sync( this ).source()\n\t\t\t\t}\n\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic target() {\n\t\t\t\t\treturn this.middle()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t@ $mol_wire_method\n\t\t\t\tstatic test() {\n\t\t\t\t\t$mol_assert_equal( App.target() , 'Jin' )\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tawait $mol_wire_async( App ).test()\n\t\t},\n\n\t\t'Auto destroy on long alone'( $ ) {\n\n\t\t\tlet destroyed = false\n\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic showing( next = true ) {\n\t\t\t\t\treturn next\n\t\t\t\t}\n\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic details() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tdestructor() {\n\t\t\t\t\t\t\tdestroyed = true\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic render() {\n\t\t\t\t\treturn this.showing() ? this.details() : null\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tconst details = App.render()\n\t\t\t$mol_assert_ok( details )\n\n\t\t\tApp.showing( false )\n\t\t\t$mol_assert_not( App.render() )\n\t\t\t\n\t\t\tApp.showing( true )\n\t\t\t$mol_assert_equal( App.render() , details )\n\t\t\t\n\t\t\t$mol_wire_fiber.sync()\n\t\t\t$mol_assert_not( destroyed )\n\t\t\t\n\t\t\tApp.showing( false )\n\t\t\t$mol_wire_fiber.sync()\n\t\t\t$mol_assert_ok( destroyed )\n\n\t\t\tApp.showing( true )\n\t\t\t$mol_assert_unique( App.render() , details )\n\t\t\t\n\t\t},\n\n\t\t// https://github.com/nin-jin/slides/tree/master/reactivity#wish-stability\n\t\tasync 'Hold pubs while wait async task'($) {\n\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\t\t\t\t\n\t\t\t\tstatic counter = 0\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic resets( next?: null ): number {\n\t\t\t\t\treturn ( $mol_wire_probe( ()=> this.resets() ) ?? -1 ) + 1\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tstatic async wait() { }\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic value() {\n\t\t\t\t\treturn ++ this.counter\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic result() {\n\t\t\t\t\tif( this.resets() ) $mol_wire_sync( this ).wait()\n\t\t\t\t\treturn this.value()\n\t\t\t\t}\n\n\t\t\t\t@ $mol_wire_method\n\t\t\t\tstatic test() {\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\t$mol_assert_equal( App.result() , 1 )\n\t\t\t\n\t\t\tApp.resets( null )\n\t\t\t$mol_wire_fiber.sync()\n\t\t\t$mol_assert_equal( await $mol_wire_async( App ).result() , 1 )\n\t\t\t\n\t\t},\n\n\t\t'Memoize by single simple key' ($) {\n\n\t\t\tclass Team extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\n\t\t\t\t@ $mol_wire_mem(1)\n\t\t\t\tstatic user_name( user: string , next?: string ) {\n\t\t\t\t\treturn next ?? user\n\t\t\t\t}\n\n\t\t\t\t@ $mol_wire_mem(1)\n\t\t\t\tstatic user_names() {\n\t\t\t\t\treturn [\n\t\t\t\t\t\tthis.user_name( 'jin' ),\n\t\t\t\t\t\tthis.user_name( 'john' ),\n\t\t\t\t\t]\n\t\t\t\t}\n\n\t\t\t\t@ $mol_wire_method\n\t\t\t\tstatic test() {\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\t$mol_assert_like( Team.user_names(), [ 'jin', 'john' ] )\n\t\t\t\n\t\t\tTeam.user_name( 'jin', 'JIN' )\n\t\t\t$mol_assert_like( Team.user_names(), [ 'JIN', 'john' ] )\n\n\t\t} ,\n\n\t\t'Memoize by single complex key' ($) {\n\n\t\t\tclass Map extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\n\t\t\t\t@ $mol_wire_mem(1)\n\t\t\t\tstatic tile( pos: [ number, number ] ) {\n\t\t\t\t\treturn new String( `/tile=${pos}` )\n\t\t\t\t}\n\n\t\t\t\t@ $mol_wire_method\n\t\t\t\tstatic test() {\n\t\t\t\t\t\n\t\t\t\t\t$mol_assert_like( this.tile([0,1]), new String( '/tile=0,1' ) )\n\t\t\t\t\t$mol_assert_equal( this.tile([0,1]), this.tile([0,1]) )\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\n\t\t\tMap.test()\n\t\t} ,\n\n\t\t'Memoize by multiple keys' ($) {\n\n\t\t\tclass Map extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\n\t\t\t\t@ $mol_wire_mem(2)\n\t\t\t\tstatic tile( x: number, y: number ) {\n\t\t\t\t\treturn new String( `/tile=${x},${y}` )\n\t\t\t\t}\n\n\t\t\t\t@ $mol_wire_method\n\t\t\t\tstatic test() {\n\t\t\t\t\t\n\t\t\t\t\t$mol_assert_like( this.tile(0,1), new String( '/tile=0,1' ) )\n\t\t\t\t\t$mol_assert_equal( this.tile(0,1), this.tile(0,1) )\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\n\t\t\tMap.test()\n\t\t} ,\n\n\t\t'Owned value has js-path name' () {\n\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic title() {\n\t\t\t\t\treturn new $mol_object2\n\t\t\t\t}\n\n\t\t\t\t@ $mol_wire_mem(1)\n\t\t\t\tstatic like( friend: number ) {\n\t\t\t\t\treturn new $mol_object2\n\t\t\t\t}\n\n\t\t\t\t@ $mol_wire_mem(2)\n\t\t\t\tstatic relation( friend: number, props: [ number ] ) {\n\t\t\t\t\treturn new $mol_object2\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\t$mol_assert_equal( `${ App.title() }` , 'App.title()' )\n\t\t\t$mol_assert_equal( `${ App.like(123) }` , 'App.like(123)' )\n\t\t\t$mol_assert_equal( `${ App.relation(123,[456]) }` , 'App.relation(123,[456])' )\n\n\t\t} ,\n\n\t\t'Deep deps' ($) {\n\n\t\t\tclass Fib extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\t\t\t\t\n\t\t\t\tstatic sums = 0\n\n\t\t\t\t@ $mol_wire_mem(1)\n\t\t\t\tstatic value( index: number , next?: number ): number {\n\t\t\t\t\tif( next ) return next\n\t\t\t\t\tif( index < 2 ) return 1\n\t\t\t\t\t++ this.sums\n\t\t\t\t\treturn this.value( index - 1 ) + this.value( index - 2 )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\t$mol_assert_equal( Fib.value( 4 ), 5 )\n\t\t\t$mol_assert_equal( Fib.sums, 3 )\n\t\t\t\n\t\t\tFib.value( 1, 2 )\n\t\t\t$mol_assert_equal( Fib.value( 4 ), 8 )\n\t\t\t$mol_assert_equal( Fib.sums, 6 )\n\n\t\t} ,\n\n\t\t// 'Unsubscribe from temp pubs on complete' ($) {\n\n\t\t// \tclass Random extends $mol_object2 {\n\n\t\t// \t\tstatic $ = $\n\n\t\t// \t\t@ $mol_wire_method\n\t\t// \t\tstatic seed() {\n\t\t// \t\t\treturn Math.random()\n\t\t// \t\t}\n\t\t\t\t\n\t\t// \t\t@ $mol_wire_mem(0)\n\t\t// \t\tstatic resets( next?: null ) {\n\t\t// \t\t\treturn Math.random()\n\t\t// \t\t}\n\t\t\t\t\n\t\t// \t\t@ $mol_wire_mem(0)\n\t\t// \t\tstatic value() {\n\t\t// \t\t\tthis.resets()\n\t\t// \t\t\treturn this.seed()\n\t\t// \t\t}\n\n\t\t// \t}\n\t\t\t\n\t\t// \tconst first = Random.value()\n\t\t\t\n\t\t// \tRandom.resets( null )\n\t\t// \t$mol_assert_unique( Random.value(), first )\n\n\t\t// } ,\n\n\t})\n}\n","namespace $ {\n\t$mol_test({\n\t\t\n\t\t'Previous value'() {\n\n\t\t\tclass Cache extends $mol_object2 {\n\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic store( next?: Record< string, number > ): typeof next {\n\t\t\t\t\tif( !next ) return {}\n\t\t\t\t\treturn {\n\t\t\t\t\t\t... $mol_wire_probe( ()=> this.store() ) ?? {},\n\t\t\t\t\t\t... next,\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\t$mol_assert_like( Cache.store(), {} )\n\t\t\t\n\t\t\t$mol_assert_like( Cache.store({ foo: 666 }), { foo: 666 } )\n\t\t\t$mol_assert_like( Cache.store({ bar: 777 }), { foo: 666, bar: 777 } )\n\n\t\t} ,\n\t\t\n\t})\n}\n","/** @jsx $mol_jsx */\nnamespace $ {\n\t$mol_test({\n\t\t\n\t\t'Primitives'() {\n\t\t\t\n\t\t\t$mol_assert_equal( $mol_key( null ), 'null' )\n\t\t\t$mol_assert_equal( $mol_key( false ), 'false' )\n\t\t\t$mol_assert_equal( $mol_key( true ), 'true' )\n\t\t\t$mol_assert_equal( $mol_key( 0 ), '0' )\n\t\t\t$mol_assert_equal( $mol_key( '' ), '\"\"' )\n\t\t\t\n\t\t},\n\t\t\n\t\t'Array & POJO'() {\n\t\t\t\n\t\t\t$mol_assert_equal( $mol_key([ null ]), '[null]' )\n\t\t\t$mol_assert_equal( $mol_key({ foo: 0 }), '{\"foo\":0}' )\n\t\t\t$mol_assert_equal( $mol_key({ foo: [false] }), '{\"foo\":[false]}' )\n\t\t\t\n\t\t},\n\t\t\n\t\t'Function'() {\n\t\t\t\n\t\t\tconst func = ()=> {}\n\t\t\t$mol_assert_equal( $mol_key( func ), $mol_key( func ) )\n\t\t\t$mol_assert_unique( $mol_key( func ), $mol_key( ()=> {} ) )\n\t\t\t\n\t\t},\n\t\t\n\t\t'Objects'() {\n\t\t\t\n\t\t\tclass User {}\n\t\t\tconst jin = new User()\n\t\t\t\n\t\t\t$mol_assert_equal( $mol_key( jin ), $mol_key( jin ) )\n\t\t\t$mol_assert_unique( $mol_key( jin ), $mol_key( new User() ) )\n\t\t\t\n\t\t},\n\t\t\n\t\t'Elements'() {\n\t\t\t\n\t\t\tconst foo = <div>bar</div>\n\t\t\t\n\t\t\t$mol_assert_equal( $mol_key( foo ), $mol_key( foo ) )\n\t\t\t$mol_assert_unique( $mol_key( foo ), $mol_key( <div>bar</div> ) )\n\t\t\t\n\t\t},\n\t\t\n\t\t'Custom JSON representation'() {\n\t\t\t\n\t\t\tclass User {\n\t\t\t\tconstructor( public name: string, public age: number ) {}\n\t\t\t\ttoJSON() { return { name: this.name } }\n\t\t\t}\n\t\t\t\n\t\t\t$mol_assert_equal( $mol_key( new User( 'jin', 18 ) ), '{\"name\":\"jin\"}' )\n\t\t\t\n\t\t},\n\t\t\n\t\t'Special native classes'() {\n\t\t\t\n\t\t\t$mol_assert_equal( $mol_key( new Date( 'xyz' ) ), 'null' )\n\t\t\t$mol_assert_equal( $mol_key( new Date( '2001-01-02T03:04:05.678Z' ) ), '\"2001-01-02T03:04:05.678Z\"' )\n\t\t\t\n\t\t\t$mol_assert_equal( $mol_key( /./ ), '\"/./\"' )\n\t\t\t$mol_assert_equal( $mol_key( /\\./gimsu ), '\"/\\\\\\\\./gimsu\"' )\n\t\t\t\n\t\t},\n\t\t\n\t})\n}\n","namespace $ {\n\t\n\t$mol_wire_log.active()\n\n}\n","namespace $ {\n\t$mol_test( { \n\t\t\n\t\t'const returns stored value'() {\n\t\t\n\t\t\tconst foo = { bar : $mol_const( Math.random() ) }\n\t\t\t\n\t\t\t$mol_assert_equal( foo.bar() , foo.bar() )\n\t\t\t$mol_assert_equal( foo.bar() , foo.bar['()'] )\n\t\t\t\n\t\t} ,\n\n\t} )\n}\n","namespace $ {\n\t$mol_test({\n\t\t\n\t\t'Cached field' ($) {\n\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\t\t\t\t\n\t\t\t\t@ $mol_wire_field\n\t\t\t\tstatic low = 1\n\t\t\t\t\n\t\t\t\t@ $mol_wire_field\n\t\t\t\tstatic get high() {\n\t\t\t\t\treturn this.low + 1\n\t\t\t\t}\n\t\t\t\tstatic set high( next: number ) {\n\t\t\t\t\tthis.low = next - 1\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t@ $mol_wire_method\n\t\t\t\tstatic test() {\n\t\t\t\t\t\n\t\t\t\t\t$mol_assert_equal( App.high , 2 )\n\t\t\n\t\t\t\t\tApp.high = 3\n\t\t\t\t\t$mol_assert_equal( App.high , 3 )\n\t\t\t\t\t\n\t\t\t\t}\n\n\t\t\t}\n\t\t\t\n\t\t\tApp.test()\n\t\t},\n\n\t})\n}\n","namespace $ {\n\t$mol_test({\n\t\t\n\t\t'Watch one value' ($) {\n\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\t\t\t\tstatic set = new $mol_wire_set< number >()\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic lucky() {\n\t\t\t\t\treturn this.set.has( 777 )\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\t$mol_assert_equal( App.lucky(), false )\n\n\t\t\tApp.set.add( 666 )\n\t\t\t$mol_assert_equal( App.lucky(), false )\n\n\t\t\tApp.set.add( 777 )\n\t\t\t$mol_assert_equal( App.lucky(), true )\n\n\t\t\tApp.set.delete( 777 )\n\t\t\t$mol_assert_equal( App.lucky(), false )\n\n\t\t},\n\n\t\t'Watch item channel' ($) {\n\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\t\t\t\tstatic set = new $mol_wire_set< number >()\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic lucky() {\n\t\t\t\t\treturn this.set.item( 777 )\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\t$mol_assert_equal( App.lucky(), false )\n\n\t\t\tApp.set.item( 666, true )\n\t\t\t$mol_assert_equal( App.lucky(), false )\n\n\t\t\tApp.set.item( 777, true )\n\t\t\t$mol_assert_equal( App.lucky(), true )\n\n\t\t\tApp.set.item( 777, false )\n\t\t\t$mol_assert_equal( App.lucky(), false )\n\n\t\t},\n\n\t\t'Watch size' ($) {\n\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\t\t\t\tstatic set = new $mol_wire_set< number >()\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic size() {\n\t\t\t\t\treturn this.set.size\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\t$mol_assert_equal( App.size(), 0 )\n\n\t\t\tApp.set.add( 666 )\n\t\t\t$mol_assert_equal( App.size(), 1 )\n\n\t\t\tApp.set.add( 777 )\n\t\t\t$mol_assert_equal( App.size(), 2 )\n\n\t\t\tApp.set.delete( 777 )\n\t\t\t$mol_assert_equal( App.size(), 1 )\n\n\t\t},\n\n\t\t'Watch for-of' ($) {\n\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\t\t\t\tstatic set = new $mol_wire_set< number >()\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic sum() {\n\t\t\t\t\tlet res = 0\n\t\t\t\t\tfor( const val of this.set ) {\n\t\t\t\t\t\tres += val\n\t\t\t\t\t}\n\t\t\t\t\treturn res\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\t$mol_assert_equal( App.sum(), 0 )\n\n\t\t\tApp.set.add( 111 )\n\t\t\t$mol_assert_equal( App.sum(), 111 )\n\n\t\t\tApp.set.add( 222 )\n\t\t\t$mol_assert_equal( App.sum(), 333 )\n\n\t\t\tApp.set.delete( 111 )\n\t\t\t$mol_assert_equal( App.sum(), 222 )\n\n\t\t},\n\n\t\t'Watch forEach' ($) {\n\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\t\t\t\tstatic set = new $mol_wire_set< number >()\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic sum() {\n\t\t\t\t\tlet res = 0\n\t\t\t\t\tthis.set.forEach( val => res += val )\n\t\t\t\t\treturn res\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\t$mol_assert_equal( App.sum(), 0 )\n\n\t\t\tApp.set.add( 111 )\n\t\t\t$mol_assert_equal( App.sum(), 111 )\n\n\t\t\tApp.set.add( 222 )\n\t\t\t$mol_assert_equal( App.sum(), 333 )\n\n\t\t\tApp.set.delete( 111 )\n\t\t\t$mol_assert_equal( App.sum(), 222 )\n\t\t\t\n\t\t},\n\n\t})\n}\n","namespace $ {\n\t$mol_test({\n\t\t\n\t\t'Watch one value' ($) {\n\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\t\t\t\tstatic dict = new $mol_wire_dict< number, number >()\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic lucky() {\n\t\t\t\t\treturn this.dict.get( 777 )\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\t$mol_assert_equal( App.lucky(), undefined )\n\n\t\t\tApp.dict.set( 666, 6666 )\n\t\t\t$mol_assert_equal( App.lucky(), undefined )\n\n\t\t\tApp.dict.set( 777, 7777 )\n\t\t\t$mol_assert_equal( App.lucky(), 7777 )\n\n\t\t\tApp.dict.delete( 777 )\n\t\t\t$mol_assert_equal( App.lucky(), undefined )\n\n\t\t},\n\n\t\t'Watch item channel' ($) {\n\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\t\t\t\tstatic dict = new $mol_wire_dict< number, number >()\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic lucky() {\n\t\t\t\t\treturn this.dict.item( 777 )\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\t$mol_assert_equal( App.lucky(), null )\n\n\t\t\tApp.dict.item( 666, 6666 )\n\t\t\t$mol_assert_equal( App.lucky(), null )\n\n\t\t\tApp.dict.item( 777, 7777 )\n\t\t\t$mol_assert_equal( App.lucky(), 7777 )\n\n\t\t\tApp.dict.item( 777, null )\n\t\t\t$mol_assert_equal( App.lucky(), null )\n\n\t\t},\n\n\t\t'Watch size' ($) {\n\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\t\t\t\tstatic dict = new $mol_wire_dict< number, number >()\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic size() {\n\t\t\t\t\treturn this.dict.size\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\t$mol_assert_equal( App.size(), 0 )\n\n\t\t\tApp.dict.set( 666, 6666 )\n\t\t\t$mol_assert_equal( App.size(), 1 )\n\n\t\t\tApp.dict.set( 777, 7777 )\n\t\t\t$mol_assert_equal( App.size(), 2 )\n\n\t\t\tApp.dict.delete( 777 )\n\t\t\t$mol_assert_equal( App.size(), 1 )\n\n\t\t},\n\n\t\t'Watch for-of' ($) {\n\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\t\t\t\tstatic dict = new $mol_wire_dict< number, number >()\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic sum() {\n\t\t\t\t\tlet keys = 0\n\t\t\t\t\tlet vals = 0\n\t\t\t\t\tfor( const [ key, val ] of this.dict ) {\n\t\t\t\t\t\tkeys += key\n\t\t\t\t\t\tvals += val\n\t\t\t\t\t}\n\t\t\t\t\treturn [ keys, vals ]\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\t$mol_assert_like( App.sum(), [ 0, 0 ] )\n\n\t\t\tApp.dict.set( 111, 1111 )\n\t\t\t$mol_assert_like( App.sum(), [ 111, 1111 ] )\n\n\t\t\tApp.dict.set( 222, 2222 )\n\t\t\t$mol_assert_like( App.sum(), [ 333, 3333 ] )\n\n\t\t\tApp.dict.delete( 111 )\n\t\t\t$mol_assert_like( App.sum(), [ 222, 2222 ] )\n\n\t\t},\n\n\t\t'Watch forEach' ($) {\n\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\t\t\t\tstatic dict = new $mol_wire_dict< number, number >()\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic sum() {\n\t\t\t\t\tlet keys = 0\n\t\t\t\t\tlet vals = 0\n\t\t\t\t\tthis.dict.forEach( ( val, key )=> {\n\t\t\t\t\t\tkeys += key\n\t\t\t\t\t\tvals += val\n\t\t\t\t\t} )\n\t\t\t\t\treturn [ keys, vals ]\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\t$mol_assert_like( App.sum(), [ 0, 0 ] )\n\n\t\t\tApp.dict.set( 111, 1111 )\n\t\t\t$mol_assert_like( App.sum(), [ 111, 1111 ] )\n\n\t\t\tApp.dict.set( 222, 2222 )\n\t\t\t$mol_assert_like( App.sum(), [ 333, 3333 ] )\n\n\t\t\tApp.dict.delete( 111 )\n\t\t\t$mol_assert_like( App.sum(), [ 222, 2222 ] )\n\t\t\t\n\t\t},\n\n\t})\n}\n"]}