mol_plot_all 1.2.1530 → 1.2.1532
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 +3 -0
- package/node.test.js.map +1 -1
- package/package.json +1 -1
- package/web.test.js +3 -0
- package/web.test.js.map +1 -1
package/web.test.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../mol/test/test.test.ts","../../../../mol/test/test.web.test.ts","../../../../mol/dom/serialize/serialize.ts","../../../../mol/jsx/jsx.test.tsx","../../../../mol/range2/range2.ts","../../../../mol/range2/range2.test.ts","../../../../mol/compare/deep/deep.test.tsx","../../../../mol/assert/assert.ts","../../../../mol/assert/assert.test.ts","../../../../mol/log3/log3.test.ts","../../../../mol/func/name/name.test.ts","../../../../mol/delegate/delegate.test.ts","../../../../mol/object/object.test.ts","../../../../mol/wire/pub/sub/sub.test.ts","../../../../mol/after/mock/mock.test.ts","../../../../mol/after/tick/tick.test.ts","../../../../mol/wire/fiber/fiber.test.ts","../../../../mol/after/timeout/timeout.test.ts","../../../../mol/wire/async/async.test.ts","../../../../mol/wire/sync/sync.test.ts","../../../../mol/after/work/work.ts","../../../../mol/after/work/work.test.ts","../../../../mol/wait/rest/rest.ts","../../../../mol/wait/rest/rest.test.ts","../../../../mol/wait/timeout/timeout.ts","../../../../mol/wait/timeout/timeout.test.ts","../../../../mol/wire/solo/solo.test.ts","../../../../mol/wire/plex/plex.test.ts","../../../../mol/wire/probe/probe.test.ts","../../../../mol/after/frame/frame.test.ts","../../../../mol/key/key.test.tsx","../../../../mol/try/try.test.ts","../../../../mol/fail/log/log.test.ts","../../../../mol/wire/log/log.ts","../../../../mol/wire/atom/atom.test.ts","../../../../mol/state/arg/arg.web.test.ts","../../../../mol/state/local/local.test.ts","../../../../mol/state/local/local.mock.test.ts","../../../../mol/maybe/maybe.test.ts","../../../../mol/wrapper/wrapper.test.ts","../../../../mol/memo/memo.test.ts","../../../../mol/const/const.test.ts","../../../../mol/view/view/view.test.ts","../../../../mol/vector/vector.test.ts"],"names":[],"mappings":"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","sourcesContent":["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( $mol_promise_like( res ) ) {\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\tawait $mol_test_run()\n\t\t\t$$.$mol_test_complete()\n\t\t\t\n\t\t} , 1000 )\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' ] as const\n\n\t\tfor( let api of forbidden ) {\n\t\t\tcontext[ api ] = new Proxy( function(){} as any , {\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 function $mol_test_complete() {\n\t}\n\t\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","/** @jsx $mol_jsx */\n/** @jsxFrag $mol_jsx_frag */\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'Make fragment'() {\n\n\t\t\tconst dom =\n\t\t\t\t<>\n\t\t\t\t\t<br />\n\t\t\t\t\t<hr />\n\t\t\t\t</>\n\t\t\t\n\t\t\t$mol_assert_equal( $mol_dom_serialize( dom ), '<br xmlns=\"http://www.w3.org/1999/xhtml\" /><hr xmlns=\"http://www.w3.org/1999/xhtml\" />' )\n\n\t\t} ,\n\n\t\t'Spread fragment'() {\n\n\t\t\tconst dom =\n\t\t\t\t<div>\n\t\t\t\t\t<>\n\t\t\t\t\t\t<br />\n\t\t\t\t\t\t<hr />\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><br><hr></div>' )\n\n\t\t} ,\n\n\t\t'Function as component'() {\n\n\t\t\tconst Button = (\n\t\t\t\tprops: { hint: string },\n\t\t\t\ttarget: ()=> string,\n\t\t\t) => {\n\t\t\t\treturn <button title={ props.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 id=\"foo\" title=\"click me\" class=\"Button\">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 }<i id=\"label\"/></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\" class=\"Foo\"><span id=\"foo/bar\" class=\"Foo_bar Bar\"><img id=\"foo/icon\" class=\"Foo_icon\"><i id=\"foo/bar/label\" class=\"Foo_bar_label Bar_label\"></i></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 \"foo/bar\"' )\n\t\t\t\n\t\t} ,\n\t\t\n\t\t'Owner based guid generationn'() {\n\n\t\t\tconst Foo = ()=> {\n\t\t\t\treturn <div>\n\t\t\t\t\t<Bar id=\"middle\" icon={ ()=> <img id=\"icon\" /> } />\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>{ props.icon() }</span>\n\t\t\t}\n\n\t\t\tconst dom = <Foo id=\"app\" />\n\n\t\t\t$mol_assert_equal( dom.outerHTML, '<div id=\"app\" class=\"Foo\"><span id=\"app/middle\" class=\"Foo_middle Bar\"><img id=\"app/icon\" class=\"Foo_icon\"></span></div>' )\n\t\t\t\n\t\t} ,\n\t\t\n\t\t'Fail on same ids from different caller'() {\n\n\t\t\tconst Foo = ()=> {\n\t\t\t\treturn <div>\n\t\t\t\t\t<img id=\"icon\" />\n\t\t\t\t\t<Bar id=\"bar\" icon={ ()=> <img id=\"icon\" /> } />\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>{ props.icon() }</span>\n\t\t\t}\n\n\t\t\t$mol_assert_fail( ()=> <Foo id=\"foo\" />, 'JSX already has tag with id \"foo/icon\"' )\n\t\t\t\n\t\t} ,\n\t\t\n\t})\n\t\n}\n","namespace $ {\n\n\t/** Lazy computed lists with native Array interface. $mol_range2_array is mutable but all derived ranges are immutable. */\n\texport function $mol_range2< Item = number >(\n\t\titem: Item[] | ( ( index : number )=> Item ) = index => index as any ,\n\t\tsize = ()=> Number.POSITIVE_INFINITY ,\n\t): Item[] {\n\t\t\n\t\tconst source = typeof item === 'function' ? new $mol_range2_array< Item >() : item\n\t\t\n\t\tif( typeof item !== 'function' ) {\n\t\t\titem = index => source[ index ]\n\t\t\tsize = ()=> source.length\n\t\t}\n\n\t\treturn new Proxy( source , {\n\n\t\t\tget( target , field ) {\n\n\t\t\t\tif( typeof field === 'string' ) {\n\t\t\t\t\tif( field === 'length' ) return size()\n\t\t\t\t\t\n\t\t\t\t\tconst index = Number( field )\n\t\t\t\t\tif( index < 0 ) return undefined\n\t\t\t\t\tif( index >= size() ) return undefined\n\t\t\t\t\tif( index === Math.trunc( index ) ) return ( item as any )( index )\n\t\t\t\t}\n\n\t\t\t\treturn $mol_range2_array.prototype[ field as any ]\n\t\t\t} ,\n\n\t\t\tset( target , field ) {\n\t\t\t\treturn $mol_fail( new TypeError( `Lazy range is read only (trying to set field ${ JSON.stringify( field ) })` ) )\n\t\t\t} ,\n\n\t\t\townKeys( target ) {\n\t\t\t\treturn [ ... Array( size() ) ].map( ( v, i ) => String( i ) ).concat( 'length' )\n\t\t\t} ,\n\n\t\t\tgetOwnPropertyDescriptor( target , field ) : PropertyDescriptor | undefined {\n\t\t\t\t\n\t\t\t\tif( field === \"length\" ) return {\n\t\t\t\t\tvalue : size() ,\n\t\t\t\t\twritable : true ,\n\t\t\t\t\tenumerable : false ,\n\t\t\t\t\tconfigurable : false ,\n\t\t\t\t}\n\n\t\t\t\tconst index = Number( field )\n\t\t\t\tif( index === Math.trunc( index ) ) return {\n\t\t\t\t\tget : ()=> this.get!( target , field , this ) ,\n\t\t\t\t\tenumerable : true ,\n\t\t\t\t\tconfigurable : true ,\n\t\t\t\t}\n\n\t\t\t\treturn Object.getOwnPropertyDescriptor( target , field )\n\t\t\t}\n\n\t\t} )\n\n\t}\n\n\texport class $mol_range2_array< Item > extends Array< Item > {\n\t\t\n\t\t// Lazy\n\t\tconcat( ... tail : Item[][] ) : Item[] {\n\t\t\tif( tail.length === 0 ) return this as any\n\n\t\t\tif( tail.length > 1 ) {\n\t\t\t\tlet list = this as any\n\t\t\t\tfor( let item of tail ) list = list.concat( item )\n\t\t\t\treturn list\n\t\t\t}\n\t\t\t\n\t\t\treturn $mol_range2(\n\t\t\t\tindex => index < this.length ? this[ index ] : tail[0][ index - this.length ] ,\n\t\t\t\t()=> this.length + tail[0].length ,\n\t\t\t)\n\t\t}\n\n\t\t// Lazy\n\t\tfilter< Context > (\n\t\t\tcheck : ( val : Item , index : number , list : Item[] )=> boolean ,\n\t\t\tcontext? : Context ,\n\t\t) {\n\t\t\t\n\t\t\tconst filtered = [] as Item[]\n\t\t\tlet cursor = -1\n\t\t\t\n\t\t\treturn $mol_range2(\n\t\t\t\tindex => {\n\t\t\t\t\t\n\t\t\t\t\twhile( cursor < this.length && index >= filtered.length - 1 ) {\n\t\t\t\t\t\tconst val = this[ ++ cursor ]\n\t\t\t\t\t\tif( check( val, cursor, this ) ) filtered.push( val )\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\treturn filtered[ index ]\n\t\t\t\t},\n\t\t\t\t()=> cursor < this.length ? Number.POSITIVE_INFINITY : filtered.length,\n\t\t\t)\n\t\t\t\n\t\t}\n\n\t\t// Diligent\n\t\tforEach< Context > (\n\t\t\tproceed : ( this : Context , val : Item , index : number , list : Item[] )=> void ,\n\t\t\tcontext? : Context,\n\t\t) {\n\t\t\tfor( let [ key , value ] of this.entries() ) proceed.call( context as Context , value , key , this )\n\t\t}\n\n\t\t// Lazy\n\t\tmap< Item_out , Context > (\n\t\t\tproceed : ( this : Context , val : Item , index : number , list : Item[] )=> Item_out ,\n\t\t\tcontext? : Context ,\n\t\t) : Item_out[] {\n\t\t\treturn $mol_range2(\n\t\t\t\tindex => proceed.call( context as Context , this[ index ] , index , this ) ,\n\t\t\t\t()=> this.length ,\n\t\t\t)\n\t\t}\n\n\t\t// Diligent\n\t\treduce< Result > (\n\t\t\tmerge : ( result : Result , val : Item , index : number , list : Item[] )=> Result ,\n\t\t\tresult? : Result ,\n\t\t) {\n\t\t\tlet index = 0\n\n\t\t\tif( arguments.length === 1 ) {\n\t\t\t\tresult = this[ index ++ ] as any\n\t\t\t}\n\t\t\t\n\t\t\tfor( ; index < this.length ; ++ index ) {\n\t\t\t\tresult = merge( result as Result , this[ index ] , index , this as any )\n\t\t\t}\n\t\t\t\n\t\t\treturn result\n\t\t}\n\n\t\t// Lazy\n\t\ttoReversed(): Item[] {\n\t\t\treturn $mol_range2(\n\t\t\t\tindex => this[ this.length - 1 - index ] ,\n\t\t\t\t()=> this.length ,\n\t\t\t)\n\t\t}\n\n\t\t// Lazy\n\t\tslice( from = 0 , to = this.length ) {\n\t\t\treturn $mol_range2(\n\t\t\t\tindex => this[ from + index ] ,\n\t\t\t\t()=> Math.min( to , this.length ) - from ,\n\t\t\t)\n\t\t}\n\n\t\t// Lazy\n\t\tsome< Context > (\n\t\t\tcheck : ( this : Context , val : Item , index : number , list : Item[] )=> boolean ,\n\t\t\tcontext? : Context ,\n\t\t) {\n\t\t\tfor( let index = 0 ; index < this.length ; ++ index ) {\n\t\t\t\tif( check.call( context as Context , this[ index ] , index , this ) ) return true\n\t\t\t}\n\t\t\treturn false\n\t\t}\n\n\t\t// Lazy\n\t\tevery< Narrow extends Item, Context = null >( check: ( value: Item, index: number, array: Item[] )=> value is Narrow, context?: Context ): this is Narrow[]\n\t\tevery< Context = null > (\n\t\t\tcheck : ( this : Context , val : Item , index : number , list : Item[] )=> boolean ,\n\t\t\tcontext? : Context ,\n\t\t) {\n\t\t\tfor( let index = 0 ; index < this.length ; ++ index ) {\n\t\t\t\tif( !check.call( context as Context , this[ index ] , index , this as any as Item[] ) ) return false\n\t\t\t}\n\t\t\treturn true\n\t\t}\n\n\t\treverse() {\n\t\t\treturn $mol_fail( new TypeError( `Mutable reverse is forbidden. Use toReversed instead.` ) )\n\t\t}\n\n\t\tsort() {\n\t\t\treturn $mol_fail( new TypeError( `Mutable sort is forbidden. Use toSorted instead.` ) )\n\t\t}\n\t\t\n\t\t[Symbol.toPrimitive]() {\n\t\t\treturn $mol_guid()\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\n\t$mol_test({\n\n\t\t'lazy calls'() {\n\n\t\t\tlet calls = 0\n\t\t\t\n\t\t\tconst list = $mol_range2( index => ( ++ calls , index ) , ()=> 10 )\n\n\t\t\t$mol_assert_equal( true, list instanceof Array )\n\t\t\t$mol_assert_equal( list.length , 10 )\n\n\t\t\t$mol_assert_equal( list[-1] , undefined )\n\t\t\t$mol_assert_equal( list[0] , 0 )\n\t\t\t$mol_assert_equal( list[9] , 9 )\n\t\t\t$mol_assert_equal( list[9.5] , undefined )\n\t\t\t$mol_assert_equal( list[10] , undefined )\n\n\t\t\t$mol_assert_equal( calls , 2 )\n\n\t\t} ,\n\n\t\t'infinity list'() {\n\n\t\t\tlet calls = 0\n\t\t\t\n\t\t\tconst list = $mol_range2( index => ( ++ calls , index ) )\n\n\t\t\t$mol_assert_equal( list.length , Number.POSITIVE_INFINITY )\n\n\t\t\t$mol_assert_equal( list[0] , 0 )\n\t\t\t$mol_assert_equal( list[4] , 4 )\n\t\t\t$mol_assert_equal( list[Number.MAX_SAFE_INTEGER] , Number.MAX_SAFE_INTEGER )\n\t\t\t$mol_assert_equal( list[Number.POSITIVE_INFINITY] , undefined )\n\t\t\t\n\t\t\t$mol_assert_equal( calls , 3 )\n\n\t\t} ,\n\n\t\t'stringify'() {\n\n\t\t\tconst list = $mol_range2( i => i , ()=> 5 )\n\n\t\t\t$mol_assert_equal( list.toString() , '0,1,2,3,4' )\n\t\t\t$mol_assert_equal( list.join(';') , '0;1;2;3;4' )\n\n\t\t} ,\n\n\t\t'for-of'() {\n\n\t\t\tlet log = ''\n\n\t\t\tfor( let i of $mol_range2( i => i + 1 , ()=> 5 ) ) {\n\t\t\t\tlog += i\n\t\t\t}\n\n\t\t\t$mol_assert_equal( log , '12345' )\n\n\t\t} ,\n\n\t\t'for-in'() {\n\n\t\t\tlet log = ''\n\n\t\t\tfor( let i in $mol_range2( i => i , ()=> 5 ) ) {\n\t\t\t\tlog += i\n\t\t\t}\n\n\t\t\t$mol_assert_equal( log , '01234' )\n\n\t\t} ,\n\n\t\t'forEach'() {\n\n\t\t\tlet log = ''\n\n\t\t\t$mol_range2( i => i , ()=> 5 ).forEach( i => log += i )\n\n\t\t\t$mol_assert_equal( log , '01234' )\n\n\t\t} ,\n\n\t\t'reduce'() {\n\n\t\t\tlet calls = 0\n\t\t\t\n\t\t\tconst list = $mol_range2().slice( 1 , 6 )\n\n\t\t\t$mol_assert_equal( list.reduce( ( s , v )=> s + v ) , 15 )\n\t\t\t$mol_assert_equal( list.reduce( ( s , v )=> s + v , 5 ) , 20 )\n\n\t\t} ,\n\n\t\t'lazy concat'() {\n\n\t\t\tlet calls1 = 0\n\t\t\tlet calls2 = 0\n\t\t\t\n\t\t\tconst list = $mol_range2( index => ( ++ calls1 , index ) , ()=> 5 ).concat(\n\t\t\t\t[ 0 , 1 , 2 , 3 , 4 ] ,\n\t\t\t\t$mol_range2( index => ( ++ calls2 , index ) , ()=> 5 ) ,\n\t\t\t)\n\n\t\t\t$mol_assert_equal( true, list instanceof Array )\n\t\t\t$mol_assert_equal( list.length , 15 )\n\n\t\t\t$mol_assert_equal( list[0] , 0 )\n\t\t\t$mol_assert_equal( list[4] , 4 )\n\t\t\t$mol_assert_equal( list[5] , 0 )\n\t\t\t$mol_assert_equal( list[9] , 4 )\n\t\t\t$mol_assert_equal( list[10] , 0 )\n\t\t\t$mol_assert_equal( list[14] , 4 )\n\t\t\t$mol_assert_equal( list[15] , undefined )\n\t\t\t\n\t\t\t$mol_assert_equal( calls1 , 2 )\n\t\t\t$mol_assert_equal( calls2 , 2 )\n\n\t\t} ,\n\n\t\t'lazy filter'() {\n\n\t\t\tlet calls = 0\n\t\t\t\n\t\t\tconst list = $mol_range2( index => ( ++ calls , index ) , ()=> 15 ).filter( v => v % 2 ).slice( 0 , 3 )\n\n\t\t\t$mol_assert_equal( true, list instanceof Array )\n\t\t\t$mol_assert_equal( list.length , 3 )\n\n\t\t\t$mol_assert_equal( list[0] , 1 )\n\t\t\t$mol_assert_equal( list[2] , 5 )\n\t\t\t$mol_assert_equal( list[3] , undefined )\n\t\t\t\n\t\t\t$mol_assert_equal( calls , 8 )\n\n\t\t} ,\n\n\t\t'lazy reverse'() {\n\t\t\tlet calls = 0\n\n\t\t\tconst list = $mol_range2( index => ( ++ calls , index ) , ()=> 10 ).toReversed().slice(0, 3)\n\n\t\t\t$mol_assert_equal( true, list instanceof Array )\n\t\t\t$mol_assert_equal( list.length , 3 )\n\n\t\t\t$mol_assert_equal( list[0] , 9 )\n\t\t\t$mol_assert_equal( list[2] , 7 )\n\t\t\t$mol_assert_equal( list[3] , undefined )\n\t\t\t$mol_assert_equal( calls , 2 )\n\n\t\t} ,\n\n\t\t'lazy map'() {\n\n\t\t\tlet calls1 = 0\n\t\t\tlet calls2 = 0\n\t\t\t\n\t\t\tconst source = $mol_range2( index => ( ++ calls1 , index ) , ()=> 5 )\n\t\t\tconst target = source.map(\n\t\t\t\t( item , index , self )=> {\n\t\t\t\t\t++ calls2\n\t\t\t\t\t$mol_assert_equal( source , self )\n\t\t\t\t\treturn index + 10\n\t\t\t\t} ,\n\t\t\t\t()=> 5 ,\n\t\t\t)\n\n\t\t\t$mol_assert_equal( true, target instanceof Array )\n\t\t\t$mol_assert_equal( target.length , 5 )\n\n\t\t\t$mol_assert_equal( target[0] , 10 )\n\t\t\t$mol_assert_equal( target[4] , 14 )\n\t\t\t$mol_assert_equal( target[5] , undefined )\n\t\t\t\n\t\t\t$mol_assert_equal( calls1 , 2 )\n\t\t\t$mol_assert_equal( calls2 , 2 )\n\n\t\t} ,\n\n\t\t'lazy slice'() {\n\n\t\t\tlet calls = 0\n\t\t\t\n\t\t\tconst list = $mol_range2( index => ( ++ calls , index ) , ()=> 10 ).slice( 3 , 7 )\n\n\t\t\t$mol_assert_equal( true, list instanceof Array )\n\t\t\t$mol_assert_equal( list.length , 4 )\n\n\t\t\t$mol_assert_equal( list[0] , 3 )\n\t\t\t$mol_assert_equal( list[3] , 6 )\n\t\t\t$mol_assert_equal( list[4] , undefined )\n\t\t\t\n\t\t\t$mol_assert_equal( calls , 2 )\n\n\t\t} ,\n\n\t\t'lazy some'() {\n\n\t\t\tlet calls = 0\n\t\t\t\n\t\t\t$mol_assert_equal( true, $mol_range2( index => ( ++ calls , index ) , ()=> 5 ).some( v => v >= 2 ) )\n\n\t\t\t$mol_assert_equal( calls , 3 )\n\n\t\t\t$mol_assert_equal( false, $mol_range2( i => i , ()=> 0 ).some( v => true ) )\n\t\t\t$mol_assert_equal( true, $mol_range2( i => i ).some( v => v > 5 ) )\n\t\t} ,\n\n\t\t'lazy every'() {\n\n\t\t\tlet calls = 0\n\t\t\t\n\t\t\t$mol_assert_equal( false, $mol_range2( index => ( ++ calls , index ) , ()=> 5 ).every( v => v < 2 ) )\n\n\t\t\t$mol_assert_equal( calls , 3 )\n\n\t\t\t$mol_assert_equal( true, $mol_range2( i => i , ()=> 0 ).every( v => false ) )\n\t\t\t$mol_assert_equal( false, $mol_range2( i => i ).every( v => v < 5 ) )\n\t\t} ,\n\n\t\t'lazyfy'() {\n\n\t\t\tlet calls = 0\n\t\t\t\n\t\t\tconst list = $mol_range2([ 0 , 1 , 2 , 3 , 4 , 5 ]).map( i => ( ++ calls , i + 10 ) ).slice( 2 )\n\n\t\t\t$mol_assert_equal( true, list instanceof Array )\n\t\t\t$mol_assert_equal( list.length , 4 )\n\n\t\t\t$mol_assert_equal( calls , 0 )\n\t\t\t\n\t\t\t$mol_assert_equal( list[0] , 12 )\n\t\t\t$mol_assert_equal( list[3] , 15 )\n\t\t\t$mol_assert_equal( list[4] , undefined )\n\t\t\t\n\t\t\t$mol_assert_equal( calls , 2 )\n\n\t\t} ,\n\n\t\t'prevent modification'() {\n\n\t\t\tconst list = $mol_range2( i => i , ()=> 5 )\n\n\t\t\t$mol_assert_fail( ()=> list.push( 4 ) , TypeError )\n\t\t\t$mol_assert_fail( ()=> list.pop() , TypeError )\n\t\t\t\n\t\t\t$mol_assert_fail( ()=> list.unshift( 4 ) , TypeError )\n\t\t\t$mol_assert_fail( ()=> list.shift() , TypeError )\n\t\t\t\n\t\t\t$mol_assert_fail( ()=> list.splice( 1 , 2 ) , TypeError )\n\t\t\t$mol_assert_fail( ()=> list[ 1 ] = 2 , TypeError )\n\t\t\t\n\t\t\t$mol_assert_fail( ()=> list.reverse() , TypeError )\n\t\t\t$mol_assert_fail( ()=> list.sort() , TypeError )\n\n\t\t\t$mol_assert_equal( list.toString() , '0,1,2,3,4' )\n\n\t\t}\n\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_not( $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\t$mol_assert_ok( $mol_compare_deep( Object.create(null), Object.create(null) ) )\n\t\t} ,\n\n\t\t'Array'() {\n\t\t\t\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\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\t\n\t\t\t$mol_assert_not( $mol_compare_deep( $mol_range2().slice(0,0), new Array() ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( $mol_range2(), $mol_range2() ) )\n\t\t\t\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'POJO with symbols'() {\n\t\t\tconst sym = Symbol()\n\t\t\t$mol_assert_ok( $mol_compare_deep( { [ sym ]: true }, { [ sym ]: true } ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( { [ Symbol() ]: true }, { [ Symbol() ]: true } ) )\n\t\t} ,\n\n\t\t'same POJOs with cyclic reference'() {\n\n\t\t\tconst a = { foo : {} }\n\t\t\t;(a as any)['self'] = a\n\n\t\t\tconst b = { foo : {} }\n\t\t\t;(b as any)['self'] = b\n\n\t\t\t$mol_assert_ok( $mol_compare_deep( a , b ) )\n\n\t\t} ,\n\n\t\t'same POJOs with cyclic reference with cache warmup'() {\n\t\t\tconst obj1 = { test: 1, obj3: null as unknown as Object }\n\t\t\tconst obj1_copy = { test: 1, obj3: null as unknown as Object }\n\t\t\tconst obj2 = { test: 2, obj1 }\n\t\t\tconst obj2_copy = { test: 2, obj1: obj1_copy }\n\t\t\tconst obj3 = { test: 3, obj2 }\n\t\t\tconst obj3_copy = { test: 3, obj2: obj2_copy }\n\n\t\t\tobj1.obj3 = obj3\n\t\t\tobj1_copy.obj3 = obj3_copy\n\n\t\t\t// warmup cache\n\t\t\t$mol_assert_not( $mol_compare_deep( obj1 , {} as any ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( obj2 , {} as any ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( obj3 , {} as any ) )\n\n\t\t\t$mol_assert_ok( $mol_compare_deep( obj3 , obj3_copy ) )\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_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([ [ [3] , 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'DataView'() {\n\t\t\t$mol_assert_ok( $mol_compare_deep( new DataView( new Uint8Array().buffer ) , new DataView( new Uint8Array().buffer ) ) )\n\t\t\t$mol_assert_ok( $mol_compare_deep( new DataView( new Uint8Array([ 0 ]).buffer ) , new DataView( new Uint8Array([ 0 ]).buffer ) ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( new DataView( new Uint8Array([ 0 ]). buffer ) , new DataView( new Uint8Array([ 1 ]).buffer ) ) )\n\t\t} ,\n\t\t\n\t\t'Serializale'() {\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\t'Iterable'() {\n\t\t\t$mol_assert_ok( $mol_compare_deep( new URLSearchParams({ foo: 'bar' }), new URLSearchParams({ foo: 'bar' }) ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( new URLSearchParams({ foo: 'xxx' }), new URLSearchParams({ foo: 'yyy' }) ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( new URLSearchParams({ foo: 'xxx', bar: 'yyy' }), new URLSearchParams({ bar: 'yyy', foo: 'xxx' }) ) )\n\t\t} ,\n\t\t\n\t})\n\n}\n","namespace $ {\n\t\n\t/**\n\t * Argument must be Truthy\n\t * @deprecated use $mol_assert_equal instead\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\t/**\n\t * Argument must be Falsy\n\t * @deprecated use $mol_assert_equal instead\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\t/**\n\t * Handler must throw an error.\n\t * @example\n\t * $mol_assert_fail( ()=>{ throw new Error( 'Parse error' ) } ) // Passes because throws error\n\t * $mol_assert_fail( ()=>{ throw new Error( 'Parse error' ) } , 'Parse error' ) // Passes because throws right message\n\t * $mol_assert_fail( ()=>{ throw new Error( 'Parse error' ) } , Error ) // Passes because throws right class\n\t * @see https://mol.hyoo.ru/#!section=docs/=9q9dv3_fgxjsf\n\t */\n\texport function $mol_assert_fail(\n\t\thandler: ()=> any ,\n\t\tErrorRight: string | typeof Error | typeof Promise\n\t) {\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\t$.$mol_fail = fail\n\n\t\t\tif( typeof ErrorRight === 'string' ) {\n\t\t\t\t$mol_assert_equal( error.message ?? error, ErrorRight )\n\t\t\t} else {\n\t\t\t\t$mol_assert_equal( error instanceof ErrorRight, true )\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\t/** @deprecated Use $mol_assert_equal */\n\texport function $mol_assert_like< Value >( ... args : [ Value, Value, ...Value[] ] ) {\n\t\t$mol_assert_equal( ... args )\n\t}\n\t\n\t/**\n\t * All arguments must not be structural equal to each other.\n\t * @example\n\t * $mol_assert_unique( 1 , 2 , 3 ) // Passes\n\t * $mol_assert_unique( 1 , 1 , 2 ) // Fails because 1 === 1\n\t * @see https://mol.hyoo.ru/#!section=docs/=9q9dv3_fgxjsf\n\t */\n\texport function $mol_assert_unique( ... args : [ any, any, ...any[] ] ) {\n\t\t\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\t\n\t\t\t\tif( i === j ) continue\n\t\t\t\tif( !$mol_compare_deep( args[i], args[j] ) ) continue\n\t\t\t\t\n\t\t\t\treturn $mol_fail( new Error(\n\t\t\t\t\t`Uniquesess assertion failure`,\n\t\t\t\t\t{ cause: { [i]: args[i], [i]: args[i] } },\n\t\t\t\t) )\n\t\t\t\t\n\t\t\t}\n\t\t}\n\t\t\n\t}\n\t\n\t/**\n\t * All arguments must be structural equal each other.\n\t * @example\n\t * $mol_assert_like( [1] , [1] , [1] ) // Passes\n\t * $mol_assert_like( [1] , [1] , [2] ) // Fails because 1 !== 2\n\t * @see https://mol.hyoo.ru/#!section=docs/=9q9dv3_fgxjsf\n\t */\n\texport function $mol_assert_equal< Value >( ... args : Value[] ) {\n\t\tfor( let i = 1 ; i < args.length ; ++i ) {\n\t\t\t\n\t\t\tif( $mol_compare_deep( args[0] , args[i] ) ) continue\n\t\t\tif( args[0] instanceof $mol_dom_context.Element && args[i] instanceof $mol_dom_context.Element && args[0].outerHTML === ( args[i] as Element ).outerHTML ) continue\n\t\t\t\n\t\t\treturn $mol_fail( new Error(\n\t\t\t\t`Equality assertion failure`,\n\t\t\t\t{ cause: { 0: args[0], [i]: args[i] } },\n\t\t\t) )\n\t\t\t\n\t\t}\n\t}\n\t\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( [ 2 ] , [ 3 ] )\n\t\t} ,\n\t\t\n\t\t'three must be unique'() {\n\t\t\t$mol_assert_unique( [ 1 ] , [ 2 ] , [ 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\n\t\t'two object must be alike'() {\n\t\t\t$mol_assert_like( { a: 1 }, { a: 1 } )\n\t\t} ,\n\n\t\t'three object must be alike'() {\n\t\t\t$mol_assert_like( { a: 1 }, { a: 1 }, { a: 1 } )\n\t\t} ,\n\t\t\n\t} )\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\n\t$mol_test({\n\t\t\n\t\t'FQN of anon function'($) {\n\t\t\tconst $$ = Object.assign( $ , { $mol_func_name_test : ( ()=> ()=> {} )() } )\n\t\t\t$mol_assert_equal( $$.$mol_func_name_test.name , '' )\n\t\t\t$mol_assert_equal( $$.$mol_func_name( $$.$mol_func_name_test ) , '$mol_func_name_test' )\n\t\t\t$mol_assert_equal( $$.$mol_func_name_test.name , '$mol_func_name_test' )\n\t\t},\n\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","namespace $ {\n\t$mol_test( {\n\t\t\n\t\t'init with overload'() {\n\t\t\tclass X extends $mol_object {\n\t\t\t\tfoo() {\n\t\t\t\t\treturn 1\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tvar x = X.make({\n\t\t\t\tfoo : ()=> 2 ,\n\t\t\t})\n\t\t\t\n\t\t\t$mol_assert_equal( x.foo() , 2 )\n\t\t} ,\n\t\t\t\n\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_mocks.push( $ => {\n\t\t$.$mol_after_tick = $mol_after_mock_commmon as any as typeof $mol_after_tick\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( $mol_promise_like( error ) ) $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\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({\n\t\t'test types'( $ ) {\n\t\t\tclass A {\n\t\t\t\tstatic a() {\n\t\t\t\t\treturn ''\n\t\t\t\t}\n\t\t\t\tstatic b() {\n\t\t\t\t\treturn $mol_wire_async(this).a()\n\t\t\t\t}\n\t\t\t}\n\n\t\t\ttype Check = $mol_type_assert<ReturnType<typeof A['b']>, Promise<string>>\n\t\t},\n\t\t\n\t\tasync 'Latest method calls wins'( $ ) {\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\t$$.$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_equal( NameLogger.first, [ 'john', 'jin' ] )\n\t\t\t$mol_assert_equal( NameLogger.last, [ 'jin' ] )\n\n\t\t},\n\n\t\tasync 'Latest function calls wins'( $ ) {\n\t\t\t\n\t\t\tconst first = [] as string[]\n\t\t\tconst last = [] as string[]\n\t\t\t\n\t\t\tfunction send_name( next: string ) {\n\t\t\t\t$mol_wire_sync( first ).push( next )\n\t\t\t\t$$.$mol_wait_timeout(0)\n\t\t\t\tlast.push( next )\n\t\t\t}\n\t\t\t\n\t\t\tconst name = $mol_wire_async( send_name )\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_equal( first, [ 'john', 'jin' ] )\n\t\t\t$mol_assert_equal( last, [ 'jin' ] )\n\t\t\t\n\t\t},\n\n\t})\n\t\n}\n","namespace $ {\n\n\t$mol_test({\n\n\t\t'test types'( $ ) {\n\t\t\tclass A {\n\t\t\t\tstatic a() {\n\t\t\t\t\treturn Promise.resolve('')\n\t\t\t\t}\n\n\t\t\t\tstatic b() {\n\t\t\t\t\treturn $mol_wire_sync(this).a()\n\t\t\t\t}\n\t\t\t}\n\n\t\t\ttype Check = $mol_type_assert<ReturnType<typeof A['b']>, string>\n\t\t},\n\n\t\tasync 'test method from host'( $ ) {\n\t\t\tlet count = 0\n\t\t\tclass A {\n\t\t\t\tstatic a() {\n\t\t\t\t\treturn $mol_wire_sync(this).b()\n\t\t\t\t}\n\n\t\t\t\tstatic b() { return Promise.resolve(++count) }\n\t\t\t}\n\n\t\t\t\n\t\t\t$mol_assert_equal(await $mol_wire_async(A).a(), 1, count)\n\n\t\t},\n\n\t\tasync 'test function'( $ ) {\n\t\t\tlet count = 0\n\t\t\tclass A {\n\t\t\t\tstatic a() {\n\t\t\t\t\treturn $mol_wire_sync(this.b)()\n\t\t\t\t}\n\n\t\t\t\tstatic b() { return Promise.resolve(++count) }\n\t\t\t}\n\n\t\t\t\n\t\t\t$mol_assert_equal(await $mol_wire_async(A).a(), 1, count)\n\n\t\t},\n\n\t\tasync 'test construct itself'( $ ) {\n\t\t\tclass A {\n\t\t\t\tstatic instances = [] as A[]\n\n\t\t\t\tstatic a() {\n\t\t\t\t\tconst a = new ($mol_wire_sync(A))()\n\t\t\t\t\tthis.instances.push( a )\n\t\t\t\t\t$mol_wire_sync(this).b()\n\t\t\t\t}\n\n\t\t\t\tstatic b() { return Promise.resolve() }\n\t\t\t}\n\n\t\t\tawait $mol_wire_async(A).a()\n\t\t\t$mol_assert_equal(A.instances.length, 2)\n\t\t\t$mol_assert_equal(A.instances[0] instanceof A)\n\n\t\t\t$mol_assert_equal(A.instances[0], A.instances[1])\n\n\t\t}\n\t})\n\n}\n\n","namespace $ {\n\n\tdeclare function requestIdleCallback( task : ()=> void , options? : { timeout : number } ) : any\n\tdeclare function cancelIdleCallback( id : any ) : void\n\n\texport class $mol_after_work 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 = requestIdleCallback( task , { timeout : delay } )\n\t\t}\n\n\t\tdestructor() {\n\t\t\tcancelIdleCallback( this.id )\n\t\t}\n\n\t}\n\t\n\tif( typeof requestIdleCallback !== 'function' ) {\n\t\t$.$mol_after_work = $mol_after_timeout\n\t}\n\t\n}\n","namespace $ {\n\n\t$mol_test_mocks.push( $ => {\n\t\t$.$mol_after_work = $mol_after_mock_timeout as any as typeof $mol_after_work\n\t})\n\n}\n","namespace $ {\n\t\n\texport function $mol_wait_rest_async( this: $ ) {\n\t\treturn new Promise( done => {\n\t\t\tnew this.$mol_after_work( 16 , ()=> done( null ) )\n\t\t} )\n\t}\n\t\n\texport function $mol_wait_rest( this: $ ) {\n\t\treturn this.$mol_wire_sync( this ).$mol_wait_rest_async()\n\t}\n\t\n}\n","namespace $.$$ {\n\t\n\t$mol_test_mocks.push( $ => {\n\t\t$.$mol_wait_timeout = function $mol_wait_timeout_mock( this: $, timeout: number ) { }\n\t\t$.$mol_wait_timeout_async = async function $mol_wait_timeout_async_mock( this: $, timeout: number ) {}\n\t} )\n\n}\n","namespace $ {\n\t\n\texport function $mol_wait_timeout_async( this: $, timeout: number ): Promise< void > {\n\t\tconst promise = new $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\t\n\t$mol_test_mocks.push( $ => {\n\t\t$.$mol_wait_rest = function $mol_wait_rest_mock( this: $ ) { }\n\t\t$.$mol_wait_rest_async = async function $mol_wait_rest_async_mock( this: $ ) {}\n\t} )\n\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_solo\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'Read Pushed' ($) {\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_solo\n\t\t\t\tstatic value( next = 0 ) {\n\t\t\t\t\treturn next\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( 1 ), 1 )\n\t\t\t$mol_assert_equal( App.value(), 1 )\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_solo\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_solo\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_solo\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_solo\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_solo\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_solo\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_solo\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_solo\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_solo\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_solo\n\t\t\t\tstatic source( next = 1 ) { return next }\n\t\t\t\t\n\t\t\t\t@ $mol_wire_solo\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_solo\n\t\t\t\tstatic result() {\n\t\t\t\t\tconst res = this.condition() ? this.source() : 0\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.source( 10 )\n\t\t\t$mol_assert_equal( App.result() , 11 )\n\t\t\t$mol_assert_equal( App.counter , 2 )\n\t\t\t\n\t\t\tApp.condition( false )\n\t\t\t$mol_assert_equal( App.result() , 2 )\n\t\t\t$mol_assert_equal( App.counter , 3 )\n\n\t\t\t$mol_wire_fiber.sync()\n\t\t\t$mol_assert_equal( App.source() , 1 )\n\t\t\t\n\t\t\tApp.source( 20 )\n\t\t\t$mol_assert_equal( App.result() , 2 )\n\t\t\t$mol_assert_equal( App.counter , 3 )\n\n\t\t\tApp.condition( true )\n\t\t\t$mol_assert_equal( App.result() , 23 )\n\t\t\t$mol_assert_equal( App.counter , 4 )\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_solo\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_solo\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_solo\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_solo\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// 'Update deps on 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_solo\n\t\t// \t\tstatic left( next = false ) {\n\t\t// \t\t\treturn next\n\t\t// \t\t}\n\t\t\n\t\t// \t\t@ $mol_wire_solo\n\t\t// \t\tstatic right( next = false ) {\n\t\t// \t\t\treturn next\n\t\t// \t\t}\n\t\t\n\t\t// \t\t@ $mol_wire_solo\n\t\t// \t\tstatic res( next?: boolean ) {\n\t\t// \t\t\treturn this.left( next ) && this.right()\n\t\t// \t\t}\n\t\t\n\t\t// \t}\n\t\t\t\n\t\t// \t$mol_assert_equal( App.res(), false )\n\t\t// \t$mol_assert_equal( App.res( true ), false )\n\t\t\t\n\t\t// \t$mol_assert_equal( App.right( true ), true )\n\t\t// \t$mol_assert_equal( App.res(), true )\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'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_solo\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_solo\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_solo\n\t\t\t\tstatic slow( next?: number ) {\n\t\t\t\t\tif( next !== undefined ) this.slow() // enforce pull before push\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_solo\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_solo\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_solo\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_solo\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_solo\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_solo\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_solo\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_solo\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_solo\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_solo\n\t\t\t\tstatic condition( next = false ) { return next }\n\n\t\t\t\t@ $mol_wire_solo\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_solo\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(), 'test error' )\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_solo\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_solo\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_solo\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_solo\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_solo\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_solo\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_solo\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_solo\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}\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'Owned value has js-path name' () {\n\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\t@ $mol_wire_solo\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}\n\n\t\t\t$mol_assert_equal( `${ App.title() }` , 'App.title<>' )\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_solo\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_solo\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\tasync 'Error caching' ($) {\n\t\t\tconst next_cached = 123\n\n\t\t\tclass Some extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\n\t\t\t\t@ $mol_wire_plex\n\t\t\t\tstatic data( id: string, next?: unknown): unknown {\n\t\t\t\t\tif (next) return next as never\n\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\t$mol_wire_async(this).data(id, next_cached)\n\t\t\t\t\t}, 10)\n\n\t\t\t\t\t$mol_fail_hidden(new Promise(() => {}))\n\t\t\t\t}\n\n\t\t\t\t@ $mol_wire_method\n\t\t\t\tstatic run() {\n\t\t\t\t\treturn this.data('1')\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tconst val = await $mol_wire_async(Some).run()\n\t\t\t$mol_assert_equal(val, next_cached)\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_plex\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_solo\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}\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_plex\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'Owned value has js-path name' () {\n\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\t@ $mol_wire_plex\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_plex\n\t\t\t\tstatic relation( [ friend, props ]: [ number, [ 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.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_plex\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})\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_solo\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","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","/** @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( 1n<<64n ), '18446744073709551616n' )\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'Uint8Array'() {\n\t\t\t\n\t\t\t$mol_assert_equal( $mol_key( new Uint8Array([ 1, 2 ]) ), '[1,2]' )\n\t\t\t$mol_assert_equal( $mol_key([ new Uint8Array([ 1, 2 ]) ]), '[[1,2]]' )\n\t\t\t$mol_assert_equal( $mol_key({ foo: new Uint8Array([ 1, 2 ]) }), '{\"foo\":[1,2]}' )\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$mol_test({\n\t\t\n\t\t'return result without errors'() {\n\t\t\t\n\t\t\t$mol_assert_equal( $mol_try( ()=> false ) , false )\n\t\t\t\n\t\t} ,\n\t\t\n\t\t//'return error if thrown'() {\n\t\t//\t\n\t\t//\tconst error = new Error( '$mol_try test error' )\n\t\t//\t$mol_assert_equal( $mol_try( ()=> { throw error } ) , error )\n\t\t//\t\n\t\t//} ,\n\t\t\n\t})\t\n}\n","namespace $ {\n\t$mol_test_mocks.push( $=> $.$mol_fail_log = ()=> false )\n}\n\n","namespace $ {\n\t\n\t/** Watch and logs reactive states. Logger automatically added to test bundle which is adding to `test.html`. */\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( fiber.host === this ) return next\n\t\t\t\n\t\t\tif( $mol_compare_deep( prev, next ) ) {\n\t\t\t\t\n\t\t\t\tthis.$.$mol_log3_rise({\n\t\t\t\t\tmessage: '💧 Same',\n\t\t\t\t\tplace: fiber,\n\t\t\t\t})\n\t\t\t\t\n\t\t\t} else if( prev !== undefined ) {\n\t\t\t\t\n\t\t\t\tthis.$.$mol_log3_rise({\n\t\t\t\t\tmessage: '🔥 Next',\n\t\t\t\t\tplace: fiber,\n\t\t\t\t\tprev,\n\t\t\t\t})\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} catch( error ) {\n\t\t\t\t$mol_fail_log( error )\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\t$mol_wire_log.active()\n\n}\n","namespace $ {\n\n\t$mol_test_mocks.push( context => {\n\t\tclass $mol_state_arg_mock extends $mol_state_arg {\n\n\t\t\tstatic $ = context\n\t\t\t\t\t\t\n\t\t\t@ $mol_mem\n\t\t\tstatic href( next? : string ) { return next || '' }\n\t\n\t\t\t@ $mol_action\n\t\t\tstatic go( next : { [ key : string ] : string | null } ) {\n\t\t\t\tthis.href( this.link( next ) )\n\t\t\t}\n\n\t\t}\n\t\tcontext.$mol_state_arg = $mol_state_arg_mock\n\t} )\n\n\t$mol_test({\n\t\t\n\t\t'args as dictionary'( $ ) {\n\t\t\t\n\t\t\t$.$mol_state_arg.href( '#!foo=bar/xxx' )\n\t\t\t$mol_assert_equal( $.$mol_state_arg.dict() , { foo : 'bar' , xxx : '' } )\n\n\t\t\t$.$mol_state_arg.dict({ foo : null , yyy : '' , lol : '123' })\n\t\t\t$mol_assert_equal( $.$mol_state_arg.href().replace( /.*#/ , '#' ) , '#!yyy/lol=123' )\n\n\t\t} ,\n\n\t\t'one value from args'( $ ) {\n\t\t\t\n\t\t\t$.$mol_state_arg.href( '#!foo=bar/xxx' )\n\t\t\t$mol_assert_equal( $.$mol_state_arg.value( 'foo' ) , 'bar' )\n\t\t\t$mol_assert_equal( $.$mol_state_arg.value( 'xxx' ) , '' )\n\n\t\t\t$.$mol_state_arg.value( 'foo' , 'lol' )\n\t\t\t$mol_assert_equal( $.$mol_state_arg.href().replace( /.*#/ , '#' ) , '#!foo=lol/xxx' )\n\n\t\t\t$.$mol_state_arg.value( 'foo' , '' )\n\t\t\t$mol_assert_equal( $.$mol_state_arg.href().replace( /.*#/ , '#' ) , '#!foo/xxx' )\n\n\t\t\t$.$mol_state_arg.value( 'foo' , null )\n\t\t\t$mol_assert_equal( $.$mol_state_arg.href().replace( /.*#/ , '#' ) , '#!xxx' )\n\n\t\t} ,\n\n\t\t'nested args'( $ ) {\n\n\t\t\tconst base = new $.$mol_state_arg( 'nested.' )\n\n\t\t\tclass Nested extends $mol_state_arg {\n\t\t\t\tconstructor( prefix : string ) {\n\t\t\t\t\tsuper( base.prefix + prefix )\n\t\t\t\t}\n\t\t\t\tstatic value = ( key : string , next? : string )=> base.value( key , next )\n\t\t\t}\n\t\t\t\n\t\t\t$.$mol_state_arg.href( '#!foo=bar/nested.xxx=123' )\n\t\t\t$mol_assert_equal( Nested.value( 'foo' ) , null )\n\t\t\t$mol_assert_equal( Nested.value( 'xxx' ) , '123' )\n\n\t\t\tNested.value( 'foo' , 'lol' )\n\t\t\t$mol_assert_equal( $.$mol_state_arg.href().replace( /.*#/ , '#' ) , '#!foo=bar/nested.xxx=123/nested.foo=lol' )\n\n\t\t} ,\n\n\t})\n\t\n}\n","namespace $ {\n\t$mol_test( {\n\t\t\n\t\t'local get set delete'() {\n\t\t\t\t\t\n\t\t\tvar key = '$mol_state_local_test:' + Math.random()\n\t\t\t$mol_assert_equal( $mol_state_local.value( key ) , null )\n\t\t\t\n\t\t\t$mol_state_local.value( key , 123 )\n\t\t\t$mol_assert_equal( $mol_state_local.value( key ) , 123 )\n\t\t\t\n\t\t\t$mol_state_local.value( key , null )\n\t\t\t$mol_assert_equal( $mol_state_local.value( key ) , null )\n\t\t} ,\n\t\t\n\t} )\n}\n","namespace $ {\n\n\t$mol_test_mocks.push( context => {\n\t\tclass $mol_state_local_mock< Value > extends $mol_state_local< Value > {\n\n\t\t\tstatic state = {} as Record< string , any >\n\t\t\t\t\t\t\n\t\t\t@ $mol_mem_key\n\t\t\tstatic value< Value >(\n\t\t\t\tkey : string ,\n\t\t\t\tnext = this.state[ key ] as Value ,\n\t\t\t) {\n\t\t\t\treturn this.state[ key ] = ( next || null )\n\t\t\t}\n\n\t\t}\n\t\tcontext.$mol_state_local = $mol_state_local_mock\n\t} )\n\t\n}\n","namespace $ {\n\t$mol_test( {\n\t\t\n\t\t'all cases of using maybe'() {\n\t\t\t$mol_assert_equal( $mol_maybe( 0 )[ 0 ] , 0 )\n\t\t\t$mol_assert_equal( $mol_maybe( false )[ 0 ] , false )\n\t\t\t$mol_assert_equal( $mol_maybe( null )[ 0 ] , void 0 )\n\t\t\t$mol_assert_equal( $mol_maybe( void 0 )[ 0 ] , void 0 )\n\t\t\t\n\t\t\t$mol_assert_equal( $mol_maybe< number >( void 0 ).map( v => v.toString() )[ 0 ] , void 0 )\n\t\t\t$mol_assert_equal( $mol_maybe( 0 ).map( v => v.toString() )[ 0 ] , '0' )\n\t\t} ,\n\t\t\n\t} )\n}\n","namespace $ {\n\n\t$mol_test({\n\n\t\t'run callback' () {\n\n\t\t\tclass Plus1 extends $mol_wrapper {\n\t\t\n\t\t\t\tstatic wrap< This , Args extends any[] >( task : ( this : This , ... args : Args )=> number ) {\n\t\t\n\t\t\t\t\treturn function( this : This , ... args : Args ) {\n\t\t\t\t\t\treturn task.call( this , ... args ) + 1 as number\n\t\t\t\t\t}\n\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\n\t\t\t$mol_assert_equal( Plus1.run( ()=> 2 ) , 3 )\n\n\t\t} ,\n\n\t\t'wrap function' () {\n\t\t\n\t\t\tclass Plus1 extends $mol_wrapper {\n\t\t\n\t\t\t\tstatic wrap< This , Args extends any[] >( task : ( this : This , ... args : Args )=> number ) {\n\t\t\n\t\t\t\t\treturn function( this : This , ... args : Args ) {\n\t\t\t\t\t\treturn task.call( this , ... args ) + 1 as number\n\t\t\t\t\t}\n\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\t\n\t\t\tconst obj = {\n\t\t\t\tlevel : 2 ,\n\t\t\t\tpow : Plus1.func( function( this : { level : number } , a ) {\n\t\t\t\t\treturn a ** this.level\n\t\t\t\t} )\n\t\t\t}\n\n\t\t\t$mol_assert_equal( obj.pow( 2 ) , 5 )\n\n\t\t} ,\n\n\t\t'decorate field getter' () {\n\n\t\t\tclass Plus1 extends $mol_wrapper {\n\n\t\t\t\tstatic last = 0\n\t\t\n\t\t\t\tstatic wrap< This , Args extends any[] >( task : ( this : This , ... args : Args )=> number ) {\n\t\t\n\t\t\t\t\treturn function( this : This , ... args : Args ) {\n\t\t\t\t\t\treturn Plus1.last = ( task.call( this , ... args ) || 0 ) + 1 as number\n\t\t\t\t\t}\n\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\n\t\t\tclass Foo {\n\n\t\t\t\t@ Plus1.field\n\t\t\t\tstatic get two() {\n\t\t\t\t\treturn 1\n\t\t\t\t}\n\t\t\t\tstatic set two( next : number ) {}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\t$mol_assert_equal( Foo.two , 2 )\n\t\t\t\n\t\t\tFoo.two = 3\n\t\t\t$mol_assert_equal( Plus1.last , 2 )\n\t\t\t$mol_assert_equal( Foo.two , 2 )\n\n\t\t} ,\n\n\t\t'decorate instance method' () {\n\n\t\t\tclass Plus1 extends $mol_wrapper {\n\t\t\n\t\t\t\tstatic wrap< This , Args extends any[] >( task : ( this : This , ... args : Args )=> number ) {\n\t\t\n\t\t\t\t\treturn function( this : This , ... args : Args ) {\n\t\t\t\t\t\treturn task.call( this , ... args ) + 1 as number\n\t\t\t\t\t}\n\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\n\t\t\tclass Foo1 {\n\n\t\t\t\tlevel = 2\n\n\t\t\t\t@ Plus1.method\n\t\t\t\tpow( a : number ) {\n\t\t\t\t\treturn a ** this.level\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tconst Foo2 = Foo1\n\t\t\tconst foo = new Foo2\n\n\t\t\t$mol_assert_equal( foo.pow( 2 ) , 5 )\n\n\t\t} ,\n\n\t\t'decorate static method' () {\n\t\t\t\n\t\t\tclass Plus1 extends $mol_wrapper {\n\t\t\n\t\t\t\tstatic wrap< This , Args extends any[] >( task : ( this : This , ... args : Args )=> number ) {\n\t\t\n\t\t\t\t\treturn function( this : This , ... args : Args ) {\n\t\t\t\t\t\treturn task.call( this , ... args ) + 1 as number\n\t\t\t\t\t}\n\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\n\t\t\tclass Foo {\n\n\t\t\t\tstatic level = 2\n\n\t\t\t\t@ Plus1.method\n\t\t\t\tstatic pow( a : number ) {\n\t\t\t\t\treturn a ** this.level\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\t$mol_assert_equal( Foo.pow( 2 ) , 5 )\n\n\t\t} ,\n\n\t\t'decorate class' () {\n\t\t\t\n\t\t\tclass BarInc extends $mol_wrapper {\n\n\t\t\t\tstatic wrap< This , Args extends any[] >( task : ( this : This , ... args : Args )=> Foo ) {\n\t\t\t\t\t\n\t\t\t\t\treturn function( this : This , ... args : Args ) {\n\n\t\t\t\t\t\tconst foo = task.call( this , ...args )\n\t\t\t\t\t\tfoo.bar ++\n\t\t\t\t\t\treturn foo\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t}\n\t\t\t\n\t\t\t@ BarInc.class\n\t\t\tclass Foo {\n\t\t\t\tconstructor( public bar : number ) {}\n\t\t\t}\n\n\t\t\t$mol_assert_equal( new Foo( 2 ).bar , 3 )\n\n\t\t} ,\n\n\t})\n}\n","namespace $ {\n\n\t$mol_test({\n\n\t\t'memoize field' () {\n\n\t\t\tclass Foo {\n\n\t\t\t\tstatic one = 1\n\n\t\t\t\t@ $mol_memo.field\n\t\t\t\tstatic get two() {\n\t\t\t\t\treturn ++ this.one\n\t\t\t\t}\n\t\t\t\tstatic set two( next : number ) {} \n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\t$mol_assert_equal( Foo.two , 2 )\n\t\t\t$mol_assert_equal( Foo.two , 2 )\n\n\t\t\tFoo.two = 3\n\t\t\t\n\t\t\t$mol_assert_equal( Foo.two , 3 )\n\t\t\t$mol_assert_equal( Foo.two , 3 )\n\n\t\t} ,\n\n\t})\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'id auto generation'($) {\n\t\t\t\t\n\t\t\tclass $mol_view_test_item extends $mol_view { }\n\t\t\t\n\t\t\tclass $mol_view_test_block extends $mol_view {\n\n\t\t\t\tstatic $ = $\n\t\t\t\t\n\t\t\t\t@ $mol_mem_key\n\t\t\t\telement( id : number ) {\n\t\t\t\t\treturn new $mol_view_test_item()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tvar x = $mol_view_test_block.Root(0)\n\t\t\t\n\t\t\t$mol_assert_equal( x.dom_node().id , '$mol_view_test_block.Root(0)' )\n\t\t\t$mol_assert_equal( x.element( 0 ).dom_node().id , '$mol_view_test_block.Root(0).element(0)' )\n\t\t\t\n\t\t} ,\n\t\t\n\t\t'caching ref to dom node'($) {\n\t\t\t\n\t\t\tvar x = new class extends $mol_view { }\n\t\t\tx.$ = $\n\t\t\t\n\t\t\t$mol_assert_equal( x.dom_node() , x.dom_node() )\n\t\t\t\n\t\t} ,\n\t\t\n\t\t'content render'($) {\n\t\t\t\t\n\t\t\tclass $mol_view_test extends $mol_view {\n\t\t\t\tsub() {\n\t\t\t\t\treturn [ 'lol' , 5 ]\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tvar x = new $mol_view_test()\n\t\t\tx.$ = $\n\t\t\t\n\t\t\tvar node = x.dom_tree()\n\t\t\t\n\t\t\t$mol_assert_equal( node.innerHTML , 'lol5' )\n\t\t\t\n\t\t} ,\n\t\t\n\t\t'bem attributes generation'($) {\n\t\t\t\t\n\t\t\tclass $mol_view_test_item extends $mol_view { }\n\t\t\t\n\t\t\tclass $mol_view_test_block extends $mol_view {\n\t\t\t\t\n\t\t\t\t@ $mol_mem_key\n\t\t\t\tElement( id : number ) {\n\t\t\t\t\treturn new $mol_view_test_item()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tvar x = new $mol_view_test_block()\n\t\t\tx.$ = $\n\t\t\t\n\t\t\t$mol_assert_equal( x.dom_node().getAttribute( 'mol_view_test_block' ) , '' )\n\t\t\t$mol_assert_equal( x.dom_node().getAttribute( 'mol_view' ) , '' )\n\t\t\t\n\t\t\t$mol_assert_equal( x.Element( 0 ).dom_node().getAttribute( 'mol_view_test_block_element' ) , '' )\n\t\t\t\n\t\t\t$mol_assert_equal( x.Element( 0 ).dom_node().getAttribute( 'mol_view_test_item' ) , '' )\n\t\t\t$mol_assert_equal( x.Element( 0 ).dom_node().getAttribute( 'mol_view' ) , '' )\n\t\t\t\n\t\t} ,\n\t\t\n\t\t'render custom attributes'($) {\n\t\t\t\n\t\t\tclass $mol_view_test extends $mol_view {\n\t\t\t\tattr() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t'href' : '#haha' ,\n\t\t\t\t\t\t'required' : true ,\n\t\t\t\t\t\t'hidden' : false ,\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tvar x = new $mol_view_test()\n\t\t\tx.$ = $\n\t\t\t\n\t\t\tvar node = x.dom_tree()\n\t\t\t\n\t\t\t$mol_assert_equal( node.getAttribute( 'href' ) , '#haha' )\n\t\t\t$mol_assert_equal( node.getAttribute( 'required' ) , 'true' )\n\t\t\t$mol_assert_equal( node.getAttribute( 'hidden' ) , null )\n\t\t\t\n\t\t} ,\n\t\t\n\t\t'render custom fields'($) {\n\t\t\t\t\n\t\t\tclass $mol_view_test extends $mol_view {\n\t\t\t\tfield() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t'hidden' : true\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tvar x = new $mol_view_test()\n\t\t\tx.$ = $\n\t\t\t\n\t\t\tvar node = x.dom_tree() as HTMLElement\n\t\t\t\n\t\t\t$mol_assert_equal( node.hidden , true )\n\t\t\t\n\t\t} ,\n\t\t\n\t\t'attach event handlers'($) {\n\t\t\t\t\n\t\t\tvar clicked = false\n\t\t\t\n\t\t\tclass $mol_view_test extends $mol_view {\n\t\t\t\tevent() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t'click' : ( next? : Event ) => this.event_click( next )\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tevent_click( next? : Event ) {\n\t\t\t\t\tclicked = true\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tvar x = new $mol_view_test()\n\t\t\tx.$ = $\n\t\t\t\n\t\t\tvar node = x.dom_node() as HTMLElement\n\t\t\tnode.click()\n\t\t\t\n\t\t\t$mol_assert_ok( clicked )\n\t\t\t\n\t\t} ,\n\t\n\t} )\n}\n","namespace $ {\n\t$mol_test({\n\n\t\t'Vector limiting'() {\n\n\t\t\tlet point = new $mol_vector_3d( 7 , 10 , 13 )\n\t\t\tconst res = point.limited( [ [ 1 , 5 ] , [ 15 , 20 ] , [ 5 , 10 ] ] as const )\n\n\t\t\t$mol_assert_equal( res.x , 5 )\n\t\t\t$mol_assert_equal( res.y , 15 )\n\t\t\t$mol_assert_equal( res.z , 10 )\n\n\t\t} ,\n\n\t\t'Vector adding scalar'() {\n\n\t\t\tlet point = new $mol_vector_3d( 1 , 2 , 3 )\n\t\t\tlet res = point.added0( 5 )\n\n\t\t\t$mol_assert_equal( res.x , 6 )\n\t\t\t$mol_assert_equal( res.y , 7 )\n\t\t\t$mol_assert_equal( res.z , 8 )\n\n\t\t} ,\n\n\t\t'Vector adding vector'() {\n\n\t\t\tlet point = new $mol_vector_3d( 1 , 2 , 3 )\n\t\t\tlet res = point.added1( [ 5 , 10 , 15 ] as const )\n\n\t\t\t$mol_assert_equal( res.x , 6 )\n\t\t\t$mol_assert_equal( res.y , 12 )\n\t\t\t$mol_assert_equal( res.z , 18 )\n\n\t\t} ,\n\n\t\t'Vector multiplying scalar'() {\n\n\t\t\tlet point = new $mol_vector_3d( 2 , 3 , 4 )\n\t\t\tlet res = point.multed0( -1 )\n\n\t\t\t$mol_assert_equal( res.x , -2 )\n\t\t\t$mol_assert_equal( res.y , -3 )\n\t\t\t$mol_assert_equal( res.z , -4 )\n\n\t\t} ,\n\n\t\t'Vector multiplying vector'() {\n\n\t\t\tlet point = new $mol_vector_3d( 2 , 3 , 4 )\n\t\t\tlet res = point.multed1( [ 5 , 2 , -2 ] as const )\n\n\t\t\t$mol_assert_equal( res.x , 10 )\n\t\t\t$mol_assert_equal( res.y , 6 )\n\t\t\t$mol_assert_equal( res.z , -8 )\n\n\t\t} ,\n\n\t\t'Matrix adding matrix'() {\n\n\t\t\tlet matrix = new $mol_vector_matrix<2,3>( ...[ [ 1 , 2 ] , [ 3 , 4 ] , [ 5 , 6 ] ] as const )\n\t\t\tlet res = matrix.added2( [ [ 10 , 20 ] , [ 30 , 40 ] , [ 50 , 60 ] ] as const )\n\n\t\t\t$mol_assert_equal( res[0][0] , 11 )\n\t\t\t$mol_assert_equal( res[0][1] , 22 )\n\t\t\t$mol_assert_equal( res[1][0] , 33 )\n\t\t\t$mol_assert_equal( res[1][1] , 44 )\n\t\t\t$mol_assert_equal( res[2][0] , 55 )\n\t\t\t$mol_assert_equal( res[2][1] , 66 )\n\n\t\t} ,\n\n\t\t'Matrix multiplying matrix'() {\n\n\t\t\tlet matrix = new $mol_vector_matrix<2,3>( ...[ [ 2 , 3 ] , [ 4 , 5 ] , [ 6 , 7 ] ] as const )\n\t\t\tlet res = matrix.multed2( [ [ 2 , 3 ] , [ 4 , 5 ] , [ 6 , 7 ] ] as const )\n\n\t\t\t$mol_assert_equal( res[0][0] , 4 )\n\t\t\t$mol_assert_equal( res[0][1] , 9 )\n\t\t\t$mol_assert_equal( res[1][0] , 16 )\n\t\t\t$mol_assert_equal( res[1][1] , 25 )\n\t\t\t$mol_assert_equal( res[2][0] , 36 )\n\t\t\t$mol_assert_equal( res[2][1] , 49 )\n\n\t\t} ,\n\n\t\t'Range expanding'() {\n\n\t\t\tlet range = $mol_vector_range_full.inversed\n\t\t\t\n\t\t\tconst expanded = range.expanded0( 10 ).expanded0( 5 )\n\n\t\t\t$mol_assert_like( [ ... expanded ] , [ 5 , 10 ] )\n\n\t\t} ,\n\n\t\t'Vector of range expanding by vector'() {\n\n\t\t\tlet dimensions = new $mol_vector_2d( $mol_vector_range_full.inversed , $mol_vector_range_full.inversed )\n\t\t\t\n\t\t\tconst expanded = dimensions.expanded1( [ 1 , 7 ] as const ).expanded1( [ 3 , 5 ] as const )\n\n\t\t\t$mol_assert_like( [ ... expanded.x ] , [ 1 , 3 ] )\n\t\t\t$mol_assert_like( [ ... expanded.y ] , [ 5 , 7 ] )\n\n\t\t} ,\n\n\t\t'Vector of range expanding by vector of range'() {\n\n\t\t\tlet dimensions = new $mol_vector_2d( $mol_vector_range_full.inversed , $mol_vector_range_full.inversed )\n\t\t\t\n\t\t\tconst expanded = dimensions\n\t\t\t.expanded2( [ [ 1 , 3 ] , [ 7 , 9 ] ] as const )\n\t\t\t.expanded2( [ [ 2 , 4 ] , [ 6 , 8 ] ] as const )\n\n\t\t\t$mol_assert_like( [ ... expanded.x ] , [ 1 , 4 ] )\n\t\t\t$mol_assert_like( [ ... expanded.y ] , [ 6 , 9 ] )\n\n\t\t} ,\n\n\t\t'Vector of infinity range expanding by vector of range'() {\n\n\t\t\tlet dimensions = new $mol_vector_2d( $mol_vector_range_full.inversed , $mol_vector_range_full.inversed )\n\t\t\tconst next = new $mol_vector_2d( $mol_vector_range_full.inversed , $mol_vector_range_full.inversed )\n\t\t\t\n\t\t\tconst expanded = next\n\t\t\t\t.expanded2( dimensions )\n\n\t\t\t$mol_assert_like( [ ... expanded.x ] , [ Infinity , -Infinity ] )\n\t\t\t$mol_assert_like( [ ... expanded.y ] , [ Infinity , -Infinity ] )\n\n\t\t} ,\n\t})\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../../../mol/test/test.test.ts","../../../../mol/test/test.web.test.ts","../../../../mol/dom/serialize/serialize.ts","../../../../mol/jsx/jsx.test.tsx","../../../../mol/range2/range2.ts","../../../../mol/range2/range2.test.ts","../../../../mol/compare/deep/deep.test.tsx","../../../../mol/assert/assert.ts","../../../../mol/assert/assert.test.ts","../../../../mol/log3/log3.test.ts","../../../../mol/func/name/name.test.ts","../../../../mol/delegate/delegate.test.ts","../../../../mol/object/object.test.ts","../../../../mol/wire/pub/sub/sub.test.ts","../../../../mol/after/mock/mock.test.ts","../../../../mol/after/tick/tick.test.ts","../../../../mol/wire/fiber/fiber.test.ts","../../../../mol/after/timeout/timeout.test.ts","../../../../mol/wire/async/async.test.ts","../../../../mol/wire/sync/sync.test.ts","../../../../mol/after/work/work.ts","../../../../mol/after/work/work.test.ts","../../../../mol/wait/rest/rest.ts","../../../../mol/wait/rest/rest.test.ts","../../../../mol/wait/timeout/timeout.ts","../../../../mol/wait/timeout/timeout.test.ts","../../../../mol/wire/solo/solo.test.ts","../../../../mol/wire/plex/plex.test.ts","../../../../mol/wire/probe/probe.test.ts","../../../../mol/after/frame/frame.test.ts","../../../../mol/key/key.test.tsx","../../../../mol/try/try.test.ts","../../../../mol/fail/log/log.test.ts","../../../../mol/wire/log/log.ts","../../../../mol/wire/atom/atom.test.ts","../../../../mol/state/arg/arg.web.test.ts","../../../../mol/state/local/local.test.ts","../../../../mol/state/local/local.mock.test.ts","../../../../mol/maybe/maybe.test.ts","../../../../mol/wrapper/wrapper.test.ts","../../../../mol/memo/memo.test.ts","../../../../mol/const/const.test.ts","../../../../mol/view/view/view.test.ts","../../../../mol/vector/vector.test.ts"],"names":[],"mappings":"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","sourcesContent":["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( $mol_promise_like( res ) ) {\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\tawait $mol_test_run()\n\t\t\t$$.$mol_test_complete()\n\t\t\t\n\t\t} , 1000 )\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' ] as const\n\n\t\tfor( let api of forbidden ) {\n\t\t\tcontext[ api ] = new Proxy( function(){} as any , {\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 function $mol_test_complete() {\n\t}\n\t\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","/** @jsx $mol_jsx */\n/** @jsxFrag $mol_jsx_frag */\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'Make fragment'() {\n\n\t\t\tconst dom =\n\t\t\t\t<>\n\t\t\t\t\t<br />\n\t\t\t\t\t<hr />\n\t\t\t\t</>\n\t\t\t\n\t\t\t$mol_assert_equal( $mol_dom_serialize( dom ), '<br xmlns=\"http://www.w3.org/1999/xhtml\" /><hr xmlns=\"http://www.w3.org/1999/xhtml\" />' )\n\n\t\t} ,\n\n\t\t'Spread fragment'() {\n\n\t\t\tconst dom =\n\t\t\t\t<div>\n\t\t\t\t\t<>\n\t\t\t\t\t\t<br />\n\t\t\t\t\t\t<hr />\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><br><hr></div>' )\n\n\t\t} ,\n\n\t\t'Function as component'() {\n\n\t\t\tconst Button = (\n\t\t\t\tprops: { hint: string },\n\t\t\t\ttarget: ()=> string,\n\t\t\t) => {\n\t\t\t\treturn <button title={ props.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 id=\"foo\" title=\"click me\" class=\"Button\">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 }<i id=\"label\"/></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\" class=\"Foo\"><span id=\"foo/bar\" class=\"Foo_bar Bar\"><img id=\"foo/icon\" class=\"Foo_icon\"><i id=\"foo/bar/label\" class=\"Foo_bar_label Bar_label\"></i></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 \"foo/bar\"' )\n\t\t\t\n\t\t} ,\n\t\t\n\t\t'Owner based guid generationn'() {\n\n\t\t\tconst Foo = ()=> {\n\t\t\t\treturn <div>\n\t\t\t\t\t<Bar id=\"middle\" icon={ ()=> <img id=\"icon\" /> } />\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>{ props.icon() }</span>\n\t\t\t}\n\n\t\t\tconst dom = <Foo id=\"app\" />\n\n\t\t\t$mol_assert_equal( dom.outerHTML, '<div id=\"app\" class=\"Foo\"><span id=\"app/middle\" class=\"Foo_middle Bar\"><img id=\"app/icon\" class=\"Foo_icon\"></span></div>' )\n\t\t\t\n\t\t} ,\n\t\t\n\t\t'Fail on same ids from different caller'() {\n\n\t\t\tconst Foo = ()=> {\n\t\t\t\treturn <div>\n\t\t\t\t\t<img id=\"icon\" />\n\t\t\t\t\t<Bar id=\"bar\" icon={ ()=> <img id=\"icon\" /> } />\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>{ props.icon() }</span>\n\t\t\t}\n\n\t\t\t$mol_assert_fail( ()=> <Foo id=\"foo\" />, 'JSX already has tag with id \"foo/icon\"' )\n\t\t\t\n\t\t} ,\n\t\t\n\t})\n\t\n}\n","namespace $ {\n\n\t/** Lazy computed lists with native Array interface. $mol_range2_array is mutable but all derived ranges are immutable. */\n\texport function $mol_range2< Item = number >(\n\t\titem: Item[] | ( ( index : number )=> Item ) = index => index as any ,\n\t\tsize = ()=> Number.POSITIVE_INFINITY ,\n\t): Item[] {\n\t\t\n\t\tconst source = typeof item === 'function' ? new $mol_range2_array< Item >() : item\n\t\t\n\t\tif( typeof item !== 'function' ) {\n\t\t\titem = index => source[ index ]\n\t\t\tsize = ()=> source.length\n\t\t}\n\n\t\treturn new Proxy( source , {\n\n\t\t\tget( target , field ) {\n\n\t\t\t\tif( typeof field === 'string' ) {\n\t\t\t\t\tif( field === 'length' ) return size()\n\t\t\t\t\t\n\t\t\t\t\tconst index = Number( field )\n\t\t\t\t\tif( index < 0 ) return undefined\n\t\t\t\t\tif( index >= size() ) return undefined\n\t\t\t\t\tif( index === Math.trunc( index ) ) return ( item as any )( index )\n\t\t\t\t}\n\n\t\t\t\treturn $mol_range2_array.prototype[ field as any ]\n\t\t\t} ,\n\n\t\t\tset( target , field ) {\n\t\t\t\treturn $mol_fail( new TypeError( `Lazy range is read only (trying to set field ${ JSON.stringify( field ) })` ) )\n\t\t\t} ,\n\n\t\t\townKeys( target ) {\n\t\t\t\treturn [ ... Array( size() ) ].map( ( v, i ) => String( i ) ).concat( 'length' )\n\t\t\t} ,\n\n\t\t\tgetOwnPropertyDescriptor( target , field ) : PropertyDescriptor | undefined {\n\t\t\t\t\n\t\t\t\tif( field === \"length\" ) return {\n\t\t\t\t\tvalue : size() ,\n\t\t\t\t\twritable : true ,\n\t\t\t\t\tenumerable : false ,\n\t\t\t\t\tconfigurable : false ,\n\t\t\t\t}\n\n\t\t\t\tconst index = Number( field )\n\t\t\t\tif( index === Math.trunc( index ) ) return {\n\t\t\t\t\tget : ()=> this.get!( target , field , this ) ,\n\t\t\t\t\tenumerable : true ,\n\t\t\t\t\tconfigurable : true ,\n\t\t\t\t}\n\n\t\t\t\treturn Object.getOwnPropertyDescriptor( target , field )\n\t\t\t}\n\n\t\t} )\n\n\t}\n\n\texport class $mol_range2_array< Item > extends Array< Item > {\n\t\t\n\t\t// Lazy\n\t\tconcat( ... tail : Item[][] ) : Item[] {\n\t\t\tif( tail.length === 0 ) return this as any\n\n\t\t\tif( tail.length > 1 ) {\n\t\t\t\tlet list = this as any\n\t\t\t\tfor( let item of tail ) list = list.concat( item )\n\t\t\t\treturn list\n\t\t\t}\n\t\t\t\n\t\t\treturn $mol_range2(\n\t\t\t\tindex => index < this.length ? this[ index ] : tail[0][ index - this.length ] ,\n\t\t\t\t()=> this.length + tail[0].length ,\n\t\t\t)\n\t\t}\n\n\t\t// Lazy\n\t\tfilter< Context > (\n\t\t\tcheck : ( val : Item , index : number , list : Item[] )=> boolean ,\n\t\t\tcontext? : Context ,\n\t\t) {\n\t\t\t\n\t\t\tconst filtered = [] as Item[]\n\t\t\tlet cursor = -1\n\t\t\t\n\t\t\treturn $mol_range2(\n\t\t\t\tindex => {\n\t\t\t\t\t\n\t\t\t\t\twhile( cursor < this.length && index >= filtered.length - 1 ) {\n\t\t\t\t\t\tconst val = this[ ++ cursor ]\n\t\t\t\t\t\tif( check( val, cursor, this ) ) filtered.push( val )\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\treturn filtered[ index ]\n\t\t\t\t},\n\t\t\t\t()=> cursor < this.length ? Number.POSITIVE_INFINITY : filtered.length,\n\t\t\t)\n\t\t\t\n\t\t}\n\n\t\t// Diligent\n\t\tforEach< Context > (\n\t\t\tproceed : ( this : Context , val : Item , index : number , list : Item[] )=> void ,\n\t\t\tcontext? : Context,\n\t\t) {\n\t\t\tfor( let [ key , value ] of this.entries() ) proceed.call( context as Context , value , key , this )\n\t\t}\n\n\t\t// Lazy\n\t\tmap< Item_out , Context > (\n\t\t\tproceed : ( this : Context , val : Item , index : number , list : Item[] )=> Item_out ,\n\t\t\tcontext? : Context ,\n\t\t) : Item_out[] {\n\t\t\treturn $mol_range2(\n\t\t\t\tindex => proceed.call( context as Context , this[ index ] , index , this ) ,\n\t\t\t\t()=> this.length ,\n\t\t\t)\n\t\t}\n\n\t\t// Diligent\n\t\treduce< Result > (\n\t\t\tmerge : ( result : Result , val : Item , index : number , list : Item[] )=> Result ,\n\t\t\tresult? : Result ,\n\t\t) {\n\t\t\tlet index = 0\n\n\t\t\tif( arguments.length === 1 ) {\n\t\t\t\tresult = this[ index ++ ] as any\n\t\t\t}\n\t\t\t\n\t\t\tfor( ; index < this.length ; ++ index ) {\n\t\t\t\tresult = merge( result as Result , this[ index ] , index , this as any )\n\t\t\t}\n\t\t\t\n\t\t\treturn result\n\t\t}\n\n\t\t// Lazy\n\t\ttoReversed(): Item[] {\n\t\t\treturn $mol_range2(\n\t\t\t\tindex => this[ this.length - 1 - index ] ,\n\t\t\t\t()=> this.length ,\n\t\t\t)\n\t\t}\n\n\t\t// Lazy\n\t\tslice( from = 0 , to = this.length ) {\n\t\t\treturn $mol_range2(\n\t\t\t\tindex => this[ from + index ] ,\n\t\t\t\t()=> Math.min( to , this.length ) - from ,\n\t\t\t)\n\t\t}\n\n\t\t// Lazy\n\t\tsome< Context > (\n\t\t\tcheck : ( this : Context , val : Item , index : number , list : Item[] )=> boolean ,\n\t\t\tcontext? : Context ,\n\t\t) {\n\t\t\tfor( let index = 0 ; index < this.length ; ++ index ) {\n\t\t\t\tif( check.call( context as Context , this[ index ] , index , this ) ) return true\n\t\t\t}\n\t\t\treturn false\n\t\t}\n\n\t\t// Lazy\n\t\tevery< Narrow extends Item, Context = null >( check: ( value: Item, index: number, array: Item[] )=> value is Narrow, context?: Context ): this is Narrow[]\n\t\tevery< Context = null > (\n\t\t\tcheck : ( this : Context , val : Item , index : number , list : Item[] )=> boolean ,\n\t\t\tcontext? : Context ,\n\t\t) {\n\t\t\tfor( let index = 0 ; index < this.length ; ++ index ) {\n\t\t\t\tif( !check.call( context as Context , this[ index ] , index , this as any as Item[] ) ) return false\n\t\t\t}\n\t\t\treturn true\n\t\t}\n\n\t\treverse() {\n\t\t\treturn $mol_fail( new TypeError( `Mutable reverse is forbidden. Use toReversed instead.` ) )\n\t\t}\n\n\t\tsort() {\n\t\t\treturn $mol_fail( new TypeError( `Mutable sort is forbidden. Use toSorted instead.` ) )\n\t\t}\n\t\t\n\t\tindexOf( needle: Item ) {\n\t\t\treturn this.findIndex( item => item === needle )\n\t\t}\n\t\t\n\t\t[Symbol.toPrimitive]() {\n\t\t\treturn $mol_guid()\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\n\t$mol_test({\n\n\t\t'lazy calls'() {\n\n\t\t\tlet calls = 0\n\t\t\t\n\t\t\tconst list = $mol_range2( index => ( ++ calls , index ) , ()=> 10 )\n\n\t\t\t$mol_assert_equal( true, list instanceof Array )\n\t\t\t$mol_assert_equal( list.length , 10 )\n\n\t\t\t$mol_assert_equal( list[-1] , undefined )\n\t\t\t$mol_assert_equal( list[0] , 0 )\n\t\t\t$mol_assert_equal( list[9] , 9 )\n\t\t\t$mol_assert_equal( list[9.5] , undefined )\n\t\t\t$mol_assert_equal( list[10] , undefined )\n\n\t\t\t$mol_assert_equal( calls , 2 )\n\n\t\t} ,\n\n\t\t'infinity list'() {\n\n\t\t\tlet calls = 0\n\t\t\t\n\t\t\tconst list = $mol_range2( index => ( ++ calls , index ) )\n\n\t\t\t$mol_assert_equal( list.length , Number.POSITIVE_INFINITY )\n\n\t\t\t$mol_assert_equal( list[0] , 0 )\n\t\t\t$mol_assert_equal( list[4] , 4 )\n\t\t\t$mol_assert_equal( list[Number.MAX_SAFE_INTEGER] , Number.MAX_SAFE_INTEGER )\n\t\t\t$mol_assert_equal( list[Number.POSITIVE_INFINITY] , undefined )\n\t\t\t\n\t\t\t$mol_assert_equal( calls , 3 )\n\n\t\t} ,\n\n\t\t'stringify'() {\n\n\t\t\tconst list = $mol_range2( i => i , ()=> 5 )\n\n\t\t\t$mol_assert_equal( list.toString() , '0,1,2,3,4' )\n\t\t\t$mol_assert_equal( list.join(';') , '0;1;2;3;4' )\n\n\t\t} ,\n\n\t\t'for-of'() {\n\n\t\t\tlet log = ''\n\n\t\t\tfor( let i of $mol_range2( i => i + 1 , ()=> 5 ) ) {\n\t\t\t\tlog += i\n\t\t\t}\n\n\t\t\t$mol_assert_equal( log , '12345' )\n\n\t\t} ,\n\n\t\t'for-in'() {\n\n\t\t\tlet log = ''\n\n\t\t\tfor( let i in $mol_range2( i => i , ()=> 5 ) ) {\n\t\t\t\tlog += i\n\t\t\t}\n\n\t\t\t$mol_assert_equal( log , '01234' )\n\n\t\t} ,\n\n\t\t'forEach'() {\n\n\t\t\tlet log = ''\n\n\t\t\t$mol_range2( i => i , ()=> 5 ).forEach( i => log += i )\n\n\t\t\t$mol_assert_equal( log , '01234' )\n\n\t\t} ,\n\n\t\t'reduce'() {\n\n\t\t\tlet calls = 0\n\t\t\t\n\t\t\tconst list = $mol_range2().slice( 1 , 6 )\n\n\t\t\t$mol_assert_equal( list.reduce( ( s , v )=> s + v ) , 15 )\n\t\t\t$mol_assert_equal( list.reduce( ( s , v )=> s + v , 5 ) , 20 )\n\n\t\t} ,\n\n\t\t'lazy concat'() {\n\n\t\t\tlet calls1 = 0\n\t\t\tlet calls2 = 0\n\t\t\t\n\t\t\tconst list = $mol_range2( index => ( ++ calls1 , index ) , ()=> 5 ).concat(\n\t\t\t\t[ 0 , 1 , 2 , 3 , 4 ] ,\n\t\t\t\t$mol_range2( index => ( ++ calls2 , index ) , ()=> 5 ) ,\n\t\t\t)\n\n\t\t\t$mol_assert_equal( true, list instanceof Array )\n\t\t\t$mol_assert_equal( list.length , 15 )\n\n\t\t\t$mol_assert_equal( list[0] , 0 )\n\t\t\t$mol_assert_equal( list[4] , 4 )\n\t\t\t$mol_assert_equal( list[5] , 0 )\n\t\t\t$mol_assert_equal( list[9] , 4 )\n\t\t\t$mol_assert_equal( list[10] , 0 )\n\t\t\t$mol_assert_equal( list[14] , 4 )\n\t\t\t$mol_assert_equal( list[15] , undefined )\n\t\t\t\n\t\t\t$mol_assert_equal( calls1 , 2 )\n\t\t\t$mol_assert_equal( calls2 , 2 )\n\n\t\t} ,\n\n\t\t'lazy filter'() {\n\n\t\t\tlet calls = 0\n\t\t\t\n\t\t\tconst list = $mol_range2( index => ( ++ calls , index ) , ()=> 15 ).filter( v => v % 2 ).slice( 0 , 3 )\n\n\t\t\t$mol_assert_equal( true, list instanceof Array )\n\t\t\t$mol_assert_equal( list.length , 3 )\n\n\t\t\t$mol_assert_equal( list[0] , 1 )\n\t\t\t$mol_assert_equal( list[2] , 5 )\n\t\t\t$mol_assert_equal( list[3] , undefined )\n\t\t\t\n\t\t\t$mol_assert_equal( calls , 8 )\n\n\t\t} ,\n\n\t\t'lazy reverse'() {\n\t\t\tlet calls = 0\n\n\t\t\tconst list = $mol_range2( index => ( ++ calls , index ) , ()=> 10 ).toReversed().slice(0, 3)\n\n\t\t\t$mol_assert_equal( true, list instanceof Array )\n\t\t\t$mol_assert_equal( list.length , 3 )\n\n\t\t\t$mol_assert_equal( list[0] , 9 )\n\t\t\t$mol_assert_equal( list[2] , 7 )\n\t\t\t$mol_assert_equal( list[3] , undefined )\n\t\t\t$mol_assert_equal( calls , 2 )\n\n\t\t} ,\n\n\t\t'lazy map'() {\n\n\t\t\tlet calls1 = 0\n\t\t\tlet calls2 = 0\n\t\t\t\n\t\t\tconst source = $mol_range2( index => ( ++ calls1 , index ) , ()=> 5 )\n\t\t\tconst target = source.map(\n\t\t\t\t( item , index , self )=> {\n\t\t\t\t\t++ calls2\n\t\t\t\t\t$mol_assert_equal( source , self )\n\t\t\t\t\treturn index + 10\n\t\t\t\t} ,\n\t\t\t\t()=> 5 ,\n\t\t\t)\n\n\t\t\t$mol_assert_equal( true, target instanceof Array )\n\t\t\t$mol_assert_equal( target.length , 5 )\n\n\t\t\t$mol_assert_equal( target[0] , 10 )\n\t\t\t$mol_assert_equal( target[4] , 14 )\n\t\t\t$mol_assert_equal( target[5] , undefined )\n\t\t\t\n\t\t\t$mol_assert_equal( calls1 , 2 )\n\t\t\t$mol_assert_equal( calls2 , 2 )\n\n\t\t} ,\n\n\t\t'lazy slice'() {\n\n\t\t\tlet calls = 0\n\t\t\t\n\t\t\tconst list = $mol_range2( index => ( ++ calls , index ) , ()=> 10 ).slice( 3 , 7 )\n\n\t\t\t$mol_assert_equal( true, list instanceof Array )\n\t\t\t$mol_assert_equal( list.length , 4 )\n\n\t\t\t$mol_assert_equal( list[0] , 3 )\n\t\t\t$mol_assert_equal( list[3] , 6 )\n\t\t\t$mol_assert_equal( list[4] , undefined )\n\t\t\t\n\t\t\t$mol_assert_equal( calls , 2 )\n\n\t\t} ,\n\n\t\t'lazy some'() {\n\n\t\t\tlet calls = 0\n\t\t\t\n\t\t\t$mol_assert_equal( true, $mol_range2( index => ( ++ calls , index ) , ()=> 5 ).some( v => v >= 2 ) )\n\n\t\t\t$mol_assert_equal( calls , 3 )\n\n\t\t\t$mol_assert_equal( false, $mol_range2( i => i , ()=> 0 ).some( v => true ) )\n\t\t\t$mol_assert_equal( true, $mol_range2( i => i ).some( v => v > 5 ) )\n\t\t} ,\n\n\t\t'lazy every'() {\n\n\t\t\tlet calls = 0\n\t\t\t\n\t\t\t$mol_assert_equal( false, $mol_range2( index => ( ++ calls , index ) , ()=> 5 ).every( v => v < 2 ) )\n\n\t\t\t$mol_assert_equal( calls , 3 )\n\n\t\t\t$mol_assert_equal( true, $mol_range2( i => i , ()=> 0 ).every( v => false ) )\n\t\t\t$mol_assert_equal( false, $mol_range2( i => i ).every( v => v < 5 ) )\n\t\t} ,\n\n\t\t'lazyfy'() {\n\n\t\t\tlet calls = 0\n\t\t\t\n\t\t\tconst list = $mol_range2([ 0 , 1 , 2 , 3 , 4 , 5 ]).map( i => ( ++ calls , i + 10 ) ).slice( 2 )\n\n\t\t\t$mol_assert_equal( true, list instanceof Array )\n\t\t\t$mol_assert_equal( list.length , 4 )\n\n\t\t\t$mol_assert_equal( calls , 0 )\n\t\t\t\n\t\t\t$mol_assert_equal( list[0] , 12 )\n\t\t\t$mol_assert_equal( list[3] , 15 )\n\t\t\t$mol_assert_equal( list[4] , undefined )\n\t\t\t\n\t\t\t$mol_assert_equal( calls , 2 )\n\n\t\t} ,\n\n\t\t'prevent modification'() {\n\n\t\t\tconst list = $mol_range2( i => i , ()=> 5 )\n\n\t\t\t$mol_assert_fail( ()=> list.push( 4 ) , TypeError )\n\t\t\t$mol_assert_fail( ()=> list.pop() , TypeError )\n\t\t\t\n\t\t\t$mol_assert_fail( ()=> list.unshift( 4 ) , TypeError )\n\t\t\t$mol_assert_fail( ()=> list.shift() , TypeError )\n\t\t\t\n\t\t\t$mol_assert_fail( ()=> list.splice( 1 , 2 ) , TypeError )\n\t\t\t$mol_assert_fail( ()=> list[ 1 ] = 2 , TypeError )\n\t\t\t\n\t\t\t$mol_assert_fail( ()=> list.reverse() , TypeError )\n\t\t\t$mol_assert_fail( ()=> list.sort() , TypeError )\n\n\t\t\t$mol_assert_equal( list.toString() , '0,1,2,3,4' )\n\n\t\t}\n\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_not( $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\t$mol_assert_ok( $mol_compare_deep( Object.create(null), Object.create(null) ) )\n\t\t} ,\n\n\t\t'Array'() {\n\t\t\t\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\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\t\n\t\t\t$mol_assert_not( $mol_compare_deep( $mol_range2().slice(0,0), new Array() ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( $mol_range2(), $mol_range2() ) )\n\t\t\t\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'POJO with symbols'() {\n\t\t\tconst sym = Symbol()\n\t\t\t$mol_assert_ok( $mol_compare_deep( { [ sym ]: true }, { [ sym ]: true } ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( { [ Symbol() ]: true }, { [ Symbol() ]: true } ) )\n\t\t} ,\n\n\t\t'same POJOs with cyclic reference'() {\n\n\t\t\tconst a = { foo : {} }\n\t\t\t;(a as any)['self'] = a\n\n\t\t\tconst b = { foo : {} }\n\t\t\t;(b as any)['self'] = b\n\n\t\t\t$mol_assert_ok( $mol_compare_deep( a , b ) )\n\n\t\t} ,\n\n\t\t'same POJOs with cyclic reference with cache warmup'() {\n\t\t\tconst obj1 = { test: 1, obj3: null as unknown as Object }\n\t\t\tconst obj1_copy = { test: 1, obj3: null as unknown as Object }\n\t\t\tconst obj2 = { test: 2, obj1 }\n\t\t\tconst obj2_copy = { test: 2, obj1: obj1_copy }\n\t\t\tconst obj3 = { test: 3, obj2 }\n\t\t\tconst obj3_copy = { test: 3, obj2: obj2_copy }\n\n\t\t\tobj1.obj3 = obj3\n\t\t\tobj1_copy.obj3 = obj3_copy\n\n\t\t\t// warmup cache\n\t\t\t$mol_assert_not( $mol_compare_deep( obj1 , {} as any ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( obj2 , {} as any ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( obj3 , {} as any ) )\n\n\t\t\t$mol_assert_ok( $mol_compare_deep( obj3 , obj3_copy ) )\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_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([ [ [3] , 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'DataView'() {\n\t\t\t$mol_assert_ok( $mol_compare_deep( new DataView( new Uint8Array().buffer ) , new DataView( new Uint8Array().buffer ) ) )\n\t\t\t$mol_assert_ok( $mol_compare_deep( new DataView( new Uint8Array([ 0 ]).buffer ) , new DataView( new Uint8Array([ 0 ]).buffer ) ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( new DataView( new Uint8Array([ 0 ]). buffer ) , new DataView( new Uint8Array([ 1 ]).buffer ) ) )\n\t\t} ,\n\t\t\n\t\t'Serializale'() {\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\t'Iterable'() {\n\t\t\t$mol_assert_ok( $mol_compare_deep( new URLSearchParams({ foo: 'bar' }), new URLSearchParams({ foo: 'bar' }) ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( new URLSearchParams({ foo: 'xxx' }), new URLSearchParams({ foo: 'yyy' }) ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( new URLSearchParams({ foo: 'xxx', bar: 'yyy' }), new URLSearchParams({ bar: 'yyy', foo: 'xxx' }) ) )\n\t\t} ,\n\t\t\n\t})\n\n}\n","namespace $ {\n\t\n\t/**\n\t * Argument must be Truthy\n\t * @deprecated use $mol_assert_equal instead\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\t/**\n\t * Argument must be Falsy\n\t * @deprecated use $mol_assert_equal instead\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\t/**\n\t * Handler must throw an error.\n\t * @example\n\t * $mol_assert_fail( ()=>{ throw new Error( 'Parse error' ) } ) // Passes because throws error\n\t * $mol_assert_fail( ()=>{ throw new Error( 'Parse error' ) } , 'Parse error' ) // Passes because throws right message\n\t * $mol_assert_fail( ()=>{ throw new Error( 'Parse error' ) } , Error ) // Passes because throws right class\n\t * @see https://mol.hyoo.ru/#!section=docs/=9q9dv3_fgxjsf\n\t */\n\texport function $mol_assert_fail(\n\t\thandler: ()=> any ,\n\t\tErrorRight: string | typeof Error | typeof Promise\n\t) {\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\t$.$mol_fail = fail\n\n\t\t\tif( typeof ErrorRight === 'string' ) {\n\t\t\t\t$mol_assert_equal( error.message ?? error, ErrorRight )\n\t\t\t} else {\n\t\t\t\t$mol_assert_equal( error instanceof ErrorRight, true )\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\t/** @deprecated Use $mol_assert_equal */\n\texport function $mol_assert_like< Value >( ... args : [ Value, Value, ...Value[] ] ) {\n\t\t$mol_assert_equal( ... args )\n\t}\n\t\n\t/**\n\t * All arguments must not be structural equal to each other.\n\t * @example\n\t * $mol_assert_unique( 1 , 2 , 3 ) // Passes\n\t * $mol_assert_unique( 1 , 1 , 2 ) // Fails because 1 === 1\n\t * @see https://mol.hyoo.ru/#!section=docs/=9q9dv3_fgxjsf\n\t */\n\texport function $mol_assert_unique( ... args : [ any, any, ...any[] ] ) {\n\t\t\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\t\n\t\t\t\tif( i === j ) continue\n\t\t\t\tif( !$mol_compare_deep( args[i], args[j] ) ) continue\n\t\t\t\t\n\t\t\t\treturn $mol_fail( new Error(\n\t\t\t\t\t`Uniquesess assertion failure`,\n\t\t\t\t\t{ cause: { [i]: args[i], [i]: args[i] } },\n\t\t\t\t) )\n\t\t\t\t\n\t\t\t}\n\t\t}\n\t\t\n\t}\n\t\n\t/**\n\t * All arguments must be structural equal each other.\n\t * @example\n\t * $mol_assert_like( [1] , [1] , [1] ) // Passes\n\t * $mol_assert_like( [1] , [1] , [2] ) // Fails because 1 !== 2\n\t * @see https://mol.hyoo.ru/#!section=docs/=9q9dv3_fgxjsf\n\t */\n\texport function $mol_assert_equal< Value >( ... args : Value[] ) {\n\t\tfor( let i = 1 ; i < args.length ; ++i ) {\n\t\t\t\n\t\t\tif( $mol_compare_deep( args[0] , args[i] ) ) continue\n\t\t\tif( args[0] instanceof $mol_dom_context.Element && args[i] instanceof $mol_dom_context.Element && args[0].outerHTML === ( args[i] as Element ).outerHTML ) continue\n\t\t\t\n\t\t\treturn $mol_fail( new Error(\n\t\t\t\t`Equality assertion failure`,\n\t\t\t\t{ cause: { 0: args[0], [i]: args[i] } },\n\t\t\t) )\n\t\t\t\n\t\t}\n\t}\n\t\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( [ 2 ] , [ 3 ] )\n\t\t} ,\n\t\t\n\t\t'three must be unique'() {\n\t\t\t$mol_assert_unique( [ 1 ] , [ 2 ] , [ 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\n\t\t'two object must be alike'() {\n\t\t\t$mol_assert_like( { a: 1 }, { a: 1 } )\n\t\t} ,\n\n\t\t'three object must be alike'() {\n\t\t\t$mol_assert_like( { a: 1 }, { a: 1 }, { a: 1 } )\n\t\t} ,\n\t\t\n\t} )\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\n\t$mol_test({\n\t\t\n\t\t'FQN of anon function'($) {\n\t\t\tconst $$ = Object.assign( $ , { $mol_func_name_test : ( ()=> ()=> {} )() } )\n\t\t\t$mol_assert_equal( $$.$mol_func_name_test.name , '' )\n\t\t\t$mol_assert_equal( $$.$mol_func_name( $$.$mol_func_name_test ) , '$mol_func_name_test' )\n\t\t\t$mol_assert_equal( $$.$mol_func_name_test.name , '$mol_func_name_test' )\n\t\t},\n\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","namespace $ {\n\t$mol_test( {\n\t\t\n\t\t'init with overload'() {\n\t\t\tclass X extends $mol_object {\n\t\t\t\tfoo() {\n\t\t\t\t\treturn 1\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tvar x = X.make({\n\t\t\t\tfoo : ()=> 2 ,\n\t\t\t})\n\t\t\t\n\t\t\t$mol_assert_equal( x.foo() , 2 )\n\t\t} ,\n\t\t\t\n\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_mocks.push( $ => {\n\t\t$.$mol_after_tick = $mol_after_mock_commmon as any as typeof $mol_after_tick\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( $mol_promise_like( error ) ) $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\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({\n\t\t'test types'( $ ) {\n\t\t\tclass A {\n\t\t\t\tstatic a() {\n\t\t\t\t\treturn ''\n\t\t\t\t}\n\t\t\t\tstatic b() {\n\t\t\t\t\treturn $mol_wire_async(this).a()\n\t\t\t\t}\n\t\t\t}\n\n\t\t\ttype Check = $mol_type_assert<ReturnType<typeof A['b']>, Promise<string>>\n\t\t},\n\t\t\n\t\tasync 'Latest method calls wins'( $ ) {\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\t$$.$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_equal( NameLogger.first, [ 'john', 'jin' ] )\n\t\t\t$mol_assert_equal( NameLogger.last, [ 'jin' ] )\n\n\t\t},\n\n\t\tasync 'Latest function calls wins'( $ ) {\n\t\t\t\n\t\t\tconst first = [] as string[]\n\t\t\tconst last = [] as string[]\n\t\t\t\n\t\t\tfunction send_name( next: string ) {\n\t\t\t\t$mol_wire_sync( first ).push( next )\n\t\t\t\t$$.$mol_wait_timeout(0)\n\t\t\t\tlast.push( next )\n\t\t\t}\n\t\t\t\n\t\t\tconst name = $mol_wire_async( send_name )\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_equal( first, [ 'john', 'jin' ] )\n\t\t\t$mol_assert_equal( last, [ 'jin' ] )\n\t\t\t\n\t\t},\n\n\t})\n\t\n}\n","namespace $ {\n\n\t$mol_test({\n\n\t\t'test types'( $ ) {\n\t\t\tclass A {\n\t\t\t\tstatic a() {\n\t\t\t\t\treturn Promise.resolve('')\n\t\t\t\t}\n\n\t\t\t\tstatic b() {\n\t\t\t\t\treturn $mol_wire_sync(this).a()\n\t\t\t\t}\n\t\t\t}\n\n\t\t\ttype Check = $mol_type_assert<ReturnType<typeof A['b']>, string>\n\t\t},\n\n\t\tasync 'test method from host'( $ ) {\n\t\t\tlet count = 0\n\t\t\tclass A {\n\t\t\t\tstatic a() {\n\t\t\t\t\treturn $mol_wire_sync(this).b()\n\t\t\t\t}\n\n\t\t\t\tstatic b() { return Promise.resolve(++count) }\n\t\t\t}\n\n\t\t\t\n\t\t\t$mol_assert_equal(await $mol_wire_async(A).a(), 1, count)\n\n\t\t},\n\n\t\tasync 'test function'( $ ) {\n\t\t\tlet count = 0\n\t\t\tclass A {\n\t\t\t\tstatic a() {\n\t\t\t\t\treturn $mol_wire_sync(this.b)()\n\t\t\t\t}\n\n\t\t\t\tstatic b() { return Promise.resolve(++count) }\n\t\t\t}\n\n\t\t\t\n\t\t\t$mol_assert_equal(await $mol_wire_async(A).a(), 1, count)\n\n\t\t},\n\n\t\tasync 'test construct itself'( $ ) {\n\t\t\tclass A {\n\t\t\t\tstatic instances = [] as A[]\n\n\t\t\t\tstatic a() {\n\t\t\t\t\tconst a = new ($mol_wire_sync(A))()\n\t\t\t\t\tthis.instances.push( a )\n\t\t\t\t\t$mol_wire_sync(this).b()\n\t\t\t\t}\n\n\t\t\t\tstatic b() { return Promise.resolve() }\n\t\t\t}\n\n\t\t\tawait $mol_wire_async(A).a()\n\t\t\t$mol_assert_equal(A.instances.length, 2)\n\t\t\t$mol_assert_equal(A.instances[0] instanceof A)\n\n\t\t\t$mol_assert_equal(A.instances[0], A.instances[1])\n\n\t\t}\n\t})\n\n}\n\n","namespace $ {\n\n\tdeclare function requestIdleCallback( task : ()=> void , options? : { timeout : number } ) : any\n\tdeclare function cancelIdleCallback( id : any ) : void\n\n\texport class $mol_after_work 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 = requestIdleCallback( task , { timeout : delay } )\n\t\t}\n\n\t\tdestructor() {\n\t\t\tcancelIdleCallback( this.id )\n\t\t}\n\n\t}\n\t\n\tif( typeof requestIdleCallback !== 'function' ) {\n\t\t$.$mol_after_work = $mol_after_timeout\n\t}\n\t\n}\n","namespace $ {\n\n\t$mol_test_mocks.push( $ => {\n\t\t$.$mol_after_work = $mol_after_mock_timeout as any as typeof $mol_after_work\n\t})\n\n}\n","namespace $ {\n\t\n\texport function $mol_wait_rest_async( this: $ ) {\n\t\treturn new Promise( done => {\n\t\t\tnew this.$mol_after_work( 16 , ()=> done( null ) )\n\t\t} )\n\t}\n\t\n\texport function $mol_wait_rest( this: $ ) {\n\t\treturn this.$mol_wire_sync( this ).$mol_wait_rest_async()\n\t}\n\t\n}\n","namespace $.$$ {\n\t\n\t$mol_test_mocks.push( $ => {\n\t\t$.$mol_wait_timeout = function $mol_wait_timeout_mock( this: $, timeout: number ) { }\n\t\t$.$mol_wait_timeout_async = async function $mol_wait_timeout_async_mock( this: $, timeout: number ) {}\n\t} )\n\n}\n","namespace $ {\n\t\n\texport function $mol_wait_timeout_async( this: $, timeout: number ): Promise< void > {\n\t\tconst promise = new $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\t\n\t$mol_test_mocks.push( $ => {\n\t\t$.$mol_wait_rest = function $mol_wait_rest_mock( this: $ ) { }\n\t\t$.$mol_wait_rest_async = async function $mol_wait_rest_async_mock( this: $ ) {}\n\t} )\n\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_solo\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'Read Pushed' ($) {\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_solo\n\t\t\t\tstatic value( next = 0 ) {\n\t\t\t\t\treturn next\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( 1 ), 1 )\n\t\t\t$mol_assert_equal( App.value(), 1 )\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_solo\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_solo\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_solo\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_solo\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_solo\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_solo\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_solo\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_solo\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_solo\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_solo\n\t\t\t\tstatic source( next = 1 ) { return next }\n\t\t\t\t\n\t\t\t\t@ $mol_wire_solo\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_solo\n\t\t\t\tstatic result() {\n\t\t\t\t\tconst res = this.condition() ? this.source() : 0\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.source( 10 )\n\t\t\t$mol_assert_equal( App.result() , 11 )\n\t\t\t$mol_assert_equal( App.counter , 2 )\n\t\t\t\n\t\t\tApp.condition( false )\n\t\t\t$mol_assert_equal( App.result() , 2 )\n\t\t\t$mol_assert_equal( App.counter , 3 )\n\n\t\t\t$mol_wire_fiber.sync()\n\t\t\t$mol_assert_equal( App.source() , 1 )\n\t\t\t\n\t\t\tApp.source( 20 )\n\t\t\t$mol_assert_equal( App.result() , 2 )\n\t\t\t$mol_assert_equal( App.counter , 3 )\n\n\t\t\tApp.condition( true )\n\t\t\t$mol_assert_equal( App.result() , 23 )\n\t\t\t$mol_assert_equal( App.counter , 4 )\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_solo\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_solo\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_solo\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_solo\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// 'Update deps on 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_solo\n\t\t// \t\tstatic left( next = false ) {\n\t\t// \t\t\treturn next\n\t\t// \t\t}\n\t\t\n\t\t// \t\t@ $mol_wire_solo\n\t\t// \t\tstatic right( next = false ) {\n\t\t// \t\t\treturn next\n\t\t// \t\t}\n\t\t\n\t\t// \t\t@ $mol_wire_solo\n\t\t// \t\tstatic res( next?: boolean ) {\n\t\t// \t\t\treturn this.left( next ) && this.right()\n\t\t// \t\t}\n\t\t\n\t\t// \t}\n\t\t\t\n\t\t// \t$mol_assert_equal( App.res(), false )\n\t\t// \t$mol_assert_equal( App.res( true ), false )\n\t\t\t\n\t\t// \t$mol_assert_equal( App.right( true ), true )\n\t\t// \t$mol_assert_equal( App.res(), true )\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'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_solo\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_solo\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_solo\n\t\t\t\tstatic slow( next?: number ) {\n\t\t\t\t\tif( next !== undefined ) this.slow() // enforce pull before push\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_solo\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_solo\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_solo\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_solo\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_solo\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_solo\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_solo\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_solo\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_solo\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_solo\n\t\t\t\tstatic condition( next = false ) { return next }\n\n\t\t\t\t@ $mol_wire_solo\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_solo\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(), 'test error' )\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_solo\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_solo\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_solo\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_solo\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_solo\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_solo\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_solo\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_solo\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}\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'Owned value has js-path name' () {\n\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\t@ $mol_wire_solo\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}\n\n\t\t\t$mol_assert_equal( `${ App.title() }` , 'App.title<>' )\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_solo\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_solo\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\tasync 'Error caching' ($) {\n\t\t\tconst next_cached = 123\n\n\t\t\tclass Some extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\n\t\t\t\t@ $mol_wire_plex\n\t\t\t\tstatic data( id: string, next?: unknown): unknown {\n\t\t\t\t\tif (next) return next as never\n\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\t$mol_wire_async(this).data(id, next_cached)\n\t\t\t\t\t}, 10)\n\n\t\t\t\t\t$mol_fail_hidden(new Promise(() => {}))\n\t\t\t\t}\n\n\t\t\t\t@ $mol_wire_method\n\t\t\t\tstatic run() {\n\t\t\t\t\treturn this.data('1')\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tconst val = await $mol_wire_async(Some).run()\n\t\t\t$mol_assert_equal(val, next_cached)\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_plex\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_solo\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}\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_plex\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'Owned value has js-path name' () {\n\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\t@ $mol_wire_plex\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_plex\n\t\t\t\tstatic relation( [ friend, props ]: [ number, [ 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.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_plex\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})\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_solo\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","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","/** @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( 1n<<64n ), '18446744073709551616n' )\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'Uint8Array'() {\n\t\t\t\n\t\t\t$mol_assert_equal( $mol_key( new Uint8Array([ 1, 2 ]) ), '[1,2]' )\n\t\t\t$mol_assert_equal( $mol_key([ new Uint8Array([ 1, 2 ]) ]), '[[1,2]]' )\n\t\t\t$mol_assert_equal( $mol_key({ foo: new Uint8Array([ 1, 2 ]) }), '{\"foo\":[1,2]}' )\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$mol_test({\n\t\t\n\t\t'return result without errors'() {\n\t\t\t\n\t\t\t$mol_assert_equal( $mol_try( ()=> false ) , false )\n\t\t\t\n\t\t} ,\n\t\t\n\t\t//'return error if thrown'() {\n\t\t//\t\n\t\t//\tconst error = new Error( '$mol_try test error' )\n\t\t//\t$mol_assert_equal( $mol_try( ()=> { throw error } ) , error )\n\t\t//\t\n\t\t//} ,\n\t\t\n\t})\t\n}\n","namespace $ {\n\t$mol_test_mocks.push( $=> $.$mol_fail_log = ()=> false )\n}\n\n","namespace $ {\n\t\n\t/** Watch and logs reactive states. Logger automatically added to test bundle which is adding to `test.html`. */\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( fiber.host === this ) return next\n\t\t\t\n\t\t\tif( $mol_compare_deep( prev, next ) ) {\n\t\t\t\t\n\t\t\t\tthis.$.$mol_log3_rise({\n\t\t\t\t\tmessage: '💧 Same',\n\t\t\t\t\tplace: fiber,\n\t\t\t\t})\n\t\t\t\t\n\t\t\t} else if( prev !== undefined ) {\n\t\t\t\t\n\t\t\t\tthis.$.$mol_log3_rise({\n\t\t\t\t\tmessage: '🔥 Next',\n\t\t\t\t\tplace: fiber,\n\t\t\t\t\tprev,\n\t\t\t\t})\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} catch( error ) {\n\t\t\t\t$mol_fail_log( error )\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\t$mol_wire_log.active()\n\n}\n","namespace $ {\n\n\t$mol_test_mocks.push( context => {\n\t\tclass $mol_state_arg_mock extends $mol_state_arg {\n\n\t\t\tstatic $ = context\n\t\t\t\t\t\t\n\t\t\t@ $mol_mem\n\t\t\tstatic href( next? : string ) { return next || '' }\n\t\n\t\t\t@ $mol_action\n\t\t\tstatic go( next : { [ key : string ] : string | null } ) {\n\t\t\t\tthis.href( this.link( next ) )\n\t\t\t}\n\n\t\t}\n\t\tcontext.$mol_state_arg = $mol_state_arg_mock\n\t} )\n\n\t$mol_test({\n\t\t\n\t\t'args as dictionary'( $ ) {\n\t\t\t\n\t\t\t$.$mol_state_arg.href( '#!foo=bar/xxx' )\n\t\t\t$mol_assert_equal( $.$mol_state_arg.dict() , { foo : 'bar' , xxx : '' } )\n\n\t\t\t$.$mol_state_arg.dict({ foo : null , yyy : '' , lol : '123' })\n\t\t\t$mol_assert_equal( $.$mol_state_arg.href().replace( /.*#/ , '#' ) , '#!yyy/lol=123' )\n\n\t\t} ,\n\n\t\t'one value from args'( $ ) {\n\t\t\t\n\t\t\t$.$mol_state_arg.href( '#!foo=bar/xxx' )\n\t\t\t$mol_assert_equal( $.$mol_state_arg.value( 'foo' ) , 'bar' )\n\t\t\t$mol_assert_equal( $.$mol_state_arg.value( 'xxx' ) , '' )\n\n\t\t\t$.$mol_state_arg.value( 'foo' , 'lol' )\n\t\t\t$mol_assert_equal( $.$mol_state_arg.href().replace( /.*#/ , '#' ) , '#!foo=lol/xxx' )\n\n\t\t\t$.$mol_state_arg.value( 'foo' , '' )\n\t\t\t$mol_assert_equal( $.$mol_state_arg.href().replace( /.*#/ , '#' ) , '#!foo/xxx' )\n\n\t\t\t$.$mol_state_arg.value( 'foo' , null )\n\t\t\t$mol_assert_equal( $.$mol_state_arg.href().replace( /.*#/ , '#' ) , '#!xxx' )\n\n\t\t} ,\n\n\t\t'nested args'( $ ) {\n\n\t\t\tconst base = new $.$mol_state_arg( 'nested.' )\n\n\t\t\tclass Nested extends $mol_state_arg {\n\t\t\t\tconstructor( prefix : string ) {\n\t\t\t\t\tsuper( base.prefix + prefix )\n\t\t\t\t}\n\t\t\t\tstatic value = ( key : string , next? : string )=> base.value( key , next )\n\t\t\t}\n\t\t\t\n\t\t\t$.$mol_state_arg.href( '#!foo=bar/nested.xxx=123' )\n\t\t\t$mol_assert_equal( Nested.value( 'foo' ) , null )\n\t\t\t$mol_assert_equal( Nested.value( 'xxx' ) , '123' )\n\n\t\t\tNested.value( 'foo' , 'lol' )\n\t\t\t$mol_assert_equal( $.$mol_state_arg.href().replace( /.*#/ , '#' ) , '#!foo=bar/nested.xxx=123/nested.foo=lol' )\n\n\t\t} ,\n\n\t})\n\t\n}\n","namespace $ {\n\t$mol_test( {\n\t\t\n\t\t'local get set delete'() {\n\t\t\t\t\t\n\t\t\tvar key = '$mol_state_local_test:' + Math.random()\n\t\t\t$mol_assert_equal( $mol_state_local.value( key ) , null )\n\t\t\t\n\t\t\t$mol_state_local.value( key , 123 )\n\t\t\t$mol_assert_equal( $mol_state_local.value( key ) , 123 )\n\t\t\t\n\t\t\t$mol_state_local.value( key , null )\n\t\t\t$mol_assert_equal( $mol_state_local.value( key ) , null )\n\t\t} ,\n\t\t\n\t} )\n}\n","namespace $ {\n\n\t$mol_test_mocks.push( context => {\n\t\tclass $mol_state_local_mock< Value > extends $mol_state_local< Value > {\n\n\t\t\tstatic state = {} as Record< string , any >\n\t\t\t\t\t\t\n\t\t\t@ $mol_mem_key\n\t\t\tstatic value< Value >(\n\t\t\t\tkey : string ,\n\t\t\t\tnext = this.state[ key ] as Value ,\n\t\t\t) {\n\t\t\t\treturn this.state[ key ] = ( next || null )\n\t\t\t}\n\n\t\t}\n\t\tcontext.$mol_state_local = $mol_state_local_mock\n\t} )\n\t\n}\n","namespace $ {\n\t$mol_test( {\n\t\t\n\t\t'all cases of using maybe'() {\n\t\t\t$mol_assert_equal( $mol_maybe( 0 )[ 0 ] , 0 )\n\t\t\t$mol_assert_equal( $mol_maybe( false )[ 0 ] , false )\n\t\t\t$mol_assert_equal( $mol_maybe( null )[ 0 ] , void 0 )\n\t\t\t$mol_assert_equal( $mol_maybe( void 0 )[ 0 ] , void 0 )\n\t\t\t\n\t\t\t$mol_assert_equal( $mol_maybe< number >( void 0 ).map( v => v.toString() )[ 0 ] , void 0 )\n\t\t\t$mol_assert_equal( $mol_maybe( 0 ).map( v => v.toString() )[ 0 ] , '0' )\n\t\t} ,\n\t\t\n\t} )\n}\n","namespace $ {\n\n\t$mol_test({\n\n\t\t'run callback' () {\n\n\t\t\tclass Plus1 extends $mol_wrapper {\n\t\t\n\t\t\t\tstatic wrap< This , Args extends any[] >( task : ( this : This , ... args : Args )=> number ) {\n\t\t\n\t\t\t\t\treturn function( this : This , ... args : Args ) {\n\t\t\t\t\t\treturn task.call( this , ... args ) + 1 as number\n\t\t\t\t\t}\n\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\n\t\t\t$mol_assert_equal( Plus1.run( ()=> 2 ) , 3 )\n\n\t\t} ,\n\n\t\t'wrap function' () {\n\t\t\n\t\t\tclass Plus1 extends $mol_wrapper {\n\t\t\n\t\t\t\tstatic wrap< This , Args extends any[] >( task : ( this : This , ... args : Args )=> number ) {\n\t\t\n\t\t\t\t\treturn function( this : This , ... args : Args ) {\n\t\t\t\t\t\treturn task.call( this , ... args ) + 1 as number\n\t\t\t\t\t}\n\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\t\n\t\t\tconst obj = {\n\t\t\t\tlevel : 2 ,\n\t\t\t\tpow : Plus1.func( function( this : { level : number } , a ) {\n\t\t\t\t\treturn a ** this.level\n\t\t\t\t} )\n\t\t\t}\n\n\t\t\t$mol_assert_equal( obj.pow( 2 ) , 5 )\n\n\t\t} ,\n\n\t\t'decorate field getter' () {\n\n\t\t\tclass Plus1 extends $mol_wrapper {\n\n\t\t\t\tstatic last = 0\n\t\t\n\t\t\t\tstatic wrap< This , Args extends any[] >( task : ( this : This , ... args : Args )=> number ) {\n\t\t\n\t\t\t\t\treturn function( this : This , ... args : Args ) {\n\t\t\t\t\t\treturn Plus1.last = ( task.call( this , ... args ) || 0 ) + 1 as number\n\t\t\t\t\t}\n\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\n\t\t\tclass Foo {\n\n\t\t\t\t@ Plus1.field\n\t\t\t\tstatic get two() {\n\t\t\t\t\treturn 1\n\t\t\t\t}\n\t\t\t\tstatic set two( next : number ) {}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\t$mol_assert_equal( Foo.two , 2 )\n\t\t\t\n\t\t\tFoo.two = 3\n\t\t\t$mol_assert_equal( Plus1.last , 2 )\n\t\t\t$mol_assert_equal( Foo.two , 2 )\n\n\t\t} ,\n\n\t\t'decorate instance method' () {\n\n\t\t\tclass Plus1 extends $mol_wrapper {\n\t\t\n\t\t\t\tstatic wrap< This , Args extends any[] >( task : ( this : This , ... args : Args )=> number ) {\n\t\t\n\t\t\t\t\treturn function( this : This , ... args : Args ) {\n\t\t\t\t\t\treturn task.call( this , ... args ) + 1 as number\n\t\t\t\t\t}\n\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\n\t\t\tclass Foo1 {\n\n\t\t\t\tlevel = 2\n\n\t\t\t\t@ Plus1.method\n\t\t\t\tpow( a : number ) {\n\t\t\t\t\treturn a ** this.level\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tconst Foo2 = Foo1\n\t\t\tconst foo = new Foo2\n\n\t\t\t$mol_assert_equal( foo.pow( 2 ) , 5 )\n\n\t\t} ,\n\n\t\t'decorate static method' () {\n\t\t\t\n\t\t\tclass Plus1 extends $mol_wrapper {\n\t\t\n\t\t\t\tstatic wrap< This , Args extends any[] >( task : ( this : This , ... args : Args )=> number ) {\n\t\t\n\t\t\t\t\treturn function( this : This , ... args : Args ) {\n\t\t\t\t\t\treturn task.call( this , ... args ) + 1 as number\n\t\t\t\t\t}\n\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\n\t\t\tclass Foo {\n\n\t\t\t\tstatic level = 2\n\n\t\t\t\t@ Plus1.method\n\t\t\t\tstatic pow( a : number ) {\n\t\t\t\t\treturn a ** this.level\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\t$mol_assert_equal( Foo.pow( 2 ) , 5 )\n\n\t\t} ,\n\n\t\t'decorate class' () {\n\t\t\t\n\t\t\tclass BarInc extends $mol_wrapper {\n\n\t\t\t\tstatic wrap< This , Args extends any[] >( task : ( this : This , ... args : Args )=> Foo ) {\n\t\t\t\t\t\n\t\t\t\t\treturn function( this : This , ... args : Args ) {\n\n\t\t\t\t\t\tconst foo = task.call( this , ...args )\n\t\t\t\t\t\tfoo.bar ++\n\t\t\t\t\t\treturn foo\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t}\n\t\t\t\n\t\t\t@ BarInc.class\n\t\t\tclass Foo {\n\t\t\t\tconstructor( public bar : number ) {}\n\t\t\t}\n\n\t\t\t$mol_assert_equal( new Foo( 2 ).bar , 3 )\n\n\t\t} ,\n\n\t})\n}\n","namespace $ {\n\n\t$mol_test({\n\n\t\t'memoize field' () {\n\n\t\t\tclass Foo {\n\n\t\t\t\tstatic one = 1\n\n\t\t\t\t@ $mol_memo.field\n\t\t\t\tstatic get two() {\n\t\t\t\t\treturn ++ this.one\n\t\t\t\t}\n\t\t\t\tstatic set two( next : number ) {} \n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\t$mol_assert_equal( Foo.two , 2 )\n\t\t\t$mol_assert_equal( Foo.two , 2 )\n\n\t\t\tFoo.two = 3\n\t\t\t\n\t\t\t$mol_assert_equal( Foo.two , 3 )\n\t\t\t$mol_assert_equal( Foo.two , 3 )\n\n\t\t} ,\n\n\t})\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'id auto generation'($) {\n\t\t\t\t\n\t\t\tclass $mol_view_test_item extends $mol_view { }\n\t\t\t\n\t\t\tclass $mol_view_test_block extends $mol_view {\n\n\t\t\t\tstatic $ = $\n\t\t\t\t\n\t\t\t\t@ $mol_mem_key\n\t\t\t\telement( id : number ) {\n\t\t\t\t\treturn new $mol_view_test_item()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tvar x = $mol_view_test_block.Root(0)\n\t\t\t\n\t\t\t$mol_assert_equal( x.dom_node().id , '$mol_view_test_block.Root(0)' )\n\t\t\t$mol_assert_equal( x.element( 0 ).dom_node().id , '$mol_view_test_block.Root(0).element(0)' )\n\t\t\t\n\t\t} ,\n\t\t\n\t\t'caching ref to dom node'($) {\n\t\t\t\n\t\t\tvar x = new class extends $mol_view { }\n\t\t\tx.$ = $\n\t\t\t\n\t\t\t$mol_assert_equal( x.dom_node() , x.dom_node() )\n\t\t\t\n\t\t} ,\n\t\t\n\t\t'content render'($) {\n\t\t\t\t\n\t\t\tclass $mol_view_test extends $mol_view {\n\t\t\t\tsub() {\n\t\t\t\t\treturn [ 'lol' , 5 ]\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tvar x = new $mol_view_test()\n\t\t\tx.$ = $\n\t\t\t\n\t\t\tvar node = x.dom_tree()\n\t\t\t\n\t\t\t$mol_assert_equal( node.innerHTML , 'lol5' )\n\t\t\t\n\t\t} ,\n\t\t\n\t\t'bem attributes generation'($) {\n\t\t\t\t\n\t\t\tclass $mol_view_test_item extends $mol_view { }\n\t\t\t\n\t\t\tclass $mol_view_test_block extends $mol_view {\n\t\t\t\t\n\t\t\t\t@ $mol_mem_key\n\t\t\t\tElement( id : number ) {\n\t\t\t\t\treturn new $mol_view_test_item()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tvar x = new $mol_view_test_block()\n\t\t\tx.$ = $\n\t\t\t\n\t\t\t$mol_assert_equal( x.dom_node().getAttribute( 'mol_view_test_block' ) , '' )\n\t\t\t$mol_assert_equal( x.dom_node().getAttribute( 'mol_view' ) , '' )\n\t\t\t\n\t\t\t$mol_assert_equal( x.Element( 0 ).dom_node().getAttribute( 'mol_view_test_block_element' ) , '' )\n\t\t\t\n\t\t\t$mol_assert_equal( x.Element( 0 ).dom_node().getAttribute( 'mol_view_test_item' ) , '' )\n\t\t\t$mol_assert_equal( x.Element( 0 ).dom_node().getAttribute( 'mol_view' ) , '' )\n\t\t\t\n\t\t} ,\n\t\t\n\t\t'render custom attributes'($) {\n\t\t\t\n\t\t\tclass $mol_view_test extends $mol_view {\n\t\t\t\tattr() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t'href' : '#haha' ,\n\t\t\t\t\t\t'required' : true ,\n\t\t\t\t\t\t'hidden' : false ,\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tvar x = new $mol_view_test()\n\t\t\tx.$ = $\n\t\t\t\n\t\t\tvar node = x.dom_tree()\n\t\t\t\n\t\t\t$mol_assert_equal( node.getAttribute( 'href' ) , '#haha' )\n\t\t\t$mol_assert_equal( node.getAttribute( 'required' ) , 'true' )\n\t\t\t$mol_assert_equal( node.getAttribute( 'hidden' ) , null )\n\t\t\t\n\t\t} ,\n\t\t\n\t\t'render custom fields'($) {\n\t\t\t\t\n\t\t\tclass $mol_view_test extends $mol_view {\n\t\t\t\tfield() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t'hidden' : true\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tvar x = new $mol_view_test()\n\t\t\tx.$ = $\n\t\t\t\n\t\t\tvar node = x.dom_tree() as HTMLElement\n\t\t\t\n\t\t\t$mol_assert_equal( node.hidden , true )\n\t\t\t\n\t\t} ,\n\t\t\n\t\t'attach event handlers'($) {\n\t\t\t\t\n\t\t\tvar clicked = false\n\t\t\t\n\t\t\tclass $mol_view_test extends $mol_view {\n\t\t\t\tevent() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t'click' : ( next? : Event ) => this.event_click( next )\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tevent_click( next? : Event ) {\n\t\t\t\t\tclicked = true\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tvar x = new $mol_view_test()\n\t\t\tx.$ = $\n\t\t\t\n\t\t\tvar node = x.dom_node() as HTMLElement\n\t\t\tnode.click()\n\t\t\t\n\t\t\t$mol_assert_ok( clicked )\n\t\t\t\n\t\t} ,\n\t\n\t} )\n}\n","namespace $ {\n\t$mol_test({\n\n\t\t'Vector limiting'() {\n\n\t\t\tlet point = new $mol_vector_3d( 7 , 10 , 13 )\n\t\t\tconst res = point.limited( [ [ 1 , 5 ] , [ 15 , 20 ] , [ 5 , 10 ] ] as const )\n\n\t\t\t$mol_assert_equal( res.x , 5 )\n\t\t\t$mol_assert_equal( res.y , 15 )\n\t\t\t$mol_assert_equal( res.z , 10 )\n\n\t\t} ,\n\n\t\t'Vector adding scalar'() {\n\n\t\t\tlet point = new $mol_vector_3d( 1 , 2 , 3 )\n\t\t\tlet res = point.added0( 5 )\n\n\t\t\t$mol_assert_equal( res.x , 6 )\n\t\t\t$mol_assert_equal( res.y , 7 )\n\t\t\t$mol_assert_equal( res.z , 8 )\n\n\t\t} ,\n\n\t\t'Vector adding vector'() {\n\n\t\t\tlet point = new $mol_vector_3d( 1 , 2 , 3 )\n\t\t\tlet res = point.added1( [ 5 , 10 , 15 ] as const )\n\n\t\t\t$mol_assert_equal( res.x , 6 )\n\t\t\t$mol_assert_equal( res.y , 12 )\n\t\t\t$mol_assert_equal( res.z , 18 )\n\n\t\t} ,\n\n\t\t'Vector multiplying scalar'() {\n\n\t\t\tlet point = new $mol_vector_3d( 2 , 3 , 4 )\n\t\t\tlet res = point.multed0( -1 )\n\n\t\t\t$mol_assert_equal( res.x , -2 )\n\t\t\t$mol_assert_equal( res.y , -3 )\n\t\t\t$mol_assert_equal( res.z , -4 )\n\n\t\t} ,\n\n\t\t'Vector multiplying vector'() {\n\n\t\t\tlet point = new $mol_vector_3d( 2 , 3 , 4 )\n\t\t\tlet res = point.multed1( [ 5 , 2 , -2 ] as const )\n\n\t\t\t$mol_assert_equal( res.x , 10 )\n\t\t\t$mol_assert_equal( res.y , 6 )\n\t\t\t$mol_assert_equal( res.z , -8 )\n\n\t\t} ,\n\n\t\t'Matrix adding matrix'() {\n\n\t\t\tlet matrix = new $mol_vector_matrix<2,3>( ...[ [ 1 , 2 ] , [ 3 , 4 ] , [ 5 , 6 ] ] as const )\n\t\t\tlet res = matrix.added2( [ [ 10 , 20 ] , [ 30 , 40 ] , [ 50 , 60 ] ] as const )\n\n\t\t\t$mol_assert_equal( res[0][0] , 11 )\n\t\t\t$mol_assert_equal( res[0][1] , 22 )\n\t\t\t$mol_assert_equal( res[1][0] , 33 )\n\t\t\t$mol_assert_equal( res[1][1] , 44 )\n\t\t\t$mol_assert_equal( res[2][0] , 55 )\n\t\t\t$mol_assert_equal( res[2][1] , 66 )\n\n\t\t} ,\n\n\t\t'Matrix multiplying matrix'() {\n\n\t\t\tlet matrix = new $mol_vector_matrix<2,3>( ...[ [ 2 , 3 ] , [ 4 , 5 ] , [ 6 , 7 ] ] as const )\n\t\t\tlet res = matrix.multed2( [ [ 2 , 3 ] , [ 4 , 5 ] , [ 6 , 7 ] ] as const )\n\n\t\t\t$mol_assert_equal( res[0][0] , 4 )\n\t\t\t$mol_assert_equal( res[0][1] , 9 )\n\t\t\t$mol_assert_equal( res[1][0] , 16 )\n\t\t\t$mol_assert_equal( res[1][1] , 25 )\n\t\t\t$mol_assert_equal( res[2][0] , 36 )\n\t\t\t$mol_assert_equal( res[2][1] , 49 )\n\n\t\t} ,\n\n\t\t'Range expanding'() {\n\n\t\t\tlet range = $mol_vector_range_full.inversed\n\t\t\t\n\t\t\tconst expanded = range.expanded0( 10 ).expanded0( 5 )\n\n\t\t\t$mol_assert_like( [ ... expanded ] , [ 5 , 10 ] )\n\n\t\t} ,\n\n\t\t'Vector of range expanding by vector'() {\n\n\t\t\tlet dimensions = new $mol_vector_2d( $mol_vector_range_full.inversed , $mol_vector_range_full.inversed )\n\t\t\t\n\t\t\tconst expanded = dimensions.expanded1( [ 1 , 7 ] as const ).expanded1( [ 3 , 5 ] as const )\n\n\t\t\t$mol_assert_like( [ ... expanded.x ] , [ 1 , 3 ] )\n\t\t\t$mol_assert_like( [ ... expanded.y ] , [ 5 , 7 ] )\n\n\t\t} ,\n\n\t\t'Vector of range expanding by vector of range'() {\n\n\t\t\tlet dimensions = new $mol_vector_2d( $mol_vector_range_full.inversed , $mol_vector_range_full.inversed )\n\t\t\t\n\t\t\tconst expanded = dimensions\n\t\t\t.expanded2( [ [ 1 , 3 ] , [ 7 , 9 ] ] as const )\n\t\t\t.expanded2( [ [ 2 , 4 ] , [ 6 , 8 ] ] as const )\n\n\t\t\t$mol_assert_like( [ ... expanded.x ] , [ 1 , 4 ] )\n\t\t\t$mol_assert_like( [ ... expanded.y ] , [ 6 , 9 ] )\n\n\t\t} ,\n\n\t\t'Vector of infinity range expanding by vector of range'() {\n\n\t\t\tlet dimensions = new $mol_vector_2d( $mol_vector_range_full.inversed , $mol_vector_range_full.inversed )\n\t\t\tconst next = new $mol_vector_2d( $mol_vector_range_full.inversed , $mol_vector_range_full.inversed )\n\t\t\t\n\t\t\tconst expanded = next\n\t\t\t\t.expanded2( dimensions )\n\n\t\t\t$mol_assert_like( [ ... expanded.x ] , [ Infinity , -Infinity ] )\n\t\t\t$mol_assert_like( [ ... expanded.y ] , [ Infinity , -Infinity ] )\n\n\t\t} ,\n\t})\n}\n"]}
|