mol_wire_lib 1.0.68 → 1.0.71
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.d.ts +33 -0
- package/node.deps.json +1 -1
- package/node.esm.js +118 -0
- package/node.esm.js.map +1 -1
- package/node.js +118 -0
- package/node.js.map +1 -1
- package/node.test.js +304 -0
- package/node.test.js.map +1 -1
- package/package.json +3 -1
- package/web.d.ts +33 -0
- package/web.deps.json +1 -1
- package/web.esm.js +118 -0
- package/web.esm.js.map +1 -1
- package/web.js +118 -0
- package/web.js.map +1 -1
- package/web.test.js +186 -0
- package/web.test.js.map +1 -1
package/web.test.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../test/mol/test/test.test.ts","../../../test/mol/test/test.web.test.ts","../../../dom/context/mol/dom/context/context.ts","../../../dom/context/mol/dom/context/context.web.ts","../../../dom/render/children/mol/dom/render/children/children.ts","../../../type/error/error.ts","../../../type/assert/assert.test.ts","../../../type/assert/assert.ts","../../../type/partial/deep/deep.test.ts","../../../type/partial/deep/deep.ts","../../../jsx/mol/jsx/jsx.test.tsx","../../../jsx/mol/jsx/jsx.ts","../../../compare/deep/mol/compare/deep/deep.test.tsx","../../../dom/serialize/mol/dom/serialize/serialize.ts","../../../assert/mol/assert/assert.test.ts","../../../assert/mol/assert/assert.ts","../../../delegate/mol/delegate/delegate.test.ts","../../../type/writable/writable.test.ts","../../../after/mock/mol/after/mock/mock.test.ts","../../../after/timeout/mol/after/timeout/timeout.test.ts","../../async/mol/wire/async/async.test.ts","../../pub/sub/mol/wire/pub/sub/sub.test.ts","../../../key/mol/key/key.test.tsx","../../../after/frame/mol/after/frame/frame.test.ts","../../fiber/mol/wire/fiber/fiber.test.ts","../../mem/mol/wire/mem/mem.test.ts","../../../mem/mol/mem/mem.ts","../../../log3/mol/log3/log3.ts","../../../type/keys/extract/extract.test.ts","../../../type/keys/extract/extract.ts","../../../log3/mol/log3/log3.test.ts","../../../log3/mol/log3/log3.web.ts","../../log/mol/wire/log/log.ts","../../mol/wire/wire.test.ts","../../../const/mol/const/const.test.ts","../../field/mol/wire/field/field.test.ts","../../../type/equals/equals.test.ts","../../../type/equals/equals.ts"],"names":[],"mappings":"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","file":"web.test.js","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( res instanceof Promise ) {\n\t\t\t\tawait new Promise( ( done, fail )=> {\n\t\t\t\t\tres.then( done, fail )\n\t\t\t\t\tsetTimeout( ()=> fail( new Error( 'Test timeout: ' + test.name ) ), 1000 )\n\t\t\t\t} )\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\t$$.$mol_log3_done({\n\t\t\tplace: '$mol_test',\n\t\t\tmessage: 'All tests passed',\n\t\t\tcount: $mol_test_all.length,\n\t\t})\n\t\t\n\t}\n\t\n\tlet scheduled = false\n\texport function $mol_test_schedule() {\n\n\t\tif( scheduled ) return\n\t\tscheduled = true\n\n\t\tsetTimeout( async ()=> {\n\t\t\t\n\t\t\tscheduled = false\n \t\t\t\n\t\t\ttry {\n\t\t\t\tawait $mol_test_run()\n\t\t\t} finally {\n\t\t\t\t$$.$mol_test_complete()\n\t\t\t}\n\t\t\t\n\t\t} , 0 )\n\t\t\n\t}\n\n\t$mol_test_mocks.push( context => {\n\t\tlet seed = 0\n\n\t\tcontext.Math = Object.create( Math )\n\t\tcontext.Math.random = ()=> Math.sin( seed++ )\n\n\t\tconst forbidden = [ 'XMLHttpRequest' , 'fetch' ]\n\n\t\tfor( let api of forbidden ) {\n\t\t\tcontext[ api ] = new Proxy( function(){} , {\n\t\t\t\tget() {\n\t\t\t\t\t$mol_fail_hidden( new Error( `${ api } is forbidden in tests` ) )\n\t\t\t\t} ,\n\t\t\t\tapply() {\n\t\t\t\t\t$mol_fail_hidden( new Error( `${ api } is forbidden in tests` ) )\n\t\t\t\t} ,\n\t\t\t} )\n\t\t}\n\t\t\n\t} )\n\n\t$mol_test({\n\n\t\t'mocked Math.random'( $ ) {\n\t\t\tconsole.assert( $.Math.random() === 0 )\n\t\t\tconsole.assert( $.Math.random() === Math.sin(1) )\n\t\t} ,\n\n\t\t'forbidden XMLHttpRequest'( $ ) {\n\t\t\ttry {\n\t\t\t\tconsole.assert( void new $.XMLHttpRequest )\n\t\t\t} catch( error: any ) {\n\t\t\t\tconsole.assert( error.message === 'XMLHttpRequest is forbidden in tests' )\n\t\t\t}\n\t\t} ,\n\n\t\t'forbidden fetch'( $ ) {\n\t\t\ttry {\n\t\t\t\tconsole.assert( void $.fetch('') )\n\t\t\t} catch( error: any ) {\n\t\t\t\tconsole.assert( error.message === 'fetch is forbidden in tests' )\n\t\t\t}\n\t\t} ,\n\n\t})\n\n}\n","namespace $ {\n\t\n\texport function $mol_test_complete() {\n\t}\n\t\n}\n","namespace $ {\n\t\n\texport var $mol_dom_context : typeof globalThis\n\t\n}\n","namespace $ {\n\t\n\t$.$mol_dom_context = self as any\n\t\n}\n","namespace $ {\n\n\texport function $mol_dom_render_children (\n\t\tel : Element | DocumentFragment ,\n\t\tchildNodes : NodeList | Array< Node | string | null >\n\t) {\n\t\tconst node_set = new Set< Node | string | null >( childNodes )\n\t\t\n\t\tlet nextNode : Node | null = el.firstChild\n\t\tfor( let view of childNodes ) {\n\n\t\t\tif( view == null ) continue\n\n\t\t\tif( view instanceof $mol_dom_context.Node ) {\n\t\t\t\t\n\t\t\t\twhile( true ) {\n\t\t\t\t\tif( !nextNode ) {\n\t\t\t\t\t\tel.appendChild( view )\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\tif( nextNode == view ) {\n\t\t\t\t\t\tnextNode = nextNode.nextSibling\n\t\t\t\t\t\tbreak\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif( node_set.has( nextNode ) ) {\n\t\t\t\t\t\t\tel.insertBefore( view , nextNode )\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconst nn = nextNode.nextSibling\n\t\t\t\t\t\t\tel.removeChild( nextNode )\n\t\t\t\t\t\t\tnextNode = nn\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t} else {\n\t\t\t\tif( nextNode && nextNode.nodeName === '#text' ) {\n\t\t\t\t\tconst str = String( view )\n\t\t\t\t\tif( nextNode.nodeValue !== str ) nextNode.nodeValue = str\n\t\t\t\t\tnextNode = nextNode.nextSibling\n\t\t\t\t} else {\n\t\t\t\t\tconst textNode = $mol_dom_context.document.createTextNode( String( view ) )\n\t\t\t\t\tel.insertBefore( textNode , nextNode )\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\twhile( nextNode ) {\n\t\t\tconst currNode = nextNode\n\t\t\tnextNode = currNode.nextSibling\n\t\t\tel.removeChild( currNode )\n\t\t}\n\t}\n\n}\n",null,null,null,null,null,"/** @jsx $mol_jsx */\nnamespace $ {\n\t\n\t$mol_test({\n\t\t\n\t\t'Make empty div'() {\n\t\t\t$mol_assert_equal( (<div/>).outerHTML , '<div></div>' )\n\t\t} ,\n\t\t\n\t\t'Define native field'() {\n\t\t\t\n\t\t\tconst dom = <input value='123' /> as HTMLInputElement\n\t\t\t\n\t\t\t$mol_assert_equal( dom.outerHTML , '<input value=\"123\">' )\n\t\t\t$mol_assert_equal( dom.value , '123' )\n\n\t\t} ,\n\t\t\n\t\t'Define classes'() {\n\t\t\t\n\t\t\tconst dom = <div class={ 'foo bar' } />\n\t\t\t\n\t\t\t$mol_assert_equal( dom.outerHTML , '<div class=\"foo bar\"></div>' )\n\n\t\t} ,\n\t\t\n\t\t'Define styles'() {\n\t\t\t\n\t\t\tconst dom = <div style={{ color : 'red' }} />\n\t\t\t\n\t\t\t$mol_assert_equal( dom.outerHTML , '<div style=\"color: red;\"></div>' )\n\n\t\t} ,\n\t\t\n\t\t'Define dataset'() {\n\t\t\t\n\t\t\tconst dom = <div dataset={{ foo : 'bar' }} />\n\t\t\t\n\t\t\t$mol_assert_equal( dom.outerHTML , '<div data-foo=\"bar\"></div>' )\n\n\t\t} ,\n\t\t\n\t\t'Define attributes'() {\n\t\t\t\n\t\t\tconst dom = <div lang=\"ru\" hidden />\n\t\t\t\n\t\t\t$mol_assert_equal( dom.outerHTML , '<div lang=\"ru\" hidden=\"\"></div>' )\n\n\t\t} ,\n\t\t\n\t\t'Define child nodes'() {\n\n\t\t\tconst dom =\n\t\t\t\t<div>\n\t\t\t\t\thello\n\t\t\t\t\t<strong>world</strong>\n\t\t\t\t\t!\n\t\t\t\t</div>\n\t\t\t\n\t\t\t$mol_assert_equal( dom.outerHTML , '<div>hello<strong>world</strong>!</div>' )\n\n\t\t} ,\n\n\t\t'Function as component'() {\n\n\t\t\tconst Button = ( { hint } : { hint : string } , target : ()=> string ) => {\n\t\t\t\treturn <button title={ hint } >{ target() }</button>\n\t\t\t}\n\n\t\t\tconst dom = <Button id=\"/foo\" hint=\"click me\">{ ()=> 'hey!' }</Button>\n\n\t\t\t$mol_assert_equal( dom.outerHTML , '<button title=\"click me\" id=\"/foo\">hey!</button>' )\n\t\t\t\n\t\t} ,\n\t\t\n\t\t// 'Standart classes as component'() {\n\n\t\t// \tconst dom = <HTMLButtonElement id=\"/foo\" title=\"click me\">hey!</HTMLButtonElement>\n\n\t\t// \t$mol_assert_equal( dom.outerHTML , '<button title=\"click me\" id=\"/foo\">hey!</button>' )\n\t\t\t\n\t\t// } ,\n\t\t\n\t\t'Nested guid generation'() {\n\n\t\t\tconst Foo = ()=> {\n\t\t\t\treturn <div>\n\t\t\t\t\t<Bar id=\"/bar\">\n\t\t\t\t\t\t<img id=\"/icon\" />\n\t\t\t\t\t</Bar>\n\t\t\t\t</div>\n\t\t\t}\n\n\t\t\tconst Bar = ( props : {} , icon : Element )=> {\n\t\t\t\treturn <span>{ icon }</span>\n\t\t\t}\n\n\t\t\tconst dom = <Foo id=\"/foo\" />\n\n\t\t\t$mol_assert_equal( dom.outerHTML , '<div id=\"/foo\"><span id=\"/foo/bar\"><img id=\"/foo/icon\"></span></div>' )\n\t\t\t\n\t\t} ,\n\t\t\n\t\t'Fail on non unique ids'() {\n\n\t\t\tconst App = ()=> {\n\t\t\t\treturn <div>\n\t\t\t\t\t<span id=\"/bar\" />\n\t\t\t\t\t<span id=\"/bar\" />\n\t\t\t\t</div>\n\t\t\t}\n\n\t\t\t$mol_assert_fail( ()=> <App id=\"/foo\" /> , 'JSX already has tag with id \"/bar\"' )\n\t\t\t\n\t\t} ,\n\t\t\n\t})\n\t\n}\n","namespace $ {\n\n\texport let $mol_jsx_prefix = ''\n\n\texport let $mol_jsx_booked = null as null | Set< string >\n\t\n\texport let $mol_jsx_document : $mol_jsx.JSX.ElementClass['ownerDocument'] = {\n\t\tgetElementById : ()=> null ,\n\t\tcreateElementNS : ( space: string, name : string )=> $mol_dom_context.document.createElementNS( space, name ) as any,\n\t\tcreateDocumentFragment : ()=> $mol_dom_context.document.createDocumentFragment(),\n\t}\n\t\n\texport const $mol_jsx_frag = ''\n\n\texport function $mol_jsx<\n\t\tProps extends $mol_jsx.JSX.IntrinsicAttributes,\n\t\tChildren extends Array< Node | string >\n\t>(\n\t\tElem : string\n\t\t\t| ( ( props : Props , ... children : Children ) => Element ) ,\n\t\tprops : Props ,\n\t\t... childNodes : Children\n\t) : Element | DocumentFragment {\n\n\t\tconst id = props && props.id || ''\n\n\t\tif( Elem && $mol_jsx_booked ) {\n\t\t\tif( $mol_jsx_booked.has( id ) ) {\n\t\t\t\t$mol_fail( new Error( `JSX already has tag with id ${ JSON.stringify( id ) }` ) )\n\t\t\t} else {\n\t\t\t\t$mol_jsx_booked.add( id )\n\t\t\t}\n\t\t}\n\n\t\tconst guid = $mol_jsx_prefix + id\n\n\t\tlet node: Element | DocumentFragment | null = guid ? $mol_jsx_document.getElementById( guid ) : null\n\n\t\tif( typeof Elem !== 'string' ) {\n\n\t\t\tif( 'prototype' in Elem ) {\n\n\t\t\t\tconst view = node && node[ Elem as any ] || new ( Elem as any )\n\t\t\t\t\n\t\t\t\tObject.assign( view , props )\n\t\t\t\tview[ Symbol.toStringTag ] = guid\n\t\t\t\t\n\t\t\t\tview.childNodes = childNodes\n\t\t\t\t\n\t\t\t\tif( !view.ownerDocument ) view.ownerDocument = $mol_jsx_document\n\t\t\t\t\n\t\t\t\tnode = view.valueOf()\n\t\t\t\t\n\t\t\t\tnode![ Elem as any ] = view\n\t\t\t\t\n\t\t\t\treturn node!\n\n\t\t\t} else {\n\n\t\t\t\tconst prefix = $mol_jsx_prefix\n\t\t\t\tconst booked = $mol_jsx_booked\n\t\t\t\t\n\t\t\t\ttry {\n\t\n\t\t\t\t\t$mol_jsx_prefix = guid\n\t\t\t\t\t$mol_jsx_booked = new Set\n\t\n\t\t\t\t\treturn ( Elem as any )( props , ... childNodes )\n\t\t\t\t\t\n\t\t\t\t} finally {\n\n\t\t\t\t\t$mol_jsx_prefix = prefix\n\t\t\t\t\t$mol_jsx_booked = booked\n\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\n\t\t}\n\n\t\tif( !node ) {\n\t\t\tnode = Elem\n\t\t\t\t? $mol_jsx_document.createElementNS( props?.xmlns ?? 'http://www.w3.org/1999/xhtml', Elem )\n\t\t\t\t: $mol_jsx_document.createDocumentFragment()\n\t\t}\n\n\t\t$mol_dom_render_children( node , ( [] as ( Node | string )[] ).concat( ... childNodes ) )\n\t\tif( !Elem ) return node\n\n\t\tfor( const key in props ) {\n\n\t\t\tif( typeof props[ key ] === 'string' ) {\n\n\t\t\t\t;( node as Element ).setAttribute( key , props[ key as any ] )\n\n\t\t\t} else if(\n\t\t\t\tprops[ key ] &&\n\t\t\t\ttypeof props[ key ] === 'object' &&\n\t\t\t\tReflect.getPrototypeOf( props[ key ] as any ) === Reflect.getPrototypeOf({})\n\t\t\t) {\n\n\t\t\t\tif( typeof node[ key as any ] === 'object' ) {\n\t\t\t\t\tObject.assign( ( node as any )[ key ] , props[ key ] )\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\n\t\t\t} else {\n\n\t\t\t\tnode[ key as any ] = props[ key ]\n\t\t\t\t\n\t\t\t}\n\n\t\t}\n\n\t\tif( guid ) ( node as Element ).id = guid\n\n\t\treturn node\n\n\t}\n\n\texport declare namespace $mol_jsx.JSX {\n\n\t\texport interface Element extends HTMLElement {\n\t\t\tclass?: string\n\t\t}\n\t\t\n\t\texport interface ElementClass {\n\t\t\tattributes : {}\n\t\t\townerDocument : Pick< Document , 'getElementById' | 'createElementNS' | 'createDocumentFragment' >\n\t\t\tchildNodes : Array< Node | string >\n\t\t\tvalueOf() : Element\n\t\t}\n\t\t\n\t\ttype OrString< Dict > = {\n\t\t\t[ key in keyof Dict ]: Dict[ key ] | string\n\t\t}\n\t\t\n\t\t/** Props for html elements */\n\t\texport type IntrinsicElements = {\n\t\t\t[ key in keyof ElementTagNameMap ]? : $.$mol_type_partial_deep< OrString<\n\t\t\t\t& Element\n\t\t\t\t& IntrinsicAttributes\n\t\t\t\t& ElementTagNameMap[ key ]\n\t\t\t> >\n\t\t}\n\t\t\n\t\t/** Additional undeclared props */\n\t\texport interface IntrinsicAttributes {\n\t\t\tid? : string\n\t\t\txmlns? : string\n\t\t}\n\t\t\n\t\texport interface ElementAttributesProperty {\n\t\t\tattributes : {\n\t\t\t}\n\t\t}\n\t\t\n\t\t// export type IntrinsicClassAttributes< Class > = $.$mol_type_partial_deep< Omit< Class , 'valueOf' > >\n\t\t\n\t\tinterface ElementChildrenAttribute {\n\t\t}\n\t\n\t}\n\n}\n","/** @jsx $mol_jsx */\nnamespace $ {\n\n\t$mol_test({\n\n\t\t'nulls & undefineds'() {\n\n\t\t\t$mol_assert_ok( $mol_compare_deep( null , null ) )\n\t\t\t$mol_assert_ok( $mol_compare_deep( undefined , undefined ) )\n\t\t\t\n\t\t\t$mol_assert_not( $mol_compare_deep( undefined , null ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( {} , null ) )\n\t\t\t\n\t\t} ,\n\n\t\t'number'() {\n\t\t\t\n\t\t\t$mol_assert_ok( $mol_compare_deep( 1 , 1 ) )\n\t\t\t$mol_assert_ok( $mol_compare_deep( Number.NaN , Number.NaN ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( 1 , 2 ) )\n\t\t\t\n\t\t\t$mol_assert_ok( $mol_compare_deep( Object( 1 ) , Object( 1 ) ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( Object( 1 ) , Object( 2 ) ) )\n\t\t\t\n\t\t} ,\n\n\t\t'POJO'() {\n\t\t\t$mol_assert_ok( $mol_compare_deep( {} , {} ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( { a : 1 } , { b : 2 } ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( { a : 1 } , { a : 2 } ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( {} , { a : undefined } ) )\n\t\t\t$mol_assert_ok( $mol_compare_deep( { a: 1, b: 2 } , { b: 2, a: 1 } ) )\n\t\t\t$mol_assert_ok( $mol_compare_deep( { a : { b : 1 } } , { a : { b : 1 } } ) )\n\t\t} ,\n\n\t\t'Array'() {\n\t\t\t$mol_assert_ok( $mol_compare_deep( [] , [] ) )\n\t\t\t$mol_assert_ok( $mol_compare_deep( [ 1 , [2] ] , [ 1 , [2] ] ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( [ 1 , 2 ] , [ 1 , 3 ] ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( [ 1 , 2 , ] , [ 1 , 3 , undefined ] ) )\n\t\t} ,\n\n\t\t'Non POJO are different'() {\n\t\t\t\n\t\t\tclass Thing extends Object {}\n\t\t\t$mol_assert_not( $mol_compare_deep( new Thing , new Thing ) )\n\t\t\t\n\t\t\t$mol_assert_not( $mol_compare_deep( ()=> 1 , ()=>1 ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( new RangeError( 'Test error' ) , new RangeError( 'Test error' ) ) )\n\t\t\t\n\t\t} ,\n\n\t\t'same POJOs with cyclic reference'() {\n\n\t\t\tconst a = { foo : {} }\n\t\t\ta['self'] = a\n\n\t\t\tconst b = { foo : {} }\n\t\t\tb['self'] = b\n\n\t\t\t$mol_assert_ok( $mol_compare_deep( a , b ) )\n\n\t\t} ,\n\n\t\t'Date'() {\n\t\t\t$mol_assert_ok( $mol_compare_deep( new Date( 12345 ) , new Date( 12345 ) ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( new Date( 12345 ) , new Date( 12346 ) ) )\n\t\t} ,\n\n\t\t'RegExp'() {\n\t\t\t$mol_assert_ok( $mol_compare_deep( /\\x22/mig , /\\x22/mig ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( /\\x22/mig , /\\x21/mig ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( /\\x22/mig , /\\x22/mg ) )\n\t\t} ,\n\n\t\t'Error'() {\n\t\t\t\n\t\t\t$mol_assert_not( $mol_compare_deep( new Error( 'xxx' ) , new Error( 'xxx' ) ) )\n\n\t\t\tconst fail = ( message: string )=> new Error( message )\n\t\t\t\n\t\t\t$mol_assert_ok( $mol_compare_deep(\n\t\t\t\t... [ 'xxx' , 'xxx' ].map( msg => new Error( msg ) ) as [ Error, Error ]\n\t\t\t) )\n\t\t\t\n\t\t\t$mol_assert_not( $mol_compare_deep(\n\t\t\t\t... [ 'xxx' , 'yyy' ].map( msg => new Error( msg ) ) as [ Error, Error ]\n\t\t\t) )\n\t\t\t\n\t\t} ,\n\n\t\t'Map'() {\n\t\t\t$mol_assert_ok( $mol_compare_deep( new Map , new Map ) )\n\t\t\t$mol_assert_ok( $mol_compare_deep( new Map([ [ 1 , [2] ] ]) , new Map([ [ 1 , [2] ] ]) ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( new Map([ [ 1 , 2 ] ]) , new Map([ [ 1 , 3 ] ]) ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( new Map([ [ [1] , 2 ] ]) , new Map([ [ [1] , 2 ] ]) ) )\n\t\t} ,\n\t\t\n\t\t'Set'() {\n\t\t\t$mol_assert_ok( $mol_compare_deep( new Set , new Set ) )\n\t\t\t$mol_assert_ok( $mol_compare_deep( new Set([ 1 , [2] ]) , new Set([ 1 , [2] ]) ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( new Set([ 1 ]) , new Set([ 2 ]) ) )\n\t\t} ,\n\t\t\n\t\t'Uint8Array'() {\n\t\t\t$mol_assert_ok( $mol_compare_deep( new Uint8Array , new Uint8Array ) )\n\t\t\t$mol_assert_ok( $mol_compare_deep( new Uint8Array([ 0 ]) , new Uint8Array([ 0 ]) ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( new Uint8Array([ 0 ]) , new Uint8Array([ 1 ]) ) )\n\t\t} ,\n\t\t\n\t\t'Custom comparator'() {\n\t\t\t\n\t\t\tclass User {\n\t\t\t\t\n\t\t\t\tconstructor(\n\t\t\t\t\treadonly name: string,\n\t\t\t\t\treadonly rand = Math.random(),\n\t\t\t\t) {}\n\t\t\t\t\n\t\t\t\t[ Symbol.toPrimitive ]( mode: 'default' | 'number' | 'string' ) {\n\t\t\t\t\treturn this.name\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\t$mol_assert_ok( $mol_compare_deep( new User( 'Jin' ), new User( 'Jin' ) ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( new User( 'Jin' ), new User( 'John' ) ) )\n\t\t\t\n\t\t} ,\n\t\t\n\t})\n\n}\n","namespace $ {\n\n\texport function $mol_dom_serialize(\n\t\tnode: Node\n\t) {\n\t\tconst serializer = new $mol_dom_context.XMLSerializer\n\t\treturn serializer.serializeToString( node )\n\t}\n\n}\n","namespace $ {\n\t$mol_test( {\n\t\t\n\t\t'must be false'() {\n\t\t\t$mol_assert_not( 0 )\n\t\t} ,\n\t\t\n\t\t'must be true'() {\n\t\t\t$mol_assert_ok( 1 )\n\t\t} ,\n\t\t\n\t\t'two must be equal'() {\n\t\t\t$mol_assert_equal( 2 , 2 )\n\t\t} ,\n\t\t\n\t\t'three must be equal'() {\n\t\t\t$mol_assert_equal( 2 , 2 , 2 )\n\t\t} ,\n\t\t\n\t\t'two must be unique'() {\n\t\t\t$mol_assert_unique( [ 3 ] , [ 3 ] )\n\t\t} ,\n\t\t\n\t\t'three must be unique'() {\n\t\t\t$mol_assert_unique( [ 3 ] , [ 3 ] , [ 3 ] )\n\t\t} ,\n\t\t\n\t\t'two must be alike'() {\n\t\t\t$mol_assert_like( [ 3 ] , [ 3 ] )\n\t\t} ,\n\t\t\n\t\t'three must be alike'() {\n\t\t\t$mol_assert_like( [ 3 ] , [ 3 ] , [ 3 ] )\n\t\t} ,\n\t\t\n\t} )\n}\n","namespace $ {\n\t\n\texport function $mol_assert_ok( value : any ) {\n\t\tif( value ) return\n\t\t$mol_fail( new Error( `${value} ≠ true` ) )\n\t}\n\t\n\texport function $mol_assert_not( value : any ) {\n\t\tif( !value ) return\n\t\t$mol_fail( new Error( `${value} ≠ false` ) )\n\t}\n\t\n\texport function $mol_assert_fail( handler : ()=> any , ErrorRight? : any ) {\n\t\t\n\t\tconst fail = $.$mol_fail\n\t\t\n\t\ttry {\n\t\t\t$.$mol_fail = $.$mol_fail_hidden\n\t\t\t\n\t\t\thandler()\n\n\t\t} catch( error: any ) {\n\t\t\t\n\t\t\tif( !ErrorRight ) return error\n\t\t\t\n\t\t\t$.$mol_fail = fail\n\n\t\t\tif( typeof ErrorRight === 'string' ) {\n\t\t\t\t$mol_assert_equal( error.message, ErrorRight )\n\t\t\t} else {\n\t\t\t\t$mol_assert_ok( error instanceof ErrorRight )\n\t\t\t}\n\t\t\t\n\t\t\treturn error\n\n\t\t} finally {\n\t\t\t$.$mol_fail = fail\n\t\t}\n\n\t\t$mol_fail( new Error( 'Not failed' ) )\n\t}\n\t\n\texport function $mol_assert_equal< Value >( ... args : [ Value, Value, ...Value[] ] ) {\n\t\tfor( let i = 0 ; i < args.length ; ++i ) {\n\t\t\tfor( let j = 0 ; j < args.length ; ++j ) {\n\t\t\t\tif( i === j ) continue\n\t\t\t\tif( Number.isNaN( args[i] as any as number ) && Number.isNaN( args[j] as any as number ) ) continue\n\t\t\t\tif( args[i] !== args[j] ) $mol_fail( new Error( `Not equal (${i+1}:${j+1})\\n${ args[i] }\\n${ args[j] }` ) )\n\t\t\t}\n\t\t}\n\t}\n\t\n\texport function $mol_assert_unique( ... args : [ any, any, ...any[] ] ) {\n\t\tfor( let i = 0 ; i < args.length ; ++i ) {\n\t\t\tfor( let j = 0 ; j < args.length ; ++j ) {\n\t\t\t\tif( i === j ) continue\n\t\t\t\tif( args[i] === args[j] || ( Number.isNaN( args[i] as any as number ) && Number.isNaN( args[j] as any as number ) ) ) {\n\t\t\t\t\t$mol_fail( new Error( `args[${ i }] = args[${ j }] = ${ args[i] }` ) )\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\t\n\texport function $mol_assert_like< Value >( head : Value, ... tail : Value[]) {\n\t\tfor( let [ index, value ] of Object.entries( tail ) ) {\n\n\t\t\tif( !$mol_compare_deep( value , head ) ) {\n\n\t\t\t\tconst print = ( val : any ) => {\n\t\t\t\t\t\n\t\t\t\t\tif( !val ) return val\n\t\t\t\t\tif( typeof val !== 'object' ) return val\n\t\t\t\t\tif( 'outerHTML' in val ) return val.outerHTML\n\t\t\t\t\t\n\t\t\t\t\ttry {\n\t\t\t\t\t\treturn JSON.stringify( val )\n\t\t\t\t\t} catch( error: any ) {\n\t\t\t\t\t\tconsole.error( error )\n\t\t\t\t\t\treturn val\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn $mol_fail( new Error( `Not like (1:${ + index + 2 })\\n${ print( head ) }\\n---\\n${ print( value ) }` ) )\n\n\t\t\t}\n\n\t\t}\n\t}\n\t\n\texport function $mol_assert_dom( left: Element, right: Element ) {\n\t\t$mol_assert_equal( $mol_dom_serialize( left ), $mol_dom_serialize( right ) )\n\t}\n\n}\n","namespace $ {\n\t$mol_test({\n\t\t\n\t\t'get'() {\n\t\t\tconst proxy = $mol_delegate( {} as any , ()=> ({ foo : 777 }) )\n\t\t\t$mol_assert_equal( proxy.foo , 777 )\n\t\t},\n\n\t\t'has'() {\n\t\t\tconst proxy = $mol_delegate( {} as any , ()=> ({ foo : 777 }) )\n\t\t\t$mol_assert_equal( 'foo' in proxy , true )\n\t\t},\n\n\t\t'set'() {\n\t\t\tconst target = { foo : 777 }\n\t\t\tconst proxy = $mol_delegate( {} as any , ()=> target )\n\t\t\tproxy.foo = 123\n\t\t\t$mol_assert_equal( target.foo , 123 )\n\t\t},\n\t\t\n\t\t'getOwnPropertyDescriptor'() {\n\n\t\t\tconst proxy = $mol_delegate( {} as any , ()=> ({ foo : 777 }) )\n\t\t\t\n\t\t\t$mol_assert_like(\n\t\t\t\tObject.getOwnPropertyDescriptor( proxy , 'foo' ),\n\t\t\t\t{\n\t\t\t\t\tvalue: 777,\n\t\t\t\t\twritable: true,\n\t\t\t\t\tenumerable: true,\n\t\t\t\t\tconfigurable: true,\n\t\t\t\t},\n\t\t\t)\n\t\t\t\n\t\t},\n\n\t\t'ownKeys'() {\n\n\t\t\tconst proxy = $mol_delegate(\n\t\t\t\t{} as any ,\n\t\t\t\t()=> ({ foo : 777 , [ Symbol.toStringTag ] : 'bar' }),\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_like(\n\t\t\t\tReflect.ownKeys( proxy ),\n\t\t\t\t[ 'foo' , Symbol.toStringTag ],\n\t\t\t)\n\n\t\t},\n\n\t\t'getPrototypeOf'() {\n\n\t\t\tclass Foo {}\n\n\t\t\tconst proxy = $mol_delegate(\n\t\t\t\t{} as any ,\n\t\t\t\t()=> new Foo,\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\tObject.getPrototypeOf( proxy ),\n\t\t\t\tFoo.prototype,\n\t\t\t)\n\n\t\t},\n\n\t\t'setPrototypeOf'() {\n\n\t\t\tclass Foo {}\n\t\t\tconst target = {}\n\n\t\t\tconst proxy = $mol_delegate(\n\t\t\t\t{} ,\n\t\t\t\t()=> target,\n\t\t\t)\n\n\t\t\tObject.setPrototypeOf( proxy , Foo.prototype )\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\tObject.getPrototypeOf( target ),\n\t\t\t\tFoo.prototype,\n\t\t\t)\n\n\t\t},\n\n\t\t'instanceof'() {\n\n\t\t\tclass Foo {}\n\n\t\t\tconst proxy = $mol_delegate(\n\t\t\t\t{} ,\n\t\t\t\t()=> new Foo,\n\t\t\t)\n\n\t\t\t$mol_assert_ok( proxy instanceof Foo )\n\t\t\t$mol_assert_ok( proxy instanceof $mol_delegate )\n\n\t\t},\n\n\t\t'autobind'() {\n\n\t\t\tclass Foo {}\n\n\t\t\tconst proxy = $mol_delegate(\n\t\t\t\t{} ,\n\t\t\t\t()=> new Foo,\n\t\t\t)\n\n\t\t\t$mol_assert_ok( proxy instanceof Foo )\n\t\t\t$mol_assert_ok( proxy instanceof $mol_delegate )\n\n\t\t},\n\n\t})\n}\n",null,"namespace $ {\n\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_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\n\t\tasync 'Latest Calls Wins on Concurrency'( $ ) {\n\t\t\t\n\t\t\tclass NameLogger extends $mol_object2 {\n\t\t\t\t\n\t\t\t\tstatic $ = $\n\t\t\t\t\n\t\t\t\tstatic first = [] as string[]\n\t\t\t\tstatic last = [] as string[]\n\t\t\t\t\n\t\t\t\tstatic send( next: string ) {\n\t\t\t\t\t$mol_wire_sync( this.first ).push( next )\n\t\t\t\t\tthis.$.$mol_wait_timeout(0)\n\t\t\t\t\tthis.last.push( next )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tconst name = $mol_wire_async( NameLogger ).send\n\t\t\t\n\t\t\tname( 'john' )\n\t\t\tconst promise = name( 'jin' )\n\t\t\t\n\t\t\t$.$mol_after_mock_warp()\n\t\t\tawait promise\n\t\t\t\n\t\t\t$mol_assert_like( NameLogger.first, [ 'john', 'jin' ] )\n\t\t\t$mol_assert_like( NameLogger.last, [ 'jin' ] )\n\n\t\t},\n\n\t})\n\t\n}\n","namespace $ {\n\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","/** @jsx $mol_jsx */\nnamespace $ {\n\t$mol_test({\n\t\t\n\t\t'Primitives'() {\n\t\t\t\n\t\t\t$mol_assert_equal( $mol_key( null ), 'null' )\n\t\t\t$mol_assert_equal( $mol_key( false ), 'false' )\n\t\t\t$mol_assert_equal( $mol_key( true ), 'true' )\n\t\t\t$mol_assert_equal( $mol_key( 0 ), '0' )\n\t\t\t$mol_assert_equal( $mol_key( '' ), '\"\"' )\n\t\t\t\n\t\t},\n\t\t\n\t\t'Array & POJO'() {\n\t\t\t\n\t\t\t$mol_assert_equal( $mol_key([ null ]), '[null]' )\n\t\t\t$mol_assert_equal( $mol_key({ foo: 0 }), '{\"foo\":0}' )\n\t\t\t$mol_assert_equal( $mol_key({ foo: [false] }), '{\"foo\":[false]}' )\n\t\t\t\n\t\t},\n\t\t\n\t\t'Function'() {\n\t\t\t\n\t\t\tconst func = ()=> {}\n\t\t\t$mol_assert_equal( $mol_key( func ), $mol_key( func ) )\n\t\t\t$mol_assert_unique( $mol_key( func ), $mol_key( ()=> {} ) )\n\t\t\t\n\t\t},\n\t\t\n\t\t'Objects'() {\n\t\t\t\n\t\t\tclass User {}\n\t\t\tconst jin = new User()\n\t\t\t\n\t\t\t$mol_assert_equal( $mol_key( jin ), $mol_key( jin ) )\n\t\t\t$mol_assert_unique( $mol_key( jin ), $mol_key( new User() ) )\n\t\t\t\n\t\t},\n\t\t\n\t\t'Elements'() {\n\t\t\t\n\t\t\tconst foo = <div>bar</div>\n\t\t\t\n\t\t\t$mol_assert_equal( $mol_key( foo ), $mol_key( foo ) )\n\t\t\t$mol_assert_unique( $mol_key( foo ), $mol_key( <div>bar</div> ) )\n\t\t\t\n\t\t},\n\t\t\n\t\t'Custom JSON representation'() {\n\t\t\t\n\t\t\tclass User {\n\t\t\t\tconstructor( public name: string, public age: number ) {}\n\t\t\t\ttoJSON() { return { name: this.name } }\n\t\t\t}\n\t\t\t\n\t\t\t$mol_assert_equal( $mol_key( new User( 'jin', 18 ) ), '{\"name\":\"jin\"}' )\n\t\t\t\n\t\t},\n\t\t\n\t\t'Special native classes'() {\n\t\t\t\n\t\t\t$mol_assert_equal( $mol_key( new Date( 'xyz' ) ), 'null' )\n\t\t\t$mol_assert_equal( $mol_key( new Date( '2001-01-02T03:04:05.678Z' ) ), '\"2001-01-02T03:04:05.678Z\"' )\n\t\t\t\n\t\t\t$mol_assert_equal( $mol_key( /./ ), '\"/./\"' )\n\t\t\t$mol_assert_equal( $mol_key( /\\./gimsu ), '\"/\\\\\\\\./gimsu\"' )\n\t\t\t\n\t\t},\n\t\t\n\t})\n}\n","namespace $ {\n\n\t$mol_test_mocks.push( $ => {\n\t\t$.$mol_after_frame = $mol_after_mock_commmon as any as typeof $mol_after_frame\n\t})\n\n}\n","namespace $ {\n\n\t$mol_test({\n\t\t\n\t\t'Sync execution'() {\n\n\t\t\tclass Sync extends $mol_object2 {\n\t\t\t\t\n\t\t\t\t@ $mol_wire_method\n\t\t\t\tstatic calc( a: number, b: number ) {\n\t\t\t\t\treturn a + b\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\t$mol_assert_equal( Sync.calc( 1, 2 ), 3 )\n\t\t\t\n\t\t},\n\n\t\tasync 'async <=> sync'() {\n\t\t\t\n\t\t\tclass SyncAsync extends $mol_object2 {\n\t\t\t\t\n\t\t\t\tstatic async val( a: number ) {\n\t\t\t\t\treturn a\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tstatic sum( a: number, b: number ) {\n\t\t\t\t\tconst syn = $mol_wire_sync( this )\n\t\t\t\t\treturn syn.val( a ) + syn.val( b )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tstatic async calc( a: number, b: number ) {\n\t\t\t\t\treturn 5 + await $mol_wire_async( this ).sum( a, b )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\t$mol_assert_equal( await SyncAsync.calc( 1, 2 ), 8 )\n\n\t\t},\n\n\t\tasync 'Idempotence control'() {\n\n\t\t\tclass Idempotence extends $mol_object2 {\n\t\t\t\t\n\t\t\t\tstatic logs_idemp = 0\n\t\t\t\tstatic logs_unidemp = 0\n\t\t\t\t\n\t\t\t\t@ $mol_wire_method\n\t\t\t\tstatic log_idemp() {\n\t\t\t\t\tthis.logs_idemp += 1\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tstatic log_unidemp() {\n\t\t\t\t\tthis.logs_unidemp += 1\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tstatic async val( a: number ) {\n\t\t\t\t\treturn a\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tstatic sum( a: number, b: number ) {\n\t\t\t\t\tthis.log_idemp()\n\t\t\t\t\tthis.log_unidemp()\n\t\t\t\t\tconst syn = $mol_wire_sync( this )\n\t\t\t\t\treturn syn.val( a ) + syn.val( b )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tstatic async calc( a: number, b: number ) {\n\t\t\t\t\treturn 5 + await $mol_wire_async( this ).sum( a, b )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\t$mol_assert_equal( await Idempotence.calc( 1, 2 ), 8 )\n\t\t\t$mol_assert_equal( Idempotence.logs_idemp, 1 )\n\t\t\t$mol_assert_equal( Idempotence.logs_unidemp, 3 )\n\n\t\t},\n\n\t\tasync 'Error handling'() {\n\t\t\t\n\t\t\tclass Handle extends $mol_object2 {\n\t\t\t\t\n\t\t\t\tstatic async sum( a: number, b: number ){\n\t\t\t\t\t$mol_fail( new Error( 'test error ' + ( a + b ) ) )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tstatic check() {\n\t\t\t\t\ttry {\n\t\t\t\t\t\treturn $mol_wire_sync( Handle ).sum( 1, 2 )\n\t\t\t\t\t} catch( error: any ) {\n\t\t\t\t\t\tif( error instanceof Promise ) $mol_fail_hidden( error )\n\t\t\t\t\t\t$mol_assert_equal( error.message, 'test error 3' )\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\t\n\t\t\tawait $mol_wire_async( Handle ).check()\n\t\t\t\n\t\t},\n\t\t\n\t})\n\t\n}\n","namespace $ {\n\t$mol_test({\n\t\t\n\t\t// https://github.com/nin-jin/slides/tree/master/reactivity#component-states\n\t\t'Cached channel' ($) {\n\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic value( next = 1 ) {\n\t\t\t\t\treturn next + 1\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\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.value() , 2 )\n\t\t\n\t\t\t\t\tApp.value( 2 )\n\t\t\t\t\t$mol_assert_equal( App.value() , 3 )\n\t\t\t\t\t\n\t\t\t\t}\n\n\t\t\t}\n\t\t\t\n\t\t\tApp.test()\n\t\t},\n\n\t\t'Mem overrides mem' ($) {\n\n\t\t\tclass Base extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic value( next = 1 ) {\n\t\t\t\t\treturn next + 1\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tclass Middle extends Base {\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic value( next?: number ) {\n\t\t\t\t\treturn super.value( next ) + 1\n\t\t\t\t}\n\t\t\t\n\t\t\t}\n\t\t\t\t\n\t\t\tclass App extends Middle {\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic value( next?: number ) {\n\t\t\t\t\treturn super.value( next ) * 3\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\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( this.value() , 9 )\n\t\t\n\t\t\t\t\t$mol_assert_equal( this.value( 5 ) , 21 )\n\t\t\t\t\t$mol_assert_equal( this.value() , 21 )\n\t\t\t\t\t\n\t\t\t\t}\n\n\t\t\t}\n\t\t\t\n\t\t\tApp.test()\n\t\t},\n\n\t\t// https://github.com/nin-jin/slides/tree/master/reactivity#wish--constant-consistency-of-states\n\t\t'Auto recalculation of cached values'( $ ) {\n\t\t\t\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic xxx( next? : number ) {\n\t\t\t\t\treturn next || 1\n\t\t\t\t}\n\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic yyy() {\n\t\t\t\t\treturn this.xxx() + 1\n\t\t\t\t}\n\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic zzz() {\n\t\t\t\t\treturn this.yyy() + 1\n\t\t\t\t}\n\n\t\t\t\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.yyy() , 2 )\n\t\t\t\t\t$mol_assert_equal( App.zzz() , 3 )\n\t\t\n\t\t\t\t\tApp.xxx( 5 )\n\t\t\t\t\t$mol_assert_equal( App.zzz() , 7 )\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\tApp.test()\n\t\t},\n\n\t\t// https://github.com/nin-jin/slides/tree/master/reactivity#wish--only-necessary-calculations\n\t\t'Skip recalculation when actually no dependency changes'( $ ) {\n\t\t\t\n\t\t\tconst log = [] as string[]\n\t\t\t\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic xxx( next? : number ) {\n\t\t\t\t\tlog.push( 'xxx' )\n\t\t\t\t\treturn next || 1\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic yyy() {\n\t\t\t\t\tlog.push( 'yyy' )\n\t\t\t\t\treturn [ Math.sign( this.xxx() ) ]\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic zzz() {\n\t\t\t\t\tlog.push( 'zzz' )\n\t\t\t\t\treturn this.yyy()[0] + 1\n\t\t\t\t}\n\n\t\t\t\t@ $mol_wire_method\n\t\t\t\tstatic test() {\n\t\t\t\t\t\n\t\t\t\t\tApp.zzz()\n\t\t\t\t\t$mol_assert_like( log , [ 'zzz', 'yyy', 'xxx' ] )\n\t\t\t\t\t\n\t\t\t\t\tApp.xxx( 5 )\n\t\t\t\t\tApp.zzz()\n\t\t\t\t\t$mol_assert_like( log , [ 'zzz', 'yyy', 'xxx', 'xxx', 'yyy' ] )\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\tApp.test()\n\t\t},\n\n\t\t// https://github.com/nin-jin/slides/tree/master/reactivity#flow-auto\n\t\t'Flow: Auto'( $ ) {\n\n\t\t\tclass App extends $mol_object2 {\n\t\t\t\t\n\t\t\t\tstatic get $() { return $ }\n\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic first( next = 1 ) { return next }\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic second( next = 2 ) { return next }\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic condition( next = true ) { return next }\n\t\t\t\t\n\t\t\t\tstatic counter = 0\n\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic result() {\n\t\t\t\t\tconst res = this.condition() ? this.first() : this.second() \n\t\t\t\t\treturn res + this.counter ++\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\n\t\t\t$mol_assert_equal( App.result() , 1 )\n\t\t\t$mol_assert_equal( App.counter , 1 )\n\t\t\t\n\t\t\tApp.condition( false )\n\t\t\t$mol_assert_equal( App.result() , 3 )\n\t\t\t$mol_assert_equal( App.counter , 2 )\n\n\t\t\tApp.first( 10 )\n\t\t\t$mol_assert_equal( App.result() , 3 )\n\t\t\t$mol_assert_equal( App.counter , 2 )\n\n\t\t} ,\n\n\t\t// https://github.com/nin-jin/slides/tree/master/reactivity#dupes-equality\n\t\t'Dupes: Equality'( $ ) {\n\t\t\t\n\t\t\tlet counter = 0\n\t\t\t\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic foo( next? : { numbs: number[] } ) {\n\t\t\t\t\treturn next ?? { numbs: [ 1 ] }\n\t\t\t\t}\n\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic bar() {\n\t\t\t\t\treturn { ... this.foo(), count: ++ counter }\n\t\t\t\t}\n\n\t\t\t\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( App.bar() , { numbs: [ 1 ], count: 1 } )\n\t\t\n\t\t\t\t\tApp.foo({ numbs: [ 1 ] })\n\t\t\t\t\t$mol_assert_like( App.bar() , { numbs: [ 1 ], count: 1 } )\n\t\t\t\t\t\n\t\t\t\t\tApp.foo({ numbs: [ 2 ] })\n\t\t\t\t\t$mol_assert_like( App.bar() , { numbs: [ 2 ], count: 2 } )\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\tApp.test()\n\t\t},\n\n\t\t// https://github.com/nin-jin/slides/tree/master/reactivity#cycle-fail\n\t\t'Cycle: Fail'( $ ) {\n\t\t\n\t\t\tclass App extends $mol_object2 {\n\t\t\n\t\t\t\tstatic $ = $\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic foo() : number {\n\t\t\t\t\treturn this.bar() + 1\n\t\t\t\t}\n\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic bar() : number {\n\t\t\t\t\treturn this.foo() + 1\n\t\t\t\t}\n\t\t\n\t\t\t\t@ $mol_wire_method\n\t\t\t\tstatic test() {\n\t\t\t\t\t$mol_assert_fail( ()=> App.foo(), 'Circular subscription' )\n\t\t\t\t}\t\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tApp.test()\n\t\t} ,\n\n\t\t// https://github.com/nin-jin/slides/tree/master/reactivity#wish--stable-behavior\n\t\t'Different order of pull and push'( $ ) {\n\t\t\n\t\t\tclass App extends $mol_object2 {\n\t\t\n\t\t\t\tstatic $ = $\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic store( next = 0 ) {\n\t\t\t\t\treturn next\n\t\t\t\t}\n\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic fast( next?: number ) {\n\t\t\t\t\treturn this.store( next )\n\t\t\t\t}\n\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic slow( next?: number ) {\n\t\t\t\t\treturn this.store( next )\n\t\t\t\t}\n\t\t\n\t\t\t\t@ $mol_wire_method\n\t\t\t\tstatic test() {\n\t\t\t\t\t\n\t\t\t\t\tApp.fast()\n\t\t\t\t\t$mol_assert_equal( App.slow( 666 ) , 666 )\n\t\t\t\t\t$mol_assert_equal( App.fast(), App.slow(), 666 )\n\t\t\t\t\t\n\t\t\t\t\tApp.store( 777 )\n\t\t\t\t\t$mol_assert_equal( App.fast(), App.slow(), 777 )\n\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\t\t\n\t\t// https://github.com/nin-jin/slides/tree/master/reactivity#wish--stable-behavior\n\t\t'Actions inside invariant'( $ ) {\n\t\t\n\t\t\tclass App extends $mol_object2 {\n\t\t\n\t\t\t\tstatic $ = $\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic count( next = 0 ) {\n\t\t\t\t\treturn next\n\t\t\t\t}\n\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic count2() {\n\t\t\t\t\treturn this.count()\n\t\t\t\t}\n\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic res() {\n\t\t\t\t\tconst count = this.count2()\n\t\t\t\t\tif( !count ) this.count( count + 1 )\n\t\t\t\t\treturn count + 1\n\t\t\t\t}\n\t\t\n\t\t\t\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( App.res() , 1 )\n\t\t\t\t\t\n\t\t\t\t\tApp.count( 5 )\n\t\t\t\t\t$mol_assert_like( App.res() , 6 )\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\tApp.test()\n\t\t} ,\n\n\t\t// // https://github.com/nin-jin/slides/tree/master/reactivity#wish--stable-behavior\n\t\t// 'Stable order of multiple root'( $ ) {\n\t\t\n\t\t// \tclass App extends $mol_object2 {\n\t\t\n\t\t// \t\tstatic $ = $\n\t\t\t\t\n\t\t// \t\tstatic counter = 0\n\t\t\t\t\n\t\t// \t\t@ $mol_wire_mem(0)\n\t\t// \t\tstatic left_trigger( next = 0 ) {\n\t\t// \t\t\treturn next\n\t\t// \t\t}\n\t\t\n\t\t// \t\t@ $mol_wire_mem(0)\n\t\t// \t\tstatic left_root() {\n\t\t// \t\t\tthis.left_trigger()\n\t\t// \t\t\treturn ++ this.counter\n\t\t// \t\t}\n\t\t\t\t\n\t\t// \t\t@ $mol_wire_mem(0)\n\t\t// \t\tstatic right_trigger( next = 0 ) {\n\t\t// \t\t\treturn next\n\t\t// \t\t}\n\t\t\t\t\n\t\t// \t\t@ $mol_wire_mem(0)\n\t\t// \t\tstatic right_root() {\n\t\t// \t\t\tthis.right_trigger()\n\t\t// \t\t\treturn ++ this.counter\n\t\t// \t\t}\n\t\t\n\t\t// \t}\n\t\t\t\n\t\t// \t$mol_assert_equal( App.left_root(), 1 )\n\t\t// \t$mol_assert_equal( App.right_root(), 2 )\n\t\t\t\n\t\t// \tApp.right_trigger( 1 )\n\t\t// \tApp.left_trigger( 1 )\n\t\t\t\n\t\t// \t$mol_wire_fiber.sync()\n\t\t\t\n\t\t// \t$mol_assert_equal( App.right_root(), 4 )\n\t\t// \t$mol_assert_equal( App.left_root(), 3 )\n\n\t\t// } ,\n\n\t\t// https://github.com/nin-jin/slides/tree/master/reactivity#error-store\n\t\t'Restore after error'( $ ) {\n\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\tstatic get $() { return $ }\n\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic condition( next = false ) { return next }\n\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic broken() {\n\t\t\t\t\t\n\t\t\t\t\tif( this.condition() ) {\n\t\t\t\t\t\t$mol_fail( new Error( 'test error' ) )\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\treturn 1\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic result() {\n\t\t\t\t\treturn this.broken()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\n\t\t\t$mol_assert_equal( App.result() , 1 )\n\t\t\t\n\t\t\tApp.condition( true )\n\t\t\t$mol_assert_fail( ()=> App.result() )\n\t\t\t\n\t\t\tApp.condition( false )\n\t\t\t$mol_assert_equal( App.result() , 1 )\n\n\t\t} ,\n\t\n\t\tasync 'Wait for data'($) {\n\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\t\t\t\t\n\t\t\t\tstatic async source() {\n\t\t\t\t\treturn 'Jin'\n\t\t\t\t}\n\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic middle() {\n\t\t\t\t\treturn $mol_wire_sync( this ).source()\n\t\t\t\t}\n\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic target() {\n\t\t\t\t\treturn this.middle()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t@ $mol_wire_method\n\t\t\t\tstatic test() {\n\t\t\t\t\t$mol_assert_equal( App.target() , 'Jin' )\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tawait $mol_wire_async( App ).test()\n\t\t},\n\n\t\t'Auto destroy on long alone'( $ ) {\n\n\t\t\tlet destroyed = false\n\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic showing( next = true ) {\n\t\t\t\t\treturn next\n\t\t\t\t}\n\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic details() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tdestructor() {\n\t\t\t\t\t\t\tdestroyed = true\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic render() {\n\t\t\t\t\treturn this.showing() ? this.details() : null\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tconst details = App.render()\n\t\t\t$mol_assert_ok( details )\n\n\t\t\tApp.showing( false )\n\t\t\t$mol_assert_not( App.render() )\n\t\t\t\n\t\t\tApp.showing( true )\n\t\t\t$mol_assert_equal( App.render() , details )\n\t\t\t\n\t\t\t$mol_wire_fiber.sync()\n\t\t\t$mol_assert_not( destroyed )\n\t\t\t\n\t\t\tApp.showing( false )\n\t\t\t$mol_wire_fiber.sync()\n\t\t\t$mol_assert_ok( destroyed )\n\n\t\t\tApp.showing( true )\n\t\t\t$mol_assert_unique( App.render() , details )\n\t\t\t\n\t\t},\n\n\t\t// https://github.com/nin-jin/slides/tree/master/reactivity#wish--stable-behavior\n\t\tasync 'Hold pubs while wait async task'($) {\n\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\t\t\t\t\n\t\t\t\tstatic counter = 0\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic resets( next?: null ): number {\n\t\t\t\t\treturn ( $mol_wire_probe( ()=> this.resets() ) ?? -1 ) + 1\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tstatic async wait() { }\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic value() {\n\t\t\t\t\treturn ++ this.counter\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic result() {\n\t\t\t\t\tif( this.resets() ) $mol_wire_sync( this ).wait()\n\t\t\t\t\treturn this.value()\n\t\t\t\t}\n\n\t\t\t\t@ $mol_wire_method\n\t\t\t\tstatic test() {\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\t$mol_assert_equal( App.result() , 1 )\n\t\t\t\n\t\t\tApp.resets( null )\n\t\t\t$mol_wire_fiber.sync()\n\t\t\t$mol_assert_equal( await $mol_wire_async( App ).result() , 1 )\n\t\t\t\n\t\t},\n\n\t\t'Forget sub fibers on complete'( $ ) {\n\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\tstatic get $() { return $ }\n\t\t\t\tstatic counter = 0\n\n\t\t\t\t@ $mol_wire_method\n\t\t\t\tstatic count() { return this.counter ++ }\n\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic data( next = 1 ) { return next }\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic result() {\n\t\t\t\t\treturn this.count() + this.data()\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\n\t\t\tApp.data( 2 )\n\t\t\t$mol_assert_equal( App.result() , 3 )\n\n\t\t} ,\n\n\t\t'Memoize by single simple key' ($) {\n\n\t\t\tclass Team extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\n\t\t\t\t@ $mol_wire_mem(1)\n\t\t\t\tstatic user_name( user: string , next?: string ) {\n\t\t\t\t\treturn next ?? user\n\t\t\t\t}\n\n\t\t\t\t@ $mol_wire_mem(1)\n\t\t\t\tstatic user_names() {\n\t\t\t\t\treturn [\n\t\t\t\t\t\tthis.user_name( 'jin' ),\n\t\t\t\t\t\tthis.user_name( 'john' ),\n\t\t\t\t\t]\n\t\t\t\t}\n\n\t\t\t\t@ $mol_wire_method\n\t\t\t\tstatic test() {\n\t\t\t\t\n\t\t\t\t\t$mol_assert_like( this.user_names(), [ 'jin', 'john' ] )\n\t\t\t\t\t\n\t\t\t\t\tTeam.user_name( 'jin', 'JIN' )\n\t\t\t\t\t$mol_assert_like( this.user_names(), [ 'JIN', 'john' ] )\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\n\t\t\tTeam.test()\n\t\t} ,\n\n\t\t'Memoize by single complex key' ($) {\n\n\t\t\tclass Map extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\n\t\t\t\t@ $mol_wire_mem(1)\n\t\t\t\tstatic tile( pos: [ number, number ] ) {\n\t\t\t\t\treturn new String( `/tile=${pos}` )\n\t\t\t\t}\n\n\t\t\t\t@ $mol_wire_method\n\t\t\t\tstatic test() {\n\t\t\t\t\t\n\t\t\t\t\t$mol_assert_like( this.tile([0,1]), new String( '/tile=0,1' ) )\n\t\t\t\t\t$mol_assert_equal( this.tile([0,1]), this.tile([0,1]) )\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\n\t\t\tMap.test()\n\t\t} ,\n\n\t\t'Memoize by multiple keys' ($) {\n\n\t\t\tclass Map extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\n\t\t\t\t@ $mol_wire_mem(2)\n\t\t\t\tstatic tile( x: number, y: number ) {\n\t\t\t\t\treturn new String( `/tile=${x},${y}` )\n\t\t\t\t}\n\n\t\t\t\t@ $mol_wire_method\n\t\t\t\tstatic test() {\n\t\t\t\t\t\n\t\t\t\t\t$mol_assert_like( this.tile(0,1), new String( '/tile=0,1' ) )\n\t\t\t\t\t$mol_assert_equal( this.tile(0,1), this.tile(0,1) )\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\n\t\t\tMap.test()\n\t\t} ,\n\n\t\t'Owned value has js-path name' () {\n\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic title() {\n\t\t\t\t\treturn new $mol_object2\n\t\t\t\t}\n\n\t\t\t\t@ $mol_wire_mem(1)\n\t\t\t\tstatic like( friend: number ) {\n\t\t\t\t\treturn new $mol_object2\n\t\t\t\t}\n\n\t\t\t\t@ $mol_wire_mem(2)\n\t\t\t\tstatic relation( friend: number, props: [ number ] ) {\n\t\t\t\t\treturn new $mol_object2\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\t$mol_assert_equal( `${ App.title() }` , 'App.title()' )\n\t\t\t$mol_assert_equal( `${ App.like(123) }` , 'App.like(123)' )\n\t\t\t$mol_assert_equal( `${ App.relation(123,[456]) }` , 'App.relation(123,[456])' )\n\n\t\t} ,\n\n\t\t'Deep deps' ($) {\n\n\t\t\tclass Fib extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\t\t\t\t\n\t\t\t\tstatic sums = 0\n\n\t\t\t\t@ $mol_wire_mem(1)\n\t\t\t\tstatic value( index: number , next?: number ): number {\n\t\t\t\t\tif( next ) return next\n\t\t\t\t\tif( index < 2 ) return 1\n\t\t\t\t\t++ this.sums\n\t\t\t\t\treturn this.value( index - 1 ) + this.value( index - 2 )\n\t\t\t\t}\n\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( this.value( 4 ), 5 )\n\t\t\t\t\t$mol_assert_equal( this.sums, 3 )\n\t\t\t\t\t\n\t\t\t\t\tthis.value( 1, 2 )\n\t\t\t\t\t$mol_assert_equal( this.value( 4 ), 8 )\n\t\t\t\t\t$mol_assert_equal( this.sums, 6 )\n\t\t\t\t\t\t\t\n\t\t\t\t}\n\n\t\t\t}\n\t\t\t\n\t\t\tFib.test()\n\t\t} ,\n\n\t\t'Unsubscribe from temp pubs on complete' ($) {\n\n\t\t\tclass Random extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\n\t\t\t\t@ $mol_wire_method\n\t\t\t\tstatic seed() {\n\t\t\t\t\treturn Math.random()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic resets( next?: null ) {\n\t\t\t\t\treturn Math.random()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic value() {\n\t\t\t\t\tthis.resets()\n\t\t\t\t\treturn this.seed()\n\t\t\t\t}\n\n\t\t\t\t@ $mol_wire_method\n\t\t\t\tstatic test() {\n\t\t\t\t\t\n\t\t\t\t\tconst first = this.value()\n\t\t\t\n\t\t\t\t\tthis.resets( null )\n\t\t\t\t\tconst second = this.value()\n\t\t\n\t\t\t\t\t$mol_assert_unique( first, second )\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t}\n\n\t\t\t}\n\t\t\t\n\t\t\tRandom.test()\n\t\t} ,\n\n\t})\n}\n","namespace $ {\n\texport let $mol_mem = $mol_wire_mem(0)\n\texport let $mol_mem_key = $mol_wire_mem(1)\n\texport let $mol_mem_key2 = $mol_wire_mem(2)\n\texport let $mol_mem_key3 = $mol_wire_mem(3)\n}\n","namespace $ {\n\n\t/** Logger event data */\n\texport type $mol_log3_event< Fields > = {\n\t\t[ key in string ] : unknown\n\t} & {\n\t\t\n\t\t/** Time of event creation */\n\t\ttime? : string\n\n\t\t/** Place of event creation */\n\t\tplace : unknown\n\n\t\t/** Short description of event */\n\t\tmessage : string\n\n\t} & Fields\n\n\t/** Logger function */\n\texport type $mol_log3_logger< Fields , Res = void > = (\n\t\tthis : $ ,\n\t\tevent : $mol_log3_event< Fields > ,\n\t)=> Res\n\n\t/** Log begin of some task */\n\texport declare let $mol_log3_come : $mol_log3_logger<{}>\n\t\n\t/** Log end of some task */\n\texport declare let $mol_log3_done : $mol_log3_logger<{}>\n\t\n\t/** Log error */\n\texport declare let $mol_log3_fail : $mol_log3_logger<{}>\n\t\n\t/** Log warning message */\n\texport declare let $mol_log3_warn : $mol_log3_logger<{ hint : string }>\n\t\n\t/** Log some generic event */\n\texport declare let $mol_log3_rise : $mol_log3_logger<{}>\n\n\t/** Log begin of log group, returns func to close group */\n\texport declare let $mol_log3_area : $mol_log3_logger< {} , ()=> void >\n\n\t/** Log begin of collapsed group only when some logged inside, returns func to close group */\n\texport function $mol_log3_area_lazy(\n\t\tthis : $ ,\n\t\tevent : $mol_log3_event<{}> ,\n\t) {\n\n\t\tconst self = this\n\t\tconst stack = self.$mol_log3_stack\n\n\t\tconst deep = stack.length\n\t\tlet logged = false\n\n\t\tstack.push( ()=> {\n\t\t\tlogged = true\n\t\t\tself.$mol_log3_area.call( self , event )\n\t\t} )\n\n\t\treturn ()=> {\n\t\t\tif( logged ) self.console.groupEnd()\n\t\t\tif( stack.length > deep ) stack.length = deep\n\t\t}\n\n\t}\n\n\texport let $mol_log3_stack = [] as ( ()=> void )[]\n\n}\n",null,null,"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\texport function $mol_log3_web_make(\n\t\tlevel : $mol_type_keys_extract< Console, Function >,\n\t\tcolor : string,\n\t) {\n\n\t\treturn function $mol_log3_logger(\n\t\t\tthis : $ ,\n\t\t\tevent : $mol_log3_event<{}> ,\n\t\t) {\n\n\t\t\tconst pending = this.$mol_log3_stack.pop()\n\t\t\tif( pending ) pending()\n\n\t\t\tlet tpl = '%c'\n\t\t\tconst chunks = Object.values( event )\n\n\t\t\tfor( let i = 0 ; i < chunks.length ; ++i ) {\n\t\t\t\ttpl += ( typeof chunks[i] === 'string' ) ? ' ⦙ %s' : ' ⦙ %o'\n\t\t\t}\n\t\n\t\t\tconst style = `color:${color};font-weight:bolder`\n\n\t\t\t;( this.console[ level ] as any )( tpl , style , ... chunks )\n\n\t\t\tconst self = this\n\t\t\treturn ()=> self.console.groupEnd()\n\n\t\t}\n\n\t}\n\n\t$.$mol_log3_come = $mol_log3_web_make( 'info' , 'royalblue' )\n\t$.$mol_log3_done = $mol_log3_web_make( 'info' , 'forestgreen' )\n\t$.$mol_log3_fail = $mol_log3_web_make( 'error' , 'orangered' )\n\t$.$mol_log3_warn = $mol_log3_web_make( 'warn' , 'goldenrod' )\n\t$.$mol_log3_rise = $mol_log3_web_make( 'log' , 'magenta' )\n\t$.$mol_log3_area = $mol_log3_web_make( 'group' , 'cyan' )\n\n}\n","namespace $ {\n\t\n\texport class $mol_wire_log extends $mol_object2 {\n\t\t\n\t\t@ $mol_mem\n\t\tstatic watch( task?: ()=> any ) {\n\t\t\treturn task\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic track( fiber: $mol_wire_fiber< any, any, any > ) {\n\t\t\t\n\t\t\tconst prev = $mol_wire_probe( ()=> this.track( fiber ) )\n\t\t\tlet next: any\n\t\t\t\n\t\t\ttry {\n\t\t\t\tnext = fiber.sync()\n\t\t\t} finally {\n\t\t\t\t\n\t\t\t\tfor( const pub of fiber.pub_list ) {\n\t\t\t\t\tif( pub instanceof $mol_wire_fiber ) {\n\t\t\t\t\t\tthis.track( pub )\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tif( prev !== undefined && !$mol_compare_deep( prev, next ) ) {\n\t\t\t\tthis.$.$mol_log3_rise({\n\t\t\t\t\tmessage: 'Changed',\n\t\t\t\t\tplace: fiber,\n\t\t\t\t})\n\t\t\t}\n\t\t\n\t\t\treturn next\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tstatic active() {\n\t\t\t\n\t\t\ttry {\n\t\t\t\tthis.watch()?.()\n\t\t\t} finally {\n\t\t\t\tfor( const pub of ( $mol_wire_auto() as $mol_wire_fiber< any, any, any > ).pub_list ) {\n\t\t\t\t\tif( pub instanceof $mol_wire_fiber ) {\n\t\t\t\t\t\tthis.track( pub )\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\t$mol_wire_log.active()\n\n}\n","namespace $ {\n\t$mol_test( { \n\t\t\n\t\t'const returns stored value'() {\n\t\t\n\t\t\tconst foo = { bar : $mol_const( Math.random() ) }\n\t\t\t\n\t\t\t$mol_assert_equal( foo.bar() , foo.bar() )\n\t\t\t$mol_assert_equal( foo.bar() , foo.bar['()'] )\n\t\t\t\n\t\t} ,\n\n\t} )\n}\n","namespace $ {\n\t$mol_test({\n\t\t\n\t\t'Cached field' ($) {\n\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\t\t\t\t\n\t\t\t\t@ $mol_wire_field\n\t\t\t\tstatic low = 1\n\t\t\t\t\n\t\t\t\t@ $mol_wire_field\n\t\t\t\tstatic get high() {\n\t\t\t\t\treturn this.low + 1\n\t\t\t\t}\n\t\t\t\tstatic set high( next: number ) {\n\t\t\t\t\tthis.low = next - 1\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t@ $mol_wire_method\n\t\t\t\tstatic test() {\n\t\t\t\t\t\n\t\t\t\t\t$mol_assert_equal( App.high , 2 )\n\t\t\n\t\t\t\t\tApp.high = 3\n\t\t\t\t\t$mol_assert_equal( App.high , 3 )\n\t\t\t\t\t\n\t\t\t\t}\n\n\t\t\t}\n\t\t\t\n\t\t\tApp.test()\n\t\t},\n\n\t})\n}\n",null,null]}
|
|
1
|
+
{"version":3,"sources":["../../../test/mol/test/test.test.ts","../../../test/mol/test/test.web.test.ts","../../../dom/context/mol/dom/context/context.ts","../../../dom/context/mol/dom/context/context.web.ts","../../../dom/render/children/mol/dom/render/children/children.ts","../../../type/error/error.ts","../../../type/assert/assert.test.ts","../../../type/assert/assert.ts","../../../type/partial/deep/deep.test.ts","../../../type/partial/deep/deep.ts","../../../jsx/mol/jsx/jsx.test.tsx","../../../jsx/mol/jsx/jsx.ts","../../../compare/deep/mol/compare/deep/deep.test.tsx","../../../dom/serialize/mol/dom/serialize/serialize.ts","../../../assert/mol/assert/assert.test.ts","../../../assert/mol/assert/assert.ts","../../../delegate/mol/delegate/delegate.test.ts","../../../type/writable/writable.test.ts","../../../after/mock/mol/after/mock/mock.test.ts","../../../after/timeout/mol/after/timeout/timeout.test.ts","../../async/mol/wire/async/async.test.ts","../../pub/sub/mol/wire/pub/sub/sub.test.ts","../../../key/mol/key/key.test.tsx","../../../after/frame/mol/after/frame/frame.test.ts","../../fiber/mol/wire/fiber/fiber.test.ts","../../mem/mol/wire/mem/mem.test.ts","../../../mem/mol/mem/mem.ts","../../../log3/mol/log3/log3.ts","../../../type/keys/extract/extract.test.ts","../../../type/keys/extract/extract.ts","../../../log3/mol/log3/log3.test.ts","../../../log3/mol/log3/log3.web.ts","../../log/mol/wire/log/log.ts","../../mol/wire/wire.test.ts","../../../const/mol/const/const.test.ts","../../field/mol/wire/field/field.test.ts","../../set/mol/wire/set/set.test.ts","../../dict/mol/wire/dict/dict.test.ts","../../../type/equals/equals.test.ts","../../../type/equals/equals.ts"],"names":[],"mappings":"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","file":"web.test.js","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( res instanceof Promise ) {\n\t\t\t\tawait new Promise( ( done, fail )=> {\n\t\t\t\t\tres.then( done, fail )\n\t\t\t\t\tsetTimeout( ()=> fail( new Error( 'Test timeout: ' + test.name ) ), 1000 )\n\t\t\t\t} )\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\t$$.$mol_log3_done({\n\t\t\tplace: '$mol_test',\n\t\t\tmessage: 'All tests passed',\n\t\t\tcount: $mol_test_all.length,\n\t\t})\n\t\t\n\t}\n\t\n\tlet scheduled = false\n\texport function $mol_test_schedule() {\n\n\t\tif( scheduled ) return\n\t\tscheduled = true\n\n\t\tsetTimeout( async ()=> {\n\t\t\t\n\t\t\tscheduled = false\n \t\t\t\n\t\t\ttry {\n\t\t\t\tawait $mol_test_run()\n\t\t\t} finally {\n\t\t\t\t$$.$mol_test_complete()\n\t\t\t}\n\t\t\t\n\t\t} , 0 )\n\t\t\n\t}\n\n\t$mol_test_mocks.push( context => {\n\t\tlet seed = 0\n\n\t\tcontext.Math = Object.create( Math )\n\t\tcontext.Math.random = ()=> Math.sin( seed++ )\n\n\t\tconst forbidden = [ 'XMLHttpRequest' , 'fetch' ]\n\n\t\tfor( let api of forbidden ) {\n\t\t\tcontext[ api ] = new Proxy( function(){} , {\n\t\t\t\tget() {\n\t\t\t\t\t$mol_fail_hidden( new Error( `${ api } is forbidden in tests` ) )\n\t\t\t\t} ,\n\t\t\t\tapply() {\n\t\t\t\t\t$mol_fail_hidden( new Error( `${ api } is forbidden in tests` ) )\n\t\t\t\t} ,\n\t\t\t} )\n\t\t}\n\t\t\n\t} )\n\n\t$mol_test({\n\n\t\t'mocked Math.random'( $ ) {\n\t\t\tconsole.assert( $.Math.random() === 0 )\n\t\t\tconsole.assert( $.Math.random() === Math.sin(1) )\n\t\t} ,\n\n\t\t'forbidden XMLHttpRequest'( $ ) {\n\t\t\ttry {\n\t\t\t\tconsole.assert( void new $.XMLHttpRequest )\n\t\t\t} catch( error: any ) {\n\t\t\t\tconsole.assert( error.message === 'XMLHttpRequest is forbidden in tests' )\n\t\t\t}\n\t\t} ,\n\n\t\t'forbidden fetch'( $ ) {\n\t\t\ttry {\n\t\t\t\tconsole.assert( void $.fetch('') )\n\t\t\t} catch( error: any ) {\n\t\t\t\tconsole.assert( error.message === 'fetch is forbidden in tests' )\n\t\t\t}\n\t\t} ,\n\n\t})\n\n}\n","namespace $ {\n\t\n\texport function $mol_test_complete() {\n\t}\n\t\n}\n","namespace $ {\n\t\n\texport var $mol_dom_context : typeof globalThis\n\t\n}\n","namespace $ {\n\t\n\t$.$mol_dom_context = self as any\n\t\n}\n","namespace $ {\n\n\texport function $mol_dom_render_children (\n\t\tel : Element | DocumentFragment ,\n\t\tchildNodes : NodeList | Array< Node | string | null >\n\t) {\n\t\tconst node_set = new Set< Node | string | null >( childNodes )\n\t\t\n\t\tlet nextNode : Node | null = el.firstChild\n\t\tfor( let view of childNodes ) {\n\n\t\t\tif( view == null ) continue\n\n\t\t\tif( view instanceof $mol_dom_context.Node ) {\n\t\t\t\t\n\t\t\t\twhile( true ) {\n\t\t\t\t\tif( !nextNode ) {\n\t\t\t\t\t\tel.appendChild( view )\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\tif( nextNode == view ) {\n\t\t\t\t\t\tnextNode = nextNode.nextSibling\n\t\t\t\t\t\tbreak\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif( node_set.has( nextNode ) ) {\n\t\t\t\t\t\t\tel.insertBefore( view , nextNode )\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconst nn = nextNode.nextSibling\n\t\t\t\t\t\t\tel.removeChild( nextNode )\n\t\t\t\t\t\t\tnextNode = nn\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t} else {\n\t\t\t\tif( nextNode && nextNode.nodeName === '#text' ) {\n\t\t\t\t\tconst str = String( view )\n\t\t\t\t\tif( nextNode.nodeValue !== str ) nextNode.nodeValue = str\n\t\t\t\t\tnextNode = nextNode.nextSibling\n\t\t\t\t} else {\n\t\t\t\t\tconst textNode = $mol_dom_context.document.createTextNode( String( view ) )\n\t\t\t\t\tel.insertBefore( textNode , nextNode )\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\twhile( nextNode ) {\n\t\t\tconst currNode = nextNode\n\t\t\tnextNode = currNode.nextSibling\n\t\t\tel.removeChild( currNode )\n\t\t}\n\t}\n\n}\n",null,null,null,null,null,"/** @jsx $mol_jsx */\nnamespace $ {\n\t\n\t$mol_test({\n\t\t\n\t\t'Make empty div'() {\n\t\t\t$mol_assert_equal( (<div/>).outerHTML , '<div></div>' )\n\t\t} ,\n\t\t\n\t\t'Define native field'() {\n\t\t\t\n\t\t\tconst dom = <input value='123' /> as HTMLInputElement\n\t\t\t\n\t\t\t$mol_assert_equal( dom.outerHTML , '<input value=\"123\">' )\n\t\t\t$mol_assert_equal( dom.value , '123' )\n\n\t\t} ,\n\t\t\n\t\t'Define classes'() {\n\t\t\t\n\t\t\tconst dom = <div class={ 'foo bar' } />\n\t\t\t\n\t\t\t$mol_assert_equal( dom.outerHTML , '<div class=\"foo bar\"></div>' )\n\n\t\t} ,\n\t\t\n\t\t'Define styles'() {\n\t\t\t\n\t\t\tconst dom = <div style={{ color : 'red' }} />\n\t\t\t\n\t\t\t$mol_assert_equal( dom.outerHTML , '<div style=\"color: red;\"></div>' )\n\n\t\t} ,\n\t\t\n\t\t'Define dataset'() {\n\t\t\t\n\t\t\tconst dom = <div dataset={{ foo : 'bar' }} />\n\t\t\t\n\t\t\t$mol_assert_equal( dom.outerHTML , '<div data-foo=\"bar\"></div>' )\n\n\t\t} ,\n\t\t\n\t\t'Define attributes'() {\n\t\t\t\n\t\t\tconst dom = <div lang=\"ru\" hidden />\n\t\t\t\n\t\t\t$mol_assert_equal( dom.outerHTML , '<div lang=\"ru\" hidden=\"\"></div>' )\n\n\t\t} ,\n\t\t\n\t\t'Define child nodes'() {\n\n\t\t\tconst dom =\n\t\t\t\t<div>\n\t\t\t\t\thello\n\t\t\t\t\t<strong>world</strong>\n\t\t\t\t\t!\n\t\t\t\t</div>\n\t\t\t\n\t\t\t$mol_assert_equal( dom.outerHTML , '<div>hello<strong>world</strong>!</div>' )\n\n\t\t} ,\n\n\t\t'Function as component'() {\n\n\t\t\tconst Button = ( { hint } : { hint : string } , target : ()=> string ) => {\n\t\t\t\treturn <button title={ hint } >{ target() }</button>\n\t\t\t}\n\n\t\t\tconst dom = <Button id=\"/foo\" hint=\"click me\">{ ()=> 'hey!' }</Button>\n\n\t\t\t$mol_assert_equal( dom.outerHTML , '<button title=\"click me\" id=\"/foo\">hey!</button>' )\n\t\t\t\n\t\t} ,\n\t\t\n\t\t// 'Standart classes as component'() {\n\n\t\t// \tconst dom = <HTMLButtonElement id=\"/foo\" title=\"click me\">hey!</HTMLButtonElement>\n\n\t\t// \t$mol_assert_equal( dom.outerHTML , '<button title=\"click me\" id=\"/foo\">hey!</button>' )\n\t\t\t\n\t\t// } ,\n\t\t\n\t\t'Nested guid generation'() {\n\n\t\t\tconst Foo = ()=> {\n\t\t\t\treturn <div>\n\t\t\t\t\t<Bar id=\"/bar\">\n\t\t\t\t\t\t<img id=\"/icon\" />\n\t\t\t\t\t</Bar>\n\t\t\t\t</div>\n\t\t\t}\n\n\t\t\tconst Bar = ( props : {} , icon : Element )=> {\n\t\t\t\treturn <span>{ icon }</span>\n\t\t\t}\n\n\t\t\tconst dom = <Foo id=\"/foo\" />\n\n\t\t\t$mol_assert_equal( dom.outerHTML , '<div id=\"/foo\"><span id=\"/foo/bar\"><img id=\"/foo/icon\"></span></div>' )\n\t\t\t\n\t\t} ,\n\t\t\n\t\t'Fail on non unique ids'() {\n\n\t\t\tconst App = ()=> {\n\t\t\t\treturn <div>\n\t\t\t\t\t<span id=\"/bar\" />\n\t\t\t\t\t<span id=\"/bar\" />\n\t\t\t\t</div>\n\t\t\t}\n\n\t\t\t$mol_assert_fail( ()=> <App id=\"/foo\" /> , 'JSX already has tag with id \"/bar\"' )\n\t\t\t\n\t\t} ,\n\t\t\n\t})\n\t\n}\n","namespace $ {\n\n\texport let $mol_jsx_prefix = ''\n\n\texport let $mol_jsx_booked = null as null | Set< string >\n\t\n\texport let $mol_jsx_document : $mol_jsx.JSX.ElementClass['ownerDocument'] = {\n\t\tgetElementById : ()=> null ,\n\t\tcreateElementNS : ( space: string, name : string )=> $mol_dom_context.document.createElementNS( space, name ) as any,\n\t\tcreateDocumentFragment : ()=> $mol_dom_context.document.createDocumentFragment(),\n\t}\n\t\n\texport const $mol_jsx_frag = ''\n\n\texport function $mol_jsx<\n\t\tProps extends $mol_jsx.JSX.IntrinsicAttributes,\n\t\tChildren extends Array< Node | string >\n\t>(\n\t\tElem : string\n\t\t\t| ( ( props : Props , ... children : Children ) => Element ) ,\n\t\tprops : Props ,\n\t\t... childNodes : Children\n\t) : Element | DocumentFragment {\n\n\t\tconst id = props && props.id || ''\n\n\t\tif( Elem && $mol_jsx_booked ) {\n\t\t\tif( $mol_jsx_booked.has( id ) ) {\n\t\t\t\t$mol_fail( new Error( `JSX already has tag with id ${ JSON.stringify( id ) }` ) )\n\t\t\t} else {\n\t\t\t\t$mol_jsx_booked.add( id )\n\t\t\t}\n\t\t}\n\n\t\tconst guid = $mol_jsx_prefix + id\n\n\t\tlet node: Element | DocumentFragment | null = guid ? $mol_jsx_document.getElementById( guid ) : null\n\n\t\tif( typeof Elem !== 'string' ) {\n\n\t\t\tif( 'prototype' in Elem ) {\n\n\t\t\t\tconst view = node && node[ Elem as any ] || new ( Elem as any )\n\t\t\t\t\n\t\t\t\tObject.assign( view , props )\n\t\t\t\tview[ Symbol.toStringTag ] = guid\n\t\t\t\t\n\t\t\t\tview.childNodes = childNodes\n\t\t\t\t\n\t\t\t\tif( !view.ownerDocument ) view.ownerDocument = $mol_jsx_document\n\t\t\t\t\n\t\t\t\tnode = view.valueOf()\n\t\t\t\t\n\t\t\t\tnode![ Elem as any ] = view\n\t\t\t\t\n\t\t\t\treturn node!\n\n\t\t\t} else {\n\n\t\t\t\tconst prefix = $mol_jsx_prefix\n\t\t\t\tconst booked = $mol_jsx_booked\n\t\t\t\t\n\t\t\t\ttry {\n\t\n\t\t\t\t\t$mol_jsx_prefix = guid\n\t\t\t\t\t$mol_jsx_booked = new Set\n\t\n\t\t\t\t\treturn ( Elem as any )( props , ... childNodes )\n\t\t\t\t\t\n\t\t\t\t} finally {\n\n\t\t\t\t\t$mol_jsx_prefix = prefix\n\t\t\t\t\t$mol_jsx_booked = booked\n\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\n\t\t}\n\n\t\tif( !node ) {\n\t\t\tnode = Elem\n\t\t\t\t? $mol_jsx_document.createElementNS( props?.xmlns ?? 'http://www.w3.org/1999/xhtml', Elem )\n\t\t\t\t: $mol_jsx_document.createDocumentFragment()\n\t\t}\n\n\t\t$mol_dom_render_children( node , ( [] as ( Node | string )[] ).concat( ... childNodes ) )\n\t\tif( !Elem ) return node\n\n\t\tfor( const key in props ) {\n\n\t\t\tif( typeof props[ key ] === 'string' ) {\n\n\t\t\t\t;( node as Element ).setAttribute( key , props[ key as any ] )\n\n\t\t\t} else if(\n\t\t\t\tprops[ key ] &&\n\t\t\t\ttypeof props[ key ] === 'object' &&\n\t\t\t\tReflect.getPrototypeOf( props[ key ] as any ) === Reflect.getPrototypeOf({})\n\t\t\t) {\n\n\t\t\t\tif( typeof node[ key as any ] === 'object' ) {\n\t\t\t\t\tObject.assign( ( node as any )[ key ] , props[ key ] )\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\n\t\t\t} else {\n\n\t\t\t\tnode[ key as any ] = props[ key ]\n\t\t\t\t\n\t\t\t}\n\n\t\t}\n\n\t\tif( guid ) ( node as Element ).id = guid\n\n\t\treturn node\n\n\t}\n\n\texport declare namespace $mol_jsx.JSX {\n\n\t\texport interface Element extends HTMLElement {\n\t\t\tclass?: string\n\t\t}\n\t\t\n\t\texport interface ElementClass {\n\t\t\tattributes : {}\n\t\t\townerDocument : Pick< Document , 'getElementById' | 'createElementNS' | 'createDocumentFragment' >\n\t\t\tchildNodes : Array< Node | string >\n\t\t\tvalueOf() : Element\n\t\t}\n\t\t\n\t\ttype OrString< Dict > = {\n\t\t\t[ key in keyof Dict ]: Dict[ key ] | string\n\t\t}\n\t\t\n\t\t/** Props for html elements */\n\t\texport type IntrinsicElements = {\n\t\t\t[ key in keyof ElementTagNameMap ]? : $.$mol_type_partial_deep< OrString<\n\t\t\t\t& Element\n\t\t\t\t& IntrinsicAttributes\n\t\t\t\t& ElementTagNameMap[ key ]\n\t\t\t> >\n\t\t}\n\t\t\n\t\t/** Additional undeclared props */\n\t\texport interface IntrinsicAttributes {\n\t\t\tid? : string\n\t\t\txmlns? : string\n\t\t}\n\t\t\n\t\texport interface ElementAttributesProperty {\n\t\t\tattributes : {\n\t\t\t}\n\t\t}\n\t\t\n\t\t// export type IntrinsicClassAttributes< Class > = $.$mol_type_partial_deep< Omit< Class , 'valueOf' > >\n\t\t\n\t\tinterface ElementChildrenAttribute {\n\t\t}\n\t\n\t}\n\n}\n","/** @jsx $mol_jsx */\nnamespace $ {\n\n\t$mol_test({\n\n\t\t'nulls & undefineds'() {\n\n\t\t\t$mol_assert_ok( $mol_compare_deep( null , null ) )\n\t\t\t$mol_assert_ok( $mol_compare_deep( undefined , undefined ) )\n\t\t\t\n\t\t\t$mol_assert_not( $mol_compare_deep( undefined , null ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( {} , null ) )\n\t\t\t\n\t\t} ,\n\n\t\t'number'() {\n\t\t\t\n\t\t\t$mol_assert_ok( $mol_compare_deep( 1 , 1 ) )\n\t\t\t$mol_assert_ok( $mol_compare_deep( Number.NaN , Number.NaN ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( 1 , 2 ) )\n\t\t\t\n\t\t\t$mol_assert_ok( $mol_compare_deep( Object( 1 ) , Object( 1 ) ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( Object( 1 ) , Object( 2 ) ) )\n\t\t\t\n\t\t} ,\n\n\t\t'POJO'() {\n\t\t\t$mol_assert_ok( $mol_compare_deep( {} , {} ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( { a : 1 } , { b : 2 } ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( { a : 1 } , { a : 2 } ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( {} , { a : undefined } ) )\n\t\t\t$mol_assert_ok( $mol_compare_deep( { a: 1, b: 2 } , { b: 2, a: 1 } ) )\n\t\t\t$mol_assert_ok( $mol_compare_deep( { a : { b : 1 } } , { a : { b : 1 } } ) )\n\t\t} ,\n\n\t\t'Array'() {\n\t\t\t$mol_assert_ok( $mol_compare_deep( [] , [] ) )\n\t\t\t$mol_assert_ok( $mol_compare_deep( [ 1 , [2] ] , [ 1 , [2] ] ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( [ 1 , 2 ] , [ 1 , 3 ] ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( [ 1 , 2 , ] , [ 1 , 3 , undefined ] ) )\n\t\t} ,\n\n\t\t'Non POJO are different'() {\n\t\t\t\n\t\t\tclass Thing extends Object {}\n\t\t\t$mol_assert_not( $mol_compare_deep( new Thing , new Thing ) )\n\t\t\t\n\t\t\t$mol_assert_not( $mol_compare_deep( ()=> 1 , ()=>1 ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( new RangeError( 'Test error' ) , new RangeError( 'Test error' ) ) )\n\t\t\t\n\t\t} ,\n\n\t\t'same POJOs with cyclic reference'() {\n\n\t\t\tconst a = { foo : {} }\n\t\t\ta['self'] = a\n\n\t\t\tconst b = { foo : {} }\n\t\t\tb['self'] = b\n\n\t\t\t$mol_assert_ok( $mol_compare_deep( a , b ) )\n\n\t\t} ,\n\n\t\t'Date'() {\n\t\t\t$mol_assert_ok( $mol_compare_deep( new Date( 12345 ) , new Date( 12345 ) ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( new Date( 12345 ) , new Date( 12346 ) ) )\n\t\t} ,\n\n\t\t'RegExp'() {\n\t\t\t$mol_assert_ok( $mol_compare_deep( /\\x22/mig , /\\x22/mig ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( /\\x22/mig , /\\x21/mig ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( /\\x22/mig , /\\x22/mg ) )\n\t\t} ,\n\n\t\t'Error'() {\n\t\t\t\n\t\t\t$mol_assert_not( $mol_compare_deep( new Error( 'xxx' ) , new Error( 'xxx' ) ) )\n\n\t\t\tconst fail = ( message: string )=> new Error( message )\n\t\t\t\n\t\t\t$mol_assert_ok( $mol_compare_deep(\n\t\t\t\t... [ 'xxx' , 'xxx' ].map( msg => new Error( msg ) ) as [ Error, Error ]\n\t\t\t) )\n\t\t\t\n\t\t\t$mol_assert_not( $mol_compare_deep(\n\t\t\t\t... [ 'xxx' , 'yyy' ].map( msg => new Error( msg ) ) as [ Error, Error ]\n\t\t\t) )\n\t\t\t\n\t\t} ,\n\n\t\t'Map'() {\n\t\t\t$mol_assert_ok( $mol_compare_deep( new Map , new Map ) )\n\t\t\t$mol_assert_ok( $mol_compare_deep( new Map([ [ 1 , [2] ] ]) , new Map([ [ 1 , [2] ] ]) ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( new Map([ [ 1 , 2 ] ]) , new Map([ [ 1 , 3 ] ]) ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( new Map([ [ [1] , 2 ] ]) , new Map([ [ [1] , 2 ] ]) ) )\n\t\t} ,\n\t\t\n\t\t'Set'() {\n\t\t\t$mol_assert_ok( $mol_compare_deep( new Set , new Set ) )\n\t\t\t$mol_assert_ok( $mol_compare_deep( new Set([ 1 , [2] ]) , new Set([ 1 , [2] ]) ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( new Set([ 1 ]) , new Set([ 2 ]) ) )\n\t\t} ,\n\t\t\n\t\t'Uint8Array'() {\n\t\t\t$mol_assert_ok( $mol_compare_deep( new Uint8Array , new Uint8Array ) )\n\t\t\t$mol_assert_ok( $mol_compare_deep( new Uint8Array([ 0 ]) , new Uint8Array([ 0 ]) ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( new Uint8Array([ 0 ]) , new Uint8Array([ 1 ]) ) )\n\t\t} ,\n\t\t\n\t\t'Custom comparator'() {\n\t\t\t\n\t\t\tclass User {\n\t\t\t\t\n\t\t\t\tconstructor(\n\t\t\t\t\treadonly name: string,\n\t\t\t\t\treadonly rand = Math.random(),\n\t\t\t\t) {}\n\t\t\t\t\n\t\t\t\t[ Symbol.toPrimitive ]( mode: 'default' | 'number' | 'string' ) {\n\t\t\t\t\treturn this.name\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\t$mol_assert_ok( $mol_compare_deep( new User( 'Jin' ), new User( 'Jin' ) ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( new User( 'Jin' ), new User( 'John' ) ) )\n\t\t\t\n\t\t} ,\n\t\t\n\t})\n\n}\n","namespace $ {\n\n\texport function $mol_dom_serialize(\n\t\tnode: Node\n\t) {\n\t\tconst serializer = new $mol_dom_context.XMLSerializer\n\t\treturn serializer.serializeToString( node )\n\t}\n\n}\n","namespace $ {\n\t$mol_test( {\n\t\t\n\t\t'must be false'() {\n\t\t\t$mol_assert_not( 0 )\n\t\t} ,\n\t\t\n\t\t'must be true'() {\n\t\t\t$mol_assert_ok( 1 )\n\t\t} ,\n\t\t\n\t\t'two must be equal'() {\n\t\t\t$mol_assert_equal( 2 , 2 )\n\t\t} ,\n\t\t\n\t\t'three must be equal'() {\n\t\t\t$mol_assert_equal( 2 , 2 , 2 )\n\t\t} ,\n\t\t\n\t\t'two must be unique'() {\n\t\t\t$mol_assert_unique( [ 3 ] , [ 3 ] )\n\t\t} ,\n\t\t\n\t\t'three must be unique'() {\n\t\t\t$mol_assert_unique( [ 3 ] , [ 3 ] , [ 3 ] )\n\t\t} ,\n\t\t\n\t\t'two must be alike'() {\n\t\t\t$mol_assert_like( [ 3 ] , [ 3 ] )\n\t\t} ,\n\t\t\n\t\t'three must be alike'() {\n\t\t\t$mol_assert_like( [ 3 ] , [ 3 ] , [ 3 ] )\n\t\t} ,\n\t\t\n\t} )\n}\n","namespace $ {\n\t\n\texport function $mol_assert_ok( value : any ) {\n\t\tif( value ) return\n\t\t$mol_fail( new Error( `${value} ≠ true` ) )\n\t}\n\t\n\texport function $mol_assert_not( value : any ) {\n\t\tif( !value ) return\n\t\t$mol_fail( new Error( `${value} ≠ false` ) )\n\t}\n\t\n\texport function $mol_assert_fail( handler : ()=> any , ErrorRight? : any ) {\n\t\t\n\t\tconst fail = $.$mol_fail\n\t\t\n\t\ttry {\n\t\t\t$.$mol_fail = $.$mol_fail_hidden\n\t\t\t\n\t\t\thandler()\n\n\t\t} catch( error: any ) {\n\t\t\t\n\t\t\tif( !ErrorRight ) return error\n\t\t\t\n\t\t\t$.$mol_fail = fail\n\n\t\t\tif( typeof ErrorRight === 'string' ) {\n\t\t\t\t$mol_assert_equal( error.message, ErrorRight )\n\t\t\t} else {\n\t\t\t\t$mol_assert_ok( error instanceof ErrorRight )\n\t\t\t}\n\t\t\t\n\t\t\treturn error\n\n\t\t} finally {\n\t\t\t$.$mol_fail = fail\n\t\t}\n\n\t\t$mol_fail( new Error( 'Not failed' ) )\n\t}\n\t\n\texport function $mol_assert_equal< Value >( ... args : [ Value, Value, ...Value[] ] ) {\n\t\tfor( let i = 0 ; i < args.length ; ++i ) {\n\t\t\tfor( let j = 0 ; j < args.length ; ++j ) {\n\t\t\t\tif( i === j ) continue\n\t\t\t\tif( Number.isNaN( args[i] as any as number ) && Number.isNaN( args[j] as any as number ) ) continue\n\t\t\t\tif( args[i] !== args[j] ) $mol_fail( new Error( `Not equal (${i+1}:${j+1})\\n${ args[i] }\\n${ args[j] }` ) )\n\t\t\t}\n\t\t}\n\t}\n\t\n\texport function $mol_assert_unique( ... args : [ any, any, ...any[] ] ) {\n\t\tfor( let i = 0 ; i < args.length ; ++i ) {\n\t\t\tfor( let j = 0 ; j < args.length ; ++j ) {\n\t\t\t\tif( i === j ) continue\n\t\t\t\tif( args[i] === args[j] || ( Number.isNaN( args[i] as any as number ) && Number.isNaN( args[j] as any as number ) ) ) {\n\t\t\t\t\t$mol_fail( new Error( `args[${ i }] = args[${ j }] = ${ args[i] }` ) )\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\t\n\texport function $mol_assert_like< Value >( head : Value, ... tail : Value[]) {\n\t\tfor( let [ index, value ] of Object.entries( tail ) ) {\n\n\t\t\tif( !$mol_compare_deep( value , head ) ) {\n\n\t\t\t\tconst print = ( val : any ) => {\n\t\t\t\t\t\n\t\t\t\t\tif( !val ) return val\n\t\t\t\t\tif( typeof val !== 'object' ) return val\n\t\t\t\t\tif( 'outerHTML' in val ) return val.outerHTML\n\t\t\t\t\t\n\t\t\t\t\ttry {\n\t\t\t\t\t\treturn JSON.stringify( val )\n\t\t\t\t\t} catch( error: any ) {\n\t\t\t\t\t\tconsole.error( error )\n\t\t\t\t\t\treturn val\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn $mol_fail( new Error( `Not like (1:${ + index + 2 })\\n${ print( head ) }\\n---\\n${ print( value ) }` ) )\n\n\t\t\t}\n\n\t\t}\n\t}\n\t\n\texport function $mol_assert_dom( left: Element, right: Element ) {\n\t\t$mol_assert_equal( $mol_dom_serialize( left ), $mol_dom_serialize( right ) )\n\t}\n\n}\n","namespace $ {\n\t$mol_test({\n\t\t\n\t\t'get'() {\n\t\t\tconst proxy = $mol_delegate( {} as any , ()=> ({ foo : 777 }) )\n\t\t\t$mol_assert_equal( proxy.foo , 777 )\n\t\t},\n\n\t\t'has'() {\n\t\t\tconst proxy = $mol_delegate( {} as any , ()=> ({ foo : 777 }) )\n\t\t\t$mol_assert_equal( 'foo' in proxy , true )\n\t\t},\n\n\t\t'set'() {\n\t\t\tconst target = { foo : 777 }\n\t\t\tconst proxy = $mol_delegate( {} as any , ()=> target )\n\t\t\tproxy.foo = 123\n\t\t\t$mol_assert_equal( target.foo , 123 )\n\t\t},\n\t\t\n\t\t'getOwnPropertyDescriptor'() {\n\n\t\t\tconst proxy = $mol_delegate( {} as any , ()=> ({ foo : 777 }) )\n\t\t\t\n\t\t\t$mol_assert_like(\n\t\t\t\tObject.getOwnPropertyDescriptor( proxy , 'foo' ),\n\t\t\t\t{\n\t\t\t\t\tvalue: 777,\n\t\t\t\t\twritable: true,\n\t\t\t\t\tenumerable: true,\n\t\t\t\t\tconfigurable: true,\n\t\t\t\t},\n\t\t\t)\n\t\t\t\n\t\t},\n\n\t\t'ownKeys'() {\n\n\t\t\tconst proxy = $mol_delegate(\n\t\t\t\t{} as any ,\n\t\t\t\t()=> ({ foo : 777 , [ Symbol.toStringTag ] : 'bar' }),\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_like(\n\t\t\t\tReflect.ownKeys( proxy ),\n\t\t\t\t[ 'foo' , Symbol.toStringTag ],\n\t\t\t)\n\n\t\t},\n\n\t\t'getPrototypeOf'() {\n\n\t\t\tclass Foo {}\n\n\t\t\tconst proxy = $mol_delegate(\n\t\t\t\t{} as any ,\n\t\t\t\t()=> new Foo,\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\tObject.getPrototypeOf( proxy ),\n\t\t\t\tFoo.prototype,\n\t\t\t)\n\n\t\t},\n\n\t\t'setPrototypeOf'() {\n\n\t\t\tclass Foo {}\n\t\t\tconst target = {}\n\n\t\t\tconst proxy = $mol_delegate(\n\t\t\t\t{} ,\n\t\t\t\t()=> target,\n\t\t\t)\n\n\t\t\tObject.setPrototypeOf( proxy , Foo.prototype )\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\tObject.getPrototypeOf( target ),\n\t\t\t\tFoo.prototype,\n\t\t\t)\n\n\t\t},\n\n\t\t'instanceof'() {\n\n\t\t\tclass Foo {}\n\n\t\t\tconst proxy = $mol_delegate(\n\t\t\t\t{} ,\n\t\t\t\t()=> new Foo,\n\t\t\t)\n\n\t\t\t$mol_assert_ok( proxy instanceof Foo )\n\t\t\t$mol_assert_ok( proxy instanceof $mol_delegate )\n\n\t\t},\n\n\t\t'autobind'() {\n\n\t\t\tclass Foo {}\n\n\t\t\tconst proxy = $mol_delegate(\n\t\t\t\t{} ,\n\t\t\t\t()=> new Foo,\n\t\t\t)\n\n\t\t\t$mol_assert_ok( proxy instanceof Foo )\n\t\t\t$mol_assert_ok( proxy instanceof $mol_delegate )\n\n\t\t},\n\n\t})\n}\n",null,"namespace $ {\n\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_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\n\t\tasync 'Latest Calls Wins on Concurrency'( $ ) {\n\t\t\t\n\t\t\tclass NameLogger extends $mol_object2 {\n\t\t\t\t\n\t\t\t\tstatic $ = $\n\t\t\t\t\n\t\t\t\tstatic first = [] as string[]\n\t\t\t\tstatic last = [] as string[]\n\t\t\t\t\n\t\t\t\tstatic send( next: string ) {\n\t\t\t\t\t$mol_wire_sync( this.first ).push( next )\n\t\t\t\t\tthis.$.$mol_wait_timeout(0)\n\t\t\t\t\tthis.last.push( next )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tconst name = $mol_wire_async( NameLogger ).send\n\t\t\t\n\t\t\tname( 'john' )\n\t\t\tconst promise = name( 'jin' )\n\t\t\t\n\t\t\t$.$mol_after_mock_warp()\n\t\t\tawait promise\n\t\t\t\n\t\t\t$mol_assert_like( NameLogger.first, [ 'john', 'jin' ] )\n\t\t\t$mol_assert_like( NameLogger.last, [ 'jin' ] )\n\n\t\t},\n\n\t})\n\t\n}\n","namespace $ {\n\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","/** @jsx $mol_jsx */\nnamespace $ {\n\t$mol_test({\n\t\t\n\t\t'Primitives'() {\n\t\t\t\n\t\t\t$mol_assert_equal( $mol_key( null ), 'null' )\n\t\t\t$mol_assert_equal( $mol_key( false ), 'false' )\n\t\t\t$mol_assert_equal( $mol_key( true ), 'true' )\n\t\t\t$mol_assert_equal( $mol_key( 0 ), '0' )\n\t\t\t$mol_assert_equal( $mol_key( '' ), '\"\"' )\n\t\t\t\n\t\t},\n\t\t\n\t\t'Array & POJO'() {\n\t\t\t\n\t\t\t$mol_assert_equal( $mol_key([ null ]), '[null]' )\n\t\t\t$mol_assert_equal( $mol_key({ foo: 0 }), '{\"foo\":0}' )\n\t\t\t$mol_assert_equal( $mol_key({ foo: [false] }), '{\"foo\":[false]}' )\n\t\t\t\n\t\t},\n\t\t\n\t\t'Function'() {\n\t\t\t\n\t\t\tconst func = ()=> {}\n\t\t\t$mol_assert_equal( $mol_key( func ), $mol_key( func ) )\n\t\t\t$mol_assert_unique( $mol_key( func ), $mol_key( ()=> {} ) )\n\t\t\t\n\t\t},\n\t\t\n\t\t'Objects'() {\n\t\t\t\n\t\t\tclass User {}\n\t\t\tconst jin = new User()\n\t\t\t\n\t\t\t$mol_assert_equal( $mol_key( jin ), $mol_key( jin ) )\n\t\t\t$mol_assert_unique( $mol_key( jin ), $mol_key( new User() ) )\n\t\t\t\n\t\t},\n\t\t\n\t\t'Elements'() {\n\t\t\t\n\t\t\tconst foo = <div>bar</div>\n\t\t\t\n\t\t\t$mol_assert_equal( $mol_key( foo ), $mol_key( foo ) )\n\t\t\t$mol_assert_unique( $mol_key( foo ), $mol_key( <div>bar</div> ) )\n\t\t\t\n\t\t},\n\t\t\n\t\t'Custom JSON representation'() {\n\t\t\t\n\t\t\tclass User {\n\t\t\t\tconstructor( public name: string, public age: number ) {}\n\t\t\t\ttoJSON() { return { name: this.name } }\n\t\t\t}\n\t\t\t\n\t\t\t$mol_assert_equal( $mol_key( new User( 'jin', 18 ) ), '{\"name\":\"jin\"}' )\n\t\t\t\n\t\t},\n\t\t\n\t\t'Special native classes'() {\n\t\t\t\n\t\t\t$mol_assert_equal( $mol_key( new Date( 'xyz' ) ), 'null' )\n\t\t\t$mol_assert_equal( $mol_key( new Date( '2001-01-02T03:04:05.678Z' ) ), '\"2001-01-02T03:04:05.678Z\"' )\n\t\t\t\n\t\t\t$mol_assert_equal( $mol_key( /./ ), '\"/./\"' )\n\t\t\t$mol_assert_equal( $mol_key( /\\./gimsu ), '\"/\\\\\\\\./gimsu\"' )\n\t\t\t\n\t\t},\n\t\t\n\t})\n}\n","namespace $ {\n\n\t$mol_test_mocks.push( $ => {\n\t\t$.$mol_after_frame = $mol_after_mock_commmon as any as typeof $mol_after_frame\n\t})\n\n}\n","namespace $ {\n\n\t$mol_test({\n\t\t\n\t\t'Sync execution'() {\n\n\t\t\tclass Sync extends $mol_object2 {\n\t\t\t\t\n\t\t\t\t@ $mol_wire_method\n\t\t\t\tstatic calc( a: number, b: number ) {\n\t\t\t\t\treturn a + b\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\t$mol_assert_equal( Sync.calc( 1, 2 ), 3 )\n\t\t\t\n\t\t},\n\n\t\tasync 'async <=> sync'() {\n\t\t\t\n\t\t\tclass SyncAsync extends $mol_object2 {\n\t\t\t\t\n\t\t\t\tstatic async val( a: number ) {\n\t\t\t\t\treturn a\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tstatic sum( a: number, b: number ) {\n\t\t\t\t\tconst syn = $mol_wire_sync( this )\n\t\t\t\t\treturn syn.val( a ) + syn.val( b )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tstatic async calc( a: number, b: number ) {\n\t\t\t\t\treturn 5 + await $mol_wire_async( this ).sum( a, b )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\t$mol_assert_equal( await SyncAsync.calc( 1, 2 ), 8 )\n\n\t\t},\n\n\t\tasync 'Idempotence control'() {\n\n\t\t\tclass Idempotence extends $mol_object2 {\n\t\t\t\t\n\t\t\t\tstatic logs_idemp = 0\n\t\t\t\tstatic logs_unidemp = 0\n\t\t\t\t\n\t\t\t\t@ $mol_wire_method\n\t\t\t\tstatic log_idemp() {\n\t\t\t\t\tthis.logs_idemp += 1\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tstatic log_unidemp() {\n\t\t\t\t\tthis.logs_unidemp += 1\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tstatic async val( a: number ) {\n\t\t\t\t\treturn a\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tstatic sum( a: number, b: number ) {\n\t\t\t\t\tthis.log_idemp()\n\t\t\t\t\tthis.log_unidemp()\n\t\t\t\t\tconst syn = $mol_wire_sync( this )\n\t\t\t\t\treturn syn.val( a ) + syn.val( b )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tstatic async calc( a: number, b: number ) {\n\t\t\t\t\treturn 5 + await $mol_wire_async( this ).sum( a, b )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\t$mol_assert_equal( await Idempotence.calc( 1, 2 ), 8 )\n\t\t\t$mol_assert_equal( Idempotence.logs_idemp, 1 )\n\t\t\t$mol_assert_equal( Idempotence.logs_unidemp, 3 )\n\n\t\t},\n\n\t\tasync 'Error handling'() {\n\t\t\t\n\t\t\tclass Handle extends $mol_object2 {\n\t\t\t\t\n\t\t\t\tstatic async sum( a: number, b: number ){\n\t\t\t\t\t$mol_fail( new Error( 'test error ' + ( a + b ) ) )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tstatic check() {\n\t\t\t\t\ttry {\n\t\t\t\t\t\treturn $mol_wire_sync( Handle ).sum( 1, 2 )\n\t\t\t\t\t} catch( error: any ) {\n\t\t\t\t\t\tif( error instanceof Promise ) $mol_fail_hidden( error )\n\t\t\t\t\t\t$mol_assert_equal( error.message, 'test error 3' )\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\t\n\t\t\tawait $mol_wire_async( Handle ).check()\n\t\t\t\n\t\t},\n\t\t\n\t})\n\t\n}\n","namespace $ {\n\t$mol_test({\n\t\t\n\t\t// https://github.com/nin-jin/slides/tree/master/reactivity#component-states\n\t\t'Cached channel' ($) {\n\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic value( next = 1 ) {\n\t\t\t\t\treturn next + 1\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\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.value() , 2 )\n\t\t\n\t\t\t\t\tApp.value( 2 )\n\t\t\t\t\t$mol_assert_equal( App.value() , 3 )\n\t\t\t\t\t\n\t\t\t\t}\n\n\t\t\t}\n\t\t\t\n\t\t\tApp.test()\n\t\t},\n\n\t\t'Mem overrides mem' ($) {\n\n\t\t\tclass Base extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic value( next = 1 ) {\n\t\t\t\t\treturn next + 1\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tclass Middle extends Base {\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic value( next?: number ) {\n\t\t\t\t\treturn super.value( next ) + 1\n\t\t\t\t}\n\t\t\t\n\t\t\t}\n\t\t\t\t\n\t\t\tclass App extends Middle {\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic value( next?: number ) {\n\t\t\t\t\treturn super.value( next ) * 3\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\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( this.value() , 9 )\n\t\t\n\t\t\t\t\t$mol_assert_equal( this.value( 5 ) , 21 )\n\t\t\t\t\t$mol_assert_equal( this.value() , 21 )\n\t\t\t\t\t\n\t\t\t\t}\n\n\t\t\t}\n\t\t\t\n\t\t\tApp.test()\n\t\t},\n\n\t\t// https://github.com/nin-jin/slides/tree/master/reactivity#wish--constant-consistency-of-states\n\t\t'Auto recalculation of cached values'( $ ) {\n\t\t\t\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic xxx( next? : number ) {\n\t\t\t\t\treturn next || 1\n\t\t\t\t}\n\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic yyy() {\n\t\t\t\t\treturn this.xxx() + 1\n\t\t\t\t}\n\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic zzz() {\n\t\t\t\t\treturn this.yyy() + 1\n\t\t\t\t}\n\n\t\t\t\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.yyy() , 2 )\n\t\t\t\t\t$mol_assert_equal( App.zzz() , 3 )\n\t\t\n\t\t\t\t\tApp.xxx( 5 )\n\t\t\t\t\t$mol_assert_equal( App.zzz() , 7 )\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\tApp.test()\n\t\t},\n\n\t\t// https://github.com/nin-jin/slides/tree/master/reactivity#wish--only-necessary-calculations\n\t\t'Skip recalculation when actually no dependency changes'( $ ) {\n\t\t\t\n\t\t\tconst log = [] as string[]\n\t\t\t\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic xxx( next? : number ) {\n\t\t\t\t\tlog.push( 'xxx' )\n\t\t\t\t\treturn next || 1\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic yyy() {\n\t\t\t\t\tlog.push( 'yyy' )\n\t\t\t\t\treturn [ Math.sign( this.xxx() ) ]\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic zzz() {\n\t\t\t\t\tlog.push( 'zzz' )\n\t\t\t\t\treturn this.yyy()[0] + 1\n\t\t\t\t}\n\n\t\t\t\t@ $mol_wire_method\n\t\t\t\tstatic test() {\n\t\t\t\t\t\n\t\t\t\t\tApp.zzz()\n\t\t\t\t\t$mol_assert_like( log , [ 'zzz', 'yyy', 'xxx' ] )\n\t\t\t\t\t\n\t\t\t\t\tApp.xxx( 5 )\n\t\t\t\t\tApp.zzz()\n\t\t\t\t\t$mol_assert_like( log , [ 'zzz', 'yyy', 'xxx', 'xxx', 'yyy' ] )\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\tApp.test()\n\t\t},\n\n\t\t// https://github.com/nin-jin/slides/tree/master/reactivity#flow-auto\n\t\t'Flow: Auto'( $ ) {\n\n\t\t\tclass App extends $mol_object2 {\n\t\t\t\t\n\t\t\t\tstatic get $() { return $ }\n\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic first( next = 1 ) { return next }\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic second( next = 2 ) { return next }\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic condition( next = true ) { return next }\n\t\t\t\t\n\t\t\t\tstatic counter = 0\n\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic result() {\n\t\t\t\t\tconst res = this.condition() ? this.first() : this.second() \n\t\t\t\t\treturn res + this.counter ++\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\n\t\t\t$mol_assert_equal( App.result() , 1 )\n\t\t\t$mol_assert_equal( App.counter , 1 )\n\t\t\t\n\t\t\tApp.condition( false )\n\t\t\t$mol_assert_equal( App.result() , 3 )\n\t\t\t$mol_assert_equal( App.counter , 2 )\n\n\t\t\tApp.first( 10 )\n\t\t\t$mol_assert_equal( App.result() , 3 )\n\t\t\t$mol_assert_equal( App.counter , 2 )\n\n\t\t} ,\n\n\t\t// https://github.com/nin-jin/slides/tree/master/reactivity#dupes-equality\n\t\t'Dupes: Equality'( $ ) {\n\t\t\t\n\t\t\tlet counter = 0\n\t\t\t\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic foo( next? : { numbs: number[] } ) {\n\t\t\t\t\treturn next ?? { numbs: [ 1 ] }\n\t\t\t\t}\n\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic bar() {\n\t\t\t\t\treturn { ... this.foo(), count: ++ counter }\n\t\t\t\t}\n\n\t\t\t\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( App.bar() , { numbs: [ 1 ], count: 1 } )\n\t\t\n\t\t\t\t\tApp.foo({ numbs: [ 1 ] })\n\t\t\t\t\t$mol_assert_like( App.bar() , { numbs: [ 1 ], count: 1 } )\n\t\t\t\t\t\n\t\t\t\t\tApp.foo({ numbs: [ 2 ] })\n\t\t\t\t\t$mol_assert_like( App.bar() , { numbs: [ 2 ], count: 2 } )\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\tApp.test()\n\t\t},\n\n\t\t// https://github.com/nin-jin/slides/tree/master/reactivity#cycle-fail\n\t\t'Cycle: Fail'( $ ) {\n\t\t\n\t\t\tclass App extends $mol_object2 {\n\t\t\n\t\t\t\tstatic $ = $\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic foo() : number {\n\t\t\t\t\treturn this.bar() + 1\n\t\t\t\t}\n\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic bar() : number {\n\t\t\t\t\treturn this.foo() + 1\n\t\t\t\t}\n\t\t\n\t\t\t\t@ $mol_wire_method\n\t\t\t\tstatic test() {\n\t\t\t\t\t$mol_assert_fail( ()=> App.foo(), 'Circular subscription' )\n\t\t\t\t}\t\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tApp.test()\n\t\t} ,\n\n\t\t// https://github.com/nin-jin/slides/tree/master/reactivity#wish--stable-behavior\n\t\t'Different order of pull and push'( $ ) {\n\t\t\n\t\t\tclass App extends $mol_object2 {\n\t\t\n\t\t\t\tstatic $ = $\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic store( next = 0 ) {\n\t\t\t\t\treturn next\n\t\t\t\t}\n\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic fast( next?: number ) {\n\t\t\t\t\treturn this.store( next )\n\t\t\t\t}\n\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic slow( next?: number ) {\n\t\t\t\t\treturn this.store( next )\n\t\t\t\t}\n\t\t\n\t\t\t\t@ $mol_wire_method\n\t\t\t\tstatic test() {\n\t\t\t\t\t\n\t\t\t\t\tApp.fast()\n\t\t\t\t\t$mol_assert_equal( App.slow( 666 ) , 666 )\n\t\t\t\t\t$mol_assert_equal( App.fast(), App.slow(), 666 )\n\t\t\t\t\t\n\t\t\t\t\tApp.store( 777 )\n\t\t\t\t\t$mol_assert_equal( App.fast(), App.slow(), 777 )\n\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\t\t\n\t\t// https://github.com/nin-jin/slides/tree/master/reactivity#wish--stable-behavior\n\t\t'Actions inside invariant'( $ ) {\n\t\t\n\t\t\tclass App extends $mol_object2 {\n\t\t\n\t\t\t\tstatic $ = $\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic count( next = 0 ) {\n\t\t\t\t\treturn next\n\t\t\t\t}\n\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic count2() {\n\t\t\t\t\treturn this.count()\n\t\t\t\t}\n\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic res() {\n\t\t\t\t\tconst count = this.count2()\n\t\t\t\t\tif( !count ) this.count( count + 1 )\n\t\t\t\t\treturn count + 1\n\t\t\t\t}\n\t\t\n\t\t\t\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( App.res() , 1 )\n\t\t\t\t\t\n\t\t\t\t\tApp.count( 5 )\n\t\t\t\t\t$mol_assert_like( App.res() , 6 )\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\tApp.test()\n\t\t} ,\n\n\t\t// // https://github.com/nin-jin/slides/tree/master/reactivity#wish--stable-behavior\n\t\t// 'Stable order of multiple root'( $ ) {\n\t\t\n\t\t// \tclass App extends $mol_object2 {\n\t\t\n\t\t// \t\tstatic $ = $\n\t\t\t\t\n\t\t// \t\tstatic counter = 0\n\t\t\t\t\n\t\t// \t\t@ $mol_wire_mem(0)\n\t\t// \t\tstatic left_trigger( next = 0 ) {\n\t\t// \t\t\treturn next\n\t\t// \t\t}\n\t\t\n\t\t// \t\t@ $mol_wire_mem(0)\n\t\t// \t\tstatic left_root() {\n\t\t// \t\t\tthis.left_trigger()\n\t\t// \t\t\treturn ++ this.counter\n\t\t// \t\t}\n\t\t\t\t\n\t\t// \t\t@ $mol_wire_mem(0)\n\t\t// \t\tstatic right_trigger( next = 0 ) {\n\t\t// \t\t\treturn next\n\t\t// \t\t}\n\t\t\t\t\n\t\t// \t\t@ $mol_wire_mem(0)\n\t\t// \t\tstatic right_root() {\n\t\t// \t\t\tthis.right_trigger()\n\t\t// \t\t\treturn ++ this.counter\n\t\t// \t\t}\n\t\t\n\t\t// \t}\n\t\t\t\n\t\t// \t$mol_assert_equal( App.left_root(), 1 )\n\t\t// \t$mol_assert_equal( App.right_root(), 2 )\n\t\t\t\n\t\t// \tApp.right_trigger( 1 )\n\t\t// \tApp.left_trigger( 1 )\n\t\t\t\n\t\t// \t$mol_wire_fiber.sync()\n\t\t\t\n\t\t// \t$mol_assert_equal( App.right_root(), 4 )\n\t\t// \t$mol_assert_equal( App.left_root(), 3 )\n\n\t\t// } ,\n\n\t\t// https://github.com/nin-jin/slides/tree/master/reactivity#error-store\n\t\t'Restore after error'( $ ) {\n\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\tstatic get $() { return $ }\n\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic condition( next = false ) { return next }\n\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic broken() {\n\t\t\t\t\t\n\t\t\t\t\tif( this.condition() ) {\n\t\t\t\t\t\t$mol_fail( new Error( 'test error' ) )\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\treturn 1\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic result() {\n\t\t\t\t\treturn this.broken()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\n\t\t\t$mol_assert_equal( App.result() , 1 )\n\t\t\t\n\t\t\tApp.condition( true )\n\t\t\t$mol_assert_fail( ()=> App.result() )\n\t\t\t\n\t\t\tApp.condition( false )\n\t\t\t$mol_assert_equal( App.result() , 1 )\n\n\t\t} ,\n\t\n\t\tasync 'Wait for data'($) {\n\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\t\t\t\t\n\t\t\t\tstatic async source() {\n\t\t\t\t\treturn 'Jin'\n\t\t\t\t}\n\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic middle() {\n\t\t\t\t\treturn $mol_wire_sync( this ).source()\n\t\t\t\t}\n\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic target() {\n\t\t\t\t\treturn this.middle()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t@ $mol_wire_method\n\t\t\t\tstatic test() {\n\t\t\t\t\t$mol_assert_equal( App.target() , 'Jin' )\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tawait $mol_wire_async( App ).test()\n\t\t},\n\n\t\t'Auto destroy on long alone'( $ ) {\n\n\t\t\tlet destroyed = false\n\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic showing( next = true ) {\n\t\t\t\t\treturn next\n\t\t\t\t}\n\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic details() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tdestructor() {\n\t\t\t\t\t\t\tdestroyed = true\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic render() {\n\t\t\t\t\treturn this.showing() ? this.details() : null\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tconst details = App.render()\n\t\t\t$mol_assert_ok( details )\n\n\t\t\tApp.showing( false )\n\t\t\t$mol_assert_not( App.render() )\n\t\t\t\n\t\t\tApp.showing( true )\n\t\t\t$mol_assert_equal( App.render() , details )\n\t\t\t\n\t\t\t$mol_wire_fiber.sync()\n\t\t\t$mol_assert_not( destroyed )\n\t\t\t\n\t\t\tApp.showing( false )\n\t\t\t$mol_wire_fiber.sync()\n\t\t\t$mol_assert_ok( destroyed )\n\n\t\t\tApp.showing( true )\n\t\t\t$mol_assert_unique( App.render() , details )\n\t\t\t\n\t\t},\n\n\t\t// https://github.com/nin-jin/slides/tree/master/reactivity#wish--stable-behavior\n\t\tasync 'Hold pubs while wait async task'($) {\n\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\t\t\t\t\n\t\t\t\tstatic counter = 0\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic resets( next?: null ): number {\n\t\t\t\t\treturn ( $mol_wire_probe( ()=> this.resets() ) ?? -1 ) + 1\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tstatic async wait() { }\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic value() {\n\t\t\t\t\treturn ++ this.counter\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic result() {\n\t\t\t\t\tif( this.resets() ) $mol_wire_sync( this ).wait()\n\t\t\t\t\treturn this.value()\n\t\t\t\t}\n\n\t\t\t\t@ $mol_wire_method\n\t\t\t\tstatic test() {\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\t$mol_assert_equal( App.result() , 1 )\n\t\t\t\n\t\t\tApp.resets( null )\n\t\t\t$mol_wire_fiber.sync()\n\t\t\t$mol_assert_equal( await $mol_wire_async( App ).result() , 1 )\n\t\t\t\n\t\t},\n\n\t\t'Forget sub fibers on complete'( $ ) {\n\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\tstatic get $() { return $ }\n\t\t\t\tstatic counter = 0\n\n\t\t\t\t@ $mol_wire_method\n\t\t\t\tstatic count() { return this.counter ++ }\n\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic data( next = 1 ) { return next }\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic result() {\n\t\t\t\t\treturn this.count() + this.data()\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\n\t\t\tApp.data( 2 )\n\t\t\t$mol_assert_equal( App.result() , 3 )\n\n\t\t} ,\n\n\t\t'Memoize by single simple key' ($) {\n\n\t\t\tclass Team extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\n\t\t\t\t@ $mol_wire_mem(1)\n\t\t\t\tstatic user_name( user: string , next?: string ) {\n\t\t\t\t\treturn next ?? user\n\t\t\t\t}\n\n\t\t\t\t@ $mol_wire_mem(1)\n\t\t\t\tstatic user_names() {\n\t\t\t\t\treturn [\n\t\t\t\t\t\tthis.user_name( 'jin' ),\n\t\t\t\t\t\tthis.user_name( 'john' ),\n\t\t\t\t\t]\n\t\t\t\t}\n\n\t\t\t\t@ $mol_wire_method\n\t\t\t\tstatic test() {\n\t\t\t\t\n\t\t\t\t\t$mol_assert_like( this.user_names(), [ 'jin', 'john' ] )\n\t\t\t\t\t\n\t\t\t\t\tTeam.user_name( 'jin', 'JIN' )\n\t\t\t\t\t$mol_assert_like( this.user_names(), [ 'JIN', 'john' ] )\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\n\t\t\tTeam.test()\n\t\t} ,\n\n\t\t'Memoize by single complex key' ($) {\n\n\t\t\tclass Map extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\n\t\t\t\t@ $mol_wire_mem(1)\n\t\t\t\tstatic tile( pos: [ number, number ] ) {\n\t\t\t\t\treturn new String( `/tile=${pos}` )\n\t\t\t\t}\n\n\t\t\t\t@ $mol_wire_method\n\t\t\t\tstatic test() {\n\t\t\t\t\t\n\t\t\t\t\t$mol_assert_like( this.tile([0,1]), new String( '/tile=0,1' ) )\n\t\t\t\t\t$mol_assert_equal( this.tile([0,1]), this.tile([0,1]) )\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\n\t\t\tMap.test()\n\t\t} ,\n\n\t\t'Memoize by multiple keys' ($) {\n\n\t\t\tclass Map extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\n\t\t\t\t@ $mol_wire_mem(2)\n\t\t\t\tstatic tile( x: number, y: number ) {\n\t\t\t\t\treturn new String( `/tile=${x},${y}` )\n\t\t\t\t}\n\n\t\t\t\t@ $mol_wire_method\n\t\t\t\tstatic test() {\n\t\t\t\t\t\n\t\t\t\t\t$mol_assert_like( this.tile(0,1), new String( '/tile=0,1' ) )\n\t\t\t\t\t$mol_assert_equal( this.tile(0,1), this.tile(0,1) )\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\n\t\t\tMap.test()\n\t\t} ,\n\n\t\t'Owned value has js-path name' () {\n\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic title() {\n\t\t\t\t\treturn new $mol_object2\n\t\t\t\t}\n\n\t\t\t\t@ $mol_wire_mem(1)\n\t\t\t\tstatic like( friend: number ) {\n\t\t\t\t\treturn new $mol_object2\n\t\t\t\t}\n\n\t\t\t\t@ $mol_wire_mem(2)\n\t\t\t\tstatic relation( friend: number, props: [ number ] ) {\n\t\t\t\t\treturn new $mol_object2\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\t$mol_assert_equal( `${ App.title() }` , 'App.title()' )\n\t\t\t$mol_assert_equal( `${ App.like(123) }` , 'App.like(123)' )\n\t\t\t$mol_assert_equal( `${ App.relation(123,[456]) }` , 'App.relation(123,[456])' )\n\n\t\t} ,\n\n\t\t'Deep deps' ($) {\n\n\t\t\tclass Fib extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\t\t\t\t\n\t\t\t\tstatic sums = 0\n\n\t\t\t\t@ $mol_wire_mem(1)\n\t\t\t\tstatic value( index: number , next?: number ): number {\n\t\t\t\t\tif( next ) return next\n\t\t\t\t\tif( index < 2 ) return 1\n\t\t\t\t\t++ this.sums\n\t\t\t\t\treturn this.value( index - 1 ) + this.value( index - 2 )\n\t\t\t\t}\n\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( this.value( 4 ), 5 )\n\t\t\t\t\t$mol_assert_equal( this.sums, 3 )\n\t\t\t\t\t\n\t\t\t\t\tthis.value( 1, 2 )\n\t\t\t\t\t$mol_assert_equal( this.value( 4 ), 8 )\n\t\t\t\t\t$mol_assert_equal( this.sums, 6 )\n\t\t\t\t\t\t\t\n\t\t\t\t}\n\n\t\t\t}\n\t\t\t\n\t\t\tFib.test()\n\t\t} ,\n\n\t\t'Unsubscribe from temp pubs on complete' ($) {\n\n\t\t\tclass Random extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\n\t\t\t\t@ $mol_wire_method\n\t\t\t\tstatic seed() {\n\t\t\t\t\treturn Math.random()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic resets( next?: null ) {\n\t\t\t\t\treturn Math.random()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic value() {\n\t\t\t\t\tthis.resets()\n\t\t\t\t\treturn this.seed()\n\t\t\t\t}\n\n\t\t\t\t@ $mol_wire_method\n\t\t\t\tstatic test() {\n\t\t\t\t\t\n\t\t\t\t\tconst first = this.value()\n\t\t\t\n\t\t\t\t\tthis.resets( null )\n\t\t\t\t\tconst second = this.value()\n\t\t\n\t\t\t\t\t$mol_assert_unique( first, second )\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t}\n\n\t\t\t}\n\t\t\t\n\t\t\tRandom.test()\n\t\t} ,\n\n\t})\n}\n","namespace $ {\n\texport let $mol_mem = $mol_wire_mem(0)\n\texport let $mol_mem_key = $mol_wire_mem(1)\n\texport let $mol_mem_key2 = $mol_wire_mem(2)\n\texport let $mol_mem_key3 = $mol_wire_mem(3)\n}\n","namespace $ {\n\n\t/** Logger event data */\n\texport type $mol_log3_event< Fields > = {\n\t\t[ key in string ] : unknown\n\t} & {\n\t\t\n\t\t/** Time of event creation */\n\t\ttime? : string\n\n\t\t/** Place of event creation */\n\t\tplace : unknown\n\n\t\t/** Short description of event */\n\t\tmessage : string\n\n\t} & Fields\n\n\t/** Logger function */\n\texport type $mol_log3_logger< Fields , Res = void > = (\n\t\tthis : $ ,\n\t\tevent : $mol_log3_event< Fields > ,\n\t)=> Res\n\n\t/** Log begin of some task */\n\texport declare let $mol_log3_come : $mol_log3_logger<{}>\n\t\n\t/** Log end of some task */\n\texport declare let $mol_log3_done : $mol_log3_logger<{}>\n\t\n\t/** Log error */\n\texport declare let $mol_log3_fail : $mol_log3_logger<{}>\n\t\n\t/** Log warning message */\n\texport declare let $mol_log3_warn : $mol_log3_logger<{ hint : string }>\n\t\n\t/** Log some generic event */\n\texport declare let $mol_log3_rise : $mol_log3_logger<{}>\n\n\t/** Log begin of log group, returns func to close group */\n\texport declare let $mol_log3_area : $mol_log3_logger< {} , ()=> void >\n\n\t/** Log begin of collapsed group only when some logged inside, returns func to close group */\n\texport function $mol_log3_area_lazy(\n\t\tthis : $ ,\n\t\tevent : $mol_log3_event<{}> ,\n\t) {\n\n\t\tconst self = this\n\t\tconst stack = self.$mol_log3_stack\n\n\t\tconst deep = stack.length\n\t\tlet logged = false\n\n\t\tstack.push( ()=> {\n\t\t\tlogged = true\n\t\t\tself.$mol_log3_area.call( self , event )\n\t\t} )\n\n\t\treturn ()=> {\n\t\t\tif( logged ) self.console.groupEnd()\n\t\t\tif( stack.length > deep ) stack.length = deep\n\t\t}\n\n\t}\n\n\texport let $mol_log3_stack = [] as ( ()=> void )[]\n\n}\n",null,null,"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\texport function $mol_log3_web_make(\n\t\tlevel : $mol_type_keys_extract< Console, Function >,\n\t\tcolor : string,\n\t) {\n\n\t\treturn function $mol_log3_logger(\n\t\t\tthis : $ ,\n\t\t\tevent : $mol_log3_event<{}> ,\n\t\t) {\n\n\t\t\tconst pending = this.$mol_log3_stack.pop()\n\t\t\tif( pending ) pending()\n\n\t\t\tlet tpl = '%c'\n\t\t\tconst chunks = Object.values( event )\n\n\t\t\tfor( let i = 0 ; i < chunks.length ; ++i ) {\n\t\t\t\ttpl += ( typeof chunks[i] === 'string' ) ? ' ⦙ %s' : ' ⦙ %o'\n\t\t\t}\n\t\n\t\t\tconst style = `color:${color};font-weight:bolder`\n\n\t\t\t;( this.console[ level ] as any )( tpl , style , ... chunks )\n\n\t\t\tconst self = this\n\t\t\treturn ()=> self.console.groupEnd()\n\n\t\t}\n\n\t}\n\n\t$.$mol_log3_come = $mol_log3_web_make( 'info' , 'royalblue' )\n\t$.$mol_log3_done = $mol_log3_web_make( 'info' , 'forestgreen' )\n\t$.$mol_log3_fail = $mol_log3_web_make( 'error' , 'orangered' )\n\t$.$mol_log3_warn = $mol_log3_web_make( 'warn' , 'goldenrod' )\n\t$.$mol_log3_rise = $mol_log3_web_make( 'log' , 'magenta' )\n\t$.$mol_log3_area = $mol_log3_web_make( 'group' , 'cyan' )\n\n}\n","namespace $ {\n\t\n\texport class $mol_wire_log extends $mol_object2 {\n\t\t\n\t\t@ $mol_mem\n\t\tstatic watch( task?: ()=> any ) {\n\t\t\treturn task\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic track( fiber: $mol_wire_fiber< any, any, any > ) {\n\t\t\t\n\t\t\tconst prev = $mol_wire_probe( ()=> this.track( fiber ) )\n\t\t\tlet next: any\n\t\t\t\n\t\t\ttry {\n\t\t\t\tnext = fiber.sync()\n\t\t\t} finally {\n\t\t\t\t\n\t\t\t\tfor( const pub of fiber.pub_list ) {\n\t\t\t\t\tif( pub instanceof $mol_wire_fiber ) {\n\t\t\t\t\t\tthis.track( pub )\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tif( prev !== undefined && !$mol_compare_deep( prev, next ) ) {\n\t\t\t\tthis.$.$mol_log3_rise({\n\t\t\t\t\tmessage: 'Changed',\n\t\t\t\t\tplace: fiber,\n\t\t\t\t})\n\t\t\t}\n\t\t\n\t\t\treturn next\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tstatic active() {\n\t\t\t\n\t\t\ttry {\n\t\t\t\tthis.watch()?.()\n\t\t\t} finally {\n\t\t\t\tfor( const pub of ( $mol_wire_auto() as $mol_wire_fiber< any, any, any > ).pub_list ) {\n\t\t\t\t\tif( pub instanceof $mol_wire_fiber ) {\n\t\t\t\t\t\tthis.track( pub )\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\t$mol_wire_log.active()\n\n}\n","namespace $ {\n\t$mol_test( { \n\t\t\n\t\t'const returns stored value'() {\n\t\t\n\t\t\tconst foo = { bar : $mol_const( Math.random() ) }\n\t\t\t\n\t\t\t$mol_assert_equal( foo.bar() , foo.bar() )\n\t\t\t$mol_assert_equal( foo.bar() , foo.bar['()'] )\n\t\t\t\n\t\t} ,\n\n\t} )\n}\n","namespace $ {\n\t$mol_test({\n\t\t\n\t\t'Cached field' ($) {\n\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\t\t\t\t\n\t\t\t\t@ $mol_wire_field\n\t\t\t\tstatic low = 1\n\t\t\t\t\n\t\t\t\t@ $mol_wire_field\n\t\t\t\tstatic get high() {\n\t\t\t\t\treturn this.low + 1\n\t\t\t\t}\n\t\t\t\tstatic set high( next: number ) {\n\t\t\t\t\tthis.low = next - 1\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t@ $mol_wire_method\n\t\t\t\tstatic test() {\n\t\t\t\t\t\n\t\t\t\t\t$mol_assert_equal( App.high , 2 )\n\t\t\n\t\t\t\t\tApp.high = 3\n\t\t\t\t\t$mol_assert_equal( App.high , 3 )\n\t\t\t\t\t\n\t\t\t\t}\n\n\t\t\t}\n\t\t\t\n\t\t\tApp.test()\n\t\t},\n\n\t})\n}\n","namespace $ {\n\t$mol_test({\n\t\t\n\t\t'Watch one value' ($) {\n\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\t\t\t\tstatic set = new $mol_wire_set< number >()\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic lucky() {\n\t\t\t\t\treturn this.set.has( 777 )\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\t$mol_assert_equal( App.lucky(), false )\n\n\t\t\tApp.set.add( 666 )\n\t\t\t$mol_assert_equal( App.lucky(), false )\n\n\t\t\tApp.set.add( 777 )\n\t\t\t$mol_assert_equal( App.lucky(), true )\n\n\t\t\tApp.set.delete( 777 )\n\t\t\t$mol_assert_equal( App.lucky(), false )\n\n\t\t},\n\n\t\t'Watch size' ($) {\n\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\t\t\t\tstatic set = new $mol_wire_set< number >()\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic size() {\n\t\t\t\t\treturn this.set.size\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\t$mol_assert_equal( App.size(), 0 )\n\n\t\t\tApp.set.add( 666 )\n\t\t\t$mol_assert_equal( App.size(), 1 )\n\n\t\t\tApp.set.add( 777 )\n\t\t\t$mol_assert_equal( App.size(), 2 )\n\n\t\t\tApp.set.delete( 777 )\n\t\t\t$mol_assert_equal( App.size(), 1 )\n\n\t\t},\n\n\t\t'Watch for-of' ($) {\n\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\t\t\t\tstatic set = new $mol_wire_set< number >()\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic sum() {\n\t\t\t\t\tlet res = 0\n\t\t\t\t\tfor( const val of this.set ) {\n\t\t\t\t\t\tres += val\n\t\t\t\t\t}\n\t\t\t\t\treturn res\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\t$mol_assert_equal( App.sum(), 0 )\n\n\t\t\tApp.set.add( 111 )\n\t\t\t$mol_assert_equal( App.sum(), 111 )\n\n\t\t\tApp.set.add( 222 )\n\t\t\t$mol_assert_equal( App.sum(), 333 )\n\n\t\t\tApp.set.delete( 111 )\n\t\t\t$mol_assert_equal( App.sum(), 222 )\n\n\t\t},\n\n\t\t'Watch forEach' ($) {\n\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\t\t\t\tstatic set = new $mol_wire_set< number >()\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic sum() {\n\t\t\t\t\tlet res = 0\n\t\t\t\t\tthis.set.forEach( val => res += val )\n\t\t\t\t\treturn res\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\t$mol_assert_equal( App.sum(), 0 )\n\n\t\t\tApp.set.add( 111 )\n\t\t\t$mol_assert_equal( App.sum(), 111 )\n\n\t\t\tApp.set.add( 222 )\n\t\t\t$mol_assert_equal( App.sum(), 333 )\n\n\t\t\tApp.set.delete( 111 )\n\t\t\t$mol_assert_equal( App.sum(), 222 )\n\t\t\t\n\t\t},\n\n\t})\n}\n","namespace $ {\n\t$mol_test({\n\t\t\n\t\t'Watch one value' ($) {\n\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\t\t\t\tstatic dict = new $mol_wire_dict< number, number >()\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic lucky() {\n\t\t\t\t\treturn this.dict.get( 777 )\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\t$mol_assert_equal( App.lucky(), undefined )\n\n\t\t\tApp.dict.set( 666, 6666 )\n\t\t\t$mol_assert_equal( App.lucky(), undefined )\n\n\t\t\tApp.dict.set( 777, 7777 )\n\t\t\t$mol_assert_equal( App.lucky(), 7777 )\n\n\t\t\tApp.dict.delete( 777 )\n\t\t\t$mol_assert_equal( App.lucky(), undefined )\n\n\t\t},\n\n\t\t'Watch size' ($) {\n\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\t\t\t\tstatic dict = new $mol_wire_dict< number, number >()\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic size() {\n\t\t\t\t\treturn this.dict.size\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\t$mol_assert_equal( App.size(), 0 )\n\n\t\t\tApp.dict.set( 666, 6666 )\n\t\t\t$mol_assert_equal( App.size(), 1 )\n\n\t\t\tApp.dict.set( 777, 7777 )\n\t\t\t$mol_assert_equal( App.size(), 2 )\n\n\t\t\tApp.dict.delete( 777 )\n\t\t\t$mol_assert_equal( App.size(), 1 )\n\n\t\t},\n\n\t\t'Watch for-of' ($) {\n\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\t\t\t\tstatic dict = new $mol_wire_dict< number, number >()\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic sum() {\n\t\t\t\t\tlet keys = 0\n\t\t\t\t\tlet vals = 0\n\t\t\t\t\tfor( const [ key, val ] of this.dict ) {\n\t\t\t\t\t\tkeys += key\n\t\t\t\t\t\tvals += val\n\t\t\t\t\t}\n\t\t\t\t\treturn [ keys, vals ]\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\t$mol_assert_like( App.sum(), [ 0, 0 ] )\n\n\t\t\tApp.dict.set( 111, 1111 )\n\t\t\t$mol_assert_like( App.sum(), [ 111, 1111 ] )\n\n\t\t\tApp.dict.set( 222, 2222 )\n\t\t\t$mol_assert_like( App.sum(), [ 333, 3333 ] )\n\n\t\t\tApp.dict.delete( 111 )\n\t\t\t$mol_assert_like( App.sum(), [ 222, 2222 ] )\n\n\t\t},\n\n\t\t'Watch forEach' ($) {\n\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\t\t\t\tstatic dict = new $mol_wire_dict< number, number >()\n\t\t\t\t\n\t\t\t\t@ $mol_wire_mem(0)\n\t\t\t\tstatic sum() {\n\t\t\t\t\tlet keys = 0\n\t\t\t\t\tlet vals = 0\n\t\t\t\t\tthis.dict.forEach( ( val, key )=> {\n\t\t\t\t\t\tkeys += key\n\t\t\t\t\t\tvals += val\n\t\t\t\t\t} )\n\t\t\t\t\treturn [ keys, vals ]\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\t$mol_assert_like( App.sum(), [ 0, 0 ] )\n\n\t\t\tApp.dict.set( 111, 1111 )\n\t\t\t$mol_assert_like( App.sum(), [ 111, 1111 ] )\n\n\t\t\tApp.dict.set( 222, 2222 )\n\t\t\t$mol_assert_like( App.sum(), [ 333, 3333 ] )\n\n\t\t\tApp.dict.delete( 111 )\n\t\t\t$mol_assert_like( App.sum(), [ 222, 2222 ] )\n\t\t\t\n\t\t},\n\n\t})\n}\n",null,null]}
|