mol_plot_all 1.2.147 → 1.2.151

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/web.test.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../test/test.test.ts","../../../test/test.web.test.ts","../../../type/error/error.js","../../../type/assert/assert.test.js","../../../type/assert/assert.js","../../../type/partial/deep/deep.test.js","../../../type/partial/deep/deep.js","../../../jsx/jsx.test.tsx","../../../jsx/jsx.ts","../../../compare/deep/deep.test.tsx","../../../assert/assert.test.ts","../../../assert/assert.ts","../../../delegate/delegate.test.ts","../../../type/writable/writable.test.js","../../../after/mock/mock.test.ts","../../../after/tick/tick.test.ts","../../../object/object.test.ts","../../../type/keys/extract/extract.test.js","../../../log3/log3.test.ts","../../../wrapper/wrapper.test.ts","../../../after/frame/frame.test.ts","../../../array/trim/trim.test.ts","../../../fiber/fiber.test.ts","../../../defer/defer.ts","../../../atom2/atom2.test.js","../../../type/param/param.test.js","../../../type/result/result.test.js","../../../mem/mem.test.ts","../../../key/key.test.tsx","../../../mem/key/key.test.ts","../../../atom2/autorun/autorun.test.ts","../../../after/timeout/timeout.test.ts","../../../const/const.test.ts","../../../memo/memo.test.ts","../../../func/name/name.test.ts","../../../view/view/view.test.ts","../../../after/work/work.test.ts","../../../vector/vector.test.ts","../../../type/equals/equals.test.js","../../../type/equals/equals.js","../../../view/tree/test/-view.tree/attributes.test.view.tree.ts","../../../view/tree/test/-view.tree/binding.test.view.tree.ts","../../../view/tree/test/-view.tree/binding_right.test.view.tree.ts","../../../view/tree/test/-view.tree/simple.test.view.tree.ts","../../../view/tree/test/-view.tree/subcomponent.test.view.tree.ts","../../../view/tree/test/tree.test.ts","../../../tree/tree.test.ts","../../../tree/tree.ts","../../../state/local/local.ts","../../../state/local/local.mock.test.ts","../../../state/local/local.test.ts","../../../state/local/local.web.ts","../../../../node/node.js","../../../../node/node.web.ts","../../../charset/decode/decode.test.ts","../../../charset/decode/decode.ts","../../../charset/encode/encode.test.ts","../../../charset/encode/encode.ts","../../../file/file.ts","../../../dom/parse/parse.ts","../../../fetch/fetch.ts","../../../file/file.web.ts","../../../locale/locale.ts","../../../view/tree/tree.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 : $ )=> void >\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\tawait test( context )\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",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'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\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}\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_tick = $mol_after_mock_commmon as any as typeof $mol_after_tick\n\t})\n\n}\n","namespace $ {\n\t$mol_test( {\n\t\t\n\t\t'init with overload'() {\n\t\t\tclass X extends $mol_object {\n\t\t\t\tfoo() {\n\t\t\t\t\treturn 1\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tvar x = X.make({\n\t\t\t\tfoo : ()=> 2 ,\n\t\t\t})\n\t\t\t\n\t\t\t$mol_assert_equal( x.foo() , 2 )\n\t\t} ,\n\t\t\t\n\t} )\n}\n",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\t$mol_test({\n\n\t\t'run callback' () {\n\n\t\t\tclass Plus1 extends $mol_wrapper {\n\t\t\n\t\t\t\tstatic wrap< This , Args extends any[] >( task : ( this : This , ... args : Args )=> number ) {\n\t\t\n\t\t\t\t\treturn function( this : This , ... args : Args ) {\n\t\t\t\t\t\treturn task.call( this , ... args ) + 1 as number\n\t\t\t\t\t}\n\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\n\t\t\t$mol_assert_equal( Plus1.run( ()=> 2 ) , 3 )\n\n\t\t} ,\n\n\t\t'wrap function' () {\n\t\t\n\t\t\tclass Plus1 extends $mol_wrapper {\n\t\t\n\t\t\t\tstatic wrap< This , Args extends any[] >( task : ( this : This , ... args : Args )=> number ) {\n\t\t\n\t\t\t\t\treturn function( this : This , ... args : Args ) {\n\t\t\t\t\t\treturn task.call( this , ... args ) + 1 as number\n\t\t\t\t\t}\n\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\t\n\t\t\tconst obj = {\n\t\t\t\tlevel : 2 ,\n\t\t\t\tpow : Plus1.func( function( this : { level : number } , a ) {\n\t\t\t\t\treturn a ** this.level\n\t\t\t\t} )\n\t\t\t}\n\n\t\t\t$mol_assert_equal( obj.pow( 2 ) , 5 )\n\n\t\t} ,\n\n\t\t'decorate field getter' () {\n\n\t\t\tclass Plus1 extends $mol_wrapper {\n\n\t\t\t\tstatic last = 0\n\t\t\n\t\t\t\tstatic wrap< This , Args extends any[] >( task : ( this : This , ... args : Args )=> number ) {\n\t\t\n\t\t\t\t\treturn function( this : This , ... args : Args ) {\n\t\t\t\t\t\treturn Plus1.last = ( task.call( this , ... args ) || 0 ) + 1 as number\n\t\t\t\t\t}\n\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\n\t\t\tclass Foo {\n\n\t\t\t\t@ Plus1.field\n\t\t\t\tstatic get two() {\n\t\t\t\t\treturn 1\n\t\t\t\t}\n\t\t\t\tstatic set two( next : number ) {}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\t$mol_assert_equal( Foo.two , 2 )\n\t\t\t\n\t\t\tFoo.two = 3\n\t\t\t$mol_assert_equal( Plus1.last , 2 )\n\t\t\t$mol_assert_equal( Foo.two , 2 )\n\n\t\t} ,\n\n\t\t'decorate instance method' () {\n\n\t\t\tclass Plus1 extends $mol_wrapper {\n\t\t\n\t\t\t\tstatic wrap< This , Args extends any[] >( task : ( this : This , ... args : Args )=> number ) {\n\t\t\n\t\t\t\t\treturn function( this : This , ... args : Args ) {\n\t\t\t\t\t\treturn task.call( this , ... args ) + 1 as number\n\t\t\t\t\t}\n\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\n\t\t\tclass Foo1 {\n\n\t\t\t\tlevel = 2\n\n\t\t\t\t@ Plus1.method\n\t\t\t\tpow( a : number ) {\n\t\t\t\t\treturn a ** this.level\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tconst Foo2 = Foo1\n\t\t\tconst foo = new Foo2\n\n\t\t\t$mol_assert_equal( foo.pow( 2 ) , 5 )\n\n\t\t} ,\n\n\t\t'decorate static method' () {\n\t\t\t\n\t\t\tclass Plus1 extends $mol_wrapper {\n\t\t\n\t\t\t\tstatic wrap< This , Args extends any[] >( task : ( this : This , ... args : Args )=> number ) {\n\t\t\n\t\t\t\t\treturn function( this : This , ... args : Args ) {\n\t\t\t\t\t\treturn task.call( this , ... args ) + 1 as number\n\t\t\t\t\t}\n\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\n\t\t\tclass Foo {\n\n\t\t\t\tstatic level = 2\n\n\t\t\t\t@ Plus1.method\n\t\t\t\tstatic pow( a : number ) {\n\t\t\t\t\treturn a ** this.level\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\t$mol_assert_equal( Foo.pow( 2 ) , 5 )\n\n\t\t} ,\n\n\t\t'decorate class' () {\n\t\t\t\n\t\t\tclass BarInc extends $mol_wrapper {\n\n\t\t\t\tstatic wrap< This , Args extends any[] >( task : ( this : This , ... args : Args )=> Foo ) {\n\t\t\t\t\t\n\t\t\t\t\treturn function( this : This , ... args : Args ) {\n\n\t\t\t\t\t\tconst foo = task.call( this , ...args )\n\t\t\t\t\t\tfoo.bar ++\n\t\t\t\t\t\treturn foo\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t}\n\t\t\t\n\t\t\t@ BarInc.class\n\t\t\tclass Foo {\n\t\t\t\tconstructor( public bar : number ) {}\n\t\t\t}\n\n\t\t\t$mol_assert_equal( new Foo( 2 ).bar , 3 )\n\n\t\t} ,\n\n\t})\n}\n","namespace $ {\n\n\t$mol_test_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\n\t\t'trim array'() {\n\n\t\t\tconst array = [ undefined , null , 0, false , null , undefined , undefined ]\n\t\t\tconst correct = [ undefined , null , 0, false , null ]\n\t\t\t\n\t\t\t$mol_array_trim( array )\n\t\t\t\n\t\t\t$mol_assert_like( array , correct )\n\n\t\t}\n\n\t})\n\n}\n","namespace $ {\n\n\t$mol_test_mocks.push( async $ => {\n\t\tawait $mol_fiber_warp()\n\t\t$mol_fiber.deadline = Date.now() + 100\n\t} )\n\t\n\t\n\t$mol_test({\n\n\t\t'sync to async': async $ => {\n\t\t\t\n\t\t\tconst sum = $mol_fiber_async( ( a : number , b : number )=> a + b )\n\t\t\t\n\t\t\tconst res = await sum( 1 , 2 )\n\n\t\t\t$mol_assert_equal( res , 3 )\n\n\t\t},\n\n\t})\n\t\n}\n","namespace $ {\n\t\n\t/** @deprecated Use $mol_after_frame instead */\n\texport class $mol_defer extends $mol_object {\n\t\t\n\t\tconstructor( public run : ()=> void ) {\n\t\t\tsuper()\n\t\t\t$mol_defer.add( this )\n\t\t}\n\t\t\n\t\tdestructor() {\n\t\t\t$mol_defer.drop( this )\n\t\t}\n\t\t\n\t\tstatic all : $mol_defer[] = []\n\t\tstatic timer = null as any\n\t\t\n\t\tstatic scheduleNative : ( handler : ()=> void ) => any = ( typeof requestAnimationFrame == 'function' )\n\t\t\t? handler => requestAnimationFrame( handler )\n\t\t\t: handler => setTimeout( handler , 16 )\n\t\t\n\t\tstatic schedule() {\n\t\t\tif( this.timer ) return\n\t\t\t\n\t\t\tthis.timer = this.scheduleNative( ()=> {\n\t\t\t\tthis.timer = null\n\t\t\t\tthis.run()\n\t\t\t} )\n\t\t}\n\t\t\n\t\tstatic unschedule() {\n\t\t\tif( !this.timer ) return\n\t\t\t\n\t\t\tcancelAnimationFrame( this.timer )\n\t\t\tthis.timer = null\n\t\t}\n\t\t\n\t\tstatic add( defer : $mol_defer ) {\n\t\t\tthis.all.push( defer )\n\t\t\tthis.schedule()\n\t\t}\n\t\t\n\t\tstatic drop( defer : $mol_defer ) {\n\t\t\tvar index = this.all.indexOf( defer )\n\t\t\tif( index >= 0 ) this.all.splice( index , 1 )\n\t\t}\n\t\t\n\t\tstatic run() {\n\t\t\tif( this.all.length === 0 ) return\n\t\t\tthis.schedule()\n\t\t\tfor( var defer : $mol_defer | undefined ; defer = this.all.shift() ; ) defer.run()\n\t\t\t//this.unschedule()\n\t\t}\n\t\t\n\t}\n\n}\n",null,null,null,"namespace $ {\n\t$mol_test( {\n\n\t\t'Property method' ($) {\n\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\n\t\t\t\t@ $mol_mem\n\t\t\t\tstatic value( next = 1 ) { return next + 1 }\n\n\t\t\t}\n\n\t\t\t$mol_assert_equal( App.value() , 2 )\n\n\t\t\tApp.value( 2 )\n\t\t\t$mol_assert_equal( App.value() , 3 )\n\n\t\t} ,\n\n\t\t'auto sync of properties'($) {\n\n\t\t\tclass X extends $mol_object2 {\n\n\t\t\t\t@ $mol_mem\n\t\t\t\tfoo( next? : number ) {\n\t\t\t\t\treturn next || 1\n\t\t\t\t}\n\n\t\t\t\t@ $mol_mem\n\t\t\t\tbar() {\n\t\t\t\t\treturn this.foo() + 1\n\t\t\t\t}\n\n\t\t\t\t@ $mol_mem\n\t\t\t\txxx() {\n\t\t\t\t\treturn this.bar() + 1\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tconst x = new X\n\t\t\tx.$ = $\n\n\t\t\t$mol_assert_equal( x.bar() , 2 )\n\t\t\t$mol_assert_equal( x.xxx() , 3 )\n\n\t\t\tx.foo( 5 )\n\t\t\t$mol_assert_equal( x.xxx() , 7 )\n\t\t} ,\n\n\t\t// 'must fail on recursive dependency'() {\n\t\t\n\t\t// \tclass App extends $mol_object {\n\t\t\n\t\t// \t\t@ $mol_mem\n\t\t// \t\tstatic foo() : number {\n\t\t// \t\t\treturn this.foo() + 1\n\t\t// \t\t}\n\t\t\n\t\t// \t}\n\t\t\n\t\t// \t$mol_assert_fail( ()=> App.foo() )\n\n\t\t// } ,\n\n\t\tasync 'must be deferred destroyed when no longer referenced'($) {\n\n\t\t\tlet foo : any\n\t\t\tlet foo_destroyed = false\n\n\t\t\tclass B extends $mol_object2 {\n\n\t\t\t\t@ $mol_mem\n\t\t\t\tshowing( next? : boolean ) {\n\t\t\t\t\tif( next === void 0 ) return true\n\t\t\t\t\treturn next\n\t\t\t\t}\n\n\t\t\t\t@ $mol_mem\n\t\t\t\tfoo() {\n\t\t\t\t\treturn foo = new class extends $mol_object {\n\t\t\t\t\t\tdestructor() {\n\t\t\t\t\t\t\tfoo_destroyed = 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_mem\n\t\t\t\tbar() {\n\t\t\t\t\treturn this.showing() ? this.foo() : null\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tvar b = new B\n\t\t\tb.$ = $\n\n\t\t\tvar bar = b.bar()\n\t\t\t$mol_assert_ok( bar )\n\n\t\t\tb.showing( false )\n\t\t\tb.bar()\n\n\t\t\tawait $mol_fiber_warp()\n\t\t\t$mol_assert_ok( foo_destroyed )\n\t\t\t$mol_assert_not( b.bar() )\n\n\t\t\tb.showing( true )\n\t\t\t$mol_defer.run()\n\t\t\t$mol_assert_unique( b.bar() , bar )\n\t\t} ,\n\n\t\tasync 'wait for data'($) {\n\n\t\t\tclass Test extends $mol_object2 {\n\n\t\t\t\t@ $mol_mem\n\t\t\t\tsource() : string {\n\t\t\t\t\treturn $mol_fiber_sync( ()=> new Promise< string >( done => done( 'Jin' ) ) )()\n\t\t\t\t}\n\n\t\t\t\t@ $mol_mem\n\t\t\t\tmiddle() {\n\t\t\t\t\treturn this.source()\n\t\t\t\t}\n\n\t\t\t\t@ $mol_mem\n\t\t\t\ttarget() {\n\t\t\t\t\treturn this.middle()\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tconst t = new Test\n\t\t\tt.$ = $\n\n\t\t\t$mol_assert_fail( ()=> t.target().valueOf() , Promise )\n\n\t\t\tawait $mol_fiber_warp()\n\n\t\t\t$mol_assert_equal( t.target() , 'Jin' )\n\t\t} ,\n\n\t} )\n\n}\n","/** @jsx $mol_jsx */\nnamespace $ {\n\t$mol_test({\n\t\t\n\t\t'Primitives'() {\n\t\t\t\n\t\t\t$mol_assert_equal( $mol_key( null ), 'null' )\n\t\t\t$mol_assert_equal( $mol_key( false ), 'false' )\n\t\t\t$mol_assert_equal( $mol_key( true ), 'true' )\n\t\t\t$mol_assert_equal( $mol_key( 0 ), '0' )\n\t\t\t$mol_assert_equal( $mol_key( '' ), '\"\"' )\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","module $ {\n\t\n\t$mol_test({\n\t\t\n\t\t'keyed reactive properties' ($) {\n\t\t\t$mol_fiber_warp()\n\n\t\t\tclass Fib extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\n\t\t\t\t@ $mol_mem_key\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\treturn this.value( index - 1 ) + this.value( index - 2 )\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\t$mol_assert_equal( Fib.value( 10 ) , 89 )\n\n\t\t\tFib.value( 1 , 2 )\n\t\t\t$mol_assert_equal( Fib.value( 10 ) , 144 )\n\n\t\t} ,\n\n\t\t'cached property with simple key'($) {\n\n\t\t\tclass X extends $mol_object2 {\n\n\t\t\t\t@ $mol_mem_key\n\t\t\t\tfoo( id : number , next? : Number | null ) {\n\t\t\t\t\tif( next == null ) return new Number( 123 )\n\t\t\t\t\treturn new Number( next )\n\t\t\t\t}\n\n\t\t\t}\n\t\t\tconst x = new X\n\t\t\tx.$ = $\n\n\t\t\t// get\n\t\t\t$mol_assert_equal( x.foo( 0 ).valueOf() , 123 )\n\t\t\t$mol_assert_equal( x.foo( 0 ) , x.foo( 0 ) )\n\t\t\t$mol_assert_unique( x.foo( 0 ) , x.foo( 1 ) )\n\n\t\t\t// set\n\t\t\tx.foo( 0 , 321 )\n\t\t\t$mol_assert_equal( x.foo( 0 ).valueOf() , 321 )\n\n\t\t\t// reset\n\t\t\tx.foo( 0 , null )\n\t\t\t\n\t\t\t$mol_assert_equal( x.foo( 0 ).valueOf() , 123 )\n\n\t\t} ,\n\n\t\t'cached property with complex key'($) {\n\n\t\t\tclass X extends $mol_object2 {\n\t\t\t\t\n\t\t\t\t@ $mol_mem_key\n\t\t\t\tfoo( ids : number[] ) {\n\t\t\t\t\treturn Math.random()\n\t\t\t\t}\n\n\t\t\t}\n\t\t\tconst x = new X\n\t\t\tx.$ = $\n\n\t\t\t$mol_assert_equal( x.foo( [ 0 , 1 ] ) , x.foo( [ 0 , 1 ] ) )\n\t\t\t$mol_assert_unique( x.foo( [ 0 , 1 ] ) , x.foo( [ 0 , 2 ] ) )\n\t\t} ,\n\n\t})\n\t\n}\n","namespace $ {\n\n\t$mol_test({\n\n\t\tasync 'Autorun' ($) {\n\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\n\t\t\t\t@ $mol_mem\n\t\t\t\tstatic state( next = 1 ) { return next }\n\t\t\t\t\n\t\t\t\tstatic counter = 0\n\n\t\t\t\t@ $mol_mem\n\t\t\t\tstatic init() {\n\t\t\t\t\t++ this.counter\n\t\t\t\t\treturn this.state()\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tconst autorun = $mol_atom2_autorun( ()=> App.init() )\n\t\t\tautorun.$ = $\n\n\t\t\ttry {\n\n\t\t\t\tawait $mol_fiber_warp()\n\t\t\t\t$mol_assert_equal( App.counter , 1 )\n\t\t\t\t\n\t\t\t\tApp.state( 2 )\n\t\t\t\t$mol_assert_equal( App.counter , 1 )\n\n\t\t\t\tawait $mol_fiber_warp()\n\t\t\t\t$mol_assert_equal( App.counter , 2 )\n\t\t\t\t\n\t\t\t\tApp.state( 3 )\n\n\t\t\t} finally {\n\t\t\t\tautorun.destructor()\n\t\t\t}\n\n\t\t\tApp.state( 4 )\n\t\t\tawait $mol_fiber_warp()\n\t\t\t$mol_assert_equal( App.counter , 2 )\n\n\t\t} ,\n\n\t})\n\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\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\n\t$mol_test({\n\n\t\t'memoize field' () {\n\n\t\t\tclass Foo {\n\n\t\t\t\tstatic one = 1\n\n\t\t\t\t@ $mol_memo.field\n\t\t\t\tstatic get two() {\n\t\t\t\t\treturn ++ this.one\n\t\t\t\t}\n\t\t\t\tstatic set two( next : number ) {} \n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\t$mol_assert_equal( Foo.two , 2 )\n\t\t\t$mol_assert_equal( Foo.two , 2 )\n\n\t\t\tFoo.two = 3\n\t\t\t\n\t\t\t$mol_assert_equal( Foo.two , 3 )\n\t\t\t$mol_assert_equal( Foo.two , 3 )\n\n\t\t} ,\n\n\t})\n\n}\n","namespace $ {\n\n\t$mol_test({\n\t\t\n\t\t'FQN of anon function'($) {\n\t\t\tconst $$ = Object.assign( $ , { $mol_func_name_test : ( ()=> ()=> {} )() } )\n\t\t\t$mol_assert_equal( $$.$mol_func_name_test.name , '' )\n\t\t\t$mol_assert_equal( $$.$mol_func_name( $$.$mol_func_name_test ) , '$mol_func_name_test' )\n\t\t\t$mol_assert_equal( $$.$mol_func_name_test.name , '$mol_func_name_test' )\n\t\t},\n\n\t})\n\n}\n","namespace $ {\n\t$mol_test( {\n\t\t\n\t\t'id auto generation'($) {\n\t\t\t\t\n\t\t\tclass $mol_view_test_item extends $mol_view { }\n\t\t\t\n\t\t\tclass $mol_view_test_block extends $mol_view {\n\n\t\t\t\tstatic $ = $\n\t\t\t\t\n\t\t\t\t@ $mol_mem_key\n\t\t\t\telement( id : number ) {\n\t\t\t\t\treturn new $mol_view_test_item()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tvar x = $mol_view_test_block.Root(0)\n\t\t\t\n\t\t\t$mol_assert_equal( x.dom_node().id , '$mol_view_test_block.Root(0)' )\n\t\t\t$mol_assert_equal( x.element( 0 ).dom_node().id , '$mol_view_test_block.Root(0).element(0)' )\n\t\t\t\n\t\t} ,\n\t\t\n\t\t'caching ref to dom node'($) {\n\t\t\t\n\t\t\tvar x = new class extends $mol_view { }\n\t\t\tx.$ = $\n\t\t\t\n\t\t\t$mol_assert_equal( x.dom_node() , x.dom_node() )\n\t\t\t\n\t\t} ,\n\t\t\n\t\t'content render'($) {\n\t\t\t\t\n\t\t\tclass $mol_view_test extends $mol_view {\n\t\t\t\tsub() {\n\t\t\t\t\treturn [ 'lol' , 5 ]\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tvar x = new $mol_view_test()\n\t\t\tx.$ = $\n\t\t\t\n\t\t\tvar node = x.dom_tree()\n\t\t\t\n\t\t\t$mol_assert_equal( node.innerHTML , 'lol5' )\n\t\t\t\n\t\t} ,\n\t\t\n\t\t'bem attributes generation'($) {\n\t\t\t\t\n\t\t\tclass $mol_view_test_item extends $mol_view { }\n\t\t\t\n\t\t\tclass $mol_view_test_block extends $mol_view {\n\t\t\t\t\n\t\t\t\t@ $mol_mem_key\n\t\t\t\tElement( id : number ) {\n\t\t\t\t\treturn new $mol_view_test_item()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tvar x = new $mol_view_test_block()\n\t\t\tx.$ = $\n\t\t\t\n\t\t\t$mol_assert_equal( x.dom_node().getAttribute( 'mol_view_test_block' ) , '' )\n\t\t\t$mol_assert_equal( x.dom_node().getAttribute( 'mol_view' ) , '' )\n\t\t\t\n\t\t\t$mol_assert_equal( x.Element( 0 ).dom_node().getAttribute( 'mol_view_test_block_element' ) , '' )\n\t\t\t\n\t\t\t$mol_assert_equal( x.Element( 0 ).dom_node().getAttribute( 'mol_view_test_item' ) , '' )\n\t\t\t$mol_assert_equal( x.Element( 0 ).dom_node().getAttribute( 'mol_view' ) , '' )\n\t\t\t\n\t\t} ,\n\t\t\n\t\t'render custom attributes'($) {\n\t\t\t\n\t\t\tclass $mol_view_test extends $mol_view {\n\t\t\t\tattr() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t'href' : '#haha' ,\n\t\t\t\t\t\t'required' : true ,\n\t\t\t\t\t\t'hidden' : false ,\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tvar x = new $mol_view_test()\n\t\t\tx.$ = $\n\t\t\t\n\t\t\tvar node = x.dom_tree()\n\t\t\t\n\t\t\t$mol_assert_equal( node.getAttribute( 'href' ) , '#haha' )\n\t\t\t$mol_assert_equal( node.getAttribute( 'required' ) , 'true' )\n\t\t\t$mol_assert_equal( node.getAttribute( 'hidden' ) , null )\n\t\t\t\n\t\t} ,\n\t\t\n\t\t'render custom fields'($) {\n\t\t\t\t\n\t\t\tclass $mol_view_test extends $mol_view {\n\t\t\t\tfield() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t'hidden' : true\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tvar x = new $mol_view_test()\n\t\t\tx.$ = $\n\t\t\t\n\t\t\tvar node = x.dom_tree() as HTMLElement\n\t\t\t\n\t\t\t$mol_assert_equal( node.hidden , true )\n\t\t\t\n\t\t} ,\n\t\t\n\t\t'attach event handlers'($) {\n\t\t\t\t\n\t\t\tvar clicked = false\n\t\t\t\n\t\t\tclass $mol_view_test extends $mol_view {\n\t\t\t\tevent() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t'click' : ( next? : Event ) => this.event_click( next )\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tevent_click( next? : Event ) {\n\t\t\t\t\tclicked = true\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tvar x = new $mol_view_test()\n\t\t\tx.$ = $\n\t\t\t\n\t\t\tvar node = x.dom_node() as HTMLElement\n\t\t\tnode.click()\n\t\t\t\n\t\t\t$mol_assert_ok( clicked )\n\t\t\t\n\t\t} ,\n\t\n\t} )\n}\n","namespace $ {\n\n\t$mol_test_mocks.push( $ => {\n\t\t$.$mol_after_work = $mol_after_mock_timeout as any as typeof $mol_after_work\n\t})\n\n}\n","namespace $ {\n\t$mol_test({\n\n\t\t'Vector limiting'() {\n\n\t\t\tlet point = new $mol_vector_3d( 7 , 10 , 13 )\n\t\t\tconst res = point.limited( [ [ 1 , 5 ] , [ 15 , 20 ] , [ 5 , 10 ] ] as const )\n\n\t\t\t$mol_assert_equal( res.x , 5 )\n\t\t\t$mol_assert_equal( res.y , 15 )\n\t\t\t$mol_assert_equal( res.z , 10 )\n\n\t\t} ,\n\n\t\t'Vector adding scalar'() {\n\n\t\t\tlet point = new $mol_vector_3d( 1 , 2 , 3 )\n\t\t\tlet res = point.added0( 5 )\n\n\t\t\t$mol_assert_equal( res.x , 6 )\n\t\t\t$mol_assert_equal( res.y , 7 )\n\t\t\t$mol_assert_equal( res.z , 8 )\n\n\t\t} ,\n\n\t\t'Vector adding vector'() {\n\n\t\t\tlet point = new $mol_vector_3d( 1 , 2 , 3 )\n\t\t\tlet res = point.added1( [ 5 , 10 , 15 ] as const )\n\n\t\t\t$mol_assert_equal( res.x , 6 )\n\t\t\t$mol_assert_equal( res.y , 12 )\n\t\t\t$mol_assert_equal( res.z , 18 )\n\n\t\t} ,\n\n\t\t'Vector multiplying scalar'() {\n\n\t\t\tlet point = new $mol_vector_3d( 2 , 3 , 4 )\n\t\t\tlet res = point.multed0( -1 )\n\n\t\t\t$mol_assert_equal( res.x , -2 )\n\t\t\t$mol_assert_equal( res.y , -3 )\n\t\t\t$mol_assert_equal( res.z , -4 )\n\n\t\t} ,\n\n\t\t'Vector multiplying vector'() {\n\n\t\t\tlet point = new $mol_vector_3d( 2 , 3 , 4 )\n\t\t\tlet res = point.multed1( [ 5 , 2 , -2 ] as const )\n\n\t\t\t$mol_assert_equal( res.x , 10 )\n\t\t\t$mol_assert_equal( res.y , 6 )\n\t\t\t$mol_assert_equal( res.z , -8 )\n\n\t\t} ,\n\n\t\t'Matrix adding matrix'() {\n\n\t\t\tlet matrix = new $mol_vector_matrix<2,3>( ...[ [ 1 , 2 ] , [ 3 , 4 ] , [ 5 , 6 ] ] as const )\n\t\t\tlet res = matrix.added2( [ [ 10 , 20 ] , [ 30 , 40 ] , [ 50 , 60 ] ] as const )\n\n\t\t\t$mol_assert_equal( res[0][0] , 11 )\n\t\t\t$mol_assert_equal( res[0][1] , 22 )\n\t\t\t$mol_assert_equal( res[1][0] , 33 )\n\t\t\t$mol_assert_equal( res[1][1] , 44 )\n\t\t\t$mol_assert_equal( res[2][0] , 55 )\n\t\t\t$mol_assert_equal( res[2][1] , 66 )\n\n\t\t} ,\n\n\t\t'Matrix multiplying matrix'() {\n\n\t\t\tlet matrix = new $mol_vector_matrix<2,3>( ...[ [ 2 , 3 ] , [ 4 , 5 ] , [ 6 , 7 ] ] as const )\n\t\t\tlet res = matrix.multed2( [ [ 2 , 3 ] , [ 4 , 5 ] , [ 6 , 7 ] ] as const )\n\n\t\t\t$mol_assert_equal( res[0][0] , 4 )\n\t\t\t$mol_assert_equal( res[0][1] , 9 )\n\t\t\t$mol_assert_equal( res[1][0] , 16 )\n\t\t\t$mol_assert_equal( res[1][1] , 25 )\n\t\t\t$mol_assert_equal( res[2][0] , 36 )\n\t\t\t$mol_assert_equal( res[2][1] , 49 )\n\n\t\t} ,\n\n\t\t'Range expanding'() {\n\n\t\t\tlet range = $mol_vector_range_full.inversed\n\t\t\t\n\t\t\tconst expanded = range.expanded0( 10 ).expanded0( 5 )\n\n\t\t\t$mol_assert_like( [ ... expanded ] , [ 5 , 10 ] )\n\n\t\t} ,\n\n\t\t'Vector of range expanding by vector'() {\n\n\t\t\tlet dimensions = new $mol_vector_2d( $mol_vector_range_full.inversed , $mol_vector_range_full.inversed )\n\t\t\t\n\t\t\tconst expanded = dimensions.expanded1( [ 1 , 7 ] as const ).expanded1( [ 3 , 5 ] as const )\n\n\t\t\t$mol_assert_like( [ ... expanded.x ] , [ 1 , 3 ] )\n\t\t\t$mol_assert_like( [ ... expanded.y ] , [ 5 , 7 ] )\n\n\t\t} ,\n\n\t\t'Vector of range expanding by vector of range'() {\n\n\t\t\tlet dimensions = new $mol_vector_2d( $mol_vector_range_full.inversed , $mol_vector_range_full.inversed )\n\t\t\t\n\t\t\tconst expanded = dimensions\n\t\t\t.expanded2( [ [ 1 , 3 ] , [ 7 , 9 ] ] as const )\n\t\t\t.expanded2( [ [ 2 , 4 ] , [ 6 , 8 ] ] as const )\n\n\t\t\t$mol_assert_like( [ ... expanded.x ] , [ 1 , 4 ] )\n\t\t\t$mol_assert_like( [ ... expanded.y ] , [ 6 , 9 ] )\n\n\t\t} ,\n\n\t\t'Vector of infinity range expanding by vector of range'() {\n\n\t\t\tlet dimensions = new $mol_vector_2d( $mol_vector_range_full.inversed , $mol_vector_range_full.inversed )\n\t\t\tconst next = new $mol_vector_2d( $mol_vector_range_full.inversed , $mol_vector_range_full.inversed )\n\t\t\t\n\t\t\tconst expanded = next\n\t\t\t\t.expanded2( dimensions )\n\n\t\t\t$mol_assert_like( [ ... expanded.x ] , [ Infinity , -Infinity ] )\n\t\t\t$mol_assert_like( [ ... expanded.y ] , [ Infinity , -Infinity ] )\n\n\t\t} ,\n\t})\n}\n",null,null,"namespace $ {\n\texport class $mol_view_tree_test_attributes_super extends $mol_view {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * some *\n\t\t * \ta 0\n\t\t * \tb 2\n\t\t * ```\n\t\t */\n\t\tsome() {\n\t\t\treturn {\n\t\t\t\ta: 0,\n\t\t\t\tb: 2\n\t\t\t}\n\t\t}\n\t}\n\t\n\texport class $mol_view_tree_test_attributes extends $mol_view_tree_test_attributes_super {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * some *\n\t\t * \t^\n\t\t * \ta 1\n\t\t * ```\n\t\t */\n\t\tsome() {\n\t\t\treturn {\n\t\t\t\t...super.some(),\n\t\t\t\ta: 1\n\t\t\t}\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\texport class $mol_view_tree_test_binding extends $mol_view {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * value?val <=> task_title_new?val\n\t\t * ```\n\t\t */\n\t\tvalue(val?: any) {\n\t\t\treturn this.task_title_new(val)\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * enabled <= head_complete_enabled\n\t\t * ```\n\t\t */\n\t\tenabled() {\n\t\t\treturn this.head_complete_enabled()\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * task_title_new?val \\123\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\ttask_title_new(val?: any) {\n\t\t\tif ( val !== undefined ) return val as never\n\t\t\treturn \"123\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * head_complete_enabled false\n\t\t * ```\n\t\t */\n\t\thead_complete_enabled() {\n\t\t\treturn false\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\texport class $mol_view_tree_test_binding_right extends $mol_view {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * outer_width?v\n\t\t * ```\n\t\t */\n\t\touter_width(v?: any) {\n\t\t\treturn this.Test().width(v)\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Test $mol_view_tree_test_binding_right_test width?v => outer_width?v\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tTest() {\n\t\t\tconst obj = new this.$.$mol_view_tree_test_binding_right_test()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t}\n\t\n\texport class $mol_view_tree_test_binding_right_test extends $mol_view {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * width?val 0\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\twidth(val?: any) {\n\t\t\tif ( val !== undefined ) return val as never\n\t\t\treturn 0\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\texport class $mol_view_tree_test_simple extends $mol_view {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * some 1\n\t\t * ```\n\t\t */\n\t\tsome() {\n\t\t\treturn 1\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * bool true\n\t\t * ```\n\t\t */\n\t\tbool() {\n\t\t\treturn true\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * str \\test\n\t\t * ```\n\t\t */\n\t\tstr() {\n\t\t\treturn \"test\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * arr /\n\t\t * ```\n\t\t */\n\t\tarr() {\n\t\t\treturn [\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * arr_string /string\n\t\t * ```\n\t\t */\n\t\tarr_string() {\n\t\t\treturn [\n\t\t\t] as readonly string[]\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\texport class $mol_view_tree_test_attributes_subcomponent extends $mol_view {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Page!index $mol_view_tree_test_attributes_subcomponent_page Sub <= page!index\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tPage(index: any) {\n\t\t\tconst obj = new this.$.$mol_view_tree_test_attributes_subcomponent_page()\n\t\t\t\n\t\t\tobj.Sub = () => this.page(index)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * page!index null\n\t\t * ```\n\t\t */\n\t\tpage(index: any) {\n\t\t\treturn null as any\n\t\t}\n\t}\n\t\n\texport class $mol_view_tree_test_attributes_subcomponent_page extends $mol_view {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Sub null\n\t\t * ```\n\t\t */\n\t\tSub() {\n\t\t\treturn null as any\n\t\t}\n\t}\n\t\n}\n\n","namespace $.$$ {\n\n\t$mol_test( {\n\t\t'simple props'( $ ) {\n\t\t\tconst app = $mol_view_tree_test_simple.make({ $ })\n\n\t\t\t$mol_assert_equal( app.some() , 1 )\n\t\t\t$mol_assert_equal( app.bool() , true )\n\t\t\t$mol_assert_equal( app.str() , 'test' )\n\t\t\t$mol_assert_ok( Array.isArray(app.arr()) )\n\t\t\t$mol_assert_ok( Array.isArray(app.arr_string()) )\n\t\t},\n\n\t\t'default value'( $ ) {\n\t\t\tconst app = $mol_view_tree_test_binding.make({ $ })\n\t\t\t$mol_assert_equal( app.value() , '123' )\n\t\t},\n\n\t\t'both binding'( $ ) {\n\t\t\tconst app = $mol_view_tree_test_binding.make({ $ })\n\n\t\t\t$mol_assert_ok( app.value() !== '1' )\n\n\t\t\tapp.value('1')\n\t\t\t$mol_assert_equal( app.value() , '1' )\n\t\t},\n\n\t\t'left binding'( $ ) {\n\t\t\tconst app = $mol_view_tree_test_binding.make({ $ })\n\n\t\t\t$mol_assert_not( app.head_complete_enabled() )\n\t\t\t$mol_assert_not( app.enabled() )\n\t\t},\n\n\t\t'sub component'( $ ) {\n\t\t\tconst app = $mol_view_tree_test_binding_right.make({ $ })\n\t\t\t$mol_assert_ok( app.Test() instanceof $mol_view_tree_test_binding_right_test)\n\t\t},\n\n\t\t'right binding - change owner property'( $ ) {\n\t\t\tconst app = $mol_view_tree_test_binding_right.make({ $ })\n\n\t\t\tconst val = 123\n\n\t\t\t$mol_assert_ok( app.outer_width() !== val )\n\t\t\t$mol_assert_ok( app.Test().width() !== val )\n\n\t\t\tapp.outer_width(val)\n\n\t\t\t$mol_assert_equal( app.outer_width(), val )\n\t\t\t$mol_assert_equal( app.Test().width(), val )\n\t\t},\n\n\t\t'right binding - change part property'( $ ) {\n\t\t\tconst app = $mol_view_tree_test_binding_right.make({ $ })\n\n\t\t\tconst val = 123\n\n\t\t\t$mol_assert_ok( app.outer_width() !== val )\n\t\t\t$mol_assert_ok( app.Test().width() !== val )\n\n\t\t\tapp.Test().width(val)\n\n\t\t\t$mol_assert_equal( app.Test().width(), val )\n\t\t\t$mol_assert_equal( app.outer_width(), val )\n\t\t},\n\n\t\t'attributes merging'( $ ) {\n\t\t\tconst app = $mol_view_tree_test_attributes.make({ $ })\n\n\t\t\t$mol_assert_like( app.some(), { a: 1, b: 2 } )\n\t\t},\n\n\t\t'subcomponent indexed'( $ ) {\n\t\t\tconst app = $mol_view_tree_test_attributes_subcomponent.make({ $ })\n\t\t\tconst val = 123\n\t\t\tapp.page = (index: any) => index\n\n\t\t\t$mol_assert_equal(app.Page(val).Sub(), val)\n\t\t},\n \n\t} )\n}\n","namespace $ {\n\t$mol_test( {\n\t\t\n\t\t'tree parsing'() {\n\t\t\t\n\t\t\t$mol_assert_equal( $mol_tree.fromString( \"foo\\nbar\\n\" ).sub.length , 2 )\n\t\t\t$mol_assert_equal( $mol_tree.fromString( \"foo\\nbar\\n\" ).sub[ 1 ].type , \"bar\" )\n\t\t\t$mol_assert_equal( $mol_tree.fromString( \"foo\\n\\n\\n\" ).sub.length , 1 )\n\t\t\t\n\t\t\t$mol_assert_equal( $mol_tree.fromString( \"=foo\\n\\\\bar\\n\" ).sub.length , 2 )\n\t\t\t$mol_assert_equal( $mol_tree.fromString( \"=foo\\n\\\\bar\\n\" ).sub[ 1 ].data , \"bar\" )\n\t\t\t\n\t\t\t$mol_assert_equal( $mol_tree.fromString( \"foo bar \\\\pol\" ).sub[ 0 ].sub[ 0 ].sub[ 0 ].data , \"pol\" )\n\t\t\t$mol_assert_equal( $mol_tree.fromString( \"foo bar\\n\\t\\\\pol\\n\\t\\\\men\" ).sub[ 0 ].sub[ 0 ].sub[ 1 ].data , \"men\" )\n\t\t\t\n\t\t\t$mol_assert_equal( $mol_tree.fromString( 'foo bar \\\\text\\n' ).toString() , 'foo bar \\\\text\\n' )\n\t\t} ,\n\n\t\t'inserting'() {\n\t\t\t$mol_assert_equal( $mol_tree.fromString( 'a b c d' ).insert( new $mol_tree , 'a' , 'b' , 'c' ).toString() , 'a b \\\\\\n' )\n\t\t\t$mol_assert_equal( $mol_tree.fromString( 'a b' ).insert( new $mol_tree , 'a' , 'b' , 'c' , 'd' ).toString() , 'a b c \\\\\\n' )\n\n\t\t\t$mol_assert_equal( $mol_tree.fromString( 'a b c d' ).insert( new $mol_tree , 0 , 0 , 0 ).toString() , 'a b \\\\\\n' )\n\t\t\t$mol_assert_equal( $mol_tree.fromString( 'a b' ).insert( new $mol_tree , 0 , 0 , 0 , 0 ).toString() , 'a b \\\\\\n\\t\\\\\\n' )\n\n\t\t\t$mol_assert_equal( $mol_tree.fromString( 'a b c d' ).insert( new $mol_tree , null , null , null ).toString() , 'a b \\\\\\n' )\n\t\t\t$mol_assert_equal( $mol_tree.fromString( 'a b' ).insert( new $mol_tree , null , null , null , null ).toString() , 'a b \\\\\\n\\t\\\\\\n' )\n\t\t} ,\n\n\t\t'fromJSON'() {\n\t\t\t$mol_assert_equal( $mol_tree.fromJSON([]).toString() , '/\\n' )\n\t\t\t$mol_assert_equal( $mol_tree.fromJSON([ false , true ]).toString() , '/\\n\\tfalse\\n\\ttrue\\n' )\n\t\t\t$mol_assert_equal( $mol_tree.fromJSON([ 0 , 1 , 2.3 ]).toString() , '/\\n\\t0\\n\\t1\\n\\t2.3\\n' )\n\t\t\t$mol_assert_equal( $mol_tree.fromJSON([ '' , 'foo' , 'bar\\nbaz' ]).toString() , '/\\n\\t\\\\\\n\\t\\\\foo\\n\\t\\\\\\n\\t\\t\\\\bar\\n\\t\\t\\\\baz\\n' )\n\t\t\t$mol_assert_equal( $mol_tree.fromJSON({ 'foo' : false , 'bar\\nbaz' : 'lol' }).toString() , '*\\n\\tfoo false\\n\\t\\\\\\n\\t\\t\\\\bar\\n\\t\\t\\\\baz\\n\\t\\t\\\\lol\\n' )\n\t\t} ,\n\t\t\n\t\t'toJSON'() {\n\t\t\t$mol_assert_equal( JSON.stringify( $mol_tree.fromString( '/\\n' ).sub[0] ) , '[]' )\n\t\t\t$mol_assert_equal( JSON.stringify( $mol_tree.fromString( '/\\n\\tfalse\\n\\ttrue\\n' ).sub[0] ) , '[false,true]' )\n\t\t\t$mol_assert_equal( JSON.stringify( $mol_tree.fromString( '/\\n\\t0\\n\\t1\\n\\t2.3\\n' ).sub[0] ) , '[0,1,2.3]' )\n\t\t\t$mol_assert_equal( JSON.stringify( $mol_tree.fromString( '/\\n\\t\\\\\\n\\t\\\\foo\\n\\t\\\\\\n\\t\\t\\\\bar\\n\\t\\t\\\\baz\\n' ).sub[0] ) , '[\"\",\"foo\",\"bar\\\\nbaz\"]' )\n\t\t\t$mol_assert_equal( JSON.stringify( $mol_tree.fromString( '*\\n\\tfoo false\\n\\t\\\\\\n\\t\\t\\\\bar\\n\\t\\t\\\\baz\\n\\t\\t\\\\lol\\n' ).sub[0] ) , '{\"foo\":false,\"bar\\\\nbaz\":\"lol\"}' )\n\t\t} ,\n\t\t\n\t\t'hack'() {\n\n\t\t\tconst res = $mol_tree.fromString( `foo bar xxx` ).hack({\n\t\t\t\t'' : ( tree , context )=> [ tree.hack( context ) ] ,\n\t\t\t\t'bar' : ( tree , context )=> [ tree.hack( context ).clone({ type : '777' }) ] ,\n\t\t\t})\n\n\t\t\t$mol_assert_equal( res.toString() , new $mol_tree({ type : 'foo 777 xxx' }).toString() )\n\n\t\t} ,\n\n\t\t'errors handling'( $ ) {\n\n\t\t\tconst errors = [] as string[]\n\n\t\t\tclass Tree extends $mol_tree {\n\t\t\t\tstatic $ = $.$mol_ambient({\n\t\t\t\t\t$mol_fail: error => errors.push( error.message ) as never\n\t\t\t\t})\n\t\t\t}\n\t\t\t\n\t\t\tTree.fromString( `\n\t\t\t\t\\t \\tfoo\n\t\t\t\tbar \\\\data\n\t\t\t` , 'test' )\n\n\t\t\t$mol_assert_like( errors , [ 'Syntax error at test:2\\n \\tfoo' ] )\n\n\t\t},\n\n\t} )\t\n}\n","namespace $ {\n\n\texport const $mol_tree_convert : unique symbol = Symbol( '$mol_tree_convert' )\n\texport type $mol_tree_path = Array< string | number | null >\n\n\texport type $mol_tree_hack = ( input : $mol_tree , context : $mol_tree_context )=> readonly $mol_tree[]\n\texport type $mol_tree_context = Record< string , $mol_tree_hack >\n\texport type $mol_tree_library = Record< string , $mol_tree_context >\n\t\n\t/**\n\t * Abstract Syntax Tree with human readable serialization.\n\t * @see https://github.com/nin-jin/tree.d\n\t */\n\texport class $mol_tree extends $mol_object2 {\n\t\t\n\t\treadonly type : string\n\t\treadonly data : string\n\t\treadonly sub : readonly $mol_tree[]\n\t\treadonly baseUri : string\n\t\treadonly row : number\n\t\treadonly col : number\n\t\treadonly length : number\n\t\t\n\t\tconstructor( config : Partial<$mol_tree> = {} ) {\n\n\t\t\tsuper()\n\n\t\t\tthis.type = config.type || ''\n\t\t\t\n\t\t\tif( config.value !== undefined ) {\n\n\t\t\t\tvar sub = $mol_tree.values( config.value )\n\t\t\t\t\n\t\t\t\tif( config.type || sub.length > 1 ) {\n\n\t\t\t\t\tthis.sub = [ ... sub , ...( config.sub || [] ) ]\n\t\t\t\t\tthis.data = config.data || ''\n\n\t\t\t\t} else {\n\n\t\t\t\t\tthis.data = sub[ 0 ].data\n\t\t\t\t\tthis.sub = config.sub || []\n\n\t\t\t\t}\n\n\t\t\t} else {\n\t\t\t\t\n\t\t\t\tthis.data = config.data || ''\n\t\t\t\tthis.sub = config.sub || []\n\n\t\t\t}\n\t\t\t\n\t\t\tthis.baseUri = config.baseUri || ''\n\t\t\tthis.row = config.row || 0\n\t\t\tthis.col = config.col || 0\n\t\t\tthis.length = config.length || 0\n\n\t\t}\n\t\t\n\t\tstatic values( str : string , baseUri? : string ) {\n\n\t\t\treturn str.split( '\\n' ).map( ( data , index ) => new $mol_tree( {\n\t\t\t\tdata : data ,\n\t\t\t\tbaseUri : baseUri ,\n\t\t\t\trow : index + 1 ,\n\t\t\t\tlength : data.length ,\n\t\t\t} ) )\n\n\t\t}\n\t\t\n\t\t/** Cloning node with overrides. */\n\t\tclone( config : Partial<$mol_tree> = {} ) {\n\n\t\t\treturn new $mol_tree({\n\t\t\t\ttype : ( 'type' in config ) ? config.type : this.type ,\n\t\t\t\tdata : ( 'data' in config ) ? config.data : this.data ,\n\t\t\t\tsub : ( 'sub' in config ) ? config.sub : this.sub ,\n\t\t\t\tbaseUri : ( 'baseUri' in config ) ? config.baseUri : this.baseUri ,\n\t\t\t\trow : ( 'row' in config ) ? config.row : this.row ,\n\t\t\t\tcol : ( 'col' in config ) ? config.col : this.col ,\n\t\t\t\tlength : ( 'length' in config ) ? config.length : this.length ,\n\t\t\t\tvalue : config.value\n\t\t\t})\n\n\t\t}\n\t\t\n\t\t/** Makes new derived node. */\n\t\tmake( config : Partial<$mol_tree> ) {\n\n\t\t\treturn new $mol_tree({\n\t\t\t\tbaseUri : this.baseUri ,\n\t\t\t\trow : this.row ,\n\t\t\t\tcol : this.col ,\n\t\t\t\tlength : this.length ,\n\t\t\t\t... config ,\n\t\t\t})\n\n\t\t}\n\t\t\n\t\t/** Makes new derived data node. */\n\t\tmake_data( value : string , sub? : readonly $mol_tree[] ) {\n\t\t\treturn this.make({ value , sub })\n\t\t}\n\t\t\n\t\t/** Makes new derived structural node. */\n\t\tmake_struct( type : string , sub? : readonly $mol_tree[] ) {\n\t\t\treturn this.make({ type , sub })\n\t\t}\n\t\t\n\t\t/** Parses tree format to AST. */\n\t\tstatic fromString( str : string , baseUri? : string ) {\n\t\t\t\n\t\t\tvar root = new $mol_tree( { baseUri : baseUri } )\n\t\t\tvar stack = [ root ]\n\t\t\t\n\t\t\tvar row = 0\n\t\t\tvar prefix = str.replace( /^\\n?(\\t*)[\\s\\S]*/ , '$1' )\n\t\t\tvar lines = str.replace( new RegExp( '^\\\\t{0,' + prefix.length + '}' , 'mg' ) , '' ).split( '\\n' )\n\n\t\t\tlines.forEach( line => {\n\n\t\t\t\t++row\n\t\t\t\t\n\t\t\t\tvar chunks = /^(\\t*)((?:[^\\n\\t\\\\ ]+ *)*)(\\\\[^\\n]*)?(.*?)(?:$|\\n)/m.exec( line )\n\t\t\t\tif( !chunks || chunks[4] ) return this.$.$mol_fail( new Error( `Syntax error at ${baseUri}:${row}\\n${line}` ) )\n\t\t\t\t\n\t\t\t\tvar indent = chunks[ 1 ]\n\t\t\t\tvar path = chunks[ 2 ]\n\t\t\t\tvar data = chunks[ 3 ]\n\t\t\t\t\n\t\t\t\tvar deep = indent.length\n\t\t\t\tvar types = path ? path.replace( / $/ , '' ).split( / +/ ) : []\n\t\t\t\t\n\t\t\t\tif( stack.length <= deep ) return this.$.$mol_fail( new Error( `Too many tabs at ${baseUri}:${row}\\n${line}` ) )\n\t\t\t\t\n\t\t\t\tstack.length = deep + 1\n\t\t\t\tvar parent = stack[ deep ];\n\t\t\t\t\n\t\t\t\tlet col = deep\n\t\t\t\ttypes.forEach( type => {\n\t\t\t\t\tif( !type ) return this.$.$mol_fail( new Error( `Unexpected space symbol ${baseUri}:${row}\\n${line}` ) )\n\t\t\t\t\tvar next = new $mol_tree({ type , baseUri , row , col , length : type.length })\n\t\t\t\t\tconst parent_sub = parent.sub as $mol_tree[]\n\t\t\t\t\tparent_sub.push( next )\t\n\t\t\t\t\tparent = next\n\t\t\t\t\tcol += type.length + 1\n\t\t\t\t} )\n\t\t\t\t\n\t\t\t\tif( data ) {\n\t\t\t\t\tvar next = new $mol_tree({ data : data.substring( 1 ) , baseUri , row , col , length : data.length })\n\t\t\t\t\tconst parent_sub = parent.sub as $mol_tree[]\n\t\t\t\t\tparent_sub.push( next )\n\t\t\t\t\tparent = next\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tstack.push( parent )\n\t\t\t\t\n\t\t\t} )\n\t\t\t\n\t\t\treturn root\n\t\t}\n\t\t\n\t\t/**\n\t\t * Parses json.tree lang to AST.\n\t\t * @todo Move to $mol_tree_json_from\n\t\t */\n\t\tstatic fromJSON( json : any , baseUri = '' ) : $mol_tree {\n\n\t\t\tswitch( true ) {\n\n\t\t\t\tcase typeof json === 'boolean' :\n\t\t\t\tcase typeof json === 'number' :\n\t\t\t\tcase json === null :\n\n\t\t\t\t\treturn new $mol_tree({\n\t\t\t\t\t\ttype : String( json ) ,\n\t\t\t\t\t\tbaseUri : baseUri\n\t\t\t\t\t})\n\t\t\t\t\n\t\t\t\tcase typeof json === 'string' :\n\n\t\t\t\t\treturn new $mol_tree({\n\t\t\t\t\t\tvalue : json ,\n\t\t\t\t\t\tbaseUri : baseUri\n\t\t\t\t\t})\n\n\t\t\t\tcase Array.isArray( json ) :\n\n\t\t\t\t\treturn new $mol_tree({\n\t\t\t\t\t\ttype : \"/\" ,\n\t\t\t\t\t\tsub : ( json as any[] ).map( json => $mol_tree.fromJSON( json , baseUri ) )\n\t\t\t\t\t})\n\n\t\t\t\tcase json instanceof Date :\n\n\t\t\t\t\treturn new $mol_tree({\n\t\t\t\t\t\tvalue : json.toISOString() ,\n\t\t\t\t\t\tbaseUri : baseUri\n\t\t\t\t\t})\n\t\t\t\t\n\t\t\t\tdefault :\n\n\t\t\t\t\tif( typeof json[ $mol_tree_convert ] === 'function' ) {\n\t\t\t\t\t\treturn json[ $mol_tree_convert ]()\n\t\t\t\t\t}\n\n\t\t\t\t\tif( typeof json.toJSON === 'function' ) {\n\t\t\t\t\t\treturn $mol_tree.fromJSON( json.toJSON() )\n\t\t\t\t\t}\n\n\t\t\t\t\tif( json instanceof Error ) {\n\t\t\t\t\t\tconst { name , message , stack } = json\n\t\t\t\t\t\tjson = { ... json , name , message , stack }\n\t\t\t\t\t}\n\n\t\t\t\t\tvar sub : $mol_tree[] = []\n\t\t\t\t\t\n\t\t\t\t\tfor( var key in json ) {\n\n\t\t\t\t\t\tif( json[ key ] === undefined ) continue\n\n\t\t\t\t\t\tconst subsub = $mol_tree.fromJSON( json[ key ] , baseUri )\n\t\t\t\t\t\t\n\t\t\t\t\t\tif( /^[^\\n\\t\\\\ ]+$/.test( key ) ) {\n\n\t\t\t\t\t\t\tvar child = new $mol_tree({\n\t\t\t\t\t\t\t\ttype : key ,\n\t\t\t\t\t\t\t\tbaseUri : baseUri ,\n\t\t\t\t\t\t\t\tsub : [ subsub ] ,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tvar child = new $mol_tree({\n\t\t\t\t\t\t\t\tvalue : key ,\n\t\t\t\t\t\t\t\tbaseUri : baseUri ,\n\t\t\t\t\t\t\t\tsub : [ subsub ] ,\n\t\t\t\t\t\t\t} )\n\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tsub.push( child )\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\treturn new $mol_tree({\n\t\t\t\t\t\ttype : \"*\" ,\n\t\t\t\t\t\tsub : sub ,\n\t\t\t\t\t\tbaseUri : baseUri\n\t\t\t\t\t})\n\t\t\t\t\n\t\t\t}\n\n\t\t}\n\t\t\n\t\tget uri() {\n\t\t\treturn this.baseUri + '#' + this.row + ':' + this.col\n\t\t}\n\t\t\n\t\t/** Serializas to tree format. */\n\t\ttoString( prefix = '' ) : string {\n\t\t\tvar output = ''\n\t\t\t\n\t\t\tif( this.type.length ) {\n\t\t\t\tif( !prefix.length ) {\n\t\t\t\t\tprefix = \"\\t\";\n\t\t\t\t}\n\t\t\t\toutput += this.type\n\t\t\t\tif( this.sub.length == 1 ) {\n\t\t\t\t\treturn output + ' ' + this.sub[ 0 ].toString( prefix )\n\t\t\t\t}\n\t\t\t\toutput += \"\\n\"\n\t\t\t} else if( this.data.length || prefix.length ) {\n\t\t\t\toutput += \"\\\\\" + this.data + \"\\n\"\n\t\t\t}\n\n\t\t\tfor( var child of this.sub ) {\n\t\t\t\toutput += prefix\n\t\t\t\toutput += child.toString( prefix + \"\\t\" )\n\t\t\t}\n\t\t\t\n\t\t\treturn output\n\t\t}\n\t\t\n\t\t/**\n\t\t * Serializes AST to json.tree lang.\n\t\t * @todo Move to $mol_tree_json_to\n\t\t */\n\t\ttoJSON() : any {\n\t\t\tif( !this.type ) return this.value\n\t\t\t\n\t\t\tif( this.type === 'true' ) return true\n\t\t\tif( this.type === 'false' ) return false\n\t\t\tif( this.type === 'null' ) return null\n\t\t\t\n\t\t\tif( this.type === '*' ) {\n\t\t\t\tvar obj = {}\n\t\t\t\tfor( var child of this.sub ) {\n\t\t\t\t\tif( child.type === '-' ) continue\n\t\t\t\t\tvar key = child.type || child.clone({ sub : child.sub.slice( 0 , child.sub.length - 1 ) }).value\n\t\t\t\t\tvar val = child.sub[ child.sub.length - 1 ].toJSON()\n\t\t\t\t\tif( val !== undefined ) ( obj as any )[ key ] = val\n\t\t\t\t}\n\t\t\t\treturn obj\n\t\t\t}\n\t\t\t\n\t\t\tif( this.type === '/' ) {\n\t\t\t\tvar res : any[] = []\n\t\t\t\tthis.sub.forEach(\n\t\t\t\t\tchild => {\n\t\t\t\t\t\tif( child.type === '-' ) return\n\t\t\t\t\t\tvar val = child.toJSON()\n\t\t\t\t\t\tif( val !== undefined ) res.push( val )\n\t\t\t\t\t}\n\t\t\t\t)\n\t\t\t\treturn res\n\t\t\t}\n\t\t\t\n\t\t\tif( this.type === 'time' ) {\n\t\t\t\treturn new Date( this.value )\n\t\t\t}\n\t\t\t\n\t\t\tconst numb = Number( this.type ) \n\t\t\tif( !Number.isNaN( numb ) || this.type === 'NaN' ) return numb\n\t\t\t\n\t\t\tthrow new Error( `Unknown type (${this.type}) at ${this.uri}` )\n\t\t}\n\t\t\n\t\tget value() {\n\t\t\tvar values : string[] = []\n\t\t\tfor( var child of this.sub ) {\n\t\t\t\tif( child.type ) continue\n\t\t\t\tvalues.push( child.value )\n\t\t\t}\n\t\t\treturn this.data + values.join( \"\\n\" )\n\t\t}\n\t\t\n\t\t/** Makes new tree with node overrided by path. */\n\t\tinsert( value : $mol_tree , ...path : $mol_tree_path ) : $mol_tree {\n\t\t\tif( path.length === 0 ) return value\n\t\t\t\n\t\t\tconst type = path[0]\n\t\t\tif( typeof type === 'string' ) {\n\n\t\t\t\tlet replaced = false\n\t\t\t\tconst sub = this.sub.map( ( item , index )=> {\n\t\t\t\t\tif( item.type !== type ) return item\n\t\t\t\t\treplaced = true\n\t\t\t\t\treturn item.insert( value , ... path.slice( 1 ) )\n\t\t\t\t} )\n\t\t\t\t\n\t\t\t\tif( !replaced ) sub.push( new $mol_tree({ type }).insert( value , ... path.slice( 1 ) ) )\n\t\t\t\t\n\t\t\t\treturn this.clone({ sub })\n\n\t\t\t} else if( typeof type === 'number' ) {\n\t\t\t\t\n\t\t\t\tconst sub = this.sub.slice()\n\t\t\t\tsub[ type ] = ( sub[ type ] || new $mol_tree ).insert( value , ... path.slice( 1 ) )\n\t\t\t\t\n\t\t\t\treturn this.clone({ sub })\n\n\t\t\t} else {\n\t\t\t\t\n\t\t\t\treturn this.clone({ sub : ( ( this.sub.length === 0 ) ? [ new $mol_tree() ] : this.sub ).map( item => item.insert( value , ... path.slice( 1 ) ) ) })\n\n\t\t\t}\n\t\t}\n\n\t\t/** Query nodes by path. */\n\t\tselect( ...path : $mol_tree_path ) {\n\t\t\tvar next = [ this as $mol_tree ]\n\t\t\tfor( var type of path ) {\n\t\t\t\tif( !next.length ) break\n\t\t\t\tvar prev = next\n\t\t\t\tnext = []\n\n\t\t\t\tfor( var item of prev ) {\n\n\t\t\t\t\tswitch( typeof( type ) ) {\n\n\t\t\t\t\t\tcase 'string' :\n\t\t\t\t\t\t\tfor( var child of item.sub ) {\n\t\t\t\t\t\t\t\tif( !type || ( child.type == type ) ) {\n\t\t\t\t\t\t\t\t\tnext.push( child )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\n\t\t\t\t\t\tcase 'number' :\n\t\t\t\t\t\t\tif( type < item.sub.length ) next.push( item.sub[ type ] )\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\n\t\t\t\t\t\tdefault : next.push( ... item.sub )\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn new $mol_tree( { sub : next } )\n\t\t}\n\t\t\n\t\t/** Filter subnodes by path or value. */\n\t\tfilter( path : string[] , value? : string ) {\n\t\t\tvar sub = this.sub.filter(\n\t\t\t\tfunction( item ) {\n\t\t\t\t\t\n\t\t\t\t\tvar found = item.select( ...path )\n\t\t\t\t\t\n\t\t\t\t\tif( value == null ) {\n\t\t\t\t\t\treturn Boolean( found.sub.length )\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn found.sub.some( child => child.value == value )\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t)\n\t\t\t\n\t\t\treturn new $mol_tree( { sub : sub } )\n\t\t}\n\n\t\t@ $mol_deprecated( 'Use $mol_tree:hack' )\n\t\ttransform( visit : ( stack : $mol_tree[] , sub : ()=> $mol_tree[] )=> $mol_tree | null , stack : $mol_tree[] = [] ) : $mol_tree | null {\n\t\t\tconst sub_stack = [ this , ...stack ]\n\t\t\treturn visit( sub_stack , ()=> this.sub.map( node => node.transform( visit , sub_stack ) ).filter( n => n ) as $mol_tree[] )\n\t\t}\n\n\t\t/** Transform tree through context with transformers */\n\t\thack( context : $mol_tree_context ) : $mol_tree {\n\t\t\t\n\t\t\tconst sub = ( [] as $mol_tree[] ).concat( ... this.sub.map( child => {\n\n\t\t\t\tconst handle = context[ child.type ] || context[ '' ]\n\t\t\t\tif( !handle ) $mol_fail( child.error( 'Handler not defined' ) )\n\t\t\t\t\n\t\t\t\treturn handle( child , context )\n\n\t\t\t} ) )\n\n\t\t\treturn this.clone({ sub })\n\t\t}\n\n\t\t/** Makes Error with node coordinates. */\n\t\terror( message : string ) {\n\t\t\treturn new Error( `${message}:\\n${ this } ${this.baseUri}:${this.row}:${this.col}` )\n\t\t}\n\n\t}\n\t\n}\n","namespace $ {\n\t\n\texport class $mol_state_local< Value > extends $mol_object {\n\t\t\n\t\tstatic 'native()' : Pick< Storage , 'getItem'|'setItem'|'removeItem' >\n\t\tstatic native() {\n\t\t\tif( this['native()'] ) return this['native()']\n\n\t\t\tcheck : try {\n\t\t\t\tconst native = $mol_dom_context.localStorage\n\t\t\t\tif( !native ) break check\n\t\t\t\t\n\t\t\t\tnative.setItem( '' , '' )\n\t\t\t\tnative.removeItem( '' )\n\t\t\t\treturn this['native()'] = native\n\t\t\t} catch( error: any ) {\n\t\t\t\tconsole.warn( error )\n\t\t\t}\n\n\t\t\treturn this['native()'] = {\n\t\t\t\tgetItem( key : string ) {\n\t\t\t\t\treturn this[ ':' + key ]\n\t\t\t\t} ,\n\t\t\t\tsetItem( key : string , value : string ) {\n\t\t\t\t\tthis[ ':' + key ] = value\n\t\t\t\t} ,\n\t\t\t\tremoveItem( key : string ) {\n\t\t\t\t\tthis[ ':' + key ] = void 0\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tstatic value< Value >( key : string , next? : Value , force? : $mol_mem_force ) : Value | null {\n\t\t\tif( next === void 0 ) return JSON.parse( this.native().getItem( key ) || 'null' )\n\t\t\t\n\t\t\tif( next === null ) this.native().removeItem( key )\n\t\t\telse this.native().setItem( key , JSON.stringify( next ) )\n\t\t\t\n\t\t\treturn next\n\t\t}\n\t\t\n\t\tprefix() { return '' }\n\t\t\n\t\tvalue( key : string , next? : Value ) {\n\t\t\treturn $mol_state_local.value( this.prefix() + '.' + key , next )\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\n\t$mol_test_mocks.push( context => {\n\t\tclass $mol_state_local_mock< Value > extends $mol_state_local< Value > {\n\n\t\t\tstatic state = {} as Record< string , any >\n\t\t\t\t\t\t\n\t\t\t@ $mol_mem_key\n\t\t\tstatic value< Value >( key : string , next = this.state[ key ] as Value , force? : $mol_mem_force ) {\n\t\t\t\treturn this.state[ key ] = ( next || null )\n\t\t\t}\n\n\t\t}\n\t\tcontext.$mol_state_local = $mol_state_local_mock\n\t} )\n\t\n}\n","namespace $ {\n\t$mol_test( {\n\t\t\n\t\t'local get set delete'() {\n\t\t\t\t\t\n\t\t\tvar key = '$mol_state_local_test:' + Math.random()\n\t\t\t$mol_assert_equal( $mol_state_local.value( key ) , null )\n\t\t\t\n\t\t\t$mol_state_local.value( key , 123 )\n\t\t\t$mol_assert_equal( $mol_state_local.value( key ) , 123 )\n\t\t\t\n\t\t\t$mol_state_local.value( key , null )\n\t\t\t$mol_assert_equal( $mol_state_local.value( key ) , null )\n\t\t} ,\n\t\t\n\t} )\n}\n","namespace $ {\n\n\tself.addEventListener( 'storage' , event => {\n\t\tif( !event.key ) return // @TODO clear support\n\t\t$.$mol_state_local.value( event.key , undefined , $mol_mem_force_cache )\n\t} )\n\n}\n",null,"// @ts-ignore\nvar $node = $node || {}\n","namespace $ {\n\t$mol_test({\n\t\t'decode utf8 string'() {\n\t\t\tconst str = 'Hello, ΧΨΩЫ'\n\t\t\tconst encoded = new Uint8Array( [ 72, 101, 108, 108, 111, 44, 32, 206, 167, 206, 168, 206, 169, 208, 171 ] )\n\n\t\t\t$mol_assert_equal( $mol_charset_decode(encoded), str )\n\t\t\t$mol_assert_equal( $mol_charset_decode(encoded, 'utf8'), str )\n\t\t},\n\n\t\t'decode empty string'() {\n\t\t\tconst encoded = new Uint8Array( [] )\n\n\t\t\t$mol_assert_equal( $mol_charset_decode(encoded), '' )\n\t\t},\n\t})\n}\n","namespace $ {\n\tconst TextDecoder = globalThis.TextDecoder ?? $node.util.TextDecoder\n\n\t// @see https://developer.mozilla.org/en-US/docs/Web/API/TextDecoder/encoding\n\texport type $mol_charset_encoding = 'utf8' | 'ibm866' | 'iso-8859-2' | 'iso-8859-3' | 'iso-8859-4' | 'iso-8859-5' | 'iso-8859-6'\n\t\t| 'iso-8859-7' | 'iso-8859-8' | 'iso-8859-8i' | 'iso-8859-10' | 'iso-8859-13' | 'iso-8859-14' | 'iso-8859-15' | 'iso-8859-16'\n\t\t| 'koi8-r' | 'koi8-u' | 'koi8-r' | 'macintosh' | 'windows-874' | 'windows-1250' | 'windows-1251' | 'windows-1252' | 'windows-1253'\n\t\t| 'windows-1254'| 'windows-1255'| 'windows-1256'| 'windows-1257'| 'windows-1258' | 'x-mac-cyrillic' | 'gbk'\n\t\t| 'gb18030' | 'hz-gb-2312' | 'big5' | 'euc-jp' | 'iso-2022-jp' | 'shift-jis' | 'euc-kr' | 'iso-2022-kr'\n\n\texport function $mol_charset_decode(value: Uint8Array, code: $mol_charset_encoding = 'utf8') {\n\t\treturn new TextDecoder(code).decode(value)\n\t}\n\n}\n","namespace $ {\n\t$mol_test({\n\t\t'encode utf8 string'() {\n\t\t\tconst str = 'Hello, ΧΨΩЫ'\n\t\t\tconst encoded = new Uint8Array( [ 72, 101, 108, 108, 111, 44, 32, 206, 167, 206, 168, 206, 169, 208, 171 ] )\n\n\t\t\t$mol_assert_like( $mol_charset_encode(str), encoded )\n\t\t},\n\t})\n}\n","namespace $ {\n\tconst TextEncoder = globalThis.TextEncoder ?? $node.util.TextEncoder\n\n\tconst encoder = new TextEncoder()\n\n\texport function $mol_charset_encode(value: string) {\n\t\treturn encoder.encode(value)\n\t}\n\n}\n","namespace $ {\n\n\texport type $mol_file_type = 'file' | 'dir' | 'link'\n\n\texport interface $mol_file_stat {\n\t\ttype: $mol_file_type\n\t\tsize: number\n\t\tatime: Date\n\t\tmtime: Date\n\t\tctime: Date\n\t}\n\n\texport class $mol_file_not_found extends Error {}\n\n\texport abstract class $mol_file extends $mol_object {\t\t\n\t\t@ $mol_mem_key\n\t\tstatic absolute( path : string ): $mol_file {\n\t\t\tthrow new Error( 'Not implemented yet' )\n\t\t}\n\n\t\tstatic relative( path : string ) : $mol_file {\n\t\t\tthrow new Error( 'Not implemented yet' )\n\t\t}\n\t\t\n\t\tpath() {\n\t\t\treturn '.'\n\t\t}\n\t\t\n\t\tparent() {\n\t\t\treturn this.resolve( '..' )\n\t\t}\n\n\t\tabstract stat( next? : $mol_file_stat, force? : $mol_mem_force ): $mol_file_stat\n\n\t\treset(): void {\n\t\t\ttry {\n\t\t\t\tthis.stat(undefined, $mol_mem_force_cache)\n\t\t\t} catch( error: any ) {\n\t\t\t\tif (error instanceof $mol_file_not_found) return\n\t\t\t\treturn $mol_fail_hidden(error)\n\t\t\t}\n\t\t}\n\t\t\n\t\tversion() {\n\t\t\treturn this.stat().mtime.getTime().toString( 36 ).toUpperCase()\n\t\t}\n\n\t\tabstract ensure(next?: boolean): boolean\n\n\t\twatcher() {\n\t\t\tconsole.warn('$mol_file_web.watcher() not implemented')\n\n\t\t\treturn {\n\t\t\t\tdestructor() {}\n\t\t\t}\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\texists( next? : boolean , force? : $mol_mem_force ) {\n\n\t\t\tlet exists = true\n\t\t\ttry {\n\t\t\t\tthis.stat()\n\t\t\t} catch( error: any ) {\n\n\t\t\t\tif (error instanceof $mol_file_not_found) {\n\t\t\t\t\texists = false\n\t\t\t\t} else {\n\t\t\t\t\treturn $mol_fail_hidden(error)\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\n\t\t\tif( next === undefined ) return exists\n\t\t\tif( next === exists ) return exists\n\n\t\t\tif( next ) this.parent().exists( true )\n\t\t\tthis.ensure(next)\n\t\t\tthis.reset()\n\t\t\t\n\t\t\treturn next\n\t\t}\n\t\t\n\t\ttype() {\n\t\t\treturn this.stat().type\n\t\t}\n\t\t\n\t\tname() {\n\t\t\treturn this.path().replace( /^.*\\//, '' )\n\t\t}\n\t\t\n\t\text() {\n\t\t\tconst match = /((?:\\.\\w+)+)$/.exec( this.path() )\n\t\t\treturn match ? match[ 1 ].substring( 1 ) : ''\n\t\t}\n\n\t\tabstract buffer( next? : Uint8Array , force? : $mol_mem_force ): Uint8Array\n\n\t\ttext(next?: string, force?: $mol_mem_force) {\n\t\t\tif( next === undefined ) {\n\t\t\t\treturn $mol_charset_decode( this.buffer( undefined, force ) )\t\n\t\t\t} else {\n\t\t\t\tconst buffer = next === undefined ? undefined : $mol_charset_encode( next )\n\t\t\t\tthis.buffer( buffer, force )\n\t\t\t\treturn next\n\t\t\t}\n\t\t}\n\n\t\tfail(error: Error) {\n\t\t\tthis.buffer(error as any, $mol_mem_force_fail)\n\t\t\tthis.stat(error as any, $mol_mem_force_fail)\n\t\t}\n\n\t\tbuffer_cached(buffer: Uint8Array) {\n\t\t\tconst ctime = new Date()\n\t\t\tconst stat: $mol_file_stat = {\n\t\t\t\ttype: 'file',\n\t\t\t\tsize: buffer.length,\n\t\t\t\tctime,\n\t\t\t\tatime: ctime,\n\t\t\t\tmtime: ctime\n\t\t\t}\n\n\t\t\tthis.buffer(buffer, $mol_mem_force_cache)\n\t\t\tthis.stat(stat , $mol_mem_force_cache)\n\t\t}\n\n\t\ttext_cached(content: string) {\n\t\t\tthis.buffer_cached($mol_charset_encode(content))\n\t\t}\n\t\t\n\t\tabstract sub(): $mol_file[]\n\n\t\tabstract resolve(path: string): $mol_file\n\n\t\tabstract relate( base?: $mol_file ): string\n\t\t\n\t\tabstract append( next : Uint8Array | string ): void\n\t\t\n\t\tfind(\n\t\t\tinclude? : RegExp ,\n\t\t\texclude? : RegExp\n\t\t) {\n\t\t\tconst found = [] as $mol_file[]\n\t\t\tconst sub = this.sub()\n\n\t\t\tfor (const child of sub) {\n\t\t\t\tconst child_path = child.path()\n\n\t\t\t\tif( exclude && child_path.match( exclude ) ) continue\n\n\t\t\t\tif( !include || child_path.match( include ) ) found.push( child )\n\n\t\t\t\tif( child.type() === 'dir' ) {\n\t\t\t\t\tconst sub_child = child.find( include , exclude )\n\t\t\t\t\tfor (const child of sub_child) found.push(child)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn found\n\t\t}\n\n\t\tsize() {\n\t\t\tswitch( this.type() ) {\n\t\t\t\tcase 'file': return this.stat().size\n\t\t\t\tdefault: return 0\n\t\t\t}\n\t\t}\n\t\t\n\t}\n}\n","namespace $ {\n\n\texport function $mol_dom_parse(\n\t\ttext : string ,\n\t\ttype : DOMParserSupportedType = 'application/xhtml+xml' ,\n\t) {\n\n\t\tconst parser = new $mol_dom_context.DOMParser()\n\t\tconst doc = parser.parseFromString( text , type )\n\t\t\n\t\tconst error = doc.getElementsByTagName( 'parsererror' )\n\t\tif( error.length ) throw new Error( error[0].textContent! )\n\n\t\treturn doc\n\t}\n\n}\n","namespace $ {\n\n\texport class $mol_fetch_response extends $mol_object2 {\n\n\t\tconstructor( readonly native : Response ) {\n\t\t\tsuper()\n\t\t}\n\n\t\theaders() {\n\t\t\treturn this.native.headers\n\t\t}\n\n\t\tmime() {\n\t\t\treturn this.headers().get( 'content-type' )\n\t\t}\n\n\t\t@ $mol_fiber.method\n\t\tstream() {\n\t\t\treturn this.native.body\n\t\t}\n\n\t\t@ $mol_fiber.method\n\t\ttext() {\n\n\t\t\tconst buffer = this.buffer()\n\n\t\t\tconst native = this.native\n\t\t\tconst mime = native.headers.get( 'content-type' ) || ''\n\t\t\tconst [,charset] = /charset=(.*)/.exec( mime ) || [, 'utf-8']\n\t\t\t\n\t\t\tconst decoder = new TextDecoder( charset )\n\t\t\treturn decoder.decode( buffer )\n\n\t\t}\t\n\n\t\t@ $mol_fiber.method\n\t\tjson() {\n\t\t\tconst response = this.native\n\t\t\tconst parse = $mol_fiber_sync( response.json )\n\t\t\treturn parse.call( response ) as unknown\n\t\t}\t\n\n\t\t@ $mol_fiber.method\n\t\tbuffer() {\n\t\t\tconst response = this.native\n\t\t\tconst parse = $mol_fiber_sync( response.arrayBuffer )\n\t\t\treturn parse.call( response ) as ArrayBuffer\n\t\t}\t\n\n\t\t@ $mol_fiber.method\n\t\txml() {\n\t\t\treturn $mol_dom_parse( this.text() , 'application/xml' )\n\t\t}\n\n\t\t@ $mol_fiber.method\n\t\txhtml() {\n\t\t\treturn $mol_dom_parse( this.text() , 'application/xhtml+xml' )\n\t\t}\n\n\t\t@ $mol_fiber.method\n\t\thtml() {\n\t\t\treturn $mol_dom_parse( this.text() , 'text/html' )\n\t\t}\n\n\t}\n\n\texport class $mol_fetch extends $mol_object2 {\n\t\t\n\t\tstatic request = $mol_fiber_sync( ( input : RequestInfo , init : RequestInit = {} )=> {\n\t\t\t\n\t\t\tif( typeof AbortController === 'function' ) {\n\t\t\t\tvar controller = new AbortController()\n\t\t\t\tinit.signal = controller.signal\n\t\t\t\tconst fiber = $mol_fiber.current!\n\t\t\t\tfiber.abort = ()=> {\n\t\t\t\t\tif( fiber.cursor === $mol_fiber_status.actual ) return true\n\t\t\t\t\tcontroller.abort()\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tlet native = $mol_dom_context.fetch\n\t\t\tif( !native ) native = $node['node-fetch'] as any\n\t\t\n\t\t\treturn native( input , init )\n\n\t\t} )\n\n\t\t@ $mol_fiber.method\n\t\tstatic response( input: RequestInfo, init?: RequestInit ) {\n\n\t\t\tconst response = this.request( input , init )\n\t\t\tif( Math.floor( response.status / 100 ) === 2 ) return new $mol_fetch_response( response )\n\t\t\t\n\t\t\tthrow new Error( response.statusText || `HTTP Error ${ response.status }` )\n\t\t}\n\n\t\t@ $mol_fiber.method\n\t\tstatic stream( input: RequestInfo, init?: RequestInit ) {\n\t\t\treturn this.response( input , init ).stream()\n\t\t}\n\n\t\t@ $mol_fiber.method\n\t\tstatic text( input: RequestInfo, init?: RequestInit ) {\n\t\t\treturn this.response( input , init ).text()\n\t\t}\t\n\n\t\t@ $mol_fiber.method\n\t\tstatic json( input: RequestInfo, init?: RequestInit ) {\n\t\t\treturn this.response( input , init ).json()\n\t\t}\t\n\n\t\t@ $mol_fiber.method\n\t\tstatic buffer( input: RequestInfo, init?: RequestInit ) {\n\t\t\tthis.response( input , init ).buffer()\n\t\t}\t\n\n\t\t@ $mol_fiber.method\n\t\tstatic xml( input: RequestInfo, init?: RequestInit ) {\n\t\t\treturn this.response( input , init ).xml()\n\t\t}\n\n\t\t@ $mol_fiber.method\n\t\tstatic xhtml( input: RequestInfo, init?: RequestInit ) {\n\t\t\treturn this.response( input , init ).xhtml()\n\t\t}\n\n\t\t@ $mol_fiber.method\n\t\tstatic html( input: RequestInfo, init?: RequestInit ) {\n\t\t\treturn this.response( input , init ).html()\n\t\t}\n\n\t}\n\n}\n\n","namespace $ {\n\t\n\texport class $mol_file_web extends $mol_file {\n\n\t\t@ $mol_mem_key\n\t\tstatic absolute( path : string ) {\n\t\t\treturn this.make({\n\t\t\t\tpath : $mol_const( path )\n\t\t\t})\n\t\t}\n\n\t\tstatic relative( path : string ) {\n\t\t\treturn this.absolute( new URL( path , this.base ).toString() )\n\t\t}\n\n\t\tstatic base = $mol_dom_context.document\n\t\t\t? new URL( '.' , $mol_dom_context.document.currentScript!['src'] ).toString()\n\t\t\t: ''\n\t\t\n\t\t@ $mol_mem\n\t\tbuffer( next? : Uint8Array , force? : $mol_mem_force ) {\n\t\t\tif (next !== undefined) throw new Error(`Saving content not supported: ${this.path}`)\n\n\t\t\tconst response = $mol_fetch.response(this.path())\n\t\t\tif (response.native.status === 404) throw new $mol_file_not_found(`File not found: ${this.path()}`)\n\n\t\t\treturn new Uint8Array(response.buffer())\n\t\t}\n\n\t\t@ $mol_mem\n\t\tstat( next? : $mol_file_stat, force? : $mol_mem_force ) {\n\t\t\tlet stat = next\n\t\t\tif (next === undefined) {\n\t\t\t\tconst content = this.text()\n\t\t\t\t// @todo взять дату из хедеров фетча, когда file.web будет переписан на webdav\n\t\t\t\tconst ctime = new Date()\n\t\t\t\tstat = {\n\t\t\t\t\ttype: 'file',\n\t\t\t\t\tsize: content.length,\n\t\t\t\t\tctime,\n\t\t\t\t\tatime: ctime,\n\t\t\t\t\tmtime: ctime\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.parent().watcher()\n\t\t\t\n\t\t\treturn stat!\n\t\t}\n\n\t\tresolve( path : string ) {\n\t\t\tlet res = this.path() + '/' + path\n\t\t\t\n\t\t\twhile( true ) {\n\t\t\t\tlet prev = res\n\t\t\t\tres = res.replace( /\\/[^\\/.]+\\/\\.\\.\\// , '/' )\n\t\t\t\tif( prev === res ) break\n\t\t\t}\n\t\t\t\n\t\t\treturn ( this.constructor as typeof $mol_file_web ).absolute( res )\n\t\t}\n\n\t\tensure(next?: boolean): boolean {\n\t\t\tthrow new Error('$mol_file_web.ensure() not implemented')\n\t\t} \n\n\t\t@ $mol_mem\n\t\tsub() : $mol_file[] {\n\t\t\tthrow new Error('$mol_file_web.sub() not implemented')\n\t\t}\n\t\t\n\t\trelate( base = ( this.constructor as typeof $mol_file ).relative( '.' )): string {\n\t\t\tthrow new Error('$mol_file_web.relate() not implemented')\n\t\t}\n\t\t\n\t\tappend( next : Uint8Array | string ) {\n\t\t\tthrow new Error('$mol_file_web.append() not implemented')\n\t\t}\n\t}\n\n\t$.$mol_file = $mol_file_web\n}\n","namespace $ {\n\t\n\texport interface $mol_locale_dict {\n\t\t[ key : string ] : string\n\t}\n\t\n\texport class $mol_locale extends $mol_object {\n\t\t\n\t\t@ $mol_mem\n\t\tstatic lang_default() {\n\t\t\treturn 'en'\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tstatic lang( next? : string ) {\n\t\t\treturn $mol_state_local.value( 'locale' , next ) || $mol_dom_context.navigator.language.replace( /-.*/ , '' ) || this.lang_default()\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic source( lang : string ) {\n\t\t\treturn JSON.parse( $mol_file.relative( `web.locale=${ lang }.json` ).text().toString() )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic texts( lang : string , next? : $mol_locale_dict ) : $mol_locale_dict {\n\t\t\tif( next ) return next\n\t\t\t\n\t\t\ttry {\n\t\t\t\treturn this.source( lang ).valueOf()\n\t\t\t} catch( error: any ) {\n\t\t\t\tif( 'then' in error ) $mol_fail_hidden( error )\n\t\t\t\tconst def = this.lang_default()\n\t\t\t\tif( lang === def ) throw error\n\t\t\t\treturn this.source( def )\n\t\t\t}\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic text( key : string ) {\n\n\t\t\tfor( let lang of [ this.lang() , 'en' ] ) {\n\t\t\t\t\n\t\t\t\tconst text = this.texts( lang )[ key ]\n\t\t\t\tif( text ) return text\n\n\t\t\t\tthis.warn( key )\n\t\t\t}\n\t\t\t\t\t\t\n\t\t\treturn `<${ key }>`\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic warn( key : string ) {\n\t\t\tconsole.warn( `Not translated to \"${ this.lang() }\": ${ key }` )\n\t\t\treturn null\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\n\texport function $mol_view_tree_trim_remarks( def : $mol_tree ) {\n\t\treturn def.transform( ( [ node ] , sub )=> ( node.type === '-' ) ? null : node.clone({ sub : sub() }) )!\n\t}\n\n\texport function $mol_view_tree_classes( defs : $mol_tree ) {\n\t\treturn $mol_view_tree_trim_remarks( defs )\n\t}\n\n\texport function $mol_view_tree_class_name( val : $mol_tree ) {\n\t\treturn val.type\n\t}\n\n\texport function $mol_view_tree_super_name( val : $mol_tree ) {\n\t\tif( val.sub.length != 1 ) throw val.error( 'Wrong sub count' )\n\t\treturn val.sub[0].type\n\t}\n\n\texport function $mol_view_tree_class_props( def : $mol_tree ) {\n\t\tconst props : { [ key : string ] : $mol_tree } = {}\n\t\t\n\t\tconst catch_prop = ( prop : $mol_tree , type = '' )=> {\n\n\t\t\tlet def = prop\n\t\t\t\n\t\t\tif( type === '=>' ) {\n\t\t\t\tif( prop.sub[0] ) throw prop.error( 'Right binding can not have default value' )\n\t\t\t} else {\n\n\t\t\t\tif( prop.sub.length === 0 ) return\n\t\t\t\tif( prop.sub[0].type === '-' ) return\n\t\t\t\t\t\t\n\t\t\t\tprops[ prop.type ] = props[ prop.type ]\n\n\t\t\t\tdef = prop.clone({\n\t\t\t\t\tsub : [ prop.sub[0].transform( ( [ node , ... stack ] , sub )=> {\n\n\t\t\t\t\t\tif( [ '<=' , '<=>' , '=>' ].indexOf( node.type ) === -1 ) return node.clone({ sub : sub() })\n\t\t\t\t\t\t\n\t\t\t\t\t\tcatch_prop( node.sub[0] , node.type )\n\n\t\t\t\t\t\treturn node.clone({\n\t\t\t\t\t\t\tsub : [ node.sub[0].clone({\n\t\t\t\t\t\t\t\tsub : []\n\t\t\t\t\t\t\t}) ]\n\t\t\t\t\t\t})\n\t\t\t\t\t\t\n\t\t\t\t\t} )!]\n\t\t\t\t})\n\n\t\t\t}\n\n\t\t\tif( props[ prop.type ] ) {\n\t\t\t\tif( props[ prop.type ].toString() !== def.toString() ) {\n\t\t\t\t\tthrow def.error( 'Property already defined with another default value' + props[ prop.type ].error('').message + '\\n---' )\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tprops[ prop.type ] = def\n\t\t\t}\n\t\t}\n\n\t\tdef.sub[0].sub.map( sub => catch_prop( sub ) )\n\t\t\n\t\treturn def.clone({\n\t\t\ttype : '' ,\n\t\t\tsub : Object.keys( props ).map( name => props[ name ] ) ,\n\t\t})\n\n\t}\n\n\texport function $mol_view_tree_prop_name( prop : $mol_tree ) {\n\t\treturn ( prop.type.match( /^\\w+/ ) || [] )[0] || ''\n\t}\n\n\texport function $mol_view_tree_prop_key( prop : $mol_tree ) {\n\t\treturn ( prop.type.match( /!(\\w+)$/ ) || [] )[1] || ''\n\t}\n\n\texport function $mol_view_tree_prop_next( prop : $mol_tree ) {\n\t\treturn ( prop.type.match( /\\?(\\w+)$/ ) || [] )[1] || ''\n\t}\n\n\texport function $mol_view_tree_prop_value( prop : $mol_tree ) {\n\t\tif( prop.sub.length != 1 ) throw prop.error( `Wrong sub count (${ prop.sub.length })` )\n\t\treturn prop.sub[0]\n\t}\n\n\texport function $mol_view_tree_value_type( val : $mol_tree ) {\n\t\t\n\t\tswitch( val.type ) {\n\t\t\tcase 'true' : return 'bool'\n\t\t\tcase 'false' : return 'bool'\n\t\t\tcase 'null' : return 'null'\n\t\t\tcase '*' : return 'dict'\n\t\t\tcase '@' : return 'locale'\n\t\t\tcase '' : return 'string'\n\t\t\tcase '<=' : return 'get'\n\t\t\tcase '<=>' : return 'bind'\n\t\t\tcase '=>' : return 'put'\n\t\t}\n\n\t\tswitch( val.type[0] ) {\n\t\t\tcase '/' : return 'list'\n\t\t\tcase '$' : return 'object'\n\t\t}\n\n\t\tif( Number( val.type ).toString() == val.type ) return 'number'\n\n\t\tthrow val.error( 'Wrong value' )\n\t}\n\n\texport function $mol_view_tree_compile( tree : $mol_tree) {\n\t\tconst splittedUri = tree.uri.split(/[#\\\\\\/]/);\n\t\tsplittedUri.pop();\n\t\tconst fileName = splittedUri.pop()!;\n\n\t\t// const SourceNode = $node['source-map'].SourceNode\n\t\t// type SourceNode = InstanceType< typeof SourceNode >\n\t\tconst SourceNode = ( row : number , col : number , fileName : string , text : string ) => text\n\t\ttype StringNodeArray = string[] //(string | SourceNode)[];\n\t\t\n\t\tvar content: StringNodeArray = []\n\t\tvar locales : { [ key : string ] : string } = {}\n\t\t\n\t\tfor( let def of $mol_view_tree_classes( tree ).sub ) {\n\t\t\tif( !/^\\$\\w+$/.test( def.type ) ) throw def.error( 'Wrong component name' )\n\t\t\t\n\t\t\tvar parent = def.sub[0]\n\t\t\t\n\t\t\t// var propDefs : { [ key : string ] : $mol_tree } = {}\n\t\t\tvar members : { [ key : string ] : StringNodeArray } = {}\n\t\t\t\n\t\t\tfor( let param of $mol_view_tree_class_props( def ).sub ) { try {\n\t\t\t\tvar needSet = false\n\t\t\t\tvar needCache = false\n\t\n\t\t\t\tif( param.type === '<=>' ) {\n\t\t\t\t\tparam = param.sub[0]\n\t\t\t\t}\n\t\n\t\t\t\tif( param.type === '<=' ) {\n\t\t\t\t\tparam = param.sub[0]\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tvar propName = /(.*?)(?:\\!(\\w+))?(?:\\?(\\w+))?$/.exec( param.type )!\n\t\t\t\t\n\t\t\t\tif( propName[3] ) {\n\t\t\t\t\tneedSet = true\n\t\t\t\t\tneedCache = true\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tconst getValue = ( value : $mol_tree , definition? : boolean ) : StringNodeArray | null=> { try {\n\t\t\t\t\tswitch( true ) {\n\t\t\t\t\t\tcase( value.type === '' ) :\n\t\t\t\t\t\t\treturn [JSON.stringify( value.value )]\n\t\t\t\t\t\tcase( value.type === '@' ) :\n\t\t\t\t\t\t\tconst key = `${ def.type }_${ param.type.replace( /[?!].*/ , '' ) }`\n\t\t\t\t\t\t\tlocales[ key ] = value.value\n\t\t\t\t\t\t\treturn [`this.$.$mol_locale.text( ${ JSON.stringify( key ) } )`]\n\t\t\t\t\t\tcase( value.type === '-' ) :\n\t\t\t\t\t\t\treturn null\n\t\t\t\t\t\tcase( value.type[0] === '/' ) :\n\t\t\t\t\t\t\tconst item_type = value.type.substring( 1 )\n\t\t\t\t\t\t\tvar items : StringNodeArray = []\n\t\t\t\t\t\t\tvalue.sub.forEach( item => {\n\t\t\t\t\t\t\t\tif( item.type === '-' ) return\n\t\t\t\t\t\t\t\tif( item.type === '^' ) {\n\t\t\t\t\t\t\t\t\titems.push( `...super.${ param.type }()` )\n\t\t\t\t\t\t\t\t\treturn\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tvar val = getValue( item )\n\t\t\t\t\t\t\t\tif( val ) items.push( val.join(\"\") )\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\treturn [`[`, items.join(' , '), `]` , ( item_type ? ` as readonly ( ${ item_type } )[]` : ` as readonly any[]` )]\n\t\t\t\t\t\tcase( value.type[0] === '$' ) :\n\t\t\t\t\t\t\tif( !definition ) throw value.error( 'Objects should be bound' )\n\t\t\t\t\t\t\tneedCache = true\n\t\t\t\t\t\t\tvar overs : StringNodeArray = []\n\t\t\t\t\t\t\tvalue.sub.forEach( over => {\n\t\t\t\t\t\t\t\tif( /^[-\\/]?$/.test( over.type ) ) return ''\n\t\t\t\t\t\t\t\tvar overName = /(.*?)(?:\\!(\\w+))?(?:\\?(\\w+))?$/.exec( over.type )!\n\t\t\t\t\t\t\t\tvar ns = needSet\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tif( over.sub[0].type === '=>' ) {\n\t\t\t\t\t\t\t\t\tif( over.sub[0].sub.length === 1 ) {\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tconst [ , own_name , own_key , own_next ] = /(.*?)(?:\\!(\\w+))?(?:\\?(\\w+))?$/.exec( over.sub[0].sub[0].type )!\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tlet own_args : string[] = []\n\t\t\t\t\t\t\t\t\t\tif( own_key ) own_args.push( ` ${own_key} : any ` )\n\t\t\t\t\t\t\t\t\t\tif( own_next ) own_args.push( ` ${own_next}? : any ` )\n\n\t\t\t\t\t\t\t\t\t\tlet [ , their_name , ... their_args ] = /(.*?)(?:\\!(\\w+))?(?:\\?(\\w+))?$/.exec( over.type )!\n\t\t\t\t\t\t\t\t\t\ttheir_args = their_args.filter( Boolean )\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tmembers[ own_name ] = [`\\t${ own_name }(${ own_args.join(',') }) {\\n\\t\\treturn this.${ propName[1] }(${ propName[2] || '' }).${ their_name }( ${ their_args.join(' , ') } )\\n\\t}\\n\\n`]\n\t\t\t\t\t\t\t\t\t\treturn\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tvar v = getValue( over.sub[0] )\n\t\t\t\t\t\t\t\tlet args : string[] = []\n\t\t\t\t\t\t\t\tif( overName[2] ) args.push( ` ${ overName[2] } : any ` )\n\t\t\t\t\t\t\t\tif( overName[3] ) args.push( ` ${ overName[3] }? : any ` )\n\t\t\t\t\t\t\t\tovers.push( ...['\\t\\t\\tobj.' , SourceNode(over.row, over.col, fileName, overName[1]), ' = (', args.join( ',' ), ') => ' , ...(v || []) , '\\n'] )\n\t\t\t\t\t\t\t\tneedSet = ns\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\tconst object_args = value.select( '/' , '' ).sub.map( arg => getValue( arg ) ).join( ' , ' ) as string\n\t\t\t\t\t\t\treturn ['(( obj )=>{\\n', ...overs, '\\t\\t\\treturn obj\\n\\t\\t})( new this.$.', SourceNode(value.row, value.col, fileName, value.type) , '( ' , object_args , ' ) )']\n\t\t\t\t\t\tcase( value.type === '*' ) :\n\t\t\t\t\t\t\tvar opts : StringNodeArray = []\n\t\t\t\t\t\t\tvalue.sub.forEach( opt => {\n\t\t\t\t\t\t\t\tif( opt.type === '-' ) return ''\n\t\t\t\t\t\t\t\tif( opt.type === '^' ) {\n\t\t\t\t\t\t\t\t\topts.push( `\\t\\t\\t...super.${ param.type }() ,\\n` )\n\t\t\t\t\t\t\t\t\treturn\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tvar key = /(.*?)(?:\\?(\\w+))?$/.exec( opt.type )!\n\t\t\t\t\t\t\t\tvar ns = needSet\n\t\t\t\t\t\t\t\tvar v = getValue( opt.sub[0] )\n\t\t\t\t\t\t\t\tvar arg = key[2] ? ` ( ${ key[2] }? : any )=> ` : ''\n\t\t\t\t\t\t\t\topts.push( ...['\\t\\t\\t\"', SourceNode(opt.row, opt.col, fileName, key[1]+ '\" : '), arg,' ', ...(v || []) , ' ,\\n'] )\n\t\t\t\t\t\t\t\tneedSet = ns\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\treturn ['({\\n', opts.join( '' ), '\\t\\t})']\n\t\t\t\t\t\tcase( value.type === '<=>' ) :\n\t\t\t\t\t\t\tif( value.sub.length === 1 ) {\n\t\t\t\t\t\t\t\tvar type = /(.*?)(?:\\!(\\w+))?(?:\\?(\\w+))$/.exec( value.sub[0].type )!\n\t\t\t\t\t\t\t\treturn ['this.' + type[1] + '(' + ( type[2] ? type[2] + ' ,' : '' ) + ' ' + type[3] + ' )']\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\tcase( value.type === '<=' ) :\n\t\t\t\t\t\t\tif( value.sub.length === 1 ) {\n\t\t\t\t\t\t\t\tvar type = /(.*?)(?:\\!(\\w+))?(?:\\?(\\w+))?$/.exec( value.sub[0].type )!\n\t\t\t\t\t\t\t\treturn ['this.' + type[1] + '(' + ( type[2] ? type[2] : '' ) + ')']\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tswitch( value.type ) {\n\t\t\t\t\t\tcase 'true' :\n\t\t\t\t\t\tcase 'false' :\n\t\t\t\t\t\t\treturn [value.type]\n\t\t\t\t\t\tcase 'null' :\n\t\t\t\t\t\t\treturn ['null as any']\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tif( Number( value.type ).toString() == value.type ) return [value.type]\n\t\t\t\t\t\n\t\t\t\t\tthrow value.error( 'Wrong value' )\n\t\t\t\t} catch ( err ) {\n\t\t\t\t\t// err.message += `\\n${value.baseUri}:${value.row}:${value.col}\\n${ value }`\n\t\t\t\t\tthrow err\n\t\t\t\t} }\n\t\t\t\t\n\t\t\t\tif( param.sub.length > 1 ) throw new Error( 'Too more sub' )\n\t\t\t\tparam.sub.forEach( child => {\n\t\t\t\t\tvar val = getValue( child , true )\n\t\t\t\t\tif( !val ) return\n\t\t\t\t\t\n\t\t\t\t\t// propDefs[ propName[1] ] = param\n\t\t\t\t\t\n\t\t\t\t\tvar args : string[] = []\n\t\t\t\t\tif( propName[2] ) args.push( ` ${ propName[2] } : any ` )\n\t\t\t\t\tif( propName[3] ) args.push( ` ${ propName[3] }? : any , force? : $${''}mol_mem_force ` )\n\n\t\t\t\t\tif( needSet ) val = [\n\t\t\t\t\t\t`( ${ propName[3] } !== void 0 ) ? ${ propName[3] } : `,\n\t\t\t\t\t\t...val\n\t\t\t\t\t]\n\t\t\t\t\tval = ['return ', ...val]\n\n\t\t\t\t\tvar decl: StringNodeArray = ['\\t', SourceNode(param.row, param.col, fileName, propName[1]),'(', args.join(',') , ') {\\n\\t\\t' , ...val , '\\n\\t}\\n\\n']\n\t\t\t\t\tif( needCache ) {\n\t\t\t\t\t\tif( propName[2] ) decl = ['\\t@ $' , 'mol_mem_key\\n', ...decl]\n\t\t\t\t\t\telse decl = ['\\t@ $', 'mol_mem\\n', ...decl]\n\t\t\t\t\t}\n\t\t\t\t\tdecl = ['\\t/**\\n\\t * ```\\n', param.toString().trim().replace( /^/mg , '\\t * ' ), '\\n\\t * ```\\n\\t **/\\n' , ...decl]\n\t\t\t\t\tmembers[ propName[1] ] = decl\n\t\t\t\t} )\n\t\t\t\t\n\t\t\t} catch ( err ) {\n\t\t\t\t// err.message += `\\n${param.baseUri}:${param.row}:${param.col}\\n${ param }`\n\t\t\t\tthrow err\n\t\t\t} }\n\n\t\t\tvar body = Object.keys( members ).reduce( function( acc, name ) {\n\t\t\t\tconst items = members[ name ] ? members[name] : ['\\t' , name ,'() { return null as any }\\n\\t}\\n']\n\t\t\t\treturn [...acc, ...items]\n\t\t\t}, [] as StringNodeArray)\n\t\t\tvar classes: StringNodeArray = [ 'namespace $ { export class ', SourceNode(def.row, def.col, fileName, def.type ), ' extends ', SourceNode(parent.row, parent.col, fileName, parent.type), ' {\\n\\n', ...body, '} }\\n'] \n\t\t\t\n\t\t\tcontent = [...content, ...classes]\n\t\t}\n\n\t\treturn { script : content.join('') , locales }\n\n\t\t// splittedUri.push(`-view.tree`,`${ fileName }.map`)\n\n\t\t// const node = SourceNode(null as any, null as any, fileName, content as any);\n\t\t// node.add(`//@ sourceMappingURL=${splittedUri.join($node.path.sep)}`);\n\t\t// const codeWithSourceMap= node.toStringWithSourceMap();\n\t\t// return { script : codeWithSourceMap.code, locales : locales, map: codeWithSourceMap.map.toString() }\n\t}\n\n}\n"]}
1
+ {"version":3,"sources":["../../../test/test.test.ts","../../../test/test.web.test.ts","../../../type/error/error.js","../../../type/assert/assert.test.js","../../../type/assert/assert.js","../../../type/partial/deep/deep.test.js","../../../type/partial/deep/deep.js","../../../jsx/jsx.test.tsx","../../../jsx/jsx.ts","../../../compare/deep/deep.test.tsx","../../../dom/serialize/serialize.ts","../../../assert/assert.test.ts","../../../assert/assert.ts","../../../delegate/delegate.test.ts","../../../type/writable/writable.test.js","../../../after/mock/mock.test.ts","../../../after/tick/tick.test.ts","../../../object/object.test.ts","../../../type/keys/extract/extract.test.js","../../../log3/log3.test.ts","../../../wrapper/wrapper.test.ts","../../../after/frame/frame.test.ts","../../../array/trim/trim.test.ts","../../../fiber/fiber.test.ts","../../../defer/defer.ts","../../../atom2/atom2.test.js","../../../type/param/param.test.js","../../../type/result/result.test.js","../../../mem/mem.test.ts","../../../key/key.test.tsx","../../../mem/key/key.test.ts","../../../atom2/autorun/autorun.test.ts","../../../after/timeout/timeout.test.ts","../../../const/const.test.ts","../../../memo/memo.test.ts","../../../func/name/name.test.ts","../../../view/view/view.test.ts","../../../after/work/work.test.ts","../../../vector/vector.test.ts","../../../type/equals/equals.test.js","../../../type/equals/equals.js","../../../view/tree/test/-view.tree/attributes.test.view.tree.ts","../../../view/tree/test/-view.tree/binding.test.view.tree.ts","../../../view/tree/test/-view.tree/binding_right.test.view.tree.ts","../../../view/tree/test/-view.tree/simple.test.view.tree.ts","../../../view/tree/test/-view.tree/subcomponent.test.view.tree.ts","../../../view/tree/test/tree.test.ts","../../../tree/tree.test.ts","../../../tree/tree.ts","../../../state/local/local.ts","../../../state/local/local.mock.test.ts","../../../state/local/local.test.ts","../../../state/local/local.web.ts","../../../../node/node.js","../../../../node/node.web.ts","../../../charset/decode/decode.test.ts","../../../charset/decode/decode.ts","../../../charset/encode/encode.test.ts","../../../charset/encode/encode.ts","../../../file/file.ts","../../../dom/parse/parse.ts","../../../fetch/fetch.ts","../../../file/file.web.ts","../../../locale/locale.ts","../../../view/tree/tree.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 : $ )=> void >\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\tawait test( context )\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",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'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_tick = $mol_after_mock_commmon as any as typeof $mol_after_tick\n\t})\n\n}\n","namespace $ {\n\t$mol_test( {\n\t\t\n\t\t'init with overload'() {\n\t\t\tclass X extends $mol_object {\n\t\t\t\tfoo() {\n\t\t\t\t\treturn 1\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tvar x = X.make({\n\t\t\t\tfoo : ()=> 2 ,\n\t\t\t})\n\t\t\t\n\t\t\t$mol_assert_equal( x.foo() , 2 )\n\t\t} ,\n\t\t\t\n\t} )\n}\n",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\t$mol_test({\n\n\t\t'run callback' () {\n\n\t\t\tclass Plus1 extends $mol_wrapper {\n\t\t\n\t\t\t\tstatic wrap< This , Args extends any[] >( task : ( this : This , ... args : Args )=> number ) {\n\t\t\n\t\t\t\t\treturn function( this : This , ... args : Args ) {\n\t\t\t\t\t\treturn task.call( this , ... args ) + 1 as number\n\t\t\t\t\t}\n\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\n\t\t\t$mol_assert_equal( Plus1.run( ()=> 2 ) , 3 )\n\n\t\t} ,\n\n\t\t'wrap function' () {\n\t\t\n\t\t\tclass Plus1 extends $mol_wrapper {\n\t\t\n\t\t\t\tstatic wrap< This , Args extends any[] >( task : ( this : This , ... args : Args )=> number ) {\n\t\t\n\t\t\t\t\treturn function( this : This , ... args : Args ) {\n\t\t\t\t\t\treturn task.call( this , ... args ) + 1 as number\n\t\t\t\t\t}\n\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\t\n\t\t\tconst obj = {\n\t\t\t\tlevel : 2 ,\n\t\t\t\tpow : Plus1.func( function( this : { level : number } , a ) {\n\t\t\t\t\treturn a ** this.level\n\t\t\t\t} )\n\t\t\t}\n\n\t\t\t$mol_assert_equal( obj.pow( 2 ) , 5 )\n\n\t\t} ,\n\n\t\t'decorate field getter' () {\n\n\t\t\tclass Plus1 extends $mol_wrapper {\n\n\t\t\t\tstatic last = 0\n\t\t\n\t\t\t\tstatic wrap< This , Args extends any[] >( task : ( this : This , ... args : Args )=> number ) {\n\t\t\n\t\t\t\t\treturn function( this : This , ... args : Args ) {\n\t\t\t\t\t\treturn Plus1.last = ( task.call( this , ... args ) || 0 ) + 1 as number\n\t\t\t\t\t}\n\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\n\t\t\tclass Foo {\n\n\t\t\t\t@ Plus1.field\n\t\t\t\tstatic get two() {\n\t\t\t\t\treturn 1\n\t\t\t\t}\n\t\t\t\tstatic set two( next : number ) {}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\t$mol_assert_equal( Foo.two , 2 )\n\t\t\t\n\t\t\tFoo.two = 3\n\t\t\t$mol_assert_equal( Plus1.last , 2 )\n\t\t\t$mol_assert_equal( Foo.two , 2 )\n\n\t\t} ,\n\n\t\t'decorate instance method' () {\n\n\t\t\tclass Plus1 extends $mol_wrapper {\n\t\t\n\t\t\t\tstatic wrap< This , Args extends any[] >( task : ( this : This , ... args : Args )=> number ) {\n\t\t\n\t\t\t\t\treturn function( this : This , ... args : Args ) {\n\t\t\t\t\t\treturn task.call( this , ... args ) + 1 as number\n\t\t\t\t\t}\n\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\n\t\t\tclass Foo1 {\n\n\t\t\t\tlevel = 2\n\n\t\t\t\t@ Plus1.method\n\t\t\t\tpow( a : number ) {\n\t\t\t\t\treturn a ** this.level\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tconst Foo2 = Foo1\n\t\t\tconst foo = new Foo2\n\n\t\t\t$mol_assert_equal( foo.pow( 2 ) , 5 )\n\n\t\t} ,\n\n\t\t'decorate static method' () {\n\t\t\t\n\t\t\tclass Plus1 extends $mol_wrapper {\n\t\t\n\t\t\t\tstatic wrap< This , Args extends any[] >( task : ( this : This , ... args : Args )=> number ) {\n\t\t\n\t\t\t\t\treturn function( this : This , ... args : Args ) {\n\t\t\t\t\t\treturn task.call( this , ... args ) + 1 as number\n\t\t\t\t\t}\n\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\n\t\t\tclass Foo {\n\n\t\t\t\tstatic level = 2\n\n\t\t\t\t@ Plus1.method\n\t\t\t\tstatic pow( a : number ) {\n\t\t\t\t\treturn a ** this.level\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\t$mol_assert_equal( Foo.pow( 2 ) , 5 )\n\n\t\t} ,\n\n\t\t'decorate class' () {\n\t\t\t\n\t\t\tclass BarInc extends $mol_wrapper {\n\n\t\t\t\tstatic wrap< This , Args extends any[] >( task : ( this : This , ... args : Args )=> Foo ) {\n\t\t\t\t\t\n\t\t\t\t\treturn function( this : This , ... args : Args ) {\n\n\t\t\t\t\t\tconst foo = task.call( this , ...args )\n\t\t\t\t\t\tfoo.bar ++\n\t\t\t\t\t\treturn foo\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t}\n\t\t\t\n\t\t\t@ BarInc.class\n\t\t\tclass Foo {\n\t\t\t\tconstructor( public bar : number ) {}\n\t\t\t}\n\n\t\t\t$mol_assert_equal( new Foo( 2 ).bar , 3 )\n\n\t\t} ,\n\n\t})\n}\n","namespace $ {\n\n\t$mol_test_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\n\t\t'trim array'() {\n\n\t\t\tconst array = [ undefined , null , 0, false , null , undefined , undefined ]\n\t\t\tconst correct = [ undefined , null , 0, false , null ]\n\t\t\t\n\t\t\t$mol_array_trim( array )\n\t\t\t\n\t\t\t$mol_assert_like( array , correct )\n\n\t\t}\n\n\t})\n\n}\n","namespace $ {\n\n\t$mol_test_mocks.push( async $ => {\n\t\tawait $mol_fiber_warp()\n\t\t$mol_fiber.deadline = Date.now() + 100\n\t} )\n\t\n\t\n\t$mol_test({\n\n\t\t'sync to async': async $ => {\n\t\t\t\n\t\t\tconst sum = $mol_fiber_async( ( a : number , b : number )=> a + b )\n\t\t\t\n\t\t\tconst res = await sum( 1 , 2 )\n\n\t\t\t$mol_assert_equal( res , 3 )\n\n\t\t},\n\n\t})\n\t\n}\n","namespace $ {\n\t\n\t/** @deprecated Use $mol_after_frame instead */\n\texport class $mol_defer extends $mol_object {\n\t\t\n\t\tconstructor( public run : ()=> void ) {\n\t\t\tsuper()\n\t\t\t$mol_defer.add( this )\n\t\t}\n\t\t\n\t\tdestructor() {\n\t\t\t$mol_defer.drop( this )\n\t\t}\n\t\t\n\t\tstatic all : $mol_defer[] = []\n\t\tstatic timer = null as any\n\t\t\n\t\tstatic scheduleNative : ( handler : ()=> void ) => any = ( typeof requestAnimationFrame == 'function' )\n\t\t\t? handler => requestAnimationFrame( handler )\n\t\t\t: handler => setTimeout( handler , 16 )\n\t\t\n\t\tstatic schedule() {\n\t\t\tif( this.timer ) return\n\t\t\t\n\t\t\tthis.timer = this.scheduleNative( ()=> {\n\t\t\t\tthis.timer = null\n\t\t\t\tthis.run()\n\t\t\t} )\n\t\t}\n\t\t\n\t\tstatic unschedule() {\n\t\t\tif( !this.timer ) return\n\t\t\t\n\t\t\tcancelAnimationFrame( this.timer )\n\t\t\tthis.timer = null\n\t\t}\n\t\t\n\t\tstatic add( defer : $mol_defer ) {\n\t\t\tthis.all.push( defer )\n\t\t\tthis.schedule()\n\t\t}\n\t\t\n\t\tstatic drop( defer : $mol_defer ) {\n\t\t\tvar index = this.all.indexOf( defer )\n\t\t\tif( index >= 0 ) this.all.splice( index , 1 )\n\t\t}\n\t\t\n\t\tstatic run() {\n\t\t\tif( this.all.length === 0 ) return\n\t\t\tthis.schedule()\n\t\t\tfor( var defer : $mol_defer | undefined ; defer = this.all.shift() ; ) defer.run()\n\t\t\t//this.unschedule()\n\t\t}\n\t\t\n\t}\n\n}\n",null,null,null,"namespace $ {\n\t$mol_test( {\n\n\t\t'Property method' ($) {\n\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\n\t\t\t\t@ $mol_mem\n\t\t\t\tstatic value( next = 1 ) { return next + 1 }\n\n\t\t\t}\n\n\t\t\t$mol_assert_equal( App.value() , 2 )\n\n\t\t\tApp.value( 2 )\n\t\t\t$mol_assert_equal( App.value() , 3 )\n\n\t\t} ,\n\n\t\t'auto sync of properties'($) {\n\n\t\t\tclass X extends $mol_object2 {\n\n\t\t\t\t@ $mol_mem\n\t\t\t\tfoo( next? : number ) {\n\t\t\t\t\treturn next || 1\n\t\t\t\t}\n\n\t\t\t\t@ $mol_mem\n\t\t\t\tbar() {\n\t\t\t\t\treturn this.foo() + 1\n\t\t\t\t}\n\n\t\t\t\t@ $mol_mem\n\t\t\t\txxx() {\n\t\t\t\t\treturn this.bar() + 1\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tconst x = new X\n\t\t\tx.$ = $\n\n\t\t\t$mol_assert_equal( x.bar() , 2 )\n\t\t\t$mol_assert_equal( x.xxx() , 3 )\n\n\t\t\tx.foo( 5 )\n\t\t\t$mol_assert_equal( x.xxx() , 7 )\n\t\t} ,\n\n\t\t// 'must fail on recursive dependency'() {\n\t\t\n\t\t// \tclass App extends $mol_object {\n\t\t\n\t\t// \t\t@ $mol_mem\n\t\t// \t\tstatic foo() : number {\n\t\t// \t\t\treturn this.foo() + 1\n\t\t// \t\t}\n\t\t\n\t\t// \t}\n\t\t\n\t\t// \t$mol_assert_fail( ()=> App.foo() )\n\n\t\t// } ,\n\n\t\tasync 'must be deferred destroyed when no longer referenced'($) {\n\n\t\t\tlet foo : any\n\t\t\tlet foo_destroyed = false\n\n\t\t\tclass B extends $mol_object2 {\n\n\t\t\t\t@ $mol_mem\n\t\t\t\tshowing( next? : boolean ) {\n\t\t\t\t\tif( next === void 0 ) return true\n\t\t\t\t\treturn next\n\t\t\t\t}\n\n\t\t\t\t@ $mol_mem\n\t\t\t\tfoo() {\n\t\t\t\t\treturn foo = new class extends $mol_object {\n\t\t\t\t\t\tdestructor() {\n\t\t\t\t\t\t\tfoo_destroyed = 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_mem\n\t\t\t\tbar() {\n\t\t\t\t\treturn this.showing() ? this.foo() : null\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tvar b = new B\n\t\t\tb.$ = $\n\n\t\t\tvar bar = b.bar()\n\t\t\t$mol_assert_ok( bar )\n\n\t\t\tb.showing( false )\n\t\t\tb.bar()\n\n\t\t\tawait $mol_fiber_warp()\n\t\t\t$mol_assert_ok( foo_destroyed )\n\t\t\t$mol_assert_not( b.bar() )\n\n\t\t\tb.showing( true )\n\t\t\t$mol_defer.run()\n\t\t\t$mol_assert_unique( b.bar() , bar )\n\t\t} ,\n\n\t\tasync 'wait for data'($) {\n\n\t\t\tclass Test extends $mol_object2 {\n\n\t\t\t\t@ $mol_mem\n\t\t\t\tsource() : string {\n\t\t\t\t\treturn $mol_fiber_sync( ()=> new Promise< string >( done => done( 'Jin' ) ) )()\n\t\t\t\t}\n\n\t\t\t\t@ $mol_mem\n\t\t\t\tmiddle() {\n\t\t\t\t\treturn this.source()\n\t\t\t\t}\n\n\t\t\t\t@ $mol_mem\n\t\t\t\ttarget() {\n\t\t\t\t\treturn this.middle()\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tconst t = new Test\n\t\t\tt.$ = $\n\n\t\t\t$mol_assert_fail( ()=> t.target().valueOf() , Promise )\n\n\t\t\tawait $mol_fiber_warp()\n\n\t\t\t$mol_assert_equal( t.target() , 'Jin' )\n\t\t} ,\n\n\t} )\n\n}\n","/** @jsx $mol_jsx */\nnamespace $ {\n\t$mol_test({\n\t\t\n\t\t'Primitives'() {\n\t\t\t\n\t\t\t$mol_assert_equal( $mol_key( null ), 'null' )\n\t\t\t$mol_assert_equal( $mol_key( false ), 'false' )\n\t\t\t$mol_assert_equal( $mol_key( true ), 'true' )\n\t\t\t$mol_assert_equal( $mol_key( 0 ), '0' )\n\t\t\t$mol_assert_equal( $mol_key( '' ), '\"\"' )\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","module $ {\n\t\n\t$mol_test({\n\t\t\n\t\t'keyed reactive properties' ($) {\n\t\t\t$mol_fiber_warp()\n\n\t\t\tclass Fib extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\n\t\t\t\t@ $mol_mem_key\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\treturn this.value( index - 1 ) + this.value( index - 2 )\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\t$mol_assert_equal( Fib.value( 10 ) , 89 )\n\n\t\t\tFib.value( 1 , 2 )\n\t\t\t$mol_assert_equal( Fib.value( 10 ) , 144 )\n\n\t\t} ,\n\n\t\t'cached property with simple key'($) {\n\n\t\t\tclass X extends $mol_object2 {\n\n\t\t\t\t@ $mol_mem_key\n\t\t\t\tfoo( id : number , next? : Number | null ) {\n\t\t\t\t\tif( next == null ) return new Number( 123 )\n\t\t\t\t\treturn new Number( next )\n\t\t\t\t}\n\n\t\t\t}\n\t\t\tconst x = new X\n\t\t\tx.$ = $\n\n\t\t\t// get\n\t\t\t$mol_assert_equal( x.foo( 0 ).valueOf() , 123 )\n\t\t\t$mol_assert_equal( x.foo( 0 ) , x.foo( 0 ) )\n\t\t\t$mol_assert_unique( x.foo( 0 ) , x.foo( 1 ) )\n\n\t\t\t// set\n\t\t\tx.foo( 0 , 321 )\n\t\t\t$mol_assert_equal( x.foo( 0 ).valueOf() , 321 )\n\n\t\t\t// reset\n\t\t\tx.foo( 0 , null )\n\t\t\t\n\t\t\t$mol_assert_equal( x.foo( 0 ).valueOf() , 123 )\n\n\t\t} ,\n\n\t\t'cached property with complex key'($) {\n\n\t\t\tclass X extends $mol_object2 {\n\t\t\t\t\n\t\t\t\t@ $mol_mem_key\n\t\t\t\tfoo( ids : number[] ) {\n\t\t\t\t\treturn Math.random()\n\t\t\t\t}\n\n\t\t\t}\n\t\t\tconst x = new X\n\t\t\tx.$ = $\n\n\t\t\t$mol_assert_equal( x.foo( [ 0 , 1 ] ) , x.foo( [ 0 , 1 ] ) )\n\t\t\t$mol_assert_unique( x.foo( [ 0 , 1 ] ) , x.foo( [ 0 , 2 ] ) )\n\t\t} ,\n\n\t})\n\t\n}\n","namespace $ {\n\n\t$mol_test({\n\n\t\tasync 'Autorun' ($) {\n\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\n\t\t\t\t@ $mol_mem\n\t\t\t\tstatic state( next = 1 ) { return next }\n\t\t\t\t\n\t\t\t\tstatic counter = 0\n\n\t\t\t\t@ $mol_mem\n\t\t\t\tstatic init() {\n\t\t\t\t\t++ this.counter\n\t\t\t\t\treturn this.state()\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tconst autorun = $mol_atom2_autorun( ()=> App.init() )\n\t\t\tautorun.$ = $\n\n\t\t\ttry {\n\n\t\t\t\tawait $mol_fiber_warp()\n\t\t\t\t$mol_assert_equal( App.counter , 1 )\n\t\t\t\t\n\t\t\t\tApp.state( 2 )\n\t\t\t\t$mol_assert_equal( App.counter , 1 )\n\n\t\t\t\tawait $mol_fiber_warp()\n\t\t\t\t$mol_assert_equal( App.counter , 2 )\n\t\t\t\t\n\t\t\t\tApp.state( 3 )\n\n\t\t\t} finally {\n\t\t\t\tautorun.destructor()\n\t\t\t}\n\n\t\t\tApp.state( 4 )\n\t\t\tawait $mol_fiber_warp()\n\t\t\t$mol_assert_equal( App.counter , 2 )\n\n\t\t} ,\n\n\t})\n\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\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\n\t$mol_test({\n\n\t\t'memoize field' () {\n\n\t\t\tclass Foo {\n\n\t\t\t\tstatic one = 1\n\n\t\t\t\t@ $mol_memo.field\n\t\t\t\tstatic get two() {\n\t\t\t\t\treturn ++ this.one\n\t\t\t\t}\n\t\t\t\tstatic set two( next : number ) {} \n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\t$mol_assert_equal( Foo.two , 2 )\n\t\t\t$mol_assert_equal( Foo.two , 2 )\n\n\t\t\tFoo.two = 3\n\t\t\t\n\t\t\t$mol_assert_equal( Foo.two , 3 )\n\t\t\t$mol_assert_equal( Foo.two , 3 )\n\n\t\t} ,\n\n\t})\n\n}\n","namespace $ {\n\n\t$mol_test({\n\t\t\n\t\t'FQN of anon function'($) {\n\t\t\tconst $$ = Object.assign( $ , { $mol_func_name_test : ( ()=> ()=> {} )() } )\n\t\t\t$mol_assert_equal( $$.$mol_func_name_test.name , '' )\n\t\t\t$mol_assert_equal( $$.$mol_func_name( $$.$mol_func_name_test ) , '$mol_func_name_test' )\n\t\t\t$mol_assert_equal( $$.$mol_func_name_test.name , '$mol_func_name_test' )\n\t\t},\n\n\t})\n\n}\n","namespace $ {\n\t$mol_test( {\n\t\t\n\t\t'id auto generation'($) {\n\t\t\t\t\n\t\t\tclass $mol_view_test_item extends $mol_view { }\n\t\t\t\n\t\t\tclass $mol_view_test_block extends $mol_view {\n\n\t\t\t\tstatic $ = $\n\t\t\t\t\n\t\t\t\t@ $mol_mem_key\n\t\t\t\telement( id : number ) {\n\t\t\t\t\treturn new $mol_view_test_item()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tvar x = $mol_view_test_block.Root(0)\n\t\t\t\n\t\t\t$mol_assert_equal( x.dom_node().id , '$mol_view_test_block.Root(0)' )\n\t\t\t$mol_assert_equal( x.element( 0 ).dom_node().id , '$mol_view_test_block.Root(0).element(0)' )\n\t\t\t\n\t\t} ,\n\t\t\n\t\t'caching ref to dom node'($) {\n\t\t\t\n\t\t\tvar x = new class extends $mol_view { }\n\t\t\tx.$ = $\n\t\t\t\n\t\t\t$mol_assert_equal( x.dom_node() , x.dom_node() )\n\t\t\t\n\t\t} ,\n\t\t\n\t\t'content render'($) {\n\t\t\t\t\n\t\t\tclass $mol_view_test extends $mol_view {\n\t\t\t\tsub() {\n\t\t\t\t\treturn [ 'lol' , 5 ]\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tvar x = new $mol_view_test()\n\t\t\tx.$ = $\n\t\t\t\n\t\t\tvar node = x.dom_tree()\n\t\t\t\n\t\t\t$mol_assert_equal( node.innerHTML , 'lol5' )\n\t\t\t\n\t\t} ,\n\t\t\n\t\t'bem attributes generation'($) {\n\t\t\t\t\n\t\t\tclass $mol_view_test_item extends $mol_view { }\n\t\t\t\n\t\t\tclass $mol_view_test_block extends $mol_view {\n\t\t\t\t\n\t\t\t\t@ $mol_mem_key\n\t\t\t\tElement( id : number ) {\n\t\t\t\t\treturn new $mol_view_test_item()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tvar x = new $mol_view_test_block()\n\t\t\tx.$ = $\n\t\t\t\n\t\t\t$mol_assert_equal( x.dom_node().getAttribute( 'mol_view_test_block' ) , '' )\n\t\t\t$mol_assert_equal( x.dom_node().getAttribute( 'mol_view' ) , '' )\n\t\t\t\n\t\t\t$mol_assert_equal( x.Element( 0 ).dom_node().getAttribute( 'mol_view_test_block_element' ) , '' )\n\t\t\t\n\t\t\t$mol_assert_equal( x.Element( 0 ).dom_node().getAttribute( 'mol_view_test_item' ) , '' )\n\t\t\t$mol_assert_equal( x.Element( 0 ).dom_node().getAttribute( 'mol_view' ) , '' )\n\t\t\t\n\t\t} ,\n\t\t\n\t\t'render custom attributes'($) {\n\t\t\t\n\t\t\tclass $mol_view_test extends $mol_view {\n\t\t\t\tattr() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t'href' : '#haha' ,\n\t\t\t\t\t\t'required' : true ,\n\t\t\t\t\t\t'hidden' : false ,\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tvar x = new $mol_view_test()\n\t\t\tx.$ = $\n\t\t\t\n\t\t\tvar node = x.dom_tree()\n\t\t\t\n\t\t\t$mol_assert_equal( node.getAttribute( 'href' ) , '#haha' )\n\t\t\t$mol_assert_equal( node.getAttribute( 'required' ) , 'true' )\n\t\t\t$mol_assert_equal( node.getAttribute( 'hidden' ) , null )\n\t\t\t\n\t\t} ,\n\t\t\n\t\t'render custom fields'($) {\n\t\t\t\t\n\t\t\tclass $mol_view_test extends $mol_view {\n\t\t\t\tfield() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t'hidden' : true\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tvar x = new $mol_view_test()\n\t\t\tx.$ = $\n\t\t\t\n\t\t\tvar node = x.dom_tree() as HTMLElement\n\t\t\t\n\t\t\t$mol_assert_equal( node.hidden , true )\n\t\t\t\n\t\t} ,\n\t\t\n\t\t'attach event handlers'($) {\n\t\t\t\t\n\t\t\tvar clicked = false\n\t\t\t\n\t\t\tclass $mol_view_test extends $mol_view {\n\t\t\t\tevent() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t'click' : ( next? : Event ) => this.event_click( next )\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tevent_click( next? : Event ) {\n\t\t\t\t\tclicked = true\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tvar x = new $mol_view_test()\n\t\t\tx.$ = $\n\t\t\t\n\t\t\tvar node = x.dom_node() as HTMLElement\n\t\t\tnode.click()\n\t\t\t\n\t\t\t$mol_assert_ok( clicked )\n\t\t\t\n\t\t} ,\n\t\n\t} )\n}\n","namespace $ {\n\n\t$mol_test_mocks.push( $ => {\n\t\t$.$mol_after_work = $mol_after_mock_timeout as any as typeof $mol_after_work\n\t})\n\n}\n","namespace $ {\n\t$mol_test({\n\n\t\t'Vector limiting'() {\n\n\t\t\tlet point = new $mol_vector_3d( 7 , 10 , 13 )\n\t\t\tconst res = point.limited( [ [ 1 , 5 ] , [ 15 , 20 ] , [ 5 , 10 ] ] as const )\n\n\t\t\t$mol_assert_equal( res.x , 5 )\n\t\t\t$mol_assert_equal( res.y , 15 )\n\t\t\t$mol_assert_equal( res.z , 10 )\n\n\t\t} ,\n\n\t\t'Vector adding scalar'() {\n\n\t\t\tlet point = new $mol_vector_3d( 1 , 2 , 3 )\n\t\t\tlet res = point.added0( 5 )\n\n\t\t\t$mol_assert_equal( res.x , 6 )\n\t\t\t$mol_assert_equal( res.y , 7 )\n\t\t\t$mol_assert_equal( res.z , 8 )\n\n\t\t} ,\n\n\t\t'Vector adding vector'() {\n\n\t\t\tlet point = new $mol_vector_3d( 1 , 2 , 3 )\n\t\t\tlet res = point.added1( [ 5 , 10 , 15 ] as const )\n\n\t\t\t$mol_assert_equal( res.x , 6 )\n\t\t\t$mol_assert_equal( res.y , 12 )\n\t\t\t$mol_assert_equal( res.z , 18 )\n\n\t\t} ,\n\n\t\t'Vector multiplying scalar'() {\n\n\t\t\tlet point = new $mol_vector_3d( 2 , 3 , 4 )\n\t\t\tlet res = point.multed0( -1 )\n\n\t\t\t$mol_assert_equal( res.x , -2 )\n\t\t\t$mol_assert_equal( res.y , -3 )\n\t\t\t$mol_assert_equal( res.z , -4 )\n\n\t\t} ,\n\n\t\t'Vector multiplying vector'() {\n\n\t\t\tlet point = new $mol_vector_3d( 2 , 3 , 4 )\n\t\t\tlet res = point.multed1( [ 5 , 2 , -2 ] as const )\n\n\t\t\t$mol_assert_equal( res.x , 10 )\n\t\t\t$mol_assert_equal( res.y , 6 )\n\t\t\t$mol_assert_equal( res.z , -8 )\n\n\t\t} ,\n\n\t\t'Matrix adding matrix'() {\n\n\t\t\tlet matrix = new $mol_vector_matrix<2,3>( ...[ [ 1 , 2 ] , [ 3 , 4 ] , [ 5 , 6 ] ] as const )\n\t\t\tlet res = matrix.added2( [ [ 10 , 20 ] , [ 30 , 40 ] , [ 50 , 60 ] ] as const )\n\n\t\t\t$mol_assert_equal( res[0][0] , 11 )\n\t\t\t$mol_assert_equal( res[0][1] , 22 )\n\t\t\t$mol_assert_equal( res[1][0] , 33 )\n\t\t\t$mol_assert_equal( res[1][1] , 44 )\n\t\t\t$mol_assert_equal( res[2][0] , 55 )\n\t\t\t$mol_assert_equal( res[2][1] , 66 )\n\n\t\t} ,\n\n\t\t'Matrix multiplying matrix'() {\n\n\t\t\tlet matrix = new $mol_vector_matrix<2,3>( ...[ [ 2 , 3 ] , [ 4 , 5 ] , [ 6 , 7 ] ] as const )\n\t\t\tlet res = matrix.multed2( [ [ 2 , 3 ] , [ 4 , 5 ] , [ 6 , 7 ] ] as const )\n\n\t\t\t$mol_assert_equal( res[0][0] , 4 )\n\t\t\t$mol_assert_equal( res[0][1] , 9 )\n\t\t\t$mol_assert_equal( res[1][0] , 16 )\n\t\t\t$mol_assert_equal( res[1][1] , 25 )\n\t\t\t$mol_assert_equal( res[2][0] , 36 )\n\t\t\t$mol_assert_equal( res[2][1] , 49 )\n\n\t\t} ,\n\n\t\t'Range expanding'() {\n\n\t\t\tlet range = $mol_vector_range_full.inversed\n\t\t\t\n\t\t\tconst expanded = range.expanded0( 10 ).expanded0( 5 )\n\n\t\t\t$mol_assert_like( [ ... expanded ] , [ 5 , 10 ] )\n\n\t\t} ,\n\n\t\t'Vector of range expanding by vector'() {\n\n\t\t\tlet dimensions = new $mol_vector_2d( $mol_vector_range_full.inversed , $mol_vector_range_full.inversed )\n\t\t\t\n\t\t\tconst expanded = dimensions.expanded1( [ 1 , 7 ] as const ).expanded1( [ 3 , 5 ] as const )\n\n\t\t\t$mol_assert_like( [ ... expanded.x ] , [ 1 , 3 ] )\n\t\t\t$mol_assert_like( [ ... expanded.y ] , [ 5 , 7 ] )\n\n\t\t} ,\n\n\t\t'Vector of range expanding by vector of range'() {\n\n\t\t\tlet dimensions = new $mol_vector_2d( $mol_vector_range_full.inversed , $mol_vector_range_full.inversed )\n\t\t\t\n\t\t\tconst expanded = dimensions\n\t\t\t.expanded2( [ [ 1 , 3 ] , [ 7 , 9 ] ] as const )\n\t\t\t.expanded2( [ [ 2 , 4 ] , [ 6 , 8 ] ] as const )\n\n\t\t\t$mol_assert_like( [ ... expanded.x ] , [ 1 , 4 ] )\n\t\t\t$mol_assert_like( [ ... expanded.y ] , [ 6 , 9 ] )\n\n\t\t} ,\n\n\t\t'Vector of infinity range expanding by vector of range'() {\n\n\t\t\tlet dimensions = new $mol_vector_2d( $mol_vector_range_full.inversed , $mol_vector_range_full.inversed )\n\t\t\tconst next = new $mol_vector_2d( $mol_vector_range_full.inversed , $mol_vector_range_full.inversed )\n\t\t\t\n\t\t\tconst expanded = next\n\t\t\t\t.expanded2( dimensions )\n\n\t\t\t$mol_assert_like( [ ... expanded.x ] , [ Infinity , -Infinity ] )\n\t\t\t$mol_assert_like( [ ... expanded.y ] , [ Infinity , -Infinity ] )\n\n\t\t} ,\n\t})\n}\n",null,null,"namespace $ {\n\texport class $mol_view_tree_test_attributes_super extends $mol_view {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * some *\n\t\t * \ta 0\n\t\t * \tb 2\n\t\t * ```\n\t\t */\n\t\tsome() {\n\t\t\treturn {\n\t\t\t\ta: 0,\n\t\t\t\tb: 2\n\t\t\t}\n\t\t}\n\t}\n\t\n\texport class $mol_view_tree_test_attributes extends $mol_view_tree_test_attributes_super {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * some *\n\t\t * \t^\n\t\t * \ta 1\n\t\t * ```\n\t\t */\n\t\tsome() {\n\t\t\treturn {\n\t\t\t\t...super.some(),\n\t\t\t\ta: 1\n\t\t\t}\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\texport class $mol_view_tree_test_binding extends $mol_view {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * value?val <=> task_title_new?val\n\t\t * ```\n\t\t */\n\t\tvalue(val?: any) {\n\t\t\treturn this.task_title_new(val)\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * enabled <= head_complete_enabled\n\t\t * ```\n\t\t */\n\t\tenabled() {\n\t\t\treturn this.head_complete_enabled()\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * task_title_new?val \\123\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\ttask_title_new(val?: any) {\n\t\t\tif ( val !== undefined ) return val as never\n\t\t\treturn \"123\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * head_complete_enabled false\n\t\t * ```\n\t\t */\n\t\thead_complete_enabled() {\n\t\t\treturn false\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\texport class $mol_view_tree_test_binding_right extends $mol_view {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * outer_width?v\n\t\t * ```\n\t\t */\n\t\touter_width(v?: any) {\n\t\t\treturn this.Test().width(v)\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Test $mol_view_tree_test_binding_right_test width?v => outer_width?v\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tTest() {\n\t\t\tconst obj = new this.$.$mol_view_tree_test_binding_right_test()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t}\n\t\n\texport class $mol_view_tree_test_binding_right_test extends $mol_view {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * width?val 0\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\twidth(val?: any) {\n\t\t\tif ( val !== undefined ) return val as never\n\t\t\treturn 0\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\texport class $mol_view_tree_test_simple extends $mol_view {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * some 1\n\t\t * ```\n\t\t */\n\t\tsome() {\n\t\t\treturn 1\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * bool true\n\t\t * ```\n\t\t */\n\t\tbool() {\n\t\t\treturn true\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * str \\test\n\t\t * ```\n\t\t */\n\t\tstr() {\n\t\t\treturn \"test\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * arr /\n\t\t * ```\n\t\t */\n\t\tarr() {\n\t\t\treturn [\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * arr_string /string\n\t\t * ```\n\t\t */\n\t\tarr_string() {\n\t\t\treturn [\n\t\t\t] as readonly string[]\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\texport class $mol_view_tree_test_attributes_subcomponent extends $mol_view {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Page!index $mol_view_tree_test_attributes_subcomponent_page Sub <= page!index\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tPage(index: any) {\n\t\t\tconst obj = new this.$.$mol_view_tree_test_attributes_subcomponent_page()\n\t\t\t\n\t\t\tobj.Sub = () => this.page(index)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * page!index null\n\t\t * ```\n\t\t */\n\t\tpage(index: any) {\n\t\t\treturn null as any\n\t\t}\n\t}\n\t\n\texport class $mol_view_tree_test_attributes_subcomponent_page extends $mol_view {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Sub null\n\t\t * ```\n\t\t */\n\t\tSub() {\n\t\t\treturn null as any\n\t\t}\n\t}\n\t\n}\n\n","namespace $.$$ {\n\n\t$mol_test( {\n\t\t'simple props'( $ ) {\n\t\t\tconst app = $mol_view_tree_test_simple.make({ $ })\n\n\t\t\t$mol_assert_equal( app.some() , 1 )\n\t\t\t$mol_assert_equal( app.bool() , true )\n\t\t\t$mol_assert_equal( app.str() , 'test' )\n\t\t\t$mol_assert_ok( Array.isArray(app.arr()) )\n\t\t\t$mol_assert_ok( Array.isArray(app.arr_string()) )\n\t\t},\n\n\t\t'default value'( $ ) {\n\t\t\tconst app = $mol_view_tree_test_binding.make({ $ })\n\t\t\t$mol_assert_equal( app.value() , '123' )\n\t\t},\n\n\t\t'both binding'( $ ) {\n\t\t\tconst app = $mol_view_tree_test_binding.make({ $ })\n\n\t\t\t$mol_assert_ok( app.value() !== '1' )\n\n\t\t\tapp.value('1')\n\t\t\t$mol_assert_equal( app.value() , '1' )\n\t\t},\n\n\t\t'left binding'( $ ) {\n\t\t\tconst app = $mol_view_tree_test_binding.make({ $ })\n\n\t\t\t$mol_assert_not( app.head_complete_enabled() )\n\t\t\t$mol_assert_not( app.enabled() )\n\t\t},\n\n\t\t'sub component'( $ ) {\n\t\t\tconst app = $mol_view_tree_test_binding_right.make({ $ })\n\t\t\t$mol_assert_ok( app.Test() instanceof $mol_view_tree_test_binding_right_test)\n\t\t},\n\n\t\t'right binding - change owner property'( $ ) {\n\t\t\tconst app = $mol_view_tree_test_binding_right.make({ $ })\n\n\t\t\tconst val = 123\n\n\t\t\t$mol_assert_ok( app.outer_width() !== val )\n\t\t\t$mol_assert_ok( app.Test().width() !== val )\n\n\t\t\tapp.outer_width(val)\n\n\t\t\t$mol_assert_equal( app.outer_width(), val )\n\t\t\t$mol_assert_equal( app.Test().width(), val )\n\t\t},\n\n\t\t'right binding - change part property'( $ ) {\n\t\t\tconst app = $mol_view_tree_test_binding_right.make({ $ })\n\n\t\t\tconst val = 123\n\n\t\t\t$mol_assert_ok( app.outer_width() !== val )\n\t\t\t$mol_assert_ok( app.Test().width() !== val )\n\n\t\t\tapp.Test().width(val)\n\n\t\t\t$mol_assert_equal( app.Test().width(), val )\n\t\t\t$mol_assert_equal( app.outer_width(), val )\n\t\t},\n\n\t\t'attributes merging'( $ ) {\n\t\t\tconst app = $mol_view_tree_test_attributes.make({ $ })\n\n\t\t\t$mol_assert_like( app.some(), { a: 1, b: 2 } )\n\t\t},\n\n\t\t'subcomponent indexed'( $ ) {\n\t\t\tconst app = $mol_view_tree_test_attributes_subcomponent.make({ $ })\n\t\t\tconst val = 123\n\t\t\tapp.page = (index: any) => index\n\n\t\t\t$mol_assert_equal(app.Page(val).Sub(), val)\n\t\t},\n \n\t} )\n}\n","namespace $ {\n\t$mol_test( {\n\t\t\n\t\t'tree parsing'() {\n\t\t\t\n\t\t\t$mol_assert_equal( $mol_tree.fromString( \"foo\\nbar\\n\" ).sub.length , 2 )\n\t\t\t$mol_assert_equal( $mol_tree.fromString( \"foo\\nbar\\n\" ).sub[ 1 ].type , \"bar\" )\n\t\t\t$mol_assert_equal( $mol_tree.fromString( \"foo\\n\\n\\n\" ).sub.length , 1 )\n\t\t\t\n\t\t\t$mol_assert_equal( $mol_tree.fromString( \"=foo\\n\\\\bar\\n\" ).sub.length , 2 )\n\t\t\t$mol_assert_equal( $mol_tree.fromString( \"=foo\\n\\\\bar\\n\" ).sub[ 1 ].data , \"bar\" )\n\t\t\t\n\t\t\t$mol_assert_equal( $mol_tree.fromString( \"foo bar \\\\pol\" ).sub[ 0 ].sub[ 0 ].sub[ 0 ].data , \"pol\" )\n\t\t\t$mol_assert_equal( $mol_tree.fromString( \"foo bar\\n\\t\\\\pol\\n\\t\\\\men\" ).sub[ 0 ].sub[ 0 ].sub[ 1 ].data , \"men\" )\n\t\t\t\n\t\t\t$mol_assert_equal( $mol_tree.fromString( 'foo bar \\\\text\\n' ).toString() , 'foo bar \\\\text\\n' )\n\t\t} ,\n\n\t\t'inserting'() {\n\t\t\t$mol_assert_equal( $mol_tree.fromString( 'a b c d' ).insert( new $mol_tree , 'a' , 'b' , 'c' ).toString() , 'a b \\\\\\n' )\n\t\t\t$mol_assert_equal( $mol_tree.fromString( 'a b' ).insert( new $mol_tree , 'a' , 'b' , 'c' , 'd' ).toString() , 'a b c \\\\\\n' )\n\n\t\t\t$mol_assert_equal( $mol_tree.fromString( 'a b c d' ).insert( new $mol_tree , 0 , 0 , 0 ).toString() , 'a b \\\\\\n' )\n\t\t\t$mol_assert_equal( $mol_tree.fromString( 'a b' ).insert( new $mol_tree , 0 , 0 , 0 , 0 ).toString() , 'a b \\\\\\n\\t\\\\\\n' )\n\n\t\t\t$mol_assert_equal( $mol_tree.fromString( 'a b c d' ).insert( new $mol_tree , null , null , null ).toString() , 'a b \\\\\\n' )\n\t\t\t$mol_assert_equal( $mol_tree.fromString( 'a b' ).insert( new $mol_tree , null , null , null , null ).toString() , 'a b \\\\\\n\\t\\\\\\n' )\n\t\t} ,\n\n\t\t'fromJSON'() {\n\t\t\t$mol_assert_equal( $mol_tree.fromJSON([]).toString() , '/\\n' )\n\t\t\t$mol_assert_equal( $mol_tree.fromJSON([ false , true ]).toString() , '/\\n\\tfalse\\n\\ttrue\\n' )\n\t\t\t$mol_assert_equal( $mol_tree.fromJSON([ 0 , 1 , 2.3 ]).toString() , '/\\n\\t0\\n\\t1\\n\\t2.3\\n' )\n\t\t\t$mol_assert_equal( $mol_tree.fromJSON([ '' , 'foo' , 'bar\\nbaz' ]).toString() , '/\\n\\t\\\\\\n\\t\\\\foo\\n\\t\\\\\\n\\t\\t\\\\bar\\n\\t\\t\\\\baz\\n' )\n\t\t\t$mol_assert_equal( $mol_tree.fromJSON({ 'foo' : false , 'bar\\nbaz' : 'lol' }).toString() , '*\\n\\tfoo false\\n\\t\\\\\\n\\t\\t\\\\bar\\n\\t\\t\\\\baz\\n\\t\\t\\\\lol\\n' )\n\t\t} ,\n\t\t\n\t\t'toJSON'() {\n\t\t\t$mol_assert_equal( JSON.stringify( $mol_tree.fromString( '/\\n' ).sub[0] ) , '[]' )\n\t\t\t$mol_assert_equal( JSON.stringify( $mol_tree.fromString( '/\\n\\tfalse\\n\\ttrue\\n' ).sub[0] ) , '[false,true]' )\n\t\t\t$mol_assert_equal( JSON.stringify( $mol_tree.fromString( '/\\n\\t0\\n\\t1\\n\\t2.3\\n' ).sub[0] ) , '[0,1,2.3]' )\n\t\t\t$mol_assert_equal( JSON.stringify( $mol_tree.fromString( '/\\n\\t\\\\\\n\\t\\\\foo\\n\\t\\\\\\n\\t\\t\\\\bar\\n\\t\\t\\\\baz\\n' ).sub[0] ) , '[\"\",\"foo\",\"bar\\\\nbaz\"]' )\n\t\t\t$mol_assert_equal( JSON.stringify( $mol_tree.fromString( '*\\n\\tfoo false\\n\\t\\\\\\n\\t\\t\\\\bar\\n\\t\\t\\\\baz\\n\\t\\t\\\\lol\\n' ).sub[0] ) , '{\"foo\":false,\"bar\\\\nbaz\":\"lol\"}' )\n\t\t} ,\n\t\t\n\t\t'hack'() {\n\n\t\t\tconst res = $mol_tree.fromString( `foo bar xxx` ).hack({\n\t\t\t\t'' : ( tree , context )=> [ tree.hack( context ) ] ,\n\t\t\t\t'bar' : ( tree , context )=> [ tree.hack( context ).clone({ type : '777' }) ] ,\n\t\t\t})\n\n\t\t\t$mol_assert_equal( res.toString() , new $mol_tree({ type : 'foo 777 xxx' }).toString() )\n\n\t\t} ,\n\n\t\t'errors handling'( $ ) {\n\n\t\t\tconst errors = [] as string[]\n\n\t\t\tclass Tree extends $mol_tree {\n\t\t\t\tstatic $ = $.$mol_ambient({\n\t\t\t\t\t$mol_fail: error => errors.push( error.message ) as never\n\t\t\t\t})\n\t\t\t}\n\t\t\t\n\t\t\tTree.fromString( `\n\t\t\t\t\\t \\tfoo\n\t\t\t\tbar \\\\data\n\t\t\t` , 'test' )\n\n\t\t\t$mol_assert_like( errors , [ 'Syntax error at test:2\\n \\tfoo' ] )\n\n\t\t},\n\n\t} )\t\n}\n","namespace $ {\n\n\texport const $mol_tree_convert : unique symbol = Symbol( '$mol_tree_convert' )\n\texport type $mol_tree_path = Array< string | number | null >\n\n\texport type $mol_tree_hack = ( input : $mol_tree , context : $mol_tree_context )=> readonly $mol_tree[]\n\texport type $mol_tree_context = Record< string , $mol_tree_hack >\n\texport type $mol_tree_library = Record< string , $mol_tree_context >\n\t\n\t/**\n\t * Abstract Syntax Tree with human readable serialization.\n\t * @see https://github.com/nin-jin/tree.d\n\t */\n\texport class $mol_tree extends $mol_object2 {\n\t\t\n\t\treadonly type : string\n\t\treadonly data : string\n\t\treadonly sub : readonly $mol_tree[]\n\t\treadonly baseUri : string\n\t\treadonly row : number\n\t\treadonly col : number\n\t\treadonly length : number\n\t\t\n\t\tconstructor( config : Partial<$mol_tree> = {} ) {\n\n\t\t\tsuper()\n\n\t\t\tthis.type = config.type || ''\n\t\t\t\n\t\t\tif( config.value !== undefined ) {\n\n\t\t\t\tvar sub = $mol_tree.values( config.value )\n\t\t\t\t\n\t\t\t\tif( config.type || sub.length > 1 ) {\n\n\t\t\t\t\tthis.sub = [ ... sub , ...( config.sub || [] ) ]\n\t\t\t\t\tthis.data = config.data || ''\n\n\t\t\t\t} else {\n\n\t\t\t\t\tthis.data = sub[ 0 ].data\n\t\t\t\t\tthis.sub = config.sub || []\n\n\t\t\t\t}\n\n\t\t\t} else {\n\t\t\t\t\n\t\t\t\tthis.data = config.data || ''\n\t\t\t\tthis.sub = config.sub || []\n\n\t\t\t}\n\t\t\t\n\t\t\tthis.baseUri = config.baseUri || ''\n\t\t\tthis.row = config.row || 0\n\t\t\tthis.col = config.col || 0\n\t\t\tthis.length = config.length || 0\n\n\t\t}\n\t\t\n\t\tstatic values( str : string , baseUri? : string ) {\n\n\t\t\treturn str.split( '\\n' ).map( ( data , index ) => new $mol_tree( {\n\t\t\t\tdata : data ,\n\t\t\t\tbaseUri : baseUri ,\n\t\t\t\trow : index + 1 ,\n\t\t\t\tlength : data.length ,\n\t\t\t} ) )\n\n\t\t}\n\t\t\n\t\t/** Cloning node with overrides. */\n\t\tclone( config : Partial<$mol_tree> = {} ) {\n\n\t\t\treturn new $mol_tree({\n\t\t\t\ttype : ( 'type' in config ) ? config.type : this.type ,\n\t\t\t\tdata : ( 'data' in config ) ? config.data : this.data ,\n\t\t\t\tsub : ( 'sub' in config ) ? config.sub : this.sub ,\n\t\t\t\tbaseUri : ( 'baseUri' in config ) ? config.baseUri : this.baseUri ,\n\t\t\t\trow : ( 'row' in config ) ? config.row : this.row ,\n\t\t\t\tcol : ( 'col' in config ) ? config.col : this.col ,\n\t\t\t\tlength : ( 'length' in config ) ? config.length : this.length ,\n\t\t\t\tvalue : config.value\n\t\t\t})\n\n\t\t}\n\t\t\n\t\t/** Makes new derived node. */\n\t\tmake( config : Partial<$mol_tree> ) {\n\n\t\t\treturn new $mol_tree({\n\t\t\t\tbaseUri : this.baseUri ,\n\t\t\t\trow : this.row ,\n\t\t\t\tcol : this.col ,\n\t\t\t\tlength : this.length ,\n\t\t\t\t... config ,\n\t\t\t})\n\n\t\t}\n\t\t\n\t\t/** Makes new derived data node. */\n\t\tmake_data( value : string , sub? : readonly $mol_tree[] ) {\n\t\t\treturn this.make({ value , sub })\n\t\t}\n\t\t\n\t\t/** Makes new derived structural node. */\n\t\tmake_struct( type : string , sub? : readonly $mol_tree[] ) {\n\t\t\treturn this.make({ type , sub })\n\t\t}\n\t\t\n\t\t/** Parses tree format to AST. */\n\t\tstatic fromString( str : string , baseUri? : string ) {\n\t\t\t\n\t\t\tvar root = new $mol_tree( { baseUri : baseUri } )\n\t\t\tvar stack = [ root ]\n\t\t\t\n\t\t\tvar row = 0\n\t\t\tvar prefix = str.replace( /^\\n?(\\t*)[\\s\\S]*/ , '$1' )\n\t\t\tvar lines = str.replace( new RegExp( '^\\\\t{0,' + prefix.length + '}' , 'mg' ) , '' ).split( '\\n' )\n\n\t\t\tlines.forEach( line => {\n\n\t\t\t\t++row\n\t\t\t\t\n\t\t\t\tvar chunks = /^(\\t*)((?:[^\\n\\t\\\\ ]+ *)*)(\\\\[^\\n]*)?(.*?)(?:$|\\n)/m.exec( line )\n\t\t\t\tif( !chunks || chunks[4] ) return this.$.$mol_fail( new Error( `Syntax error at ${baseUri}:${row}\\n${line}` ) )\n\t\t\t\t\n\t\t\t\tvar indent = chunks[ 1 ]\n\t\t\t\tvar path = chunks[ 2 ]\n\t\t\t\tvar data = chunks[ 3 ]\n\t\t\t\t\n\t\t\t\tvar deep = indent.length\n\t\t\t\tvar types = path ? path.replace( / $/ , '' ).split( / +/ ) : []\n\t\t\t\t\n\t\t\t\tif( stack.length <= deep ) return this.$.$mol_fail( new Error( `Too many tabs at ${baseUri}:${row}\\n${line}` ) )\n\t\t\t\t\n\t\t\t\tstack.length = deep + 1\n\t\t\t\tvar parent = stack[ deep ];\n\t\t\t\t\n\t\t\t\tlet col = deep\n\t\t\t\ttypes.forEach( type => {\n\t\t\t\t\tif( !type ) return this.$.$mol_fail( new Error( `Unexpected space symbol ${baseUri}:${row}\\n${line}` ) )\n\t\t\t\t\tvar next = new $mol_tree({ type , baseUri , row , col , length : type.length })\n\t\t\t\t\tconst parent_sub = parent.sub as $mol_tree[]\n\t\t\t\t\tparent_sub.push( next )\t\n\t\t\t\t\tparent = next\n\t\t\t\t\tcol += type.length + 1\n\t\t\t\t} )\n\t\t\t\t\n\t\t\t\tif( data ) {\n\t\t\t\t\tvar next = new $mol_tree({ data : data.substring( 1 ) , baseUri , row , col , length : data.length })\n\t\t\t\t\tconst parent_sub = parent.sub as $mol_tree[]\n\t\t\t\t\tparent_sub.push( next )\n\t\t\t\t\tparent = next\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tstack.push( parent )\n\t\t\t\t\n\t\t\t} )\n\t\t\t\n\t\t\treturn root\n\t\t}\n\t\t\n\t\t/**\n\t\t * Parses json.tree lang to AST.\n\t\t * @todo Move to $mol_tree_json_from\n\t\t */\n\t\tstatic fromJSON( json : any , baseUri = '' ) : $mol_tree {\n\n\t\t\tswitch( true ) {\n\n\t\t\t\tcase typeof json === 'boolean' :\n\t\t\t\tcase typeof json === 'number' :\n\t\t\t\tcase json === null :\n\n\t\t\t\t\treturn new $mol_tree({\n\t\t\t\t\t\ttype : String( json ) ,\n\t\t\t\t\t\tbaseUri : baseUri\n\t\t\t\t\t})\n\t\t\t\t\n\t\t\t\tcase typeof json === 'string' :\n\n\t\t\t\t\treturn new $mol_tree({\n\t\t\t\t\t\tvalue : json ,\n\t\t\t\t\t\tbaseUri : baseUri\n\t\t\t\t\t})\n\n\t\t\t\tcase Array.isArray( json ) :\n\n\t\t\t\t\treturn new $mol_tree({\n\t\t\t\t\t\ttype : \"/\" ,\n\t\t\t\t\t\tsub : ( json as any[] ).map( json => $mol_tree.fromJSON( json , baseUri ) )\n\t\t\t\t\t})\n\n\t\t\t\tcase json instanceof Date :\n\n\t\t\t\t\treturn new $mol_tree({\n\t\t\t\t\t\tvalue : json.toISOString() ,\n\t\t\t\t\t\tbaseUri : baseUri\n\t\t\t\t\t})\n\t\t\t\t\n\t\t\t\tdefault :\n\n\t\t\t\t\tif( typeof json[ $mol_tree_convert ] === 'function' ) {\n\t\t\t\t\t\treturn json[ $mol_tree_convert ]()\n\t\t\t\t\t}\n\n\t\t\t\t\tif( typeof json.toJSON === 'function' ) {\n\t\t\t\t\t\treturn $mol_tree.fromJSON( json.toJSON() )\n\t\t\t\t\t}\n\n\t\t\t\t\tif( json instanceof Error ) {\n\t\t\t\t\t\tconst { name , message , stack } = json\n\t\t\t\t\t\tjson = { ... json , name , message , stack }\n\t\t\t\t\t}\n\n\t\t\t\t\tvar sub : $mol_tree[] = []\n\t\t\t\t\t\n\t\t\t\t\tfor( var key in json ) {\n\n\t\t\t\t\t\tif( json[ key ] === undefined ) continue\n\n\t\t\t\t\t\tconst subsub = $mol_tree.fromJSON( json[ key ] , baseUri )\n\t\t\t\t\t\t\n\t\t\t\t\t\tif( /^[^\\n\\t\\\\ ]+$/.test( key ) ) {\n\n\t\t\t\t\t\t\tvar child = new $mol_tree({\n\t\t\t\t\t\t\t\ttype : key ,\n\t\t\t\t\t\t\t\tbaseUri : baseUri ,\n\t\t\t\t\t\t\t\tsub : [ subsub ] ,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tvar child = new $mol_tree({\n\t\t\t\t\t\t\t\tvalue : key ,\n\t\t\t\t\t\t\t\tbaseUri : baseUri ,\n\t\t\t\t\t\t\t\tsub : [ subsub ] ,\n\t\t\t\t\t\t\t} )\n\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tsub.push( child )\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\treturn new $mol_tree({\n\t\t\t\t\t\ttype : \"*\" ,\n\t\t\t\t\t\tsub : sub ,\n\t\t\t\t\t\tbaseUri : baseUri\n\t\t\t\t\t})\n\t\t\t\t\n\t\t\t}\n\n\t\t}\n\t\t\n\t\tget uri() {\n\t\t\treturn this.baseUri + '#' + this.row + ':' + this.col\n\t\t}\n\t\t\n\t\t/** Serializas to tree format. */\n\t\ttoString( prefix = '' ) : string {\n\t\t\tvar output = ''\n\t\t\t\n\t\t\tif( this.type.length ) {\n\t\t\t\tif( !prefix.length ) {\n\t\t\t\t\tprefix = \"\\t\";\n\t\t\t\t}\n\t\t\t\toutput += this.type\n\t\t\t\tif( this.sub.length == 1 ) {\n\t\t\t\t\treturn output + ' ' + this.sub[ 0 ].toString( prefix )\n\t\t\t\t}\n\t\t\t\toutput += \"\\n\"\n\t\t\t} else if( this.data.length || prefix.length ) {\n\t\t\t\toutput += \"\\\\\" + this.data + \"\\n\"\n\t\t\t}\n\n\t\t\tfor( var child of this.sub ) {\n\t\t\t\toutput += prefix\n\t\t\t\toutput += child.toString( prefix + \"\\t\" )\n\t\t\t}\n\t\t\t\n\t\t\treturn output\n\t\t}\n\t\t\n\t\t/**\n\t\t * Serializes AST to json.tree lang.\n\t\t * @todo Move to $mol_tree_json_to\n\t\t */\n\t\ttoJSON() : any {\n\t\t\tif( !this.type ) return this.value\n\t\t\t\n\t\t\tif( this.type === 'true' ) return true\n\t\t\tif( this.type === 'false' ) return false\n\t\t\tif( this.type === 'null' ) return null\n\t\t\t\n\t\t\tif( this.type === '*' ) {\n\t\t\t\tvar obj = {}\n\t\t\t\tfor( var child of this.sub ) {\n\t\t\t\t\tif( child.type === '-' ) continue\n\t\t\t\t\tvar key = child.type || child.clone({ sub : child.sub.slice( 0 , child.sub.length - 1 ) }).value\n\t\t\t\t\tvar val = child.sub[ child.sub.length - 1 ].toJSON()\n\t\t\t\t\tif( val !== undefined ) ( obj as any )[ key ] = val\n\t\t\t\t}\n\t\t\t\treturn obj\n\t\t\t}\n\t\t\t\n\t\t\tif( this.type === '/' ) {\n\t\t\t\tvar res : any[] = []\n\t\t\t\tthis.sub.forEach(\n\t\t\t\t\tchild => {\n\t\t\t\t\t\tif( child.type === '-' ) return\n\t\t\t\t\t\tvar val = child.toJSON()\n\t\t\t\t\t\tif( val !== undefined ) res.push( val )\n\t\t\t\t\t}\n\t\t\t\t)\n\t\t\t\treturn res\n\t\t\t}\n\t\t\t\n\t\t\tif( this.type === 'time' ) {\n\t\t\t\treturn new Date( this.value )\n\t\t\t}\n\t\t\t\n\t\t\tconst numb = Number( this.type ) \n\t\t\tif( !Number.isNaN( numb ) || this.type === 'NaN' ) return numb\n\t\t\t\n\t\t\tthrow new Error( `Unknown type (${this.type}) at ${this.uri}` )\n\t\t}\n\t\t\n\t\tget value() {\n\t\t\tvar values : string[] = []\n\t\t\tfor( var child of this.sub ) {\n\t\t\t\tif( child.type ) continue\n\t\t\t\tvalues.push( child.value )\n\t\t\t}\n\t\t\treturn this.data + values.join( \"\\n\" )\n\t\t}\n\t\t\n\t\t/** Makes new tree with node overrided by path. */\n\t\tinsert( value : $mol_tree , ...path : $mol_tree_path ) : $mol_tree {\n\t\t\tif( path.length === 0 ) return value\n\t\t\t\n\t\t\tconst type = path[0]\n\t\t\tif( typeof type === 'string' ) {\n\n\t\t\t\tlet replaced = false\n\t\t\t\tconst sub = this.sub.map( ( item , index )=> {\n\t\t\t\t\tif( item.type !== type ) return item\n\t\t\t\t\treplaced = true\n\t\t\t\t\treturn item.insert( value , ... path.slice( 1 ) )\n\t\t\t\t} )\n\t\t\t\t\n\t\t\t\tif( !replaced ) sub.push( new $mol_tree({ type }).insert( value , ... path.slice( 1 ) ) )\n\t\t\t\t\n\t\t\t\treturn this.clone({ sub })\n\n\t\t\t} else if( typeof type === 'number' ) {\n\t\t\t\t\n\t\t\t\tconst sub = this.sub.slice()\n\t\t\t\tsub[ type ] = ( sub[ type ] || new $mol_tree ).insert( value , ... path.slice( 1 ) )\n\t\t\t\t\n\t\t\t\treturn this.clone({ sub })\n\n\t\t\t} else {\n\t\t\t\t\n\t\t\t\treturn this.clone({ sub : ( ( this.sub.length === 0 ) ? [ new $mol_tree() ] : this.sub ).map( item => item.insert( value , ... path.slice( 1 ) ) ) })\n\n\t\t\t}\n\t\t}\n\n\t\t/** Query nodes by path. */\n\t\tselect( ...path : $mol_tree_path ) {\n\t\t\tvar next = [ this as $mol_tree ]\n\t\t\tfor( var type of path ) {\n\t\t\t\tif( !next.length ) break\n\t\t\t\tvar prev = next\n\t\t\t\tnext = []\n\n\t\t\t\tfor( var item of prev ) {\n\n\t\t\t\t\tswitch( typeof( type ) ) {\n\n\t\t\t\t\t\tcase 'string' :\n\t\t\t\t\t\t\tfor( var child of item.sub ) {\n\t\t\t\t\t\t\t\tif( !type || ( child.type == type ) ) {\n\t\t\t\t\t\t\t\t\tnext.push( child )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\n\t\t\t\t\t\tcase 'number' :\n\t\t\t\t\t\t\tif( type < item.sub.length ) next.push( item.sub[ type ] )\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\n\t\t\t\t\t\tdefault : next.push( ... item.sub )\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn new $mol_tree( { sub : next } )\n\t\t}\n\t\t\n\t\t/** Filter subnodes by path or value. */\n\t\tfilter( path : string[] , value? : string ) {\n\t\t\tvar sub = this.sub.filter(\n\t\t\t\tfunction( item ) {\n\t\t\t\t\t\n\t\t\t\t\tvar found = item.select( ...path )\n\t\t\t\t\t\n\t\t\t\t\tif( value == null ) {\n\t\t\t\t\t\treturn Boolean( found.sub.length )\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn found.sub.some( child => child.value == value )\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t)\n\t\t\t\n\t\t\treturn new $mol_tree( { sub : sub } )\n\t\t}\n\n\t\t@ $mol_deprecated( 'Use $mol_tree:hack' )\n\t\ttransform( visit : ( stack : $mol_tree[] , sub : ()=> $mol_tree[] )=> $mol_tree | null , stack : $mol_tree[] = [] ) : $mol_tree | null {\n\t\t\tconst sub_stack = [ this , ...stack ]\n\t\t\treturn visit( sub_stack , ()=> this.sub.map( node => node.transform( visit , sub_stack ) ).filter( n => n ) as $mol_tree[] )\n\t\t}\n\n\t\t/** Transform tree through context with transformers */\n\t\thack( context : $mol_tree_context ) : $mol_tree {\n\t\t\t\n\t\t\tconst sub = ( [] as $mol_tree[] ).concat( ... this.sub.map( child => {\n\n\t\t\t\tconst handle = context[ child.type ] || context[ '' ]\n\t\t\t\tif( !handle ) $mol_fail( child.error( 'Handler not defined' ) )\n\t\t\t\t\n\t\t\t\treturn handle( child , context )\n\n\t\t\t} ) )\n\n\t\t\treturn this.clone({ sub })\n\t\t}\n\n\t\t/** Makes Error with node coordinates. */\n\t\terror( message : string ) {\n\t\t\treturn new Error( `${message}:\\n${ this } ${this.baseUri}:${this.row}:${this.col}` )\n\t\t}\n\n\t}\n\t\n}\n","namespace $ {\n\t\n\texport class $mol_state_local< Value > extends $mol_object {\n\t\t\n\t\tstatic 'native()' : Pick< Storage , 'getItem'|'setItem'|'removeItem' >\n\t\tstatic native() {\n\t\t\tif( this['native()'] ) return this['native()']\n\n\t\t\tcheck : try {\n\t\t\t\tconst native = $mol_dom_context.localStorage\n\t\t\t\tif( !native ) break check\n\t\t\t\t\n\t\t\t\tnative.setItem( '' , '' )\n\t\t\t\tnative.removeItem( '' )\n\t\t\t\treturn this['native()'] = native\n\t\t\t} catch( error: any ) {\n\t\t\t\tconsole.warn( error )\n\t\t\t}\n\n\t\t\treturn this['native()'] = {\n\t\t\t\tgetItem( key : string ) {\n\t\t\t\t\treturn this[ ':' + key ]\n\t\t\t\t} ,\n\t\t\t\tsetItem( key : string , value : string ) {\n\t\t\t\t\tthis[ ':' + key ] = value\n\t\t\t\t} ,\n\t\t\t\tremoveItem( key : string ) {\n\t\t\t\t\tthis[ ':' + key ] = void 0\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tstatic value< Value >( key : string , next? : Value , force? : $mol_mem_force ) : Value | null {\n\t\t\tif( next === void 0 ) return JSON.parse( this.native().getItem( key ) || 'null' )\n\t\t\t\n\t\t\tif( next === null ) this.native().removeItem( key )\n\t\t\telse this.native().setItem( key , JSON.stringify( next ) )\n\t\t\t\n\t\t\treturn next\n\t\t}\n\t\t\n\t\tprefix() { return '' }\n\t\t\n\t\tvalue( key : string , next? : Value ) {\n\t\t\treturn $mol_state_local.value( this.prefix() + '.' + key , next )\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\n\t$mol_test_mocks.push( context => {\n\t\tclass $mol_state_local_mock< Value > extends $mol_state_local< Value > {\n\n\t\t\tstatic state = {} as Record< string , any >\n\t\t\t\t\t\t\n\t\t\t@ $mol_mem_key\n\t\t\tstatic value< Value >( key : string , next = this.state[ key ] as Value , force? : $mol_mem_force ) {\n\t\t\t\treturn this.state[ key ] = ( next || null )\n\t\t\t}\n\n\t\t}\n\t\tcontext.$mol_state_local = $mol_state_local_mock\n\t} )\n\t\n}\n","namespace $ {\n\t$mol_test( {\n\t\t\n\t\t'local get set delete'() {\n\t\t\t\t\t\n\t\t\tvar key = '$mol_state_local_test:' + Math.random()\n\t\t\t$mol_assert_equal( $mol_state_local.value( key ) , null )\n\t\t\t\n\t\t\t$mol_state_local.value( key , 123 )\n\t\t\t$mol_assert_equal( $mol_state_local.value( key ) , 123 )\n\t\t\t\n\t\t\t$mol_state_local.value( key , null )\n\t\t\t$mol_assert_equal( $mol_state_local.value( key ) , null )\n\t\t} ,\n\t\t\n\t} )\n}\n","namespace $ {\n\n\tself.addEventListener( 'storage' , event => {\n\t\tif( !event.key ) return // @TODO clear support\n\t\t$.$mol_state_local.value( event.key , undefined , $mol_mem_force_cache )\n\t} )\n\n}\n",null,"// @ts-ignore\nvar $node = $node || {}\n","namespace $ {\n\t$mol_test({\n\t\t'decode utf8 string'() {\n\t\t\tconst str = 'Hello, ΧΨΩЫ'\n\t\t\tconst encoded = new Uint8Array( [ 72, 101, 108, 108, 111, 44, 32, 206, 167, 206, 168, 206, 169, 208, 171 ] )\n\n\t\t\t$mol_assert_equal( $mol_charset_decode(encoded), str )\n\t\t\t$mol_assert_equal( $mol_charset_decode(encoded, 'utf8'), str )\n\t\t},\n\n\t\t'decode empty string'() {\n\t\t\tconst encoded = new Uint8Array( [] )\n\n\t\t\t$mol_assert_equal( $mol_charset_decode(encoded), '' )\n\t\t},\n\t})\n}\n","namespace $ {\n\tconst TextDecoder = globalThis.TextDecoder ?? $node.util.TextDecoder\n\n\t// @see https://developer.mozilla.org/en-US/docs/Web/API/TextDecoder/encoding\n\texport type $mol_charset_encoding = 'utf8' | 'ibm866' | 'iso-8859-2' | 'iso-8859-3' | 'iso-8859-4' | 'iso-8859-5' | 'iso-8859-6'\n\t\t| 'iso-8859-7' | 'iso-8859-8' | 'iso-8859-8i' | 'iso-8859-10' | 'iso-8859-13' | 'iso-8859-14' | 'iso-8859-15' | 'iso-8859-16'\n\t\t| 'koi8-r' | 'koi8-u' | 'koi8-r' | 'macintosh' | 'windows-874' | 'windows-1250' | 'windows-1251' | 'windows-1252' | 'windows-1253'\n\t\t| 'windows-1254'| 'windows-1255'| 'windows-1256'| 'windows-1257'| 'windows-1258' | 'x-mac-cyrillic' | 'gbk'\n\t\t| 'gb18030' | 'hz-gb-2312' | 'big5' | 'euc-jp' | 'iso-2022-jp' | 'shift-jis' | 'euc-kr' | 'iso-2022-kr'\n\n\texport function $mol_charset_decode(value: Uint8Array, code: $mol_charset_encoding = 'utf8') {\n\t\treturn new TextDecoder(code).decode(value)\n\t}\n\n}\n","namespace $ {\n\t$mol_test({\n\t\t'encode utf8 string'() {\n\t\t\tconst str = 'Hello, ΧΨΩЫ'\n\t\t\tconst encoded = new Uint8Array( [ 72, 101, 108, 108, 111, 44, 32, 206, 167, 206, 168, 206, 169, 208, 171 ] )\n\n\t\t\t$mol_assert_like( $mol_charset_encode(str), encoded )\n\t\t},\n\t})\n}\n","namespace $ {\n\tconst TextEncoder = globalThis.TextEncoder ?? $node.util.TextEncoder\n\n\tconst encoder = new TextEncoder()\n\n\texport function $mol_charset_encode(value: string) {\n\t\treturn encoder.encode(value)\n\t}\n\n}\n","namespace $ {\n\n\texport type $mol_file_type = 'file' | 'dir' | 'link'\n\n\texport interface $mol_file_stat {\n\t\ttype: $mol_file_type\n\t\tsize: number\n\t\tatime: Date\n\t\tmtime: Date\n\t\tctime: Date\n\t}\n\n\texport class $mol_file_not_found extends Error {}\n\n\texport abstract class $mol_file extends $mol_object {\t\t\n\t\t@ $mol_mem_key\n\t\tstatic absolute( path : string ): $mol_file {\n\t\t\tthrow new Error( 'Not implemented yet' )\n\t\t}\n\n\t\tstatic relative( path : string ) : $mol_file {\n\t\t\tthrow new Error( 'Not implemented yet' )\n\t\t}\n\t\t\n\t\tpath() {\n\t\t\treturn '.'\n\t\t}\n\t\t\n\t\tparent() {\n\t\t\treturn this.resolve( '..' )\n\t\t}\n\n\t\tabstract stat( next? : $mol_file_stat, force? : $mol_mem_force ): $mol_file_stat\n\n\t\treset(): void {\n\t\t\ttry {\n\t\t\t\tthis.stat(undefined, $mol_mem_force_cache)\n\t\t\t} catch( error: any ) {\n\t\t\t\tif (error instanceof $mol_file_not_found) return\n\t\t\t\treturn $mol_fail_hidden(error)\n\t\t\t}\n\t\t}\n\t\t\n\t\tversion() {\n\t\t\treturn this.stat().mtime.getTime().toString( 36 ).toUpperCase()\n\t\t}\n\n\t\tabstract ensure(next?: boolean): boolean\n\n\t\twatcher() {\n\t\t\tconsole.warn('$mol_file_web.watcher() not implemented')\n\n\t\t\treturn {\n\t\t\t\tdestructor() {}\n\t\t\t}\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\texists( next? : boolean , force? : $mol_mem_force ) {\n\n\t\t\tlet exists = true\n\t\t\ttry {\n\t\t\t\tthis.stat()\n\t\t\t} catch( error: any ) {\n\n\t\t\t\tif (error instanceof $mol_file_not_found) {\n\t\t\t\t\texists = false\n\t\t\t\t} else {\n\t\t\t\t\treturn $mol_fail_hidden(error)\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\n\t\t\tif( next === undefined ) return exists\n\t\t\tif( next === exists ) return exists\n\n\t\t\tif( next ) this.parent().exists( true )\n\t\t\tthis.ensure(next)\n\t\t\tthis.reset()\n\t\t\t\n\t\t\treturn next\n\t\t}\n\t\t\n\t\ttype() {\n\t\t\treturn this.stat().type\n\t\t}\n\t\t\n\t\tname() {\n\t\t\treturn this.path().replace( /^.*\\//, '' )\n\t\t}\n\t\t\n\t\text() {\n\t\t\tconst match = /((?:\\.\\w+)+)$/.exec( this.path() )\n\t\t\treturn match ? match[ 1 ].substring( 1 ) : ''\n\t\t}\n\n\t\tabstract buffer( next? : Uint8Array , force? : $mol_mem_force ): Uint8Array\n\n\t\ttext(next?: string, force?: $mol_mem_force) {\n\t\t\tif( next === undefined ) {\n\t\t\t\treturn $mol_charset_decode( this.buffer( undefined, force ) )\t\n\t\t\t} else {\n\t\t\t\tconst buffer = next === undefined ? undefined : $mol_charset_encode( next )\n\t\t\t\tthis.buffer( buffer, force )\n\t\t\t\treturn next\n\t\t\t}\n\t\t}\n\n\t\tfail(error: Error) {\n\t\t\tthis.buffer(error as any, $mol_mem_force_fail)\n\t\t\tthis.stat(error as any, $mol_mem_force_fail)\n\t\t}\n\n\t\tbuffer_cached(buffer: Uint8Array) {\n\t\t\tconst ctime = new Date()\n\t\t\tconst stat: $mol_file_stat = {\n\t\t\t\ttype: 'file',\n\t\t\t\tsize: buffer.length,\n\t\t\t\tctime,\n\t\t\t\tatime: ctime,\n\t\t\t\tmtime: ctime\n\t\t\t}\n\n\t\t\tthis.buffer(buffer, $mol_mem_force_cache)\n\t\t\tthis.stat(stat , $mol_mem_force_cache)\n\t\t}\n\n\t\ttext_cached(content: string) {\n\t\t\tthis.buffer_cached($mol_charset_encode(content))\n\t\t}\n\t\t\n\t\tabstract sub(): $mol_file[]\n\n\t\tabstract resolve(path: string): $mol_file\n\n\t\tabstract relate( base?: $mol_file ): string\n\t\t\n\t\tabstract append( next : Uint8Array | string ): void\n\t\t\n\t\tfind(\n\t\t\tinclude? : RegExp ,\n\t\t\texclude? : RegExp\n\t\t) {\n\t\t\tconst found = [] as $mol_file[]\n\t\t\tconst sub = this.sub()\n\n\t\t\tfor (const child of sub) {\n\t\t\t\tconst child_path = child.path()\n\n\t\t\t\tif( exclude && child_path.match( exclude ) ) continue\n\n\t\t\t\tif( !include || child_path.match( include ) ) found.push( child )\n\n\t\t\t\tif( child.type() === 'dir' ) {\n\t\t\t\t\tconst sub_child = child.find( include , exclude )\n\t\t\t\t\tfor (const child of sub_child) found.push(child)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn found\n\t\t}\n\n\t\tsize() {\n\t\t\tswitch( this.type() ) {\n\t\t\t\tcase 'file': return this.stat().size\n\t\t\t\tdefault: return 0\n\t\t\t}\n\t\t}\n\t\t\n\t}\n}\n","namespace $ {\n\n\texport function $mol_dom_parse(\n\t\ttext : string ,\n\t\ttype : DOMParserSupportedType = 'application/xhtml+xml' ,\n\t) {\n\n\t\tconst parser = new $mol_dom_context.DOMParser()\n\t\tconst doc = parser.parseFromString( text , type )\n\t\t\n\t\tconst error = doc.getElementsByTagName( 'parsererror' )\n\t\tif( error.length ) throw new Error( error[0].textContent! )\n\n\t\treturn doc\n\t}\n\n}\n","namespace $ {\n\n\texport class $mol_fetch_response extends $mol_object2 {\n\n\t\tconstructor( readonly native : Response ) {\n\t\t\tsuper()\n\t\t}\n\n\t\theaders() {\n\t\t\treturn this.native.headers\n\t\t}\n\n\t\tmime() {\n\t\t\treturn this.headers().get( 'content-type' )\n\t\t}\n\n\t\t@ $mol_fiber.method\n\t\tstream() {\n\t\t\treturn this.native.body\n\t\t}\n\n\t\t@ $mol_fiber.method\n\t\ttext() {\n\n\t\t\tconst buffer = this.buffer()\n\n\t\t\tconst native = this.native\n\t\t\tconst mime = native.headers.get( 'content-type' ) || ''\n\t\t\tconst [,charset] = /charset=(.*)/.exec( mime ) || [, 'utf-8']\n\t\t\t\n\t\t\tconst decoder = new TextDecoder( charset )\n\t\t\treturn decoder.decode( buffer )\n\n\t\t}\t\n\n\t\t@ $mol_fiber.method\n\t\tjson() {\n\t\t\tconst response = this.native\n\t\t\tconst parse = $mol_fiber_sync( response.json )\n\t\t\treturn parse.call( response ) as unknown\n\t\t}\t\n\n\t\t@ $mol_fiber.method\n\t\tbuffer() {\n\t\t\tconst response = this.native\n\t\t\tconst parse = $mol_fiber_sync( response.arrayBuffer )\n\t\t\treturn parse.call( response ) as ArrayBuffer\n\t\t}\t\n\n\t\t@ $mol_fiber.method\n\t\txml() {\n\t\t\treturn $mol_dom_parse( this.text() , 'application/xml' )\n\t\t}\n\n\t\t@ $mol_fiber.method\n\t\txhtml() {\n\t\t\treturn $mol_dom_parse( this.text() , 'application/xhtml+xml' )\n\t\t}\n\n\t\t@ $mol_fiber.method\n\t\thtml() {\n\t\t\treturn $mol_dom_parse( this.text() , 'text/html' )\n\t\t}\n\n\t}\n\n\texport class $mol_fetch extends $mol_object2 {\n\t\t\n\t\tstatic request = $mol_fiber_sync( ( input : RequestInfo , init : RequestInit = {} )=> {\n\t\t\t\n\t\t\tif( typeof AbortController === 'function' ) {\n\t\t\t\tvar controller = new AbortController()\n\t\t\t\tinit.signal = controller.signal\n\t\t\t\tconst fiber = $mol_fiber.current!\n\t\t\t\tfiber.abort = ()=> {\n\t\t\t\t\tif( fiber.cursor === $mol_fiber_status.actual ) return true\n\t\t\t\t\tcontroller.abort()\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tlet native = $mol_dom_context.fetch\n\t\t\tif( !native ) native = $node['node-fetch'] as any\n\t\t\n\t\t\treturn native( input , init )\n\n\t\t} )\n\n\t\t@ $mol_fiber.method\n\t\tstatic response( input: RequestInfo, init?: RequestInit ) {\n\n\t\t\tconst response = this.request( input , init )\n\t\t\tif( Math.floor( response.status / 100 ) === 2 ) return new $mol_fetch_response( response )\n\t\t\t\n\t\t\tthrow new Error( response.statusText || `HTTP Error ${ response.status }` )\n\t\t}\n\n\t\t@ $mol_fiber.method\n\t\tstatic stream( input: RequestInfo, init?: RequestInit ) {\n\t\t\treturn this.response( input , init ).stream()\n\t\t}\n\n\t\t@ $mol_fiber.method\n\t\tstatic text( input: RequestInfo, init?: RequestInit ) {\n\t\t\treturn this.response( input , init ).text()\n\t\t}\t\n\n\t\t@ $mol_fiber.method\n\t\tstatic json( input: RequestInfo, init?: RequestInit ) {\n\t\t\treturn this.response( input , init ).json()\n\t\t}\t\n\n\t\t@ $mol_fiber.method\n\t\tstatic buffer( input: RequestInfo, init?: RequestInit ) {\n\t\t\tthis.response( input , init ).buffer()\n\t\t}\t\n\n\t\t@ $mol_fiber.method\n\t\tstatic xml( input: RequestInfo, init?: RequestInit ) {\n\t\t\treturn this.response( input , init ).xml()\n\t\t}\n\n\t\t@ $mol_fiber.method\n\t\tstatic xhtml( input: RequestInfo, init?: RequestInit ) {\n\t\t\treturn this.response( input , init ).xhtml()\n\t\t}\n\n\t\t@ $mol_fiber.method\n\t\tstatic html( input: RequestInfo, init?: RequestInit ) {\n\t\t\treturn this.response( input , init ).html()\n\t\t}\n\n\t}\n\n}\n\n","namespace $ {\n\t\n\texport class $mol_file_web extends $mol_file {\n\n\t\t@ $mol_mem_key\n\t\tstatic absolute( path : string ) {\n\t\t\treturn this.make({\n\t\t\t\tpath : $mol_const( path )\n\t\t\t})\n\t\t}\n\n\t\tstatic relative( path : string ) {\n\t\t\treturn this.absolute( new URL( path , this.base ).toString() )\n\t\t}\n\n\t\tstatic base = $mol_dom_context.document\n\t\t\t? new URL( '.' , $mol_dom_context.document.currentScript!['src'] ).toString()\n\t\t\t: ''\n\t\t\n\t\t@ $mol_mem\n\t\tbuffer( next? : Uint8Array , force? : $mol_mem_force ) {\n\t\t\tif (next !== undefined) throw new Error(`Saving content not supported: ${this.path}`)\n\n\t\t\tconst response = $mol_fetch.response(this.path())\n\t\t\tif (response.native.status === 404) throw new $mol_file_not_found(`File not found: ${this.path()}`)\n\n\t\t\treturn new Uint8Array(response.buffer())\n\t\t}\n\n\t\t@ $mol_mem\n\t\tstat( next? : $mol_file_stat, force? : $mol_mem_force ) {\n\t\t\tlet stat = next\n\t\t\tif (next === undefined) {\n\t\t\t\tconst content = this.text()\n\t\t\t\t// @todo взять дату из хедеров фетча, когда file.web будет переписан на webdav\n\t\t\t\tconst ctime = new Date()\n\t\t\t\tstat = {\n\t\t\t\t\ttype: 'file',\n\t\t\t\t\tsize: content.length,\n\t\t\t\t\tctime,\n\t\t\t\t\tatime: ctime,\n\t\t\t\t\tmtime: ctime\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.parent().watcher()\n\t\t\t\n\t\t\treturn stat!\n\t\t}\n\n\t\tresolve( path : string ) {\n\t\t\tlet res = this.path() + '/' + path\n\t\t\t\n\t\t\twhile( true ) {\n\t\t\t\tlet prev = res\n\t\t\t\tres = res.replace( /\\/[^\\/.]+\\/\\.\\.\\// , '/' )\n\t\t\t\tif( prev === res ) break\n\t\t\t}\n\t\t\t\n\t\t\treturn ( this.constructor as typeof $mol_file_web ).absolute( res )\n\t\t}\n\n\t\tensure(next?: boolean): boolean {\n\t\t\tthrow new Error('$mol_file_web.ensure() not implemented')\n\t\t} \n\n\t\t@ $mol_mem\n\t\tsub() : $mol_file[] {\n\t\t\tthrow new Error('$mol_file_web.sub() not implemented')\n\t\t}\n\t\t\n\t\trelate( base = ( this.constructor as typeof $mol_file ).relative( '.' )): string {\n\t\t\tthrow new Error('$mol_file_web.relate() not implemented')\n\t\t}\n\t\t\n\t\tappend( next : Uint8Array | string ) {\n\t\t\tthrow new Error('$mol_file_web.append() not implemented')\n\t\t}\n\t}\n\n\t$.$mol_file = $mol_file_web\n}\n","namespace $ {\n\t\n\texport interface $mol_locale_dict {\n\t\t[ key : string ] : string\n\t}\n\t\n\texport class $mol_locale extends $mol_object {\n\t\t\n\t\t@ $mol_mem\n\t\tstatic lang_default() {\n\t\t\treturn 'en'\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tstatic lang( next? : string ) {\n\t\t\treturn $mol_state_local.value( 'locale' , next ) || $mol_dom_context.navigator.language.replace( /-.*/ , '' ) || this.lang_default()\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic source( lang : string ) {\n\t\t\treturn JSON.parse( $mol_file.relative( `web.locale=${ lang }.json` ).text().toString() )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic texts( lang : string , next? : $mol_locale_dict ) : $mol_locale_dict {\n\t\t\tif( next ) return next\n\t\t\t\n\t\t\ttry {\n\t\t\t\treturn this.source( lang ).valueOf()\n\t\t\t} catch( error: any ) {\n\t\t\t\tif( 'then' in error ) $mol_fail_hidden( error )\n\t\t\t\tconst def = this.lang_default()\n\t\t\t\tif( lang === def ) throw error\n\t\t\t\treturn this.source( def )\n\t\t\t}\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic text( key : string ) {\n\n\t\t\tfor( let lang of [ this.lang() , 'en' ] ) {\n\t\t\t\t\n\t\t\t\tconst text = this.texts( lang )[ key ]\n\t\t\t\tif( text ) return text\n\n\t\t\t\tthis.warn( key )\n\t\t\t}\n\t\t\t\t\t\t\n\t\t\treturn `<${ key }>`\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic warn( key : string ) {\n\t\t\tconsole.warn( `Not translated to \"${ this.lang() }\": ${ key }` )\n\t\t\treturn null\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\n\texport function $mol_view_tree_trim_remarks( def : $mol_tree ) {\n\t\treturn def.transform( ( [ node ] , sub )=> ( node.type === '-' ) ? null : node.clone({ sub : sub() }) )!\n\t}\n\n\texport function $mol_view_tree_classes( defs : $mol_tree ) {\n\t\treturn $mol_view_tree_trim_remarks( defs )\n\t}\n\n\texport function $mol_view_tree_class_name( val : $mol_tree ) {\n\t\treturn val.type\n\t}\n\n\texport function $mol_view_tree_super_name( val : $mol_tree ) {\n\t\tif( val.sub.length != 1 ) throw val.error( 'Wrong sub count' )\n\t\treturn val.sub[0].type\n\t}\n\n\texport function $mol_view_tree_class_props( def : $mol_tree ) {\n\t\tconst props : { [ key : string ] : $mol_tree } = {}\n\t\t\n\t\tconst catch_prop = ( prop : $mol_tree , type = '' )=> {\n\n\t\t\tlet def = prop\n\t\t\t\n\t\t\tif( type === '=>' ) {\n\t\t\t\tif( prop.sub[0] ) throw prop.error( 'Right binding can not have default value' )\n\t\t\t} else {\n\n\t\t\t\tif( prop.sub.length === 0 ) return\n\t\t\t\tif( prop.sub[0].type === '-' ) return\n\t\t\t\t\t\t\n\t\t\t\tprops[ prop.type ] = props[ prop.type ]\n\n\t\t\t\tdef = prop.clone({\n\t\t\t\t\tsub : [ prop.sub[0].transform( ( [ node , ... stack ] , sub )=> {\n\n\t\t\t\t\t\tif( [ '<=' , '<=>' , '=>' ].indexOf( node.type ) === -1 ) return node.clone({ sub : sub() })\n\t\t\t\t\t\t\n\t\t\t\t\t\tcatch_prop( node.sub[0] , node.type )\n\n\t\t\t\t\t\treturn node.clone({\n\t\t\t\t\t\t\tsub : [ node.sub[0].clone({\n\t\t\t\t\t\t\t\tsub : []\n\t\t\t\t\t\t\t}) ]\n\t\t\t\t\t\t})\n\t\t\t\t\t\t\n\t\t\t\t\t} )!]\n\t\t\t\t})\n\n\t\t\t}\n\n\t\t\tif( props[ prop.type ] ) {\n\t\t\t\tif( props[ prop.type ].toString() !== def.toString() ) {\n\t\t\t\t\tthrow def.error( 'Property already defined with another default value' + props[ prop.type ].error('').message + '\\n---' )\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tprops[ prop.type ] = def\n\t\t\t}\n\t\t}\n\n\t\tdef.sub[0].sub.map( sub => catch_prop( sub ) )\n\t\t\n\t\treturn def.clone({\n\t\t\ttype : '' ,\n\t\t\tsub : Object.keys( props ).map( name => props[ name ] ) ,\n\t\t})\n\n\t}\n\n\texport function $mol_view_tree_prop_name( prop : $mol_tree ) {\n\t\treturn ( prop.type.match( /^\\w+/ ) || [] )[0] || ''\n\t}\n\n\texport function $mol_view_tree_prop_key( prop : $mol_tree ) {\n\t\treturn ( prop.type.match( /!(\\w+)$/ ) || [] )[1] || ''\n\t}\n\n\texport function $mol_view_tree_prop_next( prop : $mol_tree ) {\n\t\treturn ( prop.type.match( /\\?(\\w+)$/ ) || [] )[1] || ''\n\t}\n\n\texport function $mol_view_tree_prop_value( prop : $mol_tree ) {\n\t\tif( prop.sub.length != 1 ) throw prop.error( `Wrong sub count (${ prop.sub.length })` )\n\t\treturn prop.sub[0]\n\t}\n\n\texport function $mol_view_tree_value_type( val : $mol_tree ) {\n\t\t\n\t\tswitch( val.type ) {\n\t\t\tcase 'true' : return 'bool'\n\t\t\tcase 'false' : return 'bool'\n\t\t\tcase 'null' : return 'null'\n\t\t\tcase '*' : return 'dict'\n\t\t\tcase '@' : return 'locale'\n\t\t\tcase '' : return 'string'\n\t\t\tcase '<=' : return 'get'\n\t\t\tcase '<=>' : return 'bind'\n\t\t\tcase '=>' : return 'put'\n\t\t}\n\n\t\tswitch( val.type[0] ) {\n\t\t\tcase '/' : return 'list'\n\t\t\tcase '$' : return 'object'\n\t\t}\n\n\t\tif( Number( val.type ).toString() == val.type ) return 'number'\n\n\t\tthrow val.error( 'Wrong value' )\n\t}\n\n\texport function $mol_view_tree_compile( tree : $mol_tree) {\n\t\tconst splittedUri = tree.uri.split(/[#\\\\\\/]/);\n\t\tsplittedUri.pop();\n\t\tconst fileName = splittedUri.pop()!;\n\n\t\t// const SourceNode = $node['source-map'].SourceNode\n\t\t// type SourceNode = InstanceType< typeof SourceNode >\n\t\tconst SourceNode = ( row : number , col : number , fileName : string , text : string ) => text\n\t\ttype StringNodeArray = string[] //(string | SourceNode)[];\n\t\t\n\t\tvar content: StringNodeArray = []\n\t\tvar locales : { [ key : string ] : string } = {}\n\t\t\n\t\tfor( let def of $mol_view_tree_classes( tree ).sub ) {\n\t\t\tif( !/^\\$\\w+$/.test( def.type ) ) throw def.error( 'Wrong component name' )\n\t\t\t\n\t\t\tvar parent = def.sub[0]\n\t\t\t\n\t\t\t// var propDefs : { [ key : string ] : $mol_tree } = {}\n\t\t\tvar members : { [ key : string ] : StringNodeArray } = {}\n\t\t\t\n\t\t\tfor( let param of $mol_view_tree_class_props( def ).sub ) { try {\n\t\t\t\tvar needSet = false\n\t\t\t\tvar needCache = false\n\t\n\t\t\t\tif( param.type === '<=>' ) {\n\t\t\t\t\tparam = param.sub[0]\n\t\t\t\t}\n\t\n\t\t\t\tif( param.type === '<=' ) {\n\t\t\t\t\tparam = param.sub[0]\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tvar propName = /(.*?)(?:\\!(\\w+))?(?:\\?(\\w+))?$/.exec( param.type )!\n\t\t\t\t\n\t\t\t\tif( propName[3] ) {\n\t\t\t\t\tneedSet = true\n\t\t\t\t\tneedCache = true\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tconst getValue = ( value : $mol_tree , definition? : boolean ) : StringNodeArray | null=> { try {\n\t\t\t\t\tswitch( true ) {\n\t\t\t\t\t\tcase( value.type === '' ) :\n\t\t\t\t\t\t\treturn [JSON.stringify( value.value )]\n\t\t\t\t\t\tcase( value.type === '@' ) :\n\t\t\t\t\t\t\tconst key = `${ def.type }_${ param.type.replace( /[?!].*/ , '' ) }`\n\t\t\t\t\t\t\tlocales[ key ] = value.value\n\t\t\t\t\t\t\treturn [`this.$.$mol_locale.text( ${ JSON.stringify( key ) } )`]\n\t\t\t\t\t\tcase( value.type === '-' ) :\n\t\t\t\t\t\t\treturn null\n\t\t\t\t\t\tcase( value.type[0] === '/' ) :\n\t\t\t\t\t\t\tconst item_type = value.type.substring( 1 )\n\t\t\t\t\t\t\tvar items : StringNodeArray = []\n\t\t\t\t\t\t\tvalue.sub.forEach( item => {\n\t\t\t\t\t\t\t\tif( item.type === '-' ) return\n\t\t\t\t\t\t\t\tif( item.type === '^' ) {\n\t\t\t\t\t\t\t\t\titems.push( `...super.${ param.type }()` )\n\t\t\t\t\t\t\t\t\treturn\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tvar val = getValue( item )\n\t\t\t\t\t\t\t\tif( val ) items.push( val.join(\"\") )\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\treturn [`[`, items.join(' , '), `]` , ( item_type ? ` as readonly ( ${ item_type } )[]` : ` as readonly any[]` )]\n\t\t\t\t\t\tcase( value.type[0] === '$' ) :\n\t\t\t\t\t\t\tif( !definition ) throw value.error( 'Objects should be bound' )\n\t\t\t\t\t\t\tneedCache = true\n\t\t\t\t\t\t\tvar overs : StringNodeArray = []\n\t\t\t\t\t\t\tvalue.sub.forEach( over => {\n\t\t\t\t\t\t\t\tif( /^[-\\/]?$/.test( over.type ) ) return ''\n\t\t\t\t\t\t\t\tvar overName = /(.*?)(?:\\!(\\w+))?(?:\\?(\\w+))?$/.exec( over.type )!\n\t\t\t\t\t\t\t\tvar ns = needSet\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tif( over.sub[0].type === '=>' ) {\n\t\t\t\t\t\t\t\t\tif( over.sub[0].sub.length === 1 ) {\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tconst [ , own_name , own_key , own_next ] = /(.*?)(?:\\!(\\w+))?(?:\\?(\\w+))?$/.exec( over.sub[0].sub[0].type )!\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tlet own_args : string[] = []\n\t\t\t\t\t\t\t\t\t\tif( own_key ) own_args.push( ` ${own_key} : any ` )\n\t\t\t\t\t\t\t\t\t\tif( own_next ) own_args.push( ` ${own_next}? : any ` )\n\n\t\t\t\t\t\t\t\t\t\tlet [ , their_name , ... their_args ] = /(.*?)(?:\\!(\\w+))?(?:\\?(\\w+))?$/.exec( over.type )!\n\t\t\t\t\t\t\t\t\t\ttheir_args = their_args.filter( Boolean )\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tmembers[ own_name ] = [`\\t${ own_name }(${ own_args.join(',') }) {\\n\\t\\treturn this.${ propName[1] }(${ propName[2] || '' }).${ their_name }( ${ their_args.join(' , ') } )\\n\\t}\\n\\n`]\n\t\t\t\t\t\t\t\t\t\treturn\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tvar v = getValue( over.sub[0] )\n\t\t\t\t\t\t\t\tlet args : string[] = []\n\t\t\t\t\t\t\t\tif( overName[2] ) args.push( ` ${ overName[2] } : any ` )\n\t\t\t\t\t\t\t\tif( overName[3] ) args.push( ` ${ overName[3] }? : any ` )\n\t\t\t\t\t\t\t\tovers.push( ...['\\t\\t\\tobj.' , SourceNode(over.row, over.col, fileName, overName[1]), ' = (', args.join( ',' ), ') => ' , ...(v || []) , '\\n'] )\n\t\t\t\t\t\t\t\tneedSet = ns\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\tconst object_args = value.select( '/' , '' ).sub.map( arg => getValue( arg ) ).join( ' , ' ) as string\n\t\t\t\t\t\t\treturn ['(( obj )=>{\\n', ...overs, '\\t\\t\\treturn obj\\n\\t\\t})( new this.$.', SourceNode(value.row, value.col, fileName, value.type) , '( ' , object_args , ' ) )']\n\t\t\t\t\t\tcase( value.type === '*' ) :\n\t\t\t\t\t\t\tvar opts : StringNodeArray = []\n\t\t\t\t\t\t\tvalue.sub.forEach( opt => {\n\t\t\t\t\t\t\t\tif( opt.type === '-' ) return ''\n\t\t\t\t\t\t\t\tif( opt.type === '^' ) {\n\t\t\t\t\t\t\t\t\topts.push( `\\t\\t\\t...super.${ param.type }() ,\\n` )\n\t\t\t\t\t\t\t\t\treturn\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tvar key = /(.*?)(?:\\?(\\w+))?$/.exec( opt.type )!\n\t\t\t\t\t\t\t\tvar ns = needSet\n\t\t\t\t\t\t\t\tvar v = getValue( opt.sub[0] )\n\t\t\t\t\t\t\t\tvar arg = key[2] ? ` ( ${ key[2] }? : any )=> ` : ''\n\t\t\t\t\t\t\t\topts.push( ...['\\t\\t\\t\"', SourceNode(opt.row, opt.col, fileName, key[1]+ '\" : '), arg,' ', ...(v || []) , ' ,\\n'] )\n\t\t\t\t\t\t\t\tneedSet = ns\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\treturn ['({\\n', opts.join( '' ), '\\t\\t})']\n\t\t\t\t\t\tcase( value.type === '<=>' ) :\n\t\t\t\t\t\t\tif( value.sub.length === 1 ) {\n\t\t\t\t\t\t\t\tvar type = /(.*?)(?:\\!(\\w+))?(?:\\?(\\w+))$/.exec( value.sub[0].type )!\n\t\t\t\t\t\t\t\treturn ['this.' + type[1] + '(' + ( type[2] ? type[2] + ' ,' : '' ) + ' ' + type[3] + ' )']\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\tcase( value.type === '<=' ) :\n\t\t\t\t\t\t\tif( value.sub.length === 1 ) {\n\t\t\t\t\t\t\t\tvar type = /(.*?)(?:\\!(\\w+))?(?:\\?(\\w+))?$/.exec( value.sub[0].type )!\n\t\t\t\t\t\t\t\treturn ['this.' + type[1] + '(' + ( type[2] ? type[2] : '' ) + ')']\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tswitch( value.type ) {\n\t\t\t\t\t\tcase 'true' :\n\t\t\t\t\t\tcase 'false' :\n\t\t\t\t\t\t\treturn [value.type]\n\t\t\t\t\t\tcase 'null' :\n\t\t\t\t\t\t\treturn ['null as any']\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tif( Number( value.type ).toString() == value.type ) return [value.type]\n\t\t\t\t\t\n\t\t\t\t\tthrow value.error( 'Wrong value' )\n\t\t\t\t} catch ( err ) {\n\t\t\t\t\t// err.message += `\\n${value.baseUri}:${value.row}:${value.col}\\n${ value }`\n\t\t\t\t\tthrow err\n\t\t\t\t} }\n\t\t\t\t\n\t\t\t\tif( param.sub.length > 1 ) throw new Error( 'Too more sub' )\n\t\t\t\tparam.sub.forEach( child => {\n\t\t\t\t\tvar val = getValue( child , true )\n\t\t\t\t\tif( !val ) return\n\t\t\t\t\t\n\t\t\t\t\t// propDefs[ propName[1] ] = param\n\t\t\t\t\t\n\t\t\t\t\tvar args : string[] = []\n\t\t\t\t\tif( propName[2] ) args.push( ` ${ propName[2] } : any ` )\n\t\t\t\t\tif( propName[3] ) args.push( ` ${ propName[3] }? : any , force? : $${''}mol_mem_force ` )\n\n\t\t\t\t\tif( needSet ) val = [\n\t\t\t\t\t\t`( ${ propName[3] } !== void 0 ) ? ${ propName[3] } : `,\n\t\t\t\t\t\t...val\n\t\t\t\t\t]\n\t\t\t\t\tval = ['return ', ...val]\n\n\t\t\t\t\tvar decl: StringNodeArray = ['\\t', SourceNode(param.row, param.col, fileName, propName[1]),'(', args.join(',') , ') {\\n\\t\\t' , ...val , '\\n\\t}\\n\\n']\n\t\t\t\t\tif( needCache ) {\n\t\t\t\t\t\tif( propName[2] ) decl = ['\\t@ $' , 'mol_mem_key\\n', ...decl]\n\t\t\t\t\t\telse decl = ['\\t@ $', 'mol_mem\\n', ...decl]\n\t\t\t\t\t}\n\t\t\t\t\tdecl = ['\\t/**\\n\\t * ```\\n', param.toString().trim().replace( /^/mg , '\\t * ' ), '\\n\\t * ```\\n\\t **/\\n' , ...decl]\n\t\t\t\t\tmembers[ propName[1] ] = decl\n\t\t\t\t} )\n\t\t\t\t\n\t\t\t} catch ( err ) {\n\t\t\t\t// err.message += `\\n${param.baseUri}:${param.row}:${param.col}\\n${ param }`\n\t\t\t\tthrow err\n\t\t\t} }\n\n\t\t\tvar body = Object.keys( members ).reduce( function( acc, name ) {\n\t\t\t\tconst items = members[ name ] ? members[name] : ['\\t' , name ,'() { return null as any }\\n\\t}\\n']\n\t\t\t\treturn [...acc, ...items]\n\t\t\t}, [] as StringNodeArray)\n\t\t\tvar classes: StringNodeArray = [ 'namespace $ { export class ', SourceNode(def.row, def.col, fileName, def.type ), ' extends ', SourceNode(parent.row, parent.col, fileName, parent.type), ' {\\n\\n', ...body, '} }\\n'] \n\t\t\t\n\t\t\tcontent = [...content, ...classes]\n\t\t}\n\n\t\treturn { script : content.join('') , locales }\n\n\t\t// splittedUri.push(`-view.tree`,`${ fileName }.map`)\n\n\t\t// const node = SourceNode(null as any, null as any, fileName, content as any);\n\t\t// node.add(`//@ sourceMappingURL=${splittedUri.join($node.path.sep)}`);\n\t\t// const codeWithSourceMap= node.toStringWithSourceMap();\n\t\t// return { script : codeWithSourceMap.code, locales : locales, map: codeWithSourceMap.map.toString() }\n\t}\n\n}\n"]}