mol_view_tree2_lib 1.0.19 → 1.0.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/node.test.js +3 -12
- package/node.test.js.map +1 -1
- package/package.json +1 -1
- package/web.test.js +3 -12
- package/web.test.js.map +1 -1
package/web.test.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../mol/test/test.test.ts","../../../../../mol/test/test.web.test.ts","../../../../../mol/dom/render/children/children.ts","../../../../../mol/dom/serialize/serialize.ts","../../../../../mol/jsx/jsx.ts","../../../../../mol/jsx/jsx.test.tsx","../../../../../mol/range2/range2.ts","../../../../../mol/range2/range2.test.ts","../../../../../mol/compare/deep/deep.test.tsx","../../../../../mol/assert/assert.ts","../../../../../mol/assert/assert.test.ts","../../../../../mol/log3/log3.test.ts","../../../../../mol/func/name/name.test.ts","../../../../../mol/delegate/delegate.test.ts","../../../../../mol/span/span.test.ts","../../../../../mol/tree2/from/string/string.test.ts","../../../../../mol/maybe/maybe.test.ts","../../../../../mol/tree2/tree2.test.ts","../../../../../mol/tree2/from/json/json.test.ts","../../../../../mol/data/setup/setup.ts","../../../../../mol/data/setup/setup.test.ts","../../../../../mol/func/is/class/class.ts","../../../../../mol/func/is/class/class.test.ts","../../../../../mol/data/pipe/pipe.ts","../../../../../mol/data/pipe/pipe.test.ts","../../../../../mol/tree2/js/to/text/text.test.ts","../../../../../mol/vlq/vlq.test.ts","../../../../../mol/tree2/text/to/sourcemap/sourcemap.test.ts","../../../../../mol/tree2/to/json/json.test.ts","../../../../../mol/regexp/regexp.test.ts","../../../../../mol/view/tree2/prop/parts.test.ts","../../../../../mol/style/attach/attach.ts","../../../../../mol/promise/promise/promise.ts","../../../../../mol/promise/blocker/blocker.ts","../../../../../mol/decor/decor.ts","../../../../../mol/style/unit/unit.ts","../../../../../mol/style/func/func.ts","../../../../../mol/style/prop/prop.ts","../../../../../mol/object/object.test.ts","../../../../../mol/wire/pub/sub/sub.test.ts","../../../../../mol/after/mock/mock.test.ts","../../../../../mol/after/tick/tick.test.ts","../../../../../mol/wire/fiber/fiber.test.ts","../../../../../mol/after/timeout/timeout.test.ts","../../../../../mol/wire/async/async.test.ts","../../../../../mol/wire/sync/sync.test.ts","../../../../../mol/after/work/work.ts","../../../../../mol/after/work/work.test.ts","../../../../../mol/wait/rest/rest.ts","../../../../../mol/wait/rest/rest.test.ts","../../../../../mol/wait/timeout/timeout.ts","../../../../../mol/wait/timeout/timeout.test.ts","../../../../../mol/wire/solo/solo.test.ts","../../../../../mol/wire/plex/plex.test.ts","../../../../../mol/wire/probe/probe.test.ts","../../../../../mol/after/frame/frame.test.ts","../../../../../mol/key/key.test.tsx","../../../../../mol/try/try.test.ts","../../../../../mol/fail/log/log.test.ts","../../../../../mol/wire/log/log.ts","../../../../../mol/wire/atom/atom.test.ts","../../../../../mol/state/arg/arg.web.ts","../../../../../mol/state/arg/arg.web.test.ts","../../../../../mol/media/media.ts","../../../../../mol/state/local/local.test.ts","../../../../../mol/state/local/local.mock.test.ts","../../../../../mol/lights/lights.ts","../../../../../mol/theme/theme.ts","../../../../../mol/theme/-css/theme.css.ts","../../../../../mol/theme/theme_lights.ts","../../../../../mol/gap/gap.ts","../../../../../mol/gap/-css/gap.css.ts","../../../../../mol/window/window.web.ts","../../../../../mol/view/selection/selection.ts","../../../../../mol/keyboard/code/code.ts","../../../../../mol/view/selection/selection.web.ts","../../../../../mol/wrapper/wrapper.ts","../../../../../mol/wrapper/wrapper.test.ts","../../../../../mol/memo/memo.ts","../../../../../mol/memo/memo.test.ts","../../../../../mol/dom/qname/qname.ts","../../../../../mol/wire/watch/watch.ts","../../../../../mol/const/const.test.ts","../../../../../mol/dom/render/attributes/attributes.ts","../../../../../mol/dom/render/events/events.ts","../../../../../mol/dom/render/styles/styles.ts","../../../../../mol/dom/render/fields/fields.ts","../../../../../mol/view/view/-css/view.css.ts","../../../../../mol/view/view/view.tsx","../../../../../mol/view/view/view.web.ts","../../../../../mol/view/view/view.test.ts","../../../../../mol/plugin/plugin.ts","../../../../../mol/hotkey/hotkey.view.tree","../../../../../mol/hotkey/hotkey.view.ts","../../../../../mol/string/string.view.tree","../../../../../mol/dom/listener/listener.ts","../../../../../mol/layer/layer.ts","../../../../../mol/layer/-css/layer.css.ts","../../../../../mol/string/string.view.ts","../../../../../mol/string/-css/string.view.css.ts","../../../../../mol/paragraph/paragraph.view.tree","../../../../../mol/paragraph/paragraph.view.ts","../../../../../mol/paragraph/-css/paragraph.view.css.ts","../../../../../mol/dimmer/dimmer.view.tree","../../../../../mol/dimmer/dimmer.test.ts","../../../../../mol/dimmer/dimmer.view.ts","../../../../../mol/dimmer/-css/dimmer.view.css.ts","../../../../../mol/speck/speck.view.tree","../../../../../mol/speck/-css/speck.view.css.ts","../../../../../mol/button/button.view.tree","../../../../../mol/button/button.test.ts","../../../../../mol/button/button.view.ts","../../../../../mol/button/-css/button.view.css.ts","../../../../../mol/button/typed/typed.view.tree","../../../../../mol/button/typed/-css/typed.view.css.ts","../../../../../mol/button/minor/minor.view.tree","../../../../../mol/button/minor/-css/minor.view.css.ts","../../../../../mol/view/tree2/class/props.test.ts","../../../../../mol/compare/array/array.test.ts","../../../../../mol/charset/decode/decode.test.ts","../../../../../mol/charset/encode/encode.test.ts","../../../../../mol/locale/locale.test.ts","../../../../../mol/view/tree2/to/locale/locale.test.ts","../../../../../mol/view/tree2/to/js/test/ex/array_slot.view.tree","../../../../../mol/view/tree2/to/js/test/ex/simple_nan.view.tree","../../../../../mol/view/tree2/to/js/test/ex/structural.view.tree","../../../../../mol/view/tree2/to/js/test/ex/array_union.view.tree","../../../../../mol/view/tree2/to/js/test/ex/array_number.view.tree","../../../../../mol/view/tree2/to/js/test/ex/bidi_indexed.view.tree","../../../../../mol/view/tree2/to/js/test/ex/array_boolean.view.tree","../../../../../mol/view/tree2/to/js/test/ex/array_indexed.view.tree","../../../../../mol/view/tree2/to/js/test/ex/bidi_chaining.view.tree","../../../../../mol/view/tree2/to/js/test/ex/bidi_fallback.view.tree","../../../../../mol/view/tree2/to/js/test/ex/left_chaining.view.tree","../../../../../mol/view/tree2/to/js/test/ex/right_indexed.view.tree","../../../../../mol/view/tree2/to/js/test/ex/simple_string.view.tree","../../../../../localized_string","../../../../../mol/view/tree2/to/js/test/ex/left_read_only.view.tree","../../../../../mol/view/tree2/to/js/test/ex/right_hierarchy.view.tree","../../../../../mol/view/tree2/to/js/test/ex/right_read_only.view.tree","../../../../../mol/view/tree2/to/js/test/ex/structural_dict.view.tree","../../../../../mol/view/tree2/to/js/test/ex/array_with_types.view.tree","../../../../../mol/view/tree2/to/js/test/ex/array_inheritance.view.tree","../../../../../mol/view/tree2/to/js/test/ex/bidi_legacy_value.view.tree","../../../../../mol/view/tree2/to/js/test/ex/simple_typed_null.view.tree","../../../../../mol/view/tree2/to/js/test/ex/bidi_in_dictionary.view.tree","../../../../../mol/scroll/scroll.view.tree","../../../../../mol/print/print.ts","../../../../../mol/style/sheet/sheet.ts","../../../../../mol/style/sheet/sheet.test.ts","../../../../../mol/style/define/define.ts","../../../../../mol/scroll/scroll.view.ts","../../../../../mol/scroll/scroll.view.css.ts","../../../../../mol/page/page.view.tree","../../../../../mol/page/page.view.css.ts","../../../../../mol/view/tree2/to/js/test/ex/right_in_left_bind.view.tree","../../../../../mol/view/tree2/to/js/test/ex/simple_empty_class.view.tree","../../../../../mol/view/tree2/to/js/test/ex/simple_two_classes.view.tree","../../../../../mol/view/tree2/to/js/test/ex/simple_factory_props.view.tree","../../../../../mol/view/tree2/to/js/test/ex/simple_default_indexed.view.tree","../../../../../mol/view/tree2/to/js/test/ex/structural_complex_key.view.tree","../../../../../mol/view/tree2/to/js/test/ex/array_constructor_tuple.view.tree","../../../../../mol/view/tree2/to/js/test/ex/left_second_level_index.view.tree","../../../../../mol/view/tree2/to/js/test/ex/structural_quoted_props.view.tree","../../../../../mol/view/tree2/to/js/test/ex/structural_spread_other.view.tree","../../../../../mol/view/tree2/to/js/test/ex/array_of_array_or_object.view.tree","../../../../../mol/view/tree2/to/js/test/ex/bidi_localized_in_object.view.tree","../../../../../mol/view/tree2/to/js/test/ex/bidi_with_default_object.view.tree","../../../../../mol/view/tree2/to/js/test/ex/left_in_array_and_object.view.tree","../../../../../mol/view/tree2/to/js/test/ex/bidi_indexed_second_level.view.tree","../../../../../mol/view/tree2/to/js/test/ex/array_spread_other_channel.view.tree","../../../../../mol/view/tree2/to/js/test/ex/simple_factory_inheritance.view.tree","../../../../../mol/view/tree2/to/js/test/ex/structural_with_inheritance.view.tree","../../../../../mol/view/tree2/to/js/test/ex/bidi_localized_default_value.view.tree","../../../../../mol/view/tree2/to/js/test/ex/simple_mutable_and_read_only.view.tree","../../../../../mol/view/tree2/to/js/test/ex/structural_localized_prop_value.view.tree","../../../../../mol/view/tree2/to/js/test/ex/left_with_separate_default_and_comment.view.tree","../../../../../mol/view/tree2/to/js/test/ex/bidi_with_separate_default_in_right_part.view.tree","../../../../../mol/view/tree2/to/js/test/ex/bidi_doubing_right_part_with_same_default.view.tree","../../../../../mol/view/tree2/to/js/test/ex/klass.ts","../../../../../mol/view/tree2/to/js/test/ex/right_hierarchy_bar.ts","../../../../../mol/view/tree2/to/js/test/run.test.ts","../../../../../mol/view/tree2/to/js/test/js.bidi.test.ts","../../../../../mol/view/tree2/to/js/test/js.left.test.ts","../../../../../mol/view/tree2/to/js/test/js.array.test.ts","../../../../../mol/view/tree2/to/js/test/js.right.test.ts","../../../../../mol/view/tree2/to/js/test/js.simple.test.ts","../../../../../mol/view/tree2/to/js/test/js.structural.test.ts"],"names":[],"mappings":"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","sourcesContent":["namespace $ {\n\n\texport function $mol_test( set : { [ name : string ] : string | ( ( context : $ )=> void ) } ) {\n\t\t\n\t\tfor( let name in set ) {\n\n\t\t\tconst code = set[ name ]\n\t\t\tconst test = ( typeof code === 'string' ) ? new Function( '' , code ) as ()=> void : code\n\t\t\t\n\t\t\t$mol_test_all.push( test )\n\t\t}\n\n\t\t$mol_test_schedule()\n\t}\n\n\texport let $mol_test_mocks = [] as Array< ( context : $ )=> void >\n\n\texport const $mol_test_all = [] as Array< ( context : $ )=> any >\n\n\texport async function $mol_test_run() {\n\n\t\tfor( var test of $mol_test_all ) {\n\n\t\t\tlet context = Object.create( $$ )\n\t\t\tfor( let mock of $mol_test_mocks ) await mock( context )\n\t\t\t\n\t\t\tconst res = test( context )\n\t\t\tif( $mol_promise_like( res ) ) {\n\t\t\t\tawait new Promise( ( done, fail )=> {\n\t\t\t\t\tres.then( done, fail )\n\t\t\t\t\tsetTimeout( ()=> fail( new Error( 'Test timeout: ' + test.name ) ), 1000 )\n\t\t\t\t} )\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\t$$.$mol_log3_done({\n\t\t\tplace: '$mol_test',\n\t\t\tmessage: 'All tests passed',\n\t\t\tcount: $mol_test_all.length,\n\t\t})\n\t\t\n\t}\n\t\n\tlet scheduled = false\n\texport function $mol_test_schedule() {\n\n\t\tif( scheduled ) return\n\t\tscheduled = true\n\n\t\tsetTimeout( async ()=> {\n\t\t\t\n\t\t\tscheduled = false\n \t\t\t\n\t\t\tawait $mol_test_run()\n\t\t\t$$.$mol_test_complete()\n\t\t\t\n\t\t} , 1000 )\n\t\t\n\t}\n\n\t$mol_test_mocks.push( context => {\n\t\tlet seed = 0\n\n\t\tcontext.Math = Object.create( Math )\n\t\tcontext.Math.random = ()=> Math.sin( seed++ )\n\n\t\tconst forbidden = [ 'XMLHttpRequest' , 'fetch' ] as const\n\n\t\tfor( let api of forbidden ) {\n\t\t\tcontext[ api ] = new Proxy( function(){} as any , {\n\t\t\t\tget() {\n\t\t\t\t\t$mol_fail_hidden( new Error( `${ api } is forbidden in tests` ) )\n\t\t\t\t} ,\n\t\t\t\tapply() {\n\t\t\t\t\t$mol_fail_hidden( new Error( `${ api } is forbidden in tests` ) )\n\t\t\t\t} ,\n\t\t\t} )\n\t\t}\n\t\t\n\t} )\n\n\t$mol_test({\n\n\t\t'mocked Math.random'( $ ) {\n\t\t\tconsole.assert( $.Math.random() === 0 )\n\t\t\tconsole.assert( $.Math.random() === Math.sin(1) )\n\t\t} ,\n\n\t\t'forbidden XMLHttpRequest'( $ ) {\n\t\t\ttry {\n\t\t\t\tconsole.assert( void new $.XMLHttpRequest )\n\t\t\t} catch( error: any ) {\n\t\t\t\tconsole.assert( error.message === 'XMLHttpRequest is forbidden in tests' )\n\t\t\t}\n\t\t} ,\n\n\t\t'forbidden fetch'( $ ) {\n\t\t\ttry {\n\t\t\t\tconsole.assert( void $.fetch('') )\n\t\t\t} catch( error: any ) {\n\t\t\t\tconsole.assert( error.message === 'fetch is forbidden in tests' )\n\t\t\t}\n\t\t} ,\n\n\t})\n\n}\n","namespace $ {\n\t\n\texport function $mol_test_complete() {\n\t}\n\t\n}\n","namespace $ {\n\n\texport function $mol_dom_render_children (\n\t\tel : Element | DocumentFragment ,\n\t\tchildNodes : NodeList | Array< Node | string | null >\n\t) {\n\t\tconst node_set = new Set< Node | string | null >( childNodes )\n\t\t\n\t\tlet nextNode : Node | null = el.firstChild\n\t\tfor( let view of childNodes ) {\n\n\t\t\tif( view == null ) continue\n\n\t\t\tif( view instanceof $mol_dom_context.Node ) {\n\t\t\t\t\n\t\t\t\twhile( true ) {\n\t\t\t\t\tif( !nextNode ) {\n\t\t\t\t\t\tel.appendChild( view )\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\tif( nextNode == view ) {\n\t\t\t\t\t\tnextNode = nextNode.nextSibling\n\t\t\t\t\t\tbreak\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif( node_set.has( nextNode ) ) {\n\t\t\t\t\t\t\tel.insertBefore( view , nextNode )\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconst nn = nextNode.nextSibling\n\t\t\t\t\t\t\tel.removeChild( nextNode )\n\t\t\t\t\t\t\tnextNode = nn\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t} else {\n\t\t\t\tif( nextNode && nextNode.nodeName === '#text' ) {\n\t\t\t\t\tconst str = String( view )\n\t\t\t\t\tif( nextNode.nodeValue !== str ) nextNode.nodeValue = str\n\t\t\t\t\tnextNode = nextNode.nextSibling\n\t\t\t\t} else {\n\t\t\t\t\tconst textNode = $mol_dom_context.document.createTextNode( String( view ) )\n\t\t\t\t\tel.insertBefore( textNode , nextNode )\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\twhile( nextNode ) {\n\t\t\tconst currNode = nextNode\n\t\t\tnextNode = currNode.nextSibling\n\t\t\tel.removeChild( currNode )\n\t\t}\n\t}\n\n}\n","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\n\texport let $mol_jsx_prefix = ''\n\texport let $mol_jsx_crumbs = ''\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\t/**\n\t * JSX adapter that makes DOM tree.\n\t * Generates global unique ids for every DOM-element by components tree with ids.\n\t * Ensures all local ids are unique.\n\t * Can reuse an existing nodes by GUIDs when used inside [`mol_jsx_attach`](https://github.com/hyoo-ru/mam_mol/tree/master/jsx/attach).\n\t */\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\t\tconst guid = id ? $mol_jsx_prefix ? $mol_jsx_prefix + '/'+ id : id : $mol_jsx_prefix\n\t\tconst crumbs_self = id ? $mol_jsx_crumbs.replace( /(\\S+)/g, `$1_${ id.replace( /\\/.*/i, '' ) }` ) : $mol_jsx_crumbs\n\t\t\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( guid ) }` ) )\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\tlet node: Element | DocumentFragment | null = guid ? $mol_jsx_document.getElementById( guid ) : null\n\n\t\tif( $mol_jsx_prefix ) {\n\t\t\t\n\t\t\tconst prefix_ext = $mol_jsx_prefix\n\t\t\tconst booked_ext = $mol_jsx_booked\n\t\t\tconst crumbs_ext = $mol_jsx_crumbs\n\t\t\t\n\t\t\tfor( const field in props ) {\n\t\t\t\t\n\t\t\t\tconst func = props[ field ]\n\t\t\t\tif( typeof func !== 'function' ) continue\n\t\t\t\t\n\t\t\t\t\n\t\t\t\tconst wrapper = function( this: any, ... args: any[] ) {\n\t\t\t\t\t\n\t\t\t\t\tconst prefix = $mol_jsx_prefix\n\t\t\t\t\tconst booked = $mol_jsx_booked\n\t\t\t\t\tconst crumbs = $mol_jsx_crumbs\n\t\t\t\t\t\n\t\t\t\t\ttry {\n\t\t\n\t\t\t\t\t\t$mol_jsx_prefix = prefix_ext\n\t\t\t\t\t\t$mol_jsx_booked = booked_ext\n\t\t\t\t\t\t$mol_jsx_crumbs = crumbs_ext\n\t\t\t\t\t\t\n\t\t\t\t\t\treturn func.call( this, ... args )\n\t\t\t\t\t\t\n\t\t\t\t\t} finally {\n\t\t\t\t\t\t\n\t\t\t\t\t\t$mol_jsx_prefix = prefix\n\t\t\t\t\t\t$mol_jsx_booked = booked\n\t\t\t\t\t\t$mol_jsx_crumbs = crumbs\n\t\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\t$mol_func_name_from( wrapper, func )\n\t\t\t\tprops[ field ] = wrapper as any\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\tif( typeof Elem !== 'string' ) {\n\n\t\t\tif( 'prototype' in Elem ) {\n\n\t\t\t\tconst view = node && (node as any)[ String(Elem) ] || 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\tview.className = ( crumbs_self ? crumbs_self + ' ' : '' ) + ( Elem['name'] || Elem )\n\t\t\t\t\n\t\t\t\tnode = view.valueOf()\n\t\t\t\t\n\t\t\t\t;(node as any)![ String(Elem) ] = 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\tconst crumbs = $mol_jsx_crumbs\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\t\t\t\t$mol_jsx_crumbs = ( crumbs_self ? crumbs_self + ' ' : '' ) + ( Elem['name'] || Elem )\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\t\t\t\t$mol_jsx_crumbs = crumbs\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\tif( guid ) ( node as Element ).id = guid\n\t\tfor( const key in props ) {\n\t\t\tif( key === 'id' ) continue\n\t\t\t\n\t\t\tif( typeof props[ key ] === 'string' ) {\n\t\t\t\t\n\t\t\t\tif( typeof (node as any)[ key ] === 'string' ) (node as any)[ key ] = props[ key ]\n\t\t\t\t;( node as Element ).setAttribute( key , (props as any)[ key ] )\n\t\t\t\t\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 as any)[ key ] === '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\t(node as any)[ key ] = props[ key ]\n\t\t\t\t\n\t\t\t}\n\n\t\t}\n\n\t\tif( $mol_jsx_crumbs ) ( node as Element ).className = ( (props as any)?.['class'] ? (props as any)['class'] + ' ' : '' ) + crumbs_self\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 */\n/** @jsxFrag $mol_jsx_frag */\nnamespace $ {\n\t\n\t$mol_test({\n\t\t\n\t\t'Make empty div'() {\n\t\t\t$mol_assert_equal( (<div/>).outerHTML , '<div></div>' )\n\t\t} ,\n\t\t\n\t\t'Define native field'() {\n\t\t\t\n\t\t\tconst dom = <input value='123' /> as HTMLInputElement\n\t\t\t\n\t\t\t$mol_assert_equal( dom.outerHTML, '<input value=\"123\">' )\n\t\t\t$mol_assert_equal( dom.value, '123' )\n\n\t\t} ,\n\t\t\n\t\t'Define classes'() {\n\t\t\t\n\t\t\tconst dom = <div class={ 'foo bar' } />\n\t\t\t\n\t\t\t$mol_assert_equal( dom.outerHTML, '<div class=\"foo bar\"></div>' )\n\n\t\t} ,\n\t\t\n\t\t'Define styles'() {\n\t\t\t\n\t\t\tconst dom = <div style={{ color: 'red' }} />\n\t\t\t\n\t\t\t$mol_assert_equal( dom.outerHTML, '<div style=\"color: red;\"></div>' )\n\n\t\t} ,\n\t\t\n\t\t'Define dataset'() {\n\t\t\t\n\t\t\tconst dom = <div dataset={{ foo: 'bar' }} />\n\t\t\t\n\t\t\t$mol_assert_equal( dom.outerHTML, '<div data-foo=\"bar\"></div>' )\n\n\t\t} ,\n\t\t\n\t\t'Define attributes'() {\n\t\t\t\n\t\t\tconst dom = <div lang=\"ru\" hidden />\n\t\t\t\n\t\t\t$mol_assert_equal( dom.outerHTML, '<div lang=\"ru\" hidden=\"\"></div>' )\n\n\t\t} ,\n\t\t\n\t\t'Define child nodes'() {\n\n\t\t\tconst dom =\n\t\t\t\t<div>\n\t\t\t\t\thello\n\t\t\t\t\t<strong>world</strong>\n\t\t\t\t\t!\n\t\t\t\t</div>\n\t\t\t\n\t\t\t$mol_assert_equal( dom.outerHTML, '<div>hello<strong>world</strong>!</div>' )\n\n\t\t} ,\n\n\t\t'Make fragment'() {\n\n\t\t\tconst dom =\n\t\t\t\t<>\n\t\t\t\t\t<br />\n\t\t\t\t\t<hr />\n\t\t\t\t</>\n\t\t\t\n\t\t\t$mol_assert_equal( $mol_dom_serialize( dom ), '<br xmlns=\"http://www.w3.org/1999/xhtml\" /><hr xmlns=\"http://www.w3.org/1999/xhtml\" />' )\n\n\t\t} ,\n\n\t\t'Spread fragment'() {\n\n\t\t\tconst dom =\n\t\t\t\t<div>\n\t\t\t\t\t<>\n\t\t\t\t\t\t<br />\n\t\t\t\t\t\t<hr />\n\t\t\t\t\t</>\n\t\t\t\t</div>\n\t\t\t\n\t\t\t$mol_assert_equal( dom.outerHTML, '<div><br><hr></div>' )\n\n\t\t} ,\n\n\t\t'Function as component'() {\n\n\t\t\tconst Button = (\n\t\t\t\tprops: { hint: string },\n\t\t\t\ttarget: ()=> string,\n\t\t\t) => {\n\t\t\t\treturn <button title={ props.hint } >{ target() }</button>\n\t\t\t}\n\n\t\t\tconst dom = <Button id=\"foo\" hint=\"click me\">{ ()=> 'hey!' }</Button>\n\n\t\t\t$mol_assert_equal( dom.outerHTML, '<button id=\"foo\" title=\"click me\" class=\"Button\">hey!</button>' )\n\t\t\t\n\t\t} ,\n\t\t\n\t\t'Nested guid generation'() {\n\n\t\t\tconst Foo = ()=> {\n\t\t\t\treturn <div>\n\t\t\t\t\t<Bar id=\"bar\">\n\t\t\t\t\t\t<img id=\"icon\" />\n\t\t\t\t\t</Bar>\n\t\t\t\t</div>\n\t\t\t}\n\n\t\t\tconst Bar = ( props: {}, icon: Element )=> {\n\t\t\t\treturn <span>{ icon }<i id=\"label\"/></span>\n\t\t\t}\n\n\t\t\tconst dom = <Foo id=\"foo\" />\n\n\t\t\t$mol_assert_equal( dom.outerHTML, '<div id=\"foo\" class=\"Foo\"><span id=\"foo/bar\" class=\"Foo_bar Bar\"><img id=\"foo/icon\" class=\"Foo_icon\"><i id=\"foo/bar/label\" class=\"Foo_bar_label Bar_label\"></i></span></div>' )\n\t\t\t\n\t\t} ,\n\t\t\n\t\t'Fail on non unique ids'() {\n\n\t\t\tconst App = ()=> {\n\t\t\t\treturn <div>\n\t\t\t\t\t<span id=\"bar\" />\n\t\t\t\t\t<span id=\"bar\" />\n\t\t\t\t</div>\n\t\t\t}\n\n\t\t\t$mol_assert_fail( ()=> <App id=\"foo\" />, 'JSX already has tag with id \"foo/bar\"' )\n\t\t\t\n\t\t} ,\n\t\t\n\t\t'Owner based guid generationn'() {\n\n\t\t\tconst Foo = ()=> {\n\t\t\t\treturn <div>\n\t\t\t\t\t<Bar id=\"middle\" icon={ ()=> <img id=\"icon\" /> } />\n\t\t\t\t</div>\n\t\t\t}\n\n\t\t\tconst Bar = ( props: { icon: ()=> Element } )=> {\n\t\t\t\treturn <span>{ props.icon() }</span>\n\t\t\t}\n\n\t\t\tconst dom = <Foo id=\"app\" />\n\n\t\t\t$mol_assert_equal( dom.outerHTML, '<div id=\"app\" class=\"Foo\"><span id=\"app/middle\" class=\"Foo_middle Bar\"><img id=\"app/icon\" class=\"Foo_icon\"></span></div>' )\n\t\t\t\n\t\t} ,\n\t\t\n\t\t'Fail on same ids from different caller'() {\n\n\t\t\tconst Foo = ()=> {\n\t\t\t\treturn <div>\n\t\t\t\t\t<img id=\"icon\" />\n\t\t\t\t\t<Bar id=\"bar\" icon={ ()=> <img id=\"icon\" /> } />\n\t\t\t\t</div>\n\t\t\t}\n\n\t\t\tconst Bar = ( props: { icon: ()=> Element } )=> {\n\t\t\t\treturn <span>{ props.icon() }</span>\n\t\t\t}\n\n\t\t\t$mol_assert_fail( ()=> <Foo id=\"foo\" />, 'JSX already has tag with id \"foo/icon\"' )\n\t\t\t\n\t\t} ,\n\t\t\n\t})\n\t\n}\n","namespace $ {\n\n\t/** Lazy computed lists with native Array interface. $mol_range2_array is mutable but all derived ranges are immutable. */\n\texport function $mol_range2< Item = number >(\n\t\titem: Item[] | ( ( index : number )=> Item ) = index => index as any ,\n\t\tsize = ()=> Number.POSITIVE_INFINITY ,\n\t): Item[] {\n\t\t\n\t\tconst source = typeof item === 'function' ? new $mol_range2_array< Item >() : item\n\t\t\n\t\tif( typeof item !== 'function' ) {\n\t\t\titem = index => source[ index ]\n\t\t\tsize = ()=> source.length\n\t\t}\n\n\t\treturn new Proxy( source , {\n\n\t\t\tget( target , field ) {\n\n\t\t\t\tif( typeof field === 'string' ) {\n\t\t\t\t\tif( field === 'length' ) return size()\n\t\t\t\t\t\n\t\t\t\t\tconst index = Number( field )\n\t\t\t\t\tif( index < 0 ) return undefined\n\t\t\t\t\tif( index >= size() ) return undefined\n\t\t\t\t\tif( index === Math.trunc( index ) ) return ( item as any )( index )\n\t\t\t\t}\n\n\t\t\t\treturn $mol_range2_array.prototype[ field as any ]\n\t\t\t} ,\n\n\t\t\tset( target , field ) {\n\t\t\t\treturn $mol_fail( new TypeError( `Lazy range is read only (trying to set field ${ JSON.stringify( field ) })` ) )\n\t\t\t} ,\n\n\t\t\townKeys( target ) {\n\t\t\t\treturn [ ... Array( size() ) ].map( ( v, i ) => String( i ) ).concat( 'length' )\n\t\t\t} ,\n\n\t\t\tgetOwnPropertyDescriptor( target , field ) : PropertyDescriptor | undefined {\n\t\t\t\t\n\t\t\t\tif( field === \"length\" ) return {\n\t\t\t\t\tvalue : size() ,\n\t\t\t\t\twritable : true ,\n\t\t\t\t\tenumerable : false ,\n\t\t\t\t\tconfigurable : false ,\n\t\t\t\t}\n\n\t\t\t\tconst index = Number( field )\n\t\t\t\tif( index === Math.trunc( index ) ) return {\n\t\t\t\t\tget : ()=> this.get!( target , field , this ) ,\n\t\t\t\t\tenumerable : true ,\n\t\t\t\t\tconfigurable : true ,\n\t\t\t\t}\n\n\t\t\t\treturn Object.getOwnPropertyDescriptor( target , field )\n\t\t\t}\n\n\t\t} )\n\n\t}\n\n\texport class $mol_range2_array< Item > extends Array< Item > {\n\t\t\n\t\t// Lazy\n\t\tconcat( ... tail : Item[][] ) : Item[] {\n\t\t\tif( tail.length === 0 ) return this as any\n\n\t\t\tif( tail.length > 1 ) {\n\t\t\t\tlet list = this as any\n\t\t\t\tfor( let item of tail ) list = list.concat( item )\n\t\t\t\treturn list\n\t\t\t}\n\t\t\t\n\t\t\treturn $mol_range2(\n\t\t\t\tindex => index < this.length ? this[ index ] : tail[0][ index - this.length ] ,\n\t\t\t\t()=> this.length + tail[0].length ,\n\t\t\t)\n\t\t}\n\n\t\t// Lazy\n\t\tfilter< Context > (\n\t\t\tcheck : ( val : Item , index : number , list : Item[] )=> boolean ,\n\t\t\tcontext? : Context ,\n\t\t) {\n\t\t\t\n\t\t\tconst filtered = [] as Item[]\n\t\t\tlet cursor = -1\n\t\t\t\n\t\t\treturn $mol_range2(\n\t\t\t\tindex => {\n\t\t\t\t\t\n\t\t\t\t\twhile( cursor < this.length && index >= filtered.length - 1 ) {\n\t\t\t\t\t\tconst val = this[ ++ cursor ]\n\t\t\t\t\t\tif( check( val, cursor, this ) ) filtered.push( val )\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\treturn filtered[ index ]\n\t\t\t\t},\n\t\t\t\t()=> cursor < this.length ? Number.POSITIVE_INFINITY : filtered.length,\n\t\t\t)\n\t\t\t\n\t\t}\n\n\t\t// Diligent\n\t\tforEach< Context > (\n\t\t\tproceed : ( this : Context , val : Item , index : number , list : Item[] )=> void ,\n\t\t\tcontext? : Context,\n\t\t) {\n\t\t\tfor( let [ key , value ] of this.entries() ) proceed.call( context as Context , value , key , this )\n\t\t}\n\n\t\t// Lazy\n\t\tmap< Item_out , Context > (\n\t\t\tproceed : ( this : Context , val : Item , index : number , list : Item[] )=> Item_out ,\n\t\t\tcontext? : Context ,\n\t\t) : Item_out[] {\n\t\t\treturn $mol_range2(\n\t\t\t\tindex => proceed.call( context as Context , this[ index ] , index , this ) ,\n\t\t\t\t()=> this.length ,\n\t\t\t)\n\t\t}\n\n\t\t// Diligent\n\t\treduce< Result > (\n\t\t\tmerge : ( result : Result , val : Item , index : number , list : Item[] )=> Result ,\n\t\t\tresult? : Result ,\n\t\t) {\n\t\t\tlet index = 0\n\n\t\t\tif( arguments.length === 1 ) {\n\t\t\t\tresult = this[ index ++ ] as any\n\t\t\t}\n\t\t\t\n\t\t\tfor( ; index < this.length ; ++ index ) {\n\t\t\t\tresult = merge( result as Result , this[ index ] , index , this as any )\n\t\t\t}\n\t\t\t\n\t\t\treturn result\n\t\t}\n\n\t\t// Lazy\n\t\ttoReversed(): Item[] {\n\t\t\treturn $mol_range2(\n\t\t\t\tindex => this[ this.length - 1 - index ] ,\n\t\t\t\t()=> this.length ,\n\t\t\t)\n\t\t}\n\n\t\t// Lazy\n\t\tslice( from = 0 , to = this.length ) {\n\t\t\treturn $mol_range2(\n\t\t\t\tindex => this[ from + index ] ,\n\t\t\t\t()=> Math.min( to , this.length ) - from ,\n\t\t\t)\n\t\t}\n\n\t\t// Lazy\n\t\tsome< Context > (\n\t\t\tcheck : ( this : Context , val : Item , index : number , list : Item[] )=> boolean ,\n\t\t\tcontext? : Context ,\n\t\t) {\n\t\t\tfor( let index = 0 ; index < this.length ; ++ index ) {\n\t\t\t\tif( check.call( context as Context , this[ index ] , index , this ) ) return true\n\t\t\t}\n\t\t\treturn false\n\t\t}\n\n\t\t// Lazy\n\t\tevery< Narrow extends Item, Context = null >( check: ( value: Item, index: number, array: Item[] )=> value is Narrow, context?: Context ): this is Narrow[]\n\t\tevery< Context = null > (\n\t\t\tcheck : ( this : Context , val : Item , index : number , list : Item[] )=> boolean ,\n\t\t\tcontext? : Context ,\n\t\t) {\n\t\t\tfor( let index = 0 ; index < this.length ; ++ index ) {\n\t\t\t\tif( !check.call( context as Context , this[ index ] , index , this as any as Item[] ) ) return false\n\t\t\t}\n\t\t\treturn true\n\t\t}\n\n\t\treverse() {\n\t\t\treturn $mol_fail( new TypeError( `Mutable reverse is forbidden. Use toReversed instead.` ) )\n\t\t}\n\n\t\tsort() {\n\t\t\treturn $mol_fail( new TypeError( `Mutable sort is forbidden. Use toSorted instead.` ) )\n\t\t}\n\t\t\n\t\tindexOf( needle: Item ) {\n\t\t\treturn this.findIndex( item => item === needle )\n\t\t}\n\t\t\n\t\t[Symbol.toPrimitive]() {\n\t\t\treturn $mol_guid()\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\n\t$mol_test({\n\n\t\t'lazy calls'() {\n\n\t\t\tlet calls = 0\n\t\t\t\n\t\t\tconst list = $mol_range2( index => ( ++ calls , index ) , ()=> 10 )\n\n\t\t\t$mol_assert_equal( true, list instanceof Array )\n\t\t\t$mol_assert_equal( list.length , 10 )\n\n\t\t\t$mol_assert_equal( list[-1] , undefined )\n\t\t\t$mol_assert_equal( list[0] , 0 )\n\t\t\t$mol_assert_equal( list[9] , 9 )\n\t\t\t$mol_assert_equal( list[9.5] , undefined )\n\t\t\t$mol_assert_equal( list[10] , undefined )\n\n\t\t\t$mol_assert_equal( calls , 2 )\n\n\t\t} ,\n\n\t\t'infinity list'() {\n\n\t\t\tlet calls = 0\n\t\t\t\n\t\t\tconst list = $mol_range2( index => ( ++ calls , index ) )\n\n\t\t\t$mol_assert_equal( list.length , Number.POSITIVE_INFINITY )\n\n\t\t\t$mol_assert_equal( list[0] , 0 )\n\t\t\t$mol_assert_equal( list[4] , 4 )\n\t\t\t$mol_assert_equal( list[Number.MAX_SAFE_INTEGER] , Number.MAX_SAFE_INTEGER )\n\t\t\t$mol_assert_equal( list[Number.POSITIVE_INFINITY] , undefined )\n\t\t\t\n\t\t\t$mol_assert_equal( calls , 3 )\n\n\t\t} ,\n\n\t\t'stringify'() {\n\n\t\t\tconst list = $mol_range2( i => i , ()=> 5 )\n\n\t\t\t$mol_assert_equal( list.toString() , '0,1,2,3,4' )\n\t\t\t$mol_assert_equal( list.join(';') , '0;1;2;3;4' )\n\n\t\t} ,\n\n\t\t'for-of'() {\n\n\t\t\tlet log = ''\n\n\t\t\tfor( let i of $mol_range2( i => i + 1 , ()=> 5 ) ) {\n\t\t\t\tlog += i\n\t\t\t}\n\n\t\t\t$mol_assert_equal( log , '12345' )\n\n\t\t} ,\n\n\t\t'for-in'() {\n\n\t\t\tlet log = ''\n\n\t\t\tfor( let i in $mol_range2( i => i , ()=> 5 ) ) {\n\t\t\t\tlog += i\n\t\t\t}\n\n\t\t\t$mol_assert_equal( log , '01234' )\n\n\t\t} ,\n\n\t\t'forEach'() {\n\n\t\t\tlet log = ''\n\n\t\t\t$mol_range2( i => i , ()=> 5 ).forEach( i => log += i )\n\n\t\t\t$mol_assert_equal( log , '01234' )\n\n\t\t} ,\n\n\t\t'reduce'() {\n\n\t\t\tlet calls = 0\n\t\t\t\n\t\t\tconst list = $mol_range2().slice( 1 , 6 )\n\n\t\t\t$mol_assert_equal( list.reduce( ( s , v )=> s + v ) , 15 )\n\t\t\t$mol_assert_equal( list.reduce( ( s , v )=> s + v , 5 ) , 20 )\n\n\t\t} ,\n\n\t\t'lazy concat'() {\n\n\t\t\tlet calls1 = 0\n\t\t\tlet calls2 = 0\n\t\t\t\n\t\t\tconst list = $mol_range2( index => ( ++ calls1 , index ) , ()=> 5 ).concat(\n\t\t\t\t[ 0 , 1 , 2 , 3 , 4 ] ,\n\t\t\t\t$mol_range2( index => ( ++ calls2 , index ) , ()=> 5 ) ,\n\t\t\t)\n\n\t\t\t$mol_assert_equal( true, list instanceof Array )\n\t\t\t$mol_assert_equal( list.length , 15 )\n\n\t\t\t$mol_assert_equal( list[0] , 0 )\n\t\t\t$mol_assert_equal( list[4] , 4 )\n\t\t\t$mol_assert_equal( list[5] , 0 )\n\t\t\t$mol_assert_equal( list[9] , 4 )\n\t\t\t$mol_assert_equal( list[10] , 0 )\n\t\t\t$mol_assert_equal( list[14] , 4 )\n\t\t\t$mol_assert_equal( list[15] , undefined )\n\t\t\t\n\t\t\t$mol_assert_equal( calls1 , 2 )\n\t\t\t$mol_assert_equal( calls2 , 2 )\n\n\t\t} ,\n\n\t\t'lazy filter'() {\n\n\t\t\tlet calls = 0\n\t\t\t\n\t\t\tconst list = $mol_range2( index => ( ++ calls , index ) , ()=> 15 ).filter( v => v % 2 ).slice( 0 , 3 )\n\n\t\t\t$mol_assert_equal( true, list instanceof Array )\n\t\t\t$mol_assert_equal( list.length , 3 )\n\n\t\t\t$mol_assert_equal( list[0] , 1 )\n\t\t\t$mol_assert_equal( list[2] , 5 )\n\t\t\t$mol_assert_equal( list[3] , undefined )\n\t\t\t\n\t\t\t$mol_assert_equal( calls , 8 )\n\n\t\t} ,\n\n\t\t'lazy reverse'() {\n\t\t\tlet calls = 0\n\n\t\t\tconst list = $mol_range2( index => ( ++ calls , index ) , ()=> 10 ).toReversed().slice(0, 3)\n\n\t\t\t$mol_assert_equal( true, list instanceof Array )\n\t\t\t$mol_assert_equal( list.length , 3 )\n\n\t\t\t$mol_assert_equal( list[0] , 9 )\n\t\t\t$mol_assert_equal( list[2] , 7 )\n\t\t\t$mol_assert_equal( list[3] , undefined )\n\t\t\t$mol_assert_equal( calls , 2 )\n\n\t\t} ,\n\n\t\t'lazy map'() {\n\n\t\t\tlet calls1 = 0\n\t\t\tlet calls2 = 0\n\t\t\t\n\t\t\tconst source = $mol_range2( index => ( ++ calls1 , index ) , ()=> 5 )\n\t\t\tconst target = source.map(\n\t\t\t\t( item , index , self )=> {\n\t\t\t\t\t++ calls2\n\t\t\t\t\t$mol_assert_equal( source , self )\n\t\t\t\t\treturn index + 10\n\t\t\t\t} ,\n\t\t\t\t()=> 5 ,\n\t\t\t)\n\n\t\t\t$mol_assert_equal( true, target instanceof Array )\n\t\t\t$mol_assert_equal( target.length , 5 )\n\n\t\t\t$mol_assert_equal( target[0] , 10 )\n\t\t\t$mol_assert_equal( target[4] , 14 )\n\t\t\t$mol_assert_equal( target[5] , undefined )\n\t\t\t\n\t\t\t$mol_assert_equal( calls1 , 2 )\n\t\t\t$mol_assert_equal( calls2 , 2 )\n\n\t\t} ,\n\n\t\t'lazy slice'() {\n\n\t\t\tlet calls = 0\n\t\t\t\n\t\t\tconst list = $mol_range2( index => ( ++ calls , index ) , ()=> 10 ).slice( 3 , 7 )\n\n\t\t\t$mol_assert_equal( true, list instanceof Array )\n\t\t\t$mol_assert_equal( list.length , 4 )\n\n\t\t\t$mol_assert_equal( list[0] , 3 )\n\t\t\t$mol_assert_equal( list[3] , 6 )\n\t\t\t$mol_assert_equal( list[4] , undefined )\n\t\t\t\n\t\t\t$mol_assert_equal( calls , 2 )\n\n\t\t} ,\n\n\t\t'lazy some'() {\n\n\t\t\tlet calls = 0\n\t\t\t\n\t\t\t$mol_assert_equal( true, $mol_range2( index => ( ++ calls , index ) , ()=> 5 ).some( v => v >= 2 ) )\n\n\t\t\t$mol_assert_equal( calls , 3 )\n\n\t\t\t$mol_assert_equal( false, $mol_range2( i => i , ()=> 0 ).some( v => true ) )\n\t\t\t$mol_assert_equal( true, $mol_range2( i => i ).some( v => v > 5 ) )\n\t\t} ,\n\n\t\t'lazy every'() {\n\n\t\t\tlet calls = 0\n\t\t\t\n\t\t\t$mol_assert_equal( false, $mol_range2( index => ( ++ calls , index ) , ()=> 5 ).every( v => v < 2 ) )\n\n\t\t\t$mol_assert_equal( calls , 3 )\n\n\t\t\t$mol_assert_equal( true, $mol_range2( i => i , ()=> 0 ).every( v => false ) )\n\t\t\t$mol_assert_equal( false, $mol_range2( i => i ).every( v => v < 5 ) )\n\t\t} ,\n\n\t\t'lazyfy'() {\n\n\t\t\tlet calls = 0\n\t\t\t\n\t\t\tconst list = $mol_range2([ 0 , 1 , 2 , 3 , 4 , 5 ]).map( i => ( ++ calls , i + 10 ) ).slice( 2 )\n\n\t\t\t$mol_assert_equal( true, list instanceof Array )\n\t\t\t$mol_assert_equal( list.length , 4 )\n\n\t\t\t$mol_assert_equal( calls , 0 )\n\t\t\t\n\t\t\t$mol_assert_equal( list[0] , 12 )\n\t\t\t$mol_assert_equal( list[3] , 15 )\n\t\t\t$mol_assert_equal( list[4] , undefined )\n\t\t\t\n\t\t\t$mol_assert_equal( calls , 2 )\n\n\t\t} ,\n\n\t\t'prevent modification'() {\n\n\t\t\tconst list = $mol_range2( i => i , ()=> 5 )\n\n\t\t\t$mol_assert_fail( ()=> list.push( 4 ) , TypeError )\n\t\t\t$mol_assert_fail( ()=> list.pop() , TypeError )\n\t\t\t\n\t\t\t$mol_assert_fail( ()=> list.unshift( 4 ) , TypeError )\n\t\t\t$mol_assert_fail( ()=> list.shift() , TypeError )\n\t\t\t\n\t\t\t$mol_assert_fail( ()=> list.splice( 1 , 2 ) , TypeError )\n\t\t\t$mol_assert_fail( ()=> list[ 1 ] = 2 , TypeError )\n\t\t\t\n\t\t\t$mol_assert_fail( ()=> list.reverse() , TypeError )\n\t\t\t$mol_assert_fail( ()=> list.sort() , TypeError )\n\n\t\t\t$mol_assert_equal( list.toString() , '0,1,2,3,4' )\n\n\t\t}\n\n\t})\n\n}\n","/** @jsx $mol_jsx */\nnamespace $ {\n\n\t$mol_test({\n\n\t\t'nulls & undefineds'() {\n\n\t\t\t$mol_assert_ok( $mol_compare_deep( null , null ) )\n\t\t\t$mol_assert_ok( $mol_compare_deep( undefined , undefined ) )\n\t\t\t\n\t\t\t$mol_assert_not( $mol_compare_deep( undefined , null ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( {} , null ) )\n\t\t\t\n\t\t} ,\n\n\t\t'number'() {\n\t\t\t\n\t\t\t$mol_assert_ok( $mol_compare_deep( 1 , 1 ) )\n\t\t\t$mol_assert_ok( $mol_compare_deep( Number.NaN , Number.NaN ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( 1 , 2 ) )\n\t\t\t\n\t\t\t$mol_assert_ok( $mol_compare_deep( Object( 1 ) , Object( 1 ) ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( Object( 1 ) , Object( 2 ) ) )\n\t\t\t\n\t\t} ,\n\n\t\t'POJO'() {\n\t\t\t$mol_assert_ok( $mol_compare_deep( {} , {} ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( { a : 1 } , { b : 2 } ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( { a : 1 } , { a : 2 } ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( {} , { a : undefined } ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( { a: 1, b: 2 } , { b: 2, a: 1 } ) )\n\t\t\t$mol_assert_ok( $mol_compare_deep( { a : { b : 1 } } , { a : { b : 1 } } ) )\n\t\t\t$mol_assert_ok( $mol_compare_deep( Object.create(null), Object.create(null) ) )\n\t\t} ,\n\n\t\t'Array'() {\n\t\t\t\n\t\t\t$mol_assert_ok( $mol_compare_deep( [] , [] ) )\n\t\t\t$mol_assert_ok( $mol_compare_deep( [ 1 , [2] ] , [ 1 , [2] ] ) )\n\t\t\t\n\t\t\t$mol_assert_not( $mol_compare_deep( [ 1 , 2 ] , [ 1 , 3 ] ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( [ 1 , 2 , ] , [ 1 , 3 , undefined ] ) )\n\t\t\t\n\t\t\t$mol_assert_not( $mol_compare_deep( $mol_range2().slice(0,0), new Array() ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( $mol_range2(), $mol_range2() ) )\n\t\t\t\n\t\t} ,\n\n\t\t'Non POJO are different'() {\n\t\t\t\n\t\t\tclass Thing extends Object {}\n\t\t\t$mol_assert_not( $mol_compare_deep( new Thing , new Thing ) )\n\t\t\t\n\t\t\t$mol_assert_not( $mol_compare_deep( ()=> 1 , ()=>1 ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( new RangeError( 'Test error' ) , new RangeError( 'Test error' ) ) )\n\t\t\t\n\t\t} ,\n\n\t\t'POJO with symbols'() {\n\t\t\tconst sym = Symbol()\n\t\t\t$mol_assert_ok( $mol_compare_deep( { [ sym ]: true }, { [ sym ]: true } ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( { [ Symbol() ]: true }, { [ Symbol() ]: true } ) )\n\t\t} ,\n\n\t\t'same POJOs with cyclic reference'() {\n\n\t\t\tconst a = { foo : {} }\n\t\t\t;(a as any)['self'] = a\n\n\t\t\tconst b = { foo : {} }\n\t\t\t;(b as any)['self'] = b\n\n\t\t\t$mol_assert_ok( $mol_compare_deep( a , b ) )\n\n\t\t} ,\n\n\t\t'same POJOs with cyclic reference with cache warmup'() {\n\t\t\tconst obj1 = { test: 1, obj3: null as unknown as Object }\n\t\t\tconst obj1_copy = { test: 1, obj3: null as unknown as Object }\n\t\t\tconst obj2 = { test: 2, obj1 }\n\t\t\tconst obj2_copy = { test: 2, obj1: obj1_copy }\n\t\t\tconst obj3 = { test: 3, obj2 }\n\t\t\tconst obj3_copy = { test: 3, obj2: obj2_copy }\n\n\t\t\tobj1.obj3 = obj3\n\t\t\tobj1_copy.obj3 = obj3_copy\n\n\t\t\t// warmup cache\n\t\t\t$mol_assert_not( $mol_compare_deep( obj1 , {} as any ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( obj2 , {} as any ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( obj3 , {} as any ) )\n\n\t\t\t$mol_assert_ok( $mol_compare_deep( obj3 , obj3_copy ) )\n\n\t\t} ,\n\n\t\t'Date'() {\n\t\t\t$mol_assert_ok( $mol_compare_deep( new Date( 12345 ) , new Date( 12345 ) ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( new Date( 12345 ) , new Date( 12346 ) ) )\n\t\t} ,\n\n\t\t'RegExp'() {\n\t\t\t$mol_assert_ok( $mol_compare_deep( /\\x22/mig , /\\x22/mig ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( /\\x22/mig , /\\x21/mig ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( /\\x22/mig , /\\x22/mg ) )\n\t\t} ,\n\n\t\t'Error'() {\n\t\t\t\n\t\t\t$mol_assert_not( $mol_compare_deep( new Error( 'xxx' ) , new Error( 'xxx' ) ) )\n\n\t\t\tconst fail = ( message: string )=> new Error( message )\n\t\t\t\n\t\t\t$mol_assert_ok( $mol_compare_deep(\n\t\t\t\t... [ 'xxx' , 'xxx' ].map( msg => new Error( msg ) ) as [ Error, Error ]\n\t\t\t) )\n\t\t\t\n\t\t\t$mol_assert_not( $mol_compare_deep(\n\t\t\t\t... [ 'xxx' , 'yyy' ].map( msg => new Error( msg ) ) as [ Error, Error ]\n\t\t\t) )\n\t\t\t\n\t\t} ,\n\n\t\t'Map'() {\n\t\t\t$mol_assert_ok( $mol_compare_deep( new Map , new Map ) )\n\t\t\t$mol_assert_ok( $mol_compare_deep( new Map([ [ 1 , [2] ] ]) , new Map([ [ 1 , [2] ] ]) ) )\n\t\t\t$mol_assert_ok( $mol_compare_deep( new Map([ [ [1] , 2 ] ]) , new Map([ [ [1] , 2 ] ]) ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( new Map([ [ 1 , 2 ] ]) , new Map([ [ 1 , 3 ] ]) ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( new Map([ [ [1] , 2 ] ]) , new Map([ [ [3] , 2 ] ]) ) )\n\t\t} ,\n\t\t\n\t\t'Set'() {\n\t\t\t$mol_assert_ok( $mol_compare_deep( new Set , new Set ) )\n\t\t\t$mol_assert_ok( $mol_compare_deep( new Set([ 1 , [2] ]) , new Set([ 1 , [2] ]) ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( new Set([ 1 ]) , new Set([ 2 ]) ) )\n\t\t} ,\n\t\t\n\t\t'Uint8Array'() {\n\t\t\t$mol_assert_ok( $mol_compare_deep( new Uint8Array , new Uint8Array ) )\n\t\t\t$mol_assert_ok( $mol_compare_deep( new Uint8Array([ 0 ]) , new Uint8Array([ 0 ]) ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( new Uint8Array([ 0 ]) , new Uint8Array([ 1 ]) ) )\n\t\t} ,\n\t\t\n\t\t'DataView'() {\n\t\t\t$mol_assert_ok( $mol_compare_deep( new DataView( new Uint8Array().buffer ) , new DataView( new Uint8Array().buffer ) ) )\n\t\t\t$mol_assert_ok( $mol_compare_deep( new DataView( new Uint8Array([ 0 ]).buffer ) , new DataView( new Uint8Array([ 0 ]).buffer ) ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( new DataView( new Uint8Array([ 0 ]). buffer ) , new DataView( new Uint8Array([ 1 ]).buffer ) ) )\n\t\t} ,\n\t\t\n\t\t'Serializale'() {\n\t\t\t\n\t\t\tclass User {\n\t\t\t\t\n\t\t\t\tconstructor(\n\t\t\t\t\treadonly name: string,\n\t\t\t\t\treadonly rand = Math.random(),\n\t\t\t\t) {}\n\t\t\t\t\n\t\t\t\t[ Symbol.toPrimitive ]( mode: 'default' | 'number' | 'string' ) {\n\t\t\t\t\treturn this.name\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\t$mol_assert_ok( $mol_compare_deep( new User( 'Jin' ), new User( 'Jin' ) ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( new User( 'Jin' ), new User( 'John' ) ) )\n\t\t\t\n\t\t} ,\n\t\t\n\t\t'Iterable'() {\n\t\t\t$mol_assert_ok( $mol_compare_deep( new URLSearchParams({ foo: 'bar' }), new URLSearchParams({ foo: 'bar' }) ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( new URLSearchParams({ foo: 'xxx' }), new URLSearchParams({ foo: 'yyy' }) ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( new URLSearchParams({ foo: 'xxx', bar: 'yyy' }), new URLSearchParams({ bar: 'yyy', foo: 'xxx' }) ) )\n\t\t} ,\n\t\t\n\t})\n\n}\n","namespace $ {\n\t\n\t/**\n\t * Argument must be Truthy\n\t * @deprecated use $mol_assert_equal instead\n\t */\n\texport function $mol_assert_ok( value : any ) {\n\t\tif( value ) return\n\t\t$mol_fail( new Error( `${value} ≠ true` ) )\n\t}\n\t\n\t/**\n\t * Argument must be Falsy\n\t * @deprecated use $mol_assert_equal instead\n\t */\n\texport function $mol_assert_not( value : any ) {\n\t\tif( !value ) return\n\t\t$mol_fail( new Error( `${value} ≠ false` ) )\n\t}\n\t\n\t/**\n\t * Handler must throw an error.\n\t * @example\n\t * $mol_assert_fail( ()=>{ throw new Error( 'Parse error' ) } ) // Passes because throws error\n\t * $mol_assert_fail( ()=>{ throw new Error( 'Parse error' ) } , 'Parse error' ) // Passes because throws right message\n\t * $mol_assert_fail( ()=>{ throw new Error( 'Parse error' ) } , Error ) // Passes because throws right class\n\t * @see https://mol.hyoo.ru/#!section=docs/=9q9dv3_fgxjsf\n\t */\n\texport function $mol_assert_fail(\n\t\thandler: ()=> any ,\n\t\tErrorRight: string | typeof Error | typeof Promise\n\t) {\n\t\t\n\t\tconst fail = $.$mol_fail\n\t\t\n\t\ttry {\n\t\t\t$.$mol_fail = $.$mol_fail_hidden\n\t\t\t\n\t\t\thandler()\n\n\t\t} catch( error: any ) {\n\t\t\t\n\t\t\t$.$mol_fail = fail\n\n\t\t\tif( typeof ErrorRight === 'string' ) {\n\t\t\t\t$mol_assert_equal( error.message ?? error, ErrorRight )\n\t\t\t} else {\n\t\t\t\t$mol_assert_equal( error instanceof ErrorRight, true )\n\t\t\t}\n\t\t\t\n\t\t\treturn error\n\n\t\t} finally {\n\t\t\t$.$mol_fail = fail\n\t\t}\n\n\t\t$mol_fail( new Error( 'Not failed' ) )\n\t}\n\t\n\t/** @deprecated Use $mol_assert_equal */\n\texport function $mol_assert_like< Value >( ... args : [ Value, Value, ...Value[] ] ) {\n\t\t$mol_assert_equal( ... args )\n\t}\n\t\n\t/**\n\t * All arguments must not be structural equal to each other.\n\t * @example\n\t * $mol_assert_unique( 1 , 2 , 3 ) // Passes\n\t * $mol_assert_unique( 1 , 1 , 2 ) // Fails because 1 === 1\n\t * @see https://mol.hyoo.ru/#!section=docs/=9q9dv3_fgxjsf\n\t */\n\texport function $mol_assert_unique( ... args : [ any, any, ...any[] ] ) {\n\t\t\n\t\tfor( let i = 0 ; i < args.length ; ++i ) {\n\t\t\tfor( let j = 0 ; j < args.length ; ++j ) {\n\t\t\t\t\n\t\t\t\tif( i === j ) continue\n\t\t\t\tif( !$mol_compare_deep( args[i], args[j] ) ) continue\n\t\t\t\t\n\t\t\t\treturn $mol_fail( new Error(\n\t\t\t\t\t`Uniquesess assertion failure`,\n\t\t\t\t\t{ cause: { [i]: args[i], [i]: args[i] } },\n\t\t\t\t) )\n\t\t\t\t\n\t\t\t}\n\t\t}\n\t\t\n\t}\n\t\n\t/**\n\t * All arguments must be structural equal each other.\n\t * @example\n\t * $mol_assert_like( [1] , [1] , [1] ) // Passes\n\t * $mol_assert_like( [1] , [1] , [2] ) // Fails because 1 !== 2\n\t * @see https://mol.hyoo.ru/#!section=docs/=9q9dv3_fgxjsf\n\t */\n\texport function $mol_assert_equal< Value >( ... args : Value[] ) {\n\t\tfor( let i = 1 ; i < args.length ; ++i ) {\n\t\t\t\n\t\t\tif( $mol_compare_deep( args[0] , args[i] ) ) continue\n\t\t\tif( args[0] instanceof $mol_dom_context.Element && args[i] instanceof $mol_dom_context.Element && args[0].outerHTML === ( args[i] as Element ).outerHTML ) continue\n\t\t\t\n\t\t\treturn $mol_fail( new Error(\n\t\t\t\t`Equality assertion failure`,\n\t\t\t\t{ cause: { 0: args[0], [i]: args[i] } },\n\t\t\t) )\n\t\t\t\n\t\t}\n\t}\n\t\n}\n","namespace $ {\n\t$mol_test( {\n\t\t\n\t\t'must be false'() {\n\t\t\t$mol_assert_not( 0 )\n\t\t} ,\n\t\t\n\t\t'must be true'() {\n\t\t\t$mol_assert_ok( 1 )\n\t\t} ,\n\t\t\n\t\t'two must be equal'() {\n\t\t\t$mol_assert_equal( 2 , 2 )\n\t\t} ,\n\t\t\n\t\t'three must be equal'() {\n\t\t\t$mol_assert_equal( 2 , 2 , 2 )\n\t\t} ,\n\t\t\n\t\t'two must be unique'() {\n\t\t\t$mol_assert_unique( [ 2 ] , [ 3 ] )\n\t\t} ,\n\t\t\n\t\t'three must be unique'() {\n\t\t\t$mol_assert_unique( [ 1 ] , [ 2 ] , [ 3 ] )\n\t\t} ,\n\t\t\n\t\t'two must be alike'() {\n\t\t\t$mol_assert_like( [ 3 ] , [ 3 ] )\n\t\t} ,\n\t\t\n\t\t'three must be alike'() {\n\t\t\t$mol_assert_like( [ 3 ] , [ 3 ] , [ 3 ] )\n\t\t} ,\n\n\t\t'two object must be alike'() {\n\t\t\t$mol_assert_like( { a: 1 }, { a: 1 } )\n\t\t} ,\n\n\t\t'three object must be alike'() {\n\t\t\t$mol_assert_like( { a: 1 }, { a: 1 }, { a: 1 } )\n\t\t} ,\n\t\t\n\t} )\n}\n","namespace $ {\n\n\t$mol_test_mocks.push( $ => {\n\t\t$.$mol_log3_come = ()=> {}\n\t\t$.$mol_log3_done = ()=> {}\n\t\t$.$mol_log3_fail = ()=> {}\n\t\t$.$mol_log3_warn = ()=> {}\n\t\t$.$mol_log3_rise = ()=> {}\n\t\t$.$mol_log3_area = ()=> ()=> {}\n\t} )\n\n}\n","namespace $ {\n\n\t$mol_test({\n\t\t\n\t\t'FQN of anon function'($) {\n\t\t\tconst $$ = Object.assign( $ , { $mol_func_name_test : ( ()=> ()=> {} )() } )\n\t\t\t$mol_assert_equal( $$.$mol_func_name_test.name , '' )\n\t\t\t$mol_assert_equal( $$.$mol_func_name( $$.$mol_func_name_test ) , '$mol_func_name_test' )\n\t\t\t$mol_assert_equal( $$.$mol_func_name_test.name , '$mol_func_name_test' )\n\t\t},\n\n\t})\n\n}\n","namespace $ {\n\t$mol_test({\n\t\t\n\t\t'get'() {\n\t\t\tconst proxy = $mol_delegate( {} as any , ()=> ({ foo : 777 }) )\n\t\t\t$mol_assert_equal( proxy.foo , 777 )\n\t\t},\n\n\t\t'has'() {\n\t\t\tconst proxy = $mol_delegate( {} as any , ()=> ({ foo : 777 }) )\n\t\t\t$mol_assert_equal( 'foo' in proxy , true )\n\t\t},\n\n\t\t'set'() {\n\t\t\tconst target = { foo : 777 }\n\t\t\tconst proxy = $mol_delegate( {} as any , ()=> target )\n\t\t\tproxy.foo = 123\n\t\t\t$mol_assert_equal( target.foo , 123 )\n\t\t},\n\t\t\n\t\t'getOwnPropertyDescriptor'() {\n\n\t\t\tconst proxy = $mol_delegate( {} as any , ()=> ({ foo : 777 }) )\n\t\t\t\n\t\t\t$mol_assert_like(\n\t\t\t\tObject.getOwnPropertyDescriptor( proxy , 'foo' ),\n\t\t\t\t{\n\t\t\t\t\tvalue: 777,\n\t\t\t\t\twritable: true,\n\t\t\t\t\tenumerable: true,\n\t\t\t\t\tconfigurable: true,\n\t\t\t\t},\n\t\t\t)\n\t\t\t\n\t\t},\n\n\t\t'ownKeys'() {\n\n\t\t\tconst proxy = $mol_delegate(\n\t\t\t\t{} as any ,\n\t\t\t\t()=> ({ foo : 777 , [ Symbol.toStringTag ] : 'bar' }),\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_like(\n\t\t\t\tReflect.ownKeys( proxy ),\n\t\t\t\t[ 'foo' , Symbol.toStringTag ],\n\t\t\t)\n\n\t\t},\n\n\t\t'getPrototypeOf'() {\n\n\t\t\tclass Foo {}\n\n\t\t\tconst proxy = $mol_delegate(\n\t\t\t\t{} as any ,\n\t\t\t\t()=> new Foo,\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\tObject.getPrototypeOf( proxy ),\n\t\t\t\tFoo.prototype,\n\t\t\t)\n\n\t\t},\n\n\t\t'setPrototypeOf'() {\n\n\t\t\tclass Foo {}\n\t\t\tconst target = {}\n\n\t\t\tconst proxy = $mol_delegate(\n\t\t\t\t{} ,\n\t\t\t\t()=> target,\n\t\t\t)\n\n\t\t\tObject.setPrototypeOf( proxy , Foo.prototype )\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\tObject.getPrototypeOf( target ),\n\t\t\t\tFoo.prototype,\n\t\t\t)\n\n\t\t},\n\n\t\t'instanceof'() {\n\n\t\t\tclass Foo {}\n\n\t\t\tconst proxy = $mol_delegate(\n\t\t\t\t{} ,\n\t\t\t\t()=> new Foo,\n\t\t\t)\n\n\t\t\t$mol_assert_ok( proxy instanceof Foo )\n\t\t\t$mol_assert_ok( proxy instanceof $mol_delegate )\n\n\t\t},\n\n\t\t'autobind'() {\n\n\t\t\tclass Foo {}\n\n\t\t\tconst proxy = $mol_delegate(\n\t\t\t\t{} ,\n\t\t\t\t()=> new Foo,\n\t\t\t)\n\n\t\t\t$mol_assert_ok( proxy instanceof Foo )\n\t\t\t$mol_assert_ok( proxy instanceof $mol_delegate )\n\n\t\t},\n\n\t})\n}\n","namespace $ {\n\t$mol_test( {\n\t\t'span for same uri'( $ ) {\n\t\t\tconst span = new $mol_span('test.ts', '', 1, 3, 4)\n\t\t\tconst child = span.span(4, 5, 8)\n\n\t\t\t$mol_assert_equal(child.uri, 'test.ts')\n\t\t\t$mol_assert_equal(child.row, 4)\n\t\t\t$mol_assert_equal(child.col, 5)\n\t\t\t$mol_assert_equal(child.length, 8)\n\t\t},\n\n\t\t'span after of given position'( $ ) {\n\t\t\tconst span = new $mol_span('test.ts', '', 1, 3, 4)\n\t\t\tconst child = span.after(11)\n\n\t\t\t$mol_assert_equal(child.uri, 'test.ts')\n\t\t\t$mol_assert_equal(child.row, 1)\n\t\t\t$mol_assert_equal(child.col, 7)\n\t\t\t$mol_assert_equal(child.length, 11)\n\t\t},\n\n\t\t'slice span - regular'( $ ) {\n\t\t\tconst span = new $mol_span('test.ts', '', 1, 3, 5)\n\t\t\tconst child = span.slice(1, 4)\n\n\t\t\t$mol_assert_equal(child.row, 1)\n\t\t\t$mol_assert_equal(child.col, 4)\n\t\t\t$mol_assert_equal(child.length, 3)\n\n\t\t\tconst child2 = span.slice(2, 2)\n\n\t\t\t$mol_assert_equal(child2.col, 5)\n\t\t\t$mol_assert_equal(child2.length, 0)\n\t\t},\n\n\t\t'slice span - negative'( $ ) {\n\t\t\tconst span = new $mol_span('test.ts', '', 1, 3, 5)\n\t\t\tconst child = span.slice(-3, -1)\n\n\t\t\t$mol_assert_equal(child.row, 1)\n\t\t\t$mol_assert_equal(child.col, 5)\n\t\t\t$mol_assert_equal(child.length, 2)\n\t\t},\n\n\t\t'slice span - out of range'( $ ) {\n\t\t\tconst span = new $mol_span('test.ts', '', 1, 3, 5)\n\n\t\t\t$mol_assert_fail( ()=> span.slice(-1, 3), `End value '3' can't be less than begin value (test.ts#1:3/5)` )\n\t\t\t$mol_assert_fail( ()=> span.slice(1, 6), `End value '6' out of range (test.ts#1:3/5)` )\n\t\t\t$mol_assert_fail( ()=> span.slice(1, 10), `End value '10' out of range (test.ts#1:3/5)` )\n\t\t},\n\n\t\t'error handling'( $ ) {\n\t\t\tconst span = new $mol_span('test.ts', '', 1, 3, 4)\n\t\t\tconst error = span.error('Some error')\n\n\t\t\t$mol_assert_equal(error.message, 'Some error (test.ts#1:3/4)')\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_tree2_from_string( \"foo\\nbar\\n\" ).kids.length , 2 )\n\t\t\t$mol_assert_equal( $.$mol_tree2_from_string( \"foo\\nbar\\n\" ).kids[ 1 ].type , \"bar\" )\n\t\t\t$mol_assert_equal( $.$mol_tree2_from_string( \"foo\\n\\n\\n\" ).kids.length , 1 )\n\t\t\t\n\t\t\t$mol_assert_equal( $.$mol_tree2_from_string( \"=foo\\n\\\\bar\\n\" ).kids.length , 2 )\n\t\t\t$mol_assert_equal( $.$mol_tree2_from_string( \"=foo\\n\\\\bar\\n\" ).kids[ 1 ].value , \"bar\" )\n\t\t\t\n\t\t\t$mol_assert_equal( $.$mol_tree2_from_string( \"foo bar \\\\pol\\n\" ).kids[ 0 ].kids[ 0 ].kids[ 0 ].value , \"pol\" )\n\t\t\t$mol_assert_equal( $.$mol_tree2_from_string( \"foo bar\\n\\t\\\\pol\\n\\t\\\\men\\n\" ).kids[ 0 ].kids[ 0 ].kids[ 1 ].value , \"men\" )\n\t\t\t\n\t\t\t$mol_assert_equal( $.$mol_tree2_from_string( 'foo bar \\\\text\\n' ).toString() , 'foo bar \\\\text\\n' )\n\t\t} ,\n\n\t\t'Too many tabs'( $ ) {\n\n\t\t\tconst tree = `\n\t\t\t\tfoo\n\t\t\t\t\t\tbar\n\t\t\t`\n\n\t\t\t$mol_assert_fail( ()=> {\n\t\t\t\t$.$mol_tree2_from_string( tree , 'test' )\n\t\t\t}, 'Too many tabs\\ntest#3:1/6\\n!!!!!!\\n\\t\\t\\t\\t\\t\\tbar' )\n\n\t\t},\n\n\t\t'Too few tabs'( $ ) {\n\n\t\t\tconst tree = `\n\t\t\t\t\tfoo\n\t\t\t\tbar\n\t\t\t`\n\n\t\t\t$mol_assert_fail( ()=> {\n\t\t\t\t$.$mol_tree2_from_string( tree , 'test' )\n\t\t\t}, 'Too few tabs\\ntest#3:1/4\\n!!!!\\n\\t\\t\\t\\tbar' )\n\n\t\t},\n\n\t\t'Wrong nodes separator at start'( $ ) {\n\n\t\t\tconst tree = `foo\\n \\tbar\\n`\n\n\t\t\t$mol_assert_fail( ()=> {\n\t\t\t\t$.$mol_tree2_from_string( tree , 'test' )\n\t\t\t}, 'Wrong nodes separator\\ntest#2:1/2\\n!!\\n \\tbar' )\n\n\t\t},\n\n\t\t'Wrong nodes separator in the middle'( $ ) {\n\n\t\t\tconst tree = `foo bar\\n`\n\n\t\t\t$mol_assert_fail( ()=> {\n\t\t\t\t$.$mol_tree2_from_string( tree , 'test' )\n\t\t\t}, 'Wrong nodes separator\\ntest#1:5/1\\n !\\nfoo bar' )\n\n\t\t},\n\n\t\t'Unexpected EOF, LF required'( $ ) {\n\n\t\t\tconst tree = `\tfoo`\n\n\t\t\t$mol_assert_fail( ()=> {\n\t\t\t\t$.$mol_tree2_from_string( tree , 'test' )\n\t\t\t}, 'Unexpected EOF, LF required\\ntest#1:5/1\\n\t !\\n\tfoo' )\n\n\t\t},\n\n\t\t'Errors skip and collect'( $ ) {\n\n\t\t\tconst tree = `foo bar`\n\t\t\tconst errors = [] as string[]\n\n\t\t\tconst $$ = $.$mol_ambient({\n\t\t\t\t$mol_fail: ( error: any ) => {\n\t\t\t\t\terrors.push( error.message )\n\t\t\t\t\treturn null as never\n\t\t\t\t}\n\t\t\t})\n\n\t\t\tconst res = $$.$mol_tree2_from_string( tree , 'test' )\n\n\t\t\t$mol_assert_like( errors, [\n\t\t\t\t'Wrong nodes separator\\ntest#1:5/1\\n !\\nfoo bar',\n\t\t\t\t'Unexpected EOF, LF required\\ntest#1:9/1\\n !\\nfoo bar',\n\t\t\t] )\n\n\t\t\t$mol_assert_equal( res.toString(), 'foo bar\\n' )\n\n\t\t},\n\n\t} )\t\n}\n","namespace $ {\n\t$mol_test( {\n\t\t\n\t\t'all cases of using maybe'() {\n\t\t\t$mol_assert_equal( $mol_maybe( 0 )[ 0 ] , 0 )\n\t\t\t$mol_assert_equal( $mol_maybe( false )[ 0 ] , false )\n\t\t\t$mol_assert_equal( $mol_maybe( null )[ 0 ] , void 0 )\n\t\t\t$mol_assert_equal( $mol_maybe( void 0 )[ 0 ] , void 0 )\n\t\t\t\n\t\t\t$mol_assert_equal( $mol_maybe< number >( void 0 ).map( v => v.toString() )[ 0 ] , void 0 )\n\t\t\t$mol_assert_equal( $mol_maybe( 0 ).map( v => v.toString() )[ 0 ] , '0' )\n\t\t} ,\n\t\t\n\t} )\n}\n","namespace $ {\n\t\n\tfunction check( tree: $mol_tree2, ideal: string ) {\n\t\t$mol_assert_equal(\n\t\t\ttree.toString(),\n\t\t\t$$.$mol_tree2_from_string( ideal ).toString(),\n\t\t)\n\t}\n\t\n\t$mol_test( {\n\t\t\n\t\t'inserting'($) {\n\t\t\t\n\t\t\tcheck(\n\t\t\t\t$.$mol_tree2_from_string( `\n\t\t\t\t\ta b c d\n\t\t\t\t`).insert( $mol_tree2.struct('x') , 'a' , 'b' , 'c' ),\n\t\t\t\t`\n\t\t\t\t\ta b x\n\t\t\t\t`,\n\t\t\t)\n\t\t\tcheck(\n\t\t\t\t$.$mol_tree2_from_string(`\n\t\t\t\t\ta b\n\t\t\t\t`).insert( $mol_tree2.struct('x') , 'a' , 'b' , 'c' , 'd' ),\n\t\t\t\t`\n\t\t\t\t\ta b c x\n\t\t\t\t`,\n\t\t\t)\n\n\t\t\tcheck(\n\t\t\t\t$.$mol_tree2_from_string(`\n\t\t\t\t\ta b c d\n\t\t\t\t`)\n\t\t\t\t\t.insert( $mol_tree2.struct('x') , 0 , 0 , 0 ),\n\t\t\t\t`\n\t\t\t\t\ta b x\n\t\t\t\t`,\n\t\t\t)\n\t\t\tcheck(\n\t\t\t\t$.$mol_tree2_from_string(`\n\t\t\t\t\ta b\n\t\t\t\t`)\n\t\t\t\t\t.insert( $mol_tree2.struct('x') , 0 , 0 , 0 , 0 ),\n\t\t\t\t`\n\t\t\t\t\ta b \\\\\n\t\t\t\t\t\tx\n\t\t\t\t`,\n\t\t\t)\n\n\t\t\tcheck(\n\t\t\t\t$.$mol_tree2_from_string(`\n\t\t\t\t\ta b c d\n\t\t\t\t`)\n\t\t\t\t\t.insert( $mol_tree2.struct('x') , null , null , null ),\n\t\t\t\t`\n\t\t\t\t\ta b x\n\t\t\t\t`,\n\t\t\t)\n\t\t\tcheck(\n\t\t\t\t$.$mol_tree2_from_string(`\n\t\t\t\t\ta b\n\t\t\t\t`)\n\t\t\t\t\t.insert( $mol_tree2.struct('x') , null , null , null , null ),\n\t\t\t\t`\n\t\t\t\t\ta b \\\\\n\t\t\t\t\t\tx\n\t\t\t\t`,\n\t\t\t)\n\t\t\t\n\t\t},\n\t\t\n\t\t'updating'($) {\n\n\t\t\tcheck(\n\t\t\t\t$.$mol_tree2_from_string(`\n\t\t\t\t\ta b c d\n\t\t\t\t`).update( [], 'a', 'b', 'c' )[0],\n\t\t\t\t`\n\t\t\t\t\ta b\n\t\t\t\t`,\n\t\t\t)\n\t\t\t\n\t\t\tcheck(\n\t\t\t\t$.$mol_tree2_from_string(`\n\t\t\t\t\ta b c d\n\t\t\t\t`).update( [ $mol_tree2.struct('x') ] )[0],\n\t\t\t\t`\n\t\t\t\t\tx\n\t\t\t\t`,\n\t\t\t)\n\t\t\t\n\t\t\tcheck(\n\t\t\t\t$.$mol_tree2_from_string(`\n\t\t\t\t\ta b c d\n\t\t\t\t`).update( [ $mol_tree2.struct('x'), $mol_tree2.struct('y') ], 'a', 'b', 'c' )[0],\n\t\t\t\t`\n\t\t\t\t\ta b\n\t\t\t\t\t\tx\n\t\t\t\t\t\ty\n\t\t\t\t`,\n\t\t\t)\n\t\t\t\n\t\t} ,\n\n\t\t'deleting'($) {\n\t\t\t\n\t\t\tconst base = $.$mol_tree2_from_string(`\n\t\t\t\ta b c d\n\t\t\t`)\n\n\t\t\tcheck(\n\t\t\t\tbase.insert( null , 'a' , 'b' , 'c' ),\n\t\t\t\t`\n\t\t\t\t\ta b\n\t\t\t\t`,\n\t\t\t)\n\t\t\t\n\t\t\tcheck(\n\t\t\t\tbase.update( base.select( 'a', 'b', 'c', null ).kids , 'a' , 'b' , 'c' )[0],\n\t\t\t\t`\n\t\t\t\t\ta b d\n\t\t\t\t`,\n\t\t\t)\n\t\t\t\n\t\t\tcheck(\n\t\t\t\tbase.insert( null , 0, 0, 0 ),\n\t\t\t\t`\n\t\t\t\t\ta b\n\t\t\t\t`,\n\t\t\t)\n\t\t\t\n\t\t} ,\n\n\t\t'hack'($) {\n\n\t\t\tconst res = $.$mol_tree2_from_string(`\n\t\t\t\tfoo bar xxx\n\t\t\t`)\n\t\t\t.hack({\n\t\t\t\t'bar' : ( input , belt )=> [ input.struct( '777' , input.hack( belt ) ) ] ,\n\t\t\t})\n\n\t\t\t$mol_assert_equal( res.map( String ) , [ 'foo 777 xxx\\n' ] )\n\n\t\t} ,\n\n\t} )\t\n}\n","namespace $ {\n\t$mol_test( {\n\t\t\n\t\t'fromJSON'() {\n\t\t\t$mol_assert_equal( $mol_tree2_from_json([]).toString() , '/\\n' )\n\t\t\t$mol_assert_equal( $mol_tree2_from_json([ false , true ]).toString() , '/\\n\\tfalse\\n\\ttrue\\n' )\n\t\t\t$mol_assert_equal( $mol_tree2_from_json([ 0 , 1 , 2.3 ]).toString() , '/\\n\\t0\\n\\t1\\n\\t2.3\\n' )\n\t\t\t$mol_assert_equal( $mol_tree2_from_json( new Uint16Array([ 1, 10, 256 ]) ).toString() , '\\\\\\x01\\x00\\n\\\\\\x00\\x00\\x01\\n' )\n\t\t\t$mol_assert_equal( $mol_tree2_from_json([ '' , '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_tree2_from_json({ '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\n}\n","namespace $ {\n\n\texport function $mol_data_setup<\n\t\tValue extends $mol_data_value ,\n\t\tConfig = never\n\t>(\n\t\tvalue : Value ,\n\t\tconfig : Config ,\n\t) {\n\t\t\n\t\treturn Object.assign( value , {\n\t\t\tconfig ,\n\t\t\tValue : null as any as ReturnType< Value >\n\t\t} )\n\n\t}\n\n}\n","namespace $ {\n\n\t$mol_test({\n\n\t\t'config by value'() {\n\n\t\t\tconst N = $mol_data_setup( ( a : number )=> a , 5 )\n\t\t\t\n\t\t\t$mol_assert_equal( N.config , 5 )\n\t\t\t\n\t\t\ttype record_value = $mol_type_assert<\n\t\t\t\ttypeof N.Value ,\n\t\t\t\tnumber\n\t\t\t>\n\t\t\t\n\t\t} ,\n\n\t})\n\n}\n","namespace $ {\n\n\texport function $mol_func_is_class<\n\t\tFunc extends Function\n\t>(\n\t\tfunc: Func\n\t): func is Func & ( new( ...args: any[] )=> any ) {\n\t\treturn Object.getOwnPropertyDescriptor( func, 'prototype' )?.writable === false\n\t}\n\n}\n","namespace $ {\n\t$mol_test({\n\n\t\t'function'() {\n\t\t\t$mol_assert_not( $mol_func_is_class( function() {} ) )\n\t\t},\n\t\t\n\t\t'generator'() {\n\t\t\t$mol_assert_not( $mol_func_is_class( function*(){} ) )\n\t\t},\n\n\t\t'async'() {\n\t\t\t$mol_assert_not( $mol_func_is_class( async function(){} ) )\n\t\t},\n\n\t\t'arrow'() {\n\t\t\t$mol_assert_not( $mol_func_is_class( ()=> null ) )\n\t\t},\n\n\t\t'named class'() {\n\t\t\t$mol_assert_ok( $mol_func_is_class( class Foo {} ) )\n\t\t},\n\n\t\t'unnamed class'() {\n\t\t\t$mol_assert_ok( $mol_func_is_class( class {} ) )\n\t\t},\n\n\t})\n}\n","namespace $ {\n\n\ttype Guard_value<\n\t\tFuncs extends $mol_type_unary[] ,\n\t\tIndex extends keyof Funcs\n\t> = $mol_type_param<\n\t\tIndex extends keyof $mol_type_tail< Funcs >\n\t\t\t? $mol_type_tail< Funcs >[ Index ]\n\t\t\t: any ,\n\t\t0\n\t>\n\n\ttype Guard<\n\t\tFuncs extends $mol_type_unary[]\n\t> = {\n\t\t[ Index in keyof Funcs ] : (\n\t\t\tFuncs[Index] extends $mol_type_unary_func\n\t\t\t\t? (\n\t\t\t\t\tinput : $mol_type_param< Funcs[Index] , 0 >\n\t\t\t\t) => Guard_value< Funcs , Index >\n\t\t\t\t: new(\n\t\t\t\t\tinput : $mol_type_param< Funcs[Index] , 0 >\n\t\t\t\t) => Guard_value< Funcs , Index >\n\t\t)\n\t}\n\n\t/**\n\t * Combines list of unary functions/classes to one function.\n\t * \n\t * \tconst reparse = $mol_data_pipe( JSON.stringify , JSON.parse )\n\t **/\n\texport function $mol_data_pipe<\n\t\tFuncs extends $mol_type_unary[]\n\t>(\n\t\t... funcs : Funcs & Guard< Funcs >\n\t) {\n\n\t\treturn $mol_data_setup(\n\t\t\tfunction( this: any, input : $mol_type_param< Funcs[0] , 0 > ) {\n\t\t\t\tlet value : any = input\n\t\t\t\tfor( const func of funcs ) value = $mol_func_is_class( func ) ? new func( value ) : ( func as any ).call( this, value )\n\t\t\t\treturn value as $mol_type_result<\n\t\t\t\t\t$mol_type_foot< Funcs >\n\t\t\t\t>\n\t\t\t},\n\t\t\t{ funcs }\n\t\t)\n\n\t}\n\n}\n","namespace $ {\n\n\t$mol_test({\n\n\t\t// @todo enable on strict\n\t\t// 'no functions'() {\n\t\t\t\n\t\t// \tconst stringify = $mol_data_pipe()\n\t\t\t\n\t\t// \ttype Type = $mol_type_assert<\n\t\t// \t\ttypeof stringify,\n\t\t// \t\t( input : never )=> never\n\t\t// \t>\n\t\n\t\t// },\n\n\t\t'single function'() {\n\t\t\t\n\t\t\tconst stringify = $mol_data_pipe(\n\t\t\t\t( input : number )=> input.toString() ,\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal( stringify( 5 ) , '5' )\n\t\t\t\n\t\t},\n\n\t\t'two functions'() {\n\n\t\t\tconst isLong = $mol_data_pipe(\n\t\t\t\t( input : number )=> input.toString() ,\n\t\t\t\t( input : string )=> input.length > 2 ,\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal( isLong( 5.0 ) , false )\n\t\t\t$mol_assert_equal( isLong( 5.1 ) , true )\n\t\t\t\n\t\t},\n\n\t\t'three functions'() {\n\n\t\t\tconst pattern = $mol_data_pipe(\n\t\t\t\t( input : number )=> input.toString() ,\n\t\t\t\t( input : string )=> new RegExp( input ) ,\n\t\t\t\t( input : RegExp )=> input.toString() ,\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal( pattern( 5 ) , '/5/' )\n\t\t\t\n\t\t},\n\n\t\t'classes'() {\n\n\t\t\tclass Box {\n\t\t\t\tconstructor( public value : string ) {}\n\t\t\t}\n\n\t\t\tconst boxify = $mol_data_pipe(\n\t\t\t\t( input : number )=> input.toString() ,\n\t\t\t\tBox\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_ok( boxify( 5 ) instanceof Box )\n\t\t\t$mol_assert_like( boxify( 5 ).value, '5' )\n\t\t\t\n\t\t},\n\n\t})\n\n}\n","namespace $ {\n\n\tconst convert = $mol_data_pipe(\n\t\t$mol_tree2_from_string,\n\t\t$mol_tree2_js_to_text,\n\t\t$mol_tree2_text_to_string,\n\t)\n\n\t$mol_test({\n\n\t\t'boolean'() {\n\t\t\t$mol_assert_equal(\n\t\t\t\tconvert(`\n\t\t\t\t\ttrue\n\t\t\t\t`),\n\t\t\t\t'true\\n',\n\t\t\t)\n\t\t},\n\t\t\n\t\t'number'() {\n\n\t\t\t$mol_assert_equal(\n\t\t\t\tconvert(`\n\t\t\t\t\t1.2\n\t\t\t\t`),\n\t\t\t\t'1.2\\n',\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\tconvert(`\n\t\t\t\t\t1e+2\n\t\t\t\t`),\n\t\t\t\t'1e+2\\n',\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\tconvert(`\n\t\t\t\t\t-Infinity\n\t\t\t\t`),\n\t\t\t\t'-Infinity\\n',\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\tconvert(`\n\t\t\t\t\tNaN\n\t\t\t\t`),\n\t\t\t\t'NaN\\n',\n\t\t\t)\n\t\t\t\n\t\t},\n\t\t\n\t\t'variable'() {\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\tconvert(`\n\t\t\t\t\ta\n\t\t\t\t`),\n\t\t\t\t'a\\n',\n\t\t\t)\n\n\t\t\t$mol_assert_equal(\n\t\t\t\tconvert(`\n\t\t\t\t\t$\n\t\t\t\t`),\n\t\t\t\t'$\\n',\n\t\t\t)\n\n\t\t\t$mol_assert_equal(\n\t\t\t\tconvert(`\n\t\t\t\t\ta0\n\t\t\t\t`),\n\t\t\t\t'a0\\n',\n\t\t\t)\n\n\t\t},\n\t\t\n\t\t'string'() {\n\n\t\t\t$mol_assert_equal(\n\t\t\t\tconvert(`\n\t\t\t\t\t\\\\\n\t\t\t\t\t\t\\\\foo\n\t\t\t\t\t\t\\\\bar\n\t\t\t\t`),\n\t\t\t\t'\"foo\\\\nbar\"\\n',\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\tconvert(`\n\t\t\t\t\t\\`\\`\n\t\t\t\t\t\t\\\\foo\n\t\t\t\t\t\tbar\n\t\t\t\t`),\n\t\t\t\t'`foo${bar}`\\n',\n\t\t\t)\n\n\t\t},\n\n\t\t'wrong name'() {\n\t\t\t$mol_assert_fail(\n\t\t\t\t()=> convert(`\n\t\t\t\t\tfoo+bar\n\t\t\t\t`),\n\t\t\t\t'Wrong node type\\nfoo+bar\\n?#2:6/7',\n\t\t\t)\n\t\t},\n\n\t\t'array'() {\n\n\t\t\t$mol_assert_equal(\n\t\t\t\tconvert(`\n\t\t\t\t\t[,]\n\t\t\t\t`),\n\t\t\t\t'[]\\n',\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\tconvert(`\n\t\t\t\t\t[,]\n\t\t\t\t\t\t1\n\t\t\t\t\t\t2\n\t\t\t\t`),\n\t\t\t\t'[1, 2]\\n',\n\t\t\t)\n\t\t\t\n\t\t},\n\n\t\t'last'() {\n\n\t\t\t$mol_assert_equal(\n\t\t\t\tconvert(`\n\t\t\t\t\t(,)\n\t\t\t\t\t\t1\n\t\t\t\t\t\t2\n\t\t\t\t`),\n\t\t\t\t'(1, 2)\\n',\n\t\t\t)\n\t\t\t\n\t\t},\n\n\t\t'scope'() {\n\n\t\t\t$mol_assert_equal(\n\t\t\t\tconvert(`\n\t\t\t\t\t{;}\n\t\t\t\t\t\t1\n\t\t\t\t\t\t2\n\t\t\t\t`),\n\t\t\t\t'{\\n\\t1;\\n\\t2;\\n}\\n',\n\t\t\t)\n\t\t\t\n\t\t},\n\n\t\t'object'() {\n\n\t\t\t$mol_assert_equal(\n\t\t\t\tconvert(`\n\t\t\t\t\t{,}\n\t\t\t\t`),\n\t\t\t\t'{}\\n',\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\tconvert(`\n\t\t\t\t\t{,}\n\t\t\t\t\t\tfoo\n\t\t\t\t\t\tbar\n\t\t\t\t`),\n\t\t\t\t'{foo, bar}\\n',\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\tconvert(`\n\t\t\t\t\t{,}\n\t\t\t\t\t\t:\n\t\t\t\t\t\t\t\\\\foo\n\t\t\t\t\t\t\t1\n\t\t\t\t\t\t:\n\t\t\t\t\t\t\tbar\n\t\t\t\t\t\t\t2\n\t\t\t\t`),\n\t\t\t\t'{\"foo\": 1, [bar]: 2}\\n',\n\t\t\t)\n\t\t\t\n\t\t},\n\n\t\t'regexp'() {\n\n\t\t\t$mol_assert_equal(\n\t\t\t\tconvert(`\n\t\t\t\t\t/./\n\t\t\t\t\t\t.source \\\\foo\\\\n\n\t\t\t\t\t\t.multiline\n\t\t\t\t\t\t.ignoreCase\n\t\t\t\t\t\t.global\n\t\t\t\t`),\n\t\t\t\t'/foo\\\\\\\\n/mig\\n',\n\t\t\t)\n\t\t\t\n\t\t},\n\n\t\t'unary'() {\n\n\t\t\t$mol_assert_equal(\n\t\t\t\tconvert(`\n\t\t\t\t\tvoid yield* yield await ~ ! - + 1\n\t\t\t\t`),\n\t\t\t\t'void yield* yield await ~!-+1\\n',\n\t\t\t)\n\t\t\t\n\t\t},\n\n\t\t'binary'() {\n\n\t\t\t$mol_assert_equal(\n\t\t\t\tconvert(`\n\t\t\t\t\t(+)\n\t\t\t\t\t\t1\n\t\t\t\t\t\t2\n\t\t\t\t\t\t3\n\t\t\t\t`),\n\t\t\t\t'(\\n\\t1 + \\n\\t2 + \\n\\t3\\n)\\n',\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\tconvert(`\n\t\t\t\t\t@++ foo\n\t\t\t\t`),\n\t\t\t\t'foo++\\n',\n\t\t\t)\n\t\t\t\n\t\t},\n\n\t\t'chain'() {\n\n\t\t\t$mol_assert_equal(\n\t\t\t\tconvert(`\n\t\t\t\t\t()\n\t\t\t\t\t\tfoo\n\t\t\t\t\t\t[] \\\\bar\n\t\t\t\t\t\t[] 1\n\t\t\t\t`),\n\t\t\t\t'(foo.bar[1])\\n',\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\tconvert(`\n\t\t\t\t\t()\n\t\t\t\t\t\tfoo\n\t\t\t\t\t\t[] 1\n\t\t\t\t\t\t(,)\n\t\t\t\t`),\n\t\t\t\t'(foo[1]())\\n',\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\tconvert(`\n\t\t\t\t\t()\n\t\t\t\t\t\t[,] 0\n\t\t\t\t\t\t[] 1\n\t\t\t\t\t\t(,)\n\t\t\t\t\t\t\t2\n\t\t\t\t\t\t\t3\n\t\t\t\t`),\n\t\t\t\t'([0][1](2, 3))\\n',\n\t\t\t)\n\t\t\t\n\t\t},\n\n\t\t'function'() {\n\n\t\t\t$mol_assert_equal(\n\t\t\t\tconvert(`\n\t\t\t\t\t=>\n\t\t\t\t\t\t(,)\n\t\t\t\t\t\t1\n\t\t\t\t`),\n\t\t\t\t'() => 1\\n',\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\tconvert(`\n\t\t\t\t\tasync=>\n\t\t\t\t\t\t(,)\n\t\t\t\t\t\t1\n\t\t\t\t`),\n\t\t\t\t'async () => 1\\n',\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\tconvert(`\n\t\t\t\t\tfunction\n\t\t\t\t\t\tfoo\n\t\t\t\t\t\t(,)\n\t\t\t\t\t\t{;}\n\t\t\t\t`),\n\t\t\t\t'function foo(){}\\n',\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\tconvert(`\n\t\t\t\t\tfunction\n\t\t\t\t\t\t(,) foo\n\t\t\t\t\t\t{;} debugger\n\t\t\t\t`),\n\t\t\t\t'function (foo){\\n\\tdebugger;\\n}\\n',\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\tconvert(`\n\t\t\t\t\tfunction*\n\t\t\t\t\t\t(,)\n\t\t\t\t\t\t{;}\n\t\t\t\t`),\n\t\t\t\t'function* (){}\\n',\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\tconvert(`\n\t\t\t\t\tasync\n\t\t\t\t\t\t(,)\n\t\t\t\t\t\t{;}\n\t\t\t\t`),\n\t\t\t\t'async function (){}\\n',\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\tconvert(`\n\t\t\t\t\tasync*\n\t\t\t\t\t\t(,) foo\n\t\t\t\t\t\t{;} debugger\n\t\t\t\t`),\n\t\t\t\t'async function* (foo){\\n\\tdebugger;\\n}\\n',\n\t\t\t)\n\t\t\t\n\t\t},\n\n\t\t'class'() {\n\n\t\t\t$mol_assert_equal(\n\t\t\t\tconvert(`\n\t\t\t\t\tclass\n\t\t\t\t\t\tFoo\n\t\t\t\t\t\t{}\n\t\t\t\t`),\n\t\t\t\t'class Foo {}\\n',\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\tconvert(`\n\t\t\t\t\tclass\n\t\t\t\t\t\tFoo\n\t\t\t\t\t\textends Bar\n\t\t\t\t\t\t{}\n\t\t\t\t`),\n\t\t\t\t'class Foo extends Bar {}\\n',\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\tconvert(`\n\t\t\t\t\tclass {}\n\t\t\t\t\t\t.\n\t\t\t\t\t\t\t\\\\foo\n\t\t\t\t\t\t\t(,)\n\t\t\t\t\t\t\t{;}\n\t\t\t\t`),\n\t\t\t\t'class {\\n\\tfoo(){}\\n}\\n',\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\tconvert(`\n\t\t\t\t\tclass {}\n\t\t\t\t\t\tstatic\n\t\t\t\t\t\t\t\\\\foo\n\t\t\t\t\t\t\t(,)\n\t\t\t\t\t\t\t{;}\n\t\t\t\t`),\n\t\t\t\t'class {\\n\\tstatic [\"foo\"](){}\\n}\\n',\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\tconvert(`\n\t\t\t\t\tclass {}\n\t\t\t\t\t\tget\n\t\t\t\t\t\t\t\\\\foo\n\t\t\t\t\t\t\t(,)\n\t\t\t\t\t\t\t{;}\n\t\t\t\t`),\n\t\t\t\t'class {\\n\\tget [\"foo\"](){}\\n}\\n',\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\tconvert(`\n\t\t\t\t\tclass {}\n\t\t\t\t\t\tset\n\t\t\t\t\t\t\t\\\\foo\n\t\t\t\t\t\t\t(,) bar\n\t\t\t\t\t\t\t{;}\n\t\t\t\t`),\n\t\t\t\t'class {\\n\\tset [\"foo\"](bar){}\\n}\\n',\n\t\t\t)\n\t\t\t\n\t\t},\n\n\t\t'if'() {\n\n\t\t\t$mol_assert_equal(\n\t\t\t\tconvert(`\n\t\t\t\t\t?:\n\t\t\t\t\t\t1\n\t\t\t\t\t\t2\n\t\t\t\t\t\t3\n\t\t\t\t`),\n\t\t\t\t'1 ? 2 : 3\\n',\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\tconvert(`\n\t\t\t\t\tif\n\t\t\t\t\t\t() 1\n\t\t\t\t\t\t{;} 2\n\t\t\t\t`),\n\t\t\t\t'if(1) {\\n\\t2;\\n}\\n',\n\t\t\t)\n\n\t\t\t$mol_assert_equal(\n\t\t\t\tconvert(`\n\t\t\t\t\tif\n\t\t\t\t\t\t() 1\n\t\t\t\t\t\t{;} 2\n\t\t\t\t\t\t{;} 3\n\t\t\t\t`),\n\t\t\t\t'if(1) {\\n\\t2;\\n}else{\\n\\t3;\\n}\\n',\n\t\t\t)\n\n\t\t},\n\n\t\t'assign'() {\n\n\t\t\t$mol_assert_equal(\n\t\t\t\tconvert(`\n\t\t\t\t\t=\n\t\t\t\t\t\tfoo\n\t\t\t\t\t\tbar\n\t\t\t\t`),\n\t\t\t\t'foo = bar\\n',\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\tconvert(`\n\t\t\t\t\t=\n\t\t\t\t\t\t[,]\n\t\t\t\t\t\t\tfoo\n\t\t\t\t\t\t\tbar\n\t\t\t\t\t\t[,]\n\t\t\t\t\t\t\t1\n\t\t\t\t\t\t\t2\n\t\t\t\t`),\n\t\t\t\t'[foo, bar] = [1, 2]\\n',\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\tconvert(`\n\t\t\t\t\tlet foo\n\t\t\t\t`),\n\t\t\t\t'let foo\\n',\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\tconvert(`\n\t\t\t\t\tlet\n\t\t\t\t\t\tfoo\n\t\t\t\t\t\tbar\n\t\t\t\t`),\n\t\t\t\t'let foo = bar\\n',\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\tconvert(`\n\t\t\t\t\t+=\n\t\t\t\t\t\tfoo\n\t\t\t\t\t\tbar\n\t\t\t\t`),\n\t\t\t\t'foo += bar\\n',\n\t\t\t)\n\t\t\t\n\t\t},\n\n\t})\n\n}\n","namespace $ {\n\t$mol_test({\n\n\t\t'min'() {\n\t\t\t$mol_assert_equal( $mol_vlq_encode( Number.MIN_SAFE_INTEGER ), '//////H' )\n\t\t},\n\n\t\t'negative'() {\n\t\t\t$mol_assert_equal( $mol_vlq_encode( -1 ), 'D' )\n\t\t},\n\n\t\t'zero'() {\n\t\t\t$mol_assert_equal( $mol_vlq_encode( 0 ), 'A' )\n\t\t},\n\n\t\t'binom'() {\n\t\t\t$mol_assert_equal( $mol_vlq_encode( 67 ), 'mE' )\n\t\t},\n\n\t\t'max'() {\n\t\t\t$mol_assert_equal( $mol_vlq_encode( Number.MAX_SAFE_INTEGER ), '+/////H' )\n\t\t},\n\n\t})\n}\n","namespace $ {\n\t$mol_test({\n\t\t'sample source mapped lang'( $ ) {\n\n\t\t\tconst source = {\n\t\t\t\tscript1: `1@\\n2`,\n\t\t\t\tscript2: `***`\n\t\t\t}\n\n\t\t\tconst span = {\n\t\t\t\tscript1: $mol_span.entire( 'script1', source.script1 ),\n\t\t\t\tscript2: $mol_span.entire( 'script2', source.script2 ),\n\t\t\t}\n\n\t\t\tconst tree = $mol_tree2.list([\n\t\t\t\t$mol_tree2.struct( 'line', [\n\t\t\t\t\t$mol_tree2.data( '\"use strict\";', [], span.script1.after() ),\n\t\t\t\t\t$mol_tree2.data( 'console.log(11);', [], span.script1.slice( 0, 1 ) ),\n\t\t\t\t\t$mol_tree2.data( 'console.log(21);', [], span.script2 ),\n\t\t\t\t\t$mol_tree2.data( 'console.log(12);', [], span.script1.span( 2, 1, 1 ) ),\n\t\t\t\t], span.script1 ),\n\t\t\t], span.script1 )\n\n\t\t\t$mol_assert_like(\n\t\t\t\t$.$mol_tree2_text_to_string( tree ),\n\t\t\t\t'\"use strict\";console.log(11);console.log(21);console.log(12);\\n',\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_like(\n\t\t\t\t$.$mol_tree2_text_to_sourcemap( tree ),\n\t\t\t\t{\n\t\t\t\t\t\"version\": 3,\n\t\t\t\t\t\"sources\": [\n\t\t\t\t\t\t\"script1\",\n\t\t\t\t\t\t\"script2\"\n\t\t\t\t\t],\n\t\t\t\t\t\"sourcesContent\": [ source.script1, source.script2 ],\n\t\t\t\t\t\"mappings\": \"AAAA,AAAI,aAAJ,gBCAA,gBDCA;\"\n\t\t\t\t}\n\t\t\t)\n\n\t\t}\n\t})\n}\n","namespace $ {\n\t$mol_test({\n\t\t\n\t\t'atoms'($) {\n\t\t\t$mol_assert_equal( $.$mol_tree2_to_json( $.$mol_tree2_from_string( \"null\\n\" ).kids[0] ) , null )\n\t\t\t$mol_assert_equal( $.$mol_tree2_to_json( $.$mol_tree2_from_string( \"true\\n\" ).kids[0] ) , true )\n\t\t\t$mol_assert_equal( $.$mol_tree2_to_json( $.$mol_tree2_from_string( \"false\\n\" ).kids[0] ) , false )\n\t\t},\n\t\t\n\t\t'numbers'($) {\n\t\t\t$mol_assert_equal( $.$mol_tree2_to_json( $.$mol_tree2_from_string( \"1\\n\" ).kids[0] ) , 1 )\n\t\t\t$mol_assert_equal( $.$mol_tree2_to_json( $.$mol_tree2_from_string( \"1.2\\n\" ).kids[0] ) , 1.2 )\n\t\t\t$mol_assert_equal( $.$mol_tree2_to_json( $.$mol_tree2_from_string( \"1.2e+2\\n\" ).kids[0] ) , 120 )\n\t\t\t$mol_assert_equal( $.$mol_tree2_to_json( $.$mol_tree2_from_string( \"NaN\\n\" ).kids[0] ) , Number.NaN )\n\t\t\t$mol_assert_equal( $.$mol_tree2_to_json( $.$mol_tree2_from_string( \"+Infinity\\n\" ).kids[0] ) , Number.POSITIVE_INFINITY )\n\t\t\t$mol_assert_equal( $.$mol_tree2_to_json( $.$mol_tree2_from_string( \"-Infinity\\n\" ).kids[0] ) , Number.NEGATIVE_INFINITY )\n\t\t},\n\t\t\n\t\t'string'($) {\n\t\t\t$mol_assert_equal( $.$mol_tree2_to_json( $.$mol_tree2_from_string( \"\\\\foo\\n\" ).kids[0] ) , 'foo' )\n\t\t\t$mol_assert_equal( $.$mol_tree2_to_json( $.$mol_tree2_from_string( \"\\\\\\n\\t\\\\foo\\n\\t\\\\bar\\n\" ).kids[0] ) , 'foo\\nbar' )\n\t\t},\n\t\t\n\t\t'array'($) {\n\t\t\t$mol_assert_like( $.$mol_tree2_to_json( $.$mol_tree2_from_string( \"/\\n\" ).kids[0] ) , [] )\n\t\t\t$mol_assert_like( $.$mol_tree2_to_json( $.$mol_tree2_from_string( \"/\\n\\t\\\\foo\\n\\t\\\\bar\\n\" ).kids[0] ) , [ 'foo', 'bar' ] )\n\t\t\t$mol_assert_like( $.$mol_tree2_to_json( $.$mol_tree2_from_string( \"/\\n\\t- \\\\foo\\n\\t\\\\bar\\n\" ).kids[0] ) , [ 'bar' ] )\n\t\t},\n\t\t\n\t\t'object'($) {\n\t\t\t$mol_assert_like( $.$mol_tree2_to_json( $.$mol_tree2_from_string( \"*\\n\" ).kids[0] ) , {} )\n\t\t\t$mol_assert_like( $.$mol_tree2_to_json( $.$mol_tree2_from_string( \"*\\n\\t\\\\foo\\n\\t\\t\\\\bar\\n\" ).kids[0] ) , { foo: 'bar' } )\n\t\t\t$mol_assert_like( $.$mol_tree2_to_json( $.$mol_tree2_from_string( \"*\\n\\t\\\\\\n\\t\\t\\\\foo\\n\\t\\t\\\\bar\\n\\t\\t\\\\lol\\n\" ).kids[0] ) , { 'foo\\nbar': 'lol' } )\n\t\t},\n\t\t\n\t})\n}\n","namespace $ {\n\n\t$mol_test({\n\n\t\t'escape' () {\n\n\t\t\tconst specials = $mol_regexp.from( '.*+?^${}()|[]\\\\' )\n\t\t\t$mol_assert_equal( specials.source , '\\\\.\\\\*\\\\+\\\\?\\\\^\\\\$\\\\{\\\\}\\\\(\\\\)\\\\|\\\\[\\\\]\\\\\\\\' )\n\n\t\t},\n\n\t\t'char code' () {\n\n\t\t\tconst space = $mol_regexp.from( 32 )\n\t\t\t$mol_assert_like( ' '.match( space ) , [ ' ' ] )\n\n\t\t},\n\n\t\t'repeat fixed'() {\n\n\t\t\tconst { repeat , decimal_only: digit } = $mol_regexp\n\n\t\t\tconst year = repeat( digit , 4 , 4 )\n\t\t\t$mol_assert_like( '#2020#'.match( year ) , [ '2020' ] )\n\n\t\t},\n\n\t\t'greedy repeat'() {\n\n\t\t\tconst { repeat , repeat_greedy , latin_only: letter } = $mol_regexp\n\n\t\t\t$mol_assert_like( 'abc'.match( repeat( letter, 1, 2 ) ) , [ 'a', 'b', 'c' ] )\n\t\t\t$mol_assert_like( 'abc'.match( repeat_greedy( letter, 1, 2 ) ) , [ 'ab', 'c' ] )\n\n\t\t},\n\n\t\t'repeat range'() {\n\n\t\t\tconst { repeat_greedy , decimal_only: digit } = $mol_regexp\n\n\t\t\tconst year = repeat_greedy( digit , 2 , 4 )\n\t\t\t\n\t\t\t$mol_assert_like( '#2#'.match( year ) , null )\n\t\t\t$mol_assert_like( '#20#'.match( year ) , [ '20' ] )\n\t\t\t$mol_assert_like( '#2020#'.match( year ) , [ '2020' ] )\n\t\t\t$mol_assert_like( '#20201#'.match( year ) , [ '2020' ] )\n\n\t\t},\n\n\t\t'repeat from'() {\n\n\t\t\tconst { repeat_greedy , latin_only: letter } = $mol_regexp\n\n\t\t\tconst name = repeat_greedy( letter , 2 )\n\n\t\t\t$mol_assert_like( '##'.match( name ) , null )\n\t\t\t$mol_assert_like( '#a#'.match( name ) , null )\n\t\t\t$mol_assert_like( '#ab#'.match( name ) , [ 'ab' ] )\n\t\t\t$mol_assert_like( '#abc#'.match( name ) , [ 'abc' ] )\n\n\t\t},\n\n\t\t'from string'() {\n\n\t\t\tconst regexp = $mol_regexp.from( '[\\\\d]' )\n\t\t\t\n\t\t\t$mol_assert_equal( regexp.source , '\\\\[\\\\\\\\d\\\\]' )\n\t\t\t$mol_assert_equal( regexp.flags , 'gsu' )\n\n\t\t},\n\n\t\t'from regexp'() {\n\t\t\t\n\t\t\tconst regexp = $mol_regexp.from( /[\\d]/i )\n\t\t\t\n\t\t\t$mol_assert_equal( regexp.source , '[\\\\d]' )\n\t\t\t$mol_assert_equal( regexp.flags , 'i' )\n\n\t\t},\n\n\t\t'split'() {\n\t\t\t\n\t\t\tconst regexp = $mol_regexp.from( ';' )\n\t\t\t\n\t\t\t$mol_assert_like( 'aaa;bbb;ccc'.split( regexp ) , [ 'aaa', ';', 'bbb', ';', 'ccc' ] )\n\t\t\t$mol_assert_like( 'aaa;;ccc'.split( regexp ) , [ 'aaa', ';', '', ';', 'ccc' ] )\n\t\t\t$mol_assert_like( 'aaa'.split( regexp ) , [ 'aaa' ] )\n\t\t\t$mol_assert_like( ''.split( regexp ) , [''] )\n\n\t\t},\n\n\t\t'test for matching'() {\n\t\t\t\n\t\t\tconst regexp = $mol_regexp.from( 'foo' )\n\t\t\t\n\t\t\t$mol_assert_like( regexp.test( '' ) , false )\n\t\t\t$mol_assert_like( regexp.test( 'fo' ) , false )\n\t\t\t$mol_assert_like( regexp.test( 'foo' ) , true )\n\t\t\t$mol_assert_like( regexp.test( 'foobar' ) , true )\n\t\t\t$mol_assert_like( regexp.test( 'barfoo' ) , true )\n\n\t\t},\n\n\t\t'case ignoring'() {\n\n\t\t\tconst xxx = $mol_regexp.from( 'x' , { ignoreCase : true } )\n\n\t\t\t$mol_assert_like( xxx.flags , 'gisu' )\n\t\t\t$mol_assert_like( xxx.exec( 'xx' )![0] , 'x' )\n\t\t\t$mol_assert_like( xxx.exec( 'XX' )![0] , 'X' )\n\n\t\t},\n\n\t\t'multiline mode'() {\n\n\t\t\tconst { end , from } = $mol_regexp\n\n\t\t\tconst xxx = from( [ 'x' , end ] , { multiline : true } )\n\n\t\t\t$mol_assert_like( xxx.exec( 'x\\ny' )![0] , 'x' )\n\t\t\t$mol_assert_like( xxx.flags , 'gmsu' )\n\n\t\t},\n\n\t\t'flags override'() {\n\n\t\t\tconst triplet = $mol_regexp.from(\n\t\t\t\t$mol_regexp.from(\n\t\t\t\t\t/.../,\n\t\t\t\t\t{ ignoreCase: true },\n\t\t\t\t),\n\t\t\t\t{ multiline: true },\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_like( triplet.toString() , '/.../gmsu' )\n\n\t\t},\n\n\t\t'sequence'() {\n\n\t\t\tconst { begin , end , decimal_only: digit , repeat , from } = $mol_regexp\n\t\t\t\n\t\t\tconst year = repeat( digit , 4 , 4 )\n\t\t\tconst dash = '-'\n\t\t\tconst month = repeat( digit , 2 , 2 )\n\t\t\tconst day = repeat( digit , 2 , 2 )\n\n\t\t\tconst date = from([ begin , year , dash , month , dash , day , end ])\n\n\t\t\t$mol_assert_like( date.exec( '2020-01-02' )![0] , '2020-01-02' )\n\n\t\t},\n\n\t\t'optional'() {\n\n\t\t\tconst name = $mol_regexp.from([ 'A', ['4'] ])\n\n\t\t\t$mol_assert_equal( 'AB'.match( name )![0] , 'A' )\n\t\t\t$mol_assert_equal( 'A4'.match( name )![0] , 'A4' )\n\n\t\t},\n\n\t\t'anon variants'() {\n\n\t\t\tconst name = $mol_regexp.from([ 'A', $mol_regexp.vary([ '4', '5' ]) ])\n\n\t\t\t$mol_assert_equal( 'AB'.match( name ) , null )\n\t\t\t$mol_assert_equal( 'A4'.match( name )![0] , 'A4' )\n\t\t\t$mol_assert_equal( 'A5'.match( name )![0] , 'A5' )\n\n\t\t},\n\n\t\t'only groups'() {\n\n\t\t\tconst regexp = $mol_regexp.from({ dog : '@' })\n\n\t\t\t$mol_assert_like( [ ... '#'.matchAll( regexp ) ][0].groups , undefined )\n\t\t\t$mol_assert_like( [ ... '@'.matchAll( regexp ) ][0].groups , { dog : '@' } )\n\n\t\t},\n\n\t\t'catch skipped'() {\n\n\t\t\tconst regexp = $mol_regexp.from(/(@)(\\d?)/g)\n\n\t\t\t$mol_assert_like(\n\t\t\t\t[ ... '[[@]]'.matchAll( regexp ) ].map( f => [ ... f ] ) ,\n\t\t\t\t[\n\t\t\t\t\t[ '[[' ],\n\t\t\t\t\t[ '@', '@' , '' ],\n\t\t\t\t\t[ ']]' ],\n\t\t\t\t]\n\t\t\t)\n\n\t\t},\n\n\t\t'enum variants'() {\n\n\t\t\tenum Sex {\n\t\t\t\tmale = 'male',\n\t\t\t\tfemale = 'female',\n\t\t\t}\n\n\t\t\tconst sexism = $mol_regexp.from( Sex )\n\n\t\t\t$mol_assert_like( [ ... ''.matchAll( sexism ) ].length, 0 )\n\t\t\t$mol_assert_like( [ ... 'trans'.matchAll( sexism ) ][0].groups, undefined )\n\t\t\t\n\t\t\t$mol_assert_like(\n\t\t\t\t[ ... 'male'.matchAll( sexism ) ][0].groups,\n\t\t\t\t{ male : 'male' , female : '' },\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_like(\n\t\t\t\t[ ... 'female'.matchAll( sexism ) ][0].groups,\n\t\t\t\t{ male : '' , female : 'female' },\n\t\t\t)\n\n\t\t},\n\n\t\t'recursive only groups'() {\n\n\t\t\tenum Sex {\n\t\t\t\tmale = 'male',\n\t\t\t\tfemale = 'female',\n\t\t\t}\n\n\t\t\tconst sexism = $mol_regexp.from({ Sex })\n\n\t\t\t$mol_assert_like( [ ... ''.matchAll( sexism ) ].length , 0 )\n\t\t\t\n\t\t\t$mol_assert_like(\n\t\t\t\t[ ... 'male'.matchAll( sexism ) ][0].groups,\n\t\t\t\t{ Sex : 'male' , male : 'male' , female : '' },\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_like(\n\t\t\t\t[ ... 'female'.matchAll( sexism ) ][0].groups,\n\t\t\t\t{ Sex : 'female' , male : '' , female : 'female' },\n\t\t\t)\n\n\t\t},\n\n\t\t'sequence with groups'() {\n\n\t\t\tconst { begin , end , decimal_only: digit , repeat , from } = $mol_regexp\n\t\t\tconst year = repeat( digit , 4 , 4 )\n\t\t\tconst dash = '-'\n\t\t\tconst month = repeat( digit , 2 , 2 )\n\t\t\tconst day = repeat( digit , 2 , 2 )\n\n\t\t\tconst regexp = from([ begin , {year} , dash , {month} , dash , {day} , end ])\n\t\t\tconst found = [ ... '2020-01-02'.matchAll( regexp ) ]\n\n\t\t\t$mol_assert_like( found[0].groups , {\n\t\t\t\tyear : '2020' ,\n\t\t\t\tmonth : '01' ,\n\t\t\t\tday : '02' ,\n\t\t\t} )\n\n\t\t},\n\n\t\t'sequence with groups of mixed type'() {\n\n\t\t\tconst prefix = '/'\n\t\t\tconst postfix = '/'\n\n\t\t\tconst regexp = $mol_regexp.from([ {prefix} , /(\\w+)/ , {postfix} , /([gumi]*)/ ])\n\n\t\t\t$mol_assert_like(\n\t\t\t\t[ ... '/foo/mi'.matchAll( regexp ) ],\n\t\t\t\t[\n\t\t\t\t\tObject.assign(\n\t\t\t\t\t\t[ \"/foo/mi\", \"/\", \"foo\", \"/\", \"mi\" ],\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tgroups: {\n\t\t\t\t\t\t\t\tprefix : '/' ,\n\t\t\t\t\t\t\t\tpostfix : '/' ,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tindex: 0,\n\t\t\t\t\t\t\tinput: \"/\",\n\t\t\t\t\t\t},\n\t\t\t\t\t),\n\t\t\t\t],\n\t\t\t)\n\n\t\t},\n\n\t\t'recursive sequence with groups'() {\n\n\t\t\tconst { begin , end , decimal_only: digit , repeat , from } = $mol_regexp\n\t\t\tconst year = repeat( digit , 4 , 4 )\n\t\t\tconst dash = '-'\n\t\t\tconst month = repeat( digit , 2 , 2 )\n\t\t\tconst day = repeat( digit , 2 , 2 )\n\n\t\t\tconst regexp = from([\n\t\t\t\tbegin , { date : [ {year} , dash , {month} ] } , dash , {day} , end\n\t\t\t])\n\t\t\t\n\t\t\tconst found = [ ... '2020-01-02'.matchAll( regexp ) ]\n\n\t\t\t$mol_assert_like( found[0].groups , {\n\t\t\t\tdate : '2020-01' ,\n\t\t\t\tyear : '2020' ,\n\t\t\t\tmonth : '01' ,\n\t\t\t\tday : '02' ,\n\t\t\t} )\n\n\t\t},\n\n\t\t'parse multiple'() {\n\n\t\t\tconst { decimal_only: digit , from } = $mol_regexp\n\n\t\t\tconst regexp = from({ digit })\n\n\t\t\t$mol_assert_like(\n\t\t\t\t[ ... '123'.matchAll( regexp ) ].map( f => f.groups ) ,\n\t\t\t\t[\n\t\t\t\t\t{ digit : '1' },\n\t\t\t\t\t{ digit : '2' },\n\t\t\t\t\t{ digit : '3' },\n\t\t\t\t]\n\t\t\t)\n\n\t\t},\n\n\t\t'named variants'() {\n\n\t\t\tconst { begin , or , end , from } = $mol_regexp\n\n\t\t\tconst sexism = from([\n\t\t\t\tbegin , 'sex = ' , { sex : [ 'male' , or , 'female' ] } , end\n\t\t\t])\n\n\t\t\t$mol_assert_like( [ ... 'sex = male'.matchAll( sexism ) ][0].groups , { sex : 'male' } )\n\t\t\t$mol_assert_like( [ ... 'sex = female'.matchAll( sexism ) ][0].groups , { sex : 'female' } )\n\t\t\t$mol_assert_like( [ ... 'sex = malefemale'.matchAll( sexism ) ][0].groups , undefined )\n\n\t\t},\n\n\t\t'force after'() {\n\n\t\t\tconst { latin_only: letter , force_after , from } = $mol_regexp\n\n\t\t\tconst regexp = from([ letter , force_after( '.' ) ])\n\n\t\t\t$mol_assert_like( 'x.'.match( regexp ) , [ 'x' ] )\n\t\t\t$mol_assert_like( 'x,'.match( regexp ) , null )\n\n\t\t},\n\n\t\t'forbid after'() {\n\n\t\t\tconst { latin_only: letter , forbid_after , from } = $mol_regexp\n\n\t\t\tconst regexp = from([ letter , forbid_after( '.' ) ])\n\n\t\t\t$mol_assert_like( 'x.'.match( regexp ) , null )\n\t\t\t$mol_assert_like( 'x,'.match( regexp ) , [ 'x' ] )\n\n\t\t},\n\n\t\t'char except'() {\n\n\t\t\tconst { char_except, latin_only, tab } = $mol_regexp\n\n\t\t\tconst name = char_except( latin_only, tab )\n\n\t\t\t$mol_assert_like( 'a'.match( name ) , null )\n\t\t\t$mol_assert_like( '\\t'.match( name ) , null )\n\t\t\t$mol_assert_like( '('.match( name ) , [ '(' ] )\n\n\t\t},\n\n\t\t'unicode only'() {\n\n\t\t\tconst { unicode_only, from } = $mol_regexp\n\n\t\t\tconst name = from([\n\t\t\t\tunicode_only( 'Script', 'Cyrillic' ),\n\t\t\t\tunicode_only( 'Hex_Digit' ),\n\t\t\t])\n\n\t\t\t$mol_assert_like( 'FF'.match( name ) , null )\n\t\t\t$mol_assert_like( 'ФG'.match( name ) , null )\n\t\t\t$mol_assert_like( 'ФF'.match( name ) , [ 'ФF' ] )\n\n\t\t},\n\n\t\t'generate by optional with inner group'() {\n\n\t\t\tconst { begin, end, from } = $mol_regexp\n\t\t\t\n\t\t\tconst animals = from([ begin, '#', [ '^', { dog : '@' } ], end ])\n\n\t\t\t$mol_assert_equal( animals.generate({}) , '#' )\n\t\t\t\n\t\t\t$mol_assert_equal( animals.generate({ dog: false }) , '#' )\n\t\t\t$mol_assert_equal( animals.generate({ dog: true }) , '#^@' )\n\t\t\t\n\t\t\t$mol_assert_fail( ()=> animals.generate({ dog: '$' }) , 'Wrong param: dog=$' )\n\n\t\t},\n\n\t\t'generate by optional with inner group with variants'() {\n\n\t\t\tconst { begin, end, from } = $mol_regexp\n\t\t\t\n\t\t\tconst animals = from([ begin, '#', [ '^', { animal: { dog : '@', fox: '&' } } ], end ])\n\n\t\t\t$mol_assert_equal( animals.generate({}) , '#' )\n\t\t\t\n\t\t\t$mol_assert_equal( animals.generate({ dog: true }) , '#^@' )\n\t\t\t$mol_assert_equal( animals.generate({ fox: true }) , '#^&' )\n\t\t\t\n\t\t\t$mol_assert_fail( ()=> animals.generate({ dog: '$' }) , 'Wrong param: dog=$' )\n\n\t\t},\n\t\t\n\t\t'complex example'() {\n\t\t\t\n\t\t\tconst {\n\t\t\t\tbegin, end,\n\t\t\t\tchar_only, char_range,\n\t\t\t\tlatin_only, slash_back,\n\t\t\t\trepeat_greedy, from,\n\t\t\t} = $mol_regexp\n\t\t\t\n\t\t\tconst atom_char = char_only( latin_only, \"!#$%&'*+/=?^`{|}~-\" )\n\t\t\tconst atom = repeat_greedy( atom_char, 1 )\n\t\t\tconst dot_atom = from([ atom, repeat_greedy([ '.', atom ]) ])\n\t\t\t\n\t\t\tconst name_letter = char_only(\n\t\t\t\tchar_range( 0x01, 0x08 ),\n\t\t\t\t0x0b, 0x0c,\n\t\t\t\tchar_range( 0x0e, 0x1f ),\n\t\t\t\t0x21,\n\t\t\t\tchar_range( 0x23, 0x5b ),\n\t\t\t\tchar_range( 0x5d, 0x7f ),\n\t\t\t)\n\t\t\t\n\t\t\tconst quoted_pair = from([\n\t\t\t\tslash_back,\n\t\t\t\tchar_only(\n\t\t\t\t\tchar_range( 0x01, 0x09 ),\n\t\t\t\t\t0x0b, 0x0c,\n\t\t\t\t\tchar_range( 0x0e, 0x7f ),\n\t\t\t\t)\n\t\t\t])\n\t\t\t\n\t\t\tconst name = repeat_greedy({ name_letter, quoted_pair })\n\t\t\tconst quoted_name = from([ '\"', {name}, '\"' ])\n\t\t\t\n\t\t\tconst local_part = from({ dot_atom, quoted_name })\n\t\t\tconst domain = dot_atom\n\t\t\t\n\t\t\tconst mail = from([ begin, local_part, '@', {domain}, end ])\n\t\t\t\n\t\t\t$mol_assert_equal( 'foo..bar@example.org'.match( mail ), null )\n\t\t\t$mol_assert_equal( 'foo..bar\"@example.org'.match( mail ), null )\n\t\t\t\n\t\t\t$mol_assert_like(\n\t\t\t\t[ ... 'foo.bar@example.org'.matchAll( mail ) ][0].groups,\n\t\t\t\t{\n\t\t\t\t\tdot_atom: \"foo.bar\",\n\t\t\t\t\tquoted_name: \"\",\n\t\t\t\t\tname: \"\",\n\t\t\t\t\tname_letter: \"\",\n\t\t\t\t\tquoted_pair: \"\",\n\t\t\t\t\tdomain: \"example.org\",\n\t\t\t\t}\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_like(\n\t\t\t\t[ ... '\"foo..bar\"@example.org'.matchAll( mail ) ][0].groups,\n\t\t\t\t{\n\t\t\t\t\tdot_atom: \"\",\n\t\t\t\t\tquoted_name: '\"foo..bar\"',\n\t\t\t\t\tname: \"foo..bar\",\n\t\t\t\t\tname_letter: \"r\",\n\t\t\t\t\tquoted_pair: \"\",\n\t\t\t\t\tdomain: \"example.org\",\n\t\t\t\t}\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\tmail.generate({ dot_atom: 'foo.bar', domain: 'example.org' }),\n\t\t\t\t'foo.bar@example.org',\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\tmail.generate({ name: 'foo..bar', domain: 'example.org' }),\n\t\t\t\t'\"foo..bar\"@example.org',\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_fail(\n\t\t\t\t()=> mail.generate({ dot_atom: 'foo..bar', domain: 'example.org' }),\n\t\t\t\t'Wrong param: dot_atom=foo..bar',\n\t\t\t)\n\t\t\t\n\t\t},\n\t\t\n\t})\n\n}\n","namespace $ {\n\tfunction get_parts(str: string) {\n\t\treturn $$.$mol_view_tree2_prop_parts($mol_tree2.struct(str))\n\t}\n\n\t$mol_test({\n\t\t'wrong order'($) {\n\t\t\t$mol_assert_fail(() => {\n\t\t\t\tget_parts('some_bla?*')\n\t\t\t}, 'Required prop like some*? at `?#1:1/0`')\n\t\t},\n\n\t\t'empty'($) {\n\t\t\t$mol_assert_fail(() => {\n\t\t\t\tget_parts('')\n\t\t\t}, 'Required prop like some*? at `?#1:1/0`')\n\t\t},\n\n\t\t'prop in upper case'($) {\n\t\t\tconst parts = get_parts('Close_icon')\n\t\t\t$mol_assert_equal(parts.name, 'Close_icon')\n\t\t\t$mol_assert_equal(parts.key, '')\n\t\t\t$mol_assert_equal(parts.next, '')\n\t\t},\n\n\t\t'prop with index'($) {\n\t\t\tconst parts = get_parts('some_bla*')\n\t\t\t$mol_assert_equal(parts.name, 'some_bla')\n\t\t\t$mol_assert_equal(parts.key, '*')\n\t\t\t$mol_assert_equal(parts.next, '')\n\t\t},\n\n\t\t'prop with index and value'($) {\n\t\t\tconst parts = get_parts('some_bla*?')\n\t\t\t$mol_assert_equal(parts.name, 'some_bla')\n\t\t\t$mol_assert_equal(parts.key, '*')\n\t\t\t$mol_assert_equal(parts.next, '?')\n\t\t},\n\n\t\t'legacy indexed'($) {\n\t\t\tconst parts = get_parts('Some*default')\n\t\t\t$mol_assert_equal(parts.name, 'Some')\n\t\t\t$mol_assert_equal(parts.key, '*default')\n\t\t\t$mol_assert_equal(parts.next, '')\n\t\t},\n\n\t\t'legacy indexed value'($) {\n\t\t\tconst parts = get_parts('Some*k?v')\n\t\t\t$mol_assert_equal(parts.name, 'Some')\n\t\t\t$mol_assert_equal(parts.key, '*k')\n\t\t\t$mol_assert_equal(parts.next, '?')\n\t\t}\n\t})\n}\n","namespace $ {\n\n\texport function $mol_style_attach(\n\t\tid : string ,\n\t\ttext : string ,\n\t) {\n\n\t\tconst doc = $mol_dom_context.document\n\t\tif( !doc ) return null\n\t\t\n\t\tconst elid = `$mol_style_attach:${id}`\n\t\t\n\t\tlet el = doc.getElementById( elid ) as HTMLStyleElement\n\t\tif( !el ) {\n\t\t\tel = doc.createElement('style')\n\t\t\tel.id = elid\n\t\t\tdoc.head.appendChild( el )\n\t\t}\n\t\tif( el.innerHTML != text ) el.innerHTML = text\n\t\t\n\t\treturn el\n\t}\n\n}\n","namespace $ {\n\texport class $mol_promise<Result = void> extends Promise<Result> {\n\t\tdone: (value: Result | PromiseLike<Result>) => void\n\t\tfail: (reason?: any) => void\n\n\t\tconstructor(\n\t\t\texecutor?: (\n\t\t\t\tdone: (value: Result | PromiseLike<Result>) => void,\n\t\t\t\tfail: (reason?: any) => void\n\t\t\t) => void\n\t\t) {\n\t\t\tlet done: (value: Result | PromiseLike<Result>) => void\n\t\t\tlet fail: (reason?: any) => void\n\n\t\t\tsuper((d, f) => {\n\t\t\t\tdone = d\n\t\t\t\tfail = f\n\t\t\t\texecutor?.(d, f)\n\t\t\t})\n\n\t\t\tthis.done = done!\n\t\t\tthis.fail = fail!\n\t\t}\n\n\t}\n\t\n}\n","namespace $ {\n\n\texport class $mol_promise_blocker<Result> extends $mol_promise<Result> {\n\t\tstatic [Symbol.toStringTag] = '$mol_promise_blocker'\n\t}\n\n}\n","namespace $ {\n\n\texport class $mol_decor< Value > {\n\t\t\n\t\tconstructor(\n\t\t\treadonly value : Value\n\t\t) {}\n\n\t\tprefix() { return '' }\n\t\tvalueOf() { return this.value }\n\t\tpostfix() { return '' }\n\n\t\ttoString(){\n\t\t\treturn `${ this.prefix() }${ this.valueOf() }${ this.postfix() }`\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\t\n\texport type $mol_style_unit_length =\n\t| '%'\n\t| 'px' | 'cm' | 'mm' | 'Q' | 'in' | 'pc' | 'pt'\n\t| 'cap' | 'ch' | 'em' | 'rem' | 'ex' | 'ic' | 'lh' | 'rlh'\n\t| 'vh' | 'vw' | 'vi' | 'vb' | 'vmin' | 'vmax'\n\t\n\texport type $mol_style_unit_angle = 'deg' | 'rad' | 'grad' | 'turn'\n\t\n\texport type $mol_style_unit_time = 's' | 'ms'\n\n\texport type $mol_style_unit_any = $mol_style_unit_length | $mol_style_unit_angle | $mol_style_unit_time\n\n\texport type $mol_style_unit_str< Quanity extends $mol_style_unit_any = $mol_style_unit_any> = `${number}${Quanity}`\n\n\t/**\n\t * CSS Units\n\t * @see https://mol.hyoo.ru/#!section=docs/=xwq9q5_f966fg\n\t */\n\texport class $mol_style_unit<\n\t\tLiteral extends $mol_style_unit_any\n\t> extends $mol_decor< number > {\n\n\t\tconstructor(\n\t\t\tvalue : number,\n\t\t\treadonly literal : Literal,\n\t\t) {\n\t\t\tsuper( value )\n\t\t}\n\n\t\tpostfix() {\n\t\t\treturn this.literal\n\t\t}\n\n\t\tstatic per( value : number ) { return `${value}%` as const }\n\t\tstatic px( value : number ) { return `${ value }px` as const }\n\t\tstatic mm( value : number ) { return `${value}mm` as const }\n\t\tstatic cm( value : number ) { return `${value}cm` as const }\n\t\tstatic Q( value : number ) { return `${value}Q` as const }\n\t\tstatic in( value : number ) { return `${value}in` as const }\n\t\tstatic pc( value : number ) { return `${value}pc` as const }\n\t\tstatic pt( value : number ) { return `${value}pt` as const }\n\t\tstatic cap( value : number ) { return `${value}cap` as const }\n\t\tstatic ch( value : number ) { return `${value}ch` as const }\n\t\tstatic em( value : number ) { return `${value}em` as const }\n\t\tstatic rem( value : number ) { return `${value}rem` as const }\n\t\tstatic ex( value : number ) { return `${value}ex` as const }\n\t\tstatic ic( value : number ) { return `${value}ic` as const }\n\t\tstatic lh( value : number ) { return `${value}lh` as const }\n\t\tstatic rlh( value : number ) { return `${value}rlh` as const }\n\t\tstatic vh( value : number ) { return `${value}vh` as const }\n\t\tstatic vw( value : number ) { return `${value}vw` as const }\n\t\tstatic vi( value : number ) { return `${value}vi` as const }\n\t\tstatic vb( value : number ) { return `${value}vb` as const }\n\t\tstatic vmin( value : number ) { return `${value}vmin` as const }\n\t\tstatic vmax( value : number ) { return `${value}vmax` as const }\n\t\t\n\t\tstatic deg( value : number ) { return `${value}deg` as const }\n\t\tstatic rad( value : number ) { return `${value}rad` as const }\n\t\tstatic grad( value : number ) { return `${value}grad` as const }\n\t\tstatic turn( value : number ) { return `${value}turn` as const }\n\n\t\tstatic s( value : number ) { return `${value}s` as const }\n\t\tstatic ms( value : number ) { return `${value}ms` as const }\n\t\n\t}\n\n}\n","namespace $ {\n\n\texport type $mol_style_func_name =\n\t| 'calc'\n\t| 'hsla'\n\t| 'rgba'\n\t| 'var'\n\t| 'clamp'\n\t| 'scale'\n\t| 'cubic-bezier'\n\t| 'linear'\n\t| 'steps'\n\t| $mol_style_func_image\n\t| $mol_style_func_filter\n\t\n\texport type $mol_style_func_image =\n\t| 'url'\n\t| 'linear-gradient'\n\t| 'radial-gradient'\n\t| 'conic-gradient'\n\t\n\texport type $mol_style_func_filter =\n\t| 'blur'\n\t| 'brightness'\n\t| 'contrast'\n\t| 'drop-shadow'\n\t| 'grayscale'\n\t| 'hue-rotate'\n\t| 'invert'\n\t| 'opacity'\n\t| 'sepia'\n\t| 'saturate'\n\n\tconst { per } = $mol_style_unit\n\t\n\t/**\n\t * CSS Functions\n\t * @see https://mol.hyoo.ru/#!section=docs/=xwq9q5_f966fg\n\t */\n\texport class $mol_style_func<\n\t\tName extends $mol_style_func_name ,\n\t\tValue = unknown,\n\t> extends $mol_decor< Value > {\n\n\t\tconstructor(\n\t\t\treadonly name : Name,\n\t\t\tvalue : Value,\n\t\t) {\n\t\t\tsuper( value )\n\t\t}\n\n\t\tprefix() { return this.name + '(' }\n\t\tpostfix() { return ')' }\n\n\t\tstatic linear_gradient< Value >( value : Value ) {\n\t\t\treturn new $mol_style_func( 'linear-gradient' , value )\n\t\t}\n\n\t\tstatic radial_gradient< Value >( value : Value ) {\n\t\t\treturn new $mol_style_func( 'radial-gradient' , value )\n\t\t}\n\n\t\tstatic calc< Value >( value : Value ) {\n\t\t\treturn new $mol_style_func( 'calc' , value )\n\t\t}\n\n\t\tstatic vary< Name extends string, Value extends string >( name : Name, defaultValue? : Value ) {\n\t\t\treturn new $mol_style_func( 'var' , defaultValue ? [name, defaultValue] : name )\n\t\t}\n\n\t\tstatic url< Href extends string >( href : Href ) {\n\t\t\treturn new $mol_style_func( 'url' , JSON.stringify( href ) )\n\t\t}\n\n\t\tstatic hsla(\n\t\t\thue: number,\n\t\t\tsaturation: number,\n\t\t\tlightness: number,\n\t\t\talpha: number,\n\t\t) {\n\t\t\treturn new $mol_style_func(\n\t\t\t\t'hsla',\n\t\t\t\t[ hue , per( saturation ) , per( lightness ) , alpha ],\n\t\t\t)\n\t\t}\n\t\n\t\tstatic clamp(\n\t\t\tmin: $mol_style_unit_str< any >,\n\t\t\tmid: $mol_style_unit_str< any >,\n\t\t\tmax: $mol_style_unit_str< any >,\n\t\t) {\n\t\t\treturn new $mol_style_func(\n\t\t\t\t'clamp',\n\t\t\t\t[ min, mid, max ],\n\t\t\t)\n\t\t}\n\t\n\t\tstatic rgba(\n\t\t\tred: number,\n\t\t\tgreen: number,\n\t\t\tblue: number,\n\t\t\talpha: number,\n\t\t) {\n\t\t\treturn new $mol_style_func(\n\t\t\t\t'rgba',\n\t\t\t\t[ red , green , blue , alpha ],\n\t\t\t)\n\t\t}\n\t\n\t\tstatic scale(\n\t\t\tzoom: number,\n\t\t) {\n\t\t\treturn new $mol_style_func( 'scale', [ zoom ] )\n\t\t}\n\t\t\n\t\tstatic linear(\n\t\t\t...breakpoints : Array<number | [number, number | $mol_style_unit_str<'%'>]>\n\t\t){\n\t\t\treturn new $mol_style_func(\n\t\t\t\t\"linear\",\n\t\t\t\tbreakpoints.map((e) =>\n\t\t\t\t\tArray.isArray(e)\n\t\t\t\t\t\t? String(e[0]) +\n\t\t\t\t\t\t \" \" +\n\t\t\t\t\t\t (typeof e[1] === \"number\" ? e[1] + \"%\" : e[1].toString())\n\t\t\t\t\t\t: String(e)\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t\t\n\t\tstatic cubic_bezier(\n\t\t\tx1: number,\n\t\t\ty1: number,\n\t\t\tx2: number,\n\t\t\ty2: number\n\t\t){\n\t\t\treturn new $mol_style_func( 'cubic-bezier', [ x1, y1, x2, y2 ]);\n\t\t}\n\t\t\n\t\tstatic steps(value: number, step_position: 'jump-start' | 'jump-end' | 'jump-none' | 'jump-both' | 'start' | 'end'){\n\t\t\treturn new $mol_style_func( 'steps', [ value, step_position ] )\n\t\t}\n\t\t\n\t\tstatic blur(value?: $mol_style_unit_str<$mol_style_unit_length>){\n\t\t\treturn new $mol_style_func( 'blur', value ?? \"\" );\n\t\t}\n\t\t\n\t\tstatic brightness(value?: number | $mol_style_unit_str<'%'>){\n\t\t\treturn new $mol_style_func( 'brightness', value ?? \"\" );\n\t\t}\n\t\t\n\t\tstatic contrast(value?: number | $mol_style_unit_str<'%'>){\n\t\t\treturn new $mol_style_func( 'contrast', value ?? \"\" );\n\t\t}\n\t\t\n\t\tstatic drop_shadow(\n\t\t\tcolor: $mol_style_properties_color,\n\t\t\tx_offset: $mol_style_unit_str<$mol_style_unit_length>,\n\t\t\ty_offset: $mol_style_unit_str<$mol_style_unit_length>,\n\t\t\tblur_radius?: $mol_style_unit_str<$mol_style_unit_length>\n\t\t) {\n\t\t\treturn new $mol_style_func(\n\t\t\t\t\"drop-shadow\",\n\t\t\t\tblur_radius\n\t\t\t\t\t? [color, x_offset, y_offset, blur_radius]\n\t\t\t\t\t: [color, x_offset, y_offset]\n\t\t\t);\n\t\t}\n\t\t\n\t\tstatic grayscale(value?: number | $mol_style_unit_str<'%'>){\n\t\t\treturn new $mol_style_func( 'grayscale', value ?? \"\" );\n\t\t}\n\t\t\n\t\tstatic hue_rotate(value?: 0 | $mol_style_unit_str<$mol_style_unit_angle>){\n\t\t\treturn new $mol_style_func( 'hue-rotate', value ?? \"\")\n\t\t}\n\t\t\n\t\tstatic invert(value?: number | $mol_style_unit_str<'%'>){\n\t\t\treturn new $mol_style_func( 'invert', value ?? \"\" );\n\t\t}\n\t\t\n\t\tstatic opacity(value?: number | $mol_style_unit_str<'%'>){\n\t\t\treturn new $mol_style_func( 'opacity', value ?? \"\" );\n\t\t}\n\t\t\n\t\tstatic sepia(value?: number | $mol_style_unit_str<'%'>){\n\t\t\treturn new $mol_style_func( 'sepia', value ?? \"\" );\n\t\t}\n\t\t\n\t\tstatic saturate(value?: number | $mol_style_unit_str<'%'>){\n\t\t\treturn new $mol_style_func( 'saturate', value ?? \"\" );\n\t\t}\n\t\n\t}\n\n}\n","namespace $ {\n\t\n\t/** Create record of CSS variables. */\n\texport function $mol_style_prop< Keys extends string[] >(\n\t\tprefix: string ,\n\t\tkeys: Keys\n\t) {\n\t\t\n\t\tconst record = keys.reduce( ( rec , key: Keys[number] )=> {\n\t\t\t\n\t\t\trec[ key ] = $mol_style_func.vary( `--${ prefix }_${ key }` )\n\t\t\treturn rec\n\t\t\t\n\t\t}, {} as Record< Keys[number], $mol_style_func< 'var' > > )\n\t\t\n\t\treturn record\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t$mol_test( {\n\t\t\n\t\t'init with overload'() {\n\t\t\tclass X extends $mol_object {\n\t\t\t\tfoo() {\n\t\t\t\t\treturn 1\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tvar x = X.make({\n\t\t\t\tfoo : ()=> 2 ,\n\t\t\t})\n\t\t\t\n\t\t\t$mol_assert_equal( x.foo() , 2 )\n\t\t} ,\n\t\t\t\n\t} )\n}\n","namespace $ {\n\t$mol_test({\n\t\t\n\t\t'Collect deps'() {\n\t\t\t\n\t\t\tconst pub1 = new $mol_wire_pub\n\t\t\tconst pub2 = new $mol_wire_pub\n\t\t\tconst sub = new $mol_wire_pub_sub\n\t\t\t\n\t\t\tconst bu1 = sub.track_on()\n\t\t\ttry {\n\t\t\t\t\n\t\t\t\tpub1.promote()\n\t\t\t\tpub2.promote()\n\t\t\t\tpub2.promote()\n\t\t\t\t\n\t\t\t} finally {\n\t\t\t\t\n\t\t\t\tsub.track_cut()\n\t\t\t\tsub.track_off( bu1 )\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tpub1.emit()\n\t\t\tpub2.emit()\n\t\t\t\n\t\t\t$mol_assert_like( sub.pub_list, [ pub1, pub2, pub2 ] )\n\t\t\t\n\t\t\tconst bu2 = sub.track_on()\n\t\t\ttry {\n\t\t\t\t\n\t\t\t\tpub1.promote()\n\t\t\t\tpub1.promote()\n\t\t\t\tpub2.promote()\n\t\t\t\t\n\t\t\t} finally {\n\t\t\t\t\n\t\t\t\tsub.track_cut()\n\t\t\t\tsub.track_off( bu2 )\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tpub1.emit()\n\t\t\tpub2.emit()\n\t\t\t\n\t\t\t$mol_assert_like( sub.pub_list, [ pub1, pub1, pub2 ] )\n\t\t\t\n\t\t},\n\t\t\n\t\t'cyclic detection'( $ ) {\n\t\t\t\n\t\t\tconst sub1 = new $mol_wire_pub_sub\n\t\t\tconst sub2 = new $mol_wire_pub_sub\n\t\t\t\n\t\t\tconst bu1 = sub1.track_on()\n\t\t\ttry {\n\t\t\t\t\n\t\t\t\tconst bu2 = sub2.track_on()\n\t\t\t\ttry {\n\t\t\t\t\t\n\t\t\t\t\t$mol_assert_fail( ()=> sub1.promote(), 'Circular subscription' )\n\t\t\t\t\t\n\t\t\t\t} finally {\n\t\t\t\t\t\n\t\t\t\t\tsub2.track_cut()\n\t\t\t\t\tsub2.track_off( bu2 )\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t} finally {\n\t\t\t\t\n\t\t\t\tsub1.track_cut()\n\t\t\t\tsub1.track_off( bu1 )\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t},\n\n\t})\n}\n","namespace $ {\n\n\t/// @todo right orderinng\n\texport let $mol_after_mock_queue = [] as ( ()=> void )[]\n\n\texport function $mol_after_mock_warp() {\n\t\tconst queue = $mol_after_mock_queue.splice( 0 )\n\t\tfor( const task of queue ) task()\n\t}\n\n\texport class $mol_after_mock_commmon extends $mol_object2 {\n\n\t\tpromise = Promise.resolve()\n\t\tcancelled = false\n\t\tid : any\n\n\t\tconstructor( public task : ()=> void ) {\n\t\t\tsuper()\n\t\t\t$mol_after_mock_queue.push( task )\n\t\t}\n\n\t\tdestructor() {\n\t\t\tconst index = $mol_after_mock_queue.indexOf( this.task )\n\t\t\tif( index >= 0 )$mol_after_mock_queue.splice( index , 1 )\n\t\t}\n\n\t}\n\n\texport class $mol_after_mock_timeout extends $mol_after_mock_commmon {\n\n\t\tconstructor(\n\t\t\tpublic delay : number ,\n\t\t\ttask : ()=> void ,\n\t\t) {\n\t\t\tsuper( task )\n\t\t}\n\n\t}\n\t\n}\n","namespace $ {\n\n\t$mol_test_mocks.push( $ => {\n\t\t$.$mol_after_tick = $mol_after_mock_commmon as any as typeof $mol_after_tick\n\t})\n\n}\n","namespace $ {\n\n\t$mol_test({\n\t\t\n\t\t'Sync execution'() {\n\n\t\t\tclass Sync extends $mol_object2 {\n\t\t\t\t\n\t\t\t\t@ $mol_wire_method\n\t\t\t\tstatic calc( a: number, b: number ) {\n\t\t\t\t\treturn a + b\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\t$mol_assert_equal( Sync.calc( 1, 2 ), 3 )\n\t\t\t\n\t\t},\n\n\t\tasync 'async <=> sync'() {\n\t\t\t\n\t\t\tclass SyncAsync extends $mol_object2 {\n\t\t\t\t\n\t\t\t\tstatic async val( a: number ) {\n\t\t\t\t\treturn a\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tstatic sum( a: number, b: number ) {\n\t\t\t\t\tconst syn = $mol_wire_sync( this )\n\t\t\t\t\treturn syn.val( a ) + syn.val( b )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tstatic async calc( a: number, b: number ) {\n\t\t\t\t\treturn 5 + await $mol_wire_async( this ).sum( a, b )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\t$mol_assert_equal( await SyncAsync.calc( 1, 2 ), 8 )\n\n\t\t},\n\n\t\tasync 'Idempotence control'() {\n\n\t\t\tclass Idempotence extends $mol_object2 {\n\t\t\t\t\n\t\t\t\tstatic logs_idemp = 0\n\t\t\t\tstatic logs_unidemp = 0\n\t\t\t\t\n\t\t\t\t@ $mol_wire_method\n\t\t\t\tstatic log_idemp() {\n\t\t\t\t\tthis.logs_idemp += 1\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tstatic log_unidemp() {\n\t\t\t\t\tthis.logs_unidemp += 1\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tstatic async val( a: number ) {\n\t\t\t\t\treturn a\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tstatic sum( a: number, b: number ) {\n\t\t\t\t\tthis.log_idemp()\n\t\t\t\t\tthis.log_unidemp()\n\t\t\t\t\tconst syn = $mol_wire_sync( this )\n\t\t\t\t\treturn syn.val( a ) + syn.val( b )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tstatic async calc( a: number, b: number ) {\n\t\t\t\t\treturn 5 + await $mol_wire_async( this ).sum( a, b )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\t$mol_assert_equal( await Idempotence.calc( 1, 2 ), 8 )\n\t\t\t$mol_assert_equal( Idempotence.logs_idemp, 1 )\n\t\t\t$mol_assert_equal( Idempotence.logs_unidemp, 3 )\n\n\t\t},\n\n\t\tasync 'Error handling'() {\n\t\t\t\n\t\t\tclass Handle extends $mol_object2 {\n\t\t\t\t\n\t\t\t\tstatic async sum( a: number, b: number ){\n\t\t\t\t\t$mol_fail( new Error( 'test error ' + ( a + b ) ) )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tstatic check() {\n\t\t\t\t\ttry {\n\t\t\t\t\t\treturn $mol_wire_sync( Handle ).sum( 1, 2 )\n\t\t\t\t\t} catch( error: any ) {\n\t\t\t\t\t\tif( $mol_promise_like( error ) ) $mol_fail_hidden( error )\n\t\t\t\t\t\t$mol_assert_equal( error.message, 'test error 3' )\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\t\n\t\t\tawait $mol_wire_async( Handle ).check()\n\t\t\t\n\t\t},\n\t\t\n\t})\n\t\n}\n","namespace $ {\n\n\t$mol_test_mocks.push( $ => {\n\t\t$.$mol_after_timeout = $mol_after_mock_timeout as any as typeof $mol_after_timeout\n\t})\n\n}\n","namespace $ {\n\n\t$mol_test({\n\t\t'test types'( $ ) {\n\t\t\tclass A {\n\t\t\t\tstatic a() {\n\t\t\t\t\treturn ''\n\t\t\t\t}\n\t\t\t\tstatic b() {\n\t\t\t\t\treturn $mol_wire_async(this).a()\n\t\t\t\t}\n\t\t\t}\n\n\t\t\ttype Check = $mol_type_assert<ReturnType<typeof A['b']>, Promise<string>>\n\t\t},\n\t\t\n\t\tasync 'Latest method calls wins'( $ ) {\n\t\t\t\n\t\t\tclass NameLogger extends $mol_object2 {\n\t\t\t\t\n\t\t\t\tstatic $ = $\n\t\t\t\t\n\t\t\t\tstatic first = [] as string[]\n\t\t\t\tstatic last = [] as string[]\n\t\t\t\t\n\t\t\t\tstatic send( next: string ) {\n\t\t\t\t\t$mol_wire_sync( this.first ).push( next )\n\t\t\t\t\t$$.$mol_wait_timeout(0)\n\t\t\t\t\tthis.last.push( next )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tconst name = $mol_wire_async( NameLogger ).send\n\t\t\t\n\t\t\tname( 'john' )\n\t\t\tconst promise = name( 'jin' )\n\t\t\t\n\t\t\t$.$mol_after_mock_warp()\n\t\t\tawait promise\n\t\t\t\n\t\t\t$mol_assert_equal( NameLogger.first, [ 'john', 'jin' ] )\n\t\t\t$mol_assert_equal( NameLogger.last, [ 'jin' ] )\n\n\t\t},\n\n\t\tasync 'Latest function calls wins'( $ ) {\n\t\t\t\n\t\t\tconst first = [] as string[]\n\t\t\tconst last = [] as string[]\n\t\t\t\n\t\t\tfunction send_name( next: string ) {\n\t\t\t\t$mol_wire_sync( first ).push( next )\n\t\t\t\t$$.$mol_wait_timeout(0)\n\t\t\t\tlast.push( next )\n\t\t\t}\n\t\t\t\n\t\t\tconst name = $mol_wire_async( send_name )\n\t\t\t\n\t\t\tname( 'john' )\n\t\t\tconst promise = name( 'jin' )\n\t\t\t\n\t\t\t$.$mol_after_mock_warp()\n\t\t\tawait promise\n\t\t\t\n\t\t\t$mol_assert_equal( first, [ 'john', 'jin' ] )\n\t\t\t$mol_assert_equal( last, [ 'jin' ] )\n\t\t\t\n\t\t},\n\n\t})\n\t\n}\n","namespace $ {\n\n\t$mol_test({\n\n\t\t'test types'( $ ) {\n\t\t\tclass A {\n\t\t\t\tstatic a() {\n\t\t\t\t\treturn Promise.resolve('')\n\t\t\t\t}\n\n\t\t\t\tstatic b() {\n\t\t\t\t\treturn $mol_wire_sync(this).a()\n\t\t\t\t}\n\t\t\t}\n\n\t\t\ttype Check = $mol_type_assert<ReturnType<typeof A['b']>, string>\n\t\t},\n\n\t\tasync 'test method from host'( $ ) {\n\t\t\tlet count = 0\n\t\t\tclass A {\n\t\t\t\tstatic a() {\n\t\t\t\t\treturn $mol_wire_sync(this).b()\n\t\t\t\t}\n\n\t\t\t\tstatic b() { return Promise.resolve(++count) }\n\t\t\t}\n\n\t\t\t\n\t\t\t$mol_assert_equal(await $mol_wire_async(A).a(), 1, count)\n\n\t\t},\n\n\t\tasync 'test function'( $ ) {\n\t\t\tlet count = 0\n\t\t\tclass A {\n\t\t\t\tstatic a() {\n\t\t\t\t\treturn $mol_wire_sync(this.b)()\n\t\t\t\t}\n\n\t\t\t\tstatic b() { return Promise.resolve(++count) }\n\t\t\t}\n\n\t\t\t\n\t\t\t$mol_assert_equal(await $mol_wire_async(A).a(), 1, count)\n\n\t\t},\n\n\t\tasync 'test construct itself'( $ ) {\n\t\t\tclass A {\n\t\t\t\tstatic instances = [] as A[]\n\n\t\t\t\tstatic a() {\n\t\t\t\t\tconst a = new ($mol_wire_sync(A))()\n\t\t\t\t\tthis.instances.push( a )\n\t\t\t\t\t$mol_wire_sync(this).b()\n\t\t\t\t}\n\n\t\t\t\tstatic b() { return Promise.resolve() }\n\t\t\t}\n\n\t\t\tawait $mol_wire_async(A).a()\n\t\t\t$mol_assert_equal(A.instances.length, 2)\n\t\t\t$mol_assert_equal(A.instances[0] instanceof A)\n\n\t\t\t$mol_assert_equal(A.instances[0], A.instances[1])\n\n\t\t}\n\t})\n\n}\n\n","namespace $ {\n\n\tdeclare function requestIdleCallback( task : ()=> void , options? : { timeout : number } ) : any\n\tdeclare function cancelIdleCallback( id : any ) : void\n\n\texport class $mol_after_work extends $mol_object2 {\n\n\t\tid : any\n\n\t\tconstructor(\n\t\t\tpublic delay : number ,\n\t\t\tpublic task : ()=> void ,\n\t\t) {\n\t\t\tsuper()\n\t\t\tthis.id = requestIdleCallback( task , { timeout : delay } )\n\t\t}\n\n\t\tdestructor() {\n\t\t\tcancelIdleCallback( this.id )\n\t\t}\n\n\t}\n\t\n\tif( typeof requestIdleCallback !== 'function' ) {\n\t\t$.$mol_after_work = $mol_after_timeout\n\t}\n\t\n}\n","namespace $ {\n\n\t$mol_test_mocks.push( $ => {\n\t\t$.$mol_after_work = $mol_after_mock_timeout as any as typeof $mol_after_work\n\t})\n\n}\n","namespace $ {\n\t\n\texport function $mol_wait_rest_async( this: $ ) {\n\t\treturn new Promise( done => {\n\t\t\tnew this.$mol_after_work( 16 , ()=> done( null ) )\n\t\t} )\n\t}\n\t\n\texport function $mol_wait_rest( this: $ ) {\n\t\treturn this.$mol_wire_sync( this ).$mol_wait_rest_async()\n\t}\n\t\n}\n","namespace $.$$ {\n\t\n\t$mol_test_mocks.push( $ => {\n\t\t$.$mol_wait_timeout = function $mol_wait_timeout_mock( this: $, timeout: number ) { }\n\t\t$.$mol_wait_timeout_async = async function $mol_wait_timeout_async_mock( this: $, timeout: number ) {}\n\t} )\n\n}\n","namespace $ {\n\t\n\texport function $mol_wait_timeout_async( this: $, timeout: number ): Promise< void > {\n\t\tconst promise = new $mol_promise()\n\t\tconst task = new this.$mol_after_timeout( timeout , ()=> promise.done() )\n\t\treturn Object.assign( promise, {\n\t\t\tdestructor: ()=> task.destructor()\n\t\t} )\n\t}\n\t\n\texport function $mol_wait_timeout( this: $, timeout: number ) {\n\t\treturn this.$mol_wire_sync( this ).$mol_wait_timeout_async( timeout )\n\t}\n\t\n}\n","namespace $.$$ {\n\t\n\t$mol_test_mocks.push( $ => {\n\t\t$.$mol_wait_rest = function $mol_wait_rest_mock( this: $ ) { }\n\t\t$.$mol_wait_rest_async = async function $mol_wait_rest_async_mock( this: $ ) {}\n\t} )\n\n}\n","namespace $ {\n\t$mol_test({\n\t\t\n\t\t// https://github.com/nin-jin/slides/tree/master/reactivity#component-states\n\t\t'Cached channel' ($) {\n\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\t\t\t\t\n\t\t\t\t@ $mol_wire_solo\n\t\t\t\tstatic value( next = 1 ) {\n\t\t\t\t\treturn next + 1\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\t$mol_assert_equal( App.value(), 2 )\n\n\t\t\tApp.value( 2 )\n\t\t\t$mol_assert_equal( App.value(), 3 )\n\n\t\t},\n\n\t\t'Read Pushed' ($) {\n\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\t\t\t\t\n\t\t\t\t@ $mol_wire_solo\n\t\t\t\tstatic value( next = 0 ) {\n\t\t\t\t\treturn next\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\t$mol_assert_equal( App.value( 1 ), 1 )\n\t\t\t$mol_assert_equal( App.value(), 1 )\n\n\t\t},\n\n\t\t'Mem overrides mem' ($) {\n\n\t\t\tclass Base extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\t\t\t\t\n\t\t\t\t@ $mol_wire_solo\n\t\t\t\tstatic value( next = 1 ) {\n\t\t\t\t\treturn next + 1\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tclass Middle extends Base {\n\t\t\t\t\n\t\t\t\t@ $mol_wire_solo\n\t\t\t\tstatic value( next?: number ) {\n\t\t\t\t\treturn super.value( next ) + 1\n\t\t\t\t}\n\t\t\t\n\t\t\t}\n\t\t\t\t\n\t\t\tclass App extends Middle {\n\t\t\t\t\n\t\t\t\t@ $mol_wire_solo\n\t\t\t\tstatic value( next?: number ) {\n\t\t\t\t\treturn super.value( next ) * 3\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\t$mol_assert_equal( App.value(), 9 )\n\t\t\t\n\t\t\t$mol_assert_equal( App.value( 5 ), 21 )\n\t\t\t$mol_assert_equal( App.value(), 21 )\n\n\t\t},\n\n\t\t// https://github.com/nin-jin/slides/tree/master/reactivity#wish-consistency\n\t\t'Auto recalculation of cached values'( $ ) {\n\t\t\t\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\t\t\t\t\n\t\t\t\t@ $mol_wire_solo\n\t\t\t\tstatic xxx( next? : number ) {\n\t\t\t\t\treturn next || 1\n\t\t\t\t}\n\n\t\t\t\t@ $mol_wire_solo\n\t\t\t\tstatic yyy() {\n\t\t\t\t\treturn this.xxx() + 1\n\t\t\t\t}\n\n\t\t\t\t@ $mol_wire_solo\n\t\t\t\tstatic zzz() {\n\t\t\t\t\treturn this.yyy() + 1\n\t\t\t\t}\n\n\t\t\t}\n\t\t\t\n\t\t\t$mol_assert_equal( App.yyy(), 2 )\n\t\t\t$mol_assert_equal( App.zzz(), 3 )\n\n\t\t\tApp.xxx( 5 )\n\t\t\t$mol_assert_equal( App.zzz(), 7 )\n\n\t\t},\n\n\t\t// https://github.com/nin-jin/slides/tree/master/reactivity#wish-reasonability\n\t\t'Skip recalculation when actually no dependency changes'( $ ) {\n\t\t\t\n\t\t\tconst log = [] as string[]\n\t\t\t\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\t\t\t\t\n\t\t\t\t@ $mol_wire_solo\n\t\t\t\tstatic xxx( next? : number ) {\n\t\t\t\t\tlog.push( 'xxx' )\n\t\t\t\t\treturn next || 1\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t@ $mol_wire_solo\n\t\t\t\tstatic yyy() {\n\t\t\t\t\tlog.push( 'yyy' )\n\t\t\t\t\treturn [ Math.sign( this.xxx() ) ]\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t@ $mol_wire_solo\n\t\t\t\tstatic zzz() {\n\t\t\t\t\tlog.push( 'zzz' )\n\t\t\t\t\treturn this.yyy()[0] + 1\n\t\t\t\t}\n\n\t\t\t}\n\t\t\t\n\t\t\tApp.zzz()\n\t\t\t$mol_assert_like( log, [ 'zzz', 'yyy', 'xxx' ] )\n\t\t\t\n\t\t\tApp.xxx( 5 )\n\t\t\t$mol_assert_like( log, [ 'zzz', 'yyy', 'xxx', 'xxx' ] )\n\t\t\t\n\t\t\tApp.zzz()\n\t\t\t$mol_assert_like( log, [ 'zzz', 'yyy', 'xxx', 'xxx', 'yyy' ] )\n\n\t\t},\n\n\t\t// https://github.com/nin-jin/slides/tree/master/reactivity#flow-auto\n\t\t'Flow: Auto'( $ ) {\n\n\t\t\tclass App extends $mol_object2 {\n\t\t\t\t\n\t\t\t\tstatic get $() { return $ }\n\n\t\t\t\t@ $mol_wire_solo\n\t\t\t\tstatic source( next = 1 ) { return next }\n\t\t\t\t\n\t\t\t\t@ $mol_wire_solo\n\t\t\t\tstatic condition( next = true ) { return next }\n\t\t\t\t\n\t\t\t\tstatic counter = 0\n\n\t\t\t\t@ $mol_wire_solo\n\t\t\t\tstatic result() {\n\t\t\t\t\tconst res = this.condition() ? this.source() : 0\n\t\t\t\t\treturn res + this.counter ++\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\n\t\t\t$mol_assert_equal( App.result() , 1 )\n\t\t\t$mol_assert_equal( App.counter , 1 )\n\t\t\t\n\t\t\tApp.source( 10 )\n\t\t\t$mol_assert_equal( App.result() , 11 )\n\t\t\t$mol_assert_equal( App.counter , 2 )\n\t\t\t\n\t\t\tApp.condition( false )\n\t\t\t$mol_assert_equal( App.result() , 2 )\n\t\t\t$mol_assert_equal( App.counter , 3 )\n\n\t\t\t$mol_wire_fiber.sync()\n\t\t\t$mol_assert_equal( App.source() , 1 )\n\t\t\t\n\t\t\tApp.source( 20 )\n\t\t\t$mol_assert_equal( App.result() , 2 )\n\t\t\t$mol_assert_equal( App.counter , 3 )\n\n\t\t\tApp.condition( true )\n\t\t\t$mol_assert_equal( App.result() , 23 )\n\t\t\t$mol_assert_equal( App.counter , 4 )\n\n\t\t} ,\n\n\t\t// https://github.com/nin-jin/slides/tree/master/reactivity#dupes-equality\n\t\t'Dupes: Equality'( $ ) {\n\t\t\t\n\t\t\tlet counter = 0\n\t\t\t\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\t\t\t\t\n\t\t\t\t@ $mol_wire_solo\n\t\t\t\tstatic foo( next? : { numbs: number[] } ) {\n\t\t\t\t\treturn next ?? { numbs: [ 1 ] }\n\t\t\t\t}\n\n\t\t\t\t@ $mol_wire_solo\n\t\t\t\tstatic bar() {\n\t\t\t\t\treturn { ... this.foo(), count: ++ counter }\n\t\t\t\t}\n\n\t\t\t}\n\t\t\t\n\t\t\t$mol_assert_like( App.bar(), { numbs: [ 1 ], count: 1 } )\n\n\t\t\tApp.foo({ numbs: [ 1 ] })\n\t\t\t$mol_assert_like( App.bar(), { numbs: [ 1 ], count: 1 } )\n\t\t\t\n\t\t\tApp.foo({ numbs: [ 2 ] })\n\t\t\t$mol_assert_like( App.bar(), { numbs: [ 2 ], count: 2 } )\n\n\t\t},\n\n\t\t// https://github.com/nin-jin/slides/tree/master/reactivity#cycle-fail\n\t\t'Cycle: Fail'( $ ) {\n\t\t\n\t\t\tclass App extends $mol_object2 {\n\t\t\n\t\t\t\tstatic $ = $\n\t\t\t\t\n\t\t\t\t@ $mol_wire_solo\n\t\t\t\tstatic foo() : number {\n\t\t\t\t\treturn this.bar() + 1\n\t\t\t\t}\n\t\t\n\t\t\t\t@ $mol_wire_solo\n\t\t\t\tstatic bar() : number {\n\t\t\t\t\treturn this.foo() + 1\n\t\t\t\t}\n\t\t\n\t\t\t\t@ $mol_wire_method\n\t\t\t\tstatic test() {\n\t\t\t\t\t$mol_assert_fail( ()=> App.foo(), 'Circular subscription' )\n\t\t\t\t}\t\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tApp.test()\n\t\t} ,\n\n\t\t// https://github.com/nin-jin/slides/tree/master/reactivity#wish-stability\n\t\t// 'Update deps on push'( $ ) {\n\t\t\n\t\t// \tclass App extends $mol_object2 {\n\t\t\n\t\t// \t\tstatic $ = $\n\t\t\t\t\n\t\t// \t\t@ $mol_wire_solo\n\t\t// \t\tstatic left( next = false ) {\n\t\t// \t\t\treturn next\n\t\t// \t\t}\n\t\t\n\t\t// \t\t@ $mol_wire_solo\n\t\t// \t\tstatic right( next = false ) {\n\t\t// \t\t\treturn next\n\t\t// \t\t}\n\t\t\n\t\t// \t\t@ $mol_wire_solo\n\t\t// \t\tstatic res( next?: boolean ) {\n\t\t// \t\t\treturn this.left( next ) && this.right()\n\t\t// \t\t}\n\t\t\n\t\t// \t}\n\t\t\t\n\t\t// \t$mol_assert_equal( App.res(), false )\n\t\t// \t$mol_assert_equal( App.res( true ), false )\n\t\t\t\n\t\t// \t$mol_assert_equal( App.right( true ), true )\n\t\t// \t$mol_assert_equal( App.res(), true )\n\t\t\t\n\t\t// } ,\n\t\t\n\t\t// https://github.com/nin-jin/slides/tree/master/reactivity#wish-stability\n\t\t'Different order of pull and push'( $ ) {\n\t\t\n\t\t\tclass App extends $mol_object2 {\n\t\t\n\t\t\t\tstatic $ = $\n\t\t\t\t\n\t\t\t\t@ $mol_wire_solo\n\t\t\t\tstatic store( next = 0 ) {\n\t\t\t\t\treturn next\n\t\t\t\t}\n\t\t\n\t\t\t\t@ $mol_wire_solo\n\t\t\t\tstatic fast( next?: number ) {\n\t\t\t\t\treturn this.store( next )\n\t\t\t\t}\n\t\t\n\t\t\t\t@ $mol_wire_solo\n\t\t\t\tstatic slow( next?: number ) {\n\t\t\t\t\tif( next !== undefined ) this.slow() // enforce pull before push\n\t\t\t\t\treturn this.store( next )\n\t\t\t\t}\n\t\t\n\t\t\t}\n\t\t\t\n\t\t\tApp.fast()\n\t\t\t$mol_assert_equal( App.slow( 666 ), 666 )\n\t\t\t$mol_assert_equal( App.fast(), App.slow(), 666 )\n\t\t\t\n\t\t\tApp.store( 777 )\n\t\t\t$mol_assert_equal( App.fast(), App.slow(), 777 )\n\t\t\t\n\t\t} ,\n\t\t\n\t\t// https://github.com/nin-jin/slides/tree/master/reactivity#wish-stability\n\t\t'Actions inside invariant'( $ ) {\n\t\t\n\t\t\tclass App extends $mol_object2 {\n\t\t\n\t\t\t\tstatic $ = $\n\t\t\t\t\n\t\t\t\t@ $mol_wire_solo\n\t\t\t\tstatic count( next = 0 ) {\n\t\t\t\t\treturn next\n\t\t\t\t}\n\t\t\n\t\t\t\t@ $mol_wire_solo\n\t\t\t\tstatic count2() {\n\t\t\t\t\treturn this.count()\n\t\t\t\t}\n\t\t\n\t\t\t\t@ $mol_wire_solo\n\t\t\t\tstatic res() {\n\t\t\t\t\tconst count = this.count2()\n\t\t\t\t\tif( !count ) this.count( count + 1 )\n\t\t\t\t\treturn count + 1\n\t\t\t\t}\n\t\t\n\t\t\t}\n\t\t\t\n\t\t\t$mol_assert_like( App.res(), 1 )\n\t\t\t\n\t\t\tApp.count( 5 )\n\t\t\t$mol_assert_like( App.res(), 6 )\n\n\t\t} ,\n\t\t\n\t\tasync 'Toggle with async'( $ ) {\n\t\t\n\t\t\tclass App extends $mol_object2 {\n\t\t\n\t\t\t\tstatic $ = $\n\t\t\t\t\n\t\t\t\t@ $mol_wire_solo\n\t\t\t\tstatic checked( next = false ) {\n\t\t\t\t\t$$.$mol_wait_timeout(0)\n\t\t\t\t\treturn next\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t@ $mol_wire_method\n\t\t\t\tstatic toggle() {\n\t\t\t\t\tconst prev = this.checked()\n\t\t\t\t\t$mol_assert_unique( this.checked( !prev ), prev )\n\t\t\t\t\t// $mol_assert_equal( this.checked() , prev )\n\t\t\t\t}\n\t\t\n\t\t\t\t@ $mol_wire_solo\n\t\t\t\tstatic res() {\n\t\t\t\t\treturn this.checked()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t@ $mol_wire_method\n\t\t\t\tstatic test() {\n\t\t\t\t\t\n\t\t\t\t\t$mol_assert_equal( App.res(), false )\n\t\t\t\t\t\n\t\t\t\t\tApp.toggle()\n\t\t\t\t\t$mol_assert_equal( App.res(), true )\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\n\t\t\t}\n\t\t\t\n\t\t\tawait $mol_wire_async( App ).test()\n\t\t\t\n\t\t} ,\n\n\t\t// // https://github.com/nin-jin/slides/tree/master/reactivity#wish-stability\n\t\t// 'Stable order of multiple root'( $ ) {\n\t\t\n\t\t// \tclass App extends $mol_object2 {\n\t\t\n\t\t// \t\tstatic $ = $\n\t\t\t\t\n\t\t// \t\tstatic counter = 0\n\t\t\t\t\n\t\t// \t\t@ $mol_wire_solo\n\t\t// \t\tstatic left_trigger( next = 0 ) {\n\t\t// \t\t\treturn next\n\t\t// \t\t}\n\t\t\n\t\t// \t\t@ $mol_wire_solo\n\t\t// \t\tstatic left_root() {\n\t\t// \t\t\tthis.left_trigger()\n\t\t// \t\t\treturn ++ this.counter\n\t\t// \t\t}\n\t\t\t\t\n\t\t// \t\t@ $mol_wire_solo\n\t\t// \t\tstatic right_trigger( next = 0 ) {\n\t\t// \t\t\treturn next\n\t\t// \t\t}\n\t\t\t\t\n\t\t// \t\t@ $mol_wire_solo\n\t\t// \t\tstatic right_root() {\n\t\t// \t\t\tthis.right_trigger()\n\t\t// \t\t\treturn ++ this.counter\n\t\t// \t\t}\n\t\t\n\t\t// \t}\n\t\t\t\n\t\t// \t$mol_assert_equal( App.left_root(), 1 )\n\t\t// \t$mol_assert_equal( App.right_root(), 2 )\n\t\t\t\n\t\t// \tApp.right_trigger( 1 )\n\t\t// \tApp.left_trigger( 1 )\n\t\t\t\n\t\t// \t$mol_wire_fiber.sync()\n\t\t\t\n\t\t// \t$mol_assert_equal( App.right_root(), 4 )\n\t\t// \t$mol_assert_equal( App.left_root(), 3 )\n\n\t\t// } ,\n\n\t\t// https://github.com/nin-jin/slides/tree/master/reactivity#error-store\n\t\t'Restore after error'( $ ) {\n\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\tstatic get $() { return $ }\n\n\t\t\t\t@ $mol_wire_solo\n\t\t\t\tstatic condition( next = false ) { return next }\n\n\t\t\t\t@ $mol_wire_solo\n\t\t\t\tstatic broken() {\n\t\t\t\t\t\n\t\t\t\t\tif( this.condition() ) {\n\t\t\t\t\t\t$mol_fail( new Error( 'test error' ) )\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\treturn 1\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t@ $mol_wire_solo\n\t\t\t\tstatic result() {\n\t\t\t\t\treturn this.broken()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\n\t\t\t$mol_assert_equal( App.result() , 1 )\n\t\t\t\n\t\t\tApp.condition( true )\n\t\t\t$mol_assert_fail( ()=> App.result(), 'test error' )\n\t\t\t\n\t\t\tApp.condition( false )\n\t\t\t$mol_assert_equal( App.result() , 1 )\n\n\t\t} ,\n\t\n\t\tasync 'Wait for data'($) {\n\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\t\t\t\t\n\t\t\t\tstatic async source() {\n\t\t\t\t\treturn 'Jin'\n\t\t\t\t}\n\n\t\t\t\t@ $mol_wire_solo\n\t\t\t\tstatic middle() {\n\t\t\t\t\treturn $mol_wire_sync( this ).source()\n\t\t\t\t}\n\n\t\t\t\t@ $mol_wire_solo\n\t\t\t\tstatic target() {\n\t\t\t\t\treturn this.middle()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t@ $mol_wire_method\n\t\t\t\tstatic test() {\n\t\t\t\t\t$mol_assert_equal( App.target() , 'Jin' )\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tawait $mol_wire_async( App ).test()\n\t\t},\n\n\t\t'Auto destroy on long alone'( $ ) {\n\n\t\t\tlet destroyed = false\n\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\t\t\t\t\n\t\t\t\t@ $mol_wire_solo\n\t\t\t\tstatic showing( next = true ) {\n\t\t\t\t\treturn next\n\t\t\t\t}\n\n\t\t\t\t@ $mol_wire_solo\n\t\t\t\tstatic details() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tdestructor() {\n\t\t\t\t\t\t\tdestroyed = true\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t@ $mol_wire_solo\n\t\t\t\tstatic render() {\n\t\t\t\t\treturn this.showing() ? this.details() : null\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tconst details = App.render()\n\t\t\t$mol_assert_ok( details )\n\n\t\t\tApp.showing( false )\n\t\t\t$mol_assert_not( App.render() )\n\t\t\t\n\t\t\tApp.showing( true )\n\t\t\t$mol_assert_equal( App.render() , details )\n\t\t\t\n\t\t\t$mol_wire_fiber.sync()\n\t\t\t$mol_assert_not( destroyed )\n\t\t\t\n\t\t\tApp.showing( false )\n\t\t\t$mol_wire_fiber.sync()\n\t\t\t$mol_assert_ok( destroyed )\n\n\t\t\tApp.showing( true )\n\t\t\t$mol_assert_unique( App.render() , details )\n\t\t\t\n\t\t},\n\n\t\t// https://github.com/nin-jin/slides/tree/master/reactivity#wish-stability\n\t\tasync 'Hold pubs while wait async task'($) {\n\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\t\t\t\t\n\t\t\t\tstatic counter = 0\n\t\t\t\t\n\t\t\t\t@ $mol_wire_solo\n\t\t\t\tstatic resets( next?: null ): number {\n\t\t\t\t\treturn ( $mol_wire_probe( ()=> this.resets() ) ?? -1 ) + 1\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tstatic async wait() { }\n\t\t\t\t\n\t\t\t\t@ $mol_wire_solo\n\t\t\t\tstatic value() {\n\t\t\t\t\treturn ++ this.counter\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t@ $mol_wire_solo\n\t\t\t\tstatic result() {\n\t\t\t\t\tif( this.resets() ) $mol_wire_sync( this ).wait()\n\t\t\t\t\treturn this.value()\n\t\t\t\t}\n\n\t\t\t}\n\t\t\t\n\t\t\t$mol_assert_equal( App.result() , 1 )\n\t\t\t\n\t\t\tApp.resets( null )\n\t\t\t$mol_wire_fiber.sync()\n\t\t\t$mol_assert_equal( await $mol_wire_async( App ).result() , 1 )\n\t\t\t\n\t\t},\n\n\t\t'Owned value has js-path name' () {\n\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\t@ $mol_wire_solo\n\t\t\t\tstatic title() {\n\t\t\t\t\treturn new $mol_object2\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\t$mol_assert_equal( `${ App.title() }` , 'App.title<>' )\n\n\t\t} ,\n\n\t\t'Unsubscribe from temp pubs on complete' ($) {\n\n\t\t\tclass Random extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\n\t\t\t\t@ $mol_wire_method\n\t\t\t\tstatic seed() {\n\t\t\t\t\treturn Math.random()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t@ $mol_wire_solo\n\t\t\t\tstatic resets( next?: null ) {\n\t\t\t\t\treturn Math.random()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t@ $mol_wire_solo\n\t\t\t\tstatic value() {\n\t\t\t\t\tthis.resets()\n\t\t\t\t\treturn this.seed()\n\t\t\t\t}\n\n\t\t\t}\n\t\t\t\n\t\t\tconst first = Random.value()\n\t\t\t\n\t\t\tRandom.resets( null )\n\t\t\t$mol_assert_unique( Random.value(), first )\n\n\t\t} ,\n\n\t})\n}\n","namespace $ {\n\t$mol_test({\n\t\t\n\t\tasync 'Error caching' ($) {\n\t\t\tconst next_cached = 123\n\n\t\t\tclass Some extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\n\t\t\t\t@ $mol_wire_plex\n\t\t\t\tstatic data( id: string, next?: unknown): unknown {\n\t\t\t\t\tif (next) return next as never\n\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\t$mol_wire_async(this).data(id, next_cached)\n\t\t\t\t\t}, 10)\n\n\t\t\t\t\t$mol_fail_hidden(new Promise(() => {}))\n\t\t\t\t}\n\n\t\t\t\t@ $mol_wire_method\n\t\t\t\tstatic run() {\n\t\t\t\t\treturn this.data('1')\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tconst val = await $mol_wire_async(Some).run()\n\t\t\t$mol_assert_equal(val, next_cached)\n\t\t} ,\n\n\t\t'Memoize by single simple key' ($) {\n\n\t\t\tclass Team extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\n\t\t\t\t@ $mol_wire_plex\n\t\t\t\tstatic user_name( user: string , next?: string ) {\n\t\t\t\t\treturn next ?? user\n\t\t\t\t}\n\n\t\t\t\t@ $mol_wire_solo\n\t\t\t\tstatic user_names() {\n\t\t\t\t\treturn [\n\t\t\t\t\t\tthis.user_name( 'jin' ),\n\t\t\t\t\t\tthis.user_name( 'john' ),\n\t\t\t\t\t]\n\t\t\t\t}\n\n\t\t\t}\n\t\t\t\n\t\t\t$mol_assert_like( Team.user_names(), [ 'jin', 'john' ] )\n\t\t\t\n\t\t\tTeam.user_name( 'jin', 'JIN' )\n\t\t\t$mol_assert_like( Team.user_names(), [ 'JIN', 'john' ] )\n\n\t\t} ,\n\n\t\t'Memoize by single complex key' ($) {\n\n\t\t\tclass Map extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\n\t\t\t\t@ $mol_wire_plex\n\t\t\t\tstatic tile( pos: [ number, number ] ) {\n\t\t\t\t\treturn new String( `/tile=${pos}` )\n\t\t\t\t}\n\n\t\t\t\t@ $mol_wire_method\n\t\t\t\tstatic test() {\n\t\t\t\t\t\n\t\t\t\t\t$mol_assert_like( this.tile([0,1]), new String( '/tile=0,1' ) )\n\t\t\t\t\t$mol_assert_equal( this.tile([0,1]), this.tile([0,1]) )\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\n\t\t\tMap.test()\n\t\t} ,\n\n\t\t'Owned value has js-path name' () {\n\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\t@ $mol_wire_plex\n\t\t\t\tstatic like( friend: number ) {\n\t\t\t\t\treturn new $mol_object2\n\t\t\t\t}\n\n\t\t\t\t@ $mol_wire_plex\n\t\t\t\tstatic relation( [ friend, props ]: [ number, [ number ] ] ) {\n\t\t\t\t\treturn new $mol_object2\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\t$mol_assert_equal( `${ App.like(123) }` , 'App.like<123>' )\n\t\t\t$mol_assert_equal( `${ App.relation([123,[456]]) }` , 'App.relation<[123,[456]]>' )\n\n\t\t} ,\n\n\t\t'Deep deps' ($) {\n\n\t\t\tclass Fib extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\t\t\t\t\n\t\t\t\tstatic sums = 0\n\n\t\t\t\t@ $mol_wire_plex\n\t\t\t\tstatic value( index: number , next?: number ): number {\n\t\t\t\t\tif( next ) return next\n\t\t\t\t\tif( index < 2 ) return 1\n\t\t\t\t\t++ this.sums\n\t\t\t\t\treturn this.value( index - 1 ) + this.value( index - 2 )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\t$mol_assert_equal( Fib.value( 4 ), 5 )\n\t\t\t$mol_assert_equal( Fib.sums, 3 )\n\t\t\t\n\t\t\tFib.value( 1, 2 )\n\t\t\t$mol_assert_equal( Fib.value( 4 ), 8 )\n\t\t\t$mol_assert_equal( Fib.sums, 6 )\n\n\t\t} ,\n\n\t})\n}\n","namespace $ {\n\t$mol_test({\n\t\t\n\t\t'Previous value'() {\n\n\t\t\tclass Cache extends $mol_object2 {\n\n\t\t\t\t@ $mol_wire_solo\n\t\t\t\tstatic store( next?: Record< string, number > ): typeof next {\n\t\t\t\t\tif( !next ) return {}\n\t\t\t\t\treturn {\n\t\t\t\t\t\t... $mol_wire_probe( ()=> this.store() ) ?? {},\n\t\t\t\t\t\t... next,\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\t$mol_assert_like( Cache.store(), {} )\n\t\t\t\n\t\t\t$mol_assert_like( Cache.store({ foo: 666 }), { foo: 666 } )\n\t\t\t$mol_assert_like( Cache.store({ bar: 777 }), { foo: 666, bar: 777 } )\n\n\t\t} ,\n\t\t\n\t})\n}\n","namespace $ {\n\n\t$mol_test_mocks.push( $ => {\n\t\t$.$mol_after_frame = $mol_after_mock_commmon as any as typeof $mol_after_frame\n\t})\n\n}\n","/** @jsx $mol_jsx */\nnamespace $ {\n\t$mol_test({\n\t\t\n\t\t'Primitives'() {\n\t\t\t\n\t\t\t$mol_assert_equal( $mol_key( null ), 'null' )\n\t\t\t$mol_assert_equal( $mol_key( false ), 'false' )\n\t\t\t$mol_assert_equal( $mol_key( true ), 'true' )\n\t\t\t$mol_assert_equal( $mol_key( 0 ), '0' )\n\t\t\t$mol_assert_equal( $mol_key( 1n<<64n ), '18446744073709551616n' )\n\t\t\t$mol_assert_equal( $mol_key( '' ), '\"\"' )\n\t\t\t\n\t\t},\n\t\t\n\t\t'Array & POJO'() {\n\t\t\t\n\t\t\t$mol_assert_equal( $mol_key([ null ]), '[null]' )\n\t\t\t$mol_assert_equal( $mol_key({ foo: 0 }), '{\"foo\":0}' )\n\t\t\t$mol_assert_equal( $mol_key({ foo: [false] }), '{\"foo\":[false]}' )\n\t\t\t\n\t\t},\n\t\t\n\t\t'Uint8Array'() {\n\t\t\t\n\t\t\t$mol_assert_equal( $mol_key( new Uint8Array([ 1, 2 ]) ), '[1,2]' )\n\t\t\t$mol_assert_equal( $mol_key([ new Uint8Array([ 1, 2 ]) ]), '[[1,2]]' )\n\t\t\t$mol_assert_equal( $mol_key({ foo: new Uint8Array([ 1, 2 ]) }), '{\"foo\":[1,2]}' )\n\t\t\t\n\t\t},\n\t\t\n\t\t'Function'() {\n\t\t\t\n\t\t\tconst func = ()=> {}\n\t\t\t$mol_assert_equal( $mol_key( func ), $mol_key( func ) )\n\t\t\t$mol_assert_unique( $mol_key( func ), $mol_key( ()=> {} ) )\n\t\t\t\n\t\t},\n\t\t\n\t\t'Objects'() {\n\t\t\t\n\t\t\tclass User {}\n\t\t\tconst jin = new User()\n\t\t\t\n\t\t\t$mol_assert_equal( $mol_key( jin ), $mol_key( jin ) )\n\t\t\t$mol_assert_unique( $mol_key( jin ), $mol_key( new User() ) )\n\t\t\t\n\t\t},\n\t\t\n\t\t'Elements'() {\n\t\t\t\n\t\t\tconst foo = <div>bar</div>\n\t\t\t\n\t\t\t$mol_assert_equal( $mol_key( foo ), $mol_key( foo ) )\n\t\t\t$mol_assert_unique( $mol_key( foo ), $mol_key( <div>bar</div> ) )\n\t\t\t\n\t\t},\n\t\t\n\t\t'Custom JSON representation'() {\n\t\t\t\n\t\t\tclass User {\n\t\t\t\tconstructor( public name: string, public age: number ) {}\n\t\t\t\ttoJSON() { return { name: this.name } }\n\t\t\t}\n\t\t\t\n\t\t\t$mol_assert_equal( $mol_key( new User( 'jin', 18 ) ), '{\"name\":\"jin\"}' )\n\t\t\t\n\t\t},\n\t\t\n\t\t'Special native classes'() {\n\t\t\t\n\t\t\t$mol_assert_equal( $mol_key( new Date( 'xyz' ) ), 'null' )\n\t\t\t$mol_assert_equal( $mol_key( new Date( '2001-01-02T03:04:05.678Z' ) ), '\"2001-01-02T03:04:05.678Z\"' )\n\t\t\t\n\t\t\t$mol_assert_equal( $mol_key( /./ ), '\"/./\"' )\n\t\t\t$mol_assert_equal( $mol_key( /\\./gimsu ), '\"/\\\\\\\\./gimsu\"' )\n\t\t\t\n\t\t},\n\t\t\n\t})\n}\n","namespace $ {\n\t$mol_test({\n\t\t\n\t\t'return result without errors'() {\n\t\t\t\n\t\t\t$mol_assert_equal( $mol_try( ()=> false ) , false )\n\t\t\t\n\t\t} ,\n\t\t\n\t\t//'return error if thrown'() {\n\t\t//\t\n\t\t//\tconst error = new Error( '$mol_try test error' )\n\t\t//\t$mol_assert_equal( $mol_try( ()=> { throw error } ) , error )\n\t\t//\t\n\t\t//} ,\n\t\t\n\t})\t\n}\n","namespace $ {\n\t$mol_test_mocks.push( $=> $.$mol_fail_log = ()=> false )\n}\n\n","namespace $ {\n\t\n\t/** Watch and logs reactive states. Logger automatically added to test bundle which is adding to `test.html`. */\n\texport class $mol_wire_log extends $mol_object2 {\n\t\t\n\t\t@ $mol_mem\n\t\tstatic watch( task?: ()=> any ) {\n\t\t\treturn task\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic track( fiber: $mol_wire_fiber< any, any, any > ) {\n\t\t\t\n\t\t\tconst prev = $mol_wire_probe( ()=> this.track( fiber ) )\n\t\t\tlet next: any\n\t\t\t\n\t\t\ttry {\n\t\t\t\tnext = fiber.sync()\n\t\t\t} finally {\n\t\t\t\t\n\t\t\t\tfor( const pub of fiber.pub_list ) {\n\t\t\t\t\tif( pub instanceof $mol_wire_fiber ) {\n\t\t\t\t\t\tthis.track( pub )\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tif( fiber.host === this ) return next\n\t\t\t\n\t\t\tif( $mol_compare_deep( prev, next ) ) {\n\t\t\t\t\n\t\t\t\tthis.$.$mol_log3_rise({\n\t\t\t\t\tmessage: '💧 Same',\n\t\t\t\t\tplace: fiber,\n\t\t\t\t})\n\t\t\t\t\n\t\t\t} else if( prev !== undefined ) {\n\t\t\t\t\n\t\t\t\tthis.$.$mol_log3_rise({\n\t\t\t\t\tmessage: '🔥 Next',\n\t\t\t\t\tplace: fiber,\n\t\t\t\t\tprev,\n\t\t\t\t})\n\t\t\t\t\n\t\t\t}\n\t\t\n\t\t\treturn next\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tstatic active() {\n\t\t\t\n\t\t\ttry {\n\t\t\t\tthis.watch()?.()\n\t\t\t} catch( error ) {\n\t\t\t\t$mol_fail_log( error )\n\t\t\t} finally {\n\t\t\t\tfor( const pub of ( $mol_wire_auto() as $mol_wire_fiber< any, any, any > ).pub_list ) {\n\t\t\t\t\tif( pub instanceof $mol_wire_fiber ) {\n\t\t\t\t\t\tthis.track( pub )\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\t$mol_wire_log.active()\n\n}\n","namespace $ {\n\n\t/** State of arguments like `#foo=bar/xxx` or `?foo=bar&xxx` */\n\texport class $mol_state_arg extends $mol_object {\n\t\t\n\t\t@ $mol_mem\n\t\tstatic href( next?: string ) {\n\t\t\t\n\t\t\tif( next === undefined ) {\n\t\t\t\t\n\t\t\t\tnext = $mol_dom.location.href\n\t\t\t\t\n\t\t\t} else if( !/^about:srcdoc/.test( next ) ) {\n\t\t\t\t\n\t\t\t\tnew $mol_after_frame( ()=> {\n\t\t\t\t\t\n\t\t\t\t\tconst next = this.href()\n\t\t\t\t\tconst prev = $mol_dom.location.href\n\t\t\t\t\tif( next === prev ) return\n\t\t\t\t\t\n\t\t\t\t\tconst history = $mol_dom.history\n\t\t\t\t\thistory.replaceState( history.state, $mol_dom.document.title, next )\n\t\t\t\t\t\n\t\t\t\t} )\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tif( $mol_dom.parent && ( $mol_dom.parent !== $mol_dom.self ) ) {\n\t\t\t\t$mol_dom.parent.postMessage( [ 'hashchange', next ], '*' )\n\t\t\t}\n\t\t\t\n\t\t\treturn next\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tstatic href_normal(): string {\n\t\t\treturn this.link({})\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tstatic href_absolute(): string {\n\t\t\treturn new URL( this.href(), $mol_dom.location.href ).toString()\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tstatic dict( next? : { [ key : string ] : string | null } ) {\n\t\t\t\n\t\t\tvar href = this.href( next && this.make_link( next ) ).split( /#!?/ )[1] || ''\n\t\t\tvar chunks = href.split( this.separator )\n\t\t\t\n\t\t\tvar params : { [ key : string ] : string } = {}\n\t\t\tchunks.forEach(\n\t\t\t\tchunk => {\n\t\t\t\t\tif( !chunk ) return\n\t\t\t\t\tvar vals = chunk.split( '=' ).map( decodeURIComponent )\n\t\t\t\t\tparams[ vals.shift()! ] = vals.join( '=' )\n\t\t\t\t}\n\t\t\t)\n\t\t\t\n\t\t\treturn params as Readonly< typeof params >\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tstatic dict_cut( except : string[] ) {\n\t\t\t\n\t\t\tconst dict = this.dict()\n\t\t\tconst cut : { [ key : string ] : string } = {}\n\t\t\t\n\t\t\tfor( const key in dict ) {\n\t\t\t\tif( except.indexOf( key ) >= 0 ) break\n\t\t\t\tcut[ key ] = dict[ key ]\n\t\t\t}\n\t\t\t\n\t\t\treturn cut\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic value( key : string , next? : string | null ) {\n\t\t\tconst nextDict = ( next === void 0 ) ? void 0 : { ... this.dict() , [ key ] : next }\n\t\t\tconst next2 = this.dict( nextDict )[ key ]\n\t\t\treturn ( next2 == null ) ? null : next2\n\t\t}\n\t\t\n\t\tstatic link( next : Record<string, string | null> ) {\n\t\t\treturn this.make_link({\n\t\t\t\t... this.dict_cut( Object.keys( next ) ),\n\t\t\t\t... next,\n\t\t\t})\n\t\t}\n\t\t\n\t\tstatic prolog = '!'\n\t\tstatic separator = '/'\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic make_link( next : { [ key : string ] : string | null } ) {\n\t\t\tconst chunks : string[] = []\n\t\t\tfor( let key in next ) {\n\t\t\t\tif( null == next[ key ] ) continue\n\t\t\t\tconst val = next[ key ]\n\t\t\t\tchunks.push( [ key ].concat( val ? [ val ] : [] ).map( this.encode ).join( '=' ) )\n\t\t\t}\n\t\t\t\n\t\t\treturn new URL( '#' + this.prolog + chunks.join( this.separator ) , this.href_absolute() ).toString()\n\t\t}\n\n\t\t@ $mol_action\n\t\tstatic commit() {\n\t\t\t$mol_dom.history.pushState(\n\t\t\t\t$mol_dom.history.state,\n\t\t\t\t$mol_dom.document.title,\n\t\t\t\tthis.href(),\n\t\t\t)\n\t\t}\n\t\t\n\n\t\t@ $mol_action\n\t\tstatic go( next : { [ key : string ] : string | null } ) {\n\t\t\t$mol_dom.location.href = this.link( next )\n\t\t}\n\t\t\n\t\tstatic encode( str : string ) {\n\t\t\treturn encodeURIComponent( str ).replace( /\\(/g , '%28' ).replace( /\\)/g , '%29' )\n\t\t}\n\t\t\n\t\tconstructor( public prefix = '' ) {\n\t\t\tsuper()\n\t\t}\n\t\t\n\t\tvalue( key : string , next? : string ) {\n\t\t\treturn ( this.constructor as typeof $mol_state_arg ).value( this.prefix + key , next )\n\t\t}\n\t\t\n\t\tsub( postfix : string ) {\n\t\t\treturn new ( this.constructor as typeof $mol_state_arg )( this.prefix + postfix + '.' )\n\t\t}\n\t\t\n\t\tlink( next : Record<string, string | null> ) {\n\t\t\tvar prefix = this.prefix\n\t\t\tvar dict : typeof next = {}\n\t\t\tfor( var key in next ) {\n\t\t\t\tdict[ prefix + key ] = next[ key ]\n\t\t\t}\n\t\t\treturn ( this.constructor as typeof $mol_state_arg ).link( dict )\n\t\t}\n\t\t\n\t}\n\n\tfunction $mol_state_arg_change( ) {\n\t\t$mol_state_arg.href( $mol_dom.location.href )\n\t}\n\n\tself.addEventListener( 'hashchange' , $mol_state_arg_change )\n\t\n}\n","namespace $ {\n\n\t$mol_test_mocks.push( context => {\n\t\tclass $mol_state_arg_mock extends $mol_state_arg {\n\n\t\t\tstatic $ = context\n\t\t\t\t\t\t\n\t\t\t@ $mol_mem\n\t\t\tstatic href( next? : string ) { return next || '' }\n\t\n\t\t\t@ $mol_action\n\t\t\tstatic go( next : { [ key : string ] : string | null } ) {\n\t\t\t\tthis.href( this.link( next ) )\n\t\t\t}\n\n\t\t}\n\t\tcontext.$mol_state_arg = $mol_state_arg_mock\n\t} )\n\n\t$mol_test({\n\t\t\n\t\t'args as dictionary'( $ ) {\n\t\t\t\n\t\t\t$.$mol_state_arg.href( '#!foo=bar/xxx' )\n\t\t\t$mol_assert_equal( $.$mol_state_arg.dict() , { foo : 'bar' , xxx : '' } )\n\n\t\t\t$.$mol_state_arg.dict({ foo : null , yyy : '' , lol : '123' })\n\t\t\t$mol_assert_equal( $.$mol_state_arg.href().replace( /.*#/ , '#' ) , '#!yyy/lol=123' )\n\n\t\t} ,\n\n\t\t'one value from args'( $ ) {\n\t\t\t\n\t\t\t$.$mol_state_arg.href( '#!foo=bar/xxx' )\n\t\t\t$mol_assert_equal( $.$mol_state_arg.value( 'foo' ) , 'bar' )\n\t\t\t$mol_assert_equal( $.$mol_state_arg.value( 'xxx' ) , '' )\n\n\t\t\t$.$mol_state_arg.value( 'foo' , 'lol' )\n\t\t\t$mol_assert_equal( $.$mol_state_arg.href().replace( /.*#/ , '#' ) , '#!foo=lol/xxx' )\n\n\t\t\t$.$mol_state_arg.value( 'foo' , '' )\n\t\t\t$mol_assert_equal( $.$mol_state_arg.href().replace( /.*#/ , '#' ) , '#!foo/xxx' )\n\n\t\t\t$.$mol_state_arg.value( 'foo' , null )\n\t\t\t$mol_assert_equal( $.$mol_state_arg.href().replace( /.*#/ , '#' ) , '#!xxx' )\n\n\t\t} ,\n\n\t\t'nested args'( $ ) {\n\n\t\t\tconst base = new $.$mol_state_arg( 'nested.' )\n\n\t\t\tclass Nested extends $mol_state_arg {\n\t\t\t\tconstructor( prefix : string ) {\n\t\t\t\t\tsuper( base.prefix + prefix )\n\t\t\t\t}\n\t\t\t\tstatic value = ( key : string , next? : string )=> base.value( key , next )\n\t\t\t}\n\t\t\t\n\t\t\t$.$mol_state_arg.href( '#!foo=bar/nested.xxx=123' )\n\t\t\t$mol_assert_equal( Nested.value( 'foo' ) , null )\n\t\t\t$mol_assert_equal( Nested.value( 'xxx' ) , '123' )\n\n\t\t\tNested.value( 'foo' , 'lol' )\n\t\t\t$mol_assert_equal( $.$mol_state_arg.href().replace( /.*#/ , '#' ) , '#!foo=bar/nested.xxx=123/nested.foo=lol' )\n\n\t\t} ,\n\n\t})\n\t\n}\n","namespace $ {\n\t\n\texport class $mol_media extends $mol_object2 {\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic match( query: string, next?: boolean ) {\n\t\t\t\n\t\t\tif( next !== undefined ) return next\n\t\t\t\n\t\t\tconst res = this.$.$mol_dom_context.matchMedia?.( query ) ?? {}\n\t\t\tres.onchange = ()=> this.match( query, res.matches )\n\t\t\t\n\t\t\treturn res.matches\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t$mol_test( {\n\t\t\n\t\t'local get set delete'() {\n\t\t\t\t\t\n\t\t\tvar key = '$mol_state_local_test:' + Math.random()\n\t\t\t$mol_assert_equal( $mol_state_local.value( key ) , null )\n\t\t\t\n\t\t\t$mol_state_local.value( key , 123 )\n\t\t\t$mol_assert_equal( $mol_state_local.value( key ) , 123 )\n\t\t\t\n\t\t\t$mol_state_local.value( key , null )\n\t\t\t$mol_assert_equal( $mol_state_local.value( key ) , null )\n\t\t} ,\n\t\t\n\t} )\n}\n","namespace $ {\n\n\t$mol_test_mocks.push( context => {\n\t\tclass $mol_state_local_mock< Value > extends $mol_state_local< Value > {\n\n\t\t\tstatic state = {} as Record< string , any >\n\t\t\t\t\t\t\n\t\t\t@ $mol_mem_key\n\t\t\tstatic value< Value >(\n\t\t\t\tkey : string ,\n\t\t\t\tnext = this.state[ key ] as Value ,\n\t\t\t) {\n\t\t\t\treturn this.state[ key ] = ( next || null )\n\t\t\t}\n\n\t\t}\n\t\tcontext.$mol_state_local = $mol_state_local_mock\n\t} )\n\t\n}\n","namespace $ {\n\t\n\tfunction parse( theme: string | null ) {\n\t\tif( theme === 'true' ) return true\n\t\tif( theme === 'false' ) return false\n\t\treturn null\n\t}\n\t\n\t/**\n\t * Switcher between light/dark themes (usually for `mol_theme_auto` plugin).\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_lights_demo\n\t */\n\texport function $mol_lights( this : $ , next? : boolean ) {\n\t\t\n\t\tconst arg = parse( this.$mol_state_arg.value( 'mol_lights' ) )\n\t\t\n\t\tconst base = this.$mol_media.match( '(prefers-color-scheme: light)' )\n\t\t\n\t\tif( next === undefined ) {\n\t\t\treturn arg ?? this.$mol_state_local.value< boolean >( '$mol_lights' ) ?? base\n\t\t} else {\n\t\t\tif( arg === null ) {\n\t\t\t\tthis.$mol_state_local.value( '$mol_lights' , next === base ? null : next )\n\t\t\t} else {\n\t\t\t\tthis.$mol_state_arg.value( 'mol_lights' , String( next ) )\n\t\t\t}\n\t\t\treturn next\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\n\t/**\n\t * Theme css variables\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_textarea_demo\n\t */\t\n\texport const $mol_theme = $mol_style_prop(\n\t\t'mol_theme',\n\t\t[\n\t\t\t'back',\n\t\t\t'hover',\n\t\t\t'card',\n\t\t\t'current',\n\t\t\t'special',\n\t\t\t'text',\n\t\t\t'control',\n\t\t\t'shade',\n\t\t\t'line',\n\t\t\t'focus',\n\t\t\t'field',\n\t\t\t'image',\n\t\t\t'spirit',\n\t\t] as const\n\t)\n\n}\n","namespace $ { $mol_style_attach( \"mol/theme/theme.css\",\n \":root {\\n\\t--mol_theme_hue: 240deg;\\n\\t--mol_theme_hue_spread: 90deg;\\n\\tcolor-scheme: dark light;\\n}\\n\\n:where([mol_theme]) {\\n\\tcolor: var(--mol_theme_text);\\n\\tfill: var(--mol_theme_text);\\n\\tbackground-color: var(--mol_theme_back);\\n}\\n\\t\\n:root, [mol_theme=\\\"$mol_theme_dark\\\"], :where([mol_theme=\\\"$mol_theme_dark\\\"]) [mol_theme] {\\n\\n\\t--mol_theme_luma: -1;\\n\\t--mol_theme_image: invert(1) hue-rotate( 180deg );\\n\\t--mol_theme_spirit: hsl( 0deg, 0%, 0%, .75 );\\n\\n\\t--mol_theme_back: hsl( var(--mol_theme_hue), 20%, 10% );\\n\\t--mol_theme_card: hsl( var(--mol_theme_hue), 50%, 20%, .25 );\\n\\t--mol_theme_field: hsl( var(--mol_theme_hue), 50%, 8%, .25 );\\n\\t--mol_theme_hover: hsl( var(--mol_theme_hue), 0%, 50%, .1 );\\n\\t\\n\\t--mol_theme_text: hsl( var(--mol_theme_hue), 0%, 80% );\\n\\t--mol_theme_shade: hsl( var(--mol_theme_hue), 0%, 60%, 1 );\\n\\t--mol_theme_line: hsl( var(--mol_theme_hue), 0%, 50%, .25 );\\n\\t--mol_theme_focus: hsl( calc( var(--mol_theme_hue) + 180deg ), 100%, 65% );\\n\\t\\n\\t--mol_theme_control: hsl( var(--mol_theme_hue), 60%, 65% );\\n\\t--mol_theme_current: hsl( calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ), 60%, 65% );\\n\\t--mol_theme_special: hsl( calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ), 60%, 65% );\\n\\n} @supports( color: oklch( 0% 0 0deg ) ) {\\n:root, [mol_theme=\\\"$mol_theme_dark\\\"], :where([mol_theme=\\\"$mol_theme_dark\\\"]) [mol_theme] {\\n\\t\\n\\t--mol_theme_back: oklch( 20% .03 var(--mol_theme_hue) );\\n\\t--mol_theme_card: oklch( 30% .05 var(--mol_theme_hue) / .25 );\\n\\t--mol_theme_field: oklch( 15% 0 var(--mol_theme_hue) / .25 );\\n\\t--mol_theme_hover: oklch( 70% 0 var(--mol_theme_hue) / .1 );\\n\\t\\n\\t--mol_theme_text: oklch( 80% 0 var(--mol_theme_hue) );\\n\\t--mol_theme_shade: oklch( 60% 0 var(--mol_theme_hue) );\\n\\t--mol_theme_line: oklch( 60% 0 var(--mol_theme_hue) / .25 );\\n\\t--mol_theme_focus: oklch( 80% .2 calc( var(--mol_theme_hue) + 180deg ) );\\n\\t\\n\\t--mol_theme_control: oklch( 70% .1 var(--mol_theme_hue) );\\n\\t--mol_theme_current: oklch( 70% .2 calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ) );\\n\\t--mol_theme_special: oklch( 70% .2 calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ) );\\n\\n} }\\n\\n[mol_theme=\\\"$mol_theme_light\\\"], :where([mol_theme=\\\"$mol_theme_light\\\"]) [mol_theme] {\\n\\t\\n\\t--mol_theme_luma: 1;\\n\\t--mol_theme_image: none;\\n\\t--mol_theme_spirit: hsl( 0deg, 0%, 100%, .75 );\\n\\t\\n\\t--mol_theme_back: hsl( var(--mol_theme_hue), 20%, 92% );\\n\\t--mol_theme_card: hsl( var(--mol_theme_hue), 50%, 100%, .5 );\\n\\t--mol_theme_field: hsl( var(--mol_theme_hue), 50%, 100%, .75 );\\n\\t--mol_theme_hover: hsl( var(--mol_theme_hue), 0%, 50%, .1 );\\n\\t\\n\\t--mol_theme_text: hsl( var(--mol_theme_hue), 0%, 0% );\\n\\t--mol_theme_shade: hsl( var(--mol_theme_hue), 0%, 40%, 1 );\\n\\t--mol_theme_line: hsl( var(--mol_theme_hue), 0%, 50%, .25 );\\n\\t--mol_theme_focus: hsl( calc( var(--mol_theme_hue) + 180deg ), 100%, 40% );\\n\\t\\n\\t--mol_theme_control: hsl( var(--mol_theme_hue), 80%, 30% );\\n\\t--mol_theme_current: hsl( calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ), 80%, 30% );\\n\\t--mol_theme_special: hsl( calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ), 80%, 30% );\\n\\n} @supports( color: oklch( 0% 0 0deg ) ) {\\n[mol_theme=\\\"$mol_theme_light\\\"], :where([mol_theme=\\\"$mol_theme_light\\\"]) [mol_theme] {\\n\\t--mol_theme_back: oklch( 92% .01 var(--mol_theme_hue) );\\n\\t--mol_theme_card: oklch( 99% .01 var(--mol_theme_hue) / .5 );\\n\\t--mol_theme_field: oklch( 100% 0 var(--mol_theme_hue) / .5 );\\n\\t--mol_theme_hover: oklch( 50% 0 var(--mol_theme_hue) / .1 );\\n\\t\\n\\t--mol_theme_text: oklch( 20% 0 var(--mol_theme_hue) );\\n\\t--mol_theme_shade: oklch( 60% 0 var(--mol_theme_hue) );\\n\\t--mol_theme_line: oklch( 50% 0 var(--mol_theme_hue) / .25 );\\n\\t--mol_theme_focus: oklch( 60% .2 calc( var(--mol_theme_hue) + 180deg ) );\\n\\t\\n\\t--mol_theme_control: oklch( 40% .15 var(--mol_theme_hue) );\\n\\t--mol_theme_current: oklch( 50% .2 calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ) );\\n\\t--mol_theme_special: oklch( 50% .2 calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ) );\\n\\n} }\\n\\n:where( :root, [mol_theme=\\\"$mol_theme_dark\\\"] ) [mol_theme=\\\"$mol_theme_base\\\"] {\\n\\t--mol_theme_back: oklch( 25% .075 var(--mol_theme_hue) );\\n\\t--mol_theme_card: oklch( 35% .1 var(--mol_theme_hue) / .25 );\\n}\\n:where( [mol_theme=\\\"$mol_theme_light\\\"] ) [mol_theme=\\\"$mol_theme_base\\\"] {\\n\\t--mol_theme_back: oklch( 85% .075 var(--mol_theme_hue) );\\n\\t--mol_theme_card: oklch( 98% .03 var(--mol_theme_hue) / .25 );\\n}\\n\\n:where( :root, [mol_theme=\\\"$mol_theme_dark\\\"] ) [mol_theme=\\\"$mol_theme_current\\\"] {\\n\\t--mol_theme_back: oklch( 25% .05 calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ) );\\n\\t--mol_theme_card: oklch( 35% .1 calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ) / .25 );\\n}\\n:where( [mol_theme=\\\"$mol_theme_light\\\"] ) [mol_theme=\\\"$mol_theme_current\\\"] {\\n\\t--mol_theme_back: oklch( 85% .05 calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ) );\\n\\t--mol_theme_card: oklch( 98% .03 calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ) / .25 );\\n}\\n\\n:where( :root, [mol_theme=\\\"$mol_theme_dark\\\"] ) [mol_theme=\\\"$mol_theme_special\\\"] {\\n\\t--mol_theme_back: oklch( 25% .05 calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ) );\\n\\t--mol_theme_card: oklch( 35% .1 calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ) / .25 );\\n}\\n:where( [mol_theme=\\\"$mol_theme_light\\\"] ) [mol_theme=\\\"$mol_theme_special\\\"] {\\n\\t--mol_theme_back: oklch( 85% .05 calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ) );\\n\\t--mol_theme_card: oklch( 98% .03 calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ) / .25 );\\n}\\n\\n:where( :root, [mol_theme=\\\"$mol_theme_dark\\\"] ) [mol_theme=\\\"$mol_theme_accent\\\"] {\\n\\t--mol_theme_back: oklch( 35% .1 calc( var(--mol_theme_hue) + 180deg ) );\\n\\t--mol_theme_card: oklch( 45% .15 calc( var(--mol_theme_hue) + 180deg ) / .25 );\\n}\\n:where( [mol_theme=\\\"$mol_theme_light\\\"] ) [mol_theme=\\\"$mol_theme_accent\\\"] {\\n\\t--mol_theme_back: oklch( 83% .1 calc( var(--mol_theme_hue) + 180deg ) );\\n\\t--mol_theme_card: oklch( 98% .03 calc( var(--mol_theme_hue) + 180deg ) / .25 );\\n}\\n\\n\"\n) }","namespace $ {\n\t$mol_style_attach( '$mol_theme_lights', `:root { --mol_theme_back: oklch( ${ $$.$mol_lights() ? 92 : 20 }% .01 var(--mol_theme_hue) ) }` )\n}\n","namespace $ {\n\n\t/**\n\t * Gap in CSS\n\t * @see https://page.hyoo.ru/#!=msdb74_bm7nsq\n\t */\n\texport let $mol_gap = $mol_style_prop(\n\t\t'mol_gap',\n\t\t[\n\t\t\t'block',\n\t\t\t'text',\n\t\t\t'round',\n\t\t\t'space',\n\t\t\t'blur',\n\t\t] as const\n\t)\n\n}\n","namespace $ { $mol_style_attach( \"mol/gap/gap.css\",\n \":root {\\n\\t--mol_gap_block: .75rem;\\n\\t--mol_gap_text: .5rem .75rem;\\n\\t--mol_gap_round: .25rem;\\n\\t--mol_gap_space: .25rem;\\n\\t--mol_gap_blur: .5rem;\\n}\\n\"\n) }","namespace $ {\n\t\n\texport class $mol_window extends $mol_object {\n\t\t\n\t\t@ $mol_mem\n\t\tstatic size() {\n\t\t\tthis.resizes()\n\t\t\treturn {\n\t\t\t\twidth: self.innerWidth,\n\t\t\t\theight: self.innerHeight,\n\t\t\t}\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tstatic resizes( next?: Event ) { return next }\n\t\t\n\t}\n\n\tself.addEventListener( 'resize', event => $mol_window.resizes( event ) )\n\t\n}\n","namespace $ {\n\t\n\texport class $mol_view_selection extends $mol_object {\n\t\t\n\t\t@ $mol_mem\n\t\tstatic focused( next? : Element[], notify?: 'notify' ) : Element[] {\n\t\t\t\n\t\t\tconst parents : Element[] = []\n\t\t\tlet element = next?.[0] ?? $mol_dom_context.document.activeElement\n\t\t\twhile( element?.shadowRoot ) {\n\t\t\t\telement = element!.shadowRoot.activeElement\n\t\t\t}\n\t\t\t\n\t\t\twhile( element ) {\n\t\t\t\tparents.push( element )\n\t\t\t\tconst parent = element.parentNode\n\t\t\t\tif( parent instanceof ShadowRoot ) element = parent.host\n\t\t\t\telse element = parent as HTMLElement\n\t\t\t}\n\t\t\t\n\t\t\tif( !next || notify ) return parents\n\t\t\t\n\t\t\tnew $mol_after_tick( ()=> {\n\t\t\t\t\n\t\t\t\tconst element = this.focused()![0] as HTMLElement\n\t\t\t\t\n\t\t\t\tif( element ) element.focus()\n\t\t\t\telse $mol_dom_context.blur()\n\t\t\t\t\n\t\t\t} )\n\n\t\t\treturn parents\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t/**\n\t* Key names code for hotkey\n\t* @see [mol_hotkey](../../hotkey/hotkey.view.ts)\n\t*/\n\texport enum $mol_keyboard_code {\n\t\tbackspace = 8,\n\t\ttab = 9,\n\t\tenter = 13,\n\t\tshift = 16,\n\t\tctrl = 17,\n\t\talt = 18,\n\t\tpause = 19,\n\t\tcapsLock = 20,\n\t\tescape = 27,\n\t\tspace = 32,\n\t\tpageUp = 33,\n\t\tpageDown = 34,\n\t\tend = 35,\n\t\thome = 36,\n\t\tleft = 37,\n\t\tup = 38,\n\t\tright = 39,\n\t\tdown = 40,\n\t\tinsert = 45,\n\t\tdelete = 46,\n\t\tkey0 = 48,\n\t\tkey1 = 49,\n\t\tkey2 = 50,\n\t\tkey3 = 51,\n\t\tkey4 = 52,\n\t\tkey5 = 53,\n\t\tkey6 = 54,\n\t\tkey7 = 55,\n\t\tkey8 = 56,\n\t\tkey9 = 57,\n\t\tA = 65,\n\t\tB = 66,\n\t\tC = 67,\n\t\tD = 68,\n\t\tE = 69,\n\t\tF = 70,\n\t\tG = 71,\n\t\tH = 72,\n\t\tI = 73,\n\t\tJ = 74,\n\t\tK = 75,\n\t\tL = 76,\n\t\tM = 77,\n\t\tN = 78,\n\t\tO = 79,\n\t\tP = 80,\n\t\tQ = 81,\n\t\tR = 82,\n\t\tS = 83,\n\t\tT = 84,\n\t\tU = 85,\n\t\tV = 86,\n\t\tW = 87,\n\t\tX = 88,\n\t\tY = 89,\n\t\tZ = 90,\n\t\tmetaLeft = 91,\n\t\tmetaRight = 92,\n\t\tselect = 93,\n\t\tnumpad0 = 96,\n\t\tnumpad1 = 97,\n\t\tnumpad2 = 98,\n\t\tnumpad3 = 99,\n\t\tnumpad4 = 100,\n\t\tnumpad5 = 101,\n\t\tnumpad6 = 102,\n\t\tnumpad7 = 103,\n\t\tnumpad8 = 104,\n\t\tnumpad9 = 105,\n\t\tmultiply = 106,\n\t\tadd = 107,\n\t\tsubtract = 109,\n\t\tdecimal = 110,\n\t\tdivide = 111,\n\t\tF1 = 112,\n\t\tF2 = 113,\n\t\tF3 = 114,\n\t\tF4 = 115,\n\t\tF5 = 116,\n\t\tF6 = 117,\n\t\tF7 = 118,\n\t\tF8 = 119,\n\t\tF9 = 120,\n\t\tF10 = 121,\n\t\tF11 = 122,\n\t\tF12 = 123,\n\t\tnumLock = 144,\n\t\tscrollLock = 145,\n\t\tsemicolon = 186,\n\t\tequals = 187,\n\t\tcomma = 188,\n\t\tdash = 189,\n\t\tperiod = 190,\n\t\tforwardSlash = 191,\n\t\tgraveAccent = 192,\n\t\tbracketOpen = 219,\n\t\tslashBack = 220,\n\t\tslashBackLeft = 226,\n\t\tbracketClose = 221,\n\t\tquoteSingle = 222\n\t}\n}\n","namespace $ {\n\t\n\tif( $mol_dom_context.document ) {\n\t\t\n\t\tfunction focus( event: Event ) {\n\t\t\t\n\t\t\tconst target = event.target as HTMLElement\n\t\t\t\n\t\t\tif( target?.shadowRoot ) watch( target!.shadowRoot )\n\t\t\t\n\t\t\t$mol_view_selection.focused( $mol_maybe( target ), 'notify' )\n\t\t\t\n\t\t}\n\t\t\n\t\tfunction watch( root: Document | ShadowRoot ) {\n\t\t\t\n\t\t\t\n\t\t\troot.removeEventListener( 'focus', focus, true )\n\t\t\troot.addEventListener( 'focus', focus, true )\n\t\t\t\n\t\t}\n\t\t\n\t\twatch( $mol_dom_context.document )\n\t\t\n\t\t$mol_dom.document.addEventListener( 'keydown', event => {\n\t\t\t\n\t\t\tif( !event.altKey ) return\n\t\t\t\n\t\t\tconst self = $mol_view_selection.focused()[0]\n\t\t\tif( !self ) return\n\t\t\t\n\t\t\tswitch( event.keyCode ) {\n\t\t\t\tcase $mol_keyboard_code.down: var vert = 1, hor = 0; break\n\t\t\t\tcase $mol_keyboard_code.up: var vert = -1, hor = 0; break\n\t\t\t\tcase $mol_keyboard_code.left: var hor = -1, vert = 0; break\n\t\t\t\tcase $mol_keyboard_code.right: var hor = 1, vert = 0; break\n\t\t\t\tdefault: return\n\t\t\t}\n\t\t\t\n\t\t\tevent.preventDefault()\n\t\t\t\n\t\t\tconst self_rect = self.getBoundingClientRect()\n\t\t\tconst center_hor = ( self_rect.left + self_rect.right ) / 2\n\t\t\tconst center_vert = ( self_rect.top + self_rect.bottom ) / 2\n\t\t\t\n\t\t\tconst all = [ ... $mol_dom.document.querySelectorAll( ':where( [role=\"button\"], [role=\"checkbox\"], input, button, a ):not([disabled])' ) ]\n\t\t\t\t.map( el => {\n\t\t\t\t\tconst rect = el.getBoundingClientRect()\n\t\t\t\t\tconst dist = ( Math.max( 0, center_hor - rect.right ) + Math.max( 0, rect.left - center_hor ) ) * vert * vert\n\t\t\t\t\t\t+ ( Math.max( 0, center_vert - rect.bottom ) + Math.max( 0, rect.top - center_vert ) ) * hor * hor\n\t\t\t\t\treturn [ el, rect, dist ] as const\n\t\t\t\t} )\n\t\t\t\t.filter( ([ el, rect ])=> {\n\t\t\t\t\tif( el === self ) return false\n\t\t\t\t\tif( vert > 0 && rect.top < self_rect.bottom ) return false\n\t\t\t\t\tif( vert < 0 && rect.bottom > self_rect.top ) return false\n\t\t\t\t\tif( hor > 0 && rect.left < self_rect.right ) return false\n\t\t\t\t\tif( hor < 0 && rect.right > self_rect.left ) return false\n\t\t\t\t\treturn true\n\t\t\t\t} )\n\t\t\t\t.sort( ( [, one, dist1 ], [, two, dist2 ] )=> {\n\t\t\t\t\treturn ( dist1 - dist2 ) || ( ( one.top - two.top ) * vert + ( one.left - two.left ) * hor )\n\t\t\t\t} )\n\t\t\t\n\t\t\tconst target = all[0]?.[0] as HTMLElement | undefined\n\t\t\ttarget?.focus()\n\t\t\t\n\t\t} )\n\n\t}\n\t\n}\n","namespace $ {\n\n\texport class $mol_wrapper extends $mol_object2 {\n\n\t\tstatic wrap : ( task : ( ... ags : any[] )=> any )=> ( ... ags : any[] )=> any\n\t\t\n\t\tstatic run< Result >( task : ()=> Result ) : Result {\n\t\t\treturn this.func( task )()\n\t\t}\n\t\n\t\tstatic func< Args extends any[] , Result , Host = void >(\n\t\t\tfunc : ( this : Host , ... args : Args )=> Result\n\t\t) : ( this : Host , ... args : Args )=> Result {\n\t\t\treturn this.wrap( func )\n\t\t}\n\n\t\tstatic get class() {\n\n\t\t\treturn < Class extends new ( ... args : any[] )=> any >(\n\t\t\t\tClass : Class\n\t\t\t) => {\n\n\t\t\t\ttype Args = ConstructorParameters< Class >\n\t\t\t\ttype Result = InstanceType< Class >\n\n\t\t\t\tconst construct = ( target : Class , args : Args )=> new Class( ... args )\n\n\t\t\t\tconst handler: ProxyHandler<Class> = {\n\t\t\t\t\tconstruct : this.func( construct )\n\t\t\t\t} \n\n\t\t\t\t;(handler as any)[ Symbol.toStringTag ] = Class.name + '#'\n\n\t\t\t\treturn new Proxy( Class , handler )\n\t\t\t\t\n\t\t\t}\n\n\t\t}\n\n\t\tstatic get method() {\n\t\t\t\n\t\t\treturn (\n\t\t\t\tobj : object,\n\t\t\t\tname : PropertyKey,\n\t\t\t\tdescr = Reflect.getOwnPropertyDescriptor( obj, name )!,\n\t\t\t) => {\n\t\t\t\tdescr.value = this.func( descr.value! )\n\t\t\t\treturn descr\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\tstatic get field() {\n\t\t\t\n\t\t\treturn <\n\t\t\t\tHost extends object ,\n\t\t\t\tField extends keyof Host ,\n\t\t\t\tArgs extends any[] ,\n\t\t\t\tResult ,\n\t\t\t>(\n\t\t\t\tobj : Host ,\n\t\t\t\tname : Field ,\n\t\t\t\tdescr = Reflect.getOwnPropertyDescriptor( obj, name )! as TypedPropertyDescriptor< Result >\n\t\t\t) => {\n\t\t\t\tdescr.get = descr.set = this.func( descr.get! )\n\t\t\t\treturn descr\n\t\t\t}\n\t\t\t\n\t\t}\n\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\texport class $mol_memo extends $mol_wrapper {\n\t\t\n\t\tstatic wrap< This extends object , Value >( task : ( this : This , next? : Value )=> Value ) {\n\n\t\t\tconst store = new WeakMap< This , Value >()\n\n\t\t\tconst fun = function( this : This , next? : Value ) {\n\n\t\t\t\tif( next === undefined && store.has( this ) ) return store.get( this )\n\t\t\t\t\n\t\t\t\tconst val = task.call( this , next ) ?? next\n\t\t\t\t\n\t\t\t\tstore.set( this , val! )\n\t\t\t\t\n\t\t\t\treturn val\n\n\t\t\t}\n\n\t\t\tReflect.defineProperty( fun , 'name' , { value : task.name + ' ' } )\n\n\t\t\treturn fun\n\t\t}\n\t\t\n\t}\n\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\texport function $mol_dom_qname( name : string ) {\n\t\treturn name.replace( /\\W/g , '' ).replace( /^(?=\\d+)/ , '_' )\n\t}\n\n}\n","namespace $ {\n\t\n\t/**\n\t * Real-time refresh current atom.\n\t * Don't use if possible. May reduce performance.\n\t */\n\texport function $mol_wire_watch() {\n\t\tconst atom = $mol_wire_auto()\n\t\tif( atom instanceof $mol_wire_atom ) {\n\t\t\tatom.watch()\n\t\t} else {\n\t\t\t$mol_fail( new Error( 'Atom is required for watching' ) )\n\t\t}\n\t}\n\t\n}\n","namespace $ {\n\t$mol_test( { \n\t\t\n\t\t'const returns stored value'() {\n\t\t\n\t\t\tconst foo = { bar : $mol_const( Math.random() ) }\n\t\t\t\n\t\t\t$mol_assert_equal( foo.bar() , foo.bar() )\n\t\t\t$mol_assert_equal( foo.bar() , foo.bar['()'] )\n\t\t\t\n\t\t} ,\n\n\t} )\n}\n","namespace $ {\n\t\n\texport function $mol_dom_render_attributes (\n\t\tel : Element ,\n\t\tattrs : { [ key : string ] : string|number|boolean|null }\n\t) {\n\n\t\tfor( let name in attrs ) {\n\n\t\t\tlet val = attrs[ name ] as any\n\n\t\t\tif( val === undefined ) {\n\t\t\t\t\n\t\t\t\tcontinue\n\t\t\t\t\n\t\t\t} else if( val === null || val === false ) {\n\n\t\t\t\tif( !el.hasAttribute( name ) ) continue\n\t\t\t\t\n\t\t\t\tel.removeAttribute( name )\n\n\t\t\t} else {\n\t\t\t\t\n\t\t\t\tconst str = String( val )\n\t\t\t\tif( el.getAttribute( name ) === str ) continue\n\t\t\t\t\n\t\t\t\tel.setAttribute( name , str )\n\n\t\t\t}\n\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\t\n\texport function $mol_dom_render_events (\n\t\tel : Element ,\n\t\tevents : { [ key : string ] : ( event : Event )=> any },\n\t\tpassive = false\n\t) {\n\t\tfor( let name in events ) {\n\t\t\tel.addEventListener( name , events[ name ] , { passive } )\n\t\t}\n\t}\n\n}\n","namespace $ {\n\t\n\texport function $mol_dom_render_styles (\n\t\tel : Element ,\n\t\tstyles : { [ key : string ] : string|number }\n\t) {\n\t\tfor( let name in styles ) {\n\t\t\tlet val = styles[ name ]\n\t\t\t\n\t\t\tconst style = ( el as HTMLElement ).style as any\n\t\t\tconst kebab = ( name : string )=> name.replace( /[A-Z]/g , letter => '-' + letter.toLowerCase() )\n\t\t\t\n\t\t\tif( typeof val === 'number' ) {\n\t\t\t\tstyle.setProperty(kebab(name), `${ val }px`);\n\t\t\t} else {\n\t\t\t\tstyle.setProperty(kebab(name), val);\n\t\t\t}\n\t\t\t\n\t\t}\n\t}\n\n}\n","namespace $ {\n\t\n\texport function $mol_dom_render_fields (\n\t\tel : Element ,\n\t\tfields : { [ key : string ] : any }\n\t) {\n\t\tfor( let key in fields ) {\n\t\t\t\n\t\t\tconst val : any = fields[ key ]\n\t\t\t\n\t\t\tif( val === undefined ) continue\n\t\t\tif( val === (el as any)[ key ] ) continue\n\t\t\t\n\t\t\t(el as any)[ key ] = val\n\t\t}\n\t}\n\n}\n","namespace $ { $mol_style_attach( \"mol/view/view/view.css\",\n \"[mol_view] {\\n\\ttransition-property: height, width, min-height, min-width, max-width, max-height, transform, scale, translate, rotate;\\n\\ttransition-duration: .2s;\\n\\ttransition-timing-function: ease-out;\\n\\t-webkit-appearance: none;\\n\\tbox-sizing: border-box;\\n\\tdisplay: flex;\\n\\tflex-shrink: 0;\\n\\tcontain: style;\\n\\tscrollbar-color: var(--mol_theme_line) transparent;\\n\\tscrollbar-width: thin;\\n}\\t\\n\\n[mol_view]::selection {\\n\\tbackground: var(--mol_theme_line);\\n}\\t\\n\\n[mol_view]::-webkit-scrollbar {\\n\\twidth: .25rem;\\n\\theight: .25rem;\\n}\\n\\n[mol_view]::-webkit-scrollbar-corner {\\n\\tbackground-color: var(--mol_theme_line);\\n}\\n\\n[mol_view]::-webkit-scrollbar-track {\\n\\tbackground-color: transparent;\\n}\\n\\n[mol_view]::-webkit-scrollbar-thumb {\\n\\tbackground-color: var(--mol_theme_line);\\n\\tborder-radius: var(--mol_gap_round);\\n}\\n\\n[mol_view] > * {\\n\\tword-break: inherit;\\n}\\n\\n[mol_view_root] {\\n\\tmargin: 0;\\n\\tpadding: 0;\\n\\twidth: 100%;\\n\\theight: 100%;\\n\\tbox-sizing: border-box;\\n\\tfont-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;\\n\\tfont-size: 1rem;\\n\\tline-height: 1.5rem;\\n\\t/* background: var(--mol_theme_back);\\n\\tcolor: var(--mol_theme_text); */\\n\\tcontain: unset; /** Fixes bg ignoring when applied to body on Chrome */\\n\\ttab-size: 4;\\n\\toverscroll-behavior: contain; /** Disable navigation gestures **/\\n}\\n\\n@media print {\\n\\t[mol_view_root] {\\n\\t\\theight: auto;\\n\\t}\\n}\\n[mol_view][mol_view_error]:not([mol_view_error=\\\"Promise\\\"], [mol_view_error=\\\"$mol_promise_blocker\\\"]) {\\n\\tbackground-image: repeating-linear-gradient(\\n\\t\\t-45deg,\\n\\t\\t#f92323,\\n\\t\\t#f92323 .5rem,\\n\\t\\t#ff3d3d .5rem,\\n\\t\\t#ff3d3d 1.5rem\\n\\t);\\n\\tcolor: black;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\\n@keyframes mol_view_wait {\\n\\tfrom {\\n\\t\\topacity: .25;\\n\\t}\\n\\t20% {\\n\\t\\topacity: .75;\\n\\t}\\n\\tto {\\n\\t\\topacity: .25;\\n\\t}\\n}\\n\\n:where([mol_view][mol_view_error=\\\"$mol_promise_blocker\\\"]),\\n:where([mol_view][mol_view_error=\\\"Promise\\\"]) {\\n\\tbackground: var(--mol_theme_hover);\\n}\\n\\n[mol_view][mol_view_error=\\\"Promise\\\"] {\\n\\tanimation: mol_view_wait 1s steps(20,end) infinite;\\n}\\n\"\n) }","/** @jsx $mol_jsx */\nnamespace $ {\n\n\texport type $mol_view_content = $mol_view|Node|string|number|boolean|null\n\t\n\texport function $mol_view_visible_width() {\n\t\treturn $mol_window.size().width\n\t}\n\t\n\texport function $mol_view_visible_height() {\n\t\treturn $mol_window.size().height\n\t}\n\t\n\texport function $mol_view_state_key( suffix : string ) {\n\t\treturn suffix\n\t}\n\t\n\t/**\n\t * The base class for all visual components. It provides the infrastructure for reactive lazy rendering, handling exceptions.\n\t * @see https://mol.hyoo.ru/#!section=docs/=vv2nig_s5zr0f\n\t */\n\t/// Reactive statefull lazy ViewModel\n\texport class $mol_view extends $mol_object {\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic Root< This extends typeof $mol_view >( this : This , id: number ) {\n\t\t\treturn new this as InstanceType< This >\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tstatic roots() {\n\t\t\t\n\t\t\treturn [ ... $mol_dom.document.querySelectorAll( '[mol_view_root]:not([mol_view_root=\"\"])' ) ].map( ( node, index ) => {\n\n\t\t\t\tconst name = node.getAttribute( 'mol_view_root' )!\n\t\t\t\t\n\t\t\t\tconst View = (this.$ as any)[ name ] as typeof $mol_view\n\t\t\t\tif( !View ) {\n\t\t\t\t\t$mol_fail_log( new Error( `Autobind unknown view class`, { cause: { name } } ) )\n\t\t\t\t\treturn null\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tconst view = View.Root( index )\n\t\t\t\tview.dom_node( node )\n\t\t\t\treturn view\n\t\t\t\t\n\t\t\t} ).filter( $mol_guard_defined )\n\t\t\t\n\t\t}\n\n\t\t@ $mol_mem\n\t\tstatic auto() {\n\t\t\t\n\t\t\tconst roots = this.roots()\n\t\t\tif( !roots.length ) return\n\t\t\t\n\t\t\tfor( const root of roots ) {\n\t\t\t\ttry {\n\t\t\t\t\troot.dom_tree()\n\t\t\t\t} catch( error ) {\n\t\t\t\t\t$mol_fail_log( error )\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\ttry {\n\t\t\t\tdocument.title = roots[0].title()\n\t\t\t} catch( error ) {\n\t\t\t\t$mol_fail_log( error )\n\t\t\t}\n\t\t\t\n\t\t\tdescr: try {\n\t\t\t\t\n\t\t\t\tconst descr = roots[0].hint()\n\t\t\t\tif( !descr ) break descr\n\t\t\t\t\n\t\t\t\tconst head = $mol_dom.document.head\n\t\t\t\tlet node = head.querySelector( 'meta[name=\"description\"]' ) as HTMLMetaElement | null\n\t\t\t\tif( node ) node.content = descr\n\t\t\t\telse head.append( <meta name=\"description\" content={ descr } /> )\n\t\t\t\t\n\t\t\t} catch( error ) {\n\t\t\t\t$mol_fail_log( error )\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\ttitle() {\n\t\t\treturn this.toString().match( /.*\\.(\\w+)/ )?.[1] ?? this.toString()\n\t\t}\n\t\t\n\t\thint() {\n\t\t\treturn ''\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tfocused( next?: boolean ) {\n\t\t\tlet node = this.dom_node()\n\t\t\tconst value = $mol_view_selection.focused( next === undefined ? undefined : ( next ? [ node ] : [] ) )\n\t\t\treturn value.indexOf( node ) !== -1\n\t\t}\n\t\t\n\t\tstate_key( suffix = '' ) {\n\t\t\treturn this.$.$mol_view_state_key( suffix )\n\t\t}\n\t\t\n\t\t/// Name of element that created when element not found in DOM\n\t\t@ $mol_memo.method\n\t\tdom_name() {\n\t\t\treturn $mol_dom_qname( this.constructor.toString() ) || 'div'\n\t\t}\n\t\t\n\t\t/// NameSpace of element that created when element not found in DOM\n\t\tdom_name_space() { return 'http://www.w3.org/1999/xhtml' }\n\t\t\n\t\t/// Raw child views\n\t\tsub() {\n\t\t\treturn [] as readonly $mol_view_content[]\n\t\t}\n\t\t\n\t\t/// Visible sub views with defined ambient context\n\t\t/// Render all by default\n\t\tsub_visible() {\n\t\t\treturn this.sub()\n\t\t}\n\t\t\n\t\t/// Minimal width that used for lazy rendering\n\t\t@ $mol_mem\n\t\tminimal_width() {\n\t\t\t\n\t\t\tlet min = 0\n\t\t\ttry {\n\t\t\t\t\n\t\t\t\tconst sub = this.sub()\n\t\t\t\tif( !sub ) return 0\n\t\t\t\t\n\t\t\t\tsub.forEach( view => {\n\t\t\t\t\tif( view instanceof $mol_view ) {\n\t\t\t\t\t\tmin = Math.max( min , view.minimal_width() )\n\t\t\t\t\t}\n\t\t\t\t} )\n\t\t\t\t\n\t\t\t} catch( error: any ) {\n\t\t\t\t$mol_fail_log( error )\n\t\t\t\treturn 24\n\t\t\t}\n\t\t\n\t\t\treturn min\n\t\t}\n\t\t\n\t\tmaximal_width() {\n\t\t\treturn this.minimal_width()\n\t\t}\n\t\t\n\t\t/// Minimal height that used for lazy rendering\n\t\t@ $mol_mem\n\t\tminimal_height() {\n\t\t\t\n\t\t\tlet min = 0\n\t\t\ttry {\n\t\t\t\t\n\t\t\t\tfor( const view of this.sub() ?? [] ) {\n\n\t\t\t\t\tif( view instanceof $mol_view ) {\n\t\t\t\t\t\tmin = Math.max( min , view.minimal_height() )\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} catch( error: any ) {\n\t\t\t\t$mol_fail_log( error )\n\t\t\t\treturn 24\n\t\t\t}\n\n\t\t\treturn min\n\t\t}\n\n\t\tstatic watchers = new Set< $mol_view >()\n\n\t\t@ $mol_mem\n\t\tview_rect() {\n\t\t\tif( $mol_wire_probe( ()=> this.view_rect() ) === undefined ) {\n\t\t\t\t$mol_wire_watch()\n\t\t\t\treturn null // don't touch DOM to prevent instant reflow\n\t\t\t} else {\n\t\t\t\tconst { width, height, left, right, top, bottom } = this.dom_node().getBoundingClientRect()\n\t\t\t\treturn { width, height, left, right, top, bottom } // pick to optimize compare\n\t\t\t}\n\t\t}\n\n\t\t@ $mol_memo.method\n\t\tdom_id() {\n\t\t\treturn this.toString().replace( /</g, '(' ).replace( />/g, ')' ).replaceAll( /\"/g, \"'\" )\n\t\t}\n\t\n\t\tdom_node_external( next?: Element) {\n\t\t\tconst node = next ?? $mol_dom_context.document.createElementNS( this.dom_name_space() , this.dom_name() )\n\n\t\t\tconst id = this.dom_id()\n\t\t\tnode.setAttribute( 'id' , id )\n\t\t\tnode.toString = $mol_const( '<#' + id + '>' )\n\n\t\t\treturn node\n\t\t}\n\n\t\t@ $mol_mem\n\t\tdom_node( next? : Element ) {\n\t\t\t$mol_wire_solid()\n\t\t\tconst node = this.dom_node_external( next )\n\t\t\t$mol_dom_render_attributes( node , this.attr_static() )\n\t\t\t\n\t\t\tconst events = this.event_async()\n\t\t\t$mol_dom_render_events(node, events)\n\n\t\t\treturn node\n\t\t}\n\n\t\t@ $mol_mem\n\t\tdom_final() {\n\t\t\t\n\t\t\tthis.render()\n\t\t\t\n\t\t\tconst sub = this.sub_visible()\n\t\t\tif( !sub ) return\n\t\t\t\n\t\t\tfor( const el of sub ) {\n\t\t\t\tif( el && typeof el === 'object' && 'dom_final' in el ) {\n\t\t\t\t\tel['dom_final']()\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\treturn this.dom_node()\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tdom_tree( next? : Element ) : Element {\n\t\t\tconst node = this.dom_node( next )\n\t\t\t\n\t\t\trender: try {\n\n\t\t\t\t$mol_dom_render_attributes( node , { mol_view_error : null } )\n\n\t\t\t\ttry {\n\t\t\t\t\n\t\t\t\t\tthis.render()\n\t\t\t\t\t\n\t\t\t\t} finally {\n\t\t\t\t\t\n\t\t\t\t\tfor( let plugin of this.plugins() ) {\n\t\t\t\t\t\tif( plugin instanceof $mol_plugin ) {\n\t\t\t\t\t\t\tplugin.dom_tree()\n\t\t\t\t\t\t}\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} catch( error: any ) {\n\t\t\t\t\n\t\t\t\t$mol_fail_log( error )\n\t\t\t\tconst mol_view_error = $mol_promise_like(error)\n\t\t\t\t\t? (error as any).constructor[Symbol.toStringTag] ?? 'Promise'\n\t\t\t\t\t: error.name || error.constructor.name\n\t\t\t\t$mol_dom_render_attributes( node , { mol_view_error } )\n\t\t\t\t\n\t\t\t\tif( $mol_promise_like( error ) ) break render\n\t\t\t\t\n\t\t\t\ttry {\n\t\t\t\t\tconst message = error.message || error\n\t\t\t\t\t;( node as HTMLElement ).innerText = message.replace( /^|$/mg, '\\xA0\\xA0' )\n\t\t\t\t} catch {}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\ttry {\n\t\t\t\tthis.auto()\n\t\t\t} catch( error ) {\n\t\t\t\t$mol_fail_log( error )\n\t\t\t}\n\t\t\t\t\n\t\t\treturn node\n\t\t}\n\n\t\t@ $mol_mem\n\t\tdom_node_actual() {\n\t\t\tconst node = this.dom_node()\n\n\t\t\tconst attr = this.attr()\n\t\t\tconst style = this.style()\n\n\t\t\t$mol_dom_render_attributes( node , attr )\n\t\t\t$mol_dom_render_styles( node , style )\n\n\t\t\treturn node\n\t\t}\n\t\t\n\t\tauto() {\n\t\t\treturn [] as any\n\t\t}\n\n\t\t@ $mol_mem\n\t\trender() {\n\n\t\t\tconst node = this.dom_node_actual()\n\n\t\t\tconst sub = this.sub_visible()\n\t\t\tif( !sub ) return\n\t\t\t\n\t\t\tconst nodes = sub.map( child => {\n\t\t\t\tif( child == null ) return null\n\t\t\t\treturn ( child instanceof $mol_view )\n\t\t\t\t\t? child.dom_node()\n\t\t\t\t\t: child instanceof $mol_dom_context.Node\n\t\t\t\t\t? child\n\t\t\t\t\t: String( child )\n\t\t\t})\n\t\t\t\n\t\t\t$mol_dom_render_children( node , nodes )\n\n\t\t\tfor( const el of sub ) if( el && typeof el === 'object' && 'dom_tree' in el ) el['dom_tree']()\n\n\t\t\t$mol_dom_render_fields( node , this.field() )\n\t\t\t\n\t\t}\n\n\t\t@ $mol_memo.method\n\t\tstatic view_classes() {\n\t\t\tconst proto = this.prototype\n\t\t\t\n\t\t\tlet current = proto\n\t\t\tconst classes = [] as ( typeof $mol_view )[]\n\t\t\t\n\t\t\twhile( current ) {\n\t\t\t\tif( current.constructor.name !== classes.at(-1)?.name ) {\n\t\t\t\t\tclasses.push( current.constructor as typeof $mol_view )\n\t\t\t\t}\n\t\t\t\tif(!( current instanceof $mol_view )) break\n\t\t\t\tcurrent = Object.getPrototypeOf( current )\n\t\t\t}\n\t\t\t\n\t\t\treturn classes\n\t\t}\n\t\t\n\t\tstatic _view_names?: Map< string, string[] >\n\t\tstatic view_names( suffix: string ) {\n\t\t\t\n\t\t\tlet cache = Reflect.getOwnPropertyDescriptor( this, '_view_names' )?.value\n\t\t\tif( !cache ) cache = this._view_names = new Map\n\t\t\t\n\t\t\tconst cached = cache.get( suffix )\n\t\t\tif( cached ) return cached\n\t\t\t\n\t\t\tconst names = [] as string[]\n\t\t\tconst suffix2 = '_' + suffix[0].toLowerCase() + suffix.substring(1)\n\t\t\t\n\t\t\tfor( const Class of this.view_classes() ) {\n\t\t\t\tif( suffix in Class.prototype ) names.push( this.$.$mol_func_name( Class ) + suffix2 )\n\t\t\t\telse break\n\t\t\t}\n\t\t\t\n\t\t\tcache.set( suffix, names )\n\t\t\treturn names\n\t\t}\n\t\t\n\t\t@ $mol_memo.method\n\t\tview_names_owned() {\n\t\t\tconst names = [] as string[]\n\t\t\tlet owner = $mol_owning_get( this ) as $mol_wire_fiber< any, any[], any >\n\n\t\t\tif(!( owner?.host instanceof $mol_view )) return names\n\n\t\t\tconst suffix = owner.task.name.trim()\n\t\t\tconst suffix2 = '_' + suffix[0].toLowerCase() + suffix.substring(1)\n\t\t\t\n\t\t\tnames.push( ... ( owner.host.constructor as typeof $mol_view ).view_names( suffix ) )\n\t\t\t\n\t\t\tfor( let prefix of owner.host.view_names_owned() ) {\n\t\t\t\tnames.push( prefix + suffix2 )\n\t\t\t}\n\t\t\t\n\t\t\treturn names\n\t\t}\n\n\t\t@ $mol_memo.method\n\t\tview_names() {\n\t\t\tconst names = new Set< string >()\n\t\t\t\n\t\t\tfor( let name of this.view_names_owned() ) names.add( name )\n\n\t\t\tfor( let Class of ( this.constructor as typeof $mol_view ).view_classes() ) {\n\t\t\t\tconst name = this.$.$mol_func_name( Class )\n\t\t\t\tif( name ) names.add( name )\n\t\t\t}\n\n\t\t\treturn names\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\ttheme( next = null as null | string ) {\n\t\t\treturn next\n\t\t}\n\t\t\n\t\tattr_static() : { [ key : string ] : string|number|boolean|null } {\n\t\t\tlet attrs : any = {}\n\t\t\t\n\t\t\tfor( let name of this.view_names() ) attrs[ name.replace( /\\$/g , '' ).replace( /^(?=\\d)/ , '_' ).toLowerCase() ] = ''\n\t\t\t\n\t\t\treturn attrs\n\t\t}\n\t\t\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\tmol_theme: this.theme() ?? undefined,\n\t\t\t} as {}\n\t\t}\n\t\t\n\t\tstyle() : { [ key : string ] : string|number } {\n\t\t\treturn {}\n\t\t}\n\t\t\n\t\tfield() : { [ key : string ] : any } {\n\t\t\treturn {}\n\t\t}\n\t\t\n\t\tevent() : { [ key : string ] : ( event : Event )=> void } {\n\t\t\treturn {}\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tevent_async() {\n\t\t\treturn { ... $mol_wire_async(this.event()) }\n\t\t}\n\n\t\tplugins() {\n\t\t\treturn [] as readonly $mol_view[]\n\t\t}\n\t\t\n\t\t[ $mol_dev_format_head ]() {\n\t\t\treturn $mol_dev_format_span( {} ,\n\t\t\t\t$mol_dev_format_native( this ) ,\n\t\t\t\t// $mol_dev_format_shade( '/' ) ,\n\t\t\t\t// $mol_dev_format_auto( $mol_wire_cache( this ).sub().cache ) ,\n\t\t\t)\n\t\t}\n\n\t\t/** Deep search view by predicate. */\n\t\t*view_find(\n\t\t\tcheck: ( path : $mol_view, text?: string )=> boolean,\n\t\t\tpath = [] as $mol_view[],\n\t\t): Generator< $mol_view[] > {\n\n\t\t\tif( path.length === 0 && check( this ) ) return yield [ this ]\n\t\t\t\n\t\t\ttry {\n\t\t\t\tconst checked = new Set<$mol_view>()\n\t\t\t\tconst sub = this.sub()\n\n\t\t\t\tfor( const item of sub ) {\n\t\t\t\t\tif( ! ( item instanceof $mol_view ) ) continue\n\n\t\t\t\t\tif ( ! check( item ) ) continue\n\t\t\t\t\tchecked.add(item)\n\t\t\t\t\tyield [ ... path, this, item ]\n\t\t\t\t}\n\n\t\t\t\tfor( const item of sub ) {\n\t\t\t\t\tif ( ! ( item instanceof $mol_view) ) continue\n\t\t\t\t\tif ( checked.has(item) ) continue\n\t\t\t\t\tyield* item.view_find( check, [ ... path, this ] )\n\t\t\t\t}\n\t\t\t} catch( error: unknown ) {\n\t\t\t\tif( $mol_promise_like( error ) ) $mol_fail_hidden( error )\n\t\t\t\t$mol_fail_log( error )\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\t/** Renders path of views to DOM. */\n\t\tforce_render(\n\t\t\tpath : Set< $mol_view >,\n\t\t) {\n\n\t\t\tconst kids = this.sub()\n\n\t\t\tconst index = kids.findIndex( item => {\n\t\t\t\tif( item instanceof $mol_view ) {\n\t\t\t\t\treturn path.has( item )\n\t\t\t\t} else {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t})\n\n\t\t\tif( index >= 0 ) {\n\t\t\t\t( kids[ index ] as $mol_view ).force_render( path )\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\t/** Renders view to DOM and scroll to it. */\n\t\tensure_visible( view: $mol_view, align: ScrollLogicalPosition = \"start\" ) {\n\t\t\t\n\t\t\tconst path = this.view_find( v => v === view ).next().value\n\t\t\tthis.force_render( new Set( path ) )\n\t\t\t\n\t\t\ttry {\n\t\t\t\tthis.dom_final()\n\t\t\t} finally {\n\t\t\t\tview.dom_node().scrollIntoView({ block: align })\n\t\t\t}\n\n\t\t}\n\t\t\n\t\tbring() {\n\t\t\t\n\t\t\tconst win = this.$.$mol_dom_context\n\t\t\tif( win.parent !== win.self && !win.document.hasFocus() ) return\n\t\t\t\n\t\t\t// new this.$.$mol_after_frame( ()=> {\n\t\t\t// \tthis.dom_node().scrollIntoView({ block: 'start', inline: 'nearest' })\n\t\t\t// } )\n\t\t\t\n\t\t\tnew this.$.$mol_after_timeout( 0, ()=> {\n\t\t\t\tthis.focused( true )\n\t\t\t} )\n\t\t\t\n\t\t}\n\n\t\toverride destructor() {\n\t\t\tconst node = $mol_wire_probe(() => this.dom_node())\n\t\t\tif (! node) return\n\n\t\t\tconst events = $mol_wire_probe(() => this.event_async())\n\t\t\tif (! events) return\n\n\t\t\tfor( let event_name in events ) {\n\t\t\t\tnode.removeEventListener(\n\t\t\t\t\tevent_name ,\n\t\t\t\t\tevents[ event_name ]\n\t\t\t\t)\n\t\t\t}\n\t\t}\n\t}\n\n\texport type $mol_view_all = $mol_type_pick< $ , typeof $mol_view >\n\n}\n","interface Window {\n\tcordova : any\n}\n\nnamespace $ {\n\n\t$mol_dom_context.document?.addEventListener(\n\t\t'DOMContentLoaded',\n\t\t()=> $mol_view.auto(),\n\t\t{ once: true },\n\t)\n\t\n}\n","namespace $ {\n\t$mol_test( {\n\t\t\n\t\t'id auto generation'($) {\n\t\t\t\t\n\t\t\tclass $mol_view_test_item extends $mol_view { }\n\t\t\t\n\t\t\tclass $mol_view_test_block extends $mol_view {\n\n\t\t\t\tstatic $ = $\n\t\t\t\t\n\t\t\t\t@ $mol_mem_key\n\t\t\t\telement( id : number ) {\n\t\t\t\t\treturn new $mol_view_test_item()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tvar x = $mol_view_test_block.Root(0)\n\t\t\t\n\t\t\t$mol_assert_equal( x.dom_node().id , '$mol_view_test_block.Root(0)' )\n\t\t\t$mol_assert_equal( x.element( 0 ).dom_node().id , '$mol_view_test_block.Root(0).element(0)' )\n\t\t\t\n\t\t} ,\n\t\t\n\t\t'caching ref to dom node'($) {\n\t\t\t\n\t\t\tvar x = new class extends $mol_view { }\n\t\t\tx.$ = $\n\t\t\t\n\t\t\t$mol_assert_equal( x.dom_node() , x.dom_node() )\n\t\t\t\n\t\t} ,\n\t\t\n\t\t'content render'($) {\n\t\t\t\t\n\t\t\tclass $mol_view_test extends $mol_view {\n\t\t\t\tsub() {\n\t\t\t\t\treturn [ 'lol' , 5 ]\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tvar x = new $mol_view_test()\n\t\t\tx.$ = $\n\t\t\t\n\t\t\tvar node = x.dom_tree()\n\t\t\t\n\t\t\t$mol_assert_equal( node.innerHTML , 'lol5' )\n\t\t\t\n\t\t} ,\n\t\t\n\t\t'bem attributes generation'($) {\n\t\t\t\t\n\t\t\tclass $mol_view_test_item extends $mol_view { }\n\t\t\t\n\t\t\tclass $mol_view_test_block extends $mol_view {\n\t\t\t\t\n\t\t\t\t@ $mol_mem_key\n\t\t\t\tElement( id : number ) {\n\t\t\t\t\treturn new $mol_view_test_item()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tvar x = new $mol_view_test_block()\n\t\t\tx.$ = $\n\t\t\t\n\t\t\t$mol_assert_equal( x.dom_node().getAttribute( 'mol_view_test_block' ) , '' )\n\t\t\t$mol_assert_equal( x.dom_node().getAttribute( 'mol_view' ) , '' )\n\t\t\t\n\t\t\t$mol_assert_equal( x.Element( 0 ).dom_node().getAttribute( 'mol_view_test_block_element' ) , '' )\n\t\t\t\n\t\t\t$mol_assert_equal( x.Element( 0 ).dom_node().getAttribute( 'mol_view_test_item' ) , '' )\n\t\t\t$mol_assert_equal( x.Element( 0 ).dom_node().getAttribute( 'mol_view' ) , '' )\n\t\t\t\n\t\t} ,\n\t\t\n\t\t'render custom attributes'($) {\n\t\t\t\n\t\t\tclass $mol_view_test extends $mol_view {\n\t\t\t\tattr() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t'href' : '#haha' ,\n\t\t\t\t\t\t'required' : true ,\n\t\t\t\t\t\t'hidden' : false ,\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tvar x = new $mol_view_test()\n\t\t\tx.$ = $\n\t\t\t\n\t\t\tvar node = x.dom_tree()\n\t\t\t\n\t\t\t$mol_assert_equal( node.getAttribute( 'href' ) , '#haha' )\n\t\t\t$mol_assert_equal( node.getAttribute( 'required' ) , 'true' )\n\t\t\t$mol_assert_equal( node.getAttribute( 'hidden' ) , null )\n\t\t\t\n\t\t} ,\n\t\t\n\t\t'render custom fields'($) {\n\t\t\t\t\n\t\t\tclass $mol_view_test extends $mol_view {\n\t\t\t\tfield() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t'hidden' : true\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tvar x = new $mol_view_test()\n\t\t\tx.$ = $\n\t\t\t\n\t\t\tvar node = x.dom_tree() as HTMLElement\n\t\t\t\n\t\t\t$mol_assert_equal( node.hidden , true )\n\t\t\t\n\t\t} ,\n\t\t\n\t\t'attach event handlers'($) {\n\t\t\t\t\n\t\t\tvar clicked = false\n\t\t\t\n\t\t\tclass $mol_view_test extends $mol_view {\n\t\t\t\tevent() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t'click' : ( next? : Event ) => this.event_click( next )\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tevent_click( next? : Event ) {\n\t\t\t\t\tclicked = true\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tvar x = new $mol_view_test()\n\t\t\tx.$ = $\n\t\t\t\n\t\t\tvar node = x.dom_node() as HTMLElement\n\t\t\tnode.click()\n\t\t\t\n\t\t\t$mol_assert_ok( clicked )\n\t\t\t\n\t\t} ,\n\t\n\t} )\n}\n","namespace $ {\n\t/** Plugin is component without its own DOM element, but instead uses the owner DOM element */\n\texport class $mol_plugin extends $mol_view {\n\n\t\toverride dom_node_external( next? : Element ) {\n\t\t\treturn next ?? $mol_owning_get<typeof this, $mol_wire_fiber<$mol_view, any, any>>( this )!.host!.dom_node()\n\t\t}\n\n\t\toverride render() {\n\t\t\tthis.dom_node_actual()\n\t\t}\n\n\t}\n\n}\n","$mol_hotkey $mol_plugin\n\tevent *\n\t\t^\n\t\tkeydown?event <=> keydown?event null\n\tkey *\n\tmod_ctrl false\n\tmod_alt false\n\tmod_shift false\n","namespace $.$$ {\n\t/**\n\t * Plugin which adds handlers for keyboard keys.\n\t * @see [mol_keyboard_code](../keyboard/code/code.ts)\n\t */\n\texport class $mol_hotkey extends $.$mol_hotkey {\n\n\t\tkey() {\n\t\t\treturn super.key() as {\n\t\t\t\t[ key in keyof typeof $mol_keyboard_code ]? : ( event : KeyboardEvent )=> void\n\t\t\t}\n\t\t}\n\t\t\n\t\tkeydown( event? : KeyboardEvent ) {\n\n\t\t\tif( !event ) return\n\t\t\tif( event.defaultPrevented ) return\n\n\t\t\tlet name = $mol_keyboard_code[ event.keyCode ] as keyof typeof $mol_keyboard_code\n\t\t\t\n\t\t\tif( this.mod_ctrl() !== ( event.ctrlKey || event.metaKey ) ) return\n\t\t\tif( this.mod_alt() !== event.altKey ) return\n\t\t\tif( this.mod_shift() !== event.shiftKey ) return\n\t\t\t\n\t\t\tconst handle = this.key()[ name ]\n\t\t\tif( handle ) handle( event )\n\n\t\t}\n\t\t\n\t}\n}\n","$mol_string $mol_view\n\tdom_name \\input\n\tenabled true\n\tminimal_height 40\n\tautocomplete false\n\tselection? /number\n\t\t0\n\t\t0\n\tauto /\n\t\t<= selection_watcher null\n\t\t<= error_report null\n\tfield *\n\t\t^\n\t\tdisabled <= disabled false\n\t\tvalue <= value_changed? <=> value? \\\n\t\tplaceholder <= hint_visible <= hint \\\n\t\tspellcheck <= spellcheck true\n\t\tautocomplete <= autocomplete_native \\\n\t\tselectionEnd <= selection_end 0\n\t\tselectionStart <= selection_start 0\n\t\tinputMode <= keyboard \\text\n\t\tenterkeyhint <= enter \\go\n\tattr *\n\t\t^\n\t\tmaxlength <= length_max +Infinity\n\t\ttype <= type? \\text\n\tevent *\n\t\t^\n\t\tinput?event <=> event_change?event null\n\tplugins /\n\t\t<= Submit $mol_hotkey\n\t\t\tmod_ctrl <= submit_with_ctrl false\n\t\t\tkey * enter?event <=> submit?event null\n","namespace $ {\n\n\texport class $mol_dom_listener extends $mol_object {\n\n\t\tconstructor(\n\t\t\tpublic _node : any ,\n\t\t\tpublic _event : string ,\n\t\t\tpublic _handler : ( event : any )=> any ,\n\t\t\tpublic _config : boolean|{ passive : boolean } = { passive : true }\n\t\t) {\n\t\t\tsuper()\n\t\t\tthis._node.addEventListener( this._event , this._handler , this._config )\n\t\t}\n\n\t\tdestructor() {\n\t\t\tthis._node.removeEventListener( this._event , this._handler , this._config )\n\t\t\tsuper.destructor()\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\n\t/**\n\t * Z-index values for layers\n\t * https://page.hyoo.ru/#!=xthcpx_wqmiba\n\t */\n\texport let $mol_layer = $mol_style_prop(\n\t\t'mol_layer',\n\t\t[\n\t\t\t'hover',\n\t\t\t'focus',\n\t\t\t'speck',\n\t\t\t'float',\n\t\t\t'popup',\n\t\t] as const\n\t)\n\n}\n","namespace $ { $mol_style_attach( \"mol/layer/layer.css\",\n \":root {\\n\\t--mol_layer_hover: 1;\\n\\t--mol_layer_focus: 2;\\n\\t--mol_layer_speck: 3;\\n\\t--mol_layer_float: 4;\\n\\t--mol_layer_popup: 5;\\n}\\n\"\n) }","namespace $.$$ {\n\t/**\n\t * An input field for entering single line text.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_string_demo\n\t */\n\texport class $mol_string extends $.$mol_string {\n\t\t\n\t\t@ $mol_action\n\t\tevent_change( next? : Event ) {\n\t\t\tif( !next ) return\n\t\t\tconst el = this.dom_node() as HTMLInputElement\n\t\t\tconst from = el.selectionStart\n\t\t\tconst to = el.selectionEnd\n\t\t\ttry {\n\t\t\t\tel.value = this.value_changed( el.value )\n\t\t\t} catch( error ) {\n\t\t\t\tconst el = this.dom_node() as HTMLInputElement\n\t\t\t\tif( error instanceof Error ) {\n\t\t\t\t\tel.setCustomValidity( error.message )\n\t\t\t\t\tel.reportValidity()\n\t\t\t\t}\n\t\t\t\t$mol_fail_hidden( error )\n\t\t\t}\n\t\t\tif( to === null ) return \n\t\t\tel.selectionEnd = to\n\t\t\tel.selectionStart = from\n\t\t\tthis.selection_change( next )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\terror_report() {\n\t\t\ttry {\n\t\t\t\tif( this.focused() ) this.value()\n\t\t\t} catch( error ) {\n\t\t\t\tconst el = this.dom_node() as HTMLInputElement\n\t\t\t\tif( error instanceof Error ) {\n\t\t\t\t\tel.setCustomValidity( error.message )\n\t\t\t\t\tel.reportValidity()\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\thint_visible() {\n\t\t\treturn ( this.enabled() ? this.hint() : '' ) || ' '\n\t\t}\n\n\t\tdisabled() {\n\t\t\treturn !this.enabled()\n\t\t}\n\n\t\tautocomplete_native() {\n\t\t\treturn this.autocomplete() ? 'on' : 'off'\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tselection_watcher() {\n\t\t\treturn new $mol_dom_listener(\n\t\t\t\tthis.$.$mol_dom_context.document,\n\t\t\t\t'selectionchange',\n\t\t\t\t$mol_wire_async( event => this.selection_change( event ) ),\n\t\t\t)\n\t\t}\n\t\t\n\t\tselection_change( event: Event ) {\n\t\t\t\n\t\t\tconst el = this.dom_node() as HTMLInputElement\n\t\t\tif( el !== this.$.$mol_dom_context.document.activeElement ) return\n\t\t\t\n\t\t\tconst [ from, to ] = this.selection([\n\t\t\t\tel.selectionStart!,\n\t\t\t\tel.selectionEnd!,\n\t\t\t])\n\t\t\t\n\t\t\tel.selectionEnd = to\n\t\t\tel.selectionStart = from\n\n\t\t\tif( to !== from && el.selectionEnd === el.selectionStart ) {\n\t\t\t\tel.selectionEnd = to\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\tselection_start() {\n\t\t\tconst el = this.dom_node() as HTMLInputElement\n\t\t\tif( !this.focused() ) return undefined!\n\t\t\tif( el.selectionStart == null ) return undefined!\n\t\t\treturn this.selection()[0]\n\t\t}\n\t\t\n\t\tselection_end() {\n\t\t\tconst el = this.dom_node() as HTMLInputElement\n\t\t\tif( !this.focused() ) return undefined!\n\t\t\tif( el.selectionEnd == null ) return undefined!\n\t\t\treturn this.selection()[1]\n\t\t}\n\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/string/string.view.css\",\n \"[mol_string] {\\n\\tbox-sizing: border-box;\\n\\toutline-offset: 0;\\n\\tborder: none;\\n\\tborder-radius: var(--mol_gap_round);\\n\\twhite-space: pre-line;\\n\\toverflow: hidden;\\n\\ttext-overflow: ellipsis;\\n\\tpadding: var(--mol_gap_text);\\n\\ttext-align: left;\\n\\tposition: relative;\\n\\tfont: inherit;\\n\\tflex: 1 1 auto;\\n\\tbackground: transparent;\\n\\tmin-width: 0;\\n\\tcolor: inherit;\\n\\tbackground: var(--mol_theme_field);\\n}\\n\\n[mol_string]:disabled:not(:placeholder-shown) {\\n\\tbackground-color: transparent;\\n\\tcolor: var(--mol_theme_text);\\n}\\n\\n[mol_string]:where(:not(:disabled)) {\\n\\tbox-shadow: inset 0 0 0 1px var(--mol_theme_line);\\n}\\n\\n[mol_string]:where(:not(:disabled)):hover {\\n\\tbox-shadow: inset 0 0 0 2px var(--mol_theme_line);\\n\\tz-index: var(--mol_layer_hover);\\n}\\n\\n[mol_string]:focus {\\n\\toutline: none;\\n\\tz-index: var(--mol_layer_focus);\\n\\tcolor: var(--mol_theme_text);\\n\\tbox-shadow: inset 0 0 0 1px var(--mol_theme_focus);\\n}\\n\\n[mol_string]::placeholder {\\n\\tcolor: var(--mol_theme_shade);\\n}\\n\\n[mol_string]::-ms-clear {\\n\\tdisplay: none;\\n}\\n\"\n) }","$mol_paragraph $mol_view\n\tline_height 24\n\tletter_width 7\n\twidth_limit +Infinity\n\trow_width 0\n\tsub / <= title\n","namespace $.$$ {\n\n\texport class $mol_paragraph extends $.$mol_paragraph {\n\n\t\t@ $mol_mem\n\t\tmaximal_width() {\n\n\t\t\tlet width = 0\n\t\t\tconst letter = this.letter_width()\n\t\t\t\n\t\t\tfor( const kid of this.sub() ) {\n\t\t\t\t\n\t\t\t\tif( !kid ) continue\n\t\t\t\t\n\t\t\t\tif( kid instanceof $mol_view ) {\n\t\t\t\t\twidth += kid.maximal_width()\n\t\t\t\t} else if( typeof kid !== 'object' ) {\n\t\t\t\t\twidth += String( kid ).length * letter\n\t\t\t\t}\n\n\t\t\t}\n\t\t\t\n\t\t\treturn width\n\n\t\t}\n\n\t\twidth_limit() {\n\t\t\treturn this.$.$mol_window.size().width\n\t\t}\n\t\t\n\t\tminimal_width() {\n\t\t\treturn this.letter_width()\n\t\t}\n\n\t\t@ $mol_mem\n\t\trow_width() {\n\t\t\treturn Math.max( Math.min( this.width_limit() , this.maximal_width() ) , this.letter_width() )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tminimal_height() {\n\t\t\treturn Math.max( 1 , Math.ceil( this.maximal_width() / this.row_width() ) ) * this.line_height()\n\t\t}\n\n\t}\n\n}\n","namespace $ { $mol_style_attach( \"mol/paragraph/paragraph.view.css\",\n \":where([mol_paragraph]) {\\n\\tmargin: 0;\\n\\tmax-width: 100%;\\n}\\n\"\n) }","$mol_dimmer $mol_paragraph\n\thaystack \\\n\tneedle \\\n\tsub <= parts /$mol_view_content\n\tLow* $mol_paragraph\n\t\tsub /\n\t\t\t<= string* \\\n\tHigh* $mol_paragraph\n\t\tsub /\n\t\t\t<= string* \\\n","namespace $.$$ {\n\t$mol_test({\n\t\t\n\t\t'Empty needle'() {\n\t\t\t\n\t\t\tconst app = new $mol_dimmer\n\t\t\tapp.needle = ()=> ' '\n\t\t\tapp.haystack = ()=> 'foo bar'\n\t\t\t\n\t\t\t$mol_assert_like( app.strings(), [ 'foo bar' ] )\n\t\t\t\n\t\t},\n\t\t\n\t\t'Empty haystack'() {\n\t\t\t\n\t\t\tconst app = new $mol_dimmer\n\t\t\tapp.needle = ()=> 'foo bar'\n\t\t\tapp.haystack = ()=> ''\n\t\t\t\n\t\t\t$mol_assert_like( app.strings(), [ '' ] )\n\t\t\t\n\t\t},\n\t\t\n\t\t'Not found'() {\n\t\t\t\n\t\t\tconst app = new $mol_dimmer\n\t\t\tapp.needle = ()=> 'foo'\n\t\t\tapp.haystack = ()=> ' bar '\n\t\t\t\n\t\t\t$mol_assert_like( app.strings(), [ ' bar ' ] )\n\t\t\t\n\t\t},\n\t\t\n\t\t'One found'() {\n\t\t\t\n\t\t\tconst app = new $mol_dimmer\n\t\t\tapp.needle = ()=> 'foo'\n\t\t\tapp.haystack = ()=> ' barfoo '\n\t\t\t\n\t\t\t$mol_assert_like( app.strings(), [ ' bar', 'foo', ' ' ] )\n\t\t\t\n\t\t},\n\t\t\n\t\t'Multiple found'() {\n\t\t\t\n\t\t\tconst app = new $mol_dimmer\n\t\t\tapp.needle = ()=> 'foo'\n\t\t\tapp.haystack = ()=> ' foobarfoo foo'\n\t\t\t\n\t\t\t$mol_assert_like( app.strings(), [ ' ', 'foo', 'bar', 'foo', ' ', 'foo' ] )\n\t\t\t\n\t\t},\n\t\t\n\t\t'Fuzzy search'() {\n\t\t\t\n\t\t\tconst app = new $mol_dimmer\n\t\t\tapp.needle = ()=> 'foo bar'\n\t\t\tapp.haystack = ()=> ' barfoo '\n\t\t\t\n\t\t\t$mol_assert_like( app.strings(), [ ' ', 'bar', '', 'foo', ' ' ] )\n\t\t\t\n\t\t},\n\t\t\n\t})\n}\n","namespace $.$$ {\n\n\t/**\n\t * Output text with dimmed mismatched substrings.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_dimmer_demo\n\t */\n\texport class $mol_dimmer extends $.$mol_dimmer {\n\t\t\n\t\tparts() {\n\t\t\tconst needle = this.needle()\n\t\t\tif( needle.length < 2 ) return [ this.haystack() ]\n\t\t\t\n\t\t\tlet chunks : any[] = []\n\t\t\tlet strings = this.strings()\n\t\t\t\n\t\t\tfor( let index = 0 ; index < strings.length ; index++ ) {\n\t\t\t\tif( strings[ index ] === '' ) continue\n\t\t\t\t\n\t\t\t\tchunks.push( ( index % 2 ) ? this.High( index ) : this.Low( index ) )\n\t\t\t}\n\t\t\t\n\t\t\treturn chunks\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tstrings() {\n\t\t\t\n\t\t\tconst options = this.needle().split( /\\s+/g ).filter( Boolean )\n\t\t\tif( !options.length ) return [ this.haystack() ]\n\t\t\t\n\t\t\tconst variants = { ... options } as Record< number, string >\n\t\t\tconst regexp = $mol_regexp.from( { needle: variants } , { ignoreCase: true } )\n\t\t\t\n\t\t\treturn this.haystack().split( regexp )\n\t\t}\n\t\t\n\t\tstring( index: number ) {\n\t\t\treturn this.strings()[ index ]\n\t\t}\n\t\t\n\t\t*view_find(\n\t\t\tcheck: ( path : $mol_view, text?: string )=> boolean,\n\t\t\tpath = [] as $mol_view[],\n\t\t): Generator< $mol_view[] > {\n\n\t\t\tif( check( this, this.haystack() ) ) {\n\t\t\t\tyield [ ... path, this ]\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/dimmer/dimmer.view.css\",\n \"[mol_dimmer] {\\n\\tdisplay: block;\\n\\tmax-width: 100%;\\n}\\n\\n[mol_dimmer_low] {\\n\\tdisplay: inline;\\n\\topacity: 0.8;\\n}\\n\\n[mol_dimmer_high] {\\n\\tdisplay: inline;\\n\\tcolor: var(--mol_theme_focus);\\n\\ttext-shadow: 0 0;\\n}\\n\"\n) }","$mol_speck $mol_view\n\tminimal_width 12\n\tattr *\n\t\t^\n\t\tmol_theme <= theme \\$mol_theme_accent\n\tstyle *\n\t\t^\n\t\tminHeight \\1em\n\tsub /\n\t\t<= value null\n","namespace $ { $mol_style_attach( \"mol/speck/speck.view.css\",\n \"[mol_speck] {\\n\\tfont-size: .75rem;\\n\\tborder-radius: 1rem;\\n\\tmargin: -0.5rem -0.2rem;\\n\\talign-self: flex-start;\\n\\tmin-height: 1em;\\n\\tvertical-align: sub;\\n\\tpadding: 0 .2rem;\\n\\tposition: absolute;\\n\\tz-index: var(--mol_layer_speck);\\n\\ttext-align: center;\\n\\tline-height: .9;\\n\\tdisplay: inline-block;\\n\\twhite-space: nowrap;\\n\\ttext-overflow: ellipsis;\\n\\tuser-select: none;\\n\\tbox-shadow: 0 0 3px rgba(0,0,0,.5);\\n}\\n\"\n) }","$mol_button $mol_view\n\tenabled true\n\tclick?event null\n\tevent_click?event null\n\tevent *\n\t\t^\n\t\tclick?event <=> activate?event <=> event_activate?event null\n\t\tdblclick?event <=> clicks?event null\n\t\tkeydown?event <=> key_press?event <=> event_key_press?event null\n\tattr *\n\t\t^\n\t\tdisabled <= disabled false\n\t\trole \\button\n\t\ttabindex <= tab_index 0\n\t\ttitle <= hint_safe <= hint \\\n\tsub /$mol_view_content\n\t\t<= title\n\tSpeck $mol_speck\n\t\tvalue <= error \\\n","namespace $.$$ {\n\t\n\t$mol_test({\n\t\t\n\t\t'handle clicks by default'($) {\n\t\t\tlet clicked = false\n\t\t\t\n\t\t\tconst clicker = $mol_button.make({\n\t\t\t\t$,\n\t\t\t\tclick : ( event : MouseEvent )=> { clicked = true } ,\n\t\t\t})\n\t\t\t\n\t\t\tconst element = clicker.dom_tree() as HTMLButtonElement\n\t\t\t\n\t\t\tconst event = $mol_dom_context.document.createEvent( 'mouseevent' )\n\t\t\tevent.initEvent( 'click' , true , true )\n\t\t\telement.dispatchEvent( event )\n\t\t\t\n\t\t\t$mol_assert_ok( clicked )\n\t\t} ,\n\t\t\n\t\t'no handle clicks if disabled'($) {\n\t\t\tlet clicked = false\n\t\t\t\n\t\t\tconst clicker = $mol_button.make({\n\t\t\t\t$,\n\t\t\t\tclick : ( event : MouseEvent )=> { clicked = true } ,\n\t\t\t\tenabled : ()=> false ,\n\t\t\t})\n\t\t\t\n\t\t\tconst element = clicker.dom_tree() as HTMLButtonElement\n\t\t\t\n\t\t\tconst event = $mol_dom_context.document.createEvent( 'mouseevent' )\n\t\t\tevent.initEvent( 'click' , true , true )\n\t\t\telement.dispatchEvent( event )\n\t\t\t\n\t\t\t$mol_assert_not( clicked )\n\t\t} ,\n\t\t\n\t\tasync 'Store error'($) {\n\t\t\t\n\t\t\tconst clicker = $mol_button.make({\n\t\t\t\t$,\n\t\t\t\tclick : ( event : MouseEvent )=> $.$mol_fail( new Error( 'Test error' ) ),\n\t\t\t})\n\t\t\t\n\t\t\tconst event = $mol_dom_context.document.createEvent( 'mouseevent' )\n\t\t\t$mol_assert_fail( ()=> clicker.event_activate( event ), 'Test error' )\n\t\t\tawait Promise.resolve()\n\t\t\t$mol_assert_equal( clicker.status()[0].message, 'Test error' )\n\t\t\t\n\t\t} ,\n\t\t\n\t})\n\t\n}\n","namespace $.$$ {\n\t\n\t/**\n\t * Simple button.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_button_demo\n\t */\n\texport class $mol_button extends $.$mol_button {\n\n\t\t@ $mol_mem\n\t\tstatus( next = [ null as any ] ) { return next }\n\t\t\n\t\tdisabled() {\n\t\t\treturn !this.enabled()\n\t\t}\n\t\t\n\t\tevent_activate( next : Event ) {\n\t\t\t\n\t\t\tif( !next ) return\n\t\t\tif( !this.enabled() ) return\n\n\t\t\ttry {\n\t\t\t\t\n\t\t\t\tthis.event_click( next )\n\t\t\t\tthis.click( next )\n\t\t\t\tthis.status([ null ])\n\t\t\t\t\n\t\t\t} catch( error: any ) {\n\t\t\t\t\n\t\t\t\tPromise.resolve().then( ()=> this.status([ error ]) )\n\t\t\t\t$mol_fail_hidden( error )\n\t\t\t\t\n\t\t\t}\n\n\t\t}\n\t\t\n\t\tevent_key_press ( event: KeyboardEvent ) { \n\t\t\tif( event.keyCode === $mol_keyboard_code.enter ) {\n\t\t\t\treturn this.activate( event )\n\t\t\t}\n\t\t} \n\t\t\n\t\ttab_index() {\n\t\t\treturn this.enabled() ? super.tab_index() : -1\n\t\t}\n\n\t\terror() {\n\n\t\t\tconst [ error ] = this.status()\n\t\t\tif( !error ) return ''\n\n\t\t\tif( error instanceof Promise ) {\n\t\t\t\treturn $mol_fail_hidden( error )\n\t\t\t}\n\t\t\t\n\t\t\treturn String( error.message ?? error )\n\n\t\t}\n\t\t\n\t\thint_safe() {\n\t\t\ttry {\n\t\t\t\treturn this.hint()\n\t\t\t} catch( error ) {\n\t\t\t\t$mol_fail_log( error )\n\t\t\t\treturn ''\n\t\t\t}\n\t\t}\n\n\t\tsub_visible() {\n\t\t\treturn [\n\t\t\t\t... this.error() ? [ this.Speck() ] : [] ,\n\t\t\t\t... this.sub() ,\n\t\t\t]\n\t\t}\n\t\t\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/button/button.view.css\",\n \"[mol_button] {\\n\\tborder: none;\\n\\tfont: inherit;\\n\\tdisplay: inline-flex;\\n\\tflex-shrink: 0;\\n\\ttext-decoration: inherit;\\n\\tcursor: inherit;\\n\\tposition: relative;\\n\\tbox-sizing: border-box;\\n\\tword-break: normal;\\n\\tcursor: default;\\n\\tuser-select: none;\\n\\t-webkit-user-select: none;\\n\\tborder-radius: var(--mol_gap_round);\\n\\tbackground: transparent;\\n\\tcolor: inherit;\\n}\\n\\n[mol_button]:where(:not(:disabled)):hover {\\n\\tz-index: var(--mol_layer_hover);\\n}\\n\\n[mol_button]:focus {\\n\\toutline: none;\\n\\tz-index: var(--mol_layer_focus);\\n}\\n\"\n) }","$mol_button_typed $mol_button\n\tminimal_height 40\n\tminimal_width 40\n","namespace $ { $mol_style_attach( \"mol/button/typed/typed.view.css\",\n \"[mol_button_typed] {\\n\\talign-content: center;\\n\\talign-items: center;\\n\\tpadding: var(--mol_gap_text);\\n\\tborder-radius: var(--mol_gap_round);\\n\\tgap: var(--mol_gap_space);\\n\\tuser-select: none;\\n\\tcursor: pointer;\\n\\tmin-width: 2.5rem;\\n\\tmin-height: 2.5rem;\\n}\\n\\n[mol_button_typed][disabled] {\\n\\tpointer-events: none;\\n}\\n\\n[mol_button_typed]:hover ,\\n[mol_button_typed]:focus-visible {\\n\\tbox-shadow: inset 0 0 0 100vmax var(--mol_theme_hover);\\n}\\n\\n[mol_button_typed]:active {\\n\\tcolor: var(--mol_theme_focus);\\n}\\n\"\n) }","$mol_button_minor $mol_button_typed\n","namespace $ { $mol_style_attach( \"mol/button/minor/minor.view.css\",\n \"[mol_button_minor] {\\n\\tcolor: var(--mol_theme_control);\\n}\\n\\n[mol_button_minor][disabled] {\\n\\tcolor: var(--mol_theme_shade);\\n}\\n\"\n) }","namespace $.$$ {\n\tconst d = '$'\n\tconst file_name = '/mol/view/tree2/class/props.test.ts'\n\n\tfunction normalize($: $, src: string, dest?: string) {\n\t\tconst mod = $.$mol_tree2_from_string( src, file_name )\n\t\tconst input = $.$mol_view_tree2_class_props(mod.kids[0]).join('')\n\t\tconst output = dest ? $$.$mol_tree2_from_string(dest, 'reference').toString() : ''\n\t\treturn { input, output }\n\t}\n\n\t$mol_test({\n\t\t'dupes merge'($) {\n\t\t\tconst src = `\n\t\t\t\t${d}my_test ${d}my_super\n\t\t\t\t\tquery? \\\\\n\t\t\t\t\tQuery $mol_string\n\t\t\t\t\t\tvalue? <=> query? \\\\\n\t\t\t\t\tSuggest_label ${d}mol_dimmer\n\t\t\t\t\t\tneedle <= query? \\\\\n\t\t\t\t\t\tkey * escape? <=> clear? null\n\t\t\t\t\tClear ${d}mol_button_minor\n\t\t\t\t\t\tclick?event <=> clear?event null\n\t\t\t`\n\n\t\t\tconst dest = `\n\t\t\t\tquery? \\\\\n\t\t\t\tclear?event null\n\t\t\t\tQuery $mol_string value? <=> query?\n\t\t\t\tSuggest_label $mol_dimmer\n\t\t\t\t\tneedle <= query?\n\t\t\t\t\tkey * escape? <=> clear?\n\t\t\t\tClear $mol_button_minor click?event <=> clear?event\n\t\t\t`\n\t\t\tconst res = normalize($, src, dest)\n\t\t\t$mol_assert_equal(res.input, res.output)\n\t\t},\n\n\t\t'left and bidi common'($) {\n\t\t\tconst src = `\n\t\t\t\t${d}my_test ${d}my_super\n\t\t\t\t\ttitle @ \\\\title\n\t\t\t\t\tsub2 /\n\t\t\t\t\t\t<= Close_icon ${d}mol_icon_cross\n\t\t\t\t\tsub /\n\t\t\t\t\t\t<= Title ${d}mol_view\n\t\t\t\t\t\t\tsub /\n\t\t\t\t\t\t\t\t<= title\n\t\t\t\t\t\t<= Close ${d}mol_button\n\t\t\t\t\t\t\ttitle \\\\close\n\t\t\t\t\t\t\tclick?event <=> close?event null\n\t\t\t`\n\t\t\t\n\t\t\tconst dest = `\n\t\t\t\tClose_icon ${d}mol_icon_cross\n\t\t\t\tTitle ${d}mol_view sub / <= title\n\t\t\t\tclose?event null\n\t\t\t\tClose ${d}mol_button\n\t\t\t\t\ttitle \\\\close\n\t\t\t\t\tclick?event <=> close?event\n\t\t\t\ttitle @ \\\\title\n\t\t\t\tsub2 / <= Close_icon\n\t\t\t\tsub /\n\t\t\t\t\t<= Title\n\t\t\t\t\t<= Close\n\t\t\t`\n\t\t\n\t\t\tconst res = normalize($, src, dest)\n\t\t\t$mol_assert_equal(res.input, res.output)\n\t\t},\n\n\t\t'right bind levels'($) {\n\t\t\tconst src = `\n\t\t\t\t${d}my_test ${d}my_super\n\t\t\t\t\tDog ${d}mol_view_tree2_class_test_dog\n\t\t\t\t\t\tMouth => Dog_mouth\n\t\t\t\t\t\t\tanimation => dog_animation\n\t\t\t\t\tplugins /\n\t\t\t\t\t\t<= Human* ${d}mol_view_tree2_class_test_human\n\t\t\t\t\t\t\tMouth => Human_mouth\n\t\t\t\t\t\t\t\tanimation => human_animation\n\t\t\t\t\t\t\t\t\ttext => human_text\n\t\t\t`\n\n\t\t\tconst dest = `\n\t\t\t\tDog_mouth = Dog Mouth\n\t\t\t\tdog_animation = Dog_mouth animation\n\t\t\t\tHuman_mouth = Human* Mouth\n\t\t\t\thuman_animation = Human_mouth animation\n\t\t\t\thuman_text = human_animation text\n\t\t\t\tHuman* $mol_view_tree2_class_test_human Mouth => Human_mouth animation => human_animation text => human_text\n\t\t\t\tDog $mol_view_tree2_class_test_dog Mouth => Dog_mouth animation => dog_animation\n\t\t\t\tplugins / <= Human*\n\t\t\t`\n\n\t\t\tconst res = normalize($, src, dest)\n\t\t\t$mol_assert_equal(res.input, res.output)\n\t\t},\n\n\t\t'good right bind dupes'($) {\n\t\t\tconst src = `\n\t\t\t\t${d}my_test ${d}my_super\n\t\t\t\t\tSuggest_label ${d}mol_dimmer\n\t\t\t\t\t\tclear? => clear?\n\t\t\t\t\tClear ${d}mol_button_minor\n\t\t\t\t\t\tclick?e <=> clear?e\n\t\t\t`\n\n\t\t\tconst dest = `\n\t\t\t\tclear? = Suggest_label clear?\n\t\t\t\tSuggest_label $mol_dimmer clear? => clear?\n\t\t\t\tClear $mol_button_minor click?e <=> clear?e\n\t\t\t`\n\n\t\t\tconst res = normalize($, src, dest)\n\t\t\t$mol_assert_equal(res.input, res.output)\n\t\t},\n\n\t\t'conflicting right bind dupes'($) {\n\t\t\tconst src = `\n\t\t\t\t${d}my_test ${d}my_super\n\t\t\t\t\tSuggest_label ${d}mol_dimmer\n\t\t\t\t\t\tclear => clear\n\t\t\t\t\tClear ${d}mol_button_minor\n\t\t\t\t\t\tclick?event <=> clear?event null\n\t\t\t`\n\n\t\t\t$mol_assert_fail(\n\t\t\t\t() => normalize($, src).input,\n\t\t\t\t`Need an equal default values at \\`/mol/view/tree2/class/props.test.ts#4:16/5\\` vs \\`/mol/view/tree2/class/props.test.ts#6:23/11\\`\n<=>\n/mol/view/tree2/class/props.test.ts#6:19/3\nclick?event\n/mol/view/tree2/class/props.test.ts#6:7/11\n$mol_button_minor\n/mol/view/tree2/class/props.test.ts#5:12/17\nClear\n/mol/view/tree2/class/props.test.ts#5:6/5`\n\t\t\t)\n\t\t},\n\t})\n}\n","namespace $ {\n\n\tclass TestClass extends Uint8Array {}\n\n\t$mol_test({\n\t\t'Uint8Array vs itself'() {\n\t\t\t$mol_assert_ok( $mol_compare_array( new Uint8Array , new Uint8Array ) )\n\t\t\t$mol_assert_ok( $mol_compare_array( new Uint8Array([ 0 ]) , new Uint8Array([ 0 ]) ) )\n\t\t\t$mol_assert_not( $mol_compare_array( new Uint8Array([ 0 ]) , new Uint8Array([ 1 ]) ) )\n\t\t} ,\n\n\t\t'Uint8Array vs subclassed array'() {\n\t\t\t$mol_assert_not( $mol_compare_array( new Uint8Array , new TestClass ) )\n\t\t} ,\n\n\t})\n}\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\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\t\n\t$mol_test_mocks.push( $ => {\n\t\tclass $mol_locale_mock extends $mol_locale {\n\t\t\t\n\t\t\t@ $mol_mem\n\t\t\tlang( next = 'en' ) { return next }\n\t\t\t\n\t\t\t@ $mol_mem_key\n\t\t\tstatic source( lang: string ) {\n\t\t\t\treturn {}\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t$.$mol_locale = $mol_locale_mock\n\t} )\n\t\n}\n","namespace $ {\n\n\tconst run = $mol_data_pipe(\n\t\t$mol_tree2_from_string.bind($$),\n\t\t$mol_view_tree2_to_locale.bind($$)\n\t)\n\n\t$mol_test({\n\t\t'Locale simple'( $ ) {\n\t\t\tconst locales = run(`\n\t\t\t\tFoo Object\n\t\t\t\t\tlocalized @ \\\\bla\n\t\t\t`)\n\t\t\t$mol_assert_equal(locales['Foo_localized'], 'bla')\n\t\t},\n\n\t\t'Locale structural'( $ ) {\n\t\t\tconst locales = run(`\n\t\t\t\tFoo Object\n\t\t\t\t\tbar *\n\t\t\t\t\t\tloc @ \\\\v1\n\t\t\t\t\t\tbaz *\n\t\t\t\t\t\t\tloc2 @ \\\\v2\n\t\t\t`)\n\t\t\t$mol_assert_equal(locales['Foo_bar_loc'], 'v1')\n\t\t\t$mol_assert_equal(locales['Foo_bar_baz_loc2'], 'v2')\n\t\t},\n\n\t\t'Locale factory'( $ ) {\n\t\t\tconst locales = run(`\n\t\t\t\tBar Object\n\t\t\t\t\tloc \\\\v0\n\t\t\t\tFoo Object\n\t\t\t\t\tbutton Bar\n\t\t\t\t\t\tloc @ \\\\v1\n\t\t\t`)\n\t\t\t$mol_assert_equal(locales['Foo_button_loc'], 'v1')\n\t\t},\n\n\t\t'Locale bidi bind localized'( $ ) {\n\t\t\tconst locales = run(`\n\t\t\t\tFoo Object\n\t\t\t\t\ta? <=> b? @ \\\\v1\n\t\t\t`)\n\t\t\t$mol_assert_equal(locales['Foo_b'], 'v1')\n\t\t},\n\n\t\n\t})\n}\n","$mol_view_tree2_to_js_test_ex_array_slot_foo $mol_object\n\tfoot /string|number|boolean\n\t\t1\n\t\ttrue\n\t\t\\foot1\n\t\t^ insert /\n\t\t\t2\n\t\t\t3\n\t\t\t<= ins1 \\ins1\n\t\t\t^ sub_ins /number\n\t\t\t\t<= sub_ins1 1\n\t\t\t<= ins2 \\ins2\n\t\t<= foot2 \\foot2\n\n","$mol_view_tree2_to_js_test_ex_simple_nan_foo $mol_object\n\ta NaN\n\tb +NaN\n\tc -NaN\n\td +Infinity\n\te -Infinity\n\tf Infinity\n\n","$mol_view_tree2_to_js_test_ex_structural_foo $mol_object\n\tbar *\n\t\talpha 1\n\t\tbeta *\n\t\txxx <= lol 2\n","$mol_view_tree2_to_js_test_ex_array_union_foo $mol_object\n\tbar /$mol_view_tree2_to_js_test_ex_klass_tuple_type\n\t\t\\a\n\t\t<= foo \\c\n\t\t\\b\n","$mol_view_tree2_to_js_test_ex_array_number_foo $mol_object\n\tbar /\n\t\t-NaN\n\t\t-Infinity\n\t\t+Infinity\n\t\t0\n","$mol_view_tree2_to_js_test_ex_bidi_indexed_foo $mol_object\n\tindexed*? <=> owner*? null\n","$mol_view_tree2_to_js_test_ex_array_boolean_foo $mol_object\n\tbar /boolean\n\t\tfalse\n\t\ttrue\n","$mol_view_tree2_to_js_test_ex_array_indexed_foo $mol_object\n\ttags* /string\n\t\t<= tag1* \\t1\n\t\t^ slot* /\n\t\t\t<= tag2* \\t2\n","$mol_view_tree2_to_js_test_ex_bidi_chaining_foo $mol_object\n\ta? <=> b? <=> c? null\n","$mol_view_tree2_to_js_test_ex_bidi_fallback_foo $mol_object\n\tbar1? <=> bar2? 1\n","$mol_view_tree2_to_js_test_ex_left_chaining_foo $mol_object\n\ta <= b <= c? <= d? 0\n","$mol_view_tree2_to_js_test_ex_right_indexed_foo $mol_object\n\ta? *\n\t\tsome 123\n$mol_view_tree2_to_js_test_ex_right_indexed_bar $mol_object\n\tCls* $mol_view_tree2_to_js_test_ex_right_indexed_foo\n\t\ta => b*\n","$mol_view_tree2_to_js_test_ex_simple_string_foo $mol_object\n\thardcoded \\\n\t\t\\First\n\t\t\\Second\n\tlocalized @ \\bla\n","\n\t\t()\n\t\t\tthis\n\t\t\t[] \\$\n\t\t\t[] \\$mol_locale\n\t\t\t[] \\text\n\t\t\t(,) #key\n\t","$mol_view_tree2_to_js_test_ex_left_read_only_foo $mol_object\n\tbar1 <= bar2? 1\n","$mol_view_tree2_to_js_test_ex_right_hierarchy_foo $mol_object\n\tIndexed*xxx $mol_view_tree2_to_js_test_ex_right_hierarchy_bar\n\t\ttitle? => indexed_title*?\n\t\tid <= indexed_id* 0\n\tprj $mol_view_tree2_to_js_test_ex_right_hierarchy_bar\n\t\tdomain* => prj_domain*\n\t\t\tuser => prj_user*\n\t\t\t\tid => prj_user_id*\n","$mol_view_tree2_to_js_test_ex_right_read_only_foo $mol_object\n\ta*? null\n$mol_view_tree2_to_js_test_ex_right_read_only_bar $mol_object\n\tObj $mol_view_tree2_to_js_test_ex_right_read_only_foo\n\t\ta*? => b*?\n","$mol_view_tree2_to_js_test_ex_structural_dict_foo $mol_object\n\tbar *\n\t\talpha 1\n\t\tbeta \\a\n","$mol_view_tree2_to_js_test_ex_array_with_types_foo $mol_object\n\tarr /readonly(number)[]\n","$mol_view_tree2_to_js_test_ex_array_inheritance_foo $mol_object\n\tarr /\n\t\t\\v1\n$mol_view_tree2_to_js_test_ex_array_inheritance_bar $mol_view_tree2_to_js_test_ex_array_inheritance_foo\n\tarr /\n\t\t\\v3\n\t\t^\n\t\t\\v4\n","$mol_view_tree2_to_js_test_ex_bidi_legacy_value_foo $mol_object\n\ta?v <=> b?v 1\n","$mol_view_tree2_to_js_test_ex_simple_typed_null_foo $mol_object\n\ta null string|number\n","$mol_view_tree2_to_js_test_ex_bidi_in_dictionary_foo $mol_object\n\tevent *\n\t\tclick? <=> run? null\n","$mol_scroll $mol_view\n\tscroll_top? 0\n\tscroll_left? 0\n\tattr *\n\t\t^\n\t\ttabindex <= tabindex -1\n\tevent *\n\t\t^\n\t\tscroll?event <=> event_scroll?event null\n","namespace $ {\n\n\texport class $mol_print extends $mol_object {\n\n\t\t@ $mol_mem\n\t\tstatic before() {\n\t\t\treturn new $mol_dom_listener( this.$.$mol_dom_context , 'beforeprint' , ()=> {\n\t\t\t\tthis.active( true )\n\t\t\t} )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tstatic after() {\n\t\t\treturn new $mol_dom_listener( this.$.$mol_dom_context , 'afterprint' , ()=> {\n\t\t\t\tthis.active( false )\n\t\t\t} )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tstatic active( next? : boolean ) {\n\t\t\tthis.before()\n\t\t\tthis.after()\n\t\t\treturn next || false\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\n\texport function $mol_style_sheet<\n\t\tComponent extends $mol_view,\n\t\tConfig extends $mol_style_guard< Component , Config >,\n\t>(\n\t\tComponent : new()=> Component,\n\t\tconfig0 : Config ,\n\t) {\n\n\t\tlet rules = [] as string[]\n\n\t\tconst block = $mol_dom_qname( $mol_ambient({}).$mol_func_name( Component ) )\n\t\tconst kebab = ( name : string )=> name.replace( /[A-Z]/g , letter => '-' + letter.toLowerCase() )\n\n\t\tconst make_class = ( prefix : string , path : string[] , config : typeof config0 )=> {\n\n\t\t\tconst props = [] as string[]\n\n\t\t\tconst selector = ( prefix : string , path : string[] )=> {\n\t\t\t\tif( path.length === 0 ) return prefix || `[${ block }]`\n\t\t\t\tlet res = `[${ block }_${ path.join('_') }]`\n\t\t\t\tif( prefix ) res = prefix + ' :where(' + res + ')'\n\t\t\t\treturn res\n\t\t\t}\n\t\t\t\n\t\t\tfor( const key of Object.keys( config ).reverse() ) {\n\n\t\t\t\tif( /^(--)?[a-z]/.test(key) ) {\n\t\t\t\t\t\n\t\t\t\t\tconst addProp = ( keys : string[] , val : any )=> {\n\n\t\t\t\t\t\tif( Array.isArray( val ) ) {\n\n\t\t\t\t\t\t\tif( val[0] && [ Array , Object ].includes( val[0].constructor ) ) {\n\t\t\t\t\t\t\t\tval = val.map( v => {\n\t\t\t\t\t\t\t\t\treturn Object.entries( v ).map( ([ n , a ])=> {\n\t\t\t\t\t\t\t\t\t\tif( a === true ) return kebab( n )\n\t\t\t\t\t\t\t\t\t\tif( a === false ) return null\n\t\t\t\t\t\t\t\t\t\treturn String( a )\n\t\t\t\t\t\t\t\t\t} ).filter( Boolean ).join(' ')\n\t\t\t\t\t\t\t\t}).join( ',' )\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tval = val.join(' ')\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tprops.push(`\\t${ keys.join('-') }: ${ val };\\n`)\n\n\t\t\t\t\t\t} else if( val.constructor === Object ) {\n\n\t\t\t\t\t\t\tfor( let suffix of Object.keys( val ).reverse() ) {\n\t\t\t\t\t\t\t\taddProp( [ ... keys , kebab( suffix ) ] , val[ suffix ] )\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\tprops.push(`\\t${ keys.join('-') }: ${ val };\\n`)\n\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\n\t\t\t\t\taddProp( [ kebab(key) ] , (config as any)[key] )\n\n\t\t\t\t} else if( /^[A-Z]/.test(key) ) {\n\n\t\t\t\t\tmake_class( prefix , [ ... path , key.toLowerCase() ] , (config as any)[key] )\n\n\t\t\t\t} else if( key[0] === '$' ) {\n\n\t\t\t\t\tmake_class( selector( prefix , path ) + ' :where([' + $mol_dom_qname( key ) + '])' , [] , (config as any)[key] )\n\n\t\t\t\t} else if( key === '>' ) {\n\n\t\t\t\t\tconst types = config[key] as any\n\n\t\t\t\t\tfor( let type of Object.keys( types ).reverse() ) {\n\t\t\t\t\t\tmake_class( selector( prefix , path ) + ' > :where([' + $mol_dom_qname( type ) + '])' , [] , types[type] )\n\t\t\t\t\t}\n\n\t\t\t\t} else if( key === '@' ) {\n\n\t\t\t\t\tconst attrs = config[key] as any\n\n\t\t\t\t\tfor( let name of Object.keys( attrs ).reverse() ) {\n\t\t\t\t\t\tfor( let val in attrs[name] ) {\n\t\t\t\t\t\t\tmake_class( selector( prefix , path ) + ':where([' + name + '=' + JSON.stringify( val ) + '])' , [] , attrs[name][val] )\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t} else if( key === '@media' ) {\n\n\t\t\t\t\tconst media = (config as any)[key] as any\n\n\t\t\t\t\tfor( let query of Object.keys( media ).reverse() ) {\n\n\t\t\t\t\t\trules.push('}\\n')\n\t\t\t\t\t\t\n\t\t\t\t\t\tmake_class( prefix , path , media[query] )\n\t\t\t\t\t\t\n\t\t\t\t\t\trules.push( `${ key } ${ query } {\\n` )\n\n\t\t\t\t\t}\n\n\t\t\t\t} else if( key === '@starting-style' ) {\n\n\t\t\t\t\tconst styles = (config as any)[key] as any\n\t\t\t\t\trules.push('}\\n')\n\t\t\t\t\tmake_class( prefix , path , styles )\n\t\t\t\t\trules.push( `${ key } {\\n` )\n\n\t\t\t\t} else if( key[0] === '[' && key[key.length-1] === ']' ) {\n\n\t\t\t\t\tconst attr = key.slice( 1, -1 )\n\t\t\t\t\tconst vals = config[ key as any ] as any as Record< string, any >\n\t\t\t\t\t\n\t\t\t\t\tfor( let val of Object.keys( vals ).reverse() ) {\n\t\t\t\t\t\tmake_class( selector( prefix , path ) + ':where([' + attr + '=' + JSON.stringify( val ) + '])' , [] , vals[val] )\n\t\t\t\t\t}\n\t\t\t\t\n\t\t\t\t} else {\n\n\t\t\t\t\tmake_class( selector( prefix , path ) + key , [] , (config as any)[key] )\n\n\t\t\t\t}\n\n\t\t\t}\n\t\t\t\n\t\t\tif( props.length ) {\n\t\t\t\trules.push( `${ selector( prefix , path ) } {\\n${ props.reverse().join('') }}\\n` )\n\t\t\t}\n\n\t\t}\n\n\t\tmake_class( '' , [] , config0 )\n\n\t\treturn rules.reverse().join('')\n\n\t}\n\n}\n","namespace $ {\n\n\texport class $mol_style_sheet_test1 extends $mol_view {\n\t\tItem() { return new $mol_view }\n\t}\n\n\texport class $mol_style_sheet_test2 extends $mol_view {\n\t\tList() { return new $mol_style_sheet_test1 }\n\t}\n\n\t$mol_test({\n\n\t\t'component block styles'() {\n\t\t\n\t\t\tclass $mol_style_sheet_test extends $mol_view {}\n\n\t\t\tconst sheet = $mol_style_sheet( $mol_style_sheet_test , {\n\t\t\t\tdisplay: 'block',\n\t\t\t\tzIndex: 1,\n\t\t\t} )\n\n\t\t\t$mol_assert_equal( sheet , '[mol_style_sheet_test] {\\n\\tdisplay: block;\\n\\tz-index: 1;\\n}\\n' )\n\t\t\t\n\t\t},\n\n\t\t'various units'() {\n\t\t\n\t\t\tclass $mol_style_sheet_test extends $mol_view {}\n\n\t\t\tconst sheet = $mol_style_sheet( $mol_style_sheet_test , {\n\t\t\t\twidth : '50%',\n\t\t\t\theight : '50px',\n\t\t\t} )\n\n\t\t\t$mol_assert_equal( sheet , '[mol_style_sheet_test] {\\n\\twidth: 50%;\\n\\theight: 50px;\\n}\\n' )\n\t\t\t\n\t\t},\n\n\t\t'various functions'() {\n\t\t\n\t\t\tclass $mol_style_sheet_test extends $mol_view {}\n\n\t\t\tconst { calc } = $mol_style_func\n\n\t\t\tconst sheet = $mol_style_sheet( $mol_style_sheet_test , {\n\t\t\t\twidth : calc( `100% - 1px` ),\n\t\t\t} )\n\n\t\t\t$mol_assert_equal( sheet , '[mol_style_sheet_test] {\\n\\twidth: calc(100% - 1px);\\n}\\n' )\n\t\t\t\n\t\t},\n\n\t\t'property groups'() {\n\t\t\n\t\t\tclass $mol_style_sheet_test extends $mol_view {}\n\n\t\t\tconst sheet = $mol_style_sheet( $mol_style_sheet_test , {\n\t\t\t\tflex : {\n\t\t\t\t\tgrow: 5,\n\t\t\t\t\tshrink: 10,\n\t\t\t\t}\n\t\t\t} )\n\n\t\t\t$mol_assert_equal( sheet , '[mol_style_sheet_test] {\\n\\tflex-grow: 5;\\n\\tflex-shrink: 10;\\n}\\n' )\n\t\t\t\n\t\t},\n\t\t\n\t\t'custom properties'() {\n\t\t\n\t\t\tclass $mol_style_sheet_test extends $mol_view {}\n\n\t\t\tconst sheet = $mol_style_sheet( $mol_style_sheet_test , {\n\t\t\t\t'--isVariable': 'yes',\n\t\t\t\t'--is_variable': 'no',\n\t\t\t} )\n\n\t\t\t$mol_assert_equal( sheet , '[mol_style_sheet_test] {\\n\\t--is-variable: yes;\\n\\t--is_variable: no;\\n}\\n' )\n\t\t\t\n\t\t},\n\t\t\n\t\t'custom property groups'() {\n\t\t\t\n\t\t\tclass $mol_style_sheet_test extends $mol_view {}\n\n\t\t\tconst sheet = $mol_style_sheet( $mol_style_sheet_test , {\n\t\t\t\t'--variable' : {\n\t\t\t\t\ttest1: '5px',\n\t\t\t\t\ttest2: '10px',\n\t\t\t\t},\n\t\t\t} )\n\n\t\t\t$mol_assert_equal( sheet , '[mol_style_sheet_test] {\\n\\t--variable-test1: 5px;\\n\\t--variable-test2: 10px;\\n}\\n' )\n\t\t\t\n\t\t},\n\n\t\t'property shorthand'() {\n\t\t\n\t\t\tclass $mol_style_sheet_test extends $mol_view {}\n\t\t\t\n\t\t\tconst sheet = $mol_style_sheet( $mol_style_sheet_test , {\n\t\t\t\tpadding: [ '5px' , 'auto' ],\n\t\t\t\tmargin: [ '10px' , 'auto' ],\n\t\t\t} )\n\n\t\t\t$mol_assert_equal( sheet , '[mol_style_sheet_test] {\\n\\tpadding: 5px auto;\\n\\tmargin: 10px auto;\\n}\\n' )\n\t\t\t\n\t\t},\n\n\t\t'sequenced values'() {\n\t\t\n\t\t\tclass $mol_style_sheet_test extends $mol_view {}\n\n\t\t\tconst { url } = $mol_style_func\n\n\t\t\tconst sheet = $mol_style_sheet( $mol_style_sheet_test , {\n\t\t\t\tbackground: {\n\t\t\t\t\timage: [ [url('foo')], [url('bar')] ],\n\t\t\t\t\tsize: [[ 'cover' ], [ 'contain' ]],\n\t\t\t\t},\n\t\t\t} )\n\n\t\t\t$mol_assert_equal( sheet , '[mol_style_sheet_test] {\\n\\tbackground-image: url(\"foo\"),url(\"bar\");\\n\\tbackground-size: cover,contain;\\n}\\n' )\n\t\t\t\n\t\t},\n\n\t\t'sequenced structs'() {\n\t\t\n\t\t\tclass $mol_style_sheet_test extends $mol_view {}\n\n\t\t\tconst sheet = $mol_style_sheet( $mol_style_sheet_test , {\n\t\t\t\tbox: {\n\t\t\t\t\tshadow: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tinset: true,\n\t\t\t\t\t\t\tx: 0,\n\t\t\t\t\t\t\ty: 0,\n\t\t\t\t\t\t\tblur: '0.5rem',\n\t\t\t\t\t\t\tspread: 0,\n\t\t\t\t\t\t\tcolor: 'red',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tinset: false,\n\t\t\t\t\t\t\tx: 0,\n\t\t\t\t\t\t\ty: 0,\n\t\t\t\t\t\t\tblur: '0.5rem',\n\t\t\t\t\t\t\tspread: 0,\n\t\t\t\t\t\t\tcolor: 'blue',\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t} )\n\n\t\t\t$mol_assert_equal( sheet , '[mol_style_sheet_test] {\\n\\tbox-shadow: inset 0 0 0.5rem 0 red,0 0 0.5rem 0 blue;\\n}\\n' )\n\t\t\t\n\t\t},\n\n\t\t'component block styles with pseudo class'() {\n\t\t\n\t\t\tclass $mol_style_sheet_test extends $mol_view {}\n\n\t\t\tconst sheet = $mol_style_sheet( $mol_style_sheet_test , {\n\t\t\t\tcolor: 'red',\n\t\t\t\t':focus': {\n\t\t\t\t\tdisplay: 'block',\n\t\t\t\t},\n\t\t\t} )\n\n\t\t\t$mol_assert_equal( sheet , '[mol_style_sheet_test] {\\n\\tcolor: red;\\n}\\n[mol_style_sheet_test]:focus {\\n\\tdisplay: block;\\n}\\n' )\n\t\t\t\n\t\t},\n\n\t\t'component block styles with pseudo element'() {\n\t\t\n\t\t\tclass $mol_style_sheet_test extends $mol_view {}\n\n\t\t\tconst sheet = $mol_style_sheet( $mol_style_sheet_test , {\n\t\t\t\tcolor: 'red',\n\t\t\t\t'::first-line': {\n\t\t\t\t\tdisplay: 'block',\n\t\t\t\t},\n\t\t\t} )\n\n\t\t\t$mol_assert_equal( sheet , '[mol_style_sheet_test] {\\n\\tcolor: red;\\n}\\n[mol_style_sheet_test]::first-line {\\n\\tdisplay: block;\\n}\\n' )\n\t\t\t\n\t\t},\n\n\t\t'component block styles with media query'() {\n\t\t\n\t\t\tclass $mol_style_sheet_test extends $mol_view {}\n\n\t\t\tconst sheet = $mol_style_sheet( $mol_style_sheet_test , {\n\t\t\t\tcolor: 'red',\n\t\t\t\t'@media': {\n\t\t\t\t\t'print': {\n\t\t\t\t\t\tdisplay: 'block',\n\t\t\t\t\t},\n\t\t\t\t\t'(max-width: 640px)': {\n\t\t\t\t\t\tdisplay: 'inline',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t} )\n\n\t\t\t$mol_assert_equal( sheet , '[mol_style_sheet_test] {\\n\\tcolor: red;\\n}\\n@media print {\\n[mol_style_sheet_test] {\\n\\tdisplay: block;\\n}\\n}\\n@media (max-width: 640px) {\\n[mol_style_sheet_test] {\\n\\tdisplay: inline;\\n}\\n}\\n' )\n\t\t\t\n\t\t},\n\n\t\t'component block styles with attribute value'() {\n\t\t\n\t\t\tclass $mol_style_sheet_test extends $mol_view {\n\t\t\t\tattr() { return {\n\t\t\t\t\tmol_theme: '$mol_theme_dark'\n\t\t\t\t} }\n\t\t\t}\n\n\t\t\tconst sheet = $mol_style_sheet( $mol_style_sheet_test , {\n\t\t\t\tcolor: 'red',\n\t\t\t\t'@' : {\n\t\t\t\t\tmol_theme: {\n\t\t\t\t\t\t'$mol_theme_dark': {\n\t\t\t\t\t\t\tdisplay: 'block',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tdisabled: {\n\t\t\t\t\t\t'true': {\n\t\t\t\t\t\t\twidth: '100%',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t} )\n\n\t\t\t$mol_assert_equal( sheet , '[mol_style_sheet_test] {\\n\\tcolor: red;\\n}\\n[mol_style_sheet_test]:where([mol_theme=\"$mol_theme_dark\"]) {\\n\\tdisplay: block;\\n}\\n[mol_style_sheet_test]:where([disabled=\"true\"]) {\\n\\twidth: 100%;\\n}\\n' )\n\t\t\t\n\t\t},\n\n\t\t'component block styles with attribute value (short syntax)'() {\n\t\t\n\t\t\tclass $mol_style_sheet_test extends $mol_view {\n\t\t\t\tattr() { return {\n\t\t\t\t\tmol_theme: '$mol_theme_dark'\n\t\t\t\t} }\n\t\t\t}\n\n\t\t\tconst sheet = $mol_style_sheet( $mol_style_sheet_test , {\n\t\t\t\tcolor: 'red',\n\t\t\t\t'[mol_theme]': {\n\t\t\t\t\t'$mol_theme_dark': {\n\t\t\t\t\t\tdisplay: 'block',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t'[disabled]': {\n\t\t\t\t\t'true': {\n\t\t\t\t\t\twidth: '100%',\n\t\t\t\t\t},\n\t\t\t\t\t'false': {\n\t\t\t\t\t\twidth: '50%',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t} )\n\n\t\t\t$mol_assert_equal( sheet , '[mol_style_sheet_test] {\\n\\tcolor: red;\\n}\\n[mol_style_sheet_test]:where([mol_theme=\"$mol_theme_dark\"]) {\\n\\tdisplay: block;\\n}\\n[mol_style_sheet_test]:where([disabled=\"true\"]) {\\n\\twidth: 100%;\\n}\\n[mol_style_sheet_test]:where([disabled=\"false\"]) {\\n\\twidth: 50%;\\n}\\n' )\n\t\t\t\n\t\t},\n\n\t\t'component element styles'() {\n\t\t\n\t\t\tclass $mol_style_sheet_test extends $mol_view {\n\t\t\t\tItem() { return new $mol_view }\n\t\t\t}\n\n\t\t\tconst sheet = $mol_style_sheet( $mol_style_sheet_test , {\n\t\t\t\tcolor: 'red',\n\t\t\t\tItem : {\n\t\t\t\t\tdisplay: 'block',\n\t\t\t\t},\n\t\t\t} )\n\n\t\t\t$mol_assert_equal( sheet , '[mol_style_sheet_test] {\\n\\tcolor: red;\\n}\\n[mol_style_sheet_test_item] {\\n\\tdisplay: block;\\n}\\n' )\n\t\t\t\n\t\t},\n\n\t\t'component element of element styles'() {\n\t\t\n\t\t\tconst sheet = $mol_style_sheet( $mol_style_sheet_test2 , {\n\t\t\t\twidth: '100%',\n\t\t\t\tList : {\n\t\t\t\t\tcolor: 'red',\n\t\t\t\t\tItem : {\n\t\t\t\t\t\tdisplay: 'block',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t} )\n\n\t\t\t$mol_assert_equal( sheet , '[mol_style_sheet_test2] {\\n\\twidth: 100%;\\n}\\n[mol_style_sheet_test2_list] {\\n\\tcolor: red;\\n}\\n[mol_style_sheet_test2_list_item] {\\n\\tdisplay: block;\\n}\\n' )\n\t\t\t\n\t\t},\n\n\t\t'component element styles with block attribute value'() {\n\t\t\n\t\t\tclass $mol_style_sheet_test extends $mol_view {\n\t\t\t\tItem() { return new $mol_view }\n\t\t\t\tattr() { return {\n\t\t\t\t\tmol_theme: '$mol_theme_dark',\n\t\t\t\t\tdisabled: true,\n\t\t\t\t} }\n\t\t\t}\n\n\t\t\tconst sheet = $mol_style_sheet( $mol_style_sheet_test , {\n\t\t\t\t'@' : {\n\t\t\t\t\tmol_theme: {\n\t\t\t\t\t\t'$mol_theme_dark': {\n\t\t\t\t\t\t\tItem: {\n\t\t\t\t\t\t\t\tcolor: 'red',\n\t\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\t\t\t} )\n\n\t\t\t$mol_assert_equal( sheet , '[mol_style_sheet_test]:where([mol_theme=\"$mol_theme_dark\"]) :where([mol_style_sheet_test_item]) {\\n\\tcolor: red;\\n}\\n' )\n\t\t\t\n\t\t},\n\n\t\t'inner component styles by class'() {\n\t\t\n\t\t\tconst sheet = $mol_style_sheet( $mol_style_sheet_test2 , {\n\t\t\t\tcolor: 'red',\n\t\t\t\t$mol_style_sheet_test1 : {\n\t\t\t\t\tdisplay: 'block',\n\t\t\t\t},\n\t\t\t} )\n\n\t\t\t$mol_assert_equal( sheet , '[mol_style_sheet_test2] {\\n\\tcolor: red;\\n}\\n[mol_style_sheet_test2] :where([mol_style_sheet_test1]) {\\n\\tdisplay: block;\\n}\\n' )\n\t\t\t\n\t\t},\n\n\t\t'child component styles by class'() {\n\t\t\n\t\t\tconst sheet = $mol_style_sheet( $mol_style_sheet_test2 , {\n\t\t\t\tcolor: 'red',\n\t\t\t\t'>' : {\n\t\t\t\t\t$mol_style_sheet_test1 : {\n\t\t\t\t\t\tdisplay: 'block',\n\t\t\t\t\t},\n\t\t\t\t\t$mol_style_sheet_test2 : {\n\t\t\t\t\t\tdisplay: 'inline',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t} )\n\n\t\t\t$mol_assert_equal( sheet , '[mol_style_sheet_test2] {\\n\\tcolor: red;\\n}\\n[mol_style_sheet_test2] > :where([mol_style_sheet_test1]) {\\n\\tdisplay: block;\\n}\\n[mol_style_sheet_test2] > :where([mol_style_sheet_test2]) {\\n\\tdisplay: inline;\\n}\\n' )\n\t\t\t\n\t\t},\n\n\t})\n\n}\n","namespace $ {\n\n\t/**\n\t * CSS in TS.\n\t * Statically typed CSS style sheets. Following samples show which CSS code are generated from TS code.\n\t * @see https://mol.hyoo.ru/#!section=docs/=xwq9q5_f966fg\n\t */\n\texport function $mol_style_define<\n\t\tComponent extends $mol_view,\n\t\tConfig extends $mol_style_guard< Component , Config >,\n\t>(\n\t\tComponent : new()=> Component,\n\t\tconfig : Config ,\n\t) {\n\n\t\treturn $mol_style_attach(\n\t\t\tComponent.name,\n\t\t\t$mol_style_sheet( Component , config ),\n\t\t)\n\n\t}\n\n}\n","namespace $.$$ {\n\t\n\t/**\n\t * Scrolling pane.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_scroll_demo\n\t */\n\texport class $mol_scroll extends $.$mol_scroll {\n\n\t\t@ $mol_mem\n\t\tscroll_top( next? : number, cache?: 'cache' ): number {\n\t\t\t\n\t\t\tconst el = this.dom_node()\n\t\t\tif( next !== undefined && !cache ) el.scrollTop = next\n\t\t\t\n\t\t\treturn el.scrollTop\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tscroll_left( next? : number, cache?: 'cache' ): number {\n\t\t\t\n\t\t\tconst el = this.dom_node()\n\t\t\tif( next !== undefined && !cache ) el.scrollLeft = next\n\t\t\t\n\t\t\treturn el.scrollLeft\n\t\t}\n\t\t\n\t\tevent_scroll( next? : Event ) {\n\t\t\t\n\t\t\tconst el = this.dom_node() as HTMLElement\n\t\t\t\n\t\t\tthis.scroll_left( el.scrollLeft, 'cache' )\n\t\t\tthis.scroll_top( el.scrollTop, 'cache' )\n\t\t\t\n\t\t}\n\n\t\tminimal_height() {\n\t\t\treturn this.$.$mol_print.active() ? null! : 0\n\t\t}\n\t\t\n\t\tminimal_width() {\n\t\t\treturn this.$.$mol_print.active() ? null! : 0\n\t\t}\n\t\t\n\t}\n\n}\n","namespace $.$$ {\n\n\tconst { per , rem , px } = $mol_style_unit\n\n\t$mol_style_define( $mol_scroll , {\n\n\t\tdisplay: 'grid',\n\t\toverflow: 'auto',\n\t\tflex: {\n\t\t\tdirection: 'column',\n\t\t\tgrow: 1,\n\t\t\tshrink: 1,\n\t\t\t// basis: 0,\n\t\t},\n\t\toutline: 'none',\n\t\talign: {\n\t\t\tself: 'stretch',\n\t\t\titems: 'flex-start',\n\t\t},\n\t\tboxSizing: 'border-box',\n\t\twillChange: 'scroll-position',\n\t\tscroll: {\n\t\t\tpadding: [ rem(.75), 0 ],\n\t\t},\n\t\tmaxHeight: per(100),\n\t\tmaxWidth: per(100),\n\t\twebkitOverflowScrolling: 'touch',\n\t\tcontain: 'content',\n\n\t\t'>': {\n\t\t\t$mol_view: {\n\t\t\t\t// transform: 'translateZ(0)', // enforce gpu scroll in all agents\n\t\t\t\tgridArea: '1/1',\n\t\t\t},\n\t\t},\n\n\t\t'::before': {\n\t\t\tdisplay: 'none',\n\t\t},\n\t\t'::after': {\n\t\t\tdisplay: 'none',\n\t\t},\n\t\t\n\t\t'::-webkit-scrollbar': {\n\t\t\twidth: rem(.25),\n\t\t\theight: rem(.25),\n\t\t},\n\t\t\n\t\t'@media' : {\n\t\t\t'print' : {\n\t\t\t\toverflow: 'hidden',\n\t\t\t\tcontain: 'none',\n\t\t\t\tmaxHeight: 'unset',\n\t\t\t},\n\t\t},\n\n\t})\n\n}\n","$mol_page $mol_view\n\tdom_name \\article\n\tattr *\n\t\t^\n\t\ttabIndex <= tabindex -1\n\tsub /\n\t\t<= Head $mol_view\n\t\t\tminimal_height 64\n\t\t\tdom_name \\header\n\t\t\tsub <= head /\n\t\t\t\t<= Title $mol_view\n\t\t\t\t\tdom_name \\h1\n\t\t\t\t\tsub <= title_content /\n\t\t\t\t\t\t<= Logo null\n\t\t\t\t\t\t<= title\n\t\t\t\t<= Tools $mol_view\n\t\t\t\t\tsub <= tools /$mol_view_content\n\t\t<= Body $mol_scroll\n\t\t\tscroll_top? => body_scroll_top?\n\t\t\tsub <= body_content /\n\t\t\t\t<= Body_content $mol_view\n\t\t\t\t\tsub <= body /$mol_view\n\t\t<= Foot $mol_view\n\t\t\tdom_name \\footer\n\t\t\tsub <= foot /$mol_view\n","namespace $.$$ {\n\n\tconst { per , rem } = $mol_style_unit\n\tconst { hsla, blur } = $mol_style_func\n\n\t$mol_style_define( $mol_page , {\n\n\t\tdisplay: 'flex' ,\n\t\tflex: {\n\t\t\tbasis: 'auto' ,\n\t\t\tdirection: 'column' ,\n\t\t},\n\t\tposition: 'relative' ,\n\t\talignSelf: 'stretch' ,\n\t\tmaxWidth: per(100) ,\n\t\tmaxHeight: per(100) ,\n\t\tboxSizing: 'border-box' ,\n\t\tcolor: $mol_theme.text ,\n\t\t// backdropFilter: blur( `3px` ), enforces layering\n\t\t// zIndex: 0 ,\n\t\t\n\t\t':focus': {\n\t\t\toutline: 'none',\n\t\t} ,\n\n\t\tHead: {\n\t\t\tdisplay: 'flex' ,\n\t\t\tflexWrap: 'wrap' ,\n\t\t\tjustifyContent: 'flex-end' ,\n\t\t\tflex: 'none',\n\t\t\tposition: 'relative' ,\n\t\t\tmargin: 0 ,\n\t\t\tminHeight: rem(4),\n\t\t\tpadding: $mol_gap.block ,\n\t\t\tbackground: {\n\t\t\t\tcolor: $mol_theme.card ,\n\t\t\t},\n\t\t\tborder: {\n\t\t\t\tradius: $mol_gap.round,\n\t\t\t},\n\t\t\tbox: {\n\t\t\t\tshadow: [\n\t\t\t\t\t[ 0, `-0.5rem`, `0.5rem`, `-0.5rem`, hsla( 0, 0, 0, .25 ) ],\n\t\t\t\t\t[ 0, `0.5rem`, `0.5rem`, `-0.5rem`, hsla( 0, 0, 0, .25 ) ],\n\t\t\t\t],\n\t\t\t},\n\t\t\tzIndex: 2,\n\n\t\t\t'@media': {\n\t\t\t\t'print': {\n\t\t\t\t\tbox: {\n\t\t\t\t\t\tshadow: [[ 0, `1px`, 0, 0, hsla( 0, 0, 0, .25 ) ]],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\n\t\t},\n\n\t\tTitle: {\n\n\t\t\tminHeight: rem(2),\n\t\t\tmargin: 0,\n\t\t\tpadding: $mol_gap.text,\n\t\t\tgap: $mol_gap.text,\n\t\t\twordBreak: 'normal',\n\t\t\ttextShadow: '0 0',\n\n\t\t\tfont: {\n\t\t\t\tsize: 'inherit',\n\t\t\t\tweight: 'normal',\n\t\t\t},\n\t\n\t\t\tflex: {\n\t\t\t\tgrow: 1,\n\t\t\t\tshrink: 1,\n\t\t\t\tbasis: 'auto',\n\t\t\t},\n\n\t\t},\n\n\t\tTools: {\n\t\t\t\n\t\t\tflex: {\n\t\t\t\tbasis: 'auto',\n\t\t\t\tgrow: 0,\n\t\t\t\tshrink: 1,\n\t\t\t},\n\t\t\tdisplay: 'flex',\n\t\t\tjustifyContent: 'flex-end',\n\t\t\talignItems: 'flex-start',\n\t\t\tflexWrap: 'wrap',\n\n\t\t\t'@media': {\n\t\t\t\t'print': {\n\t\t\t\t\tdisplay: 'none',\n\t\t\t\t},\n\t\t\t},\n\n\t\t},\n\n\t\tBody: {\n\t\t\tflex: {\n\t\t\t\tgrow: 1000,\n\t\t\t\tshrink: 1,\n\t\t\t\tbasis: per(100),\n\t\t\t},\n\t\t},\n\t\t\n\t\tBody_content: {\n\t\t\tpadding: $mol_gap.block ,\n\t\t\tminHeight: 0,\n\t\t\tflex: {\n\t\t\t\tdirection: 'column',\n\t\t\t\tshrink: 1,\n\t\t\t\tgrow: 1,\n\t\t\t},\n\t\t\tjustify: {\n\t\t\t\tself: 'stretch',\n\t\t\t},\n\t\t},\n\t\t\n\t\tFoot: {\n\t\t\tdisplay: 'flex',\n\t\t\tjustifyContent: 'space-between',\n\t\t\tflex: 'none',\n\t\t\tmargin: 0,\n\t\t\tbackground: {\n\t\t\t\tcolor: $mol_theme.card ,\n\t\t\t},\n\t\t\tborder: {\n\t\t\t\tradius: $mol_gap.round,\n\t\t\t},\n\t\t\tbox: {\n\t\t\t\tshadow: [\n\t\t\t\t\t[ 0, `-0.5rem`, `0.5rem`, `-0.5rem`, hsla( 0, 0, 0, .25 ) ],\n\t\t\t\t\t[ 0, `0.5rem`, `0.5rem`, `-0.5rem`, hsla( 0, 0, 0, .25 ) ],\n\t\t\t\t],\n\t\t\t},\n\t\t\tzIndex: 1,\n\t\t\tpadding: $mol_gap.block ,\n\t\t\t':empty': {\n\t\t\t\tdisplay: 'none',\n\t\t\t},\n\t\t},\t\n\n\t} )\n\t\n}\n","$mol_view_tree2_to_js_test_ex_right_in_left_foo $mol_object\n\ta null\n$mol_view_tree2_to_js_test_ex_right_in_left_bar $mol_object\n\tfoo <= Cls $mol_view_tree2_to_js_test_ex_right_in_left_foo\n\t\ta => b\n\tpages /\n\t\t<= Menu $mol_page\n\t\t\tTitle => Menu_title\n","$mol_view_tree2_to_js_test_ex_simple_empty_class_foo $mol_object\n","$mol_view_tree2_to_js_test_ex_simple_two_classes_foo $mol_object\n\tstr \\some\n$mol_view_tree2_to_js_test_ex_simple_two_classes_bar $mol_view_tree2_to_js_test_ex_simple_two_classes_foo\n\tstr \\some2\n","$mol_view_tree2_to_js_test_ex_simple_factory_props_bar $mol_object\n\tsub /number\n\tloc \\v2\n\tdeep * loc @ \\v2\n\tsome false\n\n$mol_view_tree2_to_js_test_ex_simple_factory_props_foo $mol_object\n\tbutton $mol_view_tree2_to_js_test_ex_simple_factory_props_bar\n\t\tsome true\n\t\tloc @ \\v1\n\t\tdeep * loc @ \\v1\n\t\tsub /\n\t\t\t1\n","$mol_view_tree2_to_js_test_ex_simple_default_indexed_foo $mol_object\n\ta_b*? 0\n\tlegacy*k?v 0\n","$mol_view_tree2_to_js_test_ex_structural_complex_key_foo $mol_object\n\tdictionary *\n\t\t\\raw data key\n\t\t\t\\1\n\t\t\\key2\n\t\t\t\\2\n\t\tkey3\n\t\t\t\\3\n","$mol_view_tree2_to_js_test_ex_array_constructor_tuple_foo $mol_object\n\tblobs /\n\t\t<= text_blob? $mol_view_tree2_to_js_test_ex_klass_tuple<string> /\n\t\t\t/string\n\t\t\t\t<= text \\123\n\t\t\t* type \\text/plain\n","$mol_view_tree2_to_js_test_ex_left_second_level_index_bar $mol_object\n\tlocalized \\\n\n$mol_view_tree2_to_js_test_ex_left_second_level_index_foo $mol_object\n\tcls* <= owner*? $mol_view_tree2_to_js_test_ex_left_second_level_index_bar\n\t\tlocalized <= some*? @ \\v1\n","$mol_view_tree2_to_js_test_ex_structural_quoted_props_foo $mol_object\n\tbar *\n\t\ta$ 1\n\t\tb-t *\n","$mol_view_tree2_to_js_test_ex_structural_spread_other_foo $mol_object\n\ttest *\n\t\taaa 123\n\tfield *\n\t\tbbb 321\n\t\t^ test\n","$mol_view_tree2_to_js_test_ex_array_of_array_or_object_foo $mol_object\n\tcomplex /\n\t\t\\1\n\t\t/\n\t\t\ttrue\n\t\t/\n\t\t\t\\1\n\t\t\t21\n\t\t*number|string\n\t\t\ta 1\n\t\t\tstr \\some\n","$mol_view_tree2_to_js_test_ex_bidi_localized_in_object_foo $mol_object\n\tobj *\n\t\tloc? <=> outer? @ \\test1\n","$mol_view_tree2_to_js_test_ex_bidi_with_default_object_foo $mol_object\n\tclass? <=> owner? $mol_object\n","$mol_view_tree2_to_js_test_ex_left_in_array_and_object_bar $mol_object\n\trows /\n$mol_view_tree2_to_js_test_ex_left_in_array_and_object_foo $mol_object\n\tobj *\n\t\tprop <= Obj\n\tarr /\n\t\t<= Obj $mol_view_tree2_to_js_test_ex_left_in_array_and_object_bar\n\t\t\trows <= content /\n","$mol_view_tree2_to_js_test_ex_bidi_indexed_second_level_bar $mol_object\n\texpanded \\\n$mol_view_tree2_to_js_test_ex_bidi_indexed_second_level_foo $mol_object\n\tindexed*? $mol_view_tree2_to_js_test_ex_bidi_indexed_second_level_bar\n\t\texpanded <=> owner*? \\w\n","$mol_view_tree2_to_js_test_ex_array_spread_other_bar $mol_object\n\tsup /\n\t\t\\v1\n\tarr /\n\t\t\\v2\n\t\t^ sup\n","$mol_view_tree2_to_js_test_ex_simple_factory_inheritance_bar $mol_object\n\tconfig *\n\t\tips /\n\t\t\t\\127.0.0.1\n\n$mol_view_tree2_to_js_test_ex_simple_factory_inheritance_foo $mol_object\n\tHaving $mol_view_tree2_to_js_test_ex_simple_factory_inheritance_bar\n\t\tconfig *\n\t\t\tips /\n\t\t\t\t^\n\t\t\t\t\\0.0.0.0\n\t\t\t\t^ addon /\n\t\t\t\t\t\\1.1.1.1\n","$mol_view_tree2_to_js_test_ex_structural_with_inheritance_foo $mol_object\n\tfield *\n\t\txxx 123\n\t\txxy \\test\n\n$mol_view_tree2_to_js_test_ex_structural_with_inheritance_bar $mol_view_tree2_to_js_test_ex_structural_with_inheritance_foo\n\tfield *\n\t\tyyy 234\n\t\t^\n\t\tzzz 345\n","$mol_view_tree2_to_js_test_ex_bidi_localized_default_value_foo $mol_object\n\ta? <=> b? @ \\some1\n","$mol_view_tree2_to_js_test_ex_simple_mutable_and_read_only_foo $mol_object\n\treadonly null\n\tmutable? null\n","$mol_view_tree2_to_js_test_ex_structural_localized_prop_value_foo $mol_object\n\tbar *\n\t\tloc @ \\\\v1\n\t\tbaz *\n\t\t\tloc2 @ \\\\v2\n","$mol_view_tree2_to_js_test_ex_left_with_separate_default_and_comment_bar $mol_object\n\trows /\n$mol_view_tree2_to_js_test_ex_left_with_separate_default_and_comment_foo $mol_object\n\tcontent 123\n\tObj $mol_view_tree2_to_js_test_ex_left_with_separate_default_and_comment_bar\n\t\trows / <= content - 321\n","$mol_view_tree2_to_js_test_ex_bidi_with_separate_default_in_right_part_foo $mol_object\n\tb? false\n\ta? <=> b?\n","$mol_view_tree2_to_js_test_ex_bidi_doubing_right_part_with_same_default_foo $mol_object\n\ta? <=> b? false\n\tc? <=> b? false\n","namespace $ {\n\texport type $mol_view_tree2_to_js_test_ex_klass_tuple_type = 'a' | 'b' | 'c'\n\n\texport class $mol_view_tree2_to_js_test_ex_klass_tuple<V = string> extends $mol_object {\n\t\tconstructor(readonly tuple: readonly string[] = [], readonly some?: { type: V }) {\n\t\t\tsuper()\n\t\t}\n\t}\n}\n","namespace $ {\n\texport class $mol_view_tree2_to_js_test_ex_right_hierarchy_bar extends $mol_object {\n\t\t@ $mol_mem\n\t\ttitle(next?: number) {\n\t\t\treturn 123 + (next ?? 0)\n\t\t}\n\t\tid() {\n\t\t\treturn 0\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tdomain(id: number) {\n\t\t\treturn {\n\t\t\t\tuser() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tid() {\n\t\t\t\t\t\t\treturn 1 + id\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n","namespace $ {\n\n\tconst str2js = (function (this: $, data: string, url: string) {\n\t\tconst tree = this.$mol_tree2_from_string(data, url)\n\t\tconst js_tree = this.$mol_view_tree2_to_js(tree)\n\t\tconst js_text = this.$mol_tree2_js_to_text(js_tree)\n\t\tconst js_str = this.$mol_tree2_text_to_string_mapped_js(js_text)\n\t\treturn js_str\n\t}).bind($ as typeof $$)\n\n\texport function $mol_view_tree2_to_js_test_run( tree: string ): any {\n\t\tclass $mol_view_mock extends $mol_object {}\n\t\tconst $ = { $mol_object: $mol_view_mock }\n\t\t;( $mol_view_mock as any )[$mol_ambient_ref] = $\n\n\t\tconst src_uri = `.view.tree`\n\t\tconst js = str2js( tree, src_uri )\n\n\t\teval( js )\n\t\treturn $\n\t}\n}\n","namespace $ {\n\n\t$mol_test({\n\t\t'Bidi bind fallback'( $ ) {\n\t\t\tconst _foo = $mol_view_tree2_to_js_test_ex_bidi_fallback_foo\n\t\t\tconst foo = _foo.make({ })\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\tfoo.bar1(),\n\t\t\t\tfoo.bar2(),\n\t\t\t\t1,\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\tfoo.bar2( 2 ),\n\t\t\t\tfoo.bar1(),\n\t\t\t\t2,\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\tfoo.bar1( 1 ),\n\t\t\t\tfoo.bar1(),\n\t\t\t\t1,\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\tfoo.bar1( 1 ),\n\t\t\t\tfoo.bar2(),\n\t\t\t\t1,\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\tfoo.bar2( 3 ),\n\t\t\t\tfoo.bar2(),\n\t\t\t\tfoo.bar1(),\n\t\t\t\t3,\n\t\t\t)\n\t\t\t\n\t\t},\n\n\t\t'Bidi bind legacy value'( $ ) {\n\t\t\tconst _foo = $mol_view_tree2_to_js_test_ex_bidi_legacy_value_foo\n\n\t\t\tconst foo = _foo.make({ $ })\n\t\t\t\n\t\t\t$mol_assert_like(\n\t\t\t\tfoo.a(),\n\t\t\t\tfoo.b(),\n\t\t\t\t1,\n\t\t\t)\n\n\t\t\t$mol_assert_like(\n\t\t\t\tfoo.b( 2 ),\n\t\t\t\tfoo.a(),\n\t\t\t\t2,\n\t\t\t)\n\t\t},\n\t\t\n\t\t'Bidi bind in dictionary'( $ ) {\n\t\t\tconst _foo = $mol_view_tree2_to_js_test_ex_bidi_in_dictionary_foo\n\t\t\t\n\t\t\t$mol_assert_like(\n\t\t\t\t_foo.make({ $ }).event().click({}),\n\t\t\t\t{},\n\t\t\t)\n\t\t\t\n\t\t},\n\n\t\t'Bidi bind chaining'( $ ) {\n\t\t\tconst _foo = $mol_view_tree2_to_js_test_ex_bidi_chaining_foo\n\t\t\tconst foo = _foo.make({ $ })\n\n\t\t\t$mol_assert_like(\n\t\t\t\tfoo.c(),\n\t\t\t\tfoo.b(),\n\t\t\t\tfoo.a()\n\t\t\t)\n\t\t},\n\n\t\t'Bidi bind indexed'( $ ) {\n\t\t\tconst _foo = $mol_view_tree2_to_js_test_ex_bidi_indexed_foo\n\t\t\tconst foo = _foo.make({ $ })\n\n\t\t\tfoo.owner(1, 'a')\n\t\t\tfoo.owner(2, 'b'),\n\n\t\t\t$mol_assert_like(\n\t\t\t\tfoo.owner(1),\n\t\t\t\tfoo.indexed(1),\n\t\t\t\t'a'\n\t\t\t)\n\n\t\t\t$mol_assert_like(\n\t\t\t\tfoo.owner(1, 'a2'),\n\t\t\t\tfoo.indexed(1),\n\t\t\t\t'a2'\n\t\t\t)\n\n\t\t\t$mol_assert_like(\n\t\t\t\tfoo.owner(2),\n\t\t\t\tfoo.indexed(2),\n\t\t\t\t'b'\n\t\t\t)\n\t\t},\n\n\t\t'Bidi bind indexed second level'( $ ) {\n\t\t\tconst _foo = $mol_view_tree2_to_js_test_ex_bidi_indexed_second_level_foo\n\t\t\tconst _bar = $mol_view_tree2_to_js_test_ex_bidi_indexed_second_level_bar\n\t\t\t_foo.$.$mol_view_tree2_to_js_test_ex_bidi_indexed_second_level_bar = _bar\n\n\t\t\tconst foo = _foo.make({ $ })\n\n\n\t\t\tfoo.owner(1, 'a')\n\t\t\tfoo.owner(2, 'b')\n\n\t\t\t$mol_assert_like(\n\t\t\t\tfoo.owner(1),\n\t\t\t\tfoo.indexed(1).expanded(),\n\t\t\t\t'a'\n\t\t\t)\n\n\t\t\t$mol_assert_like(\n\t\t\t\tfoo.owner(2),\n\t\t\t\tfoo.indexed(2).expanded(),\n\t\t\t\t'b'\n\t\t\t)\n\t\t},\n\n\t\t'Bidi bind doubing right part with same default'( $ ) {\n\t\t\tconst _foo = $mol_view_tree2_to_js_test_ex_bidi_doubing_right_part_with_same_default_foo\n\t\t\tconst foo = _foo.make({ $ })\n\n\t\t\t$mol_assert_like(\n\t\t\t\tfoo.b(),\n\t\t\t\tfoo.c(),\n\t\t\t\tfoo.a(),\n\t\t\t\tfalse\n\t\t\t)\n\t\t},\n\n\t\t'Bidi bind with separate default in right part'( $ ) {\n\t\t\tconst _foo = $mol_view_tree2_to_js_test_ex_bidi_with_separate_default_in_right_part_foo\n\t\t\tconst foo = _foo.make({ $ })\n\t\t\t$mol_assert_like(\n\t\t\t\tfoo.b(),\n\t\t\t\tfoo.a()\n\t\t\t)\n\t\t},\n\n\t\t'Bidi bind index from outer scope throws error'( $ ) {\n\t\t\t$mol_assert_fail(() => {\n\t\t\t\t$mol_view_tree2_to_js_test_run(`\n\t\t\t\t\tFoo $mol_view\n\t\t\t\t\t\ta!? $mol_view\n\t\t\t\t\t\t\texpanded <=> cell_test_expanded!? null\n\t\t\t\t`)\n\t\t\t}, `Required prop like some*? at \\`.view.tree#4:21/20\\`\n<=>\n.view.tree#4:17/3\nexpanded\n.view.tree#4:8/8\n$mol_view\n.view.tree#3:11/9\na!?\n.view.tree#3:7/3` )\n\t\t},\n\n\t\t'Bidi bind with default object'( $ ) {\n\t\t\tconst _foo = $mol_view_tree2_to_js_test_ex_bidi_with_default_object_foo\n\t\t\tconst foo = _foo.make({ $ })\n\t\t\tconst view = new $mol_object\n\t\t\tfoo.owner(view)\n\n\t\t\t$mol_assert_like(\n\t\t\t\tfoo.owner(),\n\t\t\t\tfoo.class(),\n\t\t\t\tview\n\t\t\t)\n\t\t},\n\t\t\n\t\t'Bidi bind localized default value'( $ ) {\n\t\t\tconst _foo = $mol_view_tree2_to_js_test_ex_bidi_localized_default_value_foo\n\t\t\tconst foo = _foo.make({ $ })\n\n\t\t\t$mol_assert_like(\n\t\t\t\tfoo.b(),\n\t\t\t\tfoo.a(),\n\t\t\t\t`$mol_view_tree2_to_js_test_ex_bidi_localized_default_value_foo_b`,\n\t\t\t)\n\t\t\n\t\t},\n\n\t\t'Bidi bind localized in object'( $ ) {\n\t\t\tconst _foo = $mol_view_tree2_to_js_test_ex_bidi_localized_in_object_foo\n\t\t\tconst foo = _foo.make({ $ })\n\n\t\t\t$mol_assert_like(\n\t\t\t\tfoo.obj().loc(),\n\t\t\t\tfoo.outer(),\n\t\t\t\t`$mol_view_tree2_to_js_test_ex_bidi_localized_in_object_foo_outer`\n\t\t\t)\n\t\t},\n\n\t})\n\t\n}\n","namespace $ {\n\n\t$mol_test({\n\t\t\n\t\t'Left bind read only'( $ ) {\n\t\t\tconst _foo = $mol_view_tree2_to_js_test_ex_left_read_only_foo\n\t\t\t\n\t\t\tconst foo = _foo.make({ $ })\n\t\t\t\n\t\t\t$mol_assert_like(\n\t\t\t\tfoo.bar1(),\n\t\t\t\t// @ts-ignore\n\t\t\t\tfoo.bar1( 2 ),\n\t\t\t\tfoo.bar1(),\n\t\t\t\tfoo.bar2(),\n\t\t\t\t1,\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_like(\n\t\t\t\tfoo.bar2( 2 ),\n\t\t\t\tfoo.bar1(),\n\t\t\t\t2,\n\t\t\t)\n\t\t\t\n\t\t},\n\n\t\t'Left bind second level index'( $ ) {\n\t\t\tconst _foo = $mol_view_tree2_to_js_test_ex_left_second_level_index_foo\n\t\t\tconst foo = _foo.make({ $ })\n\n\t\t\t$mol_assert_ok(foo.owner(1) instanceof $mol_object)\n\t\t\t$mol_assert_like(\n\t\t\t\tfoo.some(1),\n\t\t\t\tfoo.some(1),\n\t\t\t\t`$mol_view_tree2_to_js_test_ex_left_second_level_index_foo_some`\n\t\t\t)\n\n\t\t\t$mol_assert_equal(\n\t\t\t\tfoo.owner(1),\n\t\t\t\tfoo.cls(1),\n\t\t\t)\n\n\t\t\t$mol_assert_equal(\n\t\t\t\tfoo.owner(1).localized(),\n\t\t\t\tfoo.some(1),\n\t\t\t)\n\n\t\t\t$mol_assert_equal(\n\t\t\t\tfoo.cls(2),\n\t\t\t\tfoo.owner(2),\n\t\t\t)\n\t\t},\n\n\t\t'Left bind in array and object'( $ ) {\n\t\t\tconst _foo = $mol_view_tree2_to_js_test_ex_left_in_array_and_object_foo\n\t\t\tconst foo = _foo.make({ $ })\n\n\t\t\t$mol_assert_equal(\n\t\t\t\tfoo.obj().prop,\n\t\t\t\tfoo.arr()[0],\n\t\t\t\tfoo.Obj()\n\t\t\t)\n\t\t},\n\n\t\t'Left bind with separate default and comment'( $ ) {\n\t\t\tconst _foo = $mol_view_tree2_to_js_test_ex_left_with_separate_default_and_comment_foo\n\t\t\tconst foo = _foo.make({ $ })\n\n\t\t\t$mol_assert_like(\n\t\t\t\tfoo.Obj().rows(),\n\t\t\t\t[ 123 ]\n\t\t\t)\n\t\t},\n\n\t\t'Left bind chaining'( $ ) {\n\t\t\tconst _foo = $mol_view_tree2_to_js_test_ex_left_chaining_foo\n\t\t\tconst foo = _foo.make({ $ })\n\n\t\t\t$mol_assert_equal(\n\t\t\t\tfoo.d(),\n\t\t\t\tfoo.c(),\n\t\t\t\tfoo.b(),\n\t\t\t\tfoo.a(),\n\t\t\t\t0\n\t\t\t)\n\n\t\t\t$mol_assert_equal(\n\t\t\t\tfoo.d(1),\n\t\t\t\tfoo.c(),\n\t\t\t\tfoo.b(),\n\t\t\t\tfoo.a(),\n\t\t\t\t1\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\t// @ts-ignore\n\t\t\t\tfoo.a(2),\n\t\t\t\t// @ts-ignore\n\t\t\t\tfoo.b(2),\n\t\t\t\tfoo.c(),\n\t\t\t\tfoo.d(),\n\t\t\t\t1\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\tfoo.c(2),\n\t\t\t\tfoo.b(),\n\t\t\t\tfoo.a(),\n\t\t\t\t2\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\tfoo.d(1),\n\t\t\t\t1,\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\tfoo.d(3),\n\t\t\t\tfoo.c(),\n\t\t\t\tfoo.b(),\n\t\t\t\tfoo.a(),\n\t\t\t\t3\n\t\t\t)\n\t\t\t\n\t\t},\n\n\n\t})\n\t\n}\n","namespace $ {\n\n\t$mol_test({\n\t\t\n\t\t'Array boolean'( $ ) {\n\t\t\tconst _foo = $mol_view_tree2_to_js_test_ex_array_boolean_foo\n\t\t\tconst foo = _foo.make({ $ })\n\t\t\ttype assert_sub = $mol_type_assert<ReturnType<typeof foo['bar']>, readonly boolean[]>\n\t\t\t$mol_assert_like(\n\t\t\t\tfoo.bar(),\n\t\t\t\t[ false, true ],\n\t\t\t)\n\t\t\t\n\t\t},\n\t\t\n\t\t'Array number'( $ ) {\n\t\t\tconst _foo = $mol_view_tree2_to_js_test_ex_array_number_foo\n\t\t\tconst foo = _foo.make({ $ })\n\n\t\t\ttype a1 = $mol_type_assert<ReturnType<typeof foo['bar']>, any /* readonly number[] */ >\n\n\t\t\t$mol_assert_like(\n\t\t\t\tfoo.bar(),\n\t\t\t\t[\n\t\t\t\t\tNumber.NaN,\n\t\t\t\t\tNumber.NEGATIVE_INFINITY,\n\t\t\t\t\tNumber.POSITIVE_INFINITY,\n\t\t\t\t\t0,\n\t\t\t\t],\n\t\t\t)\n\t\t\t\n\t\t},\n\t\t\n\t\t'Array with types'( $ ) {\n\t\t\tconst _foo = $mol_view_tree2_to_js_test_ex_array_with_types_foo\n\t\t\tconst foo = _foo.make({ $ })\n\t\t\ttype assert_arr = $mol_type_assert<ReturnType<typeof foo['arr']>, readonly( readonly(number)[] )[]>\n\t\t\t$mol_assert_like(foo.arr(), [])\n\n\t\t},\n\n\t\t'Array of array or object'( $ ) {\n\t\t\tconst _foo = $mol_view_tree2_to_js_test_ex_array_of_array_or_object_foo\n\t\t\tconst foo = _foo.make({ $ })\n\t\t\t// type a1 = $mol_type_assert<\n\t\t\t// \tReturnType<typeof foo.complex>,\n\t\t\t// \treadonly (readonly(number | string)[] | Record<string, number | string>)[]\n\t\t\t// >\n\n\t\t\t$mol_assert_like(\n\t\t\t\tfoo.complex(),\n\t\t\t\t[ '1', [ true ], [ '1', 21 ], { a: 1, str: 'some' } ]\n\t\t\t)\n\n\t\t},\n\n\t\t'Array inheritance'( $ ) {\n\t\t\tconst _bar = $mol_view_tree2_to_js_test_ex_array_inheritance_bar\n\n\t\t\t$mol_assert_like(_bar.make({ $ }).arr(), ['v3', 'v1', 'v4' ])\n\n\t\t},\n\n\t\t'Array spread other'( $ ) {\n\t\t\tconst _bar = $mol_view_tree2_to_js_test_ex_array_spread_other_bar\n\t\t\tconst bar = _bar.make({ $ })\n\n\t\t\t$mol_assert_like(bar.arr(), ['v2', 'v1' ])\n\t\t\t$mol_assert_like(bar.arr()[1], bar.sup()[0])\n\n\t\t},\n\n\t\t'Array slot' ($) {\n\t\t\tconst _foo = $mol_view_tree2_to_js_test_ex_array_slot_foo\n\t\t\tconst foo = _foo.make({ $ })\n\t\t\ttype assert_foot = $mol_type_assert<ReturnType<typeof foo['foot']>, readonly(string | number | boolean)[]>\n\t\t\t$mol_assert_like(foo.foot(), [ 1, true, 'foot1', 2, 3, 'ins1', 1, 'ins2', 'foot2' ])\n\t\t},\n\n\t\t'Array indexed' ($) {\n\t\t\tconst _foo = $mol_view_tree2_to_js_test_ex_array_indexed_foo\n\t\t\tconst foo = _foo.make({ $ })\n\t\t\ttype assert_tag = $mol_type_assert<Parameters<typeof foo['tags']>[0], any>\n\t\t\ttype assert_slot = $mol_type_assert<Parameters<typeof foo['slot']>[0], any>\n\t\t\ttype assert_tag1 = $mol_type_assert<Parameters<typeof foo['tag1']>[0], any>\n\t\t\ttype assert_tag2 = $mol_type_assert<Parameters<typeof foo['tag2']>[0], any>\n\t\t\t$mol_assert_like(foo.tags(1), [ 't1', 't2' ])\n\t\t\t$mol_assert_like(foo.slot(1), [ 't2' ])\n\t\t},\n\n\t\t'Array union' ($) {\n\t\t\tconst _foo = $mol_view_tree2_to_js_test_ex_array_union_foo\n\t\t\tconst foo = _foo.make({ $ })\n\t\t\ttype assert_tag = $mol_type_assert<ReturnType<typeof foo['bar']>[number], $mol_view_tree2_to_js_test_ex_klass_tuple_type>\n\t\t\t$mol_assert_like(foo.bar(), [ 'a', 'c', 'b' ])\n\t\t},\n\n\t\t'Array constructor tuple'($) {\n\t\t\tconst _foo = $mol_view_tree2_to_js_test_ex_array_constructor_tuple_foo\n\t\t\tconst foo = _foo.make({ $ })\n\n\t\t\ttype a0 = $mol_type_assert<\n\t\t\t\tReturnType<typeof foo['text_blob']>,\n\t\t\t\t$mol_view_tree2_to_js_test_ex_klass_tuple\n\t\t\t>\n\n\t\t\ttype a1 = $mol_type_assert<\n\t\t\t\tReturnType<typeof foo['blobs']>,\n\t\t\t\treadonly any[]\n\t\t\t\t// readonly $mol_view_tree2_to_js_test_ex_klass_tuple[]\n\t\t\t>\n\n\t\t\t$mol_assert_like(\n\t\t\t\tfoo.text_blob().tuple,\n\t\t\t\t[ '123' ]\n\t\t\t)\n\n\t\t\t$mol_assert_like(\n\t\t\t\tfoo.blobs(),\n\t\t\t\t[\n\t\t\t\t\tfoo.text_blob(),\n\t\t\t\t]\n\t\t\t)\n\t\t},\n\t})\n\t\n}\n","namespace $ {\n\n\t$mol_test({\n\t\t\n\t\t'Right bind read only'( $ ) {\n\t\t\tconst _bar = $mol_view_tree2_to_js_test_ex_right_read_only_bar\n\t\t\t\n\t\t\tconst bar = _bar.make({ $: _bar.$ })\n\n\t\t\t$mol_assert_like(\n\t\t\t\tbar.Obj().a(1),\n\t\t\t\tbar.b(1)\n\t\t\t)\n\t\t\t\n\t\t},\n\n\t\t'Right bind in left bind'( $ ) {\n\t\t\tconst _bar = $mol_view_tree2_to_js_test_ex_right_in_left_bar\n\t\t\t\n\t\t\tconst bar = _bar.make({ $: _bar.$ })\n\n\t\t\t$mol_assert_like(\n\t\t\t\tbar.foo(),\n\t\t\t\tbar.Cls(),\n\t\t\t)\n\n\t\t\t$mol_assert_like(\n\t\t\t\tbar.foo().a(),\n\t\t\t\tbar.Cls().a(),\n\t\t\t\tbar.b()\n\t\t\t)\n\t\t},\n\n\t\t'Right bind indexed'( $ ) {\n\t\t\tconst _bar = $mol_view_tree2_to_js_test_ex_right_indexed_bar\n\t\t\t\n\t\t\tconst bar = _bar.make({ $: _bar.$ })\n\n\t\t\t$mol_assert_equal(\n\t\t\t\tbar.Cls(1).a(),\n\t\t\t\tbar.b(1),\n\t\t\t)\n\n\t\t\t$mol_assert_like(\n\t\t\t\tbar.b(1),\n\t\t\t\t{ some: 123 }\n\t\t\t)\n\n\t\t\t$mol_assert_equal(\n\t\t\t\tbar.Cls(1).a() === bar.b(2),\n\t\t\t\tfalse,\n\t\t\t)\n\t\t},\n\n\t\t'Right hierarchy'( $ ) {\n\t\t\tconst _foo = $mol_view_tree2_to_js_test_ex_right_hierarchy_foo\n\t\t\tconst foo = _foo.make({ $: _foo.$ })\n\t\t\ttype prj_user_id_assert = $mol_type_assert<ReturnType<typeof foo['prj_user_id']>, number >\n\t\t\ttype prj_domain_assert = $mol_type_assert<ReturnType<typeof foo['prj_domain']>, {\n\t\t\t\tuser: () => { id: () => number }\n\t\t\t} >\n\n\t\t\t$mol_assert_like(\n\t\t\t\tfoo.prj_user_id(1),\n\t\t\t\t2\n\t\t\t)\n\t\t},\n\n\t\t'Right mixed args'( $ ) {\n\t\t\tconst _foo = $mol_view_tree2_to_js_test_ex_right_hierarchy_foo\n\t\t\tconst foo = _foo.make({ $: _foo.$ })\n\t\t\tfoo.indexed_id = id => id + 25\n\n\t\t\t$mol_assert_like( foo.indexed_title(1), 123 )\n\t\t\t$mol_assert_like( foo.Indexed(0).id(), 25 )\n\t\t\t$mol_assert_like( foo.Indexed(1).id(), 26 )\n\t\t\t$mol_assert_like( foo.indexed_title(0, 2), 125 )\n\t\t}\n\n\t})\n\t\n}\n","namespace $ {\n\n\t$mol_test({\n\t\t\n\t\t'simple empty class'( $ ) {\n\t\t\tconst _foo = $mol_view_tree2_to_js_test_ex_simple_empty_class_foo\n\t\t\t\n\t\t\t$mol_assert_ok(_foo.make({ $ }) instanceof _foo)\n\t\t},\n\n\t\t'simple mutable and read only channels'( $ ) {\n\t\t\tconst _foo = $mol_view_tree2_to_js_test_ex_simple_mutable_and_read_only_foo\n\t\t\t\n\t\t\tconst foo = _foo.make({ $ })\n\n\t\t\ttype assert_ro = $mol_type_assert<ReturnType<typeof foo['readonly']>, any>\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\tfoo.readonly(),\n\t\t\t\t// @ts-ignore\n\t\t\t\tfoo.readonly( 1 ),\n\t\t\t\tfoo.readonly(),\n\t\t\t\tnull,\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\tfoo.mutable(),\n\t\t\t\tnull,\n\t\t\t)\n\t\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\tfoo.mutable(2),\n\t\t\t\tfoo.mutable(),\n\t\t\t\t2,\n\t\t\t)\n\t\t\t\n\t\t},\n\t\t\n\t\t'simple string channel'( $ ) {\n\t\t\tconst _foo = $mol_view_tree2_to_js_test_ex_simple_string_foo\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\t_foo.make({ $ }).hardcoded(),\n\t\t\t\t'First\\nSecond',\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\t_foo.make({ $ }).localized(),\n\t\t\t\t`$mol_view_tree2_to_js_test_ex_simple_string_foo_localized`,\n\t\t\t)\n\t\t},\n\t\t\n\t\t'simple default indexed channel'( $ ) {\n\t\t\tconst _foo = $mol_view_tree2_to_js_test_ex_simple_default_indexed_foo\n\n\t\t\tconst foo = _foo.make({ $ })\n\n\t\t\t$mol_assert_equal(\n\t\t\t\tfoo.a_b(0, 1),\n\t\t\t\tfoo.a_b(0),\n\t\t\t\t1\n\t\t\t)\n\n\t\t\t$mol_assert_equal(\n\t\t\t\tfoo.legacy(0, 1),\n\t\t\t\tfoo.legacy(0),\n\t\t\t\t1\n\t\t\t)\n\t\t},\n\n\t\t'simple throw if cyrillic name'( $ ) {\n\t\t\t$mol_assert_fail(() => {\n\t\t\t\t$mol_view_tree2_to_js_test_run(`\n\t\t\t\t\tFoo $mol_object\n\t\t\t\t\t\tsub / <= Чlose_icon $mol_object\n\t\t\t\t`)\n\t\t\t}, `Required prop like some*? at \\`.view.tree#3:16/10\\`\n<=\n.view.tree#3:13/2\n/\n.view.tree#3:11/1\nsub\n.view.tree#3:7/3`)\n\t\t},\n\n\t\t'simple empty legacy indexed channel throws error'( $ ) {\n\t\t\t$mol_assert_fail(() => {\n\t\t\t\t$mol_view_tree2_to_js_test_run(`\n\t\t\t\t\tFoo $mol_object\n\t\t\t\t\t\ta!? null\n\t\t\t\t`)\n\t\t\t}, 'Required prop like some*? at `.view.tree#3:7/3`' )\n\n\t\t\t$mol_assert_fail(() => {\n\t\t\t\t$mol_view_tree2_to_js_test_run(`\n\t\t\t\t\tFoo $mol_object\n\t\t\t\t\t\tb! 1\n\t\t\t\t`)\n\t\t\t}, 'Required prop like some*? at `.view.tree#3:7/2`' )\n\t\t},\n\n\t\t'simple two classes'( $ ) {\n\t\t\tconst _foo = $mol_view_tree2_to_js_test_ex_simple_two_classes_foo\n\t\t\tconst _bar = $mol_view_tree2_to_js_test_ex_simple_two_classes_bar\n\t\t\tconst a = _foo.make( { $ })\n\t\t\tconst b = _bar.make( { $ })\n\n\t\t\t$mol_assert_ok(b instanceof _foo)\n\t\t\t$mol_assert_ok(b instanceof _bar)\n\n\t\t\t$mol_assert_equal( a.str(), 'some')\n\t\t\t$mol_assert_equal( b.str(), 'some2')\n\t\t},\n\n\t\t'simple commented node'( $ ) {\n\t\t\tconst { Foo } = $mol_view_tree2_to_js_test_run(`\n\t\t\t\t- Foo $mol_object\n\t\t\t\t\ta!? $mol_object\n\t\t\t\t\t\texpanded <=> cell_test_expanded!? null\n\t\t\t`)\n\t\t\t$mol_assert_ok(Foo === undefined)\n\t\t},\n\n\t\t'simple factory props'( $ ) {\n\t\t\tconst _foo = $mol_view_tree2_to_js_test_ex_simple_factory_props_foo\n\t\t\tconst foo = _foo.make({ $ })\n\n\t\t\t$mol_assert_ok(typeof foo.button().sub === 'function')\n\n\t\t\t$mol_assert_ok(typeof foo.button().some === 'function')\n\n\t\t\t$mol_assert_equal(\n\t\t\t\tfoo.button().loc(),\n\t\t\t\t`$mol_view_tree2_to_js_test_ex_simple_factory_props_foo_button_loc`\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\tfoo.button().deep().loc,\n\t\t\t\t`$mol_view_tree2_to_js_test_ex_simple_factory_props_foo_button_deep_loc`\n\t\t\t)\n\n\t\t\t$mol_assert_equal(\n\t\t\t\tfoo.button().sub()[0],\n\t\t\t\t1\n\t\t\t)\n\t\t},\n\n\t\t'simple factory inheritance'( $ ) {\n\t\t\t\n\t\t\tconst _foo = $mol_view_tree2_to_js_test_ex_simple_factory_inheritance_foo\n\t\t\tconst foo = _foo.make({ $ })\n\n\t\t\t$mol_assert_equal(\n\t\t\t\tfoo.Having().config(),\n\t\t\t\t{ ips: [ '127.0.0.1', '0.0.0.0', '1.1.1.1' ] },\n\t\t\t)\n\t\t\t\n\t\t},\n\n\t\t'simple nan' ($) {\n\t\t\tconst _foo = $mol_view_tree2_to_js_test_ex_simple_nan_foo\n\t\t\tconst foo = _foo.make({ $ })\n\t\t\ttype assert_a = $mol_type_assert<ReturnType<typeof foo['a']>, number>\n\t\t\ttype assert_d = $mol_type_assert<ReturnType<typeof foo['d']>, number>\n\t\t\ttype assert_f = $mol_type_assert<ReturnType<typeof foo['f']>, number>\n\t\t\t$mol_assert_equal(foo.a(), foo.b(), foo.c(), NaN)\n\t\t\t$mol_assert_equal(foo.d(), Infinity)\n\t\t\t$mol_assert_equal(foo.e(), -Infinity)\n\t\t\t$mol_assert_equal(foo.f(), Infinity)\n\t\t},\n\n\t\t'simple typed null'($) {\n\t\t\tconst _foo = $mol_view_tree2_to_js_test_ex_simple_typed_null_foo\n\t\t\tconst foo = _foo.make({ $ })\n\t\t\ttype a1 = $mol_type_assert<ReturnType<typeof foo.a>, string | number | null>\n\n\t\t\t$mol_assert_equal(\n\t\t\t\tfoo.a(),\n\t\t\t\tnull\n\t\t\t)\n\t\t},\n\n\t\t'extra char' ($) {\n\t\t\t$mol_assert_fail(() => {\n\t\t\t\t$mol_view_tree2_to_js_test_run(`\n\t\t\t\t\tFoo $mol_object\n\t\t\t\t\t\titem_чount 50\n\t\t\t\t`)\n\t\t\t}, 'Required prop like some*? at `.view.tree#3:7/10`')\n\t\t},\n\t})\n\t\n}\n","namespace $ {\n\n\t$mol_test({\n\t\t\n\t\t'Structural channel'( $ ) {\n\t\t\tconst _foo = $mol_view_tree2_to_js_test_ex_structural_foo\n\t\t\t\n\t\t\t$mol_assert_like(\n\t\t\t\t_foo.make({ $ }).bar(),\n\t\t\t\t{\n\t\t\t\t\talpha: 1,\n\t\t\t\t\tbeta: {},\n\t\t\t\t\txxx: 2,\n\t\t\t\t},\n\t\t\t)\n\t\t\t\n\t\t},\n\t\t\n\t\t'Structural dict'( $ ) {\n\t\t\tconst _foo = $mol_view_tree2_to_js_test_ex_structural_dict_foo\n\t\t\t\n\t\t\t$mol_assert_like(\n\t\t\t\t_foo.make({ $ }).bar(),\n\t\t\t\t{\n\t\t\t\t\talpha: 1,\n\t\t\t\t\tbeta: 'a',\n\t\t\t\t},\n\t\t\t)\n\t\t\t\n\t\t},\n\n\t\t'Structural channel with inheritance'( $ ) {\n\t\t\tconst _bar = $mol_view_tree2_to_js_test_ex_structural_with_inheritance_bar\n\t\t\t\n\t\t\t$mol_assert_like(\n\t\t\t\t_bar.make({ $ }).field(),\n\t\t\t\t{\n\t\t\t\t\tyyy: 234,\n\t\t\t\t\txxx: 123,\n\t\t\t\t\txxy: 'test',\n\t\t\t\t\tzzz: 345,\n\t\t\t\t},\n\t\t\t)\n\t\t\t\n\t\t},\n\t\t\n\t\t'Structural channel spread other'( $ ) {\n\t\t\tconst _foo = $mol_view_tree2_to_js_test_ex_structural_spread_other_foo\n\t\t\tconst foo = _foo.make({ $ })\n\n\t\t\ttype a1 = $mol_type_assert<\n\t\t\t\tReturnType<typeof foo.field>,\n\t\t\t\t{\n\t\t\t\t\taaa: number\n\t\t\t\t} & {\n\t\t\t\t\tbbb: number\n\t\t\t\t}\n\t\t\t>\n\n\t\t\t$mol_assert_like(\n\t\t\t\tfoo.field(),\n\t\t\t\t{\n\t\t\t\t\tbbb: 321,\n\t\t\t\t\taaa: 123,\n\t\t\t\t},\n\t\t\t)\n\t\t\t\n\t\t},\n\n\t\t'Structural channel localized prop value'( $ ) {\n\t\t\tconst _foo = $mol_view_tree2_to_js_test_ex_structural_localized_prop_value_foo\n\t\t\tconst foo = _foo.make({ $ })\n\n\t\t\t$mol_assert_like(\n\t\t\t\tfoo.bar(),\n\t\t\t\t{\n\t\t\t\t\t'loc': `$mol_view_tree2_to_js_test_ex_structural_localized_prop_value_foo_bar_loc`,\n\t\t\t\t\t'baz': { 'loc2': `$mol_view_tree2_to_js_test_ex_structural_localized_prop_value_foo_bar_baz_loc2` }\n\t\t\t\t},\n\t\t\t)\n\t\t\t\n\t\t},\n\n\t\t'Structural channel quoted props'( $ ) {\n\t\t\tconst _foo = $mol_view_tree2_to_js_test_ex_structural_quoted_props_foo\n\n\t\t\t$mol_assert_like(\n\t\t\t\t_foo.make({ $ }).bar(),\n\t\t\t\t{\n\t\t\t\t\t'a$': 1,\n\t\t\t\t\t'b-t': {},\n\t\t\t\t},\n\t\t\t)\n\t\t\t\n\t\t},\n\n\t\t'Structural complex key'($) {\n\t\t\tconst _foo = $mol_view_tree2_to_js_test_ex_structural_complex_key_foo\n\t\t\tconst foo = _foo.make({ $ })\n\n\t\t\t$mol_assert_like(\n\t\t\t\tfoo.dictionary(),\n\t\t\t\t{\n\t\t\t\t\t'raw data key': '1',\n\t\t\t\t\t'key2': '2',\n\t\t\t\t\t'key3': '3'\n\t\t\t\t},\n\t\t\t)\n\t\t}\n\n\t})\n\t\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../../../../mol/test/test.test.ts","../../../../../mol/test/test.web.test.ts","../../../../../mol/dom/render/children/children.ts","../../../../../mol/dom/serialize/serialize.ts","../../../../../mol/jsx/jsx.ts","../../../../../mol/jsx/jsx.test.tsx","../../../../../mol/range2/range2.ts","../../../../../mol/range2/range2.test.ts","../../../../../mol/compare/deep/deep.test.tsx","../../../../../mol/assert/assert.ts","../../../../../mol/assert/assert.test.ts","../../../../../mol/log3/log3.test.ts","../../../../../mol/func/name/name.test.ts","../../../../../mol/delegate/delegate.test.ts","../../../../../mol/span/span.test.ts","../../../../../mol/tree2/from/string/string.test.ts","../../../../../mol/maybe/maybe.test.ts","../../../../../mol/tree2/tree2.test.ts","../../../../../mol/tree2/from/json/json.test.ts","../../../../../mol/data/setup/setup.ts","../../../../../mol/data/setup/setup.test.ts","../../../../../mol/func/is/class/class.ts","../../../../../mol/func/is/class/class.test.ts","../../../../../mol/data/pipe/pipe.ts","../../../../../mol/data/pipe/pipe.test.ts","../../../../../mol/tree2/js/to/text/text.test.ts","../../../../../mol/vlq/vlq.test.ts","../../../../../mol/tree2/text/to/sourcemap/sourcemap.test.ts","../../../../../mol/tree2/to/json/json.test.ts","../../../../../mol/regexp/regexp.test.ts","../../../../../mol/view/tree2/prop/parts.test.ts","../../../../../mol/style/attach/attach.ts","../../../../../mol/promise/promise/promise.ts","../../../../../mol/promise/blocker/blocker.ts","../../../../../mol/decor/decor.ts","../../../../../mol/style/unit/unit.ts","../../../../../mol/style/func/func.ts","../../../../../mol/style/prop/prop.ts","../../../../../mol/object/object.test.ts","../../../../../mol/wire/pub/sub/sub.test.ts","../../../../../mol/after/mock/mock.test.ts","../../../../../mol/after/tick/tick.test.ts","../../../../../mol/wire/fiber/fiber.test.ts","../../../../../mol/after/timeout/timeout.test.ts","../../../../../mol/wire/async/async.test.ts","../../../../../mol/wire/sync/sync.test.ts","../../../../../mol/after/work/work.ts","../../../../../mol/after/work/work.test.ts","../../../../../mol/wait/rest/rest.ts","../../../../../mol/wait/rest/rest.test.ts","../../../../../mol/wait/timeout/timeout.ts","../../../../../mol/wait/timeout/timeout.test.ts","../../../../../mol/wire/solo/solo.test.ts","../../../../../mol/wire/plex/plex.test.ts","../../../../../mol/wire/probe/probe.test.ts","../../../../../mol/after/frame/frame.test.ts","../../../../../mol/key/key.test.tsx","../../../../../mol/try/try.test.ts","../../../../../mol/fail/log/log.test.ts","../../../../../mol/wire/log/log.ts","../../../../../mol/wire/atom/atom.test.ts","../../../../../mol/state/arg/arg.web.ts","../../../../../mol/state/arg/arg.web.test.ts","../../../../../mol/media/media.ts","../../../../../mol/state/local/local.test.ts","../../../../../mol/state/local/local.mock.test.ts","../../../../../mol/lights/lights.ts","../../../../../mol/theme/theme.ts","../../../../../mol/theme/-css/theme.css.ts","../../../../../mol/theme/theme_lights.ts","../../../../../mol/gap/gap.ts","../../../../../mol/gap/-css/gap.css.ts","../../../../../mol/window/window.web.ts","../../../../../mol/view/selection/selection.ts","../../../../../mol/keyboard/code/code.ts","../../../../../mol/view/selection/selection.web.ts","../../../../../mol/wrapper/wrapper.ts","../../../../../mol/wrapper/wrapper.test.ts","../../../../../mol/memo/memo.ts","../../../../../mol/memo/memo.test.ts","../../../../../mol/dom/qname/qname.ts","../../../../../mol/wire/watch/watch.ts","../../../../../mol/const/const.test.ts","../../../../../mol/dom/render/attributes/attributes.ts","../../../../../mol/dom/render/events/events.ts","../../../../../mol/dom/render/styles/styles.ts","../../../../../mol/dom/render/fields/fields.ts","../../../../../mol/view/view/-css/view.css.ts","../../../../../mol/view/view/view.tsx","../../../../../mol/view/view/view.web.ts","../../../../../mol/view/view/view.test.ts","../../../../../mol/plugin/plugin.ts","../../../../../mol/hotkey/hotkey.view.tree","../../../../../mol/hotkey/hotkey.view.ts","../../../../../mol/string/string.view.tree","../../../../../mol/dom/listener/listener.ts","../../../../../mol/layer/layer.ts","../../../../../mol/layer/-css/layer.css.ts","../../../../../mol/string/string.view.ts","../../../../../mol/string/-css/string.view.css.ts","../../../../../mol/paragraph/paragraph.view.tree","../../../../../mol/paragraph/paragraph.view.ts","../../../../../mol/paragraph/-css/paragraph.view.css.ts","../../../../../mol/dimmer/dimmer.view.tree","../../../../../mol/dimmer/dimmer.test.ts","../../../../../mol/dimmer/dimmer.view.ts","../../../../../mol/dimmer/-css/dimmer.view.css.ts","../../../../../mol/speck/speck.view.tree","../../../../../mol/speck/-css/speck.view.css.ts","../../../../../mol/button/button.view.tree","../../../../../mol/button/button.test.ts","../../../../../mol/button/button.view.ts","../../../../../mol/button/-css/button.view.css.ts","../../../../../mol/button/typed/typed.view.tree","../../../../../mol/button/typed/-css/typed.view.css.ts","../../../../../mol/button/minor/minor.view.tree","../../../../../mol/button/minor/-css/minor.view.css.ts","../../../../../mol/view/tree2/class/props.test.ts","../../../../../mol/compare/array/array.test.ts","../../../../../mol/charset/decode/decode.test.ts","../../../../../mol/charset/encode/encode.test.ts","../../../../../mol/locale/locale.test.ts","../../../../../mol/view/tree2/to/locale/locale.test.ts","../../../../../mol/view/tree2/to/js/test/ex/array_slot.view.tree","../../../../../mol/view/tree2/to/js/test/ex/simple_nan.view.tree","../../../../../mol/view/tree2/to/js/test/ex/structural.view.tree","../../../../../mol/view/tree2/to/js/test/ex/array_union.view.tree","../../../../../mol/view/tree2/to/js/test/ex/array_number.view.tree","../../../../../mol/view/tree2/to/js/test/ex/bidi_indexed.view.tree","../../../../../mol/view/tree2/to/js/test/ex/array_boolean.view.tree","../../../../../mol/view/tree2/to/js/test/ex/array_indexed.view.tree","../../../../../mol/view/tree2/to/js/test/ex/bidi_chaining.view.tree","../../../../../mol/view/tree2/to/js/test/ex/bidi_fallback.view.tree","../../../../../mol/view/tree2/to/js/test/ex/left_chaining.view.tree","../../../../../mol/view/tree2/to/js/test/ex/right_indexed.view.tree","../../../../../mol/view/tree2/to/js/test/ex/simple_string.view.tree","../../../../../localized_string","../../../../../mol/view/tree2/to/js/test/ex/left_read_only.view.tree","../../../../../mol/view/tree2/to/js/test/ex/right_hierarchy.view.tree","../../../../../mol/view/tree2/to/js/test/ex/right_read_only.view.tree","../../../../../mol/view/tree2/to/js/test/ex/structural_dict.view.tree","../../../../../mol/view/tree2/to/js/test/ex/array_with_types.view.tree","../../../../../mol/view/tree2/to/js/test/ex/array_inheritance.view.tree","../../../../../mol/view/tree2/to/js/test/ex/bidi_legacy_value.view.tree","../../../../../mol/view/tree2/to/js/test/ex/simple_typed_null.view.tree","../../../../../mol/view/tree2/to/js/test/ex/bidi_in_dictionary.view.tree","../../../../../mol/scroll/scroll.view.tree","../../../../../mol/print/print.ts","../../../../../mol/style/sheet/sheet.ts","../../../../../mol/style/sheet/sheet.test.ts","../../../../../mol/style/define/define.ts","../../../../../mol/scroll/scroll.view.ts","../../../../../mol/scroll/scroll.view.css.ts","../../../../../mol/page/page.view.tree","../../../../../mol/page/page.view.css.ts","../../../../../mol/view/tree2/to/js/test/ex/right_in_left_bind.view.tree","../../../../../mol/view/tree2/to/js/test/ex/simple_empty_class.view.tree","../../../../../mol/view/tree2/to/js/test/ex/simple_two_classes.view.tree","../../../../../mol/view/tree2/to/js/test/ex/simple_factory_props.view.tree","../../../../../mol/view/tree2/to/js/test/ex/simple_default_indexed.view.tree","../../../../../mol/view/tree2/to/js/test/ex/structural_complex_key.view.tree","../../../../../mol/view/tree2/to/js/test/ex/array_constructor_tuple.view.tree","../../../../../mol/view/tree2/to/js/test/ex/left_second_level_index.view.tree","../../../../../mol/view/tree2/to/js/test/ex/structural_quoted_props.view.tree","../../../../../mol/view/tree2/to/js/test/ex/structural_spread_other.view.tree","../../../../../mol/view/tree2/to/js/test/ex/array_of_array_or_object.view.tree","../../../../../mol/view/tree2/to/js/test/ex/bidi_localized_in_object.view.tree","../../../../../mol/view/tree2/to/js/test/ex/bidi_with_default_object.view.tree","../../../../../mol/view/tree2/to/js/test/ex/left_in_array_and_object.view.tree","../../../../../mol/view/tree2/to/js/test/ex/bidi_indexed_second_level.view.tree","../../../../../mol/view/tree2/to/js/test/ex/array_spread_other_channel.view.tree","../../../../../mol/view/tree2/to/js/test/ex/simple_factory_inheritance.view.tree","../../../../../mol/view/tree2/to/js/test/ex/structural_with_inheritance.view.tree","../../../../../mol/view/tree2/to/js/test/ex/bidi_localized_default_value.view.tree","../../../../../mol/view/tree2/to/js/test/ex/simple_mutable_and_read_only.view.tree","../../../../../mol/view/tree2/to/js/test/ex/structural_localized_prop_value.view.tree","../../../../../mol/view/tree2/to/js/test/ex/left_with_separate_default_and_comment.view.tree","../../../../../mol/view/tree2/to/js/test/ex/bidi_with_separate_default_in_right_part.view.tree","../../../../../mol/view/tree2/to/js/test/ex/bidi_doubing_right_part_with_same_default.view.tree","../../../../../mol/view/tree2/to/js/test/ex/klass.ts","../../../../../mol/view/tree2/to/js/test/ex/right_hierarchy_bar.ts","../../../../../mol/view/tree2/to/js/test/run.test.ts","../../../../../mol/view/tree2/to/js/test/js.bidi.test.ts","../../../../../mol/view/tree2/to/js/test/js.left.test.ts","../../../../../mol/view/tree2/to/js/test/js.array.test.ts","../../../../../mol/view/tree2/to/js/test/js.right.test.ts","../../../../../mol/view/tree2/to/js/test/js.simple.test.ts","../../../../../mol/view/tree2/to/js/test/js.structural.test.ts"],"names":[],"mappings":"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","sourcesContent":["namespace $ {\n\n\texport function $mol_test( set : { [ name : string ] : string | ( ( context : $ )=> void ) } ) {\n\t\t\n\t\tfor( let name in set ) {\n\n\t\t\tconst code = set[ name ]\n\t\t\tconst test = ( typeof code === 'string' ) ? new Function( '' , code ) as ()=> void : code\n\t\t\t\n\t\t\t$mol_test_all.push( test )\n\t\t}\n\n\t\t$mol_test_schedule()\n\t}\n\n\texport let $mol_test_mocks = [] as Array< ( context : $ )=> void >\n\n\texport const $mol_test_all = [] as Array< ( context : $ )=> any >\n\n\texport async function $mol_test_run() {\n\n\t\tfor( var test of $mol_test_all ) {\n\n\t\t\tlet context = Object.create( $$ )\n\t\t\tfor( let mock of $mol_test_mocks ) await mock( context )\n\t\t\t\n\t\t\tconst res = test( context )\n\t\t\tif( $mol_promise_like( res ) ) {\n\t\t\t\tawait new Promise( ( done, fail )=> {\n\t\t\t\t\tres.then( done, fail )\n\t\t\t\t\tsetTimeout( ()=> fail( new Error( 'Test timeout: ' + test.name ) ), 1000 )\n\t\t\t\t} )\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\t$$.$mol_log3_done({\n\t\t\tplace: '$mol_test',\n\t\t\tmessage: 'All tests passed',\n\t\t\tcount: $mol_test_all.length,\n\t\t})\n\t\t\n\t}\n\t\n\tlet scheduled = false\n\texport function $mol_test_schedule() {\n\n\t\tif( scheduled ) return\n\t\tscheduled = true\n\n\t\tsetTimeout( async ()=> {\n\t\t\t\n\t\t\tscheduled = false\n \t\t\t\n\t\t\tawait $mol_test_run()\n\t\t\t$$.$mol_test_complete()\n\t\t\t\n\t\t} , 1000 )\n\t\t\n\t}\n\n\t$mol_test_mocks.push( context => {\n\t\tlet seed = 0\n\n\t\tcontext.Math = Object.create( Math )\n\t\tcontext.Math.random = ()=> Math.sin( seed++ )\n\n\t\tconst forbidden = [ 'XMLHttpRequest' , 'fetch' ] as const\n\n\t\tfor( let api of forbidden ) {\n\t\t\tcontext[ api ] = new Proxy( function(){} as any , {\n\t\t\t\tget() {\n\t\t\t\t\t$mol_fail_hidden( new Error( `${ api } is forbidden in tests` ) )\n\t\t\t\t} ,\n\t\t\t\tapply() {\n\t\t\t\t\t$mol_fail_hidden( new Error( `${ api } is forbidden in tests` ) )\n\t\t\t\t} ,\n\t\t\t} )\n\t\t}\n\t\t\n\t} )\n\n\t$mol_test({\n\n\t\t'mocked Math.random'( $ ) {\n\t\t\tconsole.assert( $.Math.random() === 0 )\n\t\t\tconsole.assert( $.Math.random() === Math.sin(1) )\n\t\t} ,\n\n\t\t'forbidden XMLHttpRequest'( $ ) {\n\t\t\ttry {\n\t\t\t\tconsole.assert( void new $.XMLHttpRequest )\n\t\t\t} catch( error: any ) {\n\t\t\t\tconsole.assert( error.message === 'XMLHttpRequest is forbidden in tests' )\n\t\t\t}\n\t\t} ,\n\n\t\t'forbidden fetch'( $ ) {\n\t\t\ttry {\n\t\t\t\tconsole.assert( void $.fetch('') )\n\t\t\t} catch( error: any ) {\n\t\t\t\tconsole.assert( error.message === 'fetch is forbidden in tests' )\n\t\t\t}\n\t\t} ,\n\n\t})\n\n}\n","namespace $ {\n\t\n\texport function $mol_test_complete() {\n\t}\n\t\n}\n","namespace $ {\n\n\texport function $mol_dom_render_children (\n\t\tel : Element | DocumentFragment ,\n\t\tchildNodes : NodeList | Array< Node | string | null >\n\t) {\n\t\tconst node_set = new Set< Node | string | null >( childNodes )\n\t\t\n\t\tlet nextNode : Node | null = el.firstChild\n\t\tfor( let view of childNodes ) {\n\n\t\t\tif( view == null ) continue\n\n\t\t\tif( view instanceof $mol_dom_context.Node ) {\n\t\t\t\t\n\t\t\t\twhile( true ) {\n\t\t\t\t\tif( !nextNode ) {\n\t\t\t\t\t\tel.appendChild( view )\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\tif( nextNode == view ) {\n\t\t\t\t\t\tnextNode = nextNode.nextSibling\n\t\t\t\t\t\tbreak\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif( node_set.has( nextNode ) ) {\n\t\t\t\t\t\t\tel.insertBefore( view , nextNode )\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconst nn = nextNode.nextSibling\n\t\t\t\t\t\t\tel.removeChild( nextNode )\n\t\t\t\t\t\t\tnextNode = nn\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t} else {\n\t\t\t\tif( nextNode && nextNode.nodeName === '#text' ) {\n\t\t\t\t\tconst str = String( view )\n\t\t\t\t\tif( nextNode.nodeValue !== str ) nextNode.nodeValue = str\n\t\t\t\t\tnextNode = nextNode.nextSibling\n\t\t\t\t} else {\n\t\t\t\t\tconst textNode = $mol_dom_context.document.createTextNode( String( view ) )\n\t\t\t\t\tel.insertBefore( textNode , nextNode )\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\twhile( nextNode ) {\n\t\t\tconst currNode = nextNode\n\t\t\tnextNode = currNode.nextSibling\n\t\t\tel.removeChild( currNode )\n\t\t}\n\t}\n\n}\n","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\n\texport let $mol_jsx_prefix = ''\n\texport let $mol_jsx_crumbs = ''\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\t/**\n\t * JSX adapter that makes DOM tree.\n\t * Generates global unique ids for every DOM-element by components tree with ids.\n\t * Ensures all local ids are unique.\n\t * Can reuse an existing nodes by GUIDs when used inside [`mol_jsx_attach`](https://github.com/hyoo-ru/mam_mol/tree/master/jsx/attach).\n\t */\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\t\tconst guid = id ? $mol_jsx_prefix ? $mol_jsx_prefix + '/'+ id : id : $mol_jsx_prefix\n\t\tconst crumbs_self = id ? $mol_jsx_crumbs.replace( /(\\S+)/g, `$1_${ id.replace( /\\/.*/i, '' ) }` ) : $mol_jsx_crumbs\n\t\t\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( guid ) }` ) )\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\tlet node: Element | DocumentFragment | null = guid ? $mol_jsx_document.getElementById( guid ) : null\n\n\t\tif( $mol_jsx_prefix ) {\n\t\t\t\n\t\t\tconst prefix_ext = $mol_jsx_prefix\n\t\t\tconst booked_ext = $mol_jsx_booked\n\t\t\tconst crumbs_ext = $mol_jsx_crumbs\n\t\t\t\n\t\t\tfor( const field in props ) {\n\t\t\t\t\n\t\t\t\tconst func = props[ field ]\n\t\t\t\tif( typeof func !== 'function' ) continue\n\t\t\t\t\n\t\t\t\t\n\t\t\t\tconst wrapper = function( this: any, ... args: any[] ) {\n\t\t\t\t\t\n\t\t\t\t\tconst prefix = $mol_jsx_prefix\n\t\t\t\t\tconst booked = $mol_jsx_booked\n\t\t\t\t\tconst crumbs = $mol_jsx_crumbs\n\t\t\t\t\t\n\t\t\t\t\ttry {\n\t\t\n\t\t\t\t\t\t$mol_jsx_prefix = prefix_ext\n\t\t\t\t\t\t$mol_jsx_booked = booked_ext\n\t\t\t\t\t\t$mol_jsx_crumbs = crumbs_ext\n\t\t\t\t\t\t\n\t\t\t\t\t\treturn func.call( this, ... args )\n\t\t\t\t\t\t\n\t\t\t\t\t} finally {\n\t\t\t\t\t\t\n\t\t\t\t\t\t$mol_jsx_prefix = prefix\n\t\t\t\t\t\t$mol_jsx_booked = booked\n\t\t\t\t\t\t$mol_jsx_crumbs = crumbs\n\t\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\t$mol_func_name_from( wrapper, func )\n\t\t\t\tprops[ field ] = wrapper as any\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\tif( typeof Elem !== 'string' ) {\n\n\t\t\tif( 'prototype' in Elem ) {\n\n\t\t\t\tconst view = node && (node as any)[ String(Elem) ] || 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\tview.className = ( crumbs_self ? crumbs_self + ' ' : '' ) + ( Elem['name'] || Elem )\n\t\t\t\t\n\t\t\t\tnode = view.valueOf()\n\t\t\t\t\n\t\t\t\t;(node as any)![ String(Elem) ] = 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\tconst crumbs = $mol_jsx_crumbs\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\t\t\t\t$mol_jsx_crumbs = ( crumbs_self ? crumbs_self + ' ' : '' ) + ( Elem['name'] || Elem )\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\t\t\t\t$mol_jsx_crumbs = crumbs\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\tif( guid ) ( node as Element ).id = guid\n\t\tfor( const key in props ) {\n\t\t\tif( key === 'id' ) continue\n\t\t\t\n\t\t\tif( typeof props[ key ] === 'string' ) {\n\t\t\t\t\n\t\t\t\tif( typeof (node as any)[ key ] === 'string' ) (node as any)[ key ] = props[ key ]\n\t\t\t\t;( node as Element ).setAttribute( key , (props as any)[ key ] )\n\t\t\t\t\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 as any)[ key ] === '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\t(node as any)[ key ] = props[ key ]\n\t\t\t\t\n\t\t\t}\n\n\t\t}\n\n\t\tif( $mol_jsx_crumbs ) ( node as Element ).className = ( (props as any)?.['class'] ? (props as any)['class'] + ' ' : '' ) + crumbs_self\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 */\n/** @jsxFrag $mol_jsx_frag */\nnamespace $ {\n\t\n\t$mol_test({\n\t\t\n\t\t'Make empty div'() {\n\t\t\t$mol_assert_equal( (<div/>).outerHTML , '<div></div>' )\n\t\t} ,\n\t\t\n\t\t'Define native field'() {\n\t\t\t\n\t\t\tconst dom = <input value='123' /> as HTMLInputElement\n\t\t\t\n\t\t\t$mol_assert_equal( dom.outerHTML, '<input value=\"123\">' )\n\t\t\t$mol_assert_equal( dom.value, '123' )\n\n\t\t} ,\n\t\t\n\t\t'Define classes'() {\n\t\t\t\n\t\t\tconst dom = <div class={ 'foo bar' } />\n\t\t\t\n\t\t\t$mol_assert_equal( dom.outerHTML, '<div class=\"foo bar\"></div>' )\n\n\t\t} ,\n\t\t\n\t\t'Define styles'() {\n\t\t\t\n\t\t\tconst dom = <div style={{ color: 'red' }} />\n\t\t\t\n\t\t\t$mol_assert_equal( dom.outerHTML, '<div style=\"color: red;\"></div>' )\n\n\t\t} ,\n\t\t\n\t\t'Define dataset'() {\n\t\t\t\n\t\t\tconst dom = <div dataset={{ foo: 'bar' }} />\n\t\t\t\n\t\t\t$mol_assert_equal( dom.outerHTML, '<div data-foo=\"bar\"></div>' )\n\n\t\t} ,\n\t\t\n\t\t'Define attributes'() {\n\t\t\t\n\t\t\tconst dom = <div lang=\"ru\" hidden />\n\t\t\t\n\t\t\t$mol_assert_equal( dom.outerHTML, '<div lang=\"ru\" hidden=\"\"></div>' )\n\n\t\t} ,\n\t\t\n\t\t'Define child nodes'() {\n\n\t\t\tconst dom =\n\t\t\t\t<div>\n\t\t\t\t\thello\n\t\t\t\t\t<strong>world</strong>\n\t\t\t\t\t!\n\t\t\t\t</div>\n\t\t\t\n\t\t\t$mol_assert_equal( dom.outerHTML, '<div>hello<strong>world</strong>!</div>' )\n\n\t\t} ,\n\n\t\t'Make fragment'() {\n\n\t\t\tconst dom =\n\t\t\t\t<>\n\t\t\t\t\t<br />\n\t\t\t\t\t<hr />\n\t\t\t\t</>\n\t\t\t\n\t\t\t$mol_assert_equal( $mol_dom_serialize( dom ), '<br xmlns=\"http://www.w3.org/1999/xhtml\" /><hr xmlns=\"http://www.w3.org/1999/xhtml\" />' )\n\n\t\t} ,\n\n\t\t'Spread fragment'() {\n\n\t\t\tconst dom =\n\t\t\t\t<div>\n\t\t\t\t\t<>\n\t\t\t\t\t\t<br />\n\t\t\t\t\t\t<hr />\n\t\t\t\t\t</>\n\t\t\t\t</div>\n\t\t\t\n\t\t\t$mol_assert_equal( dom.outerHTML, '<div><br><hr></div>' )\n\n\t\t} ,\n\n\t\t'Function as component'() {\n\n\t\t\tconst Button = (\n\t\t\t\tprops: { hint: string },\n\t\t\t\ttarget: ()=> string,\n\t\t\t) => {\n\t\t\t\treturn <button title={ props.hint } >{ target() }</button>\n\t\t\t}\n\n\t\t\tconst dom = <Button id=\"foo\" hint=\"click me\">{ ()=> 'hey!' }</Button>\n\n\t\t\t$mol_assert_equal( dom.outerHTML, '<button id=\"foo\" title=\"click me\" class=\"Button\">hey!</button>' )\n\t\t\t\n\t\t} ,\n\t\t\n\t\t'Nested guid generation'() {\n\n\t\t\tconst Foo = ()=> {\n\t\t\t\treturn <div>\n\t\t\t\t\t<Bar id=\"bar\">\n\t\t\t\t\t\t<img id=\"icon\" />\n\t\t\t\t\t</Bar>\n\t\t\t\t</div>\n\t\t\t}\n\n\t\t\tconst Bar = ( props: {}, icon: Element )=> {\n\t\t\t\treturn <span>{ icon }<i id=\"label\"/></span>\n\t\t\t}\n\n\t\t\tconst dom = <Foo id=\"foo\" />\n\n\t\t\t$mol_assert_equal( dom.outerHTML, '<div id=\"foo\" class=\"Foo\"><span id=\"foo/bar\" class=\"Foo_bar Bar\"><img id=\"foo/icon\" class=\"Foo_icon\"><i id=\"foo/bar/label\" class=\"Foo_bar_label Bar_label\"></i></span></div>' )\n\t\t\t\n\t\t} ,\n\t\t\n\t\t'Fail on non unique ids'() {\n\n\t\t\tconst App = ()=> {\n\t\t\t\treturn <div>\n\t\t\t\t\t<span id=\"bar\" />\n\t\t\t\t\t<span id=\"bar\" />\n\t\t\t\t</div>\n\t\t\t}\n\n\t\t\t$mol_assert_fail( ()=> <App id=\"foo\" />, 'JSX already has tag with id \"foo/bar\"' )\n\t\t\t\n\t\t} ,\n\t\t\n\t\t'Owner based guid generationn'() {\n\n\t\t\tconst Foo = ()=> {\n\t\t\t\treturn <div>\n\t\t\t\t\t<Bar id=\"middle\" icon={ ()=> <img id=\"icon\" /> } />\n\t\t\t\t</div>\n\t\t\t}\n\n\t\t\tconst Bar = ( props: { icon: ()=> Element } )=> {\n\t\t\t\treturn <span>{ props.icon() }</span>\n\t\t\t}\n\n\t\t\tconst dom = <Foo id=\"app\" />\n\n\t\t\t$mol_assert_equal( dom.outerHTML, '<div id=\"app\" class=\"Foo\"><span id=\"app/middle\" class=\"Foo_middle Bar\"><img id=\"app/icon\" class=\"Foo_icon\"></span></div>' )\n\t\t\t\n\t\t} ,\n\t\t\n\t\t'Fail on same ids from different caller'() {\n\n\t\t\tconst Foo = ()=> {\n\t\t\t\treturn <div>\n\t\t\t\t\t<img id=\"icon\" />\n\t\t\t\t\t<Bar id=\"bar\" icon={ ()=> <img id=\"icon\" /> } />\n\t\t\t\t</div>\n\t\t\t}\n\n\t\t\tconst Bar = ( props: { icon: ()=> Element } )=> {\n\t\t\t\treturn <span>{ props.icon() }</span>\n\t\t\t}\n\n\t\t\t$mol_assert_fail( ()=> <Foo id=\"foo\" />, 'JSX already has tag with id \"foo/icon\"' )\n\t\t\t\n\t\t} ,\n\t\t\n\t})\n\t\n}\n","namespace $ {\n\n\t/** Lazy computed lists with native Array interface. $mol_range2_array is mutable but all derived ranges are immutable. */\n\texport function $mol_range2< Item = number >(\n\t\titem: Item[] | ( ( index : number )=> Item ) = index => index as any ,\n\t\tsize = ()=> Number.POSITIVE_INFINITY ,\n\t): Item[] {\n\t\t\n\t\tconst source = typeof item === 'function' ? new $mol_range2_array< Item >() : item\n\t\t\n\t\tif( typeof item !== 'function' ) {\n\t\t\titem = index => source[ index ]\n\t\t\tsize = ()=> source.length\n\t\t}\n\n\t\treturn new Proxy( source , {\n\n\t\t\tget( target , field ) {\n\n\t\t\t\tif( typeof field === 'string' ) {\n\t\t\t\t\tif( field === 'length' ) return size()\n\t\t\t\t\t\n\t\t\t\t\tconst index = Number( field )\n\t\t\t\t\tif( index < 0 ) return undefined\n\t\t\t\t\tif( index >= size() ) return undefined\n\t\t\t\t\tif( index === Math.trunc( index ) ) return ( item as any )( index )\n\t\t\t\t}\n\n\t\t\t\treturn $mol_range2_array.prototype[ field as any ]\n\t\t\t} ,\n\n\t\t\tset( target , field ) {\n\t\t\t\treturn $mol_fail( new TypeError( `Lazy range is read only (trying to set field ${ JSON.stringify( field ) })` ) )\n\t\t\t} ,\n\n\t\t\townKeys( target ) {\n\t\t\t\treturn [ ... Array( size() ) ].map( ( v, i ) => String( i ) ).concat( 'length' )\n\t\t\t} ,\n\n\t\t\tgetOwnPropertyDescriptor( target , field ) : PropertyDescriptor | undefined {\n\t\t\t\t\n\t\t\t\tif( field === \"length\" ) return {\n\t\t\t\t\tvalue : size() ,\n\t\t\t\t\twritable : true ,\n\t\t\t\t\tenumerable : false ,\n\t\t\t\t\tconfigurable : false ,\n\t\t\t\t}\n\n\t\t\t\tconst index = Number( field )\n\t\t\t\tif( index === Math.trunc( index ) ) return {\n\t\t\t\t\tget : ()=> this.get!( target , field , this ) ,\n\t\t\t\t\tenumerable : true ,\n\t\t\t\t\tconfigurable : true ,\n\t\t\t\t}\n\n\t\t\t\treturn Object.getOwnPropertyDescriptor( target , field )\n\t\t\t}\n\n\t\t} )\n\n\t}\n\n\texport class $mol_range2_array< Item > extends Array< Item > {\n\t\t\n\t\t// Lazy\n\t\tconcat( ... tail : Item[][] ) : Item[] {\n\t\t\tif( tail.length === 0 ) return this as any\n\n\t\t\tif( tail.length > 1 ) {\n\t\t\t\tlet list = this as any\n\t\t\t\tfor( let item of tail ) list = list.concat( item )\n\t\t\t\treturn list\n\t\t\t}\n\t\t\t\n\t\t\treturn $mol_range2(\n\t\t\t\tindex => index < this.length ? this[ index ] : tail[0][ index - this.length ] ,\n\t\t\t\t()=> this.length + tail[0].length ,\n\t\t\t)\n\t\t}\n\n\t\t// Lazy\n\t\tfilter< Context > (\n\t\t\tcheck : ( val : Item , index : number , list : Item[] )=> boolean ,\n\t\t\tcontext? : Context ,\n\t\t) {\n\t\t\t\n\t\t\tconst filtered = [] as Item[]\n\t\t\tlet cursor = -1\n\t\t\t\n\t\t\treturn $mol_range2(\n\t\t\t\tindex => {\n\t\t\t\t\t\n\t\t\t\t\twhile( cursor < this.length && index >= filtered.length - 1 ) {\n\t\t\t\t\t\tconst val = this[ ++ cursor ]\n\t\t\t\t\t\tif( check( val, cursor, this ) ) filtered.push( val )\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\treturn filtered[ index ]\n\t\t\t\t},\n\t\t\t\t()=> cursor < this.length ? Number.POSITIVE_INFINITY : filtered.length,\n\t\t\t)\n\t\t\t\n\t\t}\n\n\t\t// Diligent\n\t\tforEach< Context > (\n\t\t\tproceed : ( this : Context , val : Item , index : number , list : Item[] )=> void ,\n\t\t\tcontext? : Context,\n\t\t) {\n\t\t\tfor( let [ key , value ] of this.entries() ) proceed.call( context as Context , value , key , this )\n\t\t}\n\n\t\t// Lazy\n\t\tmap< Item_out , Context > (\n\t\t\tproceed : ( this : Context , val : Item , index : number , list : Item[] )=> Item_out ,\n\t\t\tcontext? : Context ,\n\t\t) : Item_out[] {\n\t\t\treturn $mol_range2(\n\t\t\t\tindex => proceed.call( context as Context , this[ index ] , index , this ) ,\n\t\t\t\t()=> this.length ,\n\t\t\t)\n\t\t}\n\n\t\t// Diligent\n\t\treduce< Result > (\n\t\t\tmerge : ( result : Result , val : Item , index : number , list : Item[] )=> Result ,\n\t\t\tresult? : Result ,\n\t\t) {\n\t\t\tlet index = 0\n\n\t\t\tif( arguments.length === 1 ) {\n\t\t\t\tresult = this[ index ++ ] as any\n\t\t\t}\n\t\t\t\n\t\t\tfor( ; index < this.length ; ++ index ) {\n\t\t\t\tresult = merge( result as Result , this[ index ] , index , this as any )\n\t\t\t}\n\t\t\t\n\t\t\treturn result\n\t\t}\n\n\t\t// Lazy\n\t\ttoReversed(): Item[] {\n\t\t\treturn $mol_range2(\n\t\t\t\tindex => this[ this.length - 1 - index ] ,\n\t\t\t\t()=> this.length ,\n\t\t\t)\n\t\t}\n\n\t\t// Lazy\n\t\tslice( from = 0 , to = this.length ) {\n\t\t\treturn $mol_range2(\n\t\t\t\tindex => this[ from + index ] ,\n\t\t\t\t()=> Math.min( to , this.length ) - from ,\n\t\t\t)\n\t\t}\n\n\t\t// Lazy\n\t\tsome< Context > (\n\t\t\tcheck : ( this : Context , val : Item , index : number , list : Item[] )=> boolean ,\n\t\t\tcontext? : Context ,\n\t\t) {\n\t\t\tfor( let index = 0 ; index < this.length ; ++ index ) {\n\t\t\t\tif( check.call( context as Context , this[ index ] , index , this ) ) return true\n\t\t\t}\n\t\t\treturn false\n\t\t}\n\n\t\t// Lazy\n\t\tevery< Narrow extends Item, Context = null >( check: ( value: Item, index: number, array: Item[] )=> value is Narrow, context?: Context ): this is Narrow[]\n\t\tevery< Context = null > (\n\t\t\tcheck : ( this : Context , val : Item , index : number , list : Item[] )=> boolean ,\n\t\t\tcontext? : Context ,\n\t\t) {\n\t\t\tfor( let index = 0 ; index < this.length ; ++ index ) {\n\t\t\t\tif( !check.call( context as Context , this[ index ] , index , this as any as Item[] ) ) return false\n\t\t\t}\n\t\t\treturn true\n\t\t}\n\n\t\treverse() {\n\t\t\treturn $mol_fail( new TypeError( `Mutable reverse is forbidden. Use toReversed instead.` ) )\n\t\t}\n\n\t\tsort() {\n\t\t\treturn $mol_fail( new TypeError( `Mutable sort is forbidden. Use toSorted instead.` ) )\n\t\t}\n\t\t\n\t\tindexOf( needle: Item ) {\n\t\t\treturn this.findIndex( item => item === needle )\n\t\t}\n\t\t\n\t\t[Symbol.toPrimitive]() {\n\t\t\treturn $mol_guid()\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\n\t$mol_test({\n\n\t\t'lazy calls'() {\n\n\t\t\tlet calls = 0\n\t\t\t\n\t\t\tconst list = $mol_range2( index => ( ++ calls , index ) , ()=> 10 )\n\n\t\t\t$mol_assert_equal( true, list instanceof Array )\n\t\t\t$mol_assert_equal( list.length , 10 )\n\n\t\t\t$mol_assert_equal( list[-1] , undefined )\n\t\t\t$mol_assert_equal( list[0] , 0 )\n\t\t\t$mol_assert_equal( list[9] , 9 )\n\t\t\t$mol_assert_equal( list[9.5] , undefined )\n\t\t\t$mol_assert_equal( list[10] , undefined )\n\n\t\t\t$mol_assert_equal( calls , 2 )\n\n\t\t} ,\n\n\t\t'infinity list'() {\n\n\t\t\tlet calls = 0\n\t\t\t\n\t\t\tconst list = $mol_range2( index => ( ++ calls , index ) )\n\n\t\t\t$mol_assert_equal( list.length , Number.POSITIVE_INFINITY )\n\n\t\t\t$mol_assert_equal( list[0] , 0 )\n\t\t\t$mol_assert_equal( list[4] , 4 )\n\t\t\t$mol_assert_equal( list[Number.MAX_SAFE_INTEGER] , Number.MAX_SAFE_INTEGER )\n\t\t\t$mol_assert_equal( list[Number.POSITIVE_INFINITY] , undefined )\n\t\t\t\n\t\t\t$mol_assert_equal( calls , 3 )\n\n\t\t} ,\n\n\t\t'stringify'() {\n\n\t\t\tconst list = $mol_range2( i => i , ()=> 5 )\n\n\t\t\t$mol_assert_equal( list.toString() , '0,1,2,3,4' )\n\t\t\t$mol_assert_equal( list.join(';') , '0;1;2;3;4' )\n\n\t\t} ,\n\n\t\t'for-of'() {\n\n\t\t\tlet log = ''\n\n\t\t\tfor( let i of $mol_range2( i => i + 1 , ()=> 5 ) ) {\n\t\t\t\tlog += i\n\t\t\t}\n\n\t\t\t$mol_assert_equal( log , '12345' )\n\n\t\t} ,\n\n\t\t'for-in'() {\n\n\t\t\tlet log = ''\n\n\t\t\tfor( let i in $mol_range2( i => i , ()=> 5 ) ) {\n\t\t\t\tlog += i\n\t\t\t}\n\n\t\t\t$mol_assert_equal( log , '01234' )\n\n\t\t} ,\n\n\t\t'forEach'() {\n\n\t\t\tlet log = ''\n\n\t\t\t$mol_range2( i => i , ()=> 5 ).forEach( i => log += i )\n\n\t\t\t$mol_assert_equal( log , '01234' )\n\n\t\t} ,\n\n\t\t'reduce'() {\n\n\t\t\tlet calls = 0\n\t\t\t\n\t\t\tconst list = $mol_range2().slice( 1 , 6 )\n\n\t\t\t$mol_assert_equal( list.reduce( ( s , v )=> s + v ) , 15 )\n\t\t\t$mol_assert_equal( list.reduce( ( s , v )=> s + v , 5 ) , 20 )\n\n\t\t} ,\n\n\t\t'lazy concat'() {\n\n\t\t\tlet calls1 = 0\n\t\t\tlet calls2 = 0\n\t\t\t\n\t\t\tconst list = $mol_range2( index => ( ++ calls1 , index ) , ()=> 5 ).concat(\n\t\t\t\t[ 0 , 1 , 2 , 3 , 4 ] ,\n\t\t\t\t$mol_range2( index => ( ++ calls2 , index ) , ()=> 5 ) ,\n\t\t\t)\n\n\t\t\t$mol_assert_equal( true, list instanceof Array )\n\t\t\t$mol_assert_equal( list.length , 15 )\n\n\t\t\t$mol_assert_equal( list[0] , 0 )\n\t\t\t$mol_assert_equal( list[4] , 4 )\n\t\t\t$mol_assert_equal( list[5] , 0 )\n\t\t\t$mol_assert_equal( list[9] , 4 )\n\t\t\t$mol_assert_equal( list[10] , 0 )\n\t\t\t$mol_assert_equal( list[14] , 4 )\n\t\t\t$mol_assert_equal( list[15] , undefined )\n\t\t\t\n\t\t\t$mol_assert_equal( calls1 , 2 )\n\t\t\t$mol_assert_equal( calls2 , 2 )\n\n\t\t} ,\n\n\t\t'lazy filter'() {\n\n\t\t\tlet calls = 0\n\t\t\t\n\t\t\tconst list = $mol_range2( index => ( ++ calls , index ) , ()=> 15 ).filter( v => v % 2 ).slice( 0 , 3 )\n\n\t\t\t$mol_assert_equal( true, list instanceof Array )\n\t\t\t$mol_assert_equal( list.length , 3 )\n\n\t\t\t$mol_assert_equal( list[0] , 1 )\n\t\t\t$mol_assert_equal( list[2] , 5 )\n\t\t\t$mol_assert_equal( list[3] , undefined )\n\t\t\t\n\t\t\t$mol_assert_equal( calls , 8 )\n\n\t\t} ,\n\n\t\t'lazy reverse'() {\n\t\t\tlet calls = 0\n\n\t\t\tconst list = $mol_range2( index => ( ++ calls , index ) , ()=> 10 ).toReversed().slice(0, 3)\n\n\t\t\t$mol_assert_equal( true, list instanceof Array )\n\t\t\t$mol_assert_equal( list.length , 3 )\n\n\t\t\t$mol_assert_equal( list[0] , 9 )\n\t\t\t$mol_assert_equal( list[2] , 7 )\n\t\t\t$mol_assert_equal( list[3] , undefined )\n\t\t\t$mol_assert_equal( calls , 2 )\n\n\t\t} ,\n\n\t\t'lazy map'() {\n\n\t\t\tlet calls1 = 0\n\t\t\tlet calls2 = 0\n\t\t\t\n\t\t\tconst source = $mol_range2( index => ( ++ calls1 , index ) , ()=> 5 )\n\t\t\tconst target = source.map(\n\t\t\t\t( item , index , self )=> {\n\t\t\t\t\t++ calls2\n\t\t\t\t\t$mol_assert_equal( source , self )\n\t\t\t\t\treturn index + 10\n\t\t\t\t} ,\n\t\t\t\t()=> 5 ,\n\t\t\t)\n\n\t\t\t$mol_assert_equal( true, target instanceof Array )\n\t\t\t$mol_assert_equal( target.length , 5 )\n\n\t\t\t$mol_assert_equal( target[0] , 10 )\n\t\t\t$mol_assert_equal( target[4] , 14 )\n\t\t\t$mol_assert_equal( target[5] , undefined )\n\t\t\t\n\t\t\t$mol_assert_equal( calls1 , 2 )\n\t\t\t$mol_assert_equal( calls2 , 2 )\n\n\t\t} ,\n\n\t\t'lazy slice'() {\n\n\t\t\tlet calls = 0\n\t\t\t\n\t\t\tconst list = $mol_range2( index => ( ++ calls , index ) , ()=> 10 ).slice( 3 , 7 )\n\n\t\t\t$mol_assert_equal( true, list instanceof Array )\n\t\t\t$mol_assert_equal( list.length , 4 )\n\n\t\t\t$mol_assert_equal( list[0] , 3 )\n\t\t\t$mol_assert_equal( list[3] , 6 )\n\t\t\t$mol_assert_equal( list[4] , undefined )\n\t\t\t\n\t\t\t$mol_assert_equal( calls , 2 )\n\n\t\t} ,\n\n\t\t'lazy some'() {\n\n\t\t\tlet calls = 0\n\t\t\t\n\t\t\t$mol_assert_equal( true, $mol_range2( index => ( ++ calls , index ) , ()=> 5 ).some( v => v >= 2 ) )\n\n\t\t\t$mol_assert_equal( calls , 3 )\n\n\t\t\t$mol_assert_equal( false, $mol_range2( i => i , ()=> 0 ).some( v => true ) )\n\t\t\t$mol_assert_equal( true, $mol_range2( i => i ).some( v => v > 5 ) )\n\t\t} ,\n\n\t\t'lazy every'() {\n\n\t\t\tlet calls = 0\n\t\t\t\n\t\t\t$mol_assert_equal( false, $mol_range2( index => ( ++ calls , index ) , ()=> 5 ).every( v => v < 2 ) )\n\n\t\t\t$mol_assert_equal( calls , 3 )\n\n\t\t\t$mol_assert_equal( true, $mol_range2( i => i , ()=> 0 ).every( v => false ) )\n\t\t\t$mol_assert_equal( false, $mol_range2( i => i ).every( v => v < 5 ) )\n\t\t} ,\n\n\t\t'lazyfy'() {\n\n\t\t\tlet calls = 0\n\t\t\t\n\t\t\tconst list = $mol_range2([ 0 , 1 , 2 , 3 , 4 , 5 ]).map( i => ( ++ calls , i + 10 ) ).slice( 2 )\n\n\t\t\t$mol_assert_equal( true, list instanceof Array )\n\t\t\t$mol_assert_equal( list.length , 4 )\n\n\t\t\t$mol_assert_equal( calls , 0 )\n\t\t\t\n\t\t\t$mol_assert_equal( list[0] , 12 )\n\t\t\t$mol_assert_equal( list[3] , 15 )\n\t\t\t$mol_assert_equal( list[4] , undefined )\n\t\t\t\n\t\t\t$mol_assert_equal( calls , 2 )\n\n\t\t} ,\n\n\t\t'prevent modification'() {\n\n\t\t\tconst list = $mol_range2( i => i , ()=> 5 )\n\n\t\t\t$mol_assert_fail( ()=> list.push( 4 ) , TypeError )\n\t\t\t$mol_assert_fail( ()=> list.pop() , TypeError )\n\t\t\t\n\t\t\t$mol_assert_fail( ()=> list.unshift( 4 ) , TypeError )\n\t\t\t$mol_assert_fail( ()=> list.shift() , TypeError )\n\t\t\t\n\t\t\t$mol_assert_fail( ()=> list.splice( 1 , 2 ) , TypeError )\n\t\t\t$mol_assert_fail( ()=> list[ 1 ] = 2 , TypeError )\n\t\t\t\n\t\t\t$mol_assert_fail( ()=> list.reverse() , TypeError )\n\t\t\t$mol_assert_fail( ()=> list.sort() , TypeError )\n\n\t\t\t$mol_assert_equal( list.toString() , '0,1,2,3,4' )\n\n\t\t}\n\n\t})\n\n}\n","/** @jsx $mol_jsx */\nnamespace $ {\n\n\t$mol_test({\n\n\t\t'nulls & undefineds'() {\n\n\t\t\t$mol_assert_ok( $mol_compare_deep( null , null ) )\n\t\t\t$mol_assert_ok( $mol_compare_deep( undefined , undefined ) )\n\t\t\t\n\t\t\t$mol_assert_not( $mol_compare_deep( undefined , null ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( {} , null ) )\n\t\t\t\n\t\t} ,\n\n\t\t'number'() {\n\t\t\t\n\t\t\t$mol_assert_ok( $mol_compare_deep( 1 , 1 ) )\n\t\t\t$mol_assert_ok( $mol_compare_deep( Number.NaN , Number.NaN ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( 1 , 2 ) )\n\t\t\t\n\t\t\t$mol_assert_ok( $mol_compare_deep( Object( 1 ) , Object( 1 ) ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( Object( 1 ) , Object( 2 ) ) )\n\t\t\t\n\t\t} ,\n\n\t\t'POJO'() {\n\t\t\t$mol_assert_ok( $mol_compare_deep( {} , {} ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( { a : 1 } , { b : 2 } ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( { a : 1 } , { a : 2 } ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( {} , { a : undefined } ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( { a: 1, b: 2 } , { b: 2, a: 1 } ) )\n\t\t\t$mol_assert_ok( $mol_compare_deep( { a : { b : 1 } } , { a : { b : 1 } } ) )\n\t\t\t$mol_assert_ok( $mol_compare_deep( Object.create(null), Object.create(null) ) )\n\t\t} ,\n\n\t\t'Array'() {\n\t\t\t\n\t\t\t$mol_assert_ok( $mol_compare_deep( [] , [] ) )\n\t\t\t$mol_assert_ok( $mol_compare_deep( [ 1 , [2] ] , [ 1 , [2] ] ) )\n\t\t\t\n\t\t\t$mol_assert_not( $mol_compare_deep( [ 1 , 2 ] , [ 1 , 3 ] ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( [ 1 , 2 , ] , [ 1 , 3 , undefined ] ) )\n\t\t\t\n\t\t\t$mol_assert_not( $mol_compare_deep( $mol_range2().slice(0,0), new Array() ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( $mol_range2(), $mol_range2() ) )\n\t\t\t\n\t\t} ,\n\n\t\t'Non POJO are different'() {\n\t\t\t\n\t\t\tclass Thing extends Object {}\n\t\t\t$mol_assert_not( $mol_compare_deep( new Thing , new Thing ) )\n\t\t\t\n\t\t\t$mol_assert_not( $mol_compare_deep( ()=> 1 , ()=>1 ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( new RangeError( 'Test error' ) , new RangeError( 'Test error' ) ) )\n\t\t\t\n\t\t} ,\n\n\t\t'POJO with symbols'() {\n\t\t\tconst sym = Symbol()\n\t\t\t$mol_assert_ok( $mol_compare_deep( { [ sym ]: true }, { [ sym ]: true } ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( { [ Symbol() ]: true }, { [ Symbol() ]: true } ) )\n\t\t} ,\n\n\t\t'same POJOs with cyclic reference'() {\n\n\t\t\tconst a = { foo : {} }\n\t\t\t;(a as any)['self'] = a\n\n\t\t\tconst b = { foo : {} }\n\t\t\t;(b as any)['self'] = b\n\n\t\t\t$mol_assert_ok( $mol_compare_deep( a , b ) )\n\n\t\t} ,\n\n\t\t'same POJOs with cyclic reference with cache warmup'() {\n\t\t\tconst obj1 = { test: 1, obj3: null as unknown as Object }\n\t\t\tconst obj1_copy = { test: 1, obj3: null as unknown as Object }\n\t\t\tconst obj2 = { test: 2, obj1 }\n\t\t\tconst obj2_copy = { test: 2, obj1: obj1_copy }\n\t\t\tconst obj3 = { test: 3, obj2 }\n\t\t\tconst obj3_copy = { test: 3, obj2: obj2_copy }\n\n\t\t\tobj1.obj3 = obj3\n\t\t\tobj1_copy.obj3 = obj3_copy\n\n\t\t\t// warmup cache\n\t\t\t$mol_assert_not( $mol_compare_deep( obj1 , {} as any ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( obj2 , {} as any ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( obj3 , {} as any ) )\n\n\t\t\t$mol_assert_ok( $mol_compare_deep( obj3 , obj3_copy ) )\n\n\t\t} ,\n\n\t\t'Date'() {\n\t\t\t$mol_assert_ok( $mol_compare_deep( new Date( 12345 ) , new Date( 12345 ) ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( new Date( 12345 ) , new Date( 12346 ) ) )\n\t\t} ,\n\n\t\t'RegExp'() {\n\t\t\t$mol_assert_ok( $mol_compare_deep( /\\x22/mig , /\\x22/mig ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( /\\x22/mig , /\\x21/mig ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( /\\x22/mig , /\\x22/mg ) )\n\t\t} ,\n\n\t\t'Error'() {\n\t\t\t\n\t\t\t$mol_assert_not( $mol_compare_deep( new Error( 'xxx' ) , new Error( 'xxx' ) ) )\n\n\t\t\tconst fail = ( message: string )=> new Error( message )\n\t\t\t\n\t\t\t$mol_assert_ok( $mol_compare_deep(\n\t\t\t\t... [ 'xxx' , 'xxx' ].map( msg => new Error( msg ) ) as [ Error, Error ]\n\t\t\t) )\n\t\t\t\n\t\t\t$mol_assert_not( $mol_compare_deep(\n\t\t\t\t... [ 'xxx' , 'yyy' ].map( msg => new Error( msg ) ) as [ Error, Error ]\n\t\t\t) )\n\t\t\t\n\t\t} ,\n\n\t\t'Map'() {\n\t\t\t$mol_assert_ok( $mol_compare_deep( new Map , new Map ) )\n\t\t\t$mol_assert_ok( $mol_compare_deep( new Map([ [ 1 , [2] ] ]) , new Map([ [ 1 , [2] ] ]) ) )\n\t\t\t$mol_assert_ok( $mol_compare_deep( new Map([ [ [1] , 2 ] ]) , new Map([ [ [1] , 2 ] ]) ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( new Map([ [ 1 , 2 ] ]) , new Map([ [ 1 , 3 ] ]) ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( new Map([ [ [1] , 2 ] ]) , new Map([ [ [3] , 2 ] ]) ) )\n\t\t} ,\n\t\t\n\t\t'Set'() {\n\t\t\t$mol_assert_ok( $mol_compare_deep( new Set , new Set ) )\n\t\t\t$mol_assert_ok( $mol_compare_deep( new Set([ 1 , [2] ]) , new Set([ 1 , [2] ]) ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( new Set([ 1 ]) , new Set([ 2 ]) ) )\n\t\t} ,\n\t\t\n\t\t'Uint8Array'() {\n\t\t\t$mol_assert_ok( $mol_compare_deep( new Uint8Array , new Uint8Array ) )\n\t\t\t$mol_assert_ok( $mol_compare_deep( new Uint8Array([ 0 ]) , new Uint8Array([ 0 ]) ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( new Uint8Array([ 0 ]) , new Uint8Array([ 1 ]) ) )\n\t\t} ,\n\t\t\n\t\t'DataView'() {\n\t\t\t$mol_assert_ok( $mol_compare_deep( new DataView( new Uint8Array().buffer ) , new DataView( new Uint8Array().buffer ) ) )\n\t\t\t$mol_assert_ok( $mol_compare_deep( new DataView( new Uint8Array([ 0 ]).buffer ) , new DataView( new Uint8Array([ 0 ]).buffer ) ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( new DataView( new Uint8Array([ 0 ]). buffer ) , new DataView( new Uint8Array([ 1 ]).buffer ) ) )\n\t\t} ,\n\t\t\n\t\t'Serializale'() {\n\t\t\t\n\t\t\tclass User {\n\t\t\t\t\n\t\t\t\tconstructor(\n\t\t\t\t\treadonly name: string,\n\t\t\t\t\treadonly rand = Math.random(),\n\t\t\t\t) {}\n\t\t\t\t\n\t\t\t\t[ Symbol.toPrimitive ]( mode: 'default' | 'number' | 'string' ) {\n\t\t\t\t\treturn this.name\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\t$mol_assert_ok( $mol_compare_deep( new User( 'Jin' ), new User( 'Jin' ) ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( new User( 'Jin' ), new User( 'John' ) ) )\n\t\t\t\n\t\t} ,\n\t\t\n\t\t'Iterable'() {\n\t\t\t$mol_assert_ok( $mol_compare_deep( new URLSearchParams({ foo: 'bar' }), new URLSearchParams({ foo: 'bar' }) ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( new URLSearchParams({ foo: 'xxx' }), new URLSearchParams({ foo: 'yyy' }) ) )\n\t\t\t$mol_assert_not( $mol_compare_deep( new URLSearchParams({ foo: 'xxx', bar: 'yyy' }), new URLSearchParams({ bar: 'yyy', foo: 'xxx' }) ) )\n\t\t} ,\n\t\t\n\t})\n\n}\n","namespace $ {\n\t\n\t/**\n\t * Argument must be Truthy\n\t * @deprecated use $mol_assert_equal instead\n\t */\n\texport function $mol_assert_ok( value : any ) {\n\t\tif( value ) return\n\t\t$mol_fail( new Error( `${value} ≠ true` ) )\n\t}\n\t\n\t/**\n\t * Argument must be Falsy\n\t * @deprecated use $mol_assert_equal instead\n\t */\n\texport function $mol_assert_not( value : any ) {\n\t\tif( !value ) return\n\t\t$mol_fail( new Error( `${value} ≠ false` ) )\n\t}\n\t\n\t/**\n\t * Handler must throw an error.\n\t * @example\n\t * $mol_assert_fail( ()=>{ throw new Error( 'Parse error' ) } ) // Passes because throws error\n\t * $mol_assert_fail( ()=>{ throw new Error( 'Parse error' ) } , 'Parse error' ) // Passes because throws right message\n\t * $mol_assert_fail( ()=>{ throw new Error( 'Parse error' ) } , Error ) // Passes because throws right class\n\t * @see https://mol.hyoo.ru/#!section=docs/=9q9dv3_fgxjsf\n\t */\n\texport function $mol_assert_fail(\n\t\thandler: ()=> any ,\n\t\tErrorRight: string | typeof Error | typeof Promise\n\t) {\n\t\t\n\t\tconst fail = $.$mol_fail\n\t\t\n\t\ttry {\n\t\t\t$.$mol_fail = $.$mol_fail_hidden\n\t\t\t\n\t\t\thandler()\n\n\t\t} catch( error: any ) {\n\t\t\t\n\t\t\t$.$mol_fail = fail\n\n\t\t\tif( typeof ErrorRight === 'string' ) {\n\t\t\t\t$mol_assert_equal( error.message ?? error, ErrorRight )\n\t\t\t} else {\n\t\t\t\t$mol_assert_equal( error instanceof ErrorRight, true )\n\t\t\t}\n\t\t\t\n\t\t\treturn error\n\n\t\t} finally {\n\t\t\t$.$mol_fail = fail\n\t\t}\n\n\t\t$mol_fail( new Error( 'Not failed' ) )\n\t}\n\t\n\t/** @deprecated Use $mol_assert_equal */\n\texport function $mol_assert_like< Value >( ... args : [ Value, Value, ...Value[] ] ) {\n\t\t$mol_assert_equal( ... args )\n\t}\n\t\n\t/**\n\t * All arguments must not be structural equal to each other.\n\t * @example\n\t * $mol_assert_unique( 1 , 2 , 3 ) // Passes\n\t * $mol_assert_unique( 1 , 1 , 2 ) // Fails because 1 === 1\n\t * @see https://mol.hyoo.ru/#!section=docs/=9q9dv3_fgxjsf\n\t */\n\texport function $mol_assert_unique( ... args : [ any, any, ...any[] ] ) {\n\t\t\n\t\tfor( let i = 0 ; i < args.length ; ++i ) {\n\t\t\tfor( let j = 0 ; j < args.length ; ++j ) {\n\t\t\t\t\n\t\t\t\tif( i === j ) continue\n\t\t\t\tif( !$mol_compare_deep( args[i], args[j] ) ) continue\n\t\t\t\t\n\t\t\t\treturn $mol_fail( new Error(\n\t\t\t\t\t`Uniquesess assertion failure`,\n\t\t\t\t\t{ cause: { [i]: args[i], [i]: args[i] } },\n\t\t\t\t) )\n\t\t\t\t\n\t\t\t}\n\t\t}\n\t\t\n\t}\n\t\n\t/**\n\t * All arguments must be structural equal each other.\n\t * @example\n\t * $mol_assert_like( [1] , [1] , [1] ) // Passes\n\t * $mol_assert_like( [1] , [1] , [2] ) // Fails because 1 !== 2\n\t * @see https://mol.hyoo.ru/#!section=docs/=9q9dv3_fgxjsf\n\t */\n\texport function $mol_assert_equal< Value >( ... args : Value[] ) {\n\t\tfor( let i = 1 ; i < args.length ; ++i ) {\n\t\t\t\n\t\t\tif( $mol_compare_deep( args[0] , args[i] ) ) continue\n\t\t\tif( args[0] instanceof $mol_dom_context.Element && args[i] instanceof $mol_dom_context.Element && args[0].outerHTML === ( args[i] as Element ).outerHTML ) continue\n\t\t\t\n\t\t\treturn $mol_fail( new Error(\n\t\t\t\t`Equality assertion failure`,\n\t\t\t\t{ cause: { 0: args[0], [i]: args[i] } },\n\t\t\t) )\n\t\t\t\n\t\t}\n\t}\n\t\n}\n","namespace $ {\n\t$mol_test( {\n\t\t\n\t\t'must be false'() {\n\t\t\t$mol_assert_not( 0 )\n\t\t} ,\n\t\t\n\t\t'must be true'() {\n\t\t\t$mol_assert_ok( 1 )\n\t\t} ,\n\t\t\n\t\t'two must be equal'() {\n\t\t\t$mol_assert_equal( 2 , 2 )\n\t\t} ,\n\t\t\n\t\t'three must be equal'() {\n\t\t\t$mol_assert_equal( 2 , 2 , 2 )\n\t\t} ,\n\t\t\n\t\t'two must be unique'() {\n\t\t\t$mol_assert_unique( [ 2 ] , [ 3 ] )\n\t\t} ,\n\t\t\n\t\t'three must be unique'() {\n\t\t\t$mol_assert_unique( [ 1 ] , [ 2 ] , [ 3 ] )\n\t\t} ,\n\t\t\n\t\t'two must be alike'() {\n\t\t\t$mol_assert_like( [ 3 ] , [ 3 ] )\n\t\t} ,\n\t\t\n\t\t'three must be alike'() {\n\t\t\t$mol_assert_like( [ 3 ] , [ 3 ] , [ 3 ] )\n\t\t} ,\n\n\t\t'two object must be alike'() {\n\t\t\t$mol_assert_like( { a: 1 }, { a: 1 } )\n\t\t} ,\n\n\t\t'three object must be alike'() {\n\t\t\t$mol_assert_like( { a: 1 }, { a: 1 }, { a: 1 } )\n\t\t} ,\n\t\t\n\t} )\n}\n","namespace $ {\n\n\t$mol_test_mocks.push( $ => {\n\t\t$.$mol_log3_come = ()=> {}\n\t\t$.$mol_log3_done = ()=> {}\n\t\t$.$mol_log3_fail = ()=> {}\n\t\t$.$mol_log3_warn = ()=> {}\n\t\t$.$mol_log3_rise = ()=> {}\n\t\t$.$mol_log3_area = ()=> ()=> {}\n\t} )\n\n}\n","namespace $ {\n\n\t$mol_test({\n\t\t\n\t\t'FQN of anon function'($) {\n\t\t\tconst $$ = Object.assign( $ , { $mol_func_name_test : ( ()=> ()=> {} )() } )\n\t\t\t$mol_assert_equal( $$.$mol_func_name_test.name , '' )\n\t\t\t$mol_assert_equal( $$.$mol_func_name( $$.$mol_func_name_test ) , '$mol_func_name_test' )\n\t\t\t$mol_assert_equal( $$.$mol_func_name_test.name , '$mol_func_name_test' )\n\t\t},\n\n\t})\n\n}\n","namespace $ {\n\t$mol_test({\n\t\t\n\t\t'get'() {\n\t\t\tconst proxy = $mol_delegate( {} as any , ()=> ({ foo : 777 }) )\n\t\t\t$mol_assert_equal( proxy.foo , 777 )\n\t\t},\n\n\t\t'has'() {\n\t\t\tconst proxy = $mol_delegate( {} as any , ()=> ({ foo : 777 }) )\n\t\t\t$mol_assert_equal( 'foo' in proxy , true )\n\t\t},\n\n\t\t'set'() {\n\t\t\tconst target = { foo : 777 }\n\t\t\tconst proxy = $mol_delegate( {} as any , ()=> target )\n\t\t\tproxy.foo = 123\n\t\t\t$mol_assert_equal( target.foo , 123 )\n\t\t},\n\t\t\n\t\t'getOwnPropertyDescriptor'() {\n\n\t\t\tconst proxy = $mol_delegate( {} as any , ()=> ({ foo : 777 }) )\n\t\t\t\n\t\t\t$mol_assert_like(\n\t\t\t\tObject.getOwnPropertyDescriptor( proxy , 'foo' ),\n\t\t\t\t{\n\t\t\t\t\tvalue: 777,\n\t\t\t\t\twritable: true,\n\t\t\t\t\tenumerable: true,\n\t\t\t\t\tconfigurable: true,\n\t\t\t\t},\n\t\t\t)\n\t\t\t\n\t\t},\n\n\t\t'ownKeys'() {\n\n\t\t\tconst proxy = $mol_delegate(\n\t\t\t\t{} as any ,\n\t\t\t\t()=> ({ foo : 777 , [ Symbol.toStringTag ] : 'bar' }),\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_like(\n\t\t\t\tReflect.ownKeys( proxy ),\n\t\t\t\t[ 'foo' , Symbol.toStringTag ],\n\t\t\t)\n\n\t\t},\n\n\t\t'getPrototypeOf'() {\n\n\t\t\tclass Foo {}\n\n\t\t\tconst proxy = $mol_delegate(\n\t\t\t\t{} as any ,\n\t\t\t\t()=> new Foo,\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\tObject.getPrototypeOf( proxy ),\n\t\t\t\tFoo.prototype,\n\t\t\t)\n\n\t\t},\n\n\t\t'setPrototypeOf'() {\n\n\t\t\tclass Foo {}\n\t\t\tconst target = {}\n\n\t\t\tconst proxy = $mol_delegate(\n\t\t\t\t{} ,\n\t\t\t\t()=> target,\n\t\t\t)\n\n\t\t\tObject.setPrototypeOf( proxy , Foo.prototype )\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\tObject.getPrototypeOf( target ),\n\t\t\t\tFoo.prototype,\n\t\t\t)\n\n\t\t},\n\n\t\t'instanceof'() {\n\n\t\t\tclass Foo {}\n\n\t\t\tconst proxy = $mol_delegate(\n\t\t\t\t{} ,\n\t\t\t\t()=> new Foo,\n\t\t\t)\n\n\t\t\t$mol_assert_ok( proxy instanceof Foo )\n\t\t\t$mol_assert_ok( proxy instanceof $mol_delegate )\n\n\t\t},\n\n\t\t'autobind'() {\n\n\t\t\tclass Foo {}\n\n\t\t\tconst proxy = $mol_delegate(\n\t\t\t\t{} ,\n\t\t\t\t()=> new Foo,\n\t\t\t)\n\n\t\t\t$mol_assert_ok( proxy instanceof Foo )\n\t\t\t$mol_assert_ok( proxy instanceof $mol_delegate )\n\n\t\t},\n\n\t})\n}\n","namespace $ {\n\t$mol_test( {\n\t\t'span for same uri'( $ ) {\n\t\t\tconst span = new $mol_span('test.ts', '', 1, 3, 4)\n\t\t\tconst child = span.span(4, 5, 8)\n\n\t\t\t$mol_assert_equal(child.uri, 'test.ts')\n\t\t\t$mol_assert_equal(child.row, 4)\n\t\t\t$mol_assert_equal(child.col, 5)\n\t\t\t$mol_assert_equal(child.length, 8)\n\t\t},\n\n\t\t'span after of given position'( $ ) {\n\t\t\tconst span = new $mol_span('test.ts', '', 1, 3, 4)\n\t\t\tconst child = span.after(11)\n\n\t\t\t$mol_assert_equal(child.uri, 'test.ts')\n\t\t\t$mol_assert_equal(child.row, 1)\n\t\t\t$mol_assert_equal(child.col, 7)\n\t\t\t$mol_assert_equal(child.length, 11)\n\t\t},\n\n\t\t'slice span - regular'( $ ) {\n\t\t\tconst span = new $mol_span('test.ts', '', 1, 3, 5)\n\t\t\tconst child = span.slice(1, 4)\n\n\t\t\t$mol_assert_equal(child.row, 1)\n\t\t\t$mol_assert_equal(child.col, 4)\n\t\t\t$mol_assert_equal(child.length, 3)\n\n\t\t\tconst child2 = span.slice(2, 2)\n\n\t\t\t$mol_assert_equal(child2.col, 5)\n\t\t\t$mol_assert_equal(child2.length, 0)\n\t\t},\n\n\t\t'slice span - negative'( $ ) {\n\t\t\tconst span = new $mol_span('test.ts', '', 1, 3, 5)\n\t\t\tconst child = span.slice(-3, -1)\n\n\t\t\t$mol_assert_equal(child.row, 1)\n\t\t\t$mol_assert_equal(child.col, 5)\n\t\t\t$mol_assert_equal(child.length, 2)\n\t\t},\n\n\t\t'slice span - out of range'( $ ) {\n\t\t\tconst span = new $mol_span('test.ts', '', 1, 3, 5)\n\n\t\t\t$mol_assert_fail( ()=> span.slice(-1, 3), `End value '3' can't be less than begin value (test.ts#1:3/5)` )\n\t\t\t$mol_assert_fail( ()=> span.slice(1, 6), `End value '6' out of range (test.ts#1:3/5)` )\n\t\t\t$mol_assert_fail( ()=> span.slice(1, 10), `End value '10' out of range (test.ts#1:3/5)` )\n\t\t},\n\n\t\t'error handling'( $ ) {\n\t\t\tconst span = new $mol_span('test.ts', '', 1, 3, 4)\n\t\t\tconst error = span.error('Some error')\n\n\t\t\t$mol_assert_equal(error.message, 'Some error (test.ts#1:3/4)')\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_tree2_from_string( \"foo\\nbar\\n\" ).kids.length , 2 )\n\t\t\t$mol_assert_equal( $.$mol_tree2_from_string( \"foo\\nbar\\n\" ).kids[ 1 ].type , \"bar\" )\n\t\t\t$mol_assert_equal( $.$mol_tree2_from_string( \"foo\\n\\n\\n\" ).kids.length , 1 )\n\t\t\t\n\t\t\t$mol_assert_equal( $.$mol_tree2_from_string( \"=foo\\n\\\\bar\\n\" ).kids.length , 2 )\n\t\t\t$mol_assert_equal( $.$mol_tree2_from_string( \"=foo\\n\\\\bar\\n\" ).kids[ 1 ].value , \"bar\" )\n\t\t\t\n\t\t\t$mol_assert_equal( $.$mol_tree2_from_string( \"foo bar \\\\pol\\n\" ).kids[ 0 ].kids[ 0 ].kids[ 0 ].value , \"pol\" )\n\t\t\t$mol_assert_equal( $.$mol_tree2_from_string( \"foo bar\\n\\t\\\\pol\\n\\t\\\\men\\n\" ).kids[ 0 ].kids[ 0 ].kids[ 1 ].value , \"men\" )\n\t\t\t\n\t\t\t$mol_assert_equal( $.$mol_tree2_from_string( 'foo bar \\\\text\\n' ).toString() , 'foo bar \\\\text\\n' )\n\t\t} ,\n\n\t\t'Too many tabs'( $ ) {\n\n\t\t\tconst tree = `\n\t\t\t\tfoo\n\t\t\t\t\t\tbar\n\t\t\t`\n\n\t\t\t$mol_assert_fail( ()=> {\n\t\t\t\t$.$mol_tree2_from_string( tree , 'test' )\n\t\t\t}, 'Too many tabs\\ntest#3:1/6\\n!!!!!!\\n\\t\\t\\t\\t\\t\\tbar' )\n\n\t\t},\n\n\t\t'Too few tabs'( $ ) {\n\n\t\t\tconst tree = `\n\t\t\t\t\tfoo\n\t\t\t\tbar\n\t\t\t`\n\n\t\t\t$mol_assert_fail( ()=> {\n\t\t\t\t$.$mol_tree2_from_string( tree , 'test' )\n\t\t\t}, 'Too few tabs\\ntest#3:1/4\\n!!!!\\n\\t\\t\\t\\tbar' )\n\n\t\t},\n\n\t\t'Wrong nodes separator at start'( $ ) {\n\n\t\t\tconst tree = `foo\\n \\tbar\\n`\n\n\t\t\t$mol_assert_fail( ()=> {\n\t\t\t\t$.$mol_tree2_from_string( tree , 'test' )\n\t\t\t}, 'Wrong nodes separator\\ntest#2:1/2\\n!!\\n \\tbar' )\n\n\t\t},\n\n\t\t'Wrong nodes separator in the middle'( $ ) {\n\n\t\t\tconst tree = `foo bar\\n`\n\n\t\t\t$mol_assert_fail( ()=> {\n\t\t\t\t$.$mol_tree2_from_string( tree , 'test' )\n\t\t\t}, 'Wrong nodes separator\\ntest#1:5/1\\n !\\nfoo bar' )\n\n\t\t},\n\n\t\t'Unexpected EOF, LF required'( $ ) {\n\n\t\t\tconst tree = `\tfoo`\n\n\t\t\t$mol_assert_fail( ()=> {\n\t\t\t\t$.$mol_tree2_from_string( tree , 'test' )\n\t\t\t}, 'Unexpected EOF, LF required\\ntest#1:5/1\\n\t !\\n\tfoo' )\n\n\t\t},\n\n\t\t'Errors skip and collect'( $ ) {\n\n\t\t\tconst tree = `foo bar`\n\t\t\tconst errors = [] as string[]\n\n\t\t\tconst $$ = $.$mol_ambient({\n\t\t\t\t$mol_fail: ( error: any ) => {\n\t\t\t\t\terrors.push( error.message )\n\t\t\t\t\treturn null as never\n\t\t\t\t}\n\t\t\t})\n\n\t\t\tconst res = $$.$mol_tree2_from_string( tree , 'test' )\n\n\t\t\t$mol_assert_like( errors, [\n\t\t\t\t'Wrong nodes separator\\ntest#1:5/1\\n !\\nfoo bar',\n\t\t\t\t'Unexpected EOF, LF required\\ntest#1:9/1\\n !\\nfoo bar',\n\t\t\t] )\n\n\t\t\t$mol_assert_equal( res.toString(), 'foo bar\\n' )\n\n\t\t},\n\n\t} )\t\n}\n","namespace $ {\n\t$mol_test( {\n\t\t\n\t\t'all cases of using maybe'() {\n\t\t\t$mol_assert_equal( $mol_maybe( 0 )[ 0 ] , 0 )\n\t\t\t$mol_assert_equal( $mol_maybe( false )[ 0 ] , false )\n\t\t\t$mol_assert_equal( $mol_maybe( null )[ 0 ] , void 0 )\n\t\t\t$mol_assert_equal( $mol_maybe( void 0 )[ 0 ] , void 0 )\n\t\t\t\n\t\t\t$mol_assert_equal( $mol_maybe< number >( void 0 ).map( v => v.toString() )[ 0 ] , void 0 )\n\t\t\t$mol_assert_equal( $mol_maybe( 0 ).map( v => v.toString() )[ 0 ] , '0' )\n\t\t} ,\n\t\t\n\t} )\n}\n","namespace $ {\n\t\n\tfunction check( tree: $mol_tree2, ideal: string ) {\n\t\t$mol_assert_equal(\n\t\t\ttree.toString(),\n\t\t\t$$.$mol_tree2_from_string( ideal ).toString(),\n\t\t)\n\t}\n\t\n\t$mol_test( {\n\t\t\n\t\t'inserting'($) {\n\t\t\t\n\t\t\tcheck(\n\t\t\t\t$.$mol_tree2_from_string( `\n\t\t\t\t\ta b c d\n\t\t\t\t`).insert( $mol_tree2.struct('x') , 'a' , 'b' , 'c' ),\n\t\t\t\t`\n\t\t\t\t\ta b x\n\t\t\t\t`,\n\t\t\t)\n\t\t\tcheck(\n\t\t\t\t$.$mol_tree2_from_string(`\n\t\t\t\t\ta b\n\t\t\t\t`).insert( $mol_tree2.struct('x') , 'a' , 'b' , 'c' , 'd' ),\n\t\t\t\t`\n\t\t\t\t\ta b c x\n\t\t\t\t`,\n\t\t\t)\n\n\t\t\tcheck(\n\t\t\t\t$.$mol_tree2_from_string(`\n\t\t\t\t\ta b c d\n\t\t\t\t`)\n\t\t\t\t\t.insert( $mol_tree2.struct('x') , 0 , 0 , 0 ),\n\t\t\t\t`\n\t\t\t\t\ta b x\n\t\t\t\t`,\n\t\t\t)\n\t\t\tcheck(\n\t\t\t\t$.$mol_tree2_from_string(`\n\t\t\t\t\ta b\n\t\t\t\t`)\n\t\t\t\t\t.insert( $mol_tree2.struct('x') , 0 , 0 , 0 , 0 ),\n\t\t\t\t`\n\t\t\t\t\ta b \\\\\n\t\t\t\t\t\tx\n\t\t\t\t`,\n\t\t\t)\n\n\t\t\tcheck(\n\t\t\t\t$.$mol_tree2_from_string(`\n\t\t\t\t\ta b c d\n\t\t\t\t`)\n\t\t\t\t\t.insert( $mol_tree2.struct('x') , null , null , null ),\n\t\t\t\t`\n\t\t\t\t\ta b x\n\t\t\t\t`,\n\t\t\t)\n\t\t\tcheck(\n\t\t\t\t$.$mol_tree2_from_string(`\n\t\t\t\t\ta b\n\t\t\t\t`)\n\t\t\t\t\t.insert( $mol_tree2.struct('x') , null , null , null , null ),\n\t\t\t\t`\n\t\t\t\t\ta b \\\\\n\t\t\t\t\t\tx\n\t\t\t\t`,\n\t\t\t)\n\t\t\t\n\t\t},\n\t\t\n\t\t'updating'($) {\n\n\t\t\tcheck(\n\t\t\t\t$.$mol_tree2_from_string(`\n\t\t\t\t\ta b c d\n\t\t\t\t`).update( [], 'a', 'b', 'c' )[0],\n\t\t\t\t`\n\t\t\t\t\ta b\n\t\t\t\t`,\n\t\t\t)\n\t\t\t\n\t\t\tcheck(\n\t\t\t\t$.$mol_tree2_from_string(`\n\t\t\t\t\ta b c d\n\t\t\t\t`).update( [ $mol_tree2.struct('x') ] )[0],\n\t\t\t\t`\n\t\t\t\t\tx\n\t\t\t\t`,\n\t\t\t)\n\t\t\t\n\t\t\tcheck(\n\t\t\t\t$.$mol_tree2_from_string(`\n\t\t\t\t\ta b c d\n\t\t\t\t`).update( [ $mol_tree2.struct('x'), $mol_tree2.struct('y') ], 'a', 'b', 'c' )[0],\n\t\t\t\t`\n\t\t\t\t\ta b\n\t\t\t\t\t\tx\n\t\t\t\t\t\ty\n\t\t\t\t`,\n\t\t\t)\n\t\t\t\n\t\t} ,\n\n\t\t'deleting'($) {\n\t\t\t\n\t\t\tconst base = $.$mol_tree2_from_string(`\n\t\t\t\ta b c d\n\t\t\t`)\n\n\t\t\tcheck(\n\t\t\t\tbase.insert( null , 'a' , 'b' , 'c' ),\n\t\t\t\t`\n\t\t\t\t\ta b\n\t\t\t\t`,\n\t\t\t)\n\t\t\t\n\t\t\tcheck(\n\t\t\t\tbase.update( base.select( 'a', 'b', 'c', null ).kids , 'a' , 'b' , 'c' )[0],\n\t\t\t\t`\n\t\t\t\t\ta b d\n\t\t\t\t`,\n\t\t\t)\n\t\t\t\n\t\t\tcheck(\n\t\t\t\tbase.insert( null , 0, 0, 0 ),\n\t\t\t\t`\n\t\t\t\t\ta b\n\t\t\t\t`,\n\t\t\t)\n\t\t\t\n\t\t} ,\n\n\t\t'hack'($) {\n\n\t\t\tconst res = $.$mol_tree2_from_string(`\n\t\t\t\tfoo bar xxx\n\t\t\t`)\n\t\t\t.hack({\n\t\t\t\t'bar' : ( input , belt )=> [ input.struct( '777' , input.hack( belt ) ) ] ,\n\t\t\t})\n\n\t\t\t$mol_assert_equal( res.map( String ) , [ 'foo 777 xxx\\n' ] )\n\n\t\t} ,\n\n\t} )\t\n}\n","namespace $ {\n\t$mol_test( {\n\t\t\n\t\t'fromJSON'() {\n\t\t\t$mol_assert_equal( $mol_tree2_from_json([]).toString() , '/\\n' )\n\t\t\t$mol_assert_equal( $mol_tree2_from_json([ false , true ]).toString() , '/\\n\\tfalse\\n\\ttrue\\n' )\n\t\t\t$mol_assert_equal( $mol_tree2_from_json([ 0 , 1 , 2.3 ]).toString() , '/\\n\\t0\\n\\t1\\n\\t2.3\\n' )\n\t\t\t$mol_assert_equal( $mol_tree2_from_json( new Uint16Array([ 1, 10, 256 ]) ).toString() , '\\\\\\x01\\x00\\n\\\\\\x00\\x00\\x01\\n' )\n\t\t\t$mol_assert_equal( $mol_tree2_from_json([ '' , '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_tree2_from_json({ '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\n}\n","namespace $ {\n\n\texport function $mol_data_setup<\n\t\tValue extends $mol_data_value ,\n\t\tConfig = never\n\t>(\n\t\tvalue : Value ,\n\t\tconfig : Config ,\n\t) {\n\t\t\n\t\treturn Object.assign( value , {\n\t\t\tconfig ,\n\t\t\tValue : null as any as ReturnType< Value >\n\t\t} )\n\n\t}\n\n}\n","namespace $ {\n\n\t$mol_test({\n\n\t\t'config by value'() {\n\n\t\t\tconst N = $mol_data_setup( ( a : number )=> a , 5 )\n\t\t\t\n\t\t\t$mol_assert_equal( N.config , 5 )\n\t\t\t\n\t\t\ttype record_value = $mol_type_assert<\n\t\t\t\ttypeof N.Value ,\n\t\t\t\tnumber\n\t\t\t>\n\t\t\t\n\t\t} ,\n\n\t})\n\n}\n","namespace $ {\n\n\texport function $mol_func_is_class<\n\t\tFunc extends Function\n\t>(\n\t\tfunc: Func\n\t): func is Func & ( new( ...args: any[] )=> any ) {\n\t\treturn Object.getOwnPropertyDescriptor( func, 'prototype' )?.writable === false\n\t}\n\n}\n","namespace $ {\n\t$mol_test({\n\n\t\t'function'() {\n\t\t\t$mol_assert_not( $mol_func_is_class( function() {} ) )\n\t\t},\n\t\t\n\t\t'generator'() {\n\t\t\t$mol_assert_not( $mol_func_is_class( function*(){} ) )\n\t\t},\n\n\t\t'async'() {\n\t\t\t$mol_assert_not( $mol_func_is_class( async function(){} ) )\n\t\t},\n\n\t\t'arrow'() {\n\t\t\t$mol_assert_not( $mol_func_is_class( ()=> null ) )\n\t\t},\n\n\t\t'named class'() {\n\t\t\t$mol_assert_ok( $mol_func_is_class( class Foo {} ) )\n\t\t},\n\n\t\t'unnamed class'() {\n\t\t\t$mol_assert_ok( $mol_func_is_class( class {} ) )\n\t\t},\n\n\t})\n}\n","namespace $ {\n\n\ttype Guard_value<\n\t\tFuncs extends $mol_type_unary[] ,\n\t\tIndex extends keyof Funcs\n\t> = $mol_type_param<\n\t\tIndex extends keyof $mol_type_tail< Funcs >\n\t\t\t? $mol_type_tail< Funcs >[ Index ]\n\t\t\t: any ,\n\t\t0\n\t>\n\n\ttype Guard<\n\t\tFuncs extends $mol_type_unary[]\n\t> = {\n\t\t[ Index in keyof Funcs ] : (\n\t\t\tFuncs[Index] extends $mol_type_unary_func\n\t\t\t\t? (\n\t\t\t\t\tinput : $mol_type_param< Funcs[Index] , 0 >\n\t\t\t\t) => Guard_value< Funcs , Index >\n\t\t\t\t: new(\n\t\t\t\t\tinput : $mol_type_param< Funcs[Index] , 0 >\n\t\t\t\t) => Guard_value< Funcs , Index >\n\t\t)\n\t}\n\n\t/**\n\t * Combines list of unary functions/classes to one function.\n\t * \n\t * \tconst reparse = $mol_data_pipe( JSON.stringify , JSON.parse )\n\t **/\n\texport function $mol_data_pipe<\n\t\tFuncs extends $mol_type_unary[]\n\t>(\n\t\t... funcs : Funcs & Guard< Funcs >\n\t) {\n\n\t\treturn $mol_data_setup(\n\t\t\tfunction( this: any, input : $mol_type_param< Funcs[0] , 0 > ) {\n\t\t\t\tlet value : any = input\n\t\t\t\tfor( const func of funcs ) value = $mol_func_is_class( func ) ? new func( value ) : ( func as any ).call( this, value )\n\t\t\t\treturn value as $mol_type_result<\n\t\t\t\t\t$mol_type_foot< Funcs >\n\t\t\t\t>\n\t\t\t},\n\t\t\t{ funcs }\n\t\t)\n\n\t}\n\n}\n","namespace $ {\n\n\t$mol_test({\n\n\t\t// @todo enable on strict\n\t\t// 'no functions'() {\n\t\t\t\n\t\t// \tconst stringify = $mol_data_pipe()\n\t\t\t\n\t\t// \ttype Type = $mol_type_assert<\n\t\t// \t\ttypeof stringify,\n\t\t// \t\t( input : never )=> never\n\t\t// \t>\n\t\n\t\t// },\n\n\t\t'single function'() {\n\t\t\t\n\t\t\tconst stringify = $mol_data_pipe(\n\t\t\t\t( input : number )=> input.toString() ,\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal( stringify( 5 ) , '5' )\n\t\t\t\n\t\t},\n\n\t\t'two functions'() {\n\n\t\t\tconst isLong = $mol_data_pipe(\n\t\t\t\t( input : number )=> input.toString() ,\n\t\t\t\t( input : string )=> input.length > 2 ,\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal( isLong( 5.0 ) , false )\n\t\t\t$mol_assert_equal( isLong( 5.1 ) , true )\n\t\t\t\n\t\t},\n\n\t\t'three functions'() {\n\n\t\t\tconst pattern = $mol_data_pipe(\n\t\t\t\t( input : number )=> input.toString() ,\n\t\t\t\t( input : string )=> new RegExp( input ) ,\n\t\t\t\t( input : RegExp )=> input.toString() ,\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal( pattern( 5 ) , '/5/' )\n\t\t\t\n\t\t},\n\n\t\t'classes'() {\n\n\t\t\tclass Box {\n\t\t\t\tconstructor( public value : string ) {}\n\t\t\t}\n\n\t\t\tconst boxify = $mol_data_pipe(\n\t\t\t\t( input : number )=> input.toString() ,\n\t\t\t\tBox\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_ok( boxify( 5 ) instanceof Box )\n\t\t\t$mol_assert_like( boxify( 5 ).value, '5' )\n\t\t\t\n\t\t},\n\n\t})\n\n}\n","namespace $ {\n\n\tconst convert = $mol_data_pipe(\n\t\t$mol_tree2_from_string,\n\t\t$mol_tree2_js_to_text,\n\t\t$mol_tree2_text_to_string,\n\t)\n\n\t$mol_test({\n\n\t\t'boolean'() {\n\t\t\t$mol_assert_equal(\n\t\t\t\tconvert(`\n\t\t\t\t\ttrue\n\t\t\t\t`),\n\t\t\t\t'true\\n',\n\t\t\t)\n\t\t},\n\t\t\n\t\t'number'() {\n\n\t\t\t$mol_assert_equal(\n\t\t\t\tconvert(`\n\t\t\t\t\t1.2\n\t\t\t\t`),\n\t\t\t\t'1.2\\n',\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\tconvert(`\n\t\t\t\t\t1e+2\n\t\t\t\t`),\n\t\t\t\t'1e+2\\n',\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\tconvert(`\n\t\t\t\t\t-Infinity\n\t\t\t\t`),\n\t\t\t\t'-Infinity\\n',\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\tconvert(`\n\t\t\t\t\tNaN\n\t\t\t\t`),\n\t\t\t\t'NaN\\n',\n\t\t\t)\n\t\t\t\n\t\t},\n\t\t\n\t\t'variable'() {\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\tconvert(`\n\t\t\t\t\ta\n\t\t\t\t`),\n\t\t\t\t'a\\n',\n\t\t\t)\n\n\t\t\t$mol_assert_equal(\n\t\t\t\tconvert(`\n\t\t\t\t\t$\n\t\t\t\t`),\n\t\t\t\t'$\\n',\n\t\t\t)\n\n\t\t\t$mol_assert_equal(\n\t\t\t\tconvert(`\n\t\t\t\t\ta0\n\t\t\t\t`),\n\t\t\t\t'a0\\n',\n\t\t\t)\n\n\t\t},\n\t\t\n\t\t'string'() {\n\n\t\t\t$mol_assert_equal(\n\t\t\t\tconvert(`\n\t\t\t\t\t\\\\\n\t\t\t\t\t\t\\\\foo\n\t\t\t\t\t\t\\\\bar\n\t\t\t\t`),\n\t\t\t\t'\"foo\\\\nbar\"\\n',\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\tconvert(`\n\t\t\t\t\t\\`\\`\n\t\t\t\t\t\t\\\\foo\n\t\t\t\t\t\tbar\n\t\t\t\t`),\n\t\t\t\t'`foo${bar}`\\n',\n\t\t\t)\n\n\t\t},\n\n\t\t'wrong name'() {\n\t\t\t$mol_assert_fail(\n\t\t\t\t()=> convert(`\n\t\t\t\t\tfoo+bar\n\t\t\t\t`),\n\t\t\t\t'Wrong node type\\nfoo+bar\\n?#2:6/7',\n\t\t\t)\n\t\t},\n\n\t\t'array'() {\n\n\t\t\t$mol_assert_equal(\n\t\t\t\tconvert(`\n\t\t\t\t\t[,]\n\t\t\t\t`),\n\t\t\t\t'[]\\n',\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\tconvert(`\n\t\t\t\t\t[,]\n\t\t\t\t\t\t1\n\t\t\t\t\t\t2\n\t\t\t\t`),\n\t\t\t\t'[1, 2]\\n',\n\t\t\t)\n\t\t\t\n\t\t},\n\n\t\t'last'() {\n\n\t\t\t$mol_assert_equal(\n\t\t\t\tconvert(`\n\t\t\t\t\t(,)\n\t\t\t\t\t\t1\n\t\t\t\t\t\t2\n\t\t\t\t`),\n\t\t\t\t'(1, 2)\\n',\n\t\t\t)\n\t\t\t\n\t\t},\n\n\t\t'scope'() {\n\n\t\t\t$mol_assert_equal(\n\t\t\t\tconvert(`\n\t\t\t\t\t{;}\n\t\t\t\t\t\t1\n\t\t\t\t\t\t2\n\t\t\t\t`),\n\t\t\t\t'{\\n\\t1;\\n\\t2;\\n}\\n',\n\t\t\t)\n\t\t\t\n\t\t},\n\n\t\t'object'() {\n\n\t\t\t$mol_assert_equal(\n\t\t\t\tconvert(`\n\t\t\t\t\t{,}\n\t\t\t\t`),\n\t\t\t\t'{}\\n',\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\tconvert(`\n\t\t\t\t\t{,}\n\t\t\t\t\t\tfoo\n\t\t\t\t\t\tbar\n\t\t\t\t`),\n\t\t\t\t'{foo, bar}\\n',\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\tconvert(`\n\t\t\t\t\t{,}\n\t\t\t\t\t\t:\n\t\t\t\t\t\t\t\\\\foo\n\t\t\t\t\t\t\t1\n\t\t\t\t\t\t:\n\t\t\t\t\t\t\tbar\n\t\t\t\t\t\t\t2\n\t\t\t\t`),\n\t\t\t\t'{\"foo\": 1, [bar]: 2}\\n',\n\t\t\t)\n\t\t\t\n\t\t},\n\n\t\t'regexp'() {\n\n\t\t\t$mol_assert_equal(\n\t\t\t\tconvert(`\n\t\t\t\t\t/./\n\t\t\t\t\t\t.source \\\\foo\\\\n\n\t\t\t\t\t\t.multiline\n\t\t\t\t\t\t.ignoreCase\n\t\t\t\t\t\t.global\n\t\t\t\t`),\n\t\t\t\t'/foo\\\\\\\\n/mig\\n',\n\t\t\t)\n\t\t\t\n\t\t},\n\n\t\t'unary'() {\n\n\t\t\t$mol_assert_equal(\n\t\t\t\tconvert(`\n\t\t\t\t\tvoid yield* yield await ~ ! - + 1\n\t\t\t\t`),\n\t\t\t\t'void yield* yield await ~!-+1\\n',\n\t\t\t)\n\t\t\t\n\t\t},\n\n\t\t'binary'() {\n\n\t\t\t$mol_assert_equal(\n\t\t\t\tconvert(`\n\t\t\t\t\t(+)\n\t\t\t\t\t\t1\n\t\t\t\t\t\t2\n\t\t\t\t\t\t3\n\t\t\t\t`),\n\t\t\t\t'(\\n\\t1 + \\n\\t2 + \\n\\t3\\n)\\n',\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\tconvert(`\n\t\t\t\t\t@++ foo\n\t\t\t\t`),\n\t\t\t\t'foo++\\n',\n\t\t\t)\n\t\t\t\n\t\t},\n\n\t\t'chain'() {\n\n\t\t\t$mol_assert_equal(\n\t\t\t\tconvert(`\n\t\t\t\t\t()\n\t\t\t\t\t\tfoo\n\t\t\t\t\t\t[] \\\\bar\n\t\t\t\t\t\t[] 1\n\t\t\t\t`),\n\t\t\t\t'(foo.bar[1])\\n',\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\tconvert(`\n\t\t\t\t\t()\n\t\t\t\t\t\tfoo\n\t\t\t\t\t\t[] 1\n\t\t\t\t\t\t(,)\n\t\t\t\t`),\n\t\t\t\t'(foo[1]())\\n',\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\tconvert(`\n\t\t\t\t\t()\n\t\t\t\t\t\t[,] 0\n\t\t\t\t\t\t[] 1\n\t\t\t\t\t\t(,)\n\t\t\t\t\t\t\t2\n\t\t\t\t\t\t\t3\n\t\t\t\t`),\n\t\t\t\t'([0][1](2, 3))\\n',\n\t\t\t)\n\t\t\t\n\t\t},\n\n\t\t'function'() {\n\n\t\t\t$mol_assert_equal(\n\t\t\t\tconvert(`\n\t\t\t\t\t=>\n\t\t\t\t\t\t(,)\n\t\t\t\t\t\t1\n\t\t\t\t`),\n\t\t\t\t'() => 1\\n',\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\tconvert(`\n\t\t\t\t\tasync=>\n\t\t\t\t\t\t(,)\n\t\t\t\t\t\t1\n\t\t\t\t`),\n\t\t\t\t'async () => 1\\n',\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\tconvert(`\n\t\t\t\t\tfunction\n\t\t\t\t\t\tfoo\n\t\t\t\t\t\t(,)\n\t\t\t\t\t\t{;}\n\t\t\t\t`),\n\t\t\t\t'function foo(){}\\n',\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\tconvert(`\n\t\t\t\t\tfunction\n\t\t\t\t\t\t(,) foo\n\t\t\t\t\t\t{;} debugger\n\t\t\t\t`),\n\t\t\t\t'function (foo){\\n\\tdebugger;\\n}\\n',\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\tconvert(`\n\t\t\t\t\tfunction*\n\t\t\t\t\t\t(,)\n\t\t\t\t\t\t{;}\n\t\t\t\t`),\n\t\t\t\t'function* (){}\\n',\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\tconvert(`\n\t\t\t\t\tasync\n\t\t\t\t\t\t(,)\n\t\t\t\t\t\t{;}\n\t\t\t\t`),\n\t\t\t\t'async function (){}\\n',\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\tconvert(`\n\t\t\t\t\tasync*\n\t\t\t\t\t\t(,) foo\n\t\t\t\t\t\t{;} debugger\n\t\t\t\t`),\n\t\t\t\t'async function* (foo){\\n\\tdebugger;\\n}\\n',\n\t\t\t)\n\t\t\t\n\t\t},\n\n\t\t'class'() {\n\n\t\t\t$mol_assert_equal(\n\t\t\t\tconvert(`\n\t\t\t\t\tclass\n\t\t\t\t\t\tFoo\n\t\t\t\t\t\t{}\n\t\t\t\t`),\n\t\t\t\t'class Foo {}\\n',\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\tconvert(`\n\t\t\t\t\tclass\n\t\t\t\t\t\tFoo\n\t\t\t\t\t\textends Bar\n\t\t\t\t\t\t{}\n\t\t\t\t`),\n\t\t\t\t'class Foo extends Bar {}\\n',\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\tconvert(`\n\t\t\t\t\tclass {}\n\t\t\t\t\t\t.\n\t\t\t\t\t\t\t\\\\foo\n\t\t\t\t\t\t\t(,)\n\t\t\t\t\t\t\t{;}\n\t\t\t\t`),\n\t\t\t\t'class {\\n\\tfoo(){}\\n}\\n',\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\tconvert(`\n\t\t\t\t\tclass {}\n\t\t\t\t\t\tstatic\n\t\t\t\t\t\t\t\\\\foo\n\t\t\t\t\t\t\t(,)\n\t\t\t\t\t\t\t{;}\n\t\t\t\t`),\n\t\t\t\t'class {\\n\\tstatic [\"foo\"](){}\\n}\\n',\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\tconvert(`\n\t\t\t\t\tclass {}\n\t\t\t\t\t\tget\n\t\t\t\t\t\t\t\\\\foo\n\t\t\t\t\t\t\t(,)\n\t\t\t\t\t\t\t{;}\n\t\t\t\t`),\n\t\t\t\t'class {\\n\\tget [\"foo\"](){}\\n}\\n',\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\tconvert(`\n\t\t\t\t\tclass {}\n\t\t\t\t\t\tset\n\t\t\t\t\t\t\t\\\\foo\n\t\t\t\t\t\t\t(,) bar\n\t\t\t\t\t\t\t{;}\n\t\t\t\t`),\n\t\t\t\t'class {\\n\\tset [\"foo\"](bar){}\\n}\\n',\n\t\t\t)\n\t\t\t\n\t\t},\n\n\t\t'if'() {\n\n\t\t\t$mol_assert_equal(\n\t\t\t\tconvert(`\n\t\t\t\t\t?:\n\t\t\t\t\t\t1\n\t\t\t\t\t\t2\n\t\t\t\t\t\t3\n\t\t\t\t`),\n\t\t\t\t'1 ? 2 : 3\\n',\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\tconvert(`\n\t\t\t\t\tif\n\t\t\t\t\t\t() 1\n\t\t\t\t\t\t{;} 2\n\t\t\t\t`),\n\t\t\t\t'if(1) {\\n\\t2;\\n}\\n',\n\t\t\t)\n\n\t\t\t$mol_assert_equal(\n\t\t\t\tconvert(`\n\t\t\t\t\tif\n\t\t\t\t\t\t() 1\n\t\t\t\t\t\t{;} 2\n\t\t\t\t\t\t{;} 3\n\t\t\t\t`),\n\t\t\t\t'if(1) {\\n\\t2;\\n}else{\\n\\t3;\\n}\\n',\n\t\t\t)\n\n\t\t},\n\n\t\t'assign'() {\n\n\t\t\t$mol_assert_equal(\n\t\t\t\tconvert(`\n\t\t\t\t\t=\n\t\t\t\t\t\tfoo\n\t\t\t\t\t\tbar\n\t\t\t\t`),\n\t\t\t\t'foo = bar\\n',\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\tconvert(`\n\t\t\t\t\t=\n\t\t\t\t\t\t[,]\n\t\t\t\t\t\t\tfoo\n\t\t\t\t\t\t\tbar\n\t\t\t\t\t\t[,]\n\t\t\t\t\t\t\t1\n\t\t\t\t\t\t\t2\n\t\t\t\t`),\n\t\t\t\t'[foo, bar] = [1, 2]\\n',\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\tconvert(`\n\t\t\t\t\tlet foo\n\t\t\t\t`),\n\t\t\t\t'let foo\\n',\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\tconvert(`\n\t\t\t\t\tlet\n\t\t\t\t\t\tfoo\n\t\t\t\t\t\tbar\n\t\t\t\t`),\n\t\t\t\t'let foo = bar\\n',\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\tconvert(`\n\t\t\t\t\t+=\n\t\t\t\t\t\tfoo\n\t\t\t\t\t\tbar\n\t\t\t\t`),\n\t\t\t\t'foo += bar\\n',\n\t\t\t)\n\t\t\t\n\t\t},\n\n\t})\n\n}\n","namespace $ {\n\t$mol_test({\n\n\t\t'min'() {\n\t\t\t$mol_assert_equal( $mol_vlq_encode( Number.MIN_SAFE_INTEGER ), '//////H' )\n\t\t},\n\n\t\t'negative'() {\n\t\t\t$mol_assert_equal( $mol_vlq_encode( -1 ), 'D' )\n\t\t},\n\n\t\t'zero'() {\n\t\t\t$mol_assert_equal( $mol_vlq_encode( 0 ), 'A' )\n\t\t},\n\n\t\t'binom'() {\n\t\t\t$mol_assert_equal( $mol_vlq_encode( 67 ), 'mE' )\n\t\t},\n\n\t\t'max'() {\n\t\t\t$mol_assert_equal( $mol_vlq_encode( Number.MAX_SAFE_INTEGER ), '+/////H' )\n\t\t},\n\n\t})\n}\n","namespace $ {\n\t$mol_test({\n\t\t'sample source mapped lang'( $ ) {\n\n\t\t\tconst source = {\n\t\t\t\tscript1: `1@\\n2`,\n\t\t\t\tscript2: `***`\n\t\t\t}\n\n\t\t\tconst span = {\n\t\t\t\tscript1: $mol_span.entire( 'script1', source.script1 ),\n\t\t\t\tscript2: $mol_span.entire( 'script2', source.script2 ),\n\t\t\t}\n\n\t\t\tconst tree = $mol_tree2.list([\n\t\t\t\t$mol_tree2.struct( 'line', [\n\t\t\t\t\t$mol_tree2.data( '\"use strict\";', [], span.script1.after() ),\n\t\t\t\t\t$mol_tree2.data( 'console.log(11);', [], span.script1.slice( 0, 1 ) ),\n\t\t\t\t\t$mol_tree2.data( 'console.log(21);', [], span.script2 ),\n\t\t\t\t\t$mol_tree2.data( 'console.log(12);', [], span.script1.span( 2, 1, 1 ) ),\n\t\t\t\t], span.script1 ),\n\t\t\t], span.script1 )\n\n\t\t\t$mol_assert_like(\n\t\t\t\t$.$mol_tree2_text_to_string( tree ),\n\t\t\t\t'\"use strict\";console.log(11);console.log(21);console.log(12);\\n',\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_like(\n\t\t\t\t$.$mol_tree2_text_to_sourcemap( tree ),\n\t\t\t\t{\n\t\t\t\t\t\"version\": 3,\n\t\t\t\t\t\"sources\": [\n\t\t\t\t\t\t\"script1\",\n\t\t\t\t\t\t\"script2\"\n\t\t\t\t\t],\n\t\t\t\t\t\"sourcesContent\": [ source.script1, source.script2 ],\n\t\t\t\t\t\"mappings\": \"AAAA,AAAI,aAAJ,gBCAA,gBDCA;\"\n\t\t\t\t}\n\t\t\t)\n\n\t\t}\n\t})\n}\n","namespace $ {\n\t$mol_test({\n\t\t\n\t\t'atoms'($) {\n\t\t\t$mol_assert_equal( $.$mol_tree2_to_json( $.$mol_tree2_from_string( \"null\\n\" ).kids[0] ) , null )\n\t\t\t$mol_assert_equal( $.$mol_tree2_to_json( $.$mol_tree2_from_string( \"true\\n\" ).kids[0] ) , true )\n\t\t\t$mol_assert_equal( $.$mol_tree2_to_json( $.$mol_tree2_from_string( \"false\\n\" ).kids[0] ) , false )\n\t\t},\n\t\t\n\t\t'numbers'($) {\n\t\t\t$mol_assert_equal( $.$mol_tree2_to_json( $.$mol_tree2_from_string( \"1\\n\" ).kids[0] ) , 1 )\n\t\t\t$mol_assert_equal( $.$mol_tree2_to_json( $.$mol_tree2_from_string( \"1.2\\n\" ).kids[0] ) , 1.2 )\n\t\t\t$mol_assert_equal( $.$mol_tree2_to_json( $.$mol_tree2_from_string( \"1.2e+2\\n\" ).kids[0] ) , 120 )\n\t\t\t$mol_assert_equal( $.$mol_tree2_to_json( $.$mol_tree2_from_string( \"NaN\\n\" ).kids[0] ) , Number.NaN )\n\t\t\t$mol_assert_equal( $.$mol_tree2_to_json( $.$mol_tree2_from_string( \"+Infinity\\n\" ).kids[0] ) , Number.POSITIVE_INFINITY )\n\t\t\t$mol_assert_equal( $.$mol_tree2_to_json( $.$mol_tree2_from_string( \"-Infinity\\n\" ).kids[0] ) , Number.NEGATIVE_INFINITY )\n\t\t},\n\t\t\n\t\t'string'($) {\n\t\t\t$mol_assert_equal( $.$mol_tree2_to_json( $.$mol_tree2_from_string( \"\\\\foo\\n\" ).kids[0] ) , 'foo' )\n\t\t\t$mol_assert_equal( $.$mol_tree2_to_json( $.$mol_tree2_from_string( \"\\\\\\n\\t\\\\foo\\n\\t\\\\bar\\n\" ).kids[0] ) , 'foo\\nbar' )\n\t\t},\n\t\t\n\t\t'array'($) {\n\t\t\t$mol_assert_like( $.$mol_tree2_to_json( $.$mol_tree2_from_string( \"/\\n\" ).kids[0] ) , [] )\n\t\t\t$mol_assert_like( $.$mol_tree2_to_json( $.$mol_tree2_from_string( \"/\\n\\t\\\\foo\\n\\t\\\\bar\\n\" ).kids[0] ) , [ 'foo', 'bar' ] )\n\t\t\t$mol_assert_like( $.$mol_tree2_to_json( $.$mol_tree2_from_string( \"/\\n\\t- \\\\foo\\n\\t\\\\bar\\n\" ).kids[0] ) , [ 'bar' ] )\n\t\t},\n\t\t\n\t\t'object'($) {\n\t\t\t$mol_assert_like( $.$mol_tree2_to_json( $.$mol_tree2_from_string( \"*\\n\" ).kids[0] ) , {} )\n\t\t\t$mol_assert_like( $.$mol_tree2_to_json( $.$mol_tree2_from_string( \"*\\n\\t\\\\foo\\n\\t\\t\\\\bar\\n\" ).kids[0] ) , { foo: 'bar' } )\n\t\t\t$mol_assert_like( $.$mol_tree2_to_json( $.$mol_tree2_from_string( \"*\\n\\t\\\\\\n\\t\\t\\\\foo\\n\\t\\t\\\\bar\\n\\t\\t\\\\lol\\n\" ).kids[0] ) , { 'foo\\nbar': 'lol' } )\n\t\t},\n\t\t\n\t})\n}\n","namespace $ {\n\n\t$mol_test({\n\n\t\t'escape' () {\n\n\t\t\tconst specials = $mol_regexp.from( '.*+?^${}()|[]\\\\' )\n\t\t\t$mol_assert_equal( specials.source , '\\\\.\\\\*\\\\+\\\\?\\\\^\\\\$\\\\{\\\\}\\\\(\\\\)\\\\|\\\\[\\\\]\\\\\\\\' )\n\n\t\t},\n\n\t\t'char code' () {\n\n\t\t\tconst space = $mol_regexp.from( 32 )\n\t\t\t$mol_assert_like( ' '.match( space ) , [ ' ' ] )\n\n\t\t},\n\n\t\t'repeat fixed'() {\n\n\t\t\tconst { repeat , decimal_only: digit } = $mol_regexp\n\n\t\t\tconst year = repeat( digit , 4 , 4 )\n\t\t\t$mol_assert_like( '#2020#'.match( year ) , [ '2020' ] )\n\n\t\t},\n\n\t\t'greedy repeat'() {\n\n\t\t\tconst { repeat , repeat_greedy , latin_only: letter } = $mol_regexp\n\n\t\t\t$mol_assert_like( 'abc'.match( repeat( letter, 1, 2 ) ) , [ 'a', 'b', 'c' ] )\n\t\t\t$mol_assert_like( 'abc'.match( repeat_greedy( letter, 1, 2 ) ) , [ 'ab', 'c' ] )\n\n\t\t},\n\n\t\t'repeat range'() {\n\n\t\t\tconst { repeat_greedy , decimal_only: digit } = $mol_regexp\n\n\t\t\tconst year = repeat_greedy( digit , 2 , 4 )\n\t\t\t\n\t\t\t$mol_assert_like( '#2#'.match( year ) , null )\n\t\t\t$mol_assert_like( '#20#'.match( year ) , [ '20' ] )\n\t\t\t$mol_assert_like( '#2020#'.match( year ) , [ '2020' ] )\n\t\t\t$mol_assert_like( '#20201#'.match( year ) , [ '2020' ] )\n\n\t\t},\n\n\t\t'repeat from'() {\n\n\t\t\tconst { repeat_greedy , latin_only: letter } = $mol_regexp\n\n\t\t\tconst name = repeat_greedy( letter , 2 )\n\n\t\t\t$mol_assert_like( '##'.match( name ) , null )\n\t\t\t$mol_assert_like( '#a#'.match( name ) , null )\n\t\t\t$mol_assert_like( '#ab#'.match( name ) , [ 'ab' ] )\n\t\t\t$mol_assert_like( '#abc#'.match( name ) , [ 'abc' ] )\n\n\t\t},\n\n\t\t'from string'() {\n\n\t\t\tconst regexp = $mol_regexp.from( '[\\\\d]' )\n\t\t\t\n\t\t\t$mol_assert_equal( regexp.source , '\\\\[\\\\\\\\d\\\\]' )\n\t\t\t$mol_assert_equal( regexp.flags , 'gsu' )\n\n\t\t},\n\n\t\t'from regexp'() {\n\t\t\t\n\t\t\tconst regexp = $mol_regexp.from( /[\\d]/i )\n\t\t\t\n\t\t\t$mol_assert_equal( regexp.source , '[\\\\d]' )\n\t\t\t$mol_assert_equal( regexp.flags , 'i' )\n\n\t\t},\n\n\t\t'split'() {\n\t\t\t\n\t\t\tconst regexp = $mol_regexp.from( ';' )\n\t\t\t\n\t\t\t$mol_assert_like( 'aaa;bbb;ccc'.split( regexp ) , [ 'aaa', ';', 'bbb', ';', 'ccc' ] )\n\t\t\t$mol_assert_like( 'aaa;;ccc'.split( regexp ) , [ 'aaa', ';', '', ';', 'ccc' ] )\n\t\t\t$mol_assert_like( 'aaa'.split( regexp ) , [ 'aaa' ] )\n\t\t\t$mol_assert_like( ''.split( regexp ) , [''] )\n\n\t\t},\n\n\t\t'test for matching'() {\n\t\t\t\n\t\t\tconst regexp = $mol_regexp.from( 'foo' )\n\t\t\t\n\t\t\t$mol_assert_like( regexp.test( '' ) , false )\n\t\t\t$mol_assert_like( regexp.test( 'fo' ) , false )\n\t\t\t$mol_assert_like( regexp.test( 'foo' ) , true )\n\t\t\t$mol_assert_like( regexp.test( 'foobar' ) , true )\n\t\t\t$mol_assert_like( regexp.test( 'barfoo' ) , true )\n\n\t\t},\n\n\t\t'case ignoring'() {\n\n\t\t\tconst xxx = $mol_regexp.from( 'x' , { ignoreCase : true } )\n\n\t\t\t$mol_assert_like( xxx.flags , 'gisu' )\n\t\t\t$mol_assert_like( xxx.exec( 'xx' )![0] , 'x' )\n\t\t\t$mol_assert_like( xxx.exec( 'XX' )![0] , 'X' )\n\n\t\t},\n\n\t\t'multiline mode'() {\n\n\t\t\tconst { end , from } = $mol_regexp\n\n\t\t\tconst xxx = from( [ 'x' , end ] , { multiline : true } )\n\n\t\t\t$mol_assert_like( xxx.exec( 'x\\ny' )![0] , 'x' )\n\t\t\t$mol_assert_like( xxx.flags , 'gmsu' )\n\n\t\t},\n\n\t\t'flags override'() {\n\n\t\t\tconst triplet = $mol_regexp.from(\n\t\t\t\t$mol_regexp.from(\n\t\t\t\t\t/.../,\n\t\t\t\t\t{ ignoreCase: true },\n\t\t\t\t),\n\t\t\t\t{ multiline: true },\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_like( triplet.toString() , '/.../gmsu' )\n\n\t\t},\n\n\t\t'sequence'() {\n\n\t\t\tconst { begin , end , decimal_only: digit , repeat , from } = $mol_regexp\n\t\t\t\n\t\t\tconst year = repeat( digit , 4 , 4 )\n\t\t\tconst dash = '-'\n\t\t\tconst month = repeat( digit , 2 , 2 )\n\t\t\tconst day = repeat( digit , 2 , 2 )\n\n\t\t\tconst date = from([ begin , year , dash , month , dash , day , end ])\n\n\t\t\t$mol_assert_like( date.exec( '2020-01-02' )![0] , '2020-01-02' )\n\n\t\t},\n\n\t\t'optional'() {\n\n\t\t\tconst name = $mol_regexp.from([ 'A', ['4'] ])\n\n\t\t\t$mol_assert_equal( 'AB'.match( name )![0] , 'A' )\n\t\t\t$mol_assert_equal( 'A4'.match( name )![0] , 'A4' )\n\n\t\t},\n\n\t\t'anon variants'() {\n\n\t\t\tconst name = $mol_regexp.from([ 'A', $mol_regexp.vary([ '4', '5' ]) ])\n\n\t\t\t$mol_assert_equal( 'AB'.match( name ) , null )\n\t\t\t$mol_assert_equal( 'A4'.match( name )![0] , 'A4' )\n\t\t\t$mol_assert_equal( 'A5'.match( name )![0] , 'A5' )\n\n\t\t},\n\n\t\t'only groups'() {\n\n\t\t\tconst regexp = $mol_regexp.from({ dog : '@' })\n\n\t\t\t$mol_assert_like( [ ... '#'.matchAll( regexp ) ][0].groups , undefined )\n\t\t\t$mol_assert_like( [ ... '@'.matchAll( regexp ) ][0].groups , { dog : '@' } )\n\n\t\t},\n\n\t\t'catch skipped'() {\n\n\t\t\tconst regexp = $mol_regexp.from(/(@)(\\d?)/g)\n\n\t\t\t$mol_assert_like(\n\t\t\t\t[ ... '[[@]]'.matchAll( regexp ) ].map( f => [ ... f ] ) ,\n\t\t\t\t[\n\t\t\t\t\t[ '[[' ],\n\t\t\t\t\t[ '@', '@' , '' ],\n\t\t\t\t\t[ ']]' ],\n\t\t\t\t]\n\t\t\t)\n\n\t\t},\n\n\t\t'enum variants'() {\n\n\t\t\tenum Sex {\n\t\t\t\tmale = 'male',\n\t\t\t\tfemale = 'female',\n\t\t\t}\n\n\t\t\tconst sexism = $mol_regexp.from( Sex )\n\n\t\t\t$mol_assert_like( [ ... ''.matchAll( sexism ) ].length, 0 )\n\t\t\t$mol_assert_like( [ ... 'trans'.matchAll( sexism ) ][0].groups, undefined )\n\t\t\t\n\t\t\t$mol_assert_like(\n\t\t\t\t[ ... 'male'.matchAll( sexism ) ][0].groups,\n\t\t\t\t{ male : 'male' , female : '' },\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_like(\n\t\t\t\t[ ... 'female'.matchAll( sexism ) ][0].groups,\n\t\t\t\t{ male : '' , female : 'female' },\n\t\t\t)\n\n\t\t},\n\n\t\t'recursive only groups'() {\n\n\t\t\tenum Sex {\n\t\t\t\tmale = 'male',\n\t\t\t\tfemale = 'female',\n\t\t\t}\n\n\t\t\tconst sexism = $mol_regexp.from({ Sex })\n\n\t\t\t$mol_assert_like( [ ... ''.matchAll( sexism ) ].length , 0 )\n\t\t\t\n\t\t\t$mol_assert_like(\n\t\t\t\t[ ... 'male'.matchAll( sexism ) ][0].groups,\n\t\t\t\t{ Sex : 'male' , male : 'male' , female : '' },\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_like(\n\t\t\t\t[ ... 'female'.matchAll( sexism ) ][0].groups,\n\t\t\t\t{ Sex : 'female' , male : '' , female : 'female' },\n\t\t\t)\n\n\t\t},\n\n\t\t'sequence with groups'() {\n\n\t\t\tconst { begin , end , decimal_only: digit , repeat , from } = $mol_regexp\n\t\t\tconst year = repeat( digit , 4 , 4 )\n\t\t\tconst dash = '-'\n\t\t\tconst month = repeat( digit , 2 , 2 )\n\t\t\tconst day = repeat( digit , 2 , 2 )\n\n\t\t\tconst regexp = from([ begin , {year} , dash , {month} , dash , {day} , end ])\n\t\t\tconst found = [ ... '2020-01-02'.matchAll( regexp ) ]\n\n\t\t\t$mol_assert_like( found[0].groups , {\n\t\t\t\tyear : '2020' ,\n\t\t\t\tmonth : '01' ,\n\t\t\t\tday : '02' ,\n\t\t\t} )\n\n\t\t},\n\n\t\t'sequence with groups of mixed type'() {\n\n\t\t\tconst prefix = '/'\n\t\t\tconst postfix = '/'\n\n\t\t\tconst regexp = $mol_regexp.from([ {prefix} , /(\\w+)/ , {postfix} , /([gumi]*)/ ])\n\n\t\t\t$mol_assert_like(\n\t\t\t\t[ ... '/foo/mi'.matchAll( regexp ) ],\n\t\t\t\t[\n\t\t\t\t\tObject.assign(\n\t\t\t\t\t\t[ \"/foo/mi\", \"/\", \"foo\", \"/\", \"mi\" ],\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tgroups: {\n\t\t\t\t\t\t\t\tprefix : '/' ,\n\t\t\t\t\t\t\t\tpostfix : '/' ,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tindex: 0,\n\t\t\t\t\t\t\tinput: \"/\",\n\t\t\t\t\t\t},\n\t\t\t\t\t),\n\t\t\t\t],\n\t\t\t)\n\n\t\t},\n\n\t\t'recursive sequence with groups'() {\n\n\t\t\tconst { begin , end , decimal_only: digit , repeat , from } = $mol_regexp\n\t\t\tconst year = repeat( digit , 4 , 4 )\n\t\t\tconst dash = '-'\n\t\t\tconst month = repeat( digit , 2 , 2 )\n\t\t\tconst day = repeat( digit , 2 , 2 )\n\n\t\t\tconst regexp = from([\n\t\t\t\tbegin , { date : [ {year} , dash , {month} ] } , dash , {day} , end\n\t\t\t])\n\t\t\t\n\t\t\tconst found = [ ... '2020-01-02'.matchAll( regexp ) ]\n\n\t\t\t$mol_assert_like( found[0].groups , {\n\t\t\t\tdate : '2020-01' ,\n\t\t\t\tyear : '2020' ,\n\t\t\t\tmonth : '01' ,\n\t\t\t\tday : '02' ,\n\t\t\t} )\n\n\t\t},\n\n\t\t'parse multiple'() {\n\n\t\t\tconst { decimal_only: digit , from } = $mol_regexp\n\n\t\t\tconst regexp = from({ digit })\n\n\t\t\t$mol_assert_like(\n\t\t\t\t[ ... '123'.matchAll( regexp ) ].map( f => f.groups ) ,\n\t\t\t\t[\n\t\t\t\t\t{ digit : '1' },\n\t\t\t\t\t{ digit : '2' },\n\t\t\t\t\t{ digit : '3' },\n\t\t\t\t]\n\t\t\t)\n\n\t\t},\n\n\t\t'named variants'() {\n\n\t\t\tconst { begin , or , end , from } = $mol_regexp\n\n\t\t\tconst sexism = from([\n\t\t\t\tbegin , 'sex = ' , { sex : [ 'male' , or , 'female' ] } , end\n\t\t\t])\n\n\t\t\t$mol_assert_like( [ ... 'sex = male'.matchAll( sexism ) ][0].groups , { sex : 'male' } )\n\t\t\t$mol_assert_like( [ ... 'sex = female'.matchAll( sexism ) ][0].groups , { sex : 'female' } )\n\t\t\t$mol_assert_like( [ ... 'sex = malefemale'.matchAll( sexism ) ][0].groups , undefined )\n\n\t\t},\n\n\t\t'force after'() {\n\n\t\t\tconst { latin_only: letter , force_after , from } = $mol_regexp\n\n\t\t\tconst regexp = from([ letter , force_after( '.' ) ])\n\n\t\t\t$mol_assert_like( 'x.'.match( regexp ) , [ 'x' ] )\n\t\t\t$mol_assert_like( 'x,'.match( regexp ) , null )\n\n\t\t},\n\n\t\t'forbid after'() {\n\n\t\t\tconst { latin_only: letter , forbid_after , from } = $mol_regexp\n\n\t\t\tconst regexp = from([ letter , forbid_after( '.' ) ])\n\n\t\t\t$mol_assert_like( 'x.'.match( regexp ) , null )\n\t\t\t$mol_assert_like( 'x,'.match( regexp ) , [ 'x' ] )\n\n\t\t},\n\n\t\t'char except'() {\n\n\t\t\tconst { char_except, latin_only, tab } = $mol_regexp\n\n\t\t\tconst name = char_except( latin_only, tab )\n\n\t\t\t$mol_assert_like( 'a'.match( name ) , null )\n\t\t\t$mol_assert_like( '\\t'.match( name ) , null )\n\t\t\t$mol_assert_like( '('.match( name ) , [ '(' ] )\n\n\t\t},\n\n\t\t'unicode only'() {\n\n\t\t\tconst { unicode_only, from } = $mol_regexp\n\n\t\t\tconst name = from([\n\t\t\t\tunicode_only( 'Script', 'Cyrillic' ),\n\t\t\t\tunicode_only( 'Hex_Digit' ),\n\t\t\t])\n\n\t\t\t$mol_assert_like( 'FF'.match( name ) , null )\n\t\t\t$mol_assert_like( 'ФG'.match( name ) , null )\n\t\t\t$mol_assert_like( 'ФF'.match( name ) , [ 'ФF' ] )\n\n\t\t},\n\n\t\t'generate by optional with inner group'() {\n\n\t\t\tconst { begin, end, from } = $mol_regexp\n\t\t\t\n\t\t\tconst animals = from([ begin, '#', [ '^', { dog : '@' } ], end ])\n\n\t\t\t$mol_assert_equal( animals.generate({}) , '#' )\n\t\t\t\n\t\t\t$mol_assert_equal( animals.generate({ dog: false }) , '#' )\n\t\t\t$mol_assert_equal( animals.generate({ dog: true }) , '#^@' )\n\t\t\t\n\t\t\t$mol_assert_fail( ()=> animals.generate({ dog: '$' }) , 'Wrong param: dog=$' )\n\n\t\t},\n\n\t\t'generate by optional with inner group with variants'() {\n\n\t\t\tconst { begin, end, from } = $mol_regexp\n\t\t\t\n\t\t\tconst animals = from([ begin, '#', [ '^', { animal: { dog : '@', fox: '&' } } ], end ])\n\n\t\t\t$mol_assert_equal( animals.generate({}) , '#' )\n\t\t\t\n\t\t\t$mol_assert_equal( animals.generate({ dog: true }) , '#^@' )\n\t\t\t$mol_assert_equal( animals.generate({ fox: true }) , '#^&' )\n\t\t\t\n\t\t\t$mol_assert_fail( ()=> animals.generate({ dog: '$' }) , 'Wrong param: dog=$' )\n\n\t\t},\n\t\t\n\t\t'complex example'() {\n\t\t\t\n\t\t\tconst {\n\t\t\t\tbegin, end,\n\t\t\t\tchar_only, char_range,\n\t\t\t\tlatin_only, slash_back,\n\t\t\t\trepeat_greedy, from,\n\t\t\t} = $mol_regexp\n\t\t\t\n\t\t\tconst atom_char = char_only( latin_only, \"!#$%&'*+/=?^`{|}~-\" )\n\t\t\tconst atom = repeat_greedy( atom_char, 1 )\n\t\t\tconst dot_atom = from([ atom, repeat_greedy([ '.', atom ]) ])\n\t\t\t\n\t\t\tconst name_letter = char_only(\n\t\t\t\tchar_range( 0x01, 0x08 ),\n\t\t\t\t0x0b, 0x0c,\n\t\t\t\tchar_range( 0x0e, 0x1f ),\n\t\t\t\t0x21,\n\t\t\t\tchar_range( 0x23, 0x5b ),\n\t\t\t\tchar_range( 0x5d, 0x7f ),\n\t\t\t)\n\t\t\t\n\t\t\tconst quoted_pair = from([\n\t\t\t\tslash_back,\n\t\t\t\tchar_only(\n\t\t\t\t\tchar_range( 0x01, 0x09 ),\n\t\t\t\t\t0x0b, 0x0c,\n\t\t\t\t\tchar_range( 0x0e, 0x7f ),\n\t\t\t\t)\n\t\t\t])\n\t\t\t\n\t\t\tconst name = repeat_greedy({ name_letter, quoted_pair })\n\t\t\tconst quoted_name = from([ '\"', {name}, '\"' ])\n\t\t\t\n\t\t\tconst local_part = from({ dot_atom, quoted_name })\n\t\t\tconst domain = dot_atom\n\t\t\t\n\t\t\tconst mail = from([ begin, local_part, '@', {domain}, end ])\n\t\t\t\n\t\t\t$mol_assert_equal( 'foo..bar@example.org'.match( mail ), null )\n\t\t\t$mol_assert_equal( 'foo..bar\"@example.org'.match( mail ), null )\n\t\t\t\n\t\t\t$mol_assert_like(\n\t\t\t\t[ ... 'foo.bar@example.org'.matchAll( mail ) ][0].groups,\n\t\t\t\t{\n\t\t\t\t\tdot_atom: \"foo.bar\",\n\t\t\t\t\tquoted_name: \"\",\n\t\t\t\t\tname: \"\",\n\t\t\t\t\tname_letter: \"\",\n\t\t\t\t\tquoted_pair: \"\",\n\t\t\t\t\tdomain: \"example.org\",\n\t\t\t\t}\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_like(\n\t\t\t\t[ ... '\"foo..bar\"@example.org'.matchAll( mail ) ][0].groups,\n\t\t\t\t{\n\t\t\t\t\tdot_atom: \"\",\n\t\t\t\t\tquoted_name: '\"foo..bar\"',\n\t\t\t\t\tname: \"foo..bar\",\n\t\t\t\t\tname_letter: \"r\",\n\t\t\t\t\tquoted_pair: \"\",\n\t\t\t\t\tdomain: \"example.org\",\n\t\t\t\t}\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\tmail.generate({ dot_atom: 'foo.bar', domain: 'example.org' }),\n\t\t\t\t'foo.bar@example.org',\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\tmail.generate({ name: 'foo..bar', domain: 'example.org' }),\n\t\t\t\t'\"foo..bar\"@example.org',\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_fail(\n\t\t\t\t()=> mail.generate({ dot_atom: 'foo..bar', domain: 'example.org' }),\n\t\t\t\t'Wrong param: dot_atom=foo..bar',\n\t\t\t)\n\t\t\t\n\t\t},\n\t\t\n\t})\n\n}\n","namespace $ {\n\tfunction get_parts(str: string) {\n\t\treturn $$.$mol_view_tree2_prop_parts($mol_tree2.struct(str))\n\t}\n\n\t$mol_test({\n\t\t'wrong order'($) {\n\t\t\t$mol_assert_fail(() => {\n\t\t\t\tget_parts('some_bla?*')\n\t\t\t}, 'Required prop like some*? at `?#1:1/0`')\n\t\t},\n\n\t\t'empty'($) {\n\t\t\t$mol_assert_fail(() => {\n\t\t\t\tget_parts('')\n\t\t\t}, 'Required prop like some*? at `?#1:1/0`')\n\t\t},\n\n\t\t'prop in upper case'($) {\n\t\t\tconst parts = get_parts('Close_icon')\n\t\t\t$mol_assert_equal(parts.name, 'Close_icon')\n\t\t\t$mol_assert_equal(parts.key, '')\n\t\t\t$mol_assert_equal(parts.next, '')\n\t\t},\n\n\t\t'prop with index'($) {\n\t\t\tconst parts = get_parts('some_bla*')\n\t\t\t$mol_assert_equal(parts.name, 'some_bla')\n\t\t\t$mol_assert_equal(parts.key, '*')\n\t\t\t$mol_assert_equal(parts.next, '')\n\t\t},\n\n\t\t'prop with index and value'($) {\n\t\t\tconst parts = get_parts('some_bla*?')\n\t\t\t$mol_assert_equal(parts.name, 'some_bla')\n\t\t\t$mol_assert_equal(parts.key, '*')\n\t\t\t$mol_assert_equal(parts.next, '?')\n\t\t},\n\n\t\t'legacy indexed'($) {\n\t\t\tconst parts = get_parts('Some*default')\n\t\t\t$mol_assert_equal(parts.name, 'Some')\n\t\t\t$mol_assert_equal(parts.key, '*default')\n\t\t\t$mol_assert_equal(parts.next, '')\n\t\t},\n\n\t\t'legacy indexed value'($) {\n\t\t\tconst parts = get_parts('Some*k?v')\n\t\t\t$mol_assert_equal(parts.name, 'Some')\n\t\t\t$mol_assert_equal(parts.key, '*k')\n\t\t\t$mol_assert_equal(parts.next, '?')\n\t\t}\n\t})\n}\n","namespace $ {\n\n\texport function $mol_style_attach(\n\t\tid : string ,\n\t\ttext : string ,\n\t) {\n\n\t\tconst doc = $mol_dom_context.document\n\t\tif( !doc ) return null\n\t\t\n\t\tconst elid = `$mol_style_attach:${id}`\n\t\t\n\t\tlet el = doc.getElementById( elid ) as HTMLStyleElement\n\t\tif( !el ) {\n\t\t\tel = doc.createElement('style')\n\t\t\tel.id = elid\n\t\t\tdoc.head.appendChild( el )\n\t\t}\n\t\tif( el.innerHTML != text ) el.innerHTML = text\n\t\t\n\t\treturn el\n\t}\n\n}\n","namespace $ {\n\texport class $mol_promise<Result = void> extends Promise<Result> {\n\t\tdone: (value: Result | PromiseLike<Result>) => void\n\t\tfail: (reason?: any) => void\n\n\t\tconstructor(\n\t\t\texecutor?: (\n\t\t\t\tdone: (value: Result | PromiseLike<Result>) => void,\n\t\t\t\tfail: (reason?: any) => void\n\t\t\t) => void\n\t\t) {\n\t\t\tlet done: (value: Result | PromiseLike<Result>) => void\n\t\t\tlet fail: (reason?: any) => void\n\n\t\t\tsuper((d, f) => {\n\t\t\t\tdone = d\n\t\t\t\tfail = f\n\t\t\t\texecutor?.(d, f)\n\t\t\t})\n\n\t\t\tthis.done = done!\n\t\t\tthis.fail = fail!\n\t\t}\n\n\t}\n\t\n}\n","namespace $ {\n\n\texport class $mol_promise_blocker<Result> extends $mol_promise<Result> {\n\t\tstatic [Symbol.toStringTag] = '$mol_promise_blocker'\n\t}\n\n}\n","namespace $ {\n\n\texport class $mol_decor< Value > {\n\t\t\n\t\tconstructor(\n\t\t\treadonly value : Value\n\t\t) {}\n\n\t\tprefix() { return '' }\n\t\tvalueOf() { return this.value }\n\t\tpostfix() { return '' }\n\n\t\ttoString(){\n\t\t\treturn `${ this.prefix() }${ this.valueOf() }${ this.postfix() }`\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\t\n\texport type $mol_style_unit_length =\n\t| '%'\n\t| 'px' | 'cm' | 'mm' | 'Q' | 'in' | 'pc' | 'pt'\n\t| 'cap' | 'ch' | 'em' | 'rem' | 'ex' | 'ic' | 'lh' | 'rlh'\n\t| 'vh' | 'vw' | 'vi' | 'vb' | 'vmin' | 'vmax'\n\t\n\texport type $mol_style_unit_angle = 'deg' | 'rad' | 'grad' | 'turn'\n\t\n\texport type $mol_style_unit_time = 's' | 'ms'\n\n\texport type $mol_style_unit_any = $mol_style_unit_length | $mol_style_unit_angle | $mol_style_unit_time\n\n\texport type $mol_style_unit_str< Quanity extends $mol_style_unit_any = $mol_style_unit_any> = `${number}${Quanity}`\n\n\t/**\n\t * CSS Units\n\t * @see https://mol.hyoo.ru/#!section=docs/=xwq9q5_f966fg\n\t */\n\texport class $mol_style_unit<\n\t\tLiteral extends $mol_style_unit_any\n\t> extends $mol_decor< number > {\n\n\t\tconstructor(\n\t\t\tvalue : number,\n\t\t\treadonly literal : Literal,\n\t\t) {\n\t\t\tsuper( value )\n\t\t}\n\n\t\tpostfix() {\n\t\t\treturn this.literal\n\t\t}\n\n\t\tstatic per( value : number ) { return `${value}%` as const }\n\t\tstatic px( value : number ) { return `${ value }px` as const }\n\t\tstatic mm( value : number ) { return `${value}mm` as const }\n\t\tstatic cm( value : number ) { return `${value}cm` as const }\n\t\tstatic Q( value : number ) { return `${value}Q` as const }\n\t\tstatic in( value : number ) { return `${value}in` as const }\n\t\tstatic pc( value : number ) { return `${value}pc` as const }\n\t\tstatic pt( value : number ) { return `${value}pt` as const }\n\t\tstatic cap( value : number ) { return `${value}cap` as const }\n\t\tstatic ch( value : number ) { return `${value}ch` as const }\n\t\tstatic em( value : number ) { return `${value}em` as const }\n\t\tstatic rem( value : number ) { return `${value}rem` as const }\n\t\tstatic ex( value : number ) { return `${value}ex` as const }\n\t\tstatic ic( value : number ) { return `${value}ic` as const }\n\t\tstatic lh( value : number ) { return `${value}lh` as const }\n\t\tstatic rlh( value : number ) { return `${value}rlh` as const }\n\t\tstatic vh( value : number ) { return `${value}vh` as const }\n\t\tstatic vw( value : number ) { return `${value}vw` as const }\n\t\tstatic vi( value : number ) { return `${value}vi` as const }\n\t\tstatic vb( value : number ) { return `${value}vb` as const }\n\t\tstatic vmin( value : number ) { return `${value}vmin` as const }\n\t\tstatic vmax( value : number ) { return `${value}vmax` as const }\n\t\t\n\t\tstatic deg( value : number ) { return `${value}deg` as const }\n\t\tstatic rad( value : number ) { return `${value}rad` as const }\n\t\tstatic grad( value : number ) { return `${value}grad` as const }\n\t\tstatic turn( value : number ) { return `${value}turn` as const }\n\n\t\tstatic s( value : number ) { return `${value}s` as const }\n\t\tstatic ms( value : number ) { return `${value}ms` as const }\n\t\n\t}\n\n}\n","namespace $ {\n\n\texport type $mol_style_func_name =\n\t| 'calc'\n\t| 'hsla'\n\t| 'rgba'\n\t| 'var'\n\t| 'clamp'\n\t| 'scale'\n\t| 'cubic-bezier'\n\t| 'linear'\n\t| 'steps'\n\t| $mol_style_func_image\n\t| $mol_style_func_filter\n\t\n\texport type $mol_style_func_image =\n\t| 'url'\n\t| 'linear-gradient'\n\t| 'radial-gradient'\n\t| 'conic-gradient'\n\t\n\texport type $mol_style_func_filter =\n\t| 'blur'\n\t| 'brightness'\n\t| 'contrast'\n\t| 'drop-shadow'\n\t| 'grayscale'\n\t| 'hue-rotate'\n\t| 'invert'\n\t| 'opacity'\n\t| 'sepia'\n\t| 'saturate'\n\n\tconst { per } = $mol_style_unit\n\t\n\t/**\n\t * CSS Functions\n\t * @see https://mol.hyoo.ru/#!section=docs/=xwq9q5_f966fg\n\t */\n\texport class $mol_style_func<\n\t\tName extends $mol_style_func_name ,\n\t\tValue = unknown,\n\t> extends $mol_decor< Value > {\n\n\t\tconstructor(\n\t\t\treadonly name : Name,\n\t\t\tvalue : Value,\n\t\t) {\n\t\t\tsuper( value )\n\t\t}\n\n\t\tprefix() { return this.name + '(' }\n\t\tpostfix() { return ')' }\n\n\t\tstatic linear_gradient< Value >( value : Value ) {\n\t\t\treturn new $mol_style_func( 'linear-gradient' , value )\n\t\t}\n\n\t\tstatic radial_gradient< Value >( value : Value ) {\n\t\t\treturn new $mol_style_func( 'radial-gradient' , value )\n\t\t}\n\n\t\tstatic calc< Value >( value : Value ) {\n\t\t\treturn new $mol_style_func( 'calc' , value )\n\t\t}\n\n\t\tstatic vary< Name extends string, Value extends string >( name : Name, defaultValue? : Value ) {\n\t\t\treturn new $mol_style_func( 'var' , defaultValue ? [name, defaultValue] : name )\n\t\t}\n\n\t\tstatic url< Href extends string >( href : Href ) {\n\t\t\treturn new $mol_style_func( 'url' , JSON.stringify( href ) )\n\t\t}\n\n\t\tstatic hsla(\n\t\t\thue: number,\n\t\t\tsaturation: number,\n\t\t\tlightness: number,\n\t\t\talpha: number,\n\t\t) {\n\t\t\treturn new $mol_style_func(\n\t\t\t\t'hsla',\n\t\t\t\t[ hue , per( saturation ) , per( lightness ) , alpha ],\n\t\t\t)\n\t\t}\n\t\n\t\tstatic clamp(\n\t\t\tmin: $mol_style_unit_str< any >,\n\t\t\tmid: $mol_style_unit_str< any >,\n\t\t\tmax: $mol_style_unit_str< any >,\n\t\t) {\n\t\t\treturn new $mol_style_func(\n\t\t\t\t'clamp',\n\t\t\t\t[ min, mid, max ],\n\t\t\t)\n\t\t}\n\t\n\t\tstatic rgba(\n\t\t\tred: number,\n\t\t\tgreen: number,\n\t\t\tblue: number,\n\t\t\talpha: number,\n\t\t) {\n\t\t\treturn new $mol_style_func(\n\t\t\t\t'rgba',\n\t\t\t\t[ red , green , blue , alpha ],\n\t\t\t)\n\t\t}\n\t\n\t\tstatic scale(\n\t\t\tzoom: number,\n\t\t) {\n\t\t\treturn new $mol_style_func( 'scale', [ zoom ] )\n\t\t}\n\t\t\n\t\tstatic linear(\n\t\t\t...breakpoints : Array<number | [number, number | $mol_style_unit_str<'%'>]>\n\t\t){\n\t\t\treturn new $mol_style_func(\n\t\t\t\t\"linear\",\n\t\t\t\tbreakpoints.map((e) =>\n\t\t\t\t\tArray.isArray(e)\n\t\t\t\t\t\t? String(e[0]) +\n\t\t\t\t\t\t \" \" +\n\t\t\t\t\t\t (typeof e[1] === \"number\" ? e[1] + \"%\" : e[1].toString())\n\t\t\t\t\t\t: String(e)\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t\t\n\t\tstatic cubic_bezier(\n\t\t\tx1: number,\n\t\t\ty1: number,\n\t\t\tx2: number,\n\t\t\ty2: number\n\t\t){\n\t\t\treturn new $mol_style_func( 'cubic-bezier', [ x1, y1, x2, y2 ]);\n\t\t}\n\t\t\n\t\tstatic steps(value: number, step_position: 'jump-start' | 'jump-end' | 'jump-none' | 'jump-both' | 'start' | 'end'){\n\t\t\treturn new $mol_style_func( 'steps', [ value, step_position ] )\n\t\t}\n\t\t\n\t\tstatic blur(value?: $mol_style_unit_str<$mol_style_unit_length>){\n\t\t\treturn new $mol_style_func( 'blur', value ?? \"\" );\n\t\t}\n\t\t\n\t\tstatic brightness(value?: number | $mol_style_unit_str<'%'>){\n\t\t\treturn new $mol_style_func( 'brightness', value ?? \"\" );\n\t\t}\n\t\t\n\t\tstatic contrast(value?: number | $mol_style_unit_str<'%'>){\n\t\t\treturn new $mol_style_func( 'contrast', value ?? \"\" );\n\t\t}\n\t\t\n\t\tstatic drop_shadow(\n\t\t\tcolor: $mol_style_properties_color,\n\t\t\tx_offset: $mol_style_unit_str<$mol_style_unit_length>,\n\t\t\ty_offset: $mol_style_unit_str<$mol_style_unit_length>,\n\t\t\tblur_radius?: $mol_style_unit_str<$mol_style_unit_length>\n\t\t) {\n\t\t\treturn new $mol_style_func(\n\t\t\t\t\"drop-shadow\",\n\t\t\t\tblur_radius\n\t\t\t\t\t? [color, x_offset, y_offset, blur_radius]\n\t\t\t\t\t: [color, x_offset, y_offset]\n\t\t\t);\n\t\t}\n\t\t\n\t\tstatic grayscale(value?: number | $mol_style_unit_str<'%'>){\n\t\t\treturn new $mol_style_func( 'grayscale', value ?? \"\" );\n\t\t}\n\t\t\n\t\tstatic hue_rotate(value?: 0 | $mol_style_unit_str<$mol_style_unit_angle>){\n\t\t\treturn new $mol_style_func( 'hue-rotate', value ?? \"\")\n\t\t}\n\t\t\n\t\tstatic invert(value?: number | $mol_style_unit_str<'%'>){\n\t\t\treturn new $mol_style_func( 'invert', value ?? \"\" );\n\t\t}\n\t\t\n\t\tstatic opacity(value?: number | $mol_style_unit_str<'%'>){\n\t\t\treturn new $mol_style_func( 'opacity', value ?? \"\" );\n\t\t}\n\t\t\n\t\tstatic sepia(value?: number | $mol_style_unit_str<'%'>){\n\t\t\treturn new $mol_style_func( 'sepia', value ?? \"\" );\n\t\t}\n\t\t\n\t\tstatic saturate(value?: number | $mol_style_unit_str<'%'>){\n\t\t\treturn new $mol_style_func( 'saturate', value ?? \"\" );\n\t\t}\n\t\n\t}\n\n}\n","namespace $ {\n\t\n\t/** Create record of CSS variables. */\n\texport function $mol_style_prop< Keys extends string[] >(\n\t\tprefix: string ,\n\t\tkeys: Keys\n\t) {\n\t\t\n\t\tconst record = keys.reduce( ( rec , key: Keys[number] )=> {\n\t\t\t\n\t\t\trec[ key ] = $mol_style_func.vary( `--${ prefix }_${ key }` )\n\t\t\treturn rec\n\t\t\t\n\t\t}, {} as Record< Keys[number], $mol_style_func< 'var' > > )\n\t\t\n\t\treturn record\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t$mol_test( {\n\t\t\n\t\t'init with overload'() {\n\t\t\tclass X extends $mol_object {\n\t\t\t\tfoo() {\n\t\t\t\t\treturn 1\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tvar x = X.make({\n\t\t\t\tfoo : ()=> 2 ,\n\t\t\t})\n\t\t\t\n\t\t\t$mol_assert_equal( x.foo() , 2 )\n\t\t} ,\n\t\t\t\n\t} )\n}\n","namespace $ {\n\t$mol_test({\n\t\t\n\t\t'Collect deps'() {\n\t\t\t\n\t\t\tconst pub1 = new $mol_wire_pub\n\t\t\tconst pub2 = new $mol_wire_pub\n\t\t\tconst sub = new $mol_wire_pub_sub\n\t\t\t\n\t\t\tconst bu1 = sub.track_on()\n\t\t\ttry {\n\t\t\t\t\n\t\t\t\tpub1.promote()\n\t\t\t\tpub2.promote()\n\t\t\t\tpub2.promote()\n\t\t\t\t\n\t\t\t} finally {\n\t\t\t\t\n\t\t\t\tsub.track_cut()\n\t\t\t\tsub.track_off( bu1 )\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tpub1.emit()\n\t\t\tpub2.emit()\n\t\t\t\n\t\t\t$mol_assert_like( sub.pub_list, [ pub1, pub2, pub2 ] )\n\t\t\t\n\t\t\tconst bu2 = sub.track_on()\n\t\t\ttry {\n\t\t\t\t\n\t\t\t\tpub1.promote()\n\t\t\t\tpub1.promote()\n\t\t\t\tpub2.promote()\n\t\t\t\t\n\t\t\t} finally {\n\t\t\t\t\n\t\t\t\tsub.track_cut()\n\t\t\t\tsub.track_off( bu2 )\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tpub1.emit()\n\t\t\tpub2.emit()\n\t\t\t\n\t\t\t$mol_assert_like( sub.pub_list, [ pub1, pub1, pub2 ] )\n\t\t\t\n\t\t},\n\t\t\n\t\t'cyclic detection'( $ ) {\n\t\t\t\n\t\t\tconst sub1 = new $mol_wire_pub_sub\n\t\t\tconst sub2 = new $mol_wire_pub_sub\n\t\t\t\n\t\t\tconst bu1 = sub1.track_on()\n\t\t\ttry {\n\t\t\t\t\n\t\t\t\tconst bu2 = sub2.track_on()\n\t\t\t\ttry {\n\t\t\t\t\t\n\t\t\t\t\t$mol_assert_fail( ()=> sub1.promote(), 'Circular subscription' )\n\t\t\t\t\t\n\t\t\t\t} finally {\n\t\t\t\t\t\n\t\t\t\t\tsub2.track_cut()\n\t\t\t\t\tsub2.track_off( bu2 )\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t} finally {\n\t\t\t\t\n\t\t\t\tsub1.track_cut()\n\t\t\t\tsub1.track_off( bu1 )\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t},\n\n\t})\n}\n","namespace $ {\n\n\t/// @todo right orderinng\n\texport let $mol_after_mock_queue = [] as ( ()=> void )[]\n\n\texport function $mol_after_mock_warp() {\n\t\tconst queue = $mol_after_mock_queue.splice( 0 )\n\t\tfor( const task of queue ) task()\n\t}\n\n\texport class $mol_after_mock_commmon extends $mol_object2 {\n\n\t\tpromise = Promise.resolve()\n\t\tcancelled = false\n\t\tid : any\n\n\t\tconstructor( public task : ()=> void ) {\n\t\t\tsuper()\n\t\t\t$mol_after_mock_queue.push( task )\n\t\t}\n\n\t\tdestructor() {\n\t\t\tconst index = $mol_after_mock_queue.indexOf( this.task )\n\t\t\tif( index >= 0 )$mol_after_mock_queue.splice( index , 1 )\n\t\t}\n\n\t}\n\n\texport class $mol_after_mock_timeout extends $mol_after_mock_commmon {\n\n\t\tconstructor(\n\t\t\tpublic delay : number ,\n\t\t\ttask : ()=> void ,\n\t\t) {\n\t\t\tsuper( task )\n\t\t}\n\n\t}\n\t\n}\n","namespace $ {\n\n\t$mol_test_mocks.push( $ => {\n\t\t$.$mol_after_tick = $mol_after_mock_commmon as any as typeof $mol_after_tick\n\t})\n\n}\n","namespace $ {\n\n\t$mol_test({\n\t\t\n\t\t'Sync execution'() {\n\n\t\t\tclass Sync extends $mol_object2 {\n\t\t\t\t\n\t\t\t\t@ $mol_wire_method\n\t\t\t\tstatic calc( a: number, b: number ) {\n\t\t\t\t\treturn a + b\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\t$mol_assert_equal( Sync.calc( 1, 2 ), 3 )\n\t\t\t\n\t\t},\n\n\t\tasync 'async <=> sync'() {\n\t\t\t\n\t\t\tclass SyncAsync extends $mol_object2 {\n\t\t\t\t\n\t\t\t\tstatic async val( a: number ) {\n\t\t\t\t\treturn a\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tstatic sum( a: number, b: number ) {\n\t\t\t\t\tconst syn = $mol_wire_sync( this )\n\t\t\t\t\treturn syn.val( a ) + syn.val( b )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tstatic async calc( a: number, b: number ) {\n\t\t\t\t\treturn 5 + await $mol_wire_async( this ).sum( a, b )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\t$mol_assert_equal( await SyncAsync.calc( 1, 2 ), 8 )\n\n\t\t},\n\n\t\tasync 'Idempotence control'() {\n\n\t\t\tclass Idempotence extends $mol_object2 {\n\t\t\t\t\n\t\t\t\tstatic logs_idemp = 0\n\t\t\t\tstatic logs_unidemp = 0\n\t\t\t\t\n\t\t\t\t@ $mol_wire_method\n\t\t\t\tstatic log_idemp() {\n\t\t\t\t\tthis.logs_idemp += 1\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tstatic log_unidemp() {\n\t\t\t\t\tthis.logs_unidemp += 1\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tstatic async val( a: number ) {\n\t\t\t\t\treturn a\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tstatic sum( a: number, b: number ) {\n\t\t\t\t\tthis.log_idemp()\n\t\t\t\t\tthis.log_unidemp()\n\t\t\t\t\tconst syn = $mol_wire_sync( this )\n\t\t\t\t\treturn syn.val( a ) + syn.val( b )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tstatic async calc( a: number, b: number ) {\n\t\t\t\t\treturn 5 + await $mol_wire_async( this ).sum( a, b )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\t$mol_assert_equal( await Idempotence.calc( 1, 2 ), 8 )\n\t\t\t$mol_assert_equal( Idempotence.logs_idemp, 1 )\n\t\t\t$mol_assert_equal( Idempotence.logs_unidemp, 3 )\n\n\t\t},\n\n\t\tasync 'Error handling'() {\n\t\t\t\n\t\t\tclass Handle extends $mol_object2 {\n\t\t\t\t\n\t\t\t\tstatic async sum( a: number, b: number ){\n\t\t\t\t\t$mol_fail( new Error( 'test error ' + ( a + b ) ) )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tstatic check() {\n\t\t\t\t\ttry {\n\t\t\t\t\t\treturn $mol_wire_sync( Handle ).sum( 1, 2 )\n\t\t\t\t\t} catch( error: any ) {\n\t\t\t\t\t\tif( $mol_promise_like( error ) ) $mol_fail_hidden( error )\n\t\t\t\t\t\t$mol_assert_equal( error.message, 'test error 3' )\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\t\n\t\t\tawait $mol_wire_async( Handle ).check()\n\t\t\t\n\t\t},\n\t\t\n\t})\n\t\n}\n","namespace $ {\n\n\t$mol_test_mocks.push( $ => {\n\t\t$.$mol_after_timeout = $mol_after_mock_timeout as any as typeof $mol_after_timeout\n\t})\n\n}\n","namespace $ {\n\n\t$mol_test({\n\t\t'test types'( $ ) {\n\t\t\tclass A {\n\t\t\t\tstatic a() {\n\t\t\t\t\treturn ''\n\t\t\t\t}\n\t\t\t\tstatic b() {\n\t\t\t\t\treturn $mol_wire_async(this).a()\n\t\t\t\t}\n\t\t\t}\n\n\t\t\ttype Check = $mol_type_assert<ReturnType<typeof A['b']>, Promise<string>>\n\t\t},\n\t\t\n\t\tasync 'Latest method calls wins'( $ ) {\n\t\t\t\n\t\t\tclass NameLogger extends $mol_object2 {\n\t\t\t\t\n\t\t\t\tstatic $ = $\n\t\t\t\t\n\t\t\t\tstatic first = [] as string[]\n\t\t\t\tstatic last = [] as string[]\n\t\t\t\t\n\t\t\t\tstatic send( next: string ) {\n\t\t\t\t\t$mol_wire_sync( this.first ).push( next )\n\t\t\t\t\t$$.$mol_wait_timeout(0)\n\t\t\t\t\tthis.last.push( next )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tconst name = $mol_wire_async( NameLogger ).send\n\t\t\t\n\t\t\tname( 'john' )\n\t\t\tconst promise = name( 'jin' )\n\t\t\t\n\t\t\t$.$mol_after_mock_warp()\n\t\t\tawait promise\n\t\t\t\n\t\t\t$mol_assert_equal( NameLogger.first, [ 'john', 'jin' ] )\n\t\t\t$mol_assert_equal( NameLogger.last, [ 'jin' ] )\n\n\t\t},\n\n\t\tasync 'Latest function calls wins'( $ ) {\n\t\t\t\n\t\t\tconst first = [] as string[]\n\t\t\tconst last = [] as string[]\n\t\t\t\n\t\t\tfunction send_name( next: string ) {\n\t\t\t\t$mol_wire_sync( first ).push( next )\n\t\t\t\t$$.$mol_wait_timeout(0)\n\t\t\t\tlast.push( next )\n\t\t\t}\n\t\t\t\n\t\t\tconst name = $mol_wire_async( send_name )\n\t\t\t\n\t\t\tname( 'john' )\n\t\t\tconst promise = name( 'jin' )\n\t\t\t\n\t\t\t$.$mol_after_mock_warp()\n\t\t\tawait promise\n\t\t\t\n\t\t\t$mol_assert_equal( first, [ 'john', 'jin' ] )\n\t\t\t$mol_assert_equal( last, [ 'jin' ] )\n\t\t\t\n\t\t},\n\n\t})\n\t\n}\n","namespace $ {\n\n\t$mol_test({\n\n\t\t'test types'( $ ) {\n\t\t\tclass A {\n\t\t\t\tstatic a() {\n\t\t\t\t\treturn Promise.resolve('')\n\t\t\t\t}\n\n\t\t\t\tstatic b() {\n\t\t\t\t\treturn $mol_wire_sync(this).a()\n\t\t\t\t}\n\t\t\t}\n\n\t\t\ttype Check = $mol_type_assert<ReturnType<typeof A['b']>, string>\n\t\t},\n\n\t\tasync 'test method from host'( $ ) {\n\t\t\tlet count = 0\n\t\t\tclass A {\n\t\t\t\tstatic a() {\n\t\t\t\t\treturn $mol_wire_sync(this).b()\n\t\t\t\t}\n\n\t\t\t\tstatic b() { return Promise.resolve(++count) }\n\t\t\t}\n\n\t\t\t\n\t\t\t$mol_assert_equal(await $mol_wire_async(A).a(), 1, count)\n\n\t\t},\n\n\t\tasync 'test function'( $ ) {\n\t\t\tlet count = 0\n\t\t\tclass A {\n\t\t\t\tstatic a() {\n\t\t\t\t\treturn $mol_wire_sync(this.b)()\n\t\t\t\t}\n\n\t\t\t\tstatic b() { return Promise.resolve(++count) }\n\t\t\t}\n\n\t\t\t\n\t\t\t$mol_assert_equal(await $mol_wire_async(A).a(), 1, count)\n\n\t\t},\n\n\t\tasync 'test construct itself'( $ ) {\n\t\t\tclass A {\n\t\t\t\tstatic instances = [] as A[]\n\n\t\t\t\tstatic a() {\n\t\t\t\t\tconst a = new ($mol_wire_sync(A))()\n\t\t\t\t\tthis.instances.push( a )\n\t\t\t\t\t$mol_wire_sync(this).b()\n\t\t\t\t}\n\n\t\t\t\tstatic b() { return Promise.resolve() }\n\t\t\t}\n\n\t\t\tawait $mol_wire_async(A).a()\n\t\t\t$mol_assert_equal(A.instances.length, 2)\n\t\t\t$mol_assert_equal(A.instances[0] instanceof A)\n\n\t\t\t$mol_assert_equal(A.instances[0], A.instances[1])\n\n\t\t}\n\t})\n\n}\n\n","namespace $ {\n\n\tdeclare function requestIdleCallback( task : ()=> void , options? : { timeout : number } ) : any\n\tdeclare function cancelIdleCallback( id : any ) : void\n\n\texport class $mol_after_work extends $mol_object2 {\n\n\t\tid : any\n\n\t\tconstructor(\n\t\t\tpublic delay : number ,\n\t\t\tpublic task : ()=> void ,\n\t\t) {\n\t\t\tsuper()\n\t\t\tthis.id = requestIdleCallback( task , { timeout : delay } )\n\t\t}\n\n\t\tdestructor() {\n\t\t\tcancelIdleCallback( this.id )\n\t\t}\n\n\t}\n\t\n\tif( typeof requestIdleCallback !== 'function' ) {\n\t\t$.$mol_after_work = $mol_after_timeout\n\t}\n\t\n}\n","namespace $ {\n\n\t$mol_test_mocks.push( $ => {\n\t\t$.$mol_after_work = $mol_after_mock_timeout as any as typeof $mol_after_work\n\t})\n\n}\n","namespace $ {\n\t\n\texport function $mol_wait_rest_async( this: $ ) {\n\t\treturn new Promise( done => {\n\t\t\tnew this.$mol_after_work( 16 , ()=> done( null ) )\n\t\t} )\n\t}\n\t\n\texport function $mol_wait_rest( this: $ ) {\n\t\treturn this.$mol_wire_sync( this ).$mol_wait_rest_async()\n\t}\n\t\n}\n","namespace $.$$ {\n\t\n\t$mol_test_mocks.push( $ => {\n\t\t$.$mol_wait_timeout = function $mol_wait_timeout_mock( this: $, timeout: number ) { }\n\t\t$.$mol_wait_timeout_async = async function $mol_wait_timeout_async_mock( this: $, timeout: number ) {}\n\t} )\n\n}\n","namespace $ {\n\t\n\texport function $mol_wait_timeout_async( this: $, timeout: number ): Promise< void > {\n\t\tconst promise = new $mol_promise()\n\t\tconst task = new this.$mol_after_timeout( timeout , ()=> promise.done() )\n\t\treturn Object.assign( promise, {\n\t\t\tdestructor: ()=> task.destructor()\n\t\t} )\n\t}\n\t\n\texport function $mol_wait_timeout( this: $, timeout: number ) {\n\t\treturn this.$mol_wire_sync( this ).$mol_wait_timeout_async( timeout )\n\t}\n\t\n}\n","namespace $.$$ {\n\t\n\t$mol_test_mocks.push( $ => {\n\t\t$.$mol_wait_rest = function $mol_wait_rest_mock( this: $ ) { }\n\t\t$.$mol_wait_rest_async = async function $mol_wait_rest_async_mock( this: $ ) {}\n\t} )\n\n}\n","namespace $ {\n\t$mol_test({\n\t\t\n\t\t// https://github.com/nin-jin/slides/tree/master/reactivity#component-states\n\t\t'Cached channel' ($) {\n\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\t\t\t\t\n\t\t\t\t@ $mol_wire_solo\n\t\t\t\tstatic value( next = 1 ) {\n\t\t\t\t\treturn next + 1\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\t$mol_assert_equal( App.value(), 2 )\n\n\t\t\tApp.value( 2 )\n\t\t\t$mol_assert_equal( App.value(), 3 )\n\n\t\t},\n\n\t\t'Read Pushed' ($) {\n\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\t\t\t\t\n\t\t\t\t@ $mol_wire_solo\n\t\t\t\tstatic value( next = 0 ) {\n\t\t\t\t\treturn next\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\t$mol_assert_equal( App.value( 1 ), 1 )\n\t\t\t$mol_assert_equal( App.value(), 1 )\n\n\t\t},\n\n\t\t'Mem overrides mem' ($) {\n\n\t\t\tclass Base extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\t\t\t\t\n\t\t\t\t@ $mol_wire_solo\n\t\t\t\tstatic value( next = 1 ) {\n\t\t\t\t\treturn next + 1\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tclass Middle extends Base {\n\t\t\t\t\n\t\t\t\t@ $mol_wire_solo\n\t\t\t\tstatic value( next?: number ) {\n\t\t\t\t\treturn super.value( next ) + 1\n\t\t\t\t}\n\t\t\t\n\t\t\t}\n\t\t\t\t\n\t\t\tclass App extends Middle {\n\t\t\t\t\n\t\t\t\t@ $mol_wire_solo\n\t\t\t\tstatic value( next?: number ) {\n\t\t\t\t\treturn super.value( next ) * 3\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\t$mol_assert_equal( App.value(), 9 )\n\t\t\t\n\t\t\t$mol_assert_equal( App.value( 5 ), 21 )\n\t\t\t$mol_assert_equal( App.value(), 21 )\n\n\t\t},\n\n\t\t// https://github.com/nin-jin/slides/tree/master/reactivity#wish-consistency\n\t\t'Auto recalculation of cached values'( $ ) {\n\t\t\t\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\t\t\t\t\n\t\t\t\t@ $mol_wire_solo\n\t\t\t\tstatic xxx( next? : number ) {\n\t\t\t\t\treturn next || 1\n\t\t\t\t}\n\n\t\t\t\t@ $mol_wire_solo\n\t\t\t\tstatic yyy() {\n\t\t\t\t\treturn this.xxx() + 1\n\t\t\t\t}\n\n\t\t\t\t@ $mol_wire_solo\n\t\t\t\tstatic zzz() {\n\t\t\t\t\treturn this.yyy() + 1\n\t\t\t\t}\n\n\t\t\t}\n\t\t\t\n\t\t\t$mol_assert_equal( App.yyy(), 2 )\n\t\t\t$mol_assert_equal( App.zzz(), 3 )\n\n\t\t\tApp.xxx( 5 )\n\t\t\t$mol_assert_equal( App.zzz(), 7 )\n\n\t\t},\n\n\t\t// https://github.com/nin-jin/slides/tree/master/reactivity#wish-reasonability\n\t\t'Skip recalculation when actually no dependency changes'( $ ) {\n\t\t\t\n\t\t\tconst log = [] as string[]\n\t\t\t\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\t\t\t\t\n\t\t\t\t@ $mol_wire_solo\n\t\t\t\tstatic xxx( next? : number ) {\n\t\t\t\t\tlog.push( 'xxx' )\n\t\t\t\t\treturn next || 1\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t@ $mol_wire_solo\n\t\t\t\tstatic yyy() {\n\t\t\t\t\tlog.push( 'yyy' )\n\t\t\t\t\treturn [ Math.sign( this.xxx() ) ]\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t@ $mol_wire_solo\n\t\t\t\tstatic zzz() {\n\t\t\t\t\tlog.push( 'zzz' )\n\t\t\t\t\treturn this.yyy()[0] + 1\n\t\t\t\t}\n\n\t\t\t}\n\t\t\t\n\t\t\tApp.zzz()\n\t\t\t$mol_assert_like( log, [ 'zzz', 'yyy', 'xxx' ] )\n\t\t\t\n\t\t\tApp.xxx( 5 )\n\t\t\t$mol_assert_like( log, [ 'zzz', 'yyy', 'xxx', 'xxx' ] )\n\t\t\t\n\t\t\tApp.zzz()\n\t\t\t$mol_assert_like( log, [ 'zzz', 'yyy', 'xxx', 'xxx', 'yyy' ] )\n\n\t\t},\n\n\t\t// https://github.com/nin-jin/slides/tree/master/reactivity#flow-auto\n\t\t'Flow: Auto'( $ ) {\n\n\t\t\tclass App extends $mol_object2 {\n\t\t\t\t\n\t\t\t\tstatic get $() { return $ }\n\n\t\t\t\t@ $mol_wire_solo\n\t\t\t\tstatic source( next = 1 ) { return next }\n\t\t\t\t\n\t\t\t\t@ $mol_wire_solo\n\t\t\t\tstatic condition( next = true ) { return next }\n\t\t\t\t\n\t\t\t\tstatic counter = 0\n\n\t\t\t\t@ $mol_wire_solo\n\t\t\t\tstatic result() {\n\t\t\t\t\tconst res = this.condition() ? this.source() : 0\n\t\t\t\t\treturn res + this.counter ++\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\n\t\t\t$mol_assert_equal( App.result() , 1 )\n\t\t\t$mol_assert_equal( App.counter , 1 )\n\t\t\t\n\t\t\tApp.source( 10 )\n\t\t\t$mol_assert_equal( App.result() , 11 )\n\t\t\t$mol_assert_equal( App.counter , 2 )\n\t\t\t\n\t\t\tApp.condition( false )\n\t\t\t$mol_assert_equal( App.result() , 2 )\n\t\t\t$mol_assert_equal( App.counter , 3 )\n\n\t\t\t$mol_wire_fiber.sync()\n\t\t\t$mol_assert_equal( App.source() , 1 )\n\t\t\t\n\t\t\tApp.source( 20 )\n\t\t\t$mol_assert_equal( App.result() , 2 )\n\t\t\t$mol_assert_equal( App.counter , 3 )\n\n\t\t\tApp.condition( true )\n\t\t\t$mol_assert_equal( App.result() , 23 )\n\t\t\t$mol_assert_equal( App.counter , 4 )\n\n\t\t} ,\n\n\t\t// https://github.com/nin-jin/slides/tree/master/reactivity#dupes-equality\n\t\t'Dupes: Equality'( $ ) {\n\t\t\t\n\t\t\tlet counter = 0\n\t\t\t\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\t\t\t\t\n\t\t\t\t@ $mol_wire_solo\n\t\t\t\tstatic foo( next? : { numbs: number[] } ) {\n\t\t\t\t\treturn next ?? { numbs: [ 1 ] }\n\t\t\t\t}\n\n\t\t\t\t@ $mol_wire_solo\n\t\t\t\tstatic bar() {\n\t\t\t\t\treturn { ... this.foo(), count: ++ counter }\n\t\t\t\t}\n\n\t\t\t}\n\t\t\t\n\t\t\t$mol_assert_like( App.bar(), { numbs: [ 1 ], count: 1 } )\n\n\t\t\tApp.foo({ numbs: [ 1 ] })\n\t\t\t$mol_assert_like( App.bar(), { numbs: [ 1 ], count: 1 } )\n\t\t\t\n\t\t\tApp.foo({ numbs: [ 2 ] })\n\t\t\t$mol_assert_like( App.bar(), { numbs: [ 2 ], count: 2 } )\n\n\t\t},\n\n\t\t// https://github.com/nin-jin/slides/tree/master/reactivity#cycle-fail\n\t\t'Cycle: Fail'( $ ) {\n\t\t\n\t\t\tclass App extends $mol_object2 {\n\t\t\n\t\t\t\tstatic $ = $\n\t\t\t\t\n\t\t\t\t@ $mol_wire_solo\n\t\t\t\tstatic foo() : number {\n\t\t\t\t\treturn this.bar() + 1\n\t\t\t\t}\n\t\t\n\t\t\t\t@ $mol_wire_solo\n\t\t\t\tstatic bar() : number {\n\t\t\t\t\treturn this.foo() + 1\n\t\t\t\t}\n\t\t\n\t\t\t\t@ $mol_wire_method\n\t\t\t\tstatic test() {\n\t\t\t\t\t$mol_assert_fail( ()=> App.foo(), 'Circular subscription' )\n\t\t\t\t}\t\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tApp.test()\n\t\t} ,\n\n\t\t// https://github.com/nin-jin/slides/tree/master/reactivity#wish-stability\n\t\t// 'Update deps on push'( $ ) {\n\t\t\n\t\t// \tclass App extends $mol_object2 {\n\t\t\n\t\t// \t\tstatic $ = $\n\t\t\t\t\n\t\t// \t\t@ $mol_wire_solo\n\t\t// \t\tstatic left( next = false ) {\n\t\t// \t\t\treturn next\n\t\t// \t\t}\n\t\t\n\t\t// \t\t@ $mol_wire_solo\n\t\t// \t\tstatic right( next = false ) {\n\t\t// \t\t\treturn next\n\t\t// \t\t}\n\t\t\n\t\t// \t\t@ $mol_wire_solo\n\t\t// \t\tstatic res( next?: boolean ) {\n\t\t// \t\t\treturn this.left( next ) && this.right()\n\t\t// \t\t}\n\t\t\n\t\t// \t}\n\t\t\t\n\t\t// \t$mol_assert_equal( App.res(), false )\n\t\t// \t$mol_assert_equal( App.res( true ), false )\n\t\t\t\n\t\t// \t$mol_assert_equal( App.right( true ), true )\n\t\t// \t$mol_assert_equal( App.res(), true )\n\t\t\t\n\t\t// } ,\n\t\t\n\t\t// https://github.com/nin-jin/slides/tree/master/reactivity#wish-stability\n\t\t'Different order of pull and push'( $ ) {\n\t\t\n\t\t\tclass App extends $mol_object2 {\n\t\t\n\t\t\t\tstatic $ = $\n\t\t\t\t\n\t\t\t\t@ $mol_wire_solo\n\t\t\t\tstatic store( next = 0 ) {\n\t\t\t\t\treturn next\n\t\t\t\t}\n\t\t\n\t\t\t\t@ $mol_wire_solo\n\t\t\t\tstatic fast( next?: number ) {\n\t\t\t\t\treturn this.store( next )\n\t\t\t\t}\n\t\t\n\t\t\t\t@ $mol_wire_solo\n\t\t\t\tstatic slow( next?: number ) {\n\t\t\t\t\tif( next !== undefined ) this.slow() // enforce pull before push\n\t\t\t\t\treturn this.store( next )\n\t\t\t\t}\n\t\t\n\t\t\t}\n\t\t\t\n\t\t\tApp.fast()\n\t\t\t$mol_assert_equal( App.slow( 666 ), 666 )\n\t\t\t$mol_assert_equal( App.fast(), App.slow(), 666 )\n\t\t\t\n\t\t\tApp.store( 777 )\n\t\t\t$mol_assert_equal( App.fast(), App.slow(), 777 )\n\t\t\t\n\t\t} ,\n\t\t\n\t\t// https://github.com/nin-jin/slides/tree/master/reactivity#wish-stability\n\t\t'Actions inside invariant'( $ ) {\n\t\t\n\t\t\tclass App extends $mol_object2 {\n\t\t\n\t\t\t\tstatic $ = $\n\t\t\t\t\n\t\t\t\t@ $mol_wire_solo\n\t\t\t\tstatic count( next = 0 ) {\n\t\t\t\t\treturn next\n\t\t\t\t}\n\t\t\n\t\t\t\t@ $mol_wire_solo\n\t\t\t\tstatic count2() {\n\t\t\t\t\treturn this.count()\n\t\t\t\t}\n\t\t\n\t\t\t\t@ $mol_wire_solo\n\t\t\t\tstatic res() {\n\t\t\t\t\tconst count = this.count2()\n\t\t\t\t\tif( !count ) this.count( count + 1 )\n\t\t\t\t\treturn count + 1\n\t\t\t\t}\n\t\t\n\t\t\t}\n\t\t\t\n\t\t\t$mol_assert_like( App.res(), 1 )\n\t\t\t\n\t\t\tApp.count( 5 )\n\t\t\t$mol_assert_like( App.res(), 6 )\n\n\t\t} ,\n\t\t\n\t\tasync 'Toggle with async'( $ ) {\n\t\t\n\t\t\tclass App extends $mol_object2 {\n\t\t\n\t\t\t\tstatic $ = $\n\t\t\t\t\n\t\t\t\t@ $mol_wire_solo\n\t\t\t\tstatic checked( next = false ) {\n\t\t\t\t\t$$.$mol_wait_timeout(0)\n\t\t\t\t\treturn next\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t@ $mol_wire_method\n\t\t\t\tstatic toggle() {\n\t\t\t\t\tconst prev = this.checked()\n\t\t\t\t\t$mol_assert_unique( this.checked( !prev ), prev )\n\t\t\t\t\t// $mol_assert_equal( this.checked() , prev )\n\t\t\t\t}\n\t\t\n\t\t\t\t@ $mol_wire_solo\n\t\t\t\tstatic res() {\n\t\t\t\t\treturn this.checked()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t@ $mol_wire_method\n\t\t\t\tstatic test() {\n\t\t\t\t\t\n\t\t\t\t\t$mol_assert_equal( App.res(), false )\n\t\t\t\t\t\n\t\t\t\t\tApp.toggle()\n\t\t\t\t\t$mol_assert_equal( App.res(), true )\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\n\t\t\t}\n\t\t\t\n\t\t\tawait $mol_wire_async( App ).test()\n\t\t\t\n\t\t} ,\n\n\t\t// // https://github.com/nin-jin/slides/tree/master/reactivity#wish-stability\n\t\t// 'Stable order of multiple root'( $ ) {\n\t\t\n\t\t// \tclass App extends $mol_object2 {\n\t\t\n\t\t// \t\tstatic $ = $\n\t\t\t\t\n\t\t// \t\tstatic counter = 0\n\t\t\t\t\n\t\t// \t\t@ $mol_wire_solo\n\t\t// \t\tstatic left_trigger( next = 0 ) {\n\t\t// \t\t\treturn next\n\t\t// \t\t}\n\t\t\n\t\t// \t\t@ $mol_wire_solo\n\t\t// \t\tstatic left_root() {\n\t\t// \t\t\tthis.left_trigger()\n\t\t// \t\t\treturn ++ this.counter\n\t\t// \t\t}\n\t\t\t\t\n\t\t// \t\t@ $mol_wire_solo\n\t\t// \t\tstatic right_trigger( next = 0 ) {\n\t\t// \t\t\treturn next\n\t\t// \t\t}\n\t\t\t\t\n\t\t// \t\t@ $mol_wire_solo\n\t\t// \t\tstatic right_root() {\n\t\t// \t\t\tthis.right_trigger()\n\t\t// \t\t\treturn ++ this.counter\n\t\t// \t\t}\n\t\t\n\t\t// \t}\n\t\t\t\n\t\t// \t$mol_assert_equal( App.left_root(), 1 )\n\t\t// \t$mol_assert_equal( App.right_root(), 2 )\n\t\t\t\n\t\t// \tApp.right_trigger( 1 )\n\t\t// \tApp.left_trigger( 1 )\n\t\t\t\n\t\t// \t$mol_wire_fiber.sync()\n\t\t\t\n\t\t// \t$mol_assert_equal( App.right_root(), 4 )\n\t\t// \t$mol_assert_equal( App.left_root(), 3 )\n\n\t\t// } ,\n\n\t\t// https://github.com/nin-jin/slides/tree/master/reactivity#error-store\n\t\t'Restore after error'( $ ) {\n\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\tstatic get $() { return $ }\n\n\t\t\t\t@ $mol_wire_solo\n\t\t\t\tstatic condition( next = false ) { return next }\n\n\t\t\t\t@ $mol_wire_solo\n\t\t\t\tstatic broken() {\n\t\t\t\t\t\n\t\t\t\t\tif( this.condition() ) {\n\t\t\t\t\t\t$mol_fail( new Error( 'test error' ) )\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\treturn 1\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t@ $mol_wire_solo\n\t\t\t\tstatic result() {\n\t\t\t\t\treturn this.broken()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\n\t\t\t$mol_assert_equal( App.result() , 1 )\n\t\t\t\n\t\t\tApp.condition( true )\n\t\t\t$mol_assert_fail( ()=> App.result(), 'test error' )\n\t\t\t\n\t\t\tApp.condition( false )\n\t\t\t$mol_assert_equal( App.result() , 1 )\n\n\t\t} ,\n\t\n\t\tasync 'Wait for data'($) {\n\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\t\t\t\t\n\t\t\t\tstatic async source() {\n\t\t\t\t\treturn 'Jin'\n\t\t\t\t}\n\n\t\t\t\t@ $mol_wire_solo\n\t\t\t\tstatic middle() {\n\t\t\t\t\treturn $mol_wire_sync( this ).source()\n\t\t\t\t}\n\n\t\t\t\t@ $mol_wire_solo\n\t\t\t\tstatic target() {\n\t\t\t\t\treturn this.middle()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t@ $mol_wire_method\n\t\t\t\tstatic test() {\n\t\t\t\t\t$mol_assert_equal( App.target() , 'Jin' )\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tawait $mol_wire_async( App ).test()\n\t\t},\n\n\t\t'Auto destroy on long alone'( $ ) {\n\n\t\t\tlet destroyed = false\n\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\t\t\t\t\n\t\t\t\t@ $mol_wire_solo\n\t\t\t\tstatic showing( next = true ) {\n\t\t\t\t\treturn next\n\t\t\t\t}\n\n\t\t\t\t@ $mol_wire_solo\n\t\t\t\tstatic details() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tdestructor() {\n\t\t\t\t\t\t\tdestroyed = true\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t@ $mol_wire_solo\n\t\t\t\tstatic render() {\n\t\t\t\t\treturn this.showing() ? this.details() : null\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tconst details = App.render()\n\t\t\t$mol_assert_ok( details )\n\n\t\t\tApp.showing( false )\n\t\t\t$mol_assert_not( App.render() )\n\t\t\t\n\t\t\tApp.showing( true )\n\t\t\t$mol_assert_equal( App.render() , details )\n\t\t\t\n\t\t\t$mol_wire_fiber.sync()\n\t\t\t$mol_assert_not( destroyed )\n\t\t\t\n\t\t\tApp.showing( false )\n\t\t\t$mol_wire_fiber.sync()\n\t\t\t$mol_assert_ok( destroyed )\n\n\t\t\tApp.showing( true )\n\t\t\t$mol_assert_unique( App.render() , details )\n\t\t\t\n\t\t},\n\n\t\t// https://github.com/nin-jin/slides/tree/master/reactivity#wish-stability\n\t\tasync 'Hold pubs while wait async task'($) {\n\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\t\t\t\t\n\t\t\t\tstatic counter = 0\n\t\t\t\t\n\t\t\t\t@ $mol_wire_solo\n\t\t\t\tstatic resets( next?: null ): number {\n\t\t\t\t\treturn ( $mol_wire_probe( ()=> this.resets() ) ?? -1 ) + 1\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tstatic async wait() { }\n\t\t\t\t\n\t\t\t\t@ $mol_wire_solo\n\t\t\t\tstatic value() {\n\t\t\t\t\treturn ++ this.counter\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t@ $mol_wire_solo\n\t\t\t\tstatic result() {\n\t\t\t\t\tif( this.resets() ) $mol_wire_sync( this ).wait()\n\t\t\t\t\treturn this.value()\n\t\t\t\t}\n\n\t\t\t}\n\t\t\t\n\t\t\t$mol_assert_equal( App.result() , 1 )\n\t\t\t\n\t\t\tApp.resets( null )\n\t\t\t$mol_wire_fiber.sync()\n\t\t\t$mol_assert_equal( await $mol_wire_async( App ).result() , 1 )\n\t\t\t\n\t\t},\n\n\t\t'Owned value has js-path name' () {\n\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\t@ $mol_wire_solo\n\t\t\t\tstatic title() {\n\t\t\t\t\treturn new $mol_object2\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\t$mol_assert_equal( `${ App.title() }` , 'App.title<>' )\n\n\t\t} ,\n\n\t\t'Unsubscribe from temp pubs on complete' ($) {\n\n\t\t\tclass Random extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\n\t\t\t\t@ $mol_wire_method\n\t\t\t\tstatic seed() {\n\t\t\t\t\treturn Math.random()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t@ $mol_wire_solo\n\t\t\t\tstatic resets( next?: null ) {\n\t\t\t\t\treturn Math.random()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t@ $mol_wire_solo\n\t\t\t\tstatic value() {\n\t\t\t\t\tthis.resets()\n\t\t\t\t\treturn this.seed()\n\t\t\t\t}\n\n\t\t\t}\n\t\t\t\n\t\t\tconst first = Random.value()\n\t\t\t\n\t\t\tRandom.resets( null )\n\t\t\t$mol_assert_unique( Random.value(), first )\n\n\t\t} ,\n\n\t})\n}\n","namespace $ {\n\t$mol_test({\n\t\t\n\t\tasync 'Error caching' ($) {\n\t\t\tconst next_cached = 123\n\n\t\t\tclass Some extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\n\t\t\t\t@ $mol_wire_plex\n\t\t\t\tstatic data( id: string, next?: unknown): unknown {\n\t\t\t\t\tif (next) return next as never\n\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\t$mol_wire_async(this).data(id, next_cached)\n\t\t\t\t\t}, 10)\n\n\t\t\t\t\t$mol_fail_hidden(new Promise(() => {}))\n\t\t\t\t}\n\n\t\t\t\t@ $mol_wire_method\n\t\t\t\tstatic run() {\n\t\t\t\t\treturn this.data('1')\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tconst val = await $mol_wire_async(Some).run()\n\t\t\t$mol_assert_equal(val, next_cached)\n\t\t} ,\n\n\t\t'Memoize by single simple key' ($) {\n\n\t\t\tclass Team extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\n\t\t\t\t@ $mol_wire_plex\n\t\t\t\tstatic user_name( user: string , next?: string ) {\n\t\t\t\t\treturn next ?? user\n\t\t\t\t}\n\n\t\t\t\t@ $mol_wire_solo\n\t\t\t\tstatic user_names() {\n\t\t\t\t\treturn [\n\t\t\t\t\t\tthis.user_name( 'jin' ),\n\t\t\t\t\t\tthis.user_name( 'john' ),\n\t\t\t\t\t]\n\t\t\t\t}\n\n\t\t\t}\n\t\t\t\n\t\t\t$mol_assert_like( Team.user_names(), [ 'jin', 'john' ] )\n\t\t\t\n\t\t\tTeam.user_name( 'jin', 'JIN' )\n\t\t\t$mol_assert_like( Team.user_names(), [ 'JIN', 'john' ] )\n\n\t\t} ,\n\n\t\t'Memoize by single complex key' ($) {\n\n\t\t\tclass Map extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\n\t\t\t\t@ $mol_wire_plex\n\t\t\t\tstatic tile( pos: [ number, number ] ) {\n\t\t\t\t\treturn new String( `/tile=${pos}` )\n\t\t\t\t}\n\n\t\t\t\t@ $mol_wire_method\n\t\t\t\tstatic test() {\n\t\t\t\t\t\n\t\t\t\t\t$mol_assert_like( this.tile([0,1]), new String( '/tile=0,1' ) )\n\t\t\t\t\t$mol_assert_equal( this.tile([0,1]), this.tile([0,1]) )\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\n\t\t\tMap.test()\n\t\t} ,\n\n\t\t'Owned value has js-path name' () {\n\n\t\t\tclass App extends $mol_object2 {\n\n\t\t\t\t@ $mol_wire_plex\n\t\t\t\tstatic like( friend: number ) {\n\t\t\t\t\treturn new $mol_object2\n\t\t\t\t}\n\n\t\t\t\t@ $mol_wire_plex\n\t\t\t\tstatic relation( [ friend, props ]: [ number, [ number ] ] ) {\n\t\t\t\t\treturn new $mol_object2\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\t$mol_assert_equal( `${ App.like(123) }` , 'App.like<123>' )\n\t\t\t$mol_assert_equal( `${ App.relation([123,[456]]) }` , 'App.relation<[123,[456]]>' )\n\n\t\t} ,\n\n\t\t'Deep deps' ($) {\n\n\t\t\tclass Fib extends $mol_object2 {\n\n\t\t\t\tstatic $ = $\n\t\t\t\t\n\t\t\t\tstatic sums = 0\n\n\t\t\t\t@ $mol_wire_plex\n\t\t\t\tstatic value( index: number , next?: number ): number {\n\t\t\t\t\tif( next ) return next\n\t\t\t\t\tif( index < 2 ) return 1\n\t\t\t\t\t++ this.sums\n\t\t\t\t\treturn this.value( index - 1 ) + this.value( index - 2 )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\t$mol_assert_equal( Fib.value( 4 ), 5 )\n\t\t\t$mol_assert_equal( Fib.sums, 3 )\n\t\t\t\n\t\t\tFib.value( 1, 2 )\n\t\t\t$mol_assert_equal( Fib.value( 4 ), 8 )\n\t\t\t$mol_assert_equal( Fib.sums, 6 )\n\n\t\t} ,\n\n\t})\n}\n","namespace $ {\n\t$mol_test({\n\t\t\n\t\t'Previous value'() {\n\n\t\t\tclass Cache extends $mol_object2 {\n\n\t\t\t\t@ $mol_wire_solo\n\t\t\t\tstatic store( next?: Record< string, number > ): typeof next {\n\t\t\t\t\tif( !next ) return {}\n\t\t\t\t\treturn {\n\t\t\t\t\t\t... $mol_wire_probe( ()=> this.store() ) ?? {},\n\t\t\t\t\t\t... next,\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\t$mol_assert_like( Cache.store(), {} )\n\t\t\t\n\t\t\t$mol_assert_like( Cache.store({ foo: 666 }), { foo: 666 } )\n\t\t\t$mol_assert_like( Cache.store({ bar: 777 }), { foo: 666, bar: 777 } )\n\n\t\t} ,\n\t\t\n\t})\n}\n","namespace $ {\n\n\t$mol_test_mocks.push( $ => {\n\t\t$.$mol_after_frame = $mol_after_mock_commmon as any as typeof $mol_after_frame\n\t})\n\n}\n","/** @jsx $mol_jsx */\nnamespace $ {\n\t$mol_test({\n\t\t\n\t\t'Primitives'() {\n\t\t\t\n\t\t\t$mol_assert_equal( $mol_key( null ), 'null' )\n\t\t\t$mol_assert_equal( $mol_key( false ), 'false' )\n\t\t\t$mol_assert_equal( $mol_key( true ), 'true' )\n\t\t\t$mol_assert_equal( $mol_key( 0 ), '0' )\n\t\t\t$mol_assert_equal( $mol_key( 1n<<64n ), '18446744073709551616n' )\n\t\t\t$mol_assert_equal( $mol_key( '' ), '\"\"' )\n\t\t\t\n\t\t},\n\t\t\n\t\t'Array & POJO'() {\n\t\t\t\n\t\t\t$mol_assert_equal( $mol_key([ null ]), '[null]' )\n\t\t\t$mol_assert_equal( $mol_key({ foo: 0 }), '{\"foo\":0}' )\n\t\t\t$mol_assert_equal( $mol_key({ foo: [false] }), '{\"foo\":[false]}' )\n\t\t\t\n\t\t},\n\t\t\n\t\t'Uint8Array'() {\n\t\t\t\n\t\t\t$mol_assert_equal( $mol_key( new Uint8Array([ 1, 2 ]) ), '[1,2]' )\n\t\t\t$mol_assert_equal( $mol_key([ new Uint8Array([ 1, 2 ]) ]), '[[1,2]]' )\n\t\t\t$mol_assert_equal( $mol_key({ foo: new Uint8Array([ 1, 2 ]) }), '{\"foo\":[1,2]}' )\n\t\t\t\n\t\t},\n\t\t\n\t\t'Function'() {\n\t\t\t\n\t\t\tconst func = ()=> {}\n\t\t\t$mol_assert_equal( $mol_key( func ), $mol_key( func ) )\n\t\t\t$mol_assert_unique( $mol_key( func ), $mol_key( ()=> {} ) )\n\t\t\t\n\t\t},\n\t\t\n\t\t'Objects'() {\n\t\t\t\n\t\t\tclass User {}\n\t\t\tconst jin = new User()\n\t\t\t\n\t\t\t$mol_assert_equal( $mol_key( jin ), $mol_key( jin ) )\n\t\t\t$mol_assert_unique( $mol_key( jin ), $mol_key( new User() ) )\n\t\t\t\n\t\t},\n\t\t\n\t\t'Elements'() {\n\t\t\t\n\t\t\tconst foo = <div>bar</div>\n\t\t\t\n\t\t\t$mol_assert_equal( $mol_key( foo ), $mol_key( foo ) )\n\t\t\t$mol_assert_unique( $mol_key( foo ), $mol_key( <div>bar</div> ) )\n\t\t\t\n\t\t},\n\t\t\n\t\t'Custom JSON representation'() {\n\t\t\t\n\t\t\tclass User {\n\t\t\t\tconstructor( public name: string, public age: number ) {}\n\t\t\t\ttoJSON() { return { name: this.name } }\n\t\t\t}\n\t\t\t\n\t\t\t$mol_assert_equal( $mol_key( new User( 'jin', 18 ) ), '{\"name\":\"jin\"}' )\n\t\t\t\n\t\t},\n\t\t\n\t\t'Special native classes'() {\n\t\t\t\n\t\t\t$mol_assert_equal( $mol_key( new Date( 'xyz' ) ), 'null' )\n\t\t\t$mol_assert_equal( $mol_key( new Date( '2001-01-02T03:04:05.678Z' ) ), '\"2001-01-02T03:04:05.678Z\"' )\n\t\t\t\n\t\t\t$mol_assert_equal( $mol_key( /./ ), '\"/./\"' )\n\t\t\t$mol_assert_equal( $mol_key( /\\./gimsu ), '\"/\\\\\\\\./gimsu\"' )\n\t\t\t\n\t\t},\n\t\t\n\t})\n}\n","namespace $ {\n\t$mol_test({\n\t\t\n\t\t'return result without errors'() {\n\t\t\t\n\t\t\t$mol_assert_equal( $mol_try( ()=> false ) , false )\n\t\t\t\n\t\t} ,\n\t\t\n\t\t//'return error if thrown'() {\n\t\t//\t\n\t\t//\tconst error = new Error( '$mol_try test error' )\n\t\t//\t$mol_assert_equal( $mol_try( ()=> { throw error } ) , error )\n\t\t//\t\n\t\t//} ,\n\t\t\n\t})\t\n}\n","namespace $ {\n\t$mol_test_mocks.push( $=> $.$mol_fail_log = ()=> false )\n}\n\n","namespace $ {\n\t\n\t/** Watch and logs reactive states. Logger automatically added to test bundle which is adding to `test.html`. */\n\texport class $mol_wire_log extends $mol_object2 {\n\t\t\n\t\t@ $mol_mem\n\t\tstatic watch( task?: ()=> any ) {\n\t\t\treturn task\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic track( fiber: $mol_wire_fiber< any, any, any > ) {\n\t\t\t\n\t\t\tconst prev = $mol_wire_probe( ()=> this.track( fiber ) )\n\t\t\tlet next: any\n\t\t\t\n\t\t\ttry {\n\t\t\t\tnext = fiber.sync()\n\t\t\t} finally {\n\t\t\t\t\n\t\t\t\tfor( const pub of fiber.pub_list ) {\n\t\t\t\t\tif( pub instanceof $mol_wire_fiber ) {\n\t\t\t\t\t\tthis.track( pub )\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tif( fiber.host === this ) return next\n\t\t\t\n\t\t\tif( $mol_compare_deep( prev, next ) ) {\n\t\t\t\t\n\t\t\t\tthis.$.$mol_log3_rise({\n\t\t\t\t\tmessage: '💧 Same',\n\t\t\t\t\tplace: fiber,\n\t\t\t\t})\n\t\t\t\t\n\t\t\t} else if( prev !== undefined ) {\n\t\t\t\t\n\t\t\t\tthis.$.$mol_log3_rise({\n\t\t\t\t\tmessage: '🔥 Next',\n\t\t\t\t\tplace: fiber,\n\t\t\t\t\tprev,\n\t\t\t\t})\n\t\t\t\t\n\t\t\t}\n\t\t\n\t\t\treturn next\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tstatic active() {\n\t\t\t\n\t\t\ttry {\n\t\t\t\tthis.watch()?.()\n\t\t\t} catch( error ) {\n\t\t\t\t$mol_fail_log( error )\n\t\t\t} finally {\n\t\t\t\tfor( const pub of ( $mol_wire_auto() as $mol_wire_fiber< any, any, any > ).pub_list ) {\n\t\t\t\t\tif( pub instanceof $mol_wire_fiber ) {\n\t\t\t\t\t\tthis.track( pub )\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\t$mol_wire_log.active()\n\n}\n","namespace $ {\n\n\t/** State of arguments like `#foo=bar/xxx` or `?foo=bar&xxx` */\n\texport class $mol_state_arg extends $mol_object {\n\t\t\n\t\t@ $mol_mem\n\t\tstatic href( next?: string ) {\n\t\t\t\n\t\t\tif( next === undefined ) {\n\t\t\t\t\n\t\t\t\tnext = $mol_dom.location.href\n\t\t\t\t\n\t\t\t} else if( !/^about:srcdoc/.test( next ) ) {\n\t\t\t\t\n\t\t\t\tnew $mol_after_frame( ()=> {\n\t\t\t\t\t\n\t\t\t\t\tconst next = this.href()\n\t\t\t\t\tconst prev = $mol_dom.location.href\n\t\t\t\t\tif( next === prev ) return\n\t\t\t\t\t\n\t\t\t\t\tconst history = $mol_dom.history\n\t\t\t\t\thistory.replaceState( history.state, $mol_dom.document.title, next )\n\t\t\t\t\t\n\t\t\t\t} )\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tif( $mol_dom.parent && ( $mol_dom.parent !== $mol_dom.self ) ) {\n\t\t\t\t$mol_dom.parent.postMessage( [ 'hashchange', next ], '*' )\n\t\t\t}\n\t\t\t\n\t\t\treturn next\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tstatic href_normal(): string {\n\t\t\treturn this.link({})\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tstatic href_absolute(): string {\n\t\t\treturn new URL( this.href(), $mol_dom.location.href ).toString()\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tstatic dict( next? : { [ key : string ] : string | null } ) {\n\t\t\t\n\t\t\tvar href = this.href( next && this.make_link( next ) ).split( /#!?/ )[1] || ''\n\t\t\tvar chunks = href.split( this.separator )\n\t\t\t\n\t\t\tvar params : { [ key : string ] : string } = {}\n\t\t\tchunks.forEach(\n\t\t\t\tchunk => {\n\t\t\t\t\tif( !chunk ) return\n\t\t\t\t\tvar vals = chunk.split( '=' ).map( decodeURIComponent )\n\t\t\t\t\tparams[ vals.shift()! ] = vals.join( '=' )\n\t\t\t\t}\n\t\t\t)\n\t\t\t\n\t\t\treturn params as Readonly< typeof params >\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tstatic dict_cut( except : string[] ) {\n\t\t\t\n\t\t\tconst dict = this.dict()\n\t\t\tconst cut : { [ key : string ] : string } = {}\n\t\t\t\n\t\t\tfor( const key in dict ) {\n\t\t\t\tif( except.indexOf( key ) >= 0 ) break\n\t\t\t\tcut[ key ] = dict[ key ]\n\t\t\t}\n\t\t\t\n\t\t\treturn cut\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic value( key : string , next? : string | null ) {\n\t\t\tconst nextDict = ( next === void 0 ) ? void 0 : { ... this.dict() , [ key ] : next }\n\t\t\tconst next2 = this.dict( nextDict )[ key ]\n\t\t\treturn ( next2 == null ) ? null : next2\n\t\t}\n\t\t\n\t\tstatic link( next : Record<string, string | null> ) {\n\t\t\treturn this.make_link({\n\t\t\t\t... this.dict_cut( Object.keys( next ) ),\n\t\t\t\t... next,\n\t\t\t})\n\t\t}\n\t\t\n\t\tstatic prolog = '!'\n\t\tstatic separator = '/'\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic make_link( next : { [ key : string ] : string | null } ) {\n\t\t\tconst chunks : string[] = []\n\t\t\tfor( let key in next ) {\n\t\t\t\tif( null == next[ key ] ) continue\n\t\t\t\tconst val = next[ key ]\n\t\t\t\tchunks.push( [ key ].concat( val ? [ val ] : [] ).map( this.encode ).join( '=' ) )\n\t\t\t}\n\t\t\t\n\t\t\treturn new URL( '#' + this.prolog + chunks.join( this.separator ) , this.href_absolute() ).toString()\n\t\t}\n\n\t\t@ $mol_action\n\t\tstatic commit() {\n\t\t\t$mol_dom.history.pushState(\n\t\t\t\t$mol_dom.history.state,\n\t\t\t\t$mol_dom.document.title,\n\t\t\t\tthis.href(),\n\t\t\t)\n\t\t}\n\t\t\n\n\t\t@ $mol_action\n\t\tstatic go( next : { [ key : string ] : string | null } ) {\n\t\t\t$mol_dom.location.href = this.link( next )\n\t\t}\n\t\t\n\t\tstatic encode( str : string ) {\n\t\t\treturn encodeURIComponent( str ).replace( /\\(/g , '%28' ).replace( /\\)/g , '%29' )\n\t\t}\n\t\t\n\t\tconstructor( public prefix = '' ) {\n\t\t\tsuper()\n\t\t}\n\t\t\n\t\tvalue( key : string , next? : string ) {\n\t\t\treturn ( this.constructor as typeof $mol_state_arg ).value( this.prefix + key , next )\n\t\t}\n\t\t\n\t\tsub( postfix : string ) {\n\t\t\treturn new ( this.constructor as typeof $mol_state_arg )( this.prefix + postfix + '.' )\n\t\t}\n\t\t\n\t\tlink( next : Record<string, string | null> ) {\n\t\t\tvar prefix = this.prefix\n\t\t\tvar dict : typeof next = {}\n\t\t\tfor( var key in next ) {\n\t\t\t\tdict[ prefix + key ] = next[ key ]\n\t\t\t}\n\t\t\treturn ( this.constructor as typeof $mol_state_arg ).link( dict )\n\t\t}\n\t\t\n\t}\n\n\tfunction $mol_state_arg_change( ) {\n\t\t$mol_state_arg.href( $mol_dom.location.href )\n\t}\n\n\tself.addEventListener( 'hashchange' , $mol_state_arg_change )\n\t\n}\n","namespace $ {\n\n\t$mol_test_mocks.push( context => {\n\t\tclass $mol_state_arg_mock extends $mol_state_arg {\n\n\t\t\tstatic $ = context\n\t\t\t\t\t\t\n\t\t\t@ $mol_mem\n\t\t\tstatic href( next? : string ) { return next || '' }\n\t\n\t\t\t@ $mol_action\n\t\t\tstatic go( next : { [ key : string ] : string | null } ) {\n\t\t\t\tthis.href( this.link( next ) )\n\t\t\t}\n\n\t\t}\n\t\tcontext.$mol_state_arg = $mol_state_arg_mock\n\t} )\n\n\t$mol_test({\n\t\t\n\t\t'args as dictionary'( $ ) {\n\t\t\t\n\t\t\t$.$mol_state_arg.href( '#!foo=bar/xxx' )\n\t\t\t$mol_assert_equal( $.$mol_state_arg.dict() , { foo : 'bar' , xxx : '' } )\n\n\t\t\t$.$mol_state_arg.dict({ foo : null , yyy : '' , lol : '123' })\n\t\t\t$mol_assert_equal( $.$mol_state_arg.href().replace( /.*#/ , '#' ) , '#!yyy/lol=123' )\n\n\t\t} ,\n\n\t\t'one value from args'( $ ) {\n\t\t\t\n\t\t\t$.$mol_state_arg.href( '#!foo=bar/xxx' )\n\t\t\t$mol_assert_equal( $.$mol_state_arg.value( 'foo' ) , 'bar' )\n\t\t\t$mol_assert_equal( $.$mol_state_arg.value( 'xxx' ) , '' )\n\n\t\t\t$.$mol_state_arg.value( 'foo' , 'lol' )\n\t\t\t$mol_assert_equal( $.$mol_state_arg.href().replace( /.*#/ , '#' ) , '#!foo=lol/xxx' )\n\n\t\t\t$.$mol_state_arg.value( 'foo' , '' )\n\t\t\t$mol_assert_equal( $.$mol_state_arg.href().replace( /.*#/ , '#' ) , '#!foo/xxx' )\n\n\t\t\t$.$mol_state_arg.value( 'foo' , null )\n\t\t\t$mol_assert_equal( $.$mol_state_arg.href().replace( /.*#/ , '#' ) , '#!xxx' )\n\n\t\t} ,\n\n\t\t'nested args'( $ ) {\n\n\t\t\tconst base = new $.$mol_state_arg( 'nested.' )\n\n\t\t\tclass Nested extends $mol_state_arg {\n\t\t\t\tconstructor( prefix : string ) {\n\t\t\t\t\tsuper( base.prefix + prefix )\n\t\t\t\t}\n\t\t\t\tstatic value = ( key : string , next? : string )=> base.value( key , next )\n\t\t\t}\n\t\t\t\n\t\t\t$.$mol_state_arg.href( '#!foo=bar/nested.xxx=123' )\n\t\t\t$mol_assert_equal( Nested.value( 'foo' ) , null )\n\t\t\t$mol_assert_equal( Nested.value( 'xxx' ) , '123' )\n\n\t\t\tNested.value( 'foo' , 'lol' )\n\t\t\t$mol_assert_equal( $.$mol_state_arg.href().replace( /.*#/ , '#' ) , '#!foo=bar/nested.xxx=123/nested.foo=lol' )\n\n\t\t} ,\n\n\t})\n\t\n}\n","namespace $ {\n\t\n\texport class $mol_media extends $mol_object2 {\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic match( query: string, next?: boolean ) {\n\t\t\t\n\t\t\tif( next !== undefined ) return next\n\t\t\t\n\t\t\tconst res = this.$.$mol_dom_context.matchMedia?.( query ) ?? {}\n\t\t\tres.onchange = ()=> this.match( query, res.matches )\n\t\t\t\n\t\t\treturn res.matches\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t$mol_test( {\n\t\t\n\t\t'local get set delete'() {\n\t\t\t\t\t\n\t\t\tvar key = '$mol_state_local_test:' + Math.random()\n\t\t\t$mol_assert_equal( $mol_state_local.value( key ) , null )\n\t\t\t\n\t\t\t$mol_state_local.value( key , 123 )\n\t\t\t$mol_assert_equal( $mol_state_local.value( key ) , 123 )\n\t\t\t\n\t\t\t$mol_state_local.value( key , null )\n\t\t\t$mol_assert_equal( $mol_state_local.value( key ) , null )\n\t\t} ,\n\t\t\n\t} )\n}\n","namespace $ {\n\n\t$mol_test_mocks.push( context => {\n\t\tclass $mol_state_local_mock< Value > extends $mol_state_local< Value > {\n\n\t\t\tstatic state = {} as Record< string , any >\n\t\t\t\t\t\t\n\t\t\t@ $mol_mem_key\n\t\t\tstatic value< Value >(\n\t\t\t\tkey : string ,\n\t\t\t\tnext = this.state[ key ] as Value ,\n\t\t\t) {\n\t\t\t\treturn this.state[ key ] = ( next || null )\n\t\t\t}\n\n\t\t}\n\t\tcontext.$mol_state_local = $mol_state_local_mock\n\t} )\n\t\n}\n","namespace $ {\n\t\n\tfunction parse( theme: string | null ) {\n\t\tif( theme === 'true' ) return true\n\t\tif( theme === 'false' ) return false\n\t\treturn null\n\t}\n\t\n\t/**\n\t * Switcher between light/dark themes (usually for `mol_theme_auto` plugin).\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_lights_demo\n\t */\n\texport function $mol_lights( this : $ , next? : boolean ) {\n\t\t\n\t\tconst arg = parse( this.$mol_state_arg.value( 'mol_lights' ) )\n\t\t\n\t\tconst base = this.$mol_media.match( '(prefers-color-scheme: light)' )\n\t\t\n\t\tif( next === undefined ) {\n\t\t\treturn arg ?? this.$mol_state_local.value< boolean >( '$mol_lights' ) ?? base\n\t\t} else {\n\t\t\tif( arg === null ) {\n\t\t\t\tthis.$mol_state_local.value( '$mol_lights' , next === base ? null : next )\n\t\t\t} else {\n\t\t\t\tthis.$mol_state_arg.value( 'mol_lights' , String( next ) )\n\t\t\t}\n\t\t\treturn next\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\n\t/**\n\t * Theme css variables\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_textarea_demo\n\t */\t\n\texport const $mol_theme = $mol_style_prop(\n\t\t'mol_theme',\n\t\t[\n\t\t\t'back',\n\t\t\t'hover',\n\t\t\t'card',\n\t\t\t'current',\n\t\t\t'special',\n\t\t\t'text',\n\t\t\t'control',\n\t\t\t'shade',\n\t\t\t'line',\n\t\t\t'focus',\n\t\t\t'field',\n\t\t\t'image',\n\t\t\t'spirit',\n\t\t] as const\n\t)\n\n}\n","namespace $ { $mol_style_attach( \"mol/theme/theme.css\",\n \":root {\\n\\t--mol_theme_hue: 240deg;\\n\\t--mol_theme_hue_spread: 90deg;\\n\\tcolor-scheme: dark light;\\n}\\n\\n:where([mol_theme]) {\\n\\tcolor: var(--mol_theme_text);\\n\\tfill: var(--mol_theme_text);\\n\\tbackground-color: var(--mol_theme_back);\\n}\\n\\t\\n:root, [mol_theme=\\\"$mol_theme_dark\\\"], :where([mol_theme=\\\"$mol_theme_dark\\\"]) [mol_theme] {\\n\\n\\t--mol_theme_luma: -1;\\n\\t--mol_theme_image: invert(1) hue-rotate( 180deg );\\n\\t--mol_theme_spirit: hsl( 0deg, 0%, 0%, .75 );\\n\\n\\t--mol_theme_back: hsl( var(--mol_theme_hue), 20%, 10% );\\n\\t--mol_theme_card: hsl( var(--mol_theme_hue), 50%, 20%, .25 );\\n\\t--mol_theme_field: hsl( var(--mol_theme_hue), 50%, 8%, .25 );\\n\\t--mol_theme_hover: hsl( var(--mol_theme_hue), 0%, 50%, .1 );\\n\\t\\n\\t--mol_theme_text: hsl( var(--mol_theme_hue), 0%, 80% );\\n\\t--mol_theme_shade: hsl( var(--mol_theme_hue), 0%, 60%, 1 );\\n\\t--mol_theme_line: hsl( var(--mol_theme_hue), 0%, 50%, .25 );\\n\\t--mol_theme_focus: hsl( calc( var(--mol_theme_hue) + 180deg ), 100%, 65% );\\n\\t\\n\\t--mol_theme_control: hsl( var(--mol_theme_hue), 60%, 65% );\\n\\t--mol_theme_current: hsl( calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ), 60%, 65% );\\n\\t--mol_theme_special: hsl( calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ), 60%, 65% );\\n\\n} @supports( color: oklch( 0% 0 0deg ) ) {\\n:root, [mol_theme=\\\"$mol_theme_dark\\\"], :where([mol_theme=\\\"$mol_theme_dark\\\"]) [mol_theme] {\\n\\t\\n\\t--mol_theme_back: oklch( 20% .03 var(--mol_theme_hue) );\\n\\t--mol_theme_card: oklch( 30% .05 var(--mol_theme_hue) / .25 );\\n\\t--mol_theme_field: oklch( 15% 0 var(--mol_theme_hue) / .25 );\\n\\t--mol_theme_hover: oklch( 70% 0 var(--mol_theme_hue) / .1 );\\n\\t\\n\\t--mol_theme_text: oklch( 80% 0 var(--mol_theme_hue) );\\n\\t--mol_theme_shade: oklch( 60% 0 var(--mol_theme_hue) );\\n\\t--mol_theme_line: oklch( 60% 0 var(--mol_theme_hue) / .25 );\\n\\t--mol_theme_focus: oklch( 80% .2 calc( var(--mol_theme_hue) + 180deg ) );\\n\\t\\n\\t--mol_theme_control: oklch( 70% .1 var(--mol_theme_hue) );\\n\\t--mol_theme_current: oklch( 70% .2 calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ) );\\n\\t--mol_theme_special: oklch( 70% .2 calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ) );\\n\\n} }\\n\\n[mol_theme=\\\"$mol_theme_light\\\"], :where([mol_theme=\\\"$mol_theme_light\\\"]) [mol_theme] {\\n\\t\\n\\t--mol_theme_luma: 1;\\n\\t--mol_theme_image: none;\\n\\t--mol_theme_spirit: hsl( 0deg, 0%, 100%, .75 );\\n\\t\\n\\t--mol_theme_back: hsl( var(--mol_theme_hue), 20%, 92% );\\n\\t--mol_theme_card: hsl( var(--mol_theme_hue), 50%, 100%, .5 );\\n\\t--mol_theme_field: hsl( var(--mol_theme_hue), 50%, 100%, .75 );\\n\\t--mol_theme_hover: hsl( var(--mol_theme_hue), 0%, 50%, .1 );\\n\\t\\n\\t--mol_theme_text: hsl( var(--mol_theme_hue), 0%, 0% );\\n\\t--mol_theme_shade: hsl( var(--mol_theme_hue), 0%, 40%, 1 );\\n\\t--mol_theme_line: hsl( var(--mol_theme_hue), 0%, 50%, .25 );\\n\\t--mol_theme_focus: hsl( calc( var(--mol_theme_hue) + 180deg ), 100%, 40% );\\n\\t\\n\\t--mol_theme_control: hsl( var(--mol_theme_hue), 80%, 30% );\\n\\t--mol_theme_current: hsl( calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ), 80%, 30% );\\n\\t--mol_theme_special: hsl( calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ), 80%, 30% );\\n\\n} @supports( color: oklch( 0% 0 0deg ) ) {\\n[mol_theme=\\\"$mol_theme_light\\\"], :where([mol_theme=\\\"$mol_theme_light\\\"]) [mol_theme] {\\n\\t--mol_theme_back: oklch( 92% .01 var(--mol_theme_hue) );\\n\\t--mol_theme_card: oklch( 99% .01 var(--mol_theme_hue) / .5 );\\n\\t--mol_theme_field: oklch( 100% 0 var(--mol_theme_hue) / .5 );\\n\\t--mol_theme_hover: oklch( 50% 0 var(--mol_theme_hue) / .1 );\\n\\t\\n\\t--mol_theme_text: oklch( 20% 0 var(--mol_theme_hue) );\\n\\t--mol_theme_shade: oklch( 60% 0 var(--mol_theme_hue) );\\n\\t--mol_theme_line: oklch( 50% 0 var(--mol_theme_hue) / .25 );\\n\\t--mol_theme_focus: oklch( 60% .2 calc( var(--mol_theme_hue) + 180deg ) );\\n\\t\\n\\t--mol_theme_control: oklch( 40% .15 var(--mol_theme_hue) );\\n\\t--mol_theme_current: oklch( 50% .2 calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ) );\\n\\t--mol_theme_special: oklch( 50% .2 calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ) );\\n\\n} }\\n\\n:where( :root, [mol_theme=\\\"$mol_theme_dark\\\"] ) [mol_theme=\\\"$mol_theme_base\\\"] {\\n\\t--mol_theme_back: oklch( 25% .075 var(--mol_theme_hue) );\\n\\t--mol_theme_card: oklch( 35% .1 var(--mol_theme_hue) / .25 );\\n}\\n:where( [mol_theme=\\\"$mol_theme_light\\\"] ) [mol_theme=\\\"$mol_theme_base\\\"] {\\n\\t--mol_theme_back: oklch( 85% .075 var(--mol_theme_hue) );\\n\\t--mol_theme_card: oklch( 98% .03 var(--mol_theme_hue) / .25 );\\n}\\n\\n:where( :root, [mol_theme=\\\"$mol_theme_dark\\\"] ) [mol_theme=\\\"$mol_theme_current\\\"] {\\n\\t--mol_theme_back: oklch( 25% .05 calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ) );\\n\\t--mol_theme_card: oklch( 35% .1 calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ) / .25 );\\n}\\n:where( [mol_theme=\\\"$mol_theme_light\\\"] ) [mol_theme=\\\"$mol_theme_current\\\"] {\\n\\t--mol_theme_back: oklch( 85% .05 calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ) );\\n\\t--mol_theme_card: oklch( 98% .03 calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ) / .25 );\\n}\\n\\n:where( :root, [mol_theme=\\\"$mol_theme_dark\\\"] ) [mol_theme=\\\"$mol_theme_special\\\"] {\\n\\t--mol_theme_back: oklch( 25% .05 calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ) );\\n\\t--mol_theme_card: oklch( 35% .1 calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ) / .25 );\\n}\\n:where( [mol_theme=\\\"$mol_theme_light\\\"] ) [mol_theme=\\\"$mol_theme_special\\\"] {\\n\\t--mol_theme_back: oklch( 85% .05 calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ) );\\n\\t--mol_theme_card: oklch( 98% .03 calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ) / .25 );\\n}\\n\\n:where( :root, [mol_theme=\\\"$mol_theme_dark\\\"] ) [mol_theme=\\\"$mol_theme_accent\\\"] {\\n\\t--mol_theme_back: oklch( 35% .1 calc( var(--mol_theme_hue) + 180deg ) );\\n\\t--mol_theme_card: oklch( 45% .15 calc( var(--mol_theme_hue) + 180deg ) / .25 );\\n}\\n:where( [mol_theme=\\\"$mol_theme_light\\\"] ) [mol_theme=\\\"$mol_theme_accent\\\"] {\\n\\t--mol_theme_back: oklch( 83% .1 calc( var(--mol_theme_hue) + 180deg ) );\\n\\t--mol_theme_card: oklch( 98% .03 calc( var(--mol_theme_hue) + 180deg ) / .25 );\\n}\\n\\n\"\n) }","namespace $ {\n\t$mol_style_attach( '$mol_theme_lights', `:root { --mol_theme_back: oklch( ${ $$.$mol_lights() ? 92 : 20 }% .01 var(--mol_theme_hue) ) }` )\n}\n","namespace $ {\n\n\t/**\n\t * Gap in CSS\n\t * @see https://page.hyoo.ru/#!=msdb74_bm7nsq\n\t */\n\texport let $mol_gap = $mol_style_prop(\n\t\t'mol_gap',\n\t\t[\n\t\t\t'block',\n\t\t\t'text',\n\t\t\t'round',\n\t\t\t'space',\n\t\t\t'blur',\n\t\t] as const\n\t)\n\n}\n","namespace $ { $mol_style_attach( \"mol/gap/gap.css\",\n \":root {\\n\\t--mol_gap_block: .75rem;\\n\\t--mol_gap_text: .5rem .75rem;\\n\\t--mol_gap_round: .25rem;\\n\\t--mol_gap_space: .25rem;\\n\\t--mol_gap_blur: .5rem;\\n}\\n\"\n) }","namespace $ {\n\t\n\texport class $mol_window extends $mol_object {\n\t\t\n\t\t@ $mol_mem\n\t\tstatic size() {\n\t\t\tthis.resizes()\n\t\t\treturn {\n\t\t\t\twidth: self.innerWidth,\n\t\t\t\theight: self.innerHeight,\n\t\t\t}\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tstatic resizes( next?: Event ) { return next }\n\t\t\n\t}\n\n\tself.addEventListener( 'resize', event => $mol_window.resizes( event ) )\n\t\n}\n","namespace $ {\n\t\n\texport class $mol_view_selection extends $mol_object {\n\t\t\n\t\t@ $mol_mem\n\t\tstatic focused( next? : Element[], notify?: 'notify' ) : Element[] {\n\t\t\t\n\t\t\tconst parents : Element[] = []\n\t\t\tlet element = next?.[0] ?? $mol_dom_context.document.activeElement\n\t\t\twhile( element?.shadowRoot ) {\n\t\t\t\telement = element!.shadowRoot.activeElement\n\t\t\t}\n\t\t\t\n\t\t\twhile( element ) {\n\t\t\t\tparents.push( element )\n\t\t\t\tconst parent = element.parentNode\n\t\t\t\tif( parent instanceof ShadowRoot ) element = parent.host\n\t\t\t\telse element = parent as HTMLElement\n\t\t\t}\n\t\t\t\n\t\t\tif( !next || notify ) return parents\n\t\t\t\n\t\t\tnew $mol_after_tick( ()=> {\n\t\t\t\t\n\t\t\t\tconst element = this.focused()![0] as HTMLElement\n\t\t\t\t\n\t\t\t\tif( element ) element.focus()\n\t\t\t\telse $mol_dom_context.blur()\n\t\t\t\t\n\t\t\t} )\n\n\t\t\treturn parents\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t/**\n\t* Key names code for hotkey\n\t* @see [mol_hotkey](../../hotkey/hotkey.view.ts)\n\t*/\n\texport enum $mol_keyboard_code {\n\t\tbackspace = 8,\n\t\ttab = 9,\n\t\tenter = 13,\n\t\tshift = 16,\n\t\tctrl = 17,\n\t\talt = 18,\n\t\tpause = 19,\n\t\tcapsLock = 20,\n\t\tescape = 27,\n\t\tspace = 32,\n\t\tpageUp = 33,\n\t\tpageDown = 34,\n\t\tend = 35,\n\t\thome = 36,\n\t\tleft = 37,\n\t\tup = 38,\n\t\tright = 39,\n\t\tdown = 40,\n\t\tinsert = 45,\n\t\tdelete = 46,\n\t\tkey0 = 48,\n\t\tkey1 = 49,\n\t\tkey2 = 50,\n\t\tkey3 = 51,\n\t\tkey4 = 52,\n\t\tkey5 = 53,\n\t\tkey6 = 54,\n\t\tkey7 = 55,\n\t\tkey8 = 56,\n\t\tkey9 = 57,\n\t\tA = 65,\n\t\tB = 66,\n\t\tC = 67,\n\t\tD = 68,\n\t\tE = 69,\n\t\tF = 70,\n\t\tG = 71,\n\t\tH = 72,\n\t\tI = 73,\n\t\tJ = 74,\n\t\tK = 75,\n\t\tL = 76,\n\t\tM = 77,\n\t\tN = 78,\n\t\tO = 79,\n\t\tP = 80,\n\t\tQ = 81,\n\t\tR = 82,\n\t\tS = 83,\n\t\tT = 84,\n\t\tU = 85,\n\t\tV = 86,\n\t\tW = 87,\n\t\tX = 88,\n\t\tY = 89,\n\t\tZ = 90,\n\t\tmetaLeft = 91,\n\t\tmetaRight = 92,\n\t\tselect = 93,\n\t\tnumpad0 = 96,\n\t\tnumpad1 = 97,\n\t\tnumpad2 = 98,\n\t\tnumpad3 = 99,\n\t\tnumpad4 = 100,\n\t\tnumpad5 = 101,\n\t\tnumpad6 = 102,\n\t\tnumpad7 = 103,\n\t\tnumpad8 = 104,\n\t\tnumpad9 = 105,\n\t\tmultiply = 106,\n\t\tadd = 107,\n\t\tsubtract = 109,\n\t\tdecimal = 110,\n\t\tdivide = 111,\n\t\tF1 = 112,\n\t\tF2 = 113,\n\t\tF3 = 114,\n\t\tF4 = 115,\n\t\tF5 = 116,\n\t\tF6 = 117,\n\t\tF7 = 118,\n\t\tF8 = 119,\n\t\tF9 = 120,\n\t\tF10 = 121,\n\t\tF11 = 122,\n\t\tF12 = 123,\n\t\tnumLock = 144,\n\t\tscrollLock = 145,\n\t\tsemicolon = 186,\n\t\tequals = 187,\n\t\tcomma = 188,\n\t\tdash = 189,\n\t\tperiod = 190,\n\t\tforwardSlash = 191,\n\t\tgraveAccent = 192,\n\t\tbracketOpen = 219,\n\t\tslashBack = 220,\n\t\tslashBackLeft = 226,\n\t\tbracketClose = 221,\n\t\tquoteSingle = 222\n\t}\n}\n","namespace $ {\n\t\n\tif( $mol_dom_context.document ) {\n\t\t\n\t\tfunction focus( event: Event ) {\n\t\t\t\n\t\t\tconst target = event.target as HTMLElement\n\t\t\t\n\t\t\tif( target?.shadowRoot ) watch( target!.shadowRoot )\n\t\t\t\n\t\t\t$mol_view_selection.focused( $mol_maybe( target ), 'notify' )\n\t\t\t\n\t\t}\n\t\t\n\t\tfunction watch( root: Document | ShadowRoot ) {\n\t\t\t\n\t\t\t\n\t\t\troot.removeEventListener( 'focus', focus, true )\n\t\t\troot.addEventListener( 'focus', focus, true )\n\t\t\t\n\t\t}\n\t\t\n\t\twatch( $mol_dom_context.document )\n\t\t\n\t\t$mol_dom.document.addEventListener( 'keydown', event => {\n\t\t\t\n\t\t\tif( !event.altKey ) return\n\t\t\t\n\t\t\tconst self = $mol_view_selection.focused()[0]\n\t\t\tif( !self ) return\n\t\t\t\n\t\t\tswitch( event.keyCode ) {\n\t\t\t\tcase $mol_keyboard_code.down: var vert = 1, hor = 0; break\n\t\t\t\tcase $mol_keyboard_code.up: var vert = -1, hor = 0; break\n\t\t\t\tcase $mol_keyboard_code.left: var hor = -1, vert = 0; break\n\t\t\t\tcase $mol_keyboard_code.right: var hor = 1, vert = 0; break\n\t\t\t\tdefault: return\n\t\t\t}\n\t\t\t\n\t\t\tevent.preventDefault()\n\t\t\t\n\t\t\tconst self_rect = self.getBoundingClientRect()\n\t\t\tconst center_hor = ( self_rect.left + self_rect.right ) / 2\n\t\t\tconst center_vert = ( self_rect.top + self_rect.bottom ) / 2\n\t\t\t\n\t\t\tconst all = [ ... $mol_dom.document.querySelectorAll( ':where( [role=\"button\"], [role=\"checkbox\"], input, button, a ):not([disabled])' ) ]\n\t\t\t\t.map( el => {\n\t\t\t\t\tconst rect = el.getBoundingClientRect()\n\t\t\t\t\tconst dist = ( Math.max( 0, center_hor - rect.right ) + Math.max( 0, rect.left - center_hor ) ) * vert * vert\n\t\t\t\t\t\t+ ( Math.max( 0, center_vert - rect.bottom ) + Math.max( 0, rect.top - center_vert ) ) * hor * hor\n\t\t\t\t\treturn [ el, rect, dist ] as const\n\t\t\t\t} )\n\t\t\t\t.filter( ([ el, rect ])=> {\n\t\t\t\t\tif( el === self ) return false\n\t\t\t\t\tif( vert > 0 && rect.top < self_rect.bottom ) return false\n\t\t\t\t\tif( vert < 0 && rect.bottom > self_rect.top ) return false\n\t\t\t\t\tif( hor > 0 && rect.left < self_rect.right ) return false\n\t\t\t\t\tif( hor < 0 && rect.right > self_rect.left ) return false\n\t\t\t\t\treturn true\n\t\t\t\t} )\n\t\t\t\t.sort( ( [, one, dist1 ], [, two, dist2 ] )=> {\n\t\t\t\t\treturn ( dist1 - dist2 ) || ( ( one.top - two.top ) * vert + ( one.left - two.left ) * hor )\n\t\t\t\t} )\n\t\t\t\n\t\t\tconst target = all[0]?.[0] as HTMLElement | undefined\n\t\t\ttarget?.focus()\n\t\t\t\n\t\t} )\n\n\t}\n\t\n}\n","namespace $ {\n\n\texport class $mol_wrapper extends $mol_object2 {\n\n\t\tstatic wrap : ( task : ( ... ags : any[] )=> any )=> ( ... ags : any[] )=> any\n\t\t\n\t\tstatic run< Result >( task : ()=> Result ) : Result {\n\t\t\treturn this.func( task )()\n\t\t}\n\t\n\t\tstatic func< Args extends any[] , Result , Host = void >(\n\t\t\tfunc : ( this : Host , ... args : Args )=> Result\n\t\t) : ( this : Host , ... args : Args )=> Result {\n\t\t\treturn this.wrap( func )\n\t\t}\n\n\t\tstatic get class() {\n\n\t\t\treturn < Class extends new ( ... args : any[] )=> any >(\n\t\t\t\tClass : Class\n\t\t\t) => {\n\n\t\t\t\ttype Args = ConstructorParameters< Class >\n\t\t\t\ttype Result = InstanceType< Class >\n\n\t\t\t\tconst construct = ( target : Class , args : Args )=> new Class( ... args )\n\n\t\t\t\tconst handler: ProxyHandler<Class> = {\n\t\t\t\t\tconstruct : this.func( construct )\n\t\t\t\t} \n\n\t\t\t\t;(handler as any)[ Symbol.toStringTag ] = Class.name + '#'\n\n\t\t\t\treturn new Proxy( Class , handler )\n\t\t\t\t\n\t\t\t}\n\n\t\t}\n\n\t\tstatic get method() {\n\t\t\t\n\t\t\treturn (\n\t\t\t\tobj : object,\n\t\t\t\tname : PropertyKey,\n\t\t\t\tdescr = Reflect.getOwnPropertyDescriptor( obj, name )!,\n\t\t\t) => {\n\t\t\t\tdescr.value = this.func( descr.value! )\n\t\t\t\treturn descr\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\tstatic get field() {\n\t\t\t\n\t\t\treturn <\n\t\t\t\tHost extends object ,\n\t\t\t\tField extends keyof Host ,\n\t\t\t\tArgs extends any[] ,\n\t\t\t\tResult ,\n\t\t\t>(\n\t\t\t\tobj : Host ,\n\t\t\t\tname : Field ,\n\t\t\t\tdescr = Reflect.getOwnPropertyDescriptor( obj, name )! as TypedPropertyDescriptor< Result >\n\t\t\t) => {\n\t\t\t\tdescr.get = descr.set = this.func( descr.get! )\n\t\t\t\treturn descr\n\t\t\t}\n\t\t\t\n\t\t}\n\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\texport class $mol_memo extends $mol_wrapper {\n\t\t\n\t\tstatic wrap< This extends object , Value >( task : ( this : This , next? : Value )=> Value ) {\n\n\t\t\tconst store = new WeakMap< This , Value >()\n\n\t\t\tconst fun = function( this : This , next? : Value ) {\n\n\t\t\t\tif( next === undefined && store.has( this ) ) return store.get( this )\n\t\t\t\t\n\t\t\t\tconst val = task.call( this , next ) ?? next\n\t\t\t\t\n\t\t\t\tstore.set( this , val! )\n\t\t\t\t\n\t\t\t\treturn val\n\n\t\t\t}\n\n\t\t\tReflect.defineProperty( fun , 'name' , { value : task.name + ' ' } )\n\n\t\t\treturn fun\n\t\t}\n\t\t\n\t}\n\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\texport function $mol_dom_qname( name : string ) {\n\t\treturn name.replace( /\\W/g , '' ).replace( /^(?=\\d+)/ , '_' )\n\t}\n\n}\n","namespace $ {\n\t\n\t/**\n\t * Real-time refresh current atom.\n\t * Don't use if possible. May reduce performance.\n\t */\n\texport function $mol_wire_watch() {\n\t\tconst atom = $mol_wire_auto()\n\t\tif( atom instanceof $mol_wire_atom ) {\n\t\t\tatom.watch()\n\t\t} else {\n\t\t\t$mol_fail( new Error( 'Atom is required for watching' ) )\n\t\t}\n\t}\n\t\n}\n","namespace $ {\n\t$mol_test( { \n\t\t\n\t\t'const returns stored value'() {\n\t\t\n\t\t\tconst foo = { bar : $mol_const( Math.random() ) }\n\t\t\t\n\t\t\t$mol_assert_equal( foo.bar() , foo.bar() )\n\t\t\t$mol_assert_equal( foo.bar() , foo.bar['()'] )\n\t\t\t\n\t\t} ,\n\n\t} )\n}\n","namespace $ {\n\t\n\texport function $mol_dom_render_attributes (\n\t\tel : Element ,\n\t\tattrs : { [ key : string ] : string|number|boolean|null }\n\t) {\n\n\t\tfor( let name in attrs ) {\n\n\t\t\tlet val = attrs[ name ] as any\n\n\t\t\tif( val === undefined ) {\n\t\t\t\t\n\t\t\t\tcontinue\n\t\t\t\t\n\t\t\t} else if( val === null || val === false ) {\n\n\t\t\t\tif( !el.hasAttribute( name ) ) continue\n\t\t\t\t\n\t\t\t\tel.removeAttribute( name )\n\n\t\t\t} else {\n\t\t\t\t\n\t\t\t\tconst str = String( val )\n\t\t\t\tif( el.getAttribute( name ) === str ) continue\n\t\t\t\t\n\t\t\t\tel.setAttribute( name , str )\n\n\t\t\t}\n\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\t\n\texport function $mol_dom_render_events (\n\t\tel : Element ,\n\t\tevents : { [ key : string ] : ( event : Event )=> any },\n\t\tpassive = false\n\t) {\n\t\tfor( let name in events ) {\n\t\t\tel.addEventListener( name , events[ name ] , { passive } )\n\t\t}\n\t}\n\n}\n","namespace $ {\n\t\n\texport function $mol_dom_render_styles (\n\t\tel : Element ,\n\t\tstyles : { [ key : string ] : string|number }\n\t) {\n\t\tfor( let name in styles ) {\n\t\t\tlet val = styles[ name ]\n\t\t\t\n\t\t\tconst style = ( el as HTMLElement ).style as any\n\t\t\tconst kebab = ( name : string )=> name.replace( /[A-Z]/g , letter => '-' + letter.toLowerCase() )\n\t\t\t\n\t\t\tif( typeof val === 'number' ) {\n\t\t\t\tstyle.setProperty(kebab(name), `${ val }px`);\n\t\t\t} else {\n\t\t\t\tstyle.setProperty(kebab(name), val);\n\t\t\t}\n\t\t\t\n\t\t}\n\t}\n\n}\n","namespace $ {\n\t\n\texport function $mol_dom_render_fields (\n\t\tel : Element ,\n\t\tfields : { [ key : string ] : any }\n\t) {\n\t\tfor( let key in fields ) {\n\t\t\t\n\t\t\tconst val : any = fields[ key ]\n\t\t\t\n\t\t\tif( val === undefined ) continue\n\t\t\tif( val === (el as any)[ key ] ) continue\n\t\t\t\n\t\t\t(el as any)[ key ] = val\n\t\t}\n\t}\n\n}\n","namespace $ { $mol_style_attach( \"mol/view/view/view.css\",\n \"[mol_view] {\\n\\ttransition-property: height, width, min-height, min-width, max-width, max-height, transform, scale, translate, rotate;\\n\\ttransition-duration: .2s;\\n\\ttransition-timing-function: ease-out;\\n\\t-webkit-appearance: none;\\n\\tbox-sizing: border-box;\\n\\tdisplay: flex;\\n\\tflex-shrink: 0;\\n\\tcontain: style;\\n\\tscrollbar-color: var(--mol_theme_line) transparent;\\n\\tscrollbar-width: thin;\\n}\\t\\n\\n[mol_view]::selection {\\n\\tbackground: var(--mol_theme_line);\\n}\\t\\n\\n[mol_view]::-webkit-scrollbar {\\n\\twidth: .25rem;\\n\\theight: .25rem;\\n}\\n\\n[mol_view]::-webkit-scrollbar-corner {\\n\\tbackground-color: var(--mol_theme_line);\\n}\\n\\n[mol_view]::-webkit-scrollbar-track {\\n\\tbackground-color: transparent;\\n}\\n\\n[mol_view]::-webkit-scrollbar-thumb {\\n\\tbackground-color: var(--mol_theme_line);\\n\\tborder-radius: var(--mol_gap_round);\\n}\\n\\n[mol_view] > * {\\n\\tword-break: inherit;\\n}\\n\\n[mol_view_root] {\\n\\tmargin: 0;\\n\\tpadding: 0;\\n\\twidth: 100%;\\n\\theight: 100%;\\n\\tbox-sizing: border-box;\\n\\tfont-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;\\n\\tfont-size: 1rem;\\n\\tline-height: 1.5rem;\\n\\t/* background: var(--mol_theme_back);\\n\\tcolor: var(--mol_theme_text); */\\n\\tcontain: unset; /** Fixes bg ignoring when applied to body on Chrome */\\n\\ttab-size: 4;\\n\\toverscroll-behavior: contain; /** Disable navigation gestures **/\\n}\\n\\n@media print {\\n\\t[mol_view_root] {\\n\\t\\theight: auto;\\n\\t}\\n}\\n[mol_view][mol_view_error]:not([mol_view_error=\\\"Promise\\\"], [mol_view_error=\\\"$mol_promise_blocker\\\"]) {\\n\\tbackground-image: repeating-linear-gradient(\\n\\t\\t-45deg,\\n\\t\\t#f92323,\\n\\t\\t#f92323 .5rem,\\n\\t\\t#ff3d3d .5rem,\\n\\t\\t#ff3d3d 1.5rem\\n\\t);\\n\\tcolor: black;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\\n@keyframes mol_view_wait {\\n\\tfrom {\\n\\t\\topacity: .25;\\n\\t}\\n\\t20% {\\n\\t\\topacity: .75;\\n\\t}\\n\\tto {\\n\\t\\topacity: .25;\\n\\t}\\n}\\n\\n:where([mol_view][mol_view_error=\\\"$mol_promise_blocker\\\"]),\\n:where([mol_view][mol_view_error=\\\"Promise\\\"]) {\\n\\tbackground: var(--mol_theme_hover);\\n}\\n\\n[mol_view][mol_view_error=\\\"Promise\\\"] {\\n\\tanimation: mol_view_wait 1s steps(20,end) infinite;\\n}\\n\"\n) }","/** @jsx $mol_jsx */\nnamespace $ {\n\n\texport type $mol_view_content = $mol_view|Node|string|number|boolean|null\n\t\n\texport function $mol_view_visible_width() {\n\t\treturn $mol_window.size().width\n\t}\n\t\n\texport function $mol_view_visible_height() {\n\t\treturn $mol_window.size().height\n\t}\n\t\n\texport function $mol_view_state_key( suffix : string ) {\n\t\treturn suffix\n\t}\n\t\n\t/**\n\t * The base class for all visual components. It provides the infrastructure for reactive lazy rendering, handling exceptions.\n\t * @see https://mol.hyoo.ru/#!section=docs/=vv2nig_s5zr0f\n\t */\n\t/// Reactive statefull lazy ViewModel\n\texport class $mol_view extends $mol_object {\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic Root< This extends typeof $mol_view >( this : This , id: number ) {\n\t\t\treturn new this as InstanceType< This >\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tstatic roots() {\n\t\t\t\n\t\t\treturn [ ... $mol_dom.document.querySelectorAll( '[mol_view_root]:not([mol_view_root=\"\"])' ) ].map( ( node, index ) => {\n\n\t\t\t\tconst name = node.getAttribute( 'mol_view_root' )!\n\t\t\t\t\n\t\t\t\tconst View = (this.$ as any)[ name ] as typeof $mol_view\n\t\t\t\tif( !View ) {\n\t\t\t\t\t$mol_fail_log( new Error( `Autobind unknown view class`, { cause: { name } } ) )\n\t\t\t\t\treturn null\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tconst view = View.Root( index )\n\t\t\t\tview.dom_node( node )\n\t\t\t\treturn view\n\t\t\t\t\n\t\t\t} ).filter( $mol_guard_defined )\n\t\t\t\n\t\t}\n\n\t\t@ $mol_mem\n\t\tstatic auto() {\n\t\t\t\n\t\t\tconst roots = this.roots()\n\t\t\tif( !roots.length ) return\n\t\t\t\n\t\t\tfor( const root of roots ) {\n\t\t\t\ttry {\n\t\t\t\t\troot.dom_tree()\n\t\t\t\t} catch( error ) {\n\t\t\t\t\t$mol_fail_log( error )\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\ttry {\n\t\t\t\tdocument.title = roots[0].title()\n\t\t\t} catch( error ) {\n\t\t\t\t$mol_fail_log( error )\n\t\t\t}\n\t\t\t\n\t\t\tdescr: try {\n\t\t\t\t\n\t\t\t\tconst descr = roots[0].hint()\n\t\t\t\tif( !descr ) break descr\n\t\t\t\t\n\t\t\t\tconst head = $mol_dom.document.head\n\t\t\t\tlet node = head.querySelector( 'meta[name=\"description\"]' ) as HTMLMetaElement | null\n\t\t\t\tif( node ) node.content = descr\n\t\t\t\telse head.append( <meta name=\"description\" content={ descr } /> )\n\t\t\t\t\n\t\t\t} catch( error ) {\n\t\t\t\t$mol_fail_log( error )\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\ttitle() {\n\t\t\treturn this.toString().match( /.*\\.(\\w+)/ )?.[1] ?? this.toString()\n\t\t}\n\t\t\n\t\thint() {\n\t\t\treturn ''\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tfocused( next?: boolean ) {\n\t\t\tlet node = this.dom_node()\n\t\t\tconst value = $mol_view_selection.focused( next === undefined ? undefined : ( next ? [ node ] : [] ) )\n\t\t\treturn value.indexOf( node ) !== -1\n\t\t}\n\t\t\n\t\tstate_key( suffix = '' ) {\n\t\t\treturn this.$.$mol_view_state_key( suffix )\n\t\t}\n\t\t\n\t\t/// Name of element that created when element not found in DOM\n\t\t@ $mol_memo.method\n\t\tdom_name() {\n\t\t\treturn $mol_dom_qname( this.constructor.toString() ) || 'div'\n\t\t}\n\t\t\n\t\t/// NameSpace of element that created when element not found in DOM\n\t\tdom_name_space() { return 'http://www.w3.org/1999/xhtml' }\n\t\t\n\t\t/// Raw child views\n\t\tsub() {\n\t\t\treturn [] as readonly $mol_view_content[]\n\t\t}\n\t\t\n\t\t/// Visible sub views with defined ambient context\n\t\t/// Render all by default\n\t\tsub_visible() {\n\t\t\treturn this.sub()\n\t\t}\n\t\t\n\t\t/// Minimal width that used for lazy rendering\n\t\t@ $mol_mem\n\t\tminimal_width() {\n\t\t\t\n\t\t\tlet min = 0\n\t\t\ttry {\n\t\t\t\t\n\t\t\t\tconst sub = this.sub()\n\t\t\t\tif( !sub ) return 0\n\t\t\t\t\n\t\t\t\tsub.forEach( view => {\n\t\t\t\t\tif( view instanceof $mol_view ) {\n\t\t\t\t\t\tmin = Math.max( min , view.minimal_width() )\n\t\t\t\t\t}\n\t\t\t\t} )\n\t\t\t\t\n\t\t\t} catch( error: any ) {\n\t\t\t\t$mol_fail_log( error )\n\t\t\t\treturn 24\n\t\t\t}\n\t\t\n\t\t\treturn min\n\t\t}\n\t\t\n\t\tmaximal_width() {\n\t\t\treturn this.minimal_width()\n\t\t}\n\t\t\n\t\t/// Minimal height that used for lazy rendering\n\t\t@ $mol_mem\n\t\tminimal_height() {\n\t\t\t\n\t\t\tlet min = 0\n\t\t\ttry {\n\t\t\t\t\n\t\t\t\tfor( const view of this.sub() ?? [] ) {\n\n\t\t\t\t\tif( view instanceof $mol_view ) {\n\t\t\t\t\t\tmin = Math.max( min , view.minimal_height() )\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} catch( error: any ) {\n\t\t\t\t$mol_fail_log( error )\n\t\t\t\treturn 24\n\t\t\t}\n\n\t\t\treturn min\n\t\t}\n\n\t\tstatic watchers = new Set< $mol_view >()\n\n\t\t@ $mol_mem\n\t\tview_rect() {\n\t\t\tif( $mol_wire_probe( ()=> this.view_rect() ) === undefined ) {\n\t\t\t\t$mol_wire_watch()\n\t\t\t\treturn null // don't touch DOM to prevent instant reflow\n\t\t\t} else {\n\t\t\t\tconst { width, height, left, right, top, bottom } = this.dom_node().getBoundingClientRect()\n\t\t\t\treturn { width, height, left, right, top, bottom } // pick to optimize compare\n\t\t\t}\n\t\t}\n\n\t\t@ $mol_memo.method\n\t\tdom_id() {\n\t\t\treturn this.toString().replace( /</g, '(' ).replace( />/g, ')' ).replaceAll( /\"/g, \"'\" )\n\t\t}\n\t\n\t\tdom_node_external( next?: Element) {\n\t\t\tconst node = next ?? $mol_dom_context.document.createElementNS( this.dom_name_space() , this.dom_name() )\n\n\t\t\tconst id = this.dom_id()\n\t\t\tnode.setAttribute( 'id' , id )\n\t\t\tnode.toString = $mol_const( '<#' + id + '>' )\n\n\t\t\treturn node\n\t\t}\n\n\t\t@ $mol_mem\n\t\tdom_node( next? : Element ) {\n\t\t\t$mol_wire_solid()\n\t\t\tconst node = this.dom_node_external( next )\n\t\t\t$mol_dom_render_attributes( node , this.attr_static() )\n\t\t\t\n\t\t\tconst events = this.event_async()\n\t\t\t$mol_dom_render_events(node, events)\n\n\t\t\treturn node\n\t\t}\n\n\t\t@ $mol_mem\n\t\tdom_final() {\n\t\t\t\n\t\t\tthis.render()\n\t\t\t\n\t\t\tconst sub = this.sub_visible()\n\t\t\tif( !sub ) return\n\t\t\t\n\t\t\tfor( const el of sub ) {\n\t\t\t\tif( el && typeof el === 'object' && 'dom_final' in el ) {\n\t\t\t\t\tel['dom_final']()\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\treturn this.dom_node()\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tdom_tree( next? : Element ) : Element {\n\t\t\tconst node = this.dom_node( next )\n\t\t\t\n\t\t\trender: try {\n\n\t\t\t\t$mol_dom_render_attributes( node , { mol_view_error : null } )\n\n\t\t\t\ttry {\n\t\t\t\t\n\t\t\t\t\tthis.render()\n\t\t\t\t\t\n\t\t\t\t} finally {\n\t\t\t\t\t\n\t\t\t\t\tfor( let plugin of this.plugins() ) {\n\t\t\t\t\t\tif( plugin instanceof $mol_plugin ) {\n\t\t\t\t\t\t\tplugin.dom_tree()\n\t\t\t\t\t\t}\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} catch( error: any ) {\n\t\t\t\t\n\t\t\t\t$mol_fail_log( error )\n\t\t\t\tconst mol_view_error = $mol_promise_like(error)\n\t\t\t\t\t? (error as any).constructor[Symbol.toStringTag] ?? 'Promise'\n\t\t\t\t\t: error.name || error.constructor.name\n\t\t\t\t$mol_dom_render_attributes( node , { mol_view_error } )\n\t\t\t\t\n\t\t\t\tif( $mol_promise_like( error ) ) break render\n\t\t\t\t\n\t\t\t\ttry {\n\t\t\t\t\tconst message = error.message || error\n\t\t\t\t\t;( node as HTMLElement ).innerText = message.replace( /^|$/mg, '\\xA0\\xA0' )\n\t\t\t\t} catch {}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\ttry {\n\t\t\t\tthis.auto()\n\t\t\t} catch( error ) {\n\t\t\t\t$mol_fail_log( error )\n\t\t\t}\n\t\t\t\t\n\t\t\treturn node\n\t\t}\n\n\t\t@ $mol_mem\n\t\tdom_node_actual() {\n\t\t\tconst node = this.dom_node()\n\n\t\t\tconst attr = this.attr()\n\t\t\tconst style = this.style()\n\n\t\t\t$mol_dom_render_attributes( node , attr )\n\t\t\t$mol_dom_render_styles( node , style )\n\n\t\t\treturn node\n\t\t}\n\t\t\n\t\tauto() {\n\t\t\treturn [] as any\n\t\t}\n\n\t\t@ $mol_mem\n\t\trender() {\n\n\t\t\tconst node = this.dom_node_actual()\n\n\t\t\tconst sub = this.sub_visible()\n\t\t\tif( !sub ) return\n\t\t\t\n\t\t\tconst nodes = sub.map( child => {\n\t\t\t\tif( child == null ) return null\n\t\t\t\treturn ( child instanceof $mol_view )\n\t\t\t\t\t? child.dom_node()\n\t\t\t\t\t: child instanceof $mol_dom_context.Node\n\t\t\t\t\t? child\n\t\t\t\t\t: String( child )\n\t\t\t})\n\t\t\t\n\t\t\t$mol_dom_render_children( node , nodes )\n\n\t\t\tfor( const el of sub ) if( el && typeof el === 'object' && 'dom_tree' in el ) el['dom_tree']()\n\n\t\t\t$mol_dom_render_fields( node , this.field() )\n\t\t\t\n\t\t}\n\n\t\t@ $mol_memo.method\n\t\tstatic view_classes() {\n\t\t\tconst proto = this.prototype\n\t\t\t\n\t\t\tlet current = proto\n\t\t\tconst classes = [] as ( typeof $mol_view )[]\n\t\t\t\n\t\t\twhile( current ) {\n\t\t\t\tif( current.constructor.name !== classes.at(-1)?.name ) {\n\t\t\t\t\tclasses.push( current.constructor as typeof $mol_view )\n\t\t\t\t}\n\t\t\t\tif(!( current instanceof $mol_view )) break\n\t\t\t\tcurrent = Object.getPrototypeOf( current )\n\t\t\t}\n\t\t\t\n\t\t\treturn classes\n\t\t}\n\t\t\n\t\tstatic _view_names?: Map< string, string[] >\n\t\tstatic view_names( suffix: string ) {\n\t\t\t\n\t\t\tlet cache = Reflect.getOwnPropertyDescriptor( this, '_view_names' )?.value\n\t\t\tif( !cache ) cache = this._view_names = new Map\n\t\t\t\n\t\t\tconst cached = cache.get( suffix )\n\t\t\tif( cached ) return cached\n\t\t\t\n\t\t\tconst names = [] as string[]\n\t\t\tconst suffix2 = '_' + suffix[0].toLowerCase() + suffix.substring(1)\n\t\t\t\n\t\t\tfor( const Class of this.view_classes() ) {\n\t\t\t\tif( suffix in Class.prototype ) names.push( this.$.$mol_func_name( Class ) + suffix2 )\n\t\t\t\telse break\n\t\t\t}\n\t\t\t\n\t\t\tcache.set( suffix, names )\n\t\t\treturn names\n\t\t}\n\t\t\n\t\t@ $mol_memo.method\n\t\tview_names_owned() {\n\t\t\tconst names = [] as string[]\n\t\t\tlet owner = $mol_owning_get( this ) as $mol_wire_fiber< any, any[], any >\n\n\t\t\tif(!( owner?.host instanceof $mol_view )) return names\n\n\t\t\tconst suffix = owner.task.name.trim()\n\t\t\tconst suffix2 = '_' + suffix[0].toLowerCase() + suffix.substring(1)\n\t\t\t\n\t\t\tnames.push( ... ( owner.host.constructor as typeof $mol_view ).view_names( suffix ) )\n\t\t\t\n\t\t\tfor( let prefix of owner.host.view_names_owned() ) {\n\t\t\t\tnames.push( prefix + suffix2 )\n\t\t\t}\n\t\t\t\n\t\t\treturn names\n\t\t}\n\n\t\t@ $mol_memo.method\n\t\tview_names() {\n\t\t\tconst names = new Set< string >()\n\t\t\t\n\t\t\tfor( let name of this.view_names_owned() ) names.add( name )\n\n\t\t\tfor( let Class of ( this.constructor as typeof $mol_view ).view_classes() ) {\n\t\t\t\tconst name = this.$.$mol_func_name( Class )\n\t\t\t\tif( name ) names.add( name )\n\t\t\t}\n\n\t\t\treturn names\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\ttheme( next = null as null | string ) {\n\t\t\treturn next\n\t\t}\n\t\t\n\t\tattr_static() : { [ key : string ] : string|number|boolean|null } {\n\t\t\tlet attrs : any = {}\n\t\t\t\n\t\t\tfor( let name of this.view_names() ) attrs[ name.replace( /\\$/g , '' ).replace( /^(?=\\d)/ , '_' ).toLowerCase() ] = ''\n\t\t\t\n\t\t\treturn attrs\n\t\t}\n\t\t\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\tmol_theme: this.theme() ?? undefined,\n\t\t\t} as {}\n\t\t}\n\t\t\n\t\tstyle() : { [ key : string ] : string|number } {\n\t\t\treturn {}\n\t\t}\n\t\t\n\t\tfield() : { [ key : string ] : any } {\n\t\t\treturn {}\n\t\t}\n\t\t\n\t\tevent() : { [ key : string ] : ( event : Event )=> void } {\n\t\t\treturn {}\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tevent_async() {\n\t\t\treturn { ... $mol_wire_async(this.event()) }\n\t\t}\n\n\t\tplugins() {\n\t\t\treturn [] as readonly $mol_view[]\n\t\t}\n\t\t\n\t\t[ $mol_dev_format_head ]() {\n\t\t\treturn $mol_dev_format_span( {} ,\n\t\t\t\t$mol_dev_format_native( this ) ,\n\t\t\t\t// $mol_dev_format_shade( '/' ) ,\n\t\t\t\t// $mol_dev_format_auto( $mol_wire_cache( this ).sub().cache ) ,\n\t\t\t)\n\t\t}\n\n\t\t/** Deep search view by predicate. */\n\t\t*view_find(\n\t\t\tcheck: ( path : $mol_view, text?: string )=> boolean,\n\t\t\tpath = [] as $mol_view[],\n\t\t): Generator< $mol_view[] > {\n\n\t\t\tif( path.length === 0 && check( this ) ) return yield [ this ]\n\t\t\t\n\t\t\ttry {\n\t\t\t\tconst checked = new Set<$mol_view>()\n\t\t\t\tconst sub = this.sub()\n\n\t\t\t\tfor( const item of sub ) {\n\t\t\t\t\tif( ! ( item instanceof $mol_view ) ) continue\n\n\t\t\t\t\tif ( ! check( item ) ) continue\n\t\t\t\t\tchecked.add(item)\n\t\t\t\t\tyield [ ... path, this, item ]\n\t\t\t\t}\n\n\t\t\t\tfor( const item of sub ) {\n\t\t\t\t\tif ( ! ( item instanceof $mol_view) ) continue\n\t\t\t\t\tif ( checked.has(item) ) continue\n\t\t\t\t\tyield* item.view_find( check, [ ... path, this ] )\n\t\t\t\t}\n\t\t\t} catch( error: unknown ) {\n\t\t\t\tif( $mol_promise_like( error ) ) $mol_fail_hidden( error )\n\t\t\t\t$mol_fail_log( error )\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\t/** Renders path of views to DOM. */\n\t\tforce_render(\n\t\t\tpath : Set< $mol_view >,\n\t\t) {\n\n\t\t\tconst kids = this.sub()\n\n\t\t\tconst index = kids.findIndex( item => {\n\t\t\t\tif( item instanceof $mol_view ) {\n\t\t\t\t\treturn path.has( item )\n\t\t\t\t} else {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t})\n\n\t\t\tif( index >= 0 ) {\n\t\t\t\t( kids[ index ] as $mol_view ).force_render( path )\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\t/** Renders view to DOM and scroll to it. */\n\t\tensure_visible( view: $mol_view, align: ScrollLogicalPosition = \"start\" ) {\n\t\t\t\n\t\t\tconst path = this.view_find( v => v === view ).next().value\n\t\t\tthis.force_render( new Set( path ) )\n\t\t\t\n\t\t\ttry {\n\t\t\t\tthis.dom_final()\n\t\t\t} finally {\n\t\t\t\tview.dom_node().scrollIntoView({ block: align })\n\t\t\t}\n\n\t\t}\n\t\t\n\t\tbring() {\n\t\t\t\n\t\t\tconst win = this.$.$mol_dom_context\n\t\t\tif( win.parent !== win.self && !win.document.hasFocus() ) return\n\t\t\t\n\t\t\t// new this.$.$mol_after_frame( ()=> {\n\t\t\t// \tthis.dom_node().scrollIntoView({ block: 'start', inline: 'nearest' })\n\t\t\t// } )\n\t\t\t\n\t\t\tnew this.$.$mol_after_timeout( 0, ()=> {\n\t\t\t\tthis.focused( true )\n\t\t\t} )\n\t\t\t\n\t\t}\n\n\t\toverride destructor() {\n\t\t\tconst node = $mol_wire_probe(() => this.dom_node())\n\t\t\tif (! node) return\n\n\t\t\tconst events = $mol_wire_probe(() => this.event_async())\n\t\t\tif (! events) return\n\n\t\t\tfor( let event_name in events ) {\n\t\t\t\tnode.removeEventListener(\n\t\t\t\t\tevent_name ,\n\t\t\t\t\tevents[ event_name ]\n\t\t\t\t)\n\t\t\t}\n\t\t}\n\t}\n\n\texport type $mol_view_all = $mol_type_pick< $ , typeof $mol_view >\n\n}\n","interface Window {\n\tcordova : any\n}\n\nnamespace $ {\n\n\t$mol_dom_context.document?.addEventListener(\n\t\t'DOMContentLoaded',\n\t\t()=> $mol_view.auto(),\n\t\t{ once: true },\n\t)\n\t\n}\n","namespace $ {\n\t$mol_test( {\n\t\t\n\t\t'id auto generation'($) {\n\t\t\t\t\n\t\t\tclass $mol_view_test_item extends $mol_view { }\n\t\t\t\n\t\t\tclass $mol_view_test_block extends $mol_view {\n\n\t\t\t\tstatic $ = $\n\t\t\t\t\n\t\t\t\t@ $mol_mem_key\n\t\t\t\telement( id : number ) {\n\t\t\t\t\treturn new $mol_view_test_item()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tvar x = $mol_view_test_block.Root(0)\n\t\t\t\n\t\t\t$mol_assert_equal( x.dom_node().id , '$mol_view_test_block.Root(0)' )\n\t\t\t$mol_assert_equal( x.element( 0 ).dom_node().id , '$mol_view_test_block.Root(0).element(0)' )\n\t\t\t\n\t\t} ,\n\t\t\n\t\t'caching ref to dom node'($) {\n\t\t\t\n\t\t\tvar x = new class extends $mol_view { }\n\t\t\tx.$ = $\n\t\t\t\n\t\t\t$mol_assert_equal( x.dom_node() , x.dom_node() )\n\t\t\t\n\t\t} ,\n\t\t\n\t\t'content render'($) {\n\t\t\t\t\n\t\t\tclass $mol_view_test extends $mol_view {\n\t\t\t\tsub() {\n\t\t\t\t\treturn [ 'lol' , 5 ]\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tvar x = new $mol_view_test()\n\t\t\tx.$ = $\n\t\t\t\n\t\t\tvar node = x.dom_tree()\n\t\t\t\n\t\t\t$mol_assert_equal( node.innerHTML , 'lol5' )\n\t\t\t\n\t\t} ,\n\t\t\n\t\t'bem attributes generation'($) {\n\t\t\t\t\n\t\t\tclass $mol_view_test_item extends $mol_view { }\n\t\t\t\n\t\t\tclass $mol_view_test_block extends $mol_view {\n\t\t\t\t\n\t\t\t\t@ $mol_mem_key\n\t\t\t\tElement( id : number ) {\n\t\t\t\t\treturn new $mol_view_test_item()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tvar x = new $mol_view_test_block()\n\t\t\tx.$ = $\n\t\t\t\n\t\t\t$mol_assert_equal( x.dom_node().getAttribute( 'mol_view_test_block' ) , '' )\n\t\t\t$mol_assert_equal( x.dom_node().getAttribute( 'mol_view' ) , '' )\n\t\t\t\n\t\t\t$mol_assert_equal( x.Element( 0 ).dom_node().getAttribute( 'mol_view_test_block_element' ) , '' )\n\t\t\t\n\t\t\t$mol_assert_equal( x.Element( 0 ).dom_node().getAttribute( 'mol_view_test_item' ) , '' )\n\t\t\t$mol_assert_equal( x.Element( 0 ).dom_node().getAttribute( 'mol_view' ) , '' )\n\t\t\t\n\t\t} ,\n\t\t\n\t\t'render custom attributes'($) {\n\t\t\t\n\t\t\tclass $mol_view_test extends $mol_view {\n\t\t\t\tattr() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t'href' : '#haha' ,\n\t\t\t\t\t\t'required' : true ,\n\t\t\t\t\t\t'hidden' : false ,\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tvar x = new $mol_view_test()\n\t\t\tx.$ = $\n\t\t\t\n\t\t\tvar node = x.dom_tree()\n\t\t\t\n\t\t\t$mol_assert_equal( node.getAttribute( 'href' ) , '#haha' )\n\t\t\t$mol_assert_equal( node.getAttribute( 'required' ) , 'true' )\n\t\t\t$mol_assert_equal( node.getAttribute( 'hidden' ) , null )\n\t\t\t\n\t\t} ,\n\t\t\n\t\t'render custom fields'($) {\n\t\t\t\t\n\t\t\tclass $mol_view_test extends $mol_view {\n\t\t\t\tfield() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t'hidden' : true\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tvar x = new $mol_view_test()\n\t\t\tx.$ = $\n\t\t\t\n\t\t\tvar node = x.dom_tree() as HTMLElement\n\t\t\t\n\t\t\t$mol_assert_equal( node.hidden , true )\n\t\t\t\n\t\t} ,\n\t\t\n\t\t'attach event handlers'($) {\n\t\t\t\t\n\t\t\tvar clicked = false\n\t\t\t\n\t\t\tclass $mol_view_test extends $mol_view {\n\t\t\t\tevent() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t'click' : ( next? : Event ) => this.event_click( next )\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tevent_click( next? : Event ) {\n\t\t\t\t\tclicked = true\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tvar x = new $mol_view_test()\n\t\t\tx.$ = $\n\t\t\t\n\t\t\tvar node = x.dom_node() as HTMLElement\n\t\t\tnode.click()\n\t\t\t\n\t\t\t$mol_assert_ok( clicked )\n\t\t\t\n\t\t} ,\n\t\n\t} )\n}\n","namespace $ {\n\t/** Plugin is component without its own DOM element, but instead uses the owner DOM element */\n\texport class $mol_plugin extends $mol_view {\n\n\t\toverride dom_node_external( next? : Element ) {\n\t\t\treturn next ?? $mol_owning_get<typeof this, $mol_wire_fiber<$mol_view, any, any>>( this )!.host!.dom_node()\n\t\t}\n\n\t\toverride render() {\n\t\t\tthis.dom_node_actual()\n\t\t}\n\n\t}\n\n}\n","$mol_hotkey $mol_plugin\n\tevent *\n\t\t^\n\t\tkeydown?event <=> keydown?event null\n\tkey *\n\tmod_ctrl false\n\tmod_alt false\n\tmod_shift false\n","namespace $.$$ {\n\t/**\n\t * Plugin which adds handlers for keyboard keys.\n\t * @see [mol_keyboard_code](../keyboard/code/code.ts)\n\t */\n\texport class $mol_hotkey extends $.$mol_hotkey {\n\n\t\tkey() {\n\t\t\treturn super.key() as {\n\t\t\t\t[ key in keyof typeof $mol_keyboard_code ]? : ( event : KeyboardEvent )=> void\n\t\t\t}\n\t\t}\n\t\t\n\t\tkeydown( event? : KeyboardEvent ) {\n\n\t\t\tif( !event ) return\n\t\t\tif( event.defaultPrevented ) return\n\n\t\t\tlet name = $mol_keyboard_code[ event.keyCode ] as keyof typeof $mol_keyboard_code\n\t\t\t\n\t\t\tif( this.mod_ctrl() !== ( event.ctrlKey || event.metaKey ) ) return\n\t\t\tif( this.mod_alt() !== event.altKey ) return\n\t\t\tif( this.mod_shift() !== event.shiftKey ) return\n\t\t\t\n\t\t\tconst handle = this.key()[ name ]\n\t\t\tif( handle ) handle( event )\n\n\t\t}\n\t\t\n\t}\n}\n","$mol_string $mol_view\n\tdom_name \\input\n\tenabled true\n\tminimal_height 40\n\tautocomplete false\n\tselection? /number\n\t\t0\n\t\t0\n\tauto /\n\t\t<= selection_watcher null\n\t\t<= error_report null\n\tfield *\n\t\t^\n\t\tdisabled <= disabled false\n\t\tvalue <= value_changed? <=> value? \\\n\t\tplaceholder <= hint_visible <= hint \\\n\t\tspellcheck <= spellcheck true\n\t\tautocomplete <= autocomplete_native \\\n\t\tselectionEnd <= selection_end 0\n\t\tselectionStart <= selection_start 0\n\t\tinputMode <= keyboard \\text\n\t\tenterkeyhint <= enter \\go\n\tattr *\n\t\t^\n\t\tmaxlength <= length_max +Infinity\n\t\ttype <= type? \\text\n\tevent *\n\t\t^\n\t\tinput?event <=> event_change?event null\n\tplugins /\n\t\t<= Submit $mol_hotkey\n\t\t\tmod_ctrl <= submit_with_ctrl false\n\t\t\tkey * enter?event <=> submit?event null\n","namespace $ {\n\n\texport class $mol_dom_listener extends $mol_object {\n\n\t\tconstructor(\n\t\t\tpublic _node : any ,\n\t\t\tpublic _event : string ,\n\t\t\tpublic _handler : ( event : any )=> any ,\n\t\t\tpublic _config : boolean|{ passive : boolean } = { passive : true }\n\t\t) {\n\t\t\tsuper()\n\t\t\tthis._node.addEventListener( this._event , this._handler , this._config )\n\t\t}\n\n\t\tdestructor() {\n\t\t\tthis._node.removeEventListener( this._event , this._handler , this._config )\n\t\t\tsuper.destructor()\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\n\t/**\n\t * Z-index values for layers\n\t * https://page.hyoo.ru/#!=xthcpx_wqmiba\n\t */\n\texport let $mol_layer = $mol_style_prop(\n\t\t'mol_layer',\n\t\t[\n\t\t\t'hover',\n\t\t\t'focus',\n\t\t\t'speck',\n\t\t\t'float',\n\t\t\t'popup',\n\t\t] as const\n\t)\n\n}\n","namespace $ { $mol_style_attach( \"mol/layer/layer.css\",\n \":root {\\n\\t--mol_layer_hover: 1;\\n\\t--mol_layer_focus: 2;\\n\\t--mol_layer_speck: 3;\\n\\t--mol_layer_float: 4;\\n\\t--mol_layer_popup: 5;\\n}\\n\"\n) }","namespace $.$$ {\n\t/**\n\t * An input field for entering single line text.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_string_demo\n\t */\n\texport class $mol_string extends $.$mol_string {\n\t\t\n\t\t@ $mol_action\n\t\tevent_change( next? : Event ) {\n\t\t\tif( !next ) return\n\t\t\tconst el = this.dom_node() as HTMLInputElement\n\t\t\tconst from = el.selectionStart\n\t\t\tconst to = el.selectionEnd\n\t\t\ttry {\n\t\t\t\tel.value = this.value_changed( el.value )\n\t\t\t} catch( error ) {\n\t\t\t\tconst el = this.dom_node() as HTMLInputElement\n\t\t\t\tif( error instanceof Error ) {\n\t\t\t\t\tel.setCustomValidity( error.message )\n\t\t\t\t\tel.reportValidity()\n\t\t\t\t}\n\t\t\t\t$mol_fail_hidden( error )\n\t\t\t}\n\t\t\tif( to === null ) return \n\t\t\tel.selectionEnd = to\n\t\t\tel.selectionStart = from\n\t\t\tthis.selection_change( next )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\terror_report() {\n\t\t\ttry {\n\t\t\t\tif( this.focused() ) this.value()\n\t\t\t} catch( error ) {\n\t\t\t\tconst el = this.dom_node() as HTMLInputElement\n\t\t\t\tif( error instanceof Error ) {\n\t\t\t\t\tel.setCustomValidity( error.message )\n\t\t\t\t\tel.reportValidity()\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\thint_visible() {\n\t\t\treturn ( this.enabled() ? this.hint() : '' ) || ' '\n\t\t}\n\n\t\tdisabled() {\n\t\t\treturn !this.enabled()\n\t\t}\n\n\t\tautocomplete_native() {\n\t\t\treturn this.autocomplete() ? 'on' : 'off'\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tselection_watcher() {\n\t\t\treturn new $mol_dom_listener(\n\t\t\t\tthis.$.$mol_dom_context.document,\n\t\t\t\t'selectionchange',\n\t\t\t\t$mol_wire_async( event => this.selection_change( event ) ),\n\t\t\t)\n\t\t}\n\t\t\n\t\tselection_change( event: Event ) {\n\t\t\t\n\t\t\tconst el = this.dom_node() as HTMLInputElement\n\t\t\tif( el !== this.$.$mol_dom_context.document.activeElement ) return\n\t\t\t\n\t\t\tconst [ from, to ] = this.selection([\n\t\t\t\tel.selectionStart!,\n\t\t\t\tel.selectionEnd!,\n\t\t\t])\n\t\t\t\n\t\t\tel.selectionEnd = to\n\t\t\tel.selectionStart = from\n\n\t\t\tif( to !== from && el.selectionEnd === el.selectionStart ) {\n\t\t\t\tel.selectionEnd = to\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\tselection_start() {\n\t\t\tconst el = this.dom_node() as HTMLInputElement\n\t\t\tif( !this.focused() ) return undefined!\n\t\t\tif( el.selectionStart == null ) return undefined!\n\t\t\treturn this.selection()[0]\n\t\t}\n\t\t\n\t\tselection_end() {\n\t\t\tconst el = this.dom_node() as HTMLInputElement\n\t\t\tif( !this.focused() ) return undefined!\n\t\t\tif( el.selectionEnd == null ) return undefined!\n\t\t\treturn this.selection()[1]\n\t\t}\n\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/string/string.view.css\",\n \"[mol_string] {\\n\\tbox-sizing: border-box;\\n\\toutline-offset: 0;\\n\\tborder: none;\\n\\tborder-radius: var(--mol_gap_round);\\n\\twhite-space: pre-line;\\n\\toverflow: hidden;\\n\\ttext-overflow: ellipsis;\\n\\tpadding: var(--mol_gap_text);\\n\\ttext-align: left;\\n\\tposition: relative;\\n\\tfont: inherit;\\n\\tflex: 1 1 auto;\\n\\tbackground: transparent;\\n\\tmin-width: 0;\\n\\tcolor: inherit;\\n\\tbackground: var(--mol_theme_field);\\n}\\n\\n[mol_string]:disabled:not(:placeholder-shown) {\\n\\tbackground-color: transparent;\\n\\tcolor: var(--mol_theme_text);\\n}\\n\\n[mol_string]:where(:not(:disabled)) {\\n\\tbox-shadow: inset 0 0 0 1px var(--mol_theme_line);\\n}\\n\\n[mol_string]:where(:not(:disabled)):hover {\\n\\tbox-shadow: inset 0 0 0 2px var(--mol_theme_line);\\n\\tz-index: var(--mol_layer_hover);\\n}\\n\\n[mol_string]:focus {\\n\\toutline: none;\\n\\tz-index: var(--mol_layer_focus);\\n\\tcolor: var(--mol_theme_text);\\n\\tbox-shadow: inset 0 0 0 1px var(--mol_theme_focus);\\n}\\n\\n[mol_string]::placeholder {\\n\\tcolor: var(--mol_theme_shade);\\n}\\n\\n[mol_string]::-ms-clear {\\n\\tdisplay: none;\\n}\\n\"\n) }","$mol_paragraph $mol_view\n\tline_height 24\n\tletter_width 7\n\twidth_limit +Infinity\n\trow_width 0\n\tsub / <= title\n","namespace $.$$ {\n\n\texport class $mol_paragraph extends $.$mol_paragraph {\n\n\t\t@ $mol_mem\n\t\tmaximal_width() {\n\n\t\t\tlet width = 0\n\t\t\tconst letter = this.letter_width()\n\t\t\t\n\t\t\tfor( const kid of this.sub() ) {\n\t\t\t\t\n\t\t\t\tif( !kid ) continue\n\t\t\t\t\n\t\t\t\tif( kid instanceof $mol_view ) {\n\t\t\t\t\twidth += kid.maximal_width()\n\t\t\t\t} else if( typeof kid !== 'object' ) {\n\t\t\t\t\twidth += String( kid ).length * letter\n\t\t\t\t}\n\n\t\t\t}\n\t\t\t\n\t\t\treturn width\n\n\t\t}\n\n\t\twidth_limit() {\n\t\t\treturn this.$.$mol_window.size().width\n\t\t}\n\t\t\n\t\tminimal_width() {\n\t\t\treturn this.letter_width()\n\t\t}\n\n\t\t@ $mol_mem\n\t\trow_width() {\n\t\t\treturn Math.max( Math.min( this.width_limit() , this.maximal_width() ) , this.letter_width() )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tminimal_height() {\n\t\t\treturn Math.max( 1 , Math.ceil( this.maximal_width() / this.row_width() ) ) * this.line_height()\n\t\t}\n\n\t}\n\n}\n","namespace $ { $mol_style_attach( \"mol/paragraph/paragraph.view.css\",\n \":where([mol_paragraph]) {\\n\\tmargin: 0;\\n\\tmax-width: 100%;\\n}\\n\"\n) }","$mol_dimmer $mol_paragraph\n\thaystack \\\n\tneedle \\\n\tsub <= parts /$mol_view_content\n\tLow* $mol_paragraph\n\t\tsub /\n\t\t\t<= string* \\\n\tHigh* $mol_paragraph\n\t\tsub /\n\t\t\t<= string* \\\n","namespace $.$$ {\n\t$mol_test({\n\t\t\n\t\t'Empty needle'() {\n\t\t\t\n\t\t\tconst app = new $mol_dimmer\n\t\t\tapp.needle = ()=> ' '\n\t\t\tapp.haystack = ()=> 'foo bar'\n\t\t\t\n\t\t\t$mol_assert_like( app.strings(), [ 'foo bar' ] )\n\t\t\t\n\t\t},\n\t\t\n\t\t'Empty haystack'() {\n\t\t\t\n\t\t\tconst app = new $mol_dimmer\n\t\t\tapp.needle = ()=> 'foo bar'\n\t\t\tapp.haystack = ()=> ''\n\t\t\t\n\t\t\t$mol_assert_like( app.strings(), [ '' ] )\n\t\t\t\n\t\t},\n\t\t\n\t\t'Not found'() {\n\t\t\t\n\t\t\tconst app = new $mol_dimmer\n\t\t\tapp.needle = ()=> 'foo'\n\t\t\tapp.haystack = ()=> ' bar '\n\t\t\t\n\t\t\t$mol_assert_like( app.strings(), [ ' bar ' ] )\n\t\t\t\n\t\t},\n\t\t\n\t\t'One found'() {\n\t\t\t\n\t\t\tconst app = new $mol_dimmer\n\t\t\tapp.needle = ()=> 'foo'\n\t\t\tapp.haystack = ()=> ' barfoo '\n\t\t\t\n\t\t\t$mol_assert_like( app.strings(), [ ' bar', 'foo', ' ' ] )\n\t\t\t\n\t\t},\n\t\t\n\t\t'Multiple found'() {\n\t\t\t\n\t\t\tconst app = new $mol_dimmer\n\t\t\tapp.needle = ()=> 'foo'\n\t\t\tapp.haystack = ()=> ' foobarfoo foo'\n\t\t\t\n\t\t\t$mol_assert_like( app.strings(), [ ' ', 'foo', 'bar', 'foo', ' ', 'foo' ] )\n\t\t\t\n\t\t},\n\t\t\n\t\t'Fuzzy search'() {\n\t\t\t\n\t\t\tconst app = new $mol_dimmer\n\t\t\tapp.needle = ()=> 'foo bar'\n\t\t\tapp.haystack = ()=> ' barfoo '\n\t\t\t\n\t\t\t$mol_assert_like( app.strings(), [ ' ', 'bar', '', 'foo', ' ' ] )\n\t\t\t\n\t\t},\n\t\t\n\t})\n}\n","namespace $.$$ {\n\n\t/**\n\t * Output text with dimmed mismatched substrings.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_dimmer_demo\n\t */\n\texport class $mol_dimmer extends $.$mol_dimmer {\n\t\t\n\t\tparts() {\n\t\t\tconst needle = this.needle()\n\t\t\tif( needle.length < 2 ) return [ this.haystack() ]\n\t\t\t\n\t\t\tlet chunks : any[] = []\n\t\t\tlet strings = this.strings()\n\t\t\t\n\t\t\tfor( let index = 0 ; index < strings.length ; index++ ) {\n\t\t\t\tif( strings[ index ] === '' ) continue\n\t\t\t\t\n\t\t\t\tchunks.push( ( index % 2 ) ? this.High( index ) : this.Low( index ) )\n\t\t\t}\n\t\t\t\n\t\t\treturn chunks\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tstrings() {\n\t\t\t\n\t\t\tconst options = this.needle().split( /\\s+/g ).filter( Boolean )\n\t\t\tif( !options.length ) return [ this.haystack() ]\n\t\t\t\n\t\t\tconst variants = { ... options } as Record< number, string >\n\t\t\tconst regexp = $mol_regexp.from( { needle: variants } , { ignoreCase: true } )\n\t\t\t\n\t\t\treturn this.haystack().split( regexp )\n\t\t}\n\t\t\n\t\tstring( index: number ) {\n\t\t\treturn this.strings()[ index ]\n\t\t}\n\t\t\n\t\t*view_find(\n\t\t\tcheck: ( path : $mol_view, text?: string )=> boolean,\n\t\t\tpath = [] as $mol_view[],\n\t\t): Generator< $mol_view[] > {\n\n\t\t\tif( check( this, this.haystack() ) ) {\n\t\t\t\tyield [ ... path, this ]\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/dimmer/dimmer.view.css\",\n \"[mol_dimmer] {\\n\\tdisplay: block;\\n\\tmax-width: 100%;\\n}\\n\\n[mol_dimmer_low] {\\n\\tdisplay: inline;\\n\\topacity: 0.8;\\n}\\n\\n[mol_dimmer_high] {\\n\\tdisplay: inline;\\n\\tcolor: var(--mol_theme_focus);\\n\\ttext-shadow: 0 0;\\n}\\n\"\n) }","$mol_speck $mol_view\n\ttheme \\$mol_theme_accent\n\tsub /\n\t\t<= value null\n","namespace $ { $mol_style_attach( \"mol/speck/speck.view.css\",\n \"[mol_speck] {\\n\\tfont-size: .75rem;\\n\\tborder-radius: 1rem;\\n\\tmargin: -0.5rem -0.2rem;\\n\\talign-self: flex-start;\\n\\tmin-height: 1em;\\n\\tmin-width: .75rem;\\n\\tvertical-align: sub;\\n\\tpadding: 0 .2rem;\\n\\tposition: absolute;\\n\\tz-index: var(--mol_layer_speck);\\n\\ttext-align: center;\\n\\tline-height: .9;\\n\\tdisplay: inline-block;\\n\\twhite-space: nowrap;\\n\\ttext-overflow: ellipsis;\\n\\tuser-select: none;\\n\\tbox-shadow: 0 0 3px rgba(0,0,0,.5);\\n}\\n\"\n) }","$mol_button $mol_view\n\tenabled true\n\tclick?event null\n\tevent_click?event null\n\tevent *\n\t\t^\n\t\tclick?event <=> activate?event <=> event_activate?event null\n\t\tdblclick?event <=> clicks?event null\n\t\tkeydown?event <=> key_press?event <=> event_key_press?event null\n\tattr *\n\t\t^\n\t\tdisabled <= disabled false\n\t\trole \\button\n\t\ttabindex <= tab_index 0\n\t\ttitle <= hint_safe <= hint \\\n\tsub /$mol_view_content\n\t\t<= title\n\tSpeck $mol_speck\n\t\tvalue <= error \\\n","namespace $.$$ {\n\t\n\t$mol_test({\n\t\t\n\t\t'handle clicks by default'($) {\n\t\t\tlet clicked = false\n\t\t\t\n\t\t\tconst clicker = $mol_button.make({\n\t\t\t\t$,\n\t\t\t\tclick : ( event : MouseEvent )=> { clicked = true } ,\n\t\t\t})\n\t\t\t\n\t\t\tconst element = clicker.dom_tree() as HTMLButtonElement\n\t\t\t\n\t\t\tconst event = $mol_dom_context.document.createEvent( 'mouseevent' )\n\t\t\tevent.initEvent( 'click' , true , true )\n\t\t\telement.dispatchEvent( event )\n\t\t\t\n\t\t\t$mol_assert_ok( clicked )\n\t\t} ,\n\t\t\n\t\t'no handle clicks if disabled'($) {\n\t\t\tlet clicked = false\n\t\t\t\n\t\t\tconst clicker = $mol_button.make({\n\t\t\t\t$,\n\t\t\t\tclick : ( event : MouseEvent )=> { clicked = true } ,\n\t\t\t\tenabled : ()=> false ,\n\t\t\t})\n\t\t\t\n\t\t\tconst element = clicker.dom_tree() as HTMLButtonElement\n\t\t\t\n\t\t\tconst event = $mol_dom_context.document.createEvent( 'mouseevent' )\n\t\t\tevent.initEvent( 'click' , true , true )\n\t\t\telement.dispatchEvent( event )\n\t\t\t\n\t\t\t$mol_assert_not( clicked )\n\t\t} ,\n\t\t\n\t\tasync 'Store error'($) {\n\t\t\t\n\t\t\tconst clicker = $mol_button.make({\n\t\t\t\t$,\n\t\t\t\tclick : ( event : MouseEvent )=> $.$mol_fail( new Error( 'Test error' ) ),\n\t\t\t})\n\t\t\t\n\t\t\tconst event = $mol_dom_context.document.createEvent( 'mouseevent' )\n\t\t\t$mol_assert_fail( ()=> clicker.event_activate( event ), 'Test error' )\n\t\t\tawait Promise.resolve()\n\t\t\t$mol_assert_equal( clicker.status()[0].message, 'Test error' )\n\t\t\t\n\t\t} ,\n\t\t\n\t})\n\t\n}\n","namespace $.$$ {\n\t\n\t/**\n\t * Simple button.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_button_demo\n\t */\n\texport class $mol_button extends $.$mol_button {\n\n\t\t@ $mol_mem\n\t\tstatus( next = [ null as any ] ) { return next }\n\t\t\n\t\tdisabled() {\n\t\t\treturn !this.enabled()\n\t\t}\n\t\t\n\t\tevent_activate( next : Event ) {\n\t\t\t\n\t\t\tif( !next ) return\n\t\t\tif( !this.enabled() ) return\n\n\t\t\ttry {\n\t\t\t\t\n\t\t\t\tthis.event_click( next )\n\t\t\t\tthis.click( next )\n\t\t\t\tthis.status([ null ])\n\t\t\t\t\n\t\t\t} catch( error: any ) {\n\t\t\t\t\n\t\t\t\tPromise.resolve().then( ()=> this.status([ error ]) )\n\t\t\t\t$mol_fail_hidden( error )\n\t\t\t\t\n\t\t\t}\n\n\t\t}\n\t\t\n\t\tevent_key_press ( event: KeyboardEvent ) { \n\t\t\tif( event.keyCode === $mol_keyboard_code.enter ) {\n\t\t\t\treturn this.activate( event )\n\t\t\t}\n\t\t} \n\t\t\n\t\ttab_index() {\n\t\t\treturn this.enabled() ? super.tab_index() : -1\n\t\t}\n\n\t\terror() {\n\n\t\t\tconst [ error ] = this.status()\n\t\t\tif( !error ) return ''\n\n\t\t\tif( error instanceof Promise ) {\n\t\t\t\treturn $mol_fail_hidden( error )\n\t\t\t}\n\t\t\t\n\t\t\treturn String( error.message ?? error )\n\n\t\t}\n\t\t\n\t\thint_safe() {\n\t\t\ttry {\n\t\t\t\treturn this.hint()\n\t\t\t} catch( error ) {\n\t\t\t\t$mol_fail_log( error )\n\t\t\t\treturn ''\n\t\t\t}\n\t\t}\n\n\t\tsub_visible() {\n\t\t\treturn [\n\t\t\t\t... this.error() ? [ this.Speck() ] : [] ,\n\t\t\t\t... this.sub() ,\n\t\t\t]\n\t\t}\n\t\t\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/button/button.view.css\",\n \"[mol_button] {\\n\\tborder: none;\\n\\tfont: inherit;\\n\\tdisplay: inline-flex;\\n\\tflex-shrink: 0;\\n\\ttext-decoration: inherit;\\n\\tcursor: inherit;\\n\\tposition: relative;\\n\\tbox-sizing: border-box;\\n\\tword-break: normal;\\n\\tcursor: default;\\n\\tuser-select: none;\\n\\t-webkit-user-select: none;\\n\\tborder-radius: var(--mol_gap_round);\\n\\tbackground: transparent;\\n\\tcolor: inherit;\\n}\\n\\n[mol_button]:where(:not(:disabled)):hover {\\n\\tz-index: var(--mol_layer_hover);\\n}\\n\\n[mol_button]:focus {\\n\\toutline: none;\\n\\tz-index: var(--mol_layer_focus);\\n}\\n\"\n) }","$mol_button_typed $mol_button\n\tminimal_height 40\n\tminimal_width 40\n","namespace $ { $mol_style_attach( \"mol/button/typed/typed.view.css\",\n \"[mol_button_typed] {\\n\\talign-content: center;\\n\\talign-items: center;\\n\\tpadding: var(--mol_gap_text);\\n\\tborder-radius: var(--mol_gap_round);\\n\\tgap: var(--mol_gap_space);\\n\\tuser-select: none;\\n\\tcursor: pointer;\\n\\tmin-width: 2.5rem;\\n\\tmin-height: 2.5rem;\\n}\\n\\n[mol_button_typed][disabled] {\\n\\tpointer-events: none;\\n}\\n\\n[mol_button_typed]:hover ,\\n[mol_button_typed]:focus-visible {\\n\\tbox-shadow: inset 0 0 0 100vmax var(--mol_theme_hover);\\n}\\n\\n[mol_button_typed]:active {\\n\\tcolor: var(--mol_theme_focus);\\n}\\n\"\n) }","$mol_button_minor $mol_button_typed\n","namespace $ { $mol_style_attach( \"mol/button/minor/minor.view.css\",\n \"[mol_button_minor] {\\n\\tcolor: var(--mol_theme_control);\\n}\\n\\n[mol_button_minor][disabled] {\\n\\tcolor: var(--mol_theme_shade);\\n}\\n\"\n) }","namespace $.$$ {\n\tconst d = '$'\n\tconst file_name = '/mol/view/tree2/class/props.test.ts'\n\n\tfunction normalize($: $, src: string, dest?: string) {\n\t\tconst mod = $.$mol_tree2_from_string( src, file_name )\n\t\tconst input = $.$mol_view_tree2_class_props(mod.kids[0]).join('')\n\t\tconst output = dest ? $$.$mol_tree2_from_string(dest, 'reference').toString() : ''\n\t\treturn { input, output }\n\t}\n\n\t$mol_test({\n\t\t'dupes merge'($) {\n\t\t\tconst src = `\n\t\t\t\t${d}my_test ${d}my_super\n\t\t\t\t\tquery? \\\\\n\t\t\t\t\tQuery $mol_string\n\t\t\t\t\t\tvalue? <=> query? \\\\\n\t\t\t\t\tSuggest_label ${d}mol_dimmer\n\t\t\t\t\t\tneedle <= query? \\\\\n\t\t\t\t\t\tkey * escape? <=> clear? null\n\t\t\t\t\tClear ${d}mol_button_minor\n\t\t\t\t\t\tclick?event <=> clear?event null\n\t\t\t`\n\n\t\t\tconst dest = `\n\t\t\t\tquery? \\\\\n\t\t\t\tclear?event null\n\t\t\t\tQuery $mol_string value? <=> query?\n\t\t\t\tSuggest_label $mol_dimmer\n\t\t\t\t\tneedle <= query?\n\t\t\t\t\tkey * escape? <=> clear?\n\t\t\t\tClear $mol_button_minor click?event <=> clear?event\n\t\t\t`\n\t\t\tconst res = normalize($, src, dest)\n\t\t\t$mol_assert_equal(res.input, res.output)\n\t\t},\n\n\t\t'left and bidi common'($) {\n\t\t\tconst src = `\n\t\t\t\t${d}my_test ${d}my_super\n\t\t\t\t\ttitle @ \\\\title\n\t\t\t\t\tsub2 /\n\t\t\t\t\t\t<= Close_icon ${d}mol_icon_cross\n\t\t\t\t\tsub /\n\t\t\t\t\t\t<= Title ${d}mol_view\n\t\t\t\t\t\t\tsub /\n\t\t\t\t\t\t\t\t<= title\n\t\t\t\t\t\t<= Close ${d}mol_button\n\t\t\t\t\t\t\ttitle \\\\close\n\t\t\t\t\t\t\tclick?event <=> close?event null\n\t\t\t`\n\t\t\t\n\t\t\tconst dest = `\n\t\t\t\tClose_icon ${d}mol_icon_cross\n\t\t\t\tTitle ${d}mol_view sub / <= title\n\t\t\t\tclose?event null\n\t\t\t\tClose ${d}mol_button\n\t\t\t\t\ttitle \\\\close\n\t\t\t\t\tclick?event <=> close?event\n\t\t\t\ttitle @ \\\\title\n\t\t\t\tsub2 / <= Close_icon\n\t\t\t\tsub /\n\t\t\t\t\t<= Title\n\t\t\t\t\t<= Close\n\t\t\t`\n\t\t\n\t\t\tconst res = normalize($, src, dest)\n\t\t\t$mol_assert_equal(res.input, res.output)\n\t\t},\n\n\t\t'right bind levels'($) {\n\t\t\tconst src = `\n\t\t\t\t${d}my_test ${d}my_super\n\t\t\t\t\tDog ${d}mol_view_tree2_class_test_dog\n\t\t\t\t\t\tMouth => Dog_mouth\n\t\t\t\t\t\t\tanimation => dog_animation\n\t\t\t\t\tplugins /\n\t\t\t\t\t\t<= Human* ${d}mol_view_tree2_class_test_human\n\t\t\t\t\t\t\tMouth => Human_mouth\n\t\t\t\t\t\t\t\tanimation => human_animation\n\t\t\t\t\t\t\t\t\ttext => human_text\n\t\t\t`\n\n\t\t\tconst dest = `\n\t\t\t\tDog_mouth = Dog Mouth\n\t\t\t\tdog_animation = Dog_mouth animation\n\t\t\t\tHuman_mouth = Human* Mouth\n\t\t\t\thuman_animation = Human_mouth animation\n\t\t\t\thuman_text = human_animation text\n\t\t\t\tHuman* $mol_view_tree2_class_test_human Mouth => Human_mouth animation => human_animation text => human_text\n\t\t\t\tDog $mol_view_tree2_class_test_dog Mouth => Dog_mouth animation => dog_animation\n\t\t\t\tplugins / <= Human*\n\t\t\t`\n\n\t\t\tconst res = normalize($, src, dest)\n\t\t\t$mol_assert_equal(res.input, res.output)\n\t\t},\n\n\t\t'good right bind dupes'($) {\n\t\t\tconst src = `\n\t\t\t\t${d}my_test ${d}my_super\n\t\t\t\t\tSuggest_label ${d}mol_dimmer\n\t\t\t\t\t\tclear? => clear?\n\t\t\t\t\tClear ${d}mol_button_minor\n\t\t\t\t\t\tclick?e <=> clear?e\n\t\t\t`\n\n\t\t\tconst dest = `\n\t\t\t\tclear? = Suggest_label clear?\n\t\t\t\tSuggest_label $mol_dimmer clear? => clear?\n\t\t\t\tClear $mol_button_minor click?e <=> clear?e\n\t\t\t`\n\n\t\t\tconst res = normalize($, src, dest)\n\t\t\t$mol_assert_equal(res.input, res.output)\n\t\t},\n\n\t\t'conflicting right bind dupes'($) {\n\t\t\tconst src = `\n\t\t\t\t${d}my_test ${d}my_super\n\t\t\t\t\tSuggest_label ${d}mol_dimmer\n\t\t\t\t\t\tclear => clear\n\t\t\t\t\tClear ${d}mol_button_minor\n\t\t\t\t\t\tclick?event <=> clear?event null\n\t\t\t`\n\n\t\t\t$mol_assert_fail(\n\t\t\t\t() => normalize($, src).input,\n\t\t\t\t`Need an equal default values at \\`/mol/view/tree2/class/props.test.ts#4:16/5\\` vs \\`/mol/view/tree2/class/props.test.ts#6:23/11\\`\n<=>\n/mol/view/tree2/class/props.test.ts#6:19/3\nclick?event\n/mol/view/tree2/class/props.test.ts#6:7/11\n$mol_button_minor\n/mol/view/tree2/class/props.test.ts#5:12/17\nClear\n/mol/view/tree2/class/props.test.ts#5:6/5`\n\t\t\t)\n\t\t},\n\t})\n}\n","namespace $ {\n\n\tclass TestClass extends Uint8Array {}\n\n\t$mol_test({\n\t\t'Uint8Array vs itself'() {\n\t\t\t$mol_assert_ok( $mol_compare_array( new Uint8Array , new Uint8Array ) )\n\t\t\t$mol_assert_ok( $mol_compare_array( new Uint8Array([ 0 ]) , new Uint8Array([ 0 ]) ) )\n\t\t\t$mol_assert_not( $mol_compare_array( new Uint8Array([ 0 ]) , new Uint8Array([ 1 ]) ) )\n\t\t} ,\n\n\t\t'Uint8Array vs subclassed array'() {\n\t\t\t$mol_assert_not( $mol_compare_array( new Uint8Array , new TestClass ) )\n\t\t} ,\n\n\t})\n}\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\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\t\n\t$mol_test_mocks.push( $ => {\n\t\tclass $mol_locale_mock extends $mol_locale {\n\t\t\t\n\t\t\t@ $mol_mem\n\t\t\tlang( next = 'en' ) { return next }\n\t\t\t\n\t\t\t@ $mol_mem_key\n\t\t\tstatic source( lang: string ) {\n\t\t\t\treturn {}\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t$.$mol_locale = $mol_locale_mock\n\t} )\n\t\n}\n","namespace $ {\n\n\tconst run = $mol_data_pipe(\n\t\t$mol_tree2_from_string.bind($$),\n\t\t$mol_view_tree2_to_locale.bind($$)\n\t)\n\n\t$mol_test({\n\t\t'Locale simple'( $ ) {\n\t\t\tconst locales = run(`\n\t\t\t\tFoo Object\n\t\t\t\t\tlocalized @ \\\\bla\n\t\t\t`)\n\t\t\t$mol_assert_equal(locales['Foo_localized'], 'bla')\n\t\t},\n\n\t\t'Locale structural'( $ ) {\n\t\t\tconst locales = run(`\n\t\t\t\tFoo Object\n\t\t\t\t\tbar *\n\t\t\t\t\t\tloc @ \\\\v1\n\t\t\t\t\t\tbaz *\n\t\t\t\t\t\t\tloc2 @ \\\\v2\n\t\t\t`)\n\t\t\t$mol_assert_equal(locales['Foo_bar_loc'], 'v1')\n\t\t\t$mol_assert_equal(locales['Foo_bar_baz_loc2'], 'v2')\n\t\t},\n\n\t\t'Locale factory'( $ ) {\n\t\t\tconst locales = run(`\n\t\t\t\tBar Object\n\t\t\t\t\tloc \\\\v0\n\t\t\t\tFoo Object\n\t\t\t\t\tbutton Bar\n\t\t\t\t\t\tloc @ \\\\v1\n\t\t\t`)\n\t\t\t$mol_assert_equal(locales['Foo_button_loc'], 'v1')\n\t\t},\n\n\t\t'Locale bidi bind localized'( $ ) {\n\t\t\tconst locales = run(`\n\t\t\t\tFoo Object\n\t\t\t\t\ta? <=> b? @ \\\\v1\n\t\t\t`)\n\t\t\t$mol_assert_equal(locales['Foo_b'], 'v1')\n\t\t},\n\n\t\n\t})\n}\n","$mol_view_tree2_to_js_test_ex_array_slot_foo $mol_object\n\tfoot /string|number|boolean\n\t\t1\n\t\ttrue\n\t\t\\foot1\n\t\t^ insert /\n\t\t\t2\n\t\t\t3\n\t\t\t<= ins1 \\ins1\n\t\t\t^ sub_ins /number\n\t\t\t\t<= sub_ins1 1\n\t\t\t<= ins2 \\ins2\n\t\t<= foot2 \\foot2\n\n","$mol_view_tree2_to_js_test_ex_simple_nan_foo $mol_object\n\ta NaN\n\tb +NaN\n\tc -NaN\n\td +Infinity\n\te -Infinity\n\tf Infinity\n\n","$mol_view_tree2_to_js_test_ex_structural_foo $mol_object\n\tbar *\n\t\talpha 1\n\t\tbeta *\n\t\txxx <= lol 2\n","$mol_view_tree2_to_js_test_ex_array_union_foo $mol_object\n\tbar /$mol_view_tree2_to_js_test_ex_klass_tuple_type\n\t\t\\a\n\t\t<= foo \\c\n\t\t\\b\n","$mol_view_tree2_to_js_test_ex_array_number_foo $mol_object\n\tbar /\n\t\t-NaN\n\t\t-Infinity\n\t\t+Infinity\n\t\t0\n","$mol_view_tree2_to_js_test_ex_bidi_indexed_foo $mol_object\n\tindexed*? <=> owner*? null\n","$mol_view_tree2_to_js_test_ex_array_boolean_foo $mol_object\n\tbar /boolean\n\t\tfalse\n\t\ttrue\n","$mol_view_tree2_to_js_test_ex_array_indexed_foo $mol_object\n\ttags* /string\n\t\t<= tag1* \\t1\n\t\t^ slot* /\n\t\t\t<= tag2* \\t2\n","$mol_view_tree2_to_js_test_ex_bidi_chaining_foo $mol_object\n\ta? <=> b? <=> c? null\n","$mol_view_tree2_to_js_test_ex_bidi_fallback_foo $mol_object\n\tbar1? <=> bar2? 1\n","$mol_view_tree2_to_js_test_ex_left_chaining_foo $mol_object\n\ta <= b <= c? <= d? 0\n","$mol_view_tree2_to_js_test_ex_right_indexed_foo $mol_object\n\ta? *\n\t\tsome 123\n$mol_view_tree2_to_js_test_ex_right_indexed_bar $mol_object\n\tCls* $mol_view_tree2_to_js_test_ex_right_indexed_foo\n\t\ta => b*\n","$mol_view_tree2_to_js_test_ex_simple_string_foo $mol_object\n\thardcoded \\\n\t\t\\First\n\t\t\\Second\n\tlocalized @ \\bla\n","\n\t\t()\n\t\t\tthis\n\t\t\t[] \\$\n\t\t\t[] \\$mol_locale\n\t\t\t[] \\text\n\t\t\t(,) #key\n\t","$mol_view_tree2_to_js_test_ex_left_read_only_foo $mol_object\n\tbar1 <= bar2? 1\n","$mol_view_tree2_to_js_test_ex_right_hierarchy_foo $mol_object\n\tIndexed*xxx $mol_view_tree2_to_js_test_ex_right_hierarchy_bar\n\t\ttitle? => indexed_title*?\n\t\tid <= indexed_id* 0\n\tprj $mol_view_tree2_to_js_test_ex_right_hierarchy_bar\n\t\tdomain* => prj_domain*\n\t\t\tuser => prj_user*\n\t\t\t\tid => prj_user_id*\n","$mol_view_tree2_to_js_test_ex_right_read_only_foo $mol_object\n\ta*? null\n$mol_view_tree2_to_js_test_ex_right_read_only_bar $mol_object\n\tObj $mol_view_tree2_to_js_test_ex_right_read_only_foo\n\t\ta*? => b*?\n","$mol_view_tree2_to_js_test_ex_structural_dict_foo $mol_object\n\tbar *\n\t\talpha 1\n\t\tbeta \\a\n","$mol_view_tree2_to_js_test_ex_array_with_types_foo $mol_object\n\tarr /readonly(number)[]\n","$mol_view_tree2_to_js_test_ex_array_inheritance_foo $mol_object\n\tarr /\n\t\t\\v1\n$mol_view_tree2_to_js_test_ex_array_inheritance_bar $mol_view_tree2_to_js_test_ex_array_inheritance_foo\n\tarr /\n\t\t\\v3\n\t\t^\n\t\t\\v4\n","$mol_view_tree2_to_js_test_ex_bidi_legacy_value_foo $mol_object\n\ta?v <=> b?v 1\n","$mol_view_tree2_to_js_test_ex_simple_typed_null_foo $mol_object\n\ta null string|number\n","$mol_view_tree2_to_js_test_ex_bidi_in_dictionary_foo $mol_object\n\tevent *\n\t\tclick? <=> run? null\n","$mol_scroll $mol_view\n\tscroll_top? 0\n\tscroll_left? 0\n\tattr *\n\t\t^\n\t\ttabindex <= tabindex -1\n\tevent *\n\t\t^\n\t\tscroll?event <=> event_scroll?event null\n","namespace $ {\n\n\texport class $mol_print extends $mol_object {\n\n\t\t@ $mol_mem\n\t\tstatic before() {\n\t\t\treturn new $mol_dom_listener( this.$.$mol_dom_context , 'beforeprint' , ()=> {\n\t\t\t\tthis.active( true )\n\t\t\t} )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tstatic after() {\n\t\t\treturn new $mol_dom_listener( this.$.$mol_dom_context , 'afterprint' , ()=> {\n\t\t\t\tthis.active( false )\n\t\t\t} )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tstatic active( next? : boolean ) {\n\t\t\tthis.before()\n\t\t\tthis.after()\n\t\t\treturn next || false\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\n\texport function $mol_style_sheet<\n\t\tComponent extends $mol_view,\n\t\tConfig extends $mol_style_guard< Component , Config >,\n\t>(\n\t\tComponent : new()=> Component,\n\t\tconfig0 : Config ,\n\t) {\n\n\t\tlet rules = [] as string[]\n\n\t\tconst block = $mol_dom_qname( $mol_ambient({}).$mol_func_name( Component ) )\n\t\tconst kebab = ( name : string )=> name.replace( /[A-Z]/g , letter => '-' + letter.toLowerCase() )\n\n\t\tconst make_class = ( prefix : string , path : string[] , config : typeof config0 )=> {\n\n\t\t\tconst props = [] as string[]\n\n\t\t\tconst selector = ( prefix : string , path : string[] )=> {\n\t\t\t\tif( path.length === 0 ) return prefix || `[${ block }]`\n\t\t\t\tlet res = `[${ block }_${ path.join('_') }]`\n\t\t\t\tif( prefix ) res = prefix + ' :where(' + res + ')'\n\t\t\t\treturn res\n\t\t\t}\n\t\t\t\n\t\t\tfor( const key of Object.keys( config ).reverse() ) {\n\n\t\t\t\tif( /^(--)?[a-z]/.test(key) ) {\n\t\t\t\t\t\n\t\t\t\t\tconst addProp = ( keys : string[] , val : any )=> {\n\n\t\t\t\t\t\tif( Array.isArray( val ) ) {\n\n\t\t\t\t\t\t\tif( val[0] && [ Array , Object ].includes( val[0].constructor ) ) {\n\t\t\t\t\t\t\t\tval = val.map( v => {\n\t\t\t\t\t\t\t\t\treturn Object.entries( v ).map( ([ n , a ])=> {\n\t\t\t\t\t\t\t\t\t\tif( a === true ) return kebab( n )\n\t\t\t\t\t\t\t\t\t\tif( a === false ) return null\n\t\t\t\t\t\t\t\t\t\treturn String( a )\n\t\t\t\t\t\t\t\t\t} ).filter( Boolean ).join(' ')\n\t\t\t\t\t\t\t\t}).join( ',' )\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tval = val.join(' ')\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tprops.push(`\\t${ keys.join('-') }: ${ val };\\n`)\n\n\t\t\t\t\t\t} else if( val.constructor === Object ) {\n\n\t\t\t\t\t\t\tfor( let suffix of Object.keys( val ).reverse() ) {\n\t\t\t\t\t\t\t\taddProp( [ ... keys , kebab( suffix ) ] , val[ suffix ] )\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\tprops.push(`\\t${ keys.join('-') }: ${ val };\\n`)\n\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\n\t\t\t\t\taddProp( [ kebab(key) ] , (config as any)[key] )\n\n\t\t\t\t} else if( /^[A-Z]/.test(key) ) {\n\n\t\t\t\t\tmake_class( prefix , [ ... path , key.toLowerCase() ] , (config as any)[key] )\n\n\t\t\t\t} else if( key[0] === '$' ) {\n\n\t\t\t\t\tmake_class( selector( prefix , path ) + ' :where([' + $mol_dom_qname( key ) + '])' , [] , (config as any)[key] )\n\n\t\t\t\t} else if( key === '>' ) {\n\n\t\t\t\t\tconst types = config[key] as any\n\n\t\t\t\t\tfor( let type of Object.keys( types ).reverse() ) {\n\t\t\t\t\t\tmake_class( selector( prefix , path ) + ' > :where([' + $mol_dom_qname( type ) + '])' , [] , types[type] )\n\t\t\t\t\t}\n\n\t\t\t\t} else if( key === '@' ) {\n\n\t\t\t\t\tconst attrs = config[key] as any\n\n\t\t\t\t\tfor( let name of Object.keys( attrs ).reverse() ) {\n\t\t\t\t\t\tfor( let val in attrs[name] ) {\n\t\t\t\t\t\t\tmake_class( selector( prefix , path ) + ':where([' + name + '=' + JSON.stringify( val ) + '])' , [] , attrs[name][val] )\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t} else if( key === '@media' ) {\n\n\t\t\t\t\tconst media = (config as any)[key] as any\n\n\t\t\t\t\tfor( let query of Object.keys( media ).reverse() ) {\n\n\t\t\t\t\t\trules.push('}\\n')\n\t\t\t\t\t\t\n\t\t\t\t\t\tmake_class( prefix , path , media[query] )\n\t\t\t\t\t\t\n\t\t\t\t\t\trules.push( `${ key } ${ query } {\\n` )\n\n\t\t\t\t\t}\n\n\t\t\t\t} else if( key === '@starting-style' ) {\n\n\t\t\t\t\tconst styles = (config as any)[key] as any\n\t\t\t\t\trules.push('}\\n')\n\t\t\t\t\tmake_class( prefix , path , styles )\n\t\t\t\t\trules.push( `${ key } {\\n` )\n\n\t\t\t\t} else if( key[0] === '[' && key[key.length-1] === ']' ) {\n\n\t\t\t\t\tconst attr = key.slice( 1, -1 )\n\t\t\t\t\tconst vals = config[ key as any ] as any as Record< string, any >\n\t\t\t\t\t\n\t\t\t\t\tfor( let val of Object.keys( vals ).reverse() ) {\n\t\t\t\t\t\tmake_class( selector( prefix , path ) + ':where([' + attr + '=' + JSON.stringify( val ) + '])' , [] , vals[val] )\n\t\t\t\t\t}\n\t\t\t\t\n\t\t\t\t} else {\n\n\t\t\t\t\tmake_class( selector( prefix , path ) + key , [] , (config as any)[key] )\n\n\t\t\t\t}\n\n\t\t\t}\n\t\t\t\n\t\t\tif( props.length ) {\n\t\t\t\trules.push( `${ selector( prefix , path ) } {\\n${ props.reverse().join('') }}\\n` )\n\t\t\t}\n\n\t\t}\n\n\t\tmake_class( '' , [] , config0 )\n\n\t\treturn rules.reverse().join('')\n\n\t}\n\n}\n","namespace $ {\n\n\texport class $mol_style_sheet_test1 extends $mol_view {\n\t\tItem() { return new $mol_view }\n\t}\n\n\texport class $mol_style_sheet_test2 extends $mol_view {\n\t\tList() { return new $mol_style_sheet_test1 }\n\t}\n\n\t$mol_test({\n\n\t\t'component block styles'() {\n\t\t\n\t\t\tclass $mol_style_sheet_test extends $mol_view {}\n\n\t\t\tconst sheet = $mol_style_sheet( $mol_style_sheet_test , {\n\t\t\t\tdisplay: 'block',\n\t\t\t\tzIndex: 1,\n\t\t\t} )\n\n\t\t\t$mol_assert_equal( sheet , '[mol_style_sheet_test] {\\n\\tdisplay: block;\\n\\tz-index: 1;\\n}\\n' )\n\t\t\t\n\t\t},\n\n\t\t'various units'() {\n\t\t\n\t\t\tclass $mol_style_sheet_test extends $mol_view {}\n\n\t\t\tconst sheet = $mol_style_sheet( $mol_style_sheet_test , {\n\t\t\t\twidth : '50%',\n\t\t\t\theight : '50px',\n\t\t\t} )\n\n\t\t\t$mol_assert_equal( sheet , '[mol_style_sheet_test] {\\n\\twidth: 50%;\\n\\theight: 50px;\\n}\\n' )\n\t\t\t\n\t\t},\n\n\t\t'various functions'() {\n\t\t\n\t\t\tclass $mol_style_sheet_test extends $mol_view {}\n\n\t\t\tconst { calc } = $mol_style_func\n\n\t\t\tconst sheet = $mol_style_sheet( $mol_style_sheet_test , {\n\t\t\t\twidth : calc( `100% - 1px` ),\n\t\t\t} )\n\n\t\t\t$mol_assert_equal( sheet , '[mol_style_sheet_test] {\\n\\twidth: calc(100% - 1px);\\n}\\n' )\n\t\t\t\n\t\t},\n\n\t\t'property groups'() {\n\t\t\n\t\t\tclass $mol_style_sheet_test extends $mol_view {}\n\n\t\t\tconst sheet = $mol_style_sheet( $mol_style_sheet_test , {\n\t\t\t\tflex : {\n\t\t\t\t\tgrow: 5,\n\t\t\t\t\tshrink: 10,\n\t\t\t\t}\n\t\t\t} )\n\n\t\t\t$mol_assert_equal( sheet , '[mol_style_sheet_test] {\\n\\tflex-grow: 5;\\n\\tflex-shrink: 10;\\n}\\n' )\n\t\t\t\n\t\t},\n\t\t\n\t\t'custom properties'() {\n\t\t\n\t\t\tclass $mol_style_sheet_test extends $mol_view {}\n\n\t\t\tconst sheet = $mol_style_sheet( $mol_style_sheet_test , {\n\t\t\t\t'--isVariable': 'yes',\n\t\t\t\t'--is_variable': 'no',\n\t\t\t} )\n\n\t\t\t$mol_assert_equal( sheet , '[mol_style_sheet_test] {\\n\\t--is-variable: yes;\\n\\t--is_variable: no;\\n}\\n' )\n\t\t\t\n\t\t},\n\t\t\n\t\t'custom property groups'() {\n\t\t\t\n\t\t\tclass $mol_style_sheet_test extends $mol_view {}\n\n\t\t\tconst sheet = $mol_style_sheet( $mol_style_sheet_test , {\n\t\t\t\t'--variable' : {\n\t\t\t\t\ttest1: '5px',\n\t\t\t\t\ttest2: '10px',\n\t\t\t\t},\n\t\t\t} )\n\n\t\t\t$mol_assert_equal( sheet , '[mol_style_sheet_test] {\\n\\t--variable-test1: 5px;\\n\\t--variable-test2: 10px;\\n}\\n' )\n\t\t\t\n\t\t},\n\n\t\t'property shorthand'() {\n\t\t\n\t\t\tclass $mol_style_sheet_test extends $mol_view {}\n\t\t\t\n\t\t\tconst sheet = $mol_style_sheet( $mol_style_sheet_test , {\n\t\t\t\tpadding: [ '5px' , 'auto' ],\n\t\t\t\tmargin: [ '10px' , 'auto' ],\n\t\t\t} )\n\n\t\t\t$mol_assert_equal( sheet , '[mol_style_sheet_test] {\\n\\tpadding: 5px auto;\\n\\tmargin: 10px auto;\\n}\\n' )\n\t\t\t\n\t\t},\n\n\t\t'sequenced values'() {\n\t\t\n\t\t\tclass $mol_style_sheet_test extends $mol_view {}\n\n\t\t\tconst { url } = $mol_style_func\n\n\t\t\tconst sheet = $mol_style_sheet( $mol_style_sheet_test , {\n\t\t\t\tbackground: {\n\t\t\t\t\timage: [ [url('foo')], [url('bar')] ],\n\t\t\t\t\tsize: [[ 'cover' ], [ 'contain' ]],\n\t\t\t\t},\n\t\t\t} )\n\n\t\t\t$mol_assert_equal( sheet , '[mol_style_sheet_test] {\\n\\tbackground-image: url(\"foo\"),url(\"bar\");\\n\\tbackground-size: cover,contain;\\n}\\n' )\n\t\t\t\n\t\t},\n\n\t\t'sequenced structs'() {\n\t\t\n\t\t\tclass $mol_style_sheet_test extends $mol_view {}\n\n\t\t\tconst sheet = $mol_style_sheet( $mol_style_sheet_test , {\n\t\t\t\tbox: {\n\t\t\t\t\tshadow: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tinset: true,\n\t\t\t\t\t\t\tx: 0,\n\t\t\t\t\t\t\ty: 0,\n\t\t\t\t\t\t\tblur: '0.5rem',\n\t\t\t\t\t\t\tspread: 0,\n\t\t\t\t\t\t\tcolor: 'red',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tinset: false,\n\t\t\t\t\t\t\tx: 0,\n\t\t\t\t\t\t\ty: 0,\n\t\t\t\t\t\t\tblur: '0.5rem',\n\t\t\t\t\t\t\tspread: 0,\n\t\t\t\t\t\t\tcolor: 'blue',\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t} )\n\n\t\t\t$mol_assert_equal( sheet , '[mol_style_sheet_test] {\\n\\tbox-shadow: inset 0 0 0.5rem 0 red,0 0 0.5rem 0 blue;\\n}\\n' )\n\t\t\t\n\t\t},\n\n\t\t'component block styles with pseudo class'() {\n\t\t\n\t\t\tclass $mol_style_sheet_test extends $mol_view {}\n\n\t\t\tconst sheet = $mol_style_sheet( $mol_style_sheet_test , {\n\t\t\t\tcolor: 'red',\n\t\t\t\t':focus': {\n\t\t\t\t\tdisplay: 'block',\n\t\t\t\t},\n\t\t\t} )\n\n\t\t\t$mol_assert_equal( sheet , '[mol_style_sheet_test] {\\n\\tcolor: red;\\n}\\n[mol_style_sheet_test]:focus {\\n\\tdisplay: block;\\n}\\n' )\n\t\t\t\n\t\t},\n\n\t\t'component block styles with pseudo element'() {\n\t\t\n\t\t\tclass $mol_style_sheet_test extends $mol_view {}\n\n\t\t\tconst sheet = $mol_style_sheet( $mol_style_sheet_test , {\n\t\t\t\tcolor: 'red',\n\t\t\t\t'::first-line': {\n\t\t\t\t\tdisplay: 'block',\n\t\t\t\t},\n\t\t\t} )\n\n\t\t\t$mol_assert_equal( sheet , '[mol_style_sheet_test] {\\n\\tcolor: red;\\n}\\n[mol_style_sheet_test]::first-line {\\n\\tdisplay: block;\\n}\\n' )\n\t\t\t\n\t\t},\n\n\t\t'component block styles with media query'() {\n\t\t\n\t\t\tclass $mol_style_sheet_test extends $mol_view {}\n\n\t\t\tconst sheet = $mol_style_sheet( $mol_style_sheet_test , {\n\t\t\t\tcolor: 'red',\n\t\t\t\t'@media': {\n\t\t\t\t\t'print': {\n\t\t\t\t\t\tdisplay: 'block',\n\t\t\t\t\t},\n\t\t\t\t\t'(max-width: 640px)': {\n\t\t\t\t\t\tdisplay: 'inline',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t} )\n\n\t\t\t$mol_assert_equal( sheet , '[mol_style_sheet_test] {\\n\\tcolor: red;\\n}\\n@media print {\\n[mol_style_sheet_test] {\\n\\tdisplay: block;\\n}\\n}\\n@media (max-width: 640px) {\\n[mol_style_sheet_test] {\\n\\tdisplay: inline;\\n}\\n}\\n' )\n\t\t\t\n\t\t},\n\n\t\t'component block styles with attribute value'() {\n\t\t\n\t\t\tclass $mol_style_sheet_test extends $mol_view {\n\t\t\t\tattr() { return {\n\t\t\t\t\tmol_theme: '$mol_theme_dark'\n\t\t\t\t} }\n\t\t\t}\n\n\t\t\tconst sheet = $mol_style_sheet( $mol_style_sheet_test , {\n\t\t\t\tcolor: 'red',\n\t\t\t\t'@' : {\n\t\t\t\t\tmol_theme: {\n\t\t\t\t\t\t'$mol_theme_dark': {\n\t\t\t\t\t\t\tdisplay: 'block',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tdisabled: {\n\t\t\t\t\t\t'true': {\n\t\t\t\t\t\t\twidth: '100%',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t} )\n\n\t\t\t$mol_assert_equal( sheet , '[mol_style_sheet_test] {\\n\\tcolor: red;\\n}\\n[mol_style_sheet_test]:where([mol_theme=\"$mol_theme_dark\"]) {\\n\\tdisplay: block;\\n}\\n[mol_style_sheet_test]:where([disabled=\"true\"]) {\\n\\twidth: 100%;\\n}\\n' )\n\t\t\t\n\t\t},\n\n\t\t'component block styles with attribute value (short syntax)'() {\n\t\t\n\t\t\tclass $mol_style_sheet_test extends $mol_view {\n\t\t\t\tattr() { return {\n\t\t\t\t\tmol_theme: '$mol_theme_dark'\n\t\t\t\t} }\n\t\t\t}\n\n\t\t\tconst sheet = $mol_style_sheet( $mol_style_sheet_test , {\n\t\t\t\tcolor: 'red',\n\t\t\t\t'[mol_theme]': {\n\t\t\t\t\t'$mol_theme_dark': {\n\t\t\t\t\t\tdisplay: 'block',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t'[disabled]': {\n\t\t\t\t\t'true': {\n\t\t\t\t\t\twidth: '100%',\n\t\t\t\t\t},\n\t\t\t\t\t'false': {\n\t\t\t\t\t\twidth: '50%',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t} )\n\n\t\t\t$mol_assert_equal( sheet , '[mol_style_sheet_test] {\\n\\tcolor: red;\\n}\\n[mol_style_sheet_test]:where([mol_theme=\"$mol_theme_dark\"]) {\\n\\tdisplay: block;\\n}\\n[mol_style_sheet_test]:where([disabled=\"true\"]) {\\n\\twidth: 100%;\\n}\\n[mol_style_sheet_test]:where([disabled=\"false\"]) {\\n\\twidth: 50%;\\n}\\n' )\n\t\t\t\n\t\t},\n\n\t\t'component element styles'() {\n\t\t\n\t\t\tclass $mol_style_sheet_test extends $mol_view {\n\t\t\t\tItem() { return new $mol_view }\n\t\t\t}\n\n\t\t\tconst sheet = $mol_style_sheet( $mol_style_sheet_test , {\n\t\t\t\tcolor: 'red',\n\t\t\t\tItem : {\n\t\t\t\t\tdisplay: 'block',\n\t\t\t\t},\n\t\t\t} )\n\n\t\t\t$mol_assert_equal( sheet , '[mol_style_sheet_test] {\\n\\tcolor: red;\\n}\\n[mol_style_sheet_test_item] {\\n\\tdisplay: block;\\n}\\n' )\n\t\t\t\n\t\t},\n\n\t\t'component element of element styles'() {\n\t\t\n\t\t\tconst sheet = $mol_style_sheet( $mol_style_sheet_test2 , {\n\t\t\t\twidth: '100%',\n\t\t\t\tList : {\n\t\t\t\t\tcolor: 'red',\n\t\t\t\t\tItem : {\n\t\t\t\t\t\tdisplay: 'block',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t} )\n\n\t\t\t$mol_assert_equal( sheet , '[mol_style_sheet_test2] {\\n\\twidth: 100%;\\n}\\n[mol_style_sheet_test2_list] {\\n\\tcolor: red;\\n}\\n[mol_style_sheet_test2_list_item] {\\n\\tdisplay: block;\\n}\\n' )\n\t\t\t\n\t\t},\n\n\t\t'component element styles with block attribute value'() {\n\t\t\n\t\t\tclass $mol_style_sheet_test extends $mol_view {\n\t\t\t\tItem() { return new $mol_view }\n\t\t\t\tattr() { return {\n\t\t\t\t\tmol_theme: '$mol_theme_dark',\n\t\t\t\t\tdisabled: true,\n\t\t\t\t} }\n\t\t\t}\n\n\t\t\tconst sheet = $mol_style_sheet( $mol_style_sheet_test , {\n\t\t\t\t'@' : {\n\t\t\t\t\tmol_theme: {\n\t\t\t\t\t\t'$mol_theme_dark': {\n\t\t\t\t\t\t\tItem: {\n\t\t\t\t\t\t\t\tcolor: 'red',\n\t\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\t\t\t} )\n\n\t\t\t$mol_assert_equal( sheet , '[mol_style_sheet_test]:where([mol_theme=\"$mol_theme_dark\"]) :where([mol_style_sheet_test_item]) {\\n\\tcolor: red;\\n}\\n' )\n\t\t\t\n\t\t},\n\n\t\t'inner component styles by class'() {\n\t\t\n\t\t\tconst sheet = $mol_style_sheet( $mol_style_sheet_test2 , {\n\t\t\t\tcolor: 'red',\n\t\t\t\t$mol_style_sheet_test1 : {\n\t\t\t\t\tdisplay: 'block',\n\t\t\t\t},\n\t\t\t} )\n\n\t\t\t$mol_assert_equal( sheet , '[mol_style_sheet_test2] {\\n\\tcolor: red;\\n}\\n[mol_style_sheet_test2] :where([mol_style_sheet_test1]) {\\n\\tdisplay: block;\\n}\\n' )\n\t\t\t\n\t\t},\n\n\t\t'child component styles by class'() {\n\t\t\n\t\t\tconst sheet = $mol_style_sheet( $mol_style_sheet_test2 , {\n\t\t\t\tcolor: 'red',\n\t\t\t\t'>' : {\n\t\t\t\t\t$mol_style_sheet_test1 : {\n\t\t\t\t\t\tdisplay: 'block',\n\t\t\t\t\t},\n\t\t\t\t\t$mol_style_sheet_test2 : {\n\t\t\t\t\t\tdisplay: 'inline',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t} )\n\n\t\t\t$mol_assert_equal( sheet , '[mol_style_sheet_test2] {\\n\\tcolor: red;\\n}\\n[mol_style_sheet_test2] > :where([mol_style_sheet_test1]) {\\n\\tdisplay: block;\\n}\\n[mol_style_sheet_test2] > :where([mol_style_sheet_test2]) {\\n\\tdisplay: inline;\\n}\\n' )\n\t\t\t\n\t\t},\n\n\t})\n\n}\n","namespace $ {\n\n\t/**\n\t * CSS in TS.\n\t * Statically typed CSS style sheets. Following samples show which CSS code are generated from TS code.\n\t * @see https://mol.hyoo.ru/#!section=docs/=xwq9q5_f966fg\n\t */\n\texport function $mol_style_define<\n\t\tComponent extends $mol_view,\n\t\tConfig extends $mol_style_guard< Component , Config >,\n\t>(\n\t\tComponent : new()=> Component,\n\t\tconfig : Config ,\n\t) {\n\n\t\treturn $mol_style_attach(\n\t\t\tComponent.name,\n\t\t\t$mol_style_sheet( Component , config ),\n\t\t)\n\n\t}\n\n}\n","namespace $.$$ {\n\t\n\t/**\n\t * Scrolling pane.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_scroll_demo\n\t */\n\texport class $mol_scroll extends $.$mol_scroll {\n\n\t\t@ $mol_mem\n\t\tscroll_top( next? : number, cache?: 'cache' ): number {\n\t\t\t\n\t\t\tconst el = this.dom_node()\n\t\t\tif( next !== undefined && !cache ) el.scrollTop = next\n\t\t\t\n\t\t\treturn el.scrollTop\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tscroll_left( next? : number, cache?: 'cache' ): number {\n\t\t\t\n\t\t\tconst el = this.dom_node()\n\t\t\tif( next !== undefined && !cache ) el.scrollLeft = next\n\t\t\t\n\t\t\treturn el.scrollLeft\n\t\t}\n\t\t\n\t\tevent_scroll( next? : Event ) {\n\t\t\t\n\t\t\tconst el = this.dom_node() as HTMLElement\n\t\t\t\n\t\t\tthis.scroll_left( el.scrollLeft, 'cache' )\n\t\t\tthis.scroll_top( el.scrollTop, 'cache' )\n\t\t\t\n\t\t}\n\n\t\tminimal_height() {\n\t\t\treturn this.$.$mol_print.active() ? null! : 0\n\t\t}\n\t\t\n\t\tminimal_width() {\n\t\t\treturn this.$.$mol_print.active() ? null! : 0\n\t\t}\n\t\t\n\t}\n\n}\n","namespace $.$$ {\n\n\tconst { per , rem , px } = $mol_style_unit\n\n\t$mol_style_define( $mol_scroll , {\n\n\t\tdisplay: 'grid',\n\t\toverflow: 'auto',\n\t\tflex: {\n\t\t\tdirection: 'column',\n\t\t\tgrow: 1,\n\t\t\tshrink: 1,\n\t\t\t// basis: 0,\n\t\t},\n\t\toutline: 'none',\n\t\talign: {\n\t\t\tself: 'stretch',\n\t\t\titems: 'flex-start',\n\t\t},\n\t\tboxSizing: 'border-box',\n\t\twillChange: 'scroll-position',\n\t\tscroll: {\n\t\t\tpadding: [ rem(.75), 0 ],\n\t\t},\n\t\tmaxHeight: per(100),\n\t\tmaxWidth: per(100),\n\t\twebkitOverflowScrolling: 'touch',\n\t\tcontain: 'content',\n\n\t\t'>': {\n\t\t\t$mol_view: {\n\t\t\t\t// transform: 'translateZ(0)', // enforce gpu scroll in all agents\n\t\t\t\tgridArea: '1/1',\n\t\t\t},\n\t\t},\n\n\t\t'::before': {\n\t\t\tdisplay: 'none',\n\t\t},\n\t\t'::after': {\n\t\t\tdisplay: 'none',\n\t\t},\n\t\t\n\t\t'::-webkit-scrollbar': {\n\t\t\twidth: rem(.25),\n\t\t\theight: rem(.25),\n\t\t},\n\t\t\n\t\t'@media' : {\n\t\t\t'print' : {\n\t\t\t\toverflow: 'hidden',\n\t\t\t\tcontain: 'none',\n\t\t\t\tmaxHeight: 'unset',\n\t\t\t},\n\t\t},\n\n\t})\n\n}\n","$mol_page $mol_view\n\tdom_name \\article\n\tattr *\n\t\t^\n\t\ttabIndex <= tabindex -1\n\tsub /\n\t\t<= Head $mol_view\n\t\t\tminimal_height 64\n\t\t\tdom_name \\header\n\t\t\tsub <= head /\n\t\t\t\t<= Title $mol_view\n\t\t\t\t\tdom_name \\h1\n\t\t\t\t\tsub <= title_content /\n\t\t\t\t\t\t<= Logo null\n\t\t\t\t\t\t<= title\n\t\t\t\t<= Tools $mol_view\n\t\t\t\t\tsub <= tools /$mol_view_content\n\t\t<= Body $mol_scroll\n\t\t\tscroll_top? => body_scroll_top?\n\t\t\tsub <= body_content /\n\t\t\t\t<= Body_content $mol_view\n\t\t\t\t\tsub <= body /$mol_view\n\t\t<= Foot $mol_view\n\t\t\tdom_name \\footer\n\t\t\tsub <= foot /$mol_view\n","namespace $.$$ {\n\n\tconst { per , rem } = $mol_style_unit\n\tconst { hsla, blur } = $mol_style_func\n\n\t$mol_style_define( $mol_page , {\n\n\t\tdisplay: 'flex' ,\n\t\tflex: {\n\t\t\tbasis: 'auto' ,\n\t\t\tdirection: 'column' ,\n\t\t},\n\t\tposition: 'relative' ,\n\t\talignSelf: 'stretch' ,\n\t\tmaxWidth: per(100) ,\n\t\tmaxHeight: per(100) ,\n\t\tboxSizing: 'border-box' ,\n\t\tcolor: $mol_theme.text ,\n\t\t// backdropFilter: blur( `3px` ), enforces layering\n\t\t// zIndex: 0 ,\n\t\t\n\t\t':focus': {\n\t\t\toutline: 'none',\n\t\t} ,\n\n\t\tHead: {\n\t\t\tdisplay: 'flex' ,\n\t\t\tflexWrap: 'wrap' ,\n\t\t\tjustifyContent: 'flex-end' ,\n\t\t\tflex: 'none',\n\t\t\tposition: 'relative' ,\n\t\t\tmargin: 0 ,\n\t\t\tminHeight: rem(4),\n\t\t\tpadding: $mol_gap.block ,\n\t\t\tbackground: {\n\t\t\t\tcolor: $mol_theme.card ,\n\t\t\t},\n\t\t\tborder: {\n\t\t\t\tradius: $mol_gap.round,\n\t\t\t},\n\t\t\tbox: {\n\t\t\t\tshadow: [\n\t\t\t\t\t[ 0, `-0.5rem`, `0.5rem`, `-0.5rem`, hsla( 0, 0, 0, .25 ) ],\n\t\t\t\t\t[ 0, `0.5rem`, `0.5rem`, `-0.5rem`, hsla( 0, 0, 0, .25 ) ],\n\t\t\t\t],\n\t\t\t},\n\t\t\tzIndex: 2,\n\n\t\t\t'@media': {\n\t\t\t\t'print': {\n\t\t\t\t\tbox: {\n\t\t\t\t\t\tshadow: [[ 0, `1px`, 0, 0, hsla( 0, 0, 0, .25 ) ]],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\n\t\t},\n\n\t\tTitle: {\n\n\t\t\tminHeight: rem(2),\n\t\t\tmargin: 0,\n\t\t\tpadding: $mol_gap.text,\n\t\t\tgap: $mol_gap.text,\n\t\t\twordBreak: 'normal',\n\t\t\ttextShadow: '0 0',\n\n\t\t\tfont: {\n\t\t\t\tsize: 'inherit',\n\t\t\t\tweight: 'normal',\n\t\t\t},\n\t\n\t\t\tflex: {\n\t\t\t\tgrow: 1,\n\t\t\t\tshrink: 1,\n\t\t\t\tbasis: 'auto',\n\t\t\t},\n\n\t\t},\n\n\t\tTools: {\n\t\t\t\n\t\t\tflex: {\n\t\t\t\tbasis: 'auto',\n\t\t\t\tgrow: 0,\n\t\t\t\tshrink: 1,\n\t\t\t},\n\t\t\tdisplay: 'flex',\n\t\t\tjustifyContent: 'flex-end',\n\t\t\talignItems: 'flex-start',\n\t\t\tflexWrap: 'wrap',\n\n\t\t\t'@media': {\n\t\t\t\t'print': {\n\t\t\t\t\tdisplay: 'none',\n\t\t\t\t},\n\t\t\t},\n\n\t\t},\n\n\t\tBody: {\n\t\t\tflex: {\n\t\t\t\tgrow: 1000,\n\t\t\t\tshrink: 1,\n\t\t\t\tbasis: per(100),\n\t\t\t},\n\t\t},\n\t\t\n\t\tBody_content: {\n\t\t\tpadding: $mol_gap.block ,\n\t\t\tminHeight: 0,\n\t\t\tflex: {\n\t\t\t\tdirection: 'column',\n\t\t\t\tshrink: 1,\n\t\t\t\tgrow: 1,\n\t\t\t},\n\t\t\tjustify: {\n\t\t\t\tself: 'stretch',\n\t\t\t},\n\t\t},\n\t\t\n\t\tFoot: {\n\t\t\tdisplay: 'flex',\n\t\t\tjustifyContent: 'space-between',\n\t\t\tflex: 'none',\n\t\t\tmargin: 0,\n\t\t\tbackground: {\n\t\t\t\tcolor: $mol_theme.card ,\n\t\t\t},\n\t\t\tborder: {\n\t\t\t\tradius: $mol_gap.round,\n\t\t\t},\n\t\t\tbox: {\n\t\t\t\tshadow: [\n\t\t\t\t\t[ 0, `-0.5rem`, `0.5rem`, `-0.5rem`, hsla( 0, 0, 0, .25 ) ],\n\t\t\t\t\t[ 0, `0.5rem`, `0.5rem`, `-0.5rem`, hsla( 0, 0, 0, .25 ) ],\n\t\t\t\t],\n\t\t\t},\n\t\t\tzIndex: 1,\n\t\t\tpadding: $mol_gap.block ,\n\t\t\t':empty': {\n\t\t\t\tdisplay: 'none',\n\t\t\t},\n\t\t},\t\n\n\t} )\n\t\n}\n","$mol_view_tree2_to_js_test_ex_right_in_left_foo $mol_object\n\ta null\n$mol_view_tree2_to_js_test_ex_right_in_left_bar $mol_object\n\tfoo <= Cls $mol_view_tree2_to_js_test_ex_right_in_left_foo\n\t\ta => b\n\tpages /\n\t\t<= Menu $mol_page\n\t\t\tTitle => Menu_title\n","$mol_view_tree2_to_js_test_ex_simple_empty_class_foo $mol_object\n","$mol_view_tree2_to_js_test_ex_simple_two_classes_foo $mol_object\n\tstr \\some\n$mol_view_tree2_to_js_test_ex_simple_two_classes_bar $mol_view_tree2_to_js_test_ex_simple_two_classes_foo\n\tstr \\some2\n","$mol_view_tree2_to_js_test_ex_simple_factory_props_bar $mol_object\n\tsub /number\n\tloc \\v2\n\tdeep * loc @ \\v2\n\tsome false\n\n$mol_view_tree2_to_js_test_ex_simple_factory_props_foo $mol_object\n\tbutton $mol_view_tree2_to_js_test_ex_simple_factory_props_bar\n\t\tsome true\n\t\tloc @ \\v1\n\t\tdeep * loc @ \\v1\n\t\tsub /\n\t\t\t1\n","$mol_view_tree2_to_js_test_ex_simple_default_indexed_foo $mol_object\n\ta_b*? 0\n\tlegacy*k?v 0\n","$mol_view_tree2_to_js_test_ex_structural_complex_key_foo $mol_object\n\tdictionary *\n\t\t\\raw data key\n\t\t\t\\1\n\t\t\\key2\n\t\t\t\\2\n\t\tkey3\n\t\t\t\\3\n","$mol_view_tree2_to_js_test_ex_array_constructor_tuple_foo $mol_object\n\tblobs /\n\t\t<= text_blob? $mol_view_tree2_to_js_test_ex_klass_tuple<string> /\n\t\t\t/string\n\t\t\t\t<= text \\123\n\t\t\t* type \\text/plain\n","$mol_view_tree2_to_js_test_ex_left_second_level_index_bar $mol_object\n\tlocalized \\\n\n$mol_view_tree2_to_js_test_ex_left_second_level_index_foo $mol_object\n\tcls* <= owner*? $mol_view_tree2_to_js_test_ex_left_second_level_index_bar\n\t\tlocalized <= some*? @ \\v1\n","$mol_view_tree2_to_js_test_ex_structural_quoted_props_foo $mol_object\n\tbar *\n\t\ta$ 1\n\t\tb-t *\n","$mol_view_tree2_to_js_test_ex_structural_spread_other_foo $mol_object\n\ttest *\n\t\taaa 123\n\tfield *\n\t\tbbb 321\n\t\t^ test\n","$mol_view_tree2_to_js_test_ex_array_of_array_or_object_foo $mol_object\n\tcomplex /\n\t\t\\1\n\t\t/\n\t\t\ttrue\n\t\t/\n\t\t\t\\1\n\t\t\t21\n\t\t*number|string\n\t\t\ta 1\n\t\t\tstr \\some\n","$mol_view_tree2_to_js_test_ex_bidi_localized_in_object_foo $mol_object\n\tobj *\n\t\tloc? <=> outer? @ \\test1\n","$mol_view_tree2_to_js_test_ex_bidi_with_default_object_foo $mol_object\n\tclass? <=> owner? $mol_object\n","$mol_view_tree2_to_js_test_ex_left_in_array_and_object_bar $mol_object\n\trows /\n$mol_view_tree2_to_js_test_ex_left_in_array_and_object_foo $mol_object\n\tobj *\n\t\tprop <= Obj\n\tarr /\n\t\t<= Obj $mol_view_tree2_to_js_test_ex_left_in_array_and_object_bar\n\t\t\trows <= content /\n","$mol_view_tree2_to_js_test_ex_bidi_indexed_second_level_bar $mol_object\n\texpanded \\\n$mol_view_tree2_to_js_test_ex_bidi_indexed_second_level_foo $mol_object\n\tindexed*? $mol_view_tree2_to_js_test_ex_bidi_indexed_second_level_bar\n\t\texpanded <=> owner*? \\w\n","$mol_view_tree2_to_js_test_ex_array_spread_other_bar $mol_object\n\tsup /\n\t\t\\v1\n\tarr /\n\t\t\\v2\n\t\t^ sup\n","$mol_view_tree2_to_js_test_ex_simple_factory_inheritance_bar $mol_object\n\tconfig *\n\t\tips /\n\t\t\t\\127.0.0.1\n\n$mol_view_tree2_to_js_test_ex_simple_factory_inheritance_foo $mol_object\n\tHaving $mol_view_tree2_to_js_test_ex_simple_factory_inheritance_bar\n\t\tconfig *\n\t\t\tips /\n\t\t\t\t^\n\t\t\t\t\\0.0.0.0\n\t\t\t\t^ addon /\n\t\t\t\t\t\\1.1.1.1\n","$mol_view_tree2_to_js_test_ex_structural_with_inheritance_foo $mol_object\n\tfield *\n\t\txxx 123\n\t\txxy \\test\n\n$mol_view_tree2_to_js_test_ex_structural_with_inheritance_bar $mol_view_tree2_to_js_test_ex_structural_with_inheritance_foo\n\tfield *\n\t\tyyy 234\n\t\t^\n\t\tzzz 345\n","$mol_view_tree2_to_js_test_ex_bidi_localized_default_value_foo $mol_object\n\ta? <=> b? @ \\some1\n","$mol_view_tree2_to_js_test_ex_simple_mutable_and_read_only_foo $mol_object\n\treadonly null\n\tmutable? null\n","$mol_view_tree2_to_js_test_ex_structural_localized_prop_value_foo $mol_object\n\tbar *\n\t\tloc @ \\\\v1\n\t\tbaz *\n\t\t\tloc2 @ \\\\v2\n","$mol_view_tree2_to_js_test_ex_left_with_separate_default_and_comment_bar $mol_object\n\trows /\n$mol_view_tree2_to_js_test_ex_left_with_separate_default_and_comment_foo $mol_object\n\tcontent 123\n\tObj $mol_view_tree2_to_js_test_ex_left_with_separate_default_and_comment_bar\n\t\trows / <= content - 321\n","$mol_view_tree2_to_js_test_ex_bidi_with_separate_default_in_right_part_foo $mol_object\n\tb? false\n\ta? <=> b?\n","$mol_view_tree2_to_js_test_ex_bidi_doubing_right_part_with_same_default_foo $mol_object\n\ta? <=> b? false\n\tc? <=> b? false\n","namespace $ {\n\texport type $mol_view_tree2_to_js_test_ex_klass_tuple_type = 'a' | 'b' | 'c'\n\n\texport class $mol_view_tree2_to_js_test_ex_klass_tuple<V = string> extends $mol_object {\n\t\tconstructor(readonly tuple: readonly string[] = [], readonly some?: { type: V }) {\n\t\t\tsuper()\n\t\t}\n\t}\n}\n","namespace $ {\n\texport class $mol_view_tree2_to_js_test_ex_right_hierarchy_bar extends $mol_object {\n\t\t@ $mol_mem\n\t\ttitle(next?: number) {\n\t\t\treturn 123 + (next ?? 0)\n\t\t}\n\t\tid() {\n\t\t\treturn 0\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tdomain(id: number) {\n\t\t\treturn {\n\t\t\t\tuser() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tid() {\n\t\t\t\t\t\t\treturn 1 + id\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n","namespace $ {\n\n\tconst str2js = (function (this: $, data: string, url: string) {\n\t\tconst tree = this.$mol_tree2_from_string(data, url)\n\t\tconst js_tree = this.$mol_view_tree2_to_js(tree)\n\t\tconst js_text = this.$mol_tree2_js_to_text(js_tree)\n\t\tconst js_str = this.$mol_tree2_text_to_string_mapped_js(js_text)\n\t\treturn js_str\n\t}).bind($ as typeof $$)\n\n\texport function $mol_view_tree2_to_js_test_run( tree: string ): any {\n\t\tclass $mol_view_mock extends $mol_object {}\n\t\tconst $ = { $mol_object: $mol_view_mock }\n\t\t;( $mol_view_mock as any )[$mol_ambient_ref] = $\n\n\t\tconst src_uri = `.view.tree`\n\t\tconst js = str2js( tree, src_uri )\n\n\t\teval( js )\n\t\treturn $\n\t}\n}\n","namespace $ {\n\n\t$mol_test({\n\t\t'Bidi bind fallback'( $ ) {\n\t\t\tconst _foo = $mol_view_tree2_to_js_test_ex_bidi_fallback_foo\n\t\t\tconst foo = _foo.make({ })\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\tfoo.bar1(),\n\t\t\t\tfoo.bar2(),\n\t\t\t\t1,\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\tfoo.bar2( 2 ),\n\t\t\t\tfoo.bar1(),\n\t\t\t\t2,\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\tfoo.bar1( 1 ),\n\t\t\t\tfoo.bar1(),\n\t\t\t\t1,\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\tfoo.bar1( 1 ),\n\t\t\t\tfoo.bar2(),\n\t\t\t\t1,\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\tfoo.bar2( 3 ),\n\t\t\t\tfoo.bar2(),\n\t\t\t\tfoo.bar1(),\n\t\t\t\t3,\n\t\t\t)\n\t\t\t\n\t\t},\n\n\t\t'Bidi bind legacy value'( $ ) {\n\t\t\tconst _foo = $mol_view_tree2_to_js_test_ex_bidi_legacy_value_foo\n\n\t\t\tconst foo = _foo.make({ $ })\n\t\t\t\n\t\t\t$mol_assert_like(\n\t\t\t\tfoo.a(),\n\t\t\t\tfoo.b(),\n\t\t\t\t1,\n\t\t\t)\n\n\t\t\t$mol_assert_like(\n\t\t\t\tfoo.b( 2 ),\n\t\t\t\tfoo.a(),\n\t\t\t\t2,\n\t\t\t)\n\t\t},\n\t\t\n\t\t'Bidi bind in dictionary'( $ ) {\n\t\t\tconst _foo = $mol_view_tree2_to_js_test_ex_bidi_in_dictionary_foo\n\t\t\t\n\t\t\t$mol_assert_like(\n\t\t\t\t_foo.make({ $ }).event().click({}),\n\t\t\t\t{},\n\t\t\t)\n\t\t\t\n\t\t},\n\n\t\t'Bidi bind chaining'( $ ) {\n\t\t\tconst _foo = $mol_view_tree2_to_js_test_ex_bidi_chaining_foo\n\t\t\tconst foo = _foo.make({ $ })\n\n\t\t\t$mol_assert_like(\n\t\t\t\tfoo.c(),\n\t\t\t\tfoo.b(),\n\t\t\t\tfoo.a()\n\t\t\t)\n\t\t},\n\n\t\t'Bidi bind indexed'( $ ) {\n\t\t\tconst _foo = $mol_view_tree2_to_js_test_ex_bidi_indexed_foo\n\t\t\tconst foo = _foo.make({ $ })\n\n\t\t\tfoo.owner(1, 'a')\n\t\t\tfoo.owner(2, 'b'),\n\n\t\t\t$mol_assert_like(\n\t\t\t\tfoo.owner(1),\n\t\t\t\tfoo.indexed(1),\n\t\t\t\t'a'\n\t\t\t)\n\n\t\t\t$mol_assert_like(\n\t\t\t\tfoo.owner(1, 'a2'),\n\t\t\t\tfoo.indexed(1),\n\t\t\t\t'a2'\n\t\t\t)\n\n\t\t\t$mol_assert_like(\n\t\t\t\tfoo.owner(2),\n\t\t\t\tfoo.indexed(2),\n\t\t\t\t'b'\n\t\t\t)\n\t\t},\n\n\t\t'Bidi bind indexed second level'( $ ) {\n\t\t\tconst _foo = $mol_view_tree2_to_js_test_ex_bidi_indexed_second_level_foo\n\t\t\tconst _bar = $mol_view_tree2_to_js_test_ex_bidi_indexed_second_level_bar\n\t\t\t_foo.$.$mol_view_tree2_to_js_test_ex_bidi_indexed_second_level_bar = _bar\n\n\t\t\tconst foo = _foo.make({ $ })\n\n\n\t\t\tfoo.owner(1, 'a')\n\t\t\tfoo.owner(2, 'b')\n\n\t\t\t$mol_assert_like(\n\t\t\t\tfoo.owner(1),\n\t\t\t\tfoo.indexed(1).expanded(),\n\t\t\t\t'a'\n\t\t\t)\n\n\t\t\t$mol_assert_like(\n\t\t\t\tfoo.owner(2),\n\t\t\t\tfoo.indexed(2).expanded(),\n\t\t\t\t'b'\n\t\t\t)\n\t\t},\n\n\t\t'Bidi bind doubing right part with same default'( $ ) {\n\t\t\tconst _foo = $mol_view_tree2_to_js_test_ex_bidi_doubing_right_part_with_same_default_foo\n\t\t\tconst foo = _foo.make({ $ })\n\n\t\t\t$mol_assert_like(\n\t\t\t\tfoo.b(),\n\t\t\t\tfoo.c(),\n\t\t\t\tfoo.a(),\n\t\t\t\tfalse\n\t\t\t)\n\t\t},\n\n\t\t'Bidi bind with separate default in right part'( $ ) {\n\t\t\tconst _foo = $mol_view_tree2_to_js_test_ex_bidi_with_separate_default_in_right_part_foo\n\t\t\tconst foo = _foo.make({ $ })\n\t\t\t$mol_assert_like(\n\t\t\t\tfoo.b(),\n\t\t\t\tfoo.a()\n\t\t\t)\n\t\t},\n\n\t\t'Bidi bind index from outer scope throws error'( $ ) {\n\t\t\t$mol_assert_fail(() => {\n\t\t\t\t$mol_view_tree2_to_js_test_run(`\n\t\t\t\t\tFoo $mol_view\n\t\t\t\t\t\ta!? $mol_view\n\t\t\t\t\t\t\texpanded <=> cell_test_expanded!? null\n\t\t\t\t`)\n\t\t\t}, `Required prop like some*? at \\`.view.tree#4:21/20\\`\n<=>\n.view.tree#4:17/3\nexpanded\n.view.tree#4:8/8\n$mol_view\n.view.tree#3:11/9\na!?\n.view.tree#3:7/3` )\n\t\t},\n\n\t\t'Bidi bind with default object'( $ ) {\n\t\t\tconst _foo = $mol_view_tree2_to_js_test_ex_bidi_with_default_object_foo\n\t\t\tconst foo = _foo.make({ $ })\n\t\t\tconst view = new $mol_object\n\t\t\tfoo.owner(view)\n\n\t\t\t$mol_assert_like(\n\t\t\t\tfoo.owner(),\n\t\t\t\tfoo.class(),\n\t\t\t\tview\n\t\t\t)\n\t\t},\n\t\t\n\t\t'Bidi bind localized default value'( $ ) {\n\t\t\tconst _foo = $mol_view_tree2_to_js_test_ex_bidi_localized_default_value_foo\n\t\t\tconst foo = _foo.make({ $ })\n\n\t\t\t$mol_assert_like(\n\t\t\t\tfoo.b(),\n\t\t\t\tfoo.a(),\n\t\t\t\t`$mol_view_tree2_to_js_test_ex_bidi_localized_default_value_foo_b`,\n\t\t\t)\n\t\t\n\t\t},\n\n\t\t'Bidi bind localized in object'( $ ) {\n\t\t\tconst _foo = $mol_view_tree2_to_js_test_ex_bidi_localized_in_object_foo\n\t\t\tconst foo = _foo.make({ $ })\n\n\t\t\t$mol_assert_like(\n\t\t\t\tfoo.obj().loc(),\n\t\t\t\tfoo.outer(),\n\t\t\t\t`$mol_view_tree2_to_js_test_ex_bidi_localized_in_object_foo_outer`\n\t\t\t)\n\t\t},\n\n\t})\n\t\n}\n","namespace $ {\n\n\t$mol_test({\n\t\t\n\t\t'Left bind read only'( $ ) {\n\t\t\tconst _foo = $mol_view_tree2_to_js_test_ex_left_read_only_foo\n\t\t\t\n\t\t\tconst foo = _foo.make({ $ })\n\t\t\t\n\t\t\t$mol_assert_like(\n\t\t\t\tfoo.bar1(),\n\t\t\t\t// @ts-ignore\n\t\t\t\tfoo.bar1( 2 ),\n\t\t\t\tfoo.bar1(),\n\t\t\t\tfoo.bar2(),\n\t\t\t\t1,\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_like(\n\t\t\t\tfoo.bar2( 2 ),\n\t\t\t\tfoo.bar1(),\n\t\t\t\t2,\n\t\t\t)\n\t\t\t\n\t\t},\n\n\t\t'Left bind second level index'( $ ) {\n\t\t\tconst _foo = $mol_view_tree2_to_js_test_ex_left_second_level_index_foo\n\t\t\tconst foo = _foo.make({ $ })\n\n\t\t\t$mol_assert_ok(foo.owner(1) instanceof $mol_object)\n\t\t\t$mol_assert_like(\n\t\t\t\tfoo.some(1),\n\t\t\t\tfoo.some(1),\n\t\t\t\t`$mol_view_tree2_to_js_test_ex_left_second_level_index_foo_some`\n\t\t\t)\n\n\t\t\t$mol_assert_equal(\n\t\t\t\tfoo.owner(1),\n\t\t\t\tfoo.cls(1),\n\t\t\t)\n\n\t\t\t$mol_assert_equal(\n\t\t\t\tfoo.owner(1).localized(),\n\t\t\t\tfoo.some(1),\n\t\t\t)\n\n\t\t\t$mol_assert_equal(\n\t\t\t\tfoo.cls(2),\n\t\t\t\tfoo.owner(2),\n\t\t\t)\n\t\t},\n\n\t\t'Left bind in array and object'( $ ) {\n\t\t\tconst _foo = $mol_view_tree2_to_js_test_ex_left_in_array_and_object_foo\n\t\t\tconst foo = _foo.make({ $ })\n\n\t\t\t$mol_assert_equal(\n\t\t\t\tfoo.obj().prop,\n\t\t\t\tfoo.arr()[0],\n\t\t\t\tfoo.Obj()\n\t\t\t)\n\t\t},\n\n\t\t'Left bind with separate default and comment'( $ ) {\n\t\t\tconst _foo = $mol_view_tree2_to_js_test_ex_left_with_separate_default_and_comment_foo\n\t\t\tconst foo = _foo.make({ $ })\n\n\t\t\t$mol_assert_like(\n\t\t\t\tfoo.Obj().rows(),\n\t\t\t\t[ 123 ]\n\t\t\t)\n\t\t},\n\n\t\t'Left bind chaining'( $ ) {\n\t\t\tconst _foo = $mol_view_tree2_to_js_test_ex_left_chaining_foo\n\t\t\tconst foo = _foo.make({ $ })\n\n\t\t\t$mol_assert_equal(\n\t\t\t\tfoo.d(),\n\t\t\t\tfoo.c(),\n\t\t\t\tfoo.b(),\n\t\t\t\tfoo.a(),\n\t\t\t\t0\n\t\t\t)\n\n\t\t\t$mol_assert_equal(\n\t\t\t\tfoo.d(1),\n\t\t\t\tfoo.c(),\n\t\t\t\tfoo.b(),\n\t\t\t\tfoo.a(),\n\t\t\t\t1\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\t// @ts-ignore\n\t\t\t\tfoo.a(2),\n\t\t\t\t// @ts-ignore\n\t\t\t\tfoo.b(2),\n\t\t\t\tfoo.c(),\n\t\t\t\tfoo.d(),\n\t\t\t\t1\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\tfoo.c(2),\n\t\t\t\tfoo.b(),\n\t\t\t\tfoo.a(),\n\t\t\t\t2\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\tfoo.d(1),\n\t\t\t\t1,\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\tfoo.d(3),\n\t\t\t\tfoo.c(),\n\t\t\t\tfoo.b(),\n\t\t\t\tfoo.a(),\n\t\t\t\t3\n\t\t\t)\n\t\t\t\n\t\t},\n\n\n\t})\n\t\n}\n","namespace $ {\n\n\t$mol_test({\n\t\t\n\t\t'Array boolean'( $ ) {\n\t\t\tconst _foo = $mol_view_tree2_to_js_test_ex_array_boolean_foo\n\t\t\tconst foo = _foo.make({ $ })\n\t\t\ttype assert_sub = $mol_type_assert<ReturnType<typeof foo['bar']>, readonly boolean[]>\n\t\t\t$mol_assert_like(\n\t\t\t\tfoo.bar(),\n\t\t\t\t[ false, true ],\n\t\t\t)\n\t\t\t\n\t\t},\n\t\t\n\t\t'Array number'( $ ) {\n\t\t\tconst _foo = $mol_view_tree2_to_js_test_ex_array_number_foo\n\t\t\tconst foo = _foo.make({ $ })\n\n\t\t\ttype a1 = $mol_type_assert<ReturnType<typeof foo['bar']>, any /* readonly number[] */ >\n\n\t\t\t$mol_assert_like(\n\t\t\t\tfoo.bar(),\n\t\t\t\t[\n\t\t\t\t\tNumber.NaN,\n\t\t\t\t\tNumber.NEGATIVE_INFINITY,\n\t\t\t\t\tNumber.POSITIVE_INFINITY,\n\t\t\t\t\t0,\n\t\t\t\t],\n\t\t\t)\n\t\t\t\n\t\t},\n\t\t\n\t\t'Array with types'( $ ) {\n\t\t\tconst _foo = $mol_view_tree2_to_js_test_ex_array_with_types_foo\n\t\t\tconst foo = _foo.make({ $ })\n\t\t\ttype assert_arr = $mol_type_assert<ReturnType<typeof foo['arr']>, readonly( readonly(number)[] )[]>\n\t\t\t$mol_assert_like(foo.arr(), [])\n\n\t\t},\n\n\t\t'Array of array or object'( $ ) {\n\t\t\tconst _foo = $mol_view_tree2_to_js_test_ex_array_of_array_or_object_foo\n\t\t\tconst foo = _foo.make({ $ })\n\t\t\t// type a1 = $mol_type_assert<\n\t\t\t// \tReturnType<typeof foo.complex>,\n\t\t\t// \treadonly (readonly(number | string)[] | Record<string, number | string>)[]\n\t\t\t// >\n\n\t\t\t$mol_assert_like(\n\t\t\t\tfoo.complex(),\n\t\t\t\t[ '1', [ true ], [ '1', 21 ], { a: 1, str: 'some' } ]\n\t\t\t)\n\n\t\t},\n\n\t\t'Array inheritance'( $ ) {\n\t\t\tconst _bar = $mol_view_tree2_to_js_test_ex_array_inheritance_bar\n\n\t\t\t$mol_assert_like(_bar.make({ $ }).arr(), ['v3', 'v1', 'v4' ])\n\n\t\t},\n\n\t\t'Array spread other'( $ ) {\n\t\t\tconst _bar = $mol_view_tree2_to_js_test_ex_array_spread_other_bar\n\t\t\tconst bar = _bar.make({ $ })\n\n\t\t\t$mol_assert_like(bar.arr(), ['v2', 'v1' ])\n\t\t\t$mol_assert_like(bar.arr()[1], bar.sup()[0])\n\n\t\t},\n\n\t\t'Array slot' ($) {\n\t\t\tconst _foo = $mol_view_tree2_to_js_test_ex_array_slot_foo\n\t\t\tconst foo = _foo.make({ $ })\n\t\t\ttype assert_foot = $mol_type_assert<ReturnType<typeof foo['foot']>, readonly(string | number | boolean)[]>\n\t\t\t$mol_assert_like(foo.foot(), [ 1, true, 'foot1', 2, 3, 'ins1', 1, 'ins2', 'foot2' ])\n\t\t},\n\n\t\t'Array indexed' ($) {\n\t\t\tconst _foo = $mol_view_tree2_to_js_test_ex_array_indexed_foo\n\t\t\tconst foo = _foo.make({ $ })\n\t\t\ttype assert_tag = $mol_type_assert<Parameters<typeof foo['tags']>[0], any>\n\t\t\ttype assert_slot = $mol_type_assert<Parameters<typeof foo['slot']>[0], any>\n\t\t\ttype assert_tag1 = $mol_type_assert<Parameters<typeof foo['tag1']>[0], any>\n\t\t\ttype assert_tag2 = $mol_type_assert<Parameters<typeof foo['tag2']>[0], any>\n\t\t\t$mol_assert_like(foo.tags(1), [ 't1', 't2' ])\n\t\t\t$mol_assert_like(foo.slot(1), [ 't2' ])\n\t\t},\n\n\t\t'Array union' ($) {\n\t\t\tconst _foo = $mol_view_tree2_to_js_test_ex_array_union_foo\n\t\t\tconst foo = _foo.make({ $ })\n\t\t\ttype assert_tag = $mol_type_assert<ReturnType<typeof foo['bar']>[number], $mol_view_tree2_to_js_test_ex_klass_tuple_type>\n\t\t\t$mol_assert_like(foo.bar(), [ 'a', 'c', 'b' ])\n\t\t},\n\n\t\t'Array constructor tuple'($) {\n\t\t\tconst _foo = $mol_view_tree2_to_js_test_ex_array_constructor_tuple_foo\n\t\t\tconst foo = _foo.make({ $ })\n\n\t\t\ttype a0 = $mol_type_assert<\n\t\t\t\tReturnType<typeof foo['text_blob']>,\n\t\t\t\t$mol_view_tree2_to_js_test_ex_klass_tuple\n\t\t\t>\n\n\t\t\ttype a1 = $mol_type_assert<\n\t\t\t\tReturnType<typeof foo['blobs']>,\n\t\t\t\treadonly any[]\n\t\t\t\t// readonly $mol_view_tree2_to_js_test_ex_klass_tuple[]\n\t\t\t>\n\n\t\t\t$mol_assert_like(\n\t\t\t\tfoo.text_blob().tuple,\n\t\t\t\t[ '123' ]\n\t\t\t)\n\n\t\t\t$mol_assert_like(\n\t\t\t\tfoo.blobs(),\n\t\t\t\t[\n\t\t\t\t\tfoo.text_blob(),\n\t\t\t\t]\n\t\t\t)\n\t\t},\n\t})\n\t\n}\n","namespace $ {\n\n\t$mol_test({\n\t\t\n\t\t'Right bind read only'( $ ) {\n\t\t\tconst _bar = $mol_view_tree2_to_js_test_ex_right_read_only_bar\n\t\t\t\n\t\t\tconst bar = _bar.make({ $: _bar.$ })\n\n\t\t\t$mol_assert_like(\n\t\t\t\tbar.Obj().a(1),\n\t\t\t\tbar.b(1)\n\t\t\t)\n\t\t\t\n\t\t},\n\n\t\t'Right bind in left bind'( $ ) {\n\t\t\tconst _bar = $mol_view_tree2_to_js_test_ex_right_in_left_bar\n\t\t\t\n\t\t\tconst bar = _bar.make({ $: _bar.$ })\n\n\t\t\t$mol_assert_like(\n\t\t\t\tbar.foo(),\n\t\t\t\tbar.Cls(),\n\t\t\t)\n\n\t\t\t$mol_assert_like(\n\t\t\t\tbar.foo().a(),\n\t\t\t\tbar.Cls().a(),\n\t\t\t\tbar.b()\n\t\t\t)\n\t\t},\n\n\t\t'Right bind indexed'( $ ) {\n\t\t\tconst _bar = $mol_view_tree2_to_js_test_ex_right_indexed_bar\n\t\t\t\n\t\t\tconst bar = _bar.make({ $: _bar.$ })\n\n\t\t\t$mol_assert_equal(\n\t\t\t\tbar.Cls(1).a(),\n\t\t\t\tbar.b(1),\n\t\t\t)\n\n\t\t\t$mol_assert_like(\n\t\t\t\tbar.b(1),\n\t\t\t\t{ some: 123 }\n\t\t\t)\n\n\t\t\t$mol_assert_equal(\n\t\t\t\tbar.Cls(1).a() === bar.b(2),\n\t\t\t\tfalse,\n\t\t\t)\n\t\t},\n\n\t\t'Right hierarchy'( $ ) {\n\t\t\tconst _foo = $mol_view_tree2_to_js_test_ex_right_hierarchy_foo\n\t\t\tconst foo = _foo.make({ $: _foo.$ })\n\t\t\ttype prj_user_id_assert = $mol_type_assert<ReturnType<typeof foo['prj_user_id']>, number >\n\t\t\ttype prj_domain_assert = $mol_type_assert<ReturnType<typeof foo['prj_domain']>, {\n\t\t\t\tuser: () => { id: () => number }\n\t\t\t} >\n\n\t\t\t$mol_assert_like(\n\t\t\t\tfoo.prj_user_id(1),\n\t\t\t\t2\n\t\t\t)\n\t\t},\n\n\t\t'Right mixed args'( $ ) {\n\t\t\tconst _foo = $mol_view_tree2_to_js_test_ex_right_hierarchy_foo\n\t\t\tconst foo = _foo.make({ $: _foo.$ })\n\t\t\tfoo.indexed_id = id => id + 25\n\n\t\t\t$mol_assert_like( foo.indexed_title(1), 123 )\n\t\t\t$mol_assert_like( foo.Indexed(0).id(), 25 )\n\t\t\t$mol_assert_like( foo.Indexed(1).id(), 26 )\n\t\t\t$mol_assert_like( foo.indexed_title(0, 2), 125 )\n\t\t}\n\n\t})\n\t\n}\n","namespace $ {\n\n\t$mol_test({\n\t\t\n\t\t'simple empty class'( $ ) {\n\t\t\tconst _foo = $mol_view_tree2_to_js_test_ex_simple_empty_class_foo\n\t\t\t\n\t\t\t$mol_assert_ok(_foo.make({ $ }) instanceof _foo)\n\t\t},\n\n\t\t'simple mutable and read only channels'( $ ) {\n\t\t\tconst _foo = $mol_view_tree2_to_js_test_ex_simple_mutable_and_read_only_foo\n\t\t\t\n\t\t\tconst foo = _foo.make({ $ })\n\n\t\t\ttype assert_ro = $mol_type_assert<ReturnType<typeof foo['readonly']>, any>\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\tfoo.readonly(),\n\t\t\t\t// @ts-ignore\n\t\t\t\tfoo.readonly( 1 ),\n\t\t\t\tfoo.readonly(),\n\t\t\t\tnull,\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\tfoo.mutable(),\n\t\t\t\tnull,\n\t\t\t)\n\t\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\tfoo.mutable(2),\n\t\t\t\tfoo.mutable(),\n\t\t\t\t2,\n\t\t\t)\n\t\t\t\n\t\t},\n\t\t\n\t\t'simple string channel'( $ ) {\n\t\t\tconst _foo = $mol_view_tree2_to_js_test_ex_simple_string_foo\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\t_foo.make({ $ }).hardcoded(),\n\t\t\t\t'First\\nSecond',\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\t_foo.make({ $ }).localized(),\n\t\t\t\t`$mol_view_tree2_to_js_test_ex_simple_string_foo_localized`,\n\t\t\t)\n\t\t},\n\t\t\n\t\t'simple default indexed channel'( $ ) {\n\t\t\tconst _foo = $mol_view_tree2_to_js_test_ex_simple_default_indexed_foo\n\n\t\t\tconst foo = _foo.make({ $ })\n\n\t\t\t$mol_assert_equal(\n\t\t\t\tfoo.a_b(0, 1),\n\t\t\t\tfoo.a_b(0),\n\t\t\t\t1\n\t\t\t)\n\n\t\t\t$mol_assert_equal(\n\t\t\t\tfoo.legacy(0, 1),\n\t\t\t\tfoo.legacy(0),\n\t\t\t\t1\n\t\t\t)\n\t\t},\n\n\t\t'simple throw if cyrillic name'( $ ) {\n\t\t\t$mol_assert_fail(() => {\n\t\t\t\t$mol_view_tree2_to_js_test_run(`\n\t\t\t\t\tFoo $mol_object\n\t\t\t\t\t\tsub / <= Чlose_icon $mol_object\n\t\t\t\t`)\n\t\t\t}, `Required prop like some*? at \\`.view.tree#3:16/10\\`\n<=\n.view.tree#3:13/2\n/\n.view.tree#3:11/1\nsub\n.view.tree#3:7/3`)\n\t\t},\n\n\t\t'simple empty legacy indexed channel throws error'( $ ) {\n\t\t\t$mol_assert_fail(() => {\n\t\t\t\t$mol_view_tree2_to_js_test_run(`\n\t\t\t\t\tFoo $mol_object\n\t\t\t\t\t\ta!? null\n\t\t\t\t`)\n\t\t\t}, 'Required prop like some*? at `.view.tree#3:7/3`' )\n\n\t\t\t$mol_assert_fail(() => {\n\t\t\t\t$mol_view_tree2_to_js_test_run(`\n\t\t\t\t\tFoo $mol_object\n\t\t\t\t\t\tb! 1\n\t\t\t\t`)\n\t\t\t}, 'Required prop like some*? at `.view.tree#3:7/2`' )\n\t\t},\n\n\t\t'simple two classes'( $ ) {\n\t\t\tconst _foo = $mol_view_tree2_to_js_test_ex_simple_two_classes_foo\n\t\t\tconst _bar = $mol_view_tree2_to_js_test_ex_simple_two_classes_bar\n\t\t\tconst a = _foo.make( { $ })\n\t\t\tconst b = _bar.make( { $ })\n\n\t\t\t$mol_assert_ok(b instanceof _foo)\n\t\t\t$mol_assert_ok(b instanceof _bar)\n\n\t\t\t$mol_assert_equal( a.str(), 'some')\n\t\t\t$mol_assert_equal( b.str(), 'some2')\n\t\t},\n\n\t\t'simple commented node'( $ ) {\n\t\t\tconst { Foo } = $mol_view_tree2_to_js_test_run(`\n\t\t\t\t- Foo $mol_object\n\t\t\t\t\ta!? $mol_object\n\t\t\t\t\t\texpanded <=> cell_test_expanded!? null\n\t\t\t`)\n\t\t\t$mol_assert_ok(Foo === undefined)\n\t\t},\n\n\t\t'simple factory props'( $ ) {\n\t\t\tconst _foo = $mol_view_tree2_to_js_test_ex_simple_factory_props_foo\n\t\t\tconst foo = _foo.make({ $ })\n\n\t\t\t$mol_assert_ok(typeof foo.button().sub === 'function')\n\n\t\t\t$mol_assert_ok(typeof foo.button().some === 'function')\n\n\t\t\t$mol_assert_equal(\n\t\t\t\tfoo.button().loc(),\n\t\t\t\t`$mol_view_tree2_to_js_test_ex_simple_factory_props_foo_button_loc`\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\tfoo.button().deep().loc,\n\t\t\t\t`$mol_view_tree2_to_js_test_ex_simple_factory_props_foo_button_deep_loc`\n\t\t\t)\n\n\t\t\t$mol_assert_equal(\n\t\t\t\tfoo.button().sub()[0],\n\t\t\t\t1\n\t\t\t)\n\t\t},\n\n\t\t'simple factory inheritance'( $ ) {\n\t\t\t\n\t\t\tconst _foo = $mol_view_tree2_to_js_test_ex_simple_factory_inheritance_foo\n\t\t\tconst foo = _foo.make({ $ })\n\n\t\t\t$mol_assert_equal(\n\t\t\t\tfoo.Having().config(),\n\t\t\t\t{ ips: [ '127.0.0.1', '0.0.0.0', '1.1.1.1' ] },\n\t\t\t)\n\t\t\t\n\t\t},\n\n\t\t'simple nan' ($) {\n\t\t\tconst _foo = $mol_view_tree2_to_js_test_ex_simple_nan_foo\n\t\t\tconst foo = _foo.make({ $ })\n\t\t\ttype assert_a = $mol_type_assert<ReturnType<typeof foo['a']>, number>\n\t\t\ttype assert_d = $mol_type_assert<ReturnType<typeof foo['d']>, number>\n\t\t\ttype assert_f = $mol_type_assert<ReturnType<typeof foo['f']>, number>\n\t\t\t$mol_assert_equal(foo.a(), foo.b(), foo.c(), NaN)\n\t\t\t$mol_assert_equal(foo.d(), Infinity)\n\t\t\t$mol_assert_equal(foo.e(), -Infinity)\n\t\t\t$mol_assert_equal(foo.f(), Infinity)\n\t\t},\n\n\t\t'simple typed null'($) {\n\t\t\tconst _foo = $mol_view_tree2_to_js_test_ex_simple_typed_null_foo\n\t\t\tconst foo = _foo.make({ $ })\n\t\t\ttype a1 = $mol_type_assert<ReturnType<typeof foo.a>, string | number | null>\n\n\t\t\t$mol_assert_equal(\n\t\t\t\tfoo.a(),\n\t\t\t\tnull\n\t\t\t)\n\t\t},\n\n\t\t'extra char' ($) {\n\t\t\t$mol_assert_fail(() => {\n\t\t\t\t$mol_view_tree2_to_js_test_run(`\n\t\t\t\t\tFoo $mol_object\n\t\t\t\t\t\titem_чount 50\n\t\t\t\t`)\n\t\t\t}, 'Required prop like some*? at `.view.tree#3:7/10`')\n\t\t},\n\t})\n\t\n}\n","namespace $ {\n\n\t$mol_test({\n\t\t\n\t\t'Structural channel'( $ ) {\n\t\t\tconst _foo = $mol_view_tree2_to_js_test_ex_structural_foo\n\t\t\t\n\t\t\t$mol_assert_like(\n\t\t\t\t_foo.make({ $ }).bar(),\n\t\t\t\t{\n\t\t\t\t\talpha: 1,\n\t\t\t\t\tbeta: {},\n\t\t\t\t\txxx: 2,\n\t\t\t\t},\n\t\t\t)\n\t\t\t\n\t\t},\n\t\t\n\t\t'Structural dict'( $ ) {\n\t\t\tconst _foo = $mol_view_tree2_to_js_test_ex_structural_dict_foo\n\t\t\t\n\t\t\t$mol_assert_like(\n\t\t\t\t_foo.make({ $ }).bar(),\n\t\t\t\t{\n\t\t\t\t\talpha: 1,\n\t\t\t\t\tbeta: 'a',\n\t\t\t\t},\n\t\t\t)\n\t\t\t\n\t\t},\n\n\t\t'Structural channel with inheritance'( $ ) {\n\t\t\tconst _bar = $mol_view_tree2_to_js_test_ex_structural_with_inheritance_bar\n\t\t\t\n\t\t\t$mol_assert_like(\n\t\t\t\t_bar.make({ $ }).field(),\n\t\t\t\t{\n\t\t\t\t\tyyy: 234,\n\t\t\t\t\txxx: 123,\n\t\t\t\t\txxy: 'test',\n\t\t\t\t\tzzz: 345,\n\t\t\t\t},\n\t\t\t)\n\t\t\t\n\t\t},\n\t\t\n\t\t'Structural channel spread other'( $ ) {\n\t\t\tconst _foo = $mol_view_tree2_to_js_test_ex_structural_spread_other_foo\n\t\t\tconst foo = _foo.make({ $ })\n\n\t\t\ttype a1 = $mol_type_assert<\n\t\t\t\tReturnType<typeof foo.field>,\n\t\t\t\t{\n\t\t\t\t\taaa: number\n\t\t\t\t} & {\n\t\t\t\t\tbbb: number\n\t\t\t\t}\n\t\t\t>\n\n\t\t\t$mol_assert_like(\n\t\t\t\tfoo.field(),\n\t\t\t\t{\n\t\t\t\t\tbbb: 321,\n\t\t\t\t\taaa: 123,\n\t\t\t\t},\n\t\t\t)\n\t\t\t\n\t\t},\n\n\t\t'Structural channel localized prop value'( $ ) {\n\t\t\tconst _foo = $mol_view_tree2_to_js_test_ex_structural_localized_prop_value_foo\n\t\t\tconst foo = _foo.make({ $ })\n\n\t\t\t$mol_assert_like(\n\t\t\t\tfoo.bar(),\n\t\t\t\t{\n\t\t\t\t\t'loc': `$mol_view_tree2_to_js_test_ex_structural_localized_prop_value_foo_bar_loc`,\n\t\t\t\t\t'baz': { 'loc2': `$mol_view_tree2_to_js_test_ex_structural_localized_prop_value_foo_bar_baz_loc2` }\n\t\t\t\t},\n\t\t\t)\n\t\t\t\n\t\t},\n\n\t\t'Structural channel quoted props'( $ ) {\n\t\t\tconst _foo = $mol_view_tree2_to_js_test_ex_structural_quoted_props_foo\n\n\t\t\t$mol_assert_like(\n\t\t\t\t_foo.make({ $ }).bar(),\n\t\t\t\t{\n\t\t\t\t\t'a$': 1,\n\t\t\t\t\t'b-t': {},\n\t\t\t\t},\n\t\t\t)\n\t\t\t\n\t\t},\n\n\t\t'Structural complex key'($) {\n\t\t\tconst _foo = $mol_view_tree2_to_js_test_ex_structural_complex_key_foo\n\t\t\tconst foo = _foo.make({ $ })\n\n\t\t\t$mol_assert_like(\n\t\t\t\tfoo.dictionary(),\n\t\t\t\t{\n\t\t\t\t\t'raw data key': '1',\n\t\t\t\t\t'key2': '2',\n\t\t\t\t\t'key3': '3'\n\t\t\t\t},\n\t\t\t)\n\t\t}\n\n\t})\n\t\n}\n"]}
|