mol_vary 0.0.88 → 0.0.90
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/node.d.ts +3 -6
- package/node.d.ts.map +1 -1
- package/node.deps.json +1 -1
- package/node.js +42 -75
- package/node.js.map +1 -1
- package/node.mjs +42 -75
- package/node.test.js +47 -103
- package/node.test.js.map +1 -1
- package/package.json +2 -3
- package/web.d.ts +2 -6
- package/web.d.ts.map +1 -1
- package/web.deps.json +1 -1
- package/web.js +37 -75
- package/web.js.map +1 -1
- package/web.mjs +37 -75
- package/web.test.js +5 -28
- package/web.test.js.map +1 -1
package/web.test.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../mol/promise/like/like.ts","../../../mol/fail/hidden/hidden.ts","../../../mol/test/test.test.ts","../../../mol/test/test.web.test.ts","../../../mol/dom/render/children/children.ts","../../../mol/jsx/jsx.ts","../../../mol/jsx/jsx.test.tsx","../../../mol/guid/guid.ts","../../../mol/range2/range2.ts","../../../mol/range2/range2.test.ts","../../../mol/compare/deep/deep.ts","../../../mol/compare/deep/deep.test.tsx","../../../mol/dev/format/format.ts","../../../mol/assert/assert.ts","../../../mol/assert/assert.test.ts","../../../mol/bigint/encode/encode.test.ts","../../../mol/charset/encode/encode.test.ts","../../../mol/bigint/decode/decode.test.ts","../../../mol/charset/decode/decode.test.ts","../../../mol/charset/decode/from/from.test.ts","../../../mol/log3/log3.ts","../../../mol/log3/log3.web.ts","../../../mol/log3/log3.test.ts","../../../mol/func/name/name.ts","../../../mol/func/name/name.test.ts","../../../mol/bigint/bigint.test.ts","../../../mol/vary/vary.test.tsx"],"names":[],"mappings":"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","sourcesContent":["namespace $ {\n\t\n\texport function $mol_promise_like( val: any ): val is Promise<any> {\n\t\ttry {\n\t\t\treturn val && typeof val === 'object' && 'then' in val && typeof val.then === 'function'\n\t\t} catch {\n\t\t\treturn false\n\t\t}\n\t}\n\n}\n","namespace $ {\n\n\texport function $mol_fail_hidden( error : any ) : never {\n\t\tthrow error /// Use 'Never Pause Here' breakpoint in DevTools or simply blackbox this script\n\t}\n\n}\n","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 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/** Generates unique identifier. */\n\texport function $mol_guid(\n\t\tlength = 8,\n\t\texists: ( id: string )=> boolean = ()=> false,\n\t) {\n\n\t\tfor(;;) {\n\n\t\t\tlet id = Math.random().toString( 36 ).substring( 2, length + 2 ).toUpperCase()\n\t\t\tif( exists( id ) ) continue\n\t\t\t\n\t\t\treturn id\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\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","namespace $ {\n\n\texport let $mol_compare_deep_cache = new WeakMap< any , WeakMap< any , boolean > >()\n\t\n\t/**\n\t * Deeply compares two values. Returns true if equal.\n\t * Define `Symbol.toPrimitive` to customize.\n\t */\n\texport function $mol_compare_deep< Value >( left: Value, right: Value ): boolean {\n\n\t\tif( Object.is( left , right ) ) return true\n\n\t\tif( left === null ) return false\n\t\tif( right === null ) return false\n\n\t\tif( typeof left !== 'object' ) return false\n\t\tif( typeof right !== 'object' ) return false\n\n\t\tconst left_proto = Reflect.getPrototypeOf( left as any )\n\t\tconst right_proto = Reflect.getPrototypeOf( right as any )\n\t\t\n\t\tif( left_proto !== right_proto ) return false\n\n\t\tif( left instanceof Boolean ) return Object.is( left.valueOf(), ( right as any )['valueOf']() )\n\t\tif( left instanceof Number ) return Object.is( left.valueOf(), ( right as any )['valueOf']() )\n\t\tif( left instanceof String ) return Object.is( left.valueOf(), ( right as any )['valueOf']() )\n\t\tif( left instanceof Date ) return Object.is( left.valueOf(), ( right as any )['valueOf']() )\n\t\tif( left instanceof RegExp ) return left.source === (right as any).source && left.flags === (right as any).flags\n\t\tif( left instanceof Error ) return left.message === (right as any).message && $mol_compare_deep( left.stack, (right as any).stack )\n\n\t\tlet left_cache = $mol_compare_deep_cache.get( left )\n\t\tif( left_cache ) {\n\n\t\t\tconst right_cache = left_cache.get( right )\n\t\t\tif( typeof right_cache === 'boolean' ) return right_cache\n\n\t\t} else {\n\t\t\t\n\t\t\tleft_cache = new WeakMap< any , boolean >()\n\t\t\t$mol_compare_deep_cache.set( left , left_cache )\n\n\t\t}\n\n\t\tleft_cache.set(right, true);\n\n\t\tlet result!: boolean\n\n\t\ttry {\n\t\t\t\n\t\t\tif( !left_proto ) result = compare_pojo( left, right as any )\n\t\t\telse if( !Reflect.getPrototypeOf( left_proto ) ) result = compare_pojo( left, right as any )\n\t\t\telse if( Symbol.toPrimitive in left ) result = compare_primitive( left, right )\n\t\t\telse if( Array.isArray( left ) ) result = compare_array( left, right as any )\n\t\t\telse if( left instanceof Set ) result = compare_set( left, right as any )\n\t\t\telse if( left instanceof Map ) result = compare_map( left, right as any )\n\t\t\telse if( ArrayBuffer.isView( left ) ) result = compare_buffer( left, right as any )\n\t\t\telse if( Symbol.iterator in left ) result = compare_iterator( ( left as any )[ Symbol.iterator ](), ( right as any )[ Symbol.iterator ]() )\n\t\t\telse result = false\n\n\t\t} finally {\n\t\t\tleft_cache.set( right , result )\n\t\t}\n\t\t\n\t\treturn result\n\t}\n\n\tfunction compare_array< Value extends any[] >( left: Value, right: Value ): boolean {\n\t\t\n\t\tconst len = left.length\n\t\tif( len !== right.length ) return false\n\t\t\n\t\tfor( let i = 0; i < len; ++i ) {\n\t\t\tif( !$mol_compare_deep( left[i] , right[i] ) ) return false\n\t\t}\n\t\t\n\t\treturn true\n\t}\n\t\n\tfunction compare_buffer( left: ArrayBufferView, right: ArrayBufferView ): boolean {\n\t\t\n\t\tconst len = left.byteLength\n\t\tif( len !== right.byteLength ) return false\n\t\t\n\t\tif( left instanceof DataView ) return compare_buffer(\n\t\t\tnew Uint8Array( left.buffer, left.byteOffset, left.byteLength ),\n\t\t\tnew Uint8Array( right.buffer, right.byteOffset, right.byteLength ),\n\t\t)\n\t\t\n\t\tfor( let i = 0; i < len; ++i ) {\n\t\t\tif( (left as any)[i] !== (right as any)[i] ) return false\n\t\t}\n\t\t\n\t\treturn true\n\t}\n\t\n\tfunction compare_iterator< Value extends IterableIterator<any> >(\n\t\tleft: Value,\n\t\tright: Value,\n\t): boolean {\n\t\t\n\t\twhile( true ) {\n\n\t\t\tconst left_next = left.next()\n\t\t\tconst right_next = right.next()\n\n\t\t\tif( left_next.done !== right_next.done ) return false\n\t\t\tif( left_next.done ) break\n\n\t\t\tif( !$mol_compare_deep( left_next.value , right_next.value ) ) return false\n\n\t\t}\n\n\t\treturn true\n\n\t}\n\t\n\tfunction compare_set< Value extends Set<any> >( left: Value, right: Value ): boolean {\n\t\tif( left.size !== right.size ) return false\n\t\treturn compare_iterator( left.values(), right.values() )\n\t}\n\t\n\tfunction compare_map< Key, Value >( left: Map< Key, Value > , right: Map< Key, Value > ): boolean {\n\t\tif( left.size !== right.size ) return false\n\t\treturn compare_iterator( left.keys(), right.keys() )\n\t\t\t&& compare_iterator( left.values(), right.values() )\n\t}\n\t\n\tfunction compare_pojo( left: {}, right: {} ): boolean {\n\t\t\n\t\tconst left_keys = Object.getOwnPropertyNames( left )\n\t\tconst right_keys = Object.getOwnPropertyNames( right )\n\t\t\n\t\tif( !compare_array( left_keys, right_keys ) ) return false\n\n\t\tfor( let key of left_keys ) {\n\t\t\tif( !$mol_compare_deep( ( left as any )[ key ], ( right as any )[ key ] ) ) return false\n\t\t}\n\n\t\tconst left_syms = Object.getOwnPropertySymbols( left )\n\t\tconst right_syms = Object.getOwnPropertySymbols( right )\n\t\t\n\t\tif( !compare_array( left_syms, right_syms ) ) return false\n\n\t\tfor( let key of left_syms ) {\n\t\t\tif( !$mol_compare_deep( ( left as any )[ key ], ( right as any )[ key ] ) ) return false\n\t\t}\n\n\t\treturn true\n\t}\n\t\n\tfunction compare_primitive( left: {}, right: {} ): boolean {\n\t\treturn Object.is(\n\t\t\t(left as any)[ Symbol.toPrimitive ]( 'default' ),\n\t\t\t(right as any)[ Symbol.toPrimitive ]( 'default' ),\n\t\t)\n\t}\n\t\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\n\t// https://docs.google.com/document/d/1FTascZXT9cxfetuPRT2eXPQKXui4nWFivUnS_335T3U/preview#\n\t($ as any)['devtoolsFormatters'] ||= []\n\n\texport function $mol_dev_format_register( config : {\n\t\theader : ( val : any , config : any )=> any\n\t\thasBody : ( val : any , config : any )=> false\n\t} | {\n\t\theader : ( val : any , config : any )=> any\n\t\thasBody : ( val : any , config : any )=> boolean\n\t\tbody : ( val : any , config : any )=> any\n\t} ) {\n\t\t($ as any)['devtoolsFormatters'].push( config )\n\t}\n\n\texport const $mol_dev_format_head = Symbol( '$mol_dev_format_head' )\n\texport const $mol_dev_format_body = Symbol( '$mol_dev_format_body' )\n\t\n\tfunction $mol_dev_format_button( label: any, click: ()=> any ) {\n\t\treturn $mol_dev_format_auto( {\n\t\t\t[ $mol_dev_format_head ]() {\n\t\t\t\treturn $mol_dev_format_span( { color: 'cornflowerblue' }, label )\n\t\t\t},\n\t\t\t[ $mol_dev_format_body ]() {\n\t\t\t\tPromise.resolve().then( click )\n\t\t\t\treturn $mol_dev_format_span({})\n\t\t\t}\n\t\t} )\n\t}\n\n\t$mol_dev_format_register({\n\n\t\theader : ( val : any , config = false ) => {\n\t\t\t\n\t\t\tif( config ) return null\n\n\t\t\tif( !val ) return null\n\t\t\t\n\t\t\tif( $mol_dev_format_head in val ) {\n\t\t\t\ttry {\n\t\t\t\t\treturn val[ $mol_dev_format_head ]()\n\t\t\t\t} catch( error ) {\n\t\t\t\t\treturn $mol_dev_format_accent( $mol_dev_format_native( val ), '💨', $mol_dev_format_native( error ), '' )\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tif( typeof val === 'function' ) {\n\t\t\t\treturn $mol_dev_format_native( val )\n\t\t\t}\n\t\t\t\n\t\t\tif( val instanceof Error ) {\n\t\t\t\t\n\t\t\t\treturn $mol_dev_format_span( {},\n\t\t\t\t\t$mol_dev_format_native( val ),\n\t\t\t\t\t' ',\n\t\t\t\t\t$mol_dev_format_button( 'throw', ()=> $mol_fail_hidden( val ) ),\n\t\t\t\t)\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tif( val instanceof Promise ) {\n\t\t\t\treturn $mol_dev_format_shade(\n\t\t\t\t\t$mol_dev_format_native( val ),\n\t\t\t\t\t' ',\n\t\t\t\t\tval[ Symbol.toStringTag ] ?? '',\n\t\t\t\t)\n\t\t\t}\n\t\t\t\n\t\t\tif( Symbol.toStringTag in val ) {\n\t\t\t\treturn $mol_dev_format_native( val )\n\t\t\t}\n\t\t\t\n\t\t\treturn null\n\t\t\t\n\t\t} ,\n\t\t\n\t\thasBody : ( val: any , config = false )=> {\n\t\t\t\n\t\t\tif( config ) return false\n\t\t\tif( !val ) return false\n\t\t\t\n\t\t\t// if( Error.isError( val ) ) true\n\t\t\tif( val[ $mol_dev_format_body ] ) return true\n\t\t\t\n\t\t\treturn false\n\t\t},\n\n\t\tbody : ( val: any , config = false )=> {\n\t\t\t\n\t\t\tif( config ) return null\n\n\t\t\tif( !val ) return null\n\t\t\t\n\t\t\tif( $mol_dev_format_body in val ) {\n\t\t\t\ttry {\n\t\t\t\t\treturn val[ $mol_dev_format_body ]()\n\t\t\t\t} catch( error ) {\n\t\t\t\t\treturn $mol_dev_format_accent( $mol_dev_format_native( val ), '💨', $mol_dev_format_native( error ), '' )\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\t// if( Error.isError( val ) ) {\n\t\t\t// \treturn $mol_dev_format_native( val )\n\t\t\t// }\n\t\t\t\n\t\t\treturn null\n\t\t},\n\n\t})\n\n\texport function $mol_dev_format_native( obj : any ) {\n\t\t\n\t\tif( typeof obj === 'undefined' ) return $mol_dev_format_shade( 'undefined' )\n\t\t\n\t\t// if( ![ 'object', 'function', 'symbol' ].includes( typeof obj ) ) return obj\n\n\t\treturn [\n\t\t\t'object' ,\n\t\t\t{\n\t\t\t\tobject : obj ,\n\t\t\t\tconfig : true ,\n\t\t\t} ,\n\t\t]\n\n\t}\n\n\texport function $mol_dev_format_auto( obj : any ) {\n\t\t\n\t\tif( obj == null ) return $mol_dev_format_shade( String( obj ) )\n\n\t\treturn [\n\t\t\t'object' ,\n\t\t\t{\n\t\t\t\tobject : obj ,\n\t\t\t\tconfig : false ,\n\t\t\t} ,\n\t\t]\n\n\t}\n\n\texport function $mol_dev_format_element( element : string , style : object , ...content : any[] ) {\n\t\t\t\n\t\tconst styles = [] as string[]\n\t\t\n\t\tfor( let key in style ) styles.push( `${ key } : ${ (style as any)[key] }` )\n\t\t\n\t\treturn [\n\t\t\telement ,\n\t\t\t{\n\t\t\t\tstyle : styles.join( ' ; ' ) ,\n\t\t\t} ,\n\t\t\t... content ,\n\t\t]\n\n\t}\n\n\texport let $mol_dev_format_span = $mol_dev_format_element.bind( null , 'span' )\n\texport let $mol_dev_format_div = $mol_dev_format_element.bind( null , 'div' )\n\texport let $mol_dev_format_ol = $mol_dev_format_element.bind( null , 'ol' )\n\texport let $mol_dev_format_li = $mol_dev_format_element.bind( null , 'li' )\n\texport let $mol_dev_format_table = $mol_dev_format_element.bind( null , 'table' )\n\texport let $mol_dev_format_tr = $mol_dev_format_element.bind( null , 'tr' )\n\texport let $mol_dev_format_td = $mol_dev_format_element.bind( null , 'td' )\n\n\texport let $mol_dev_format_accent = $mol_dev_format_span.bind( null , {\n\t\t'color' : 'magenta' ,\n\t} )\n\n\texport let $mol_dev_format_strong = $mol_dev_format_span.bind( null , {\n\t\t'font-weight' : 'bold' ,\n\t} )\n\n\texport let $mol_dev_format_string = $mol_dev_format_span.bind( null , {\n\t\t'color' : 'green',\n\t} )\n\n\texport let $mol_dev_format_shade = $mol_dev_format_span.bind( null , {\n\t\t'color' : 'gray',\n\t} )\n\n\texport let $mol_dev_format_indent = $mol_dev_format_div.bind( null , {\n\t\t'margin-left': '13px'\n\t} )\n\t\n\tclass Stack extends Array< Call > {\n\t\t\n\t\t// [ Symbol.toPrimitive ]() {\n\t\t// \treturn this.toString()\n\t\t// }\n\t\t\n\t\ttoString() {\n\t\t\treturn this.join( '\\n' )\n\t\t}\n\t\t\n\t}\n\t\n\tclass Call extends Object {\n\t\t\n\t\treadonly type: string\n\t\treadonly function: string\n\t\treadonly method: string\n\t\treadonly eval: string\n\t\treadonly source: string\n\t\treadonly offset: number\n\t\treadonly pos: [ number, number ]\n\t\treadonly object: unknown\n\t\treadonly flags: readonly string[]\n\t\t[ Symbol.toStringTag ]!: string\n\t\t\n\t\tconstructor( call: NodeJS.CallSite ) {\n\t\t\tsuper()\n\t\t\t\n\t\t\tthis.type = call.getTypeName() ?? ''\n\t\t\tthis.function = call.getFunctionName() ?? ''\n\t\t\tthis.method = call.getMethodName() ?? ''\n\t\t\tif( this.method === this.function ) this.method = ''\n\t\t\t// const func = c.getFunction()\n\t\t\tthis.pos = [ call.getEnclosingLineNumber() ?? 0, call.getEnclosingColumnNumber() ?? 0 ]\n\t\t\tthis.eval = call.getEvalOrigin() ?? ''\n\t\t\tthis.source = call.getScriptNameOrSourceURL() ?? ''\n\t\t\tthis.object = call.getThis()\n\t\t\tthis.offset = call.getPosition()\n\t\t\t\n\t\t\tconst flags = []\n\t\t\tif( call.isAsync() ) flags.push( 'async' )\n\t\t\tif( call.isConstructor() ) flags.push( 'constructor' )\n\t\t\tif( call.isEval() ) flags.push( 'eval' )\n\t\t\tif( call.isNative() ) flags.push( 'native' )\n\t\t\tif( call.isPromiseAll() ) flags.push( 'PromiseAll' )\n\t\t\tif( call.isToplevel() ) flags.push( 'top' )\n\t\t\tthis.flags = flags\n\t\t\n\t\t\tconst type = this.type ? this.type + '.' : ''\n\t\t\tconst func = this.function || '<anon>'\n\t\t\tconst method = this.method ? ' [' + this.method + '] ' : ''\n\t\t\t\n\t\t\tthis[ Symbol.toStringTag ] = `${type}${func}${method}`\n\t\t}\n\t\t\n\t\t[ Symbol.toPrimitive ]() {\n\t\t\treturn this.toString()\n\t\t}\n\t\t\n\t\ttoString() {\n\t\t\tconst object = this.object || ''\n\t\t\tconst label = this[ Symbol.toStringTag ]\n\t\t\tconst source = `${ this.source }:${ this.pos.join( ':' ) } #${ this.offset }`\n\t\t\treturn `\\tat ${object}${label} (${source})`\n\t\t}\n\n\t\t[ $mol_dev_format_head ]() {\n\t\t\treturn $mol_dev_format_div( {},\n\t\t\t\t$mol_dev_format_native( this ),\n\t\t\t\t$mol_dev_format_shade( ' ' ),\n\t\t\t\t... this.object ? [\n\t\t\t\t\t$mol_dev_format_native( this.object ),\n\t\t\t\t] : [],\n\t\t\t\t... this.method ? [ $mol_dev_format_shade( ' ',\n\t\t\t\t\t' [',\n\t\t\t\t\tthis.method,\n\t\t\t\t\t']',\n\t\t\t\t) ] : [],\n\t\t\t\t$mol_dev_format_shade( ' ', this.flags.join( ', ' ) ),\n\t\t\t)\n\t\t}\n\n\t}\n\t\n\tError.prepareStackTrace ??= ( error: Error, stack: NodeJS.CallSite[] )=> new Stack( ... stack.map( call => new Call( call ) ) )\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, Value, ... 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\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_equal( [ 3 ] , [ 3 ] )\n\t\t} ,\n\t\t\n\t\t'three must be alike'() {\n\t\t\t$mol_assert_equal( [ 3 ] , [ 3 ] , [ 3 ] )\n\t\t} ,\n\n\t\t'two object must be alike'() {\n\t\t\t$mol_assert_equal( { a: 1 }, { a: 1 } )\n\t\t} ,\n\n\t\t'three object must be alike'() {\n\t\t\t$mol_assert_equal( { a: 1 }, { a: 1 }, { a: 1 } )\n\t\t} ,\n\t\t\n\t} )\n}\n","namespace $.$$ {\n\t$mol_test({\n\t\t\n\t\t\"1 byte int\"( $ ) {\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_bigint_encode( 0n ),\n\t\t\t\tnew Uint8Array( new Int8Array([ 0 ]).buffer ),\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_bigint_encode( 1n ),\n\t\t\t\tnew Uint8Array( new Int8Array([ 1 ]).buffer ),\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_bigint_encode( -1n ),\n\t\t\t\tnew Uint8Array( new Int8Array([ -1 ]).buffer ),\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_bigint_encode( 127n ),\n\t\t\t\tnew Uint8Array( new Int8Array([ 127 ]).buffer ),\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_bigint_encode( -128n ),\n\t\t\t\tnew Uint8Array( new Int8Array([ -128 ]).buffer ),\n\t\t\t)\n\t\t\t\n\t\t},\n\t\t\n\t\t\"2 byte int\"( $ ) {\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_bigint_encode( 128n ),\n\t\t\t\tnew Uint8Array( new Int16Array([ 128 ]).buffer ),\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_bigint_encode( -129n ),\n\t\t\t\tnew Uint8Array( new Int16Array([ -129 ]).buffer ),\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_bigint_encode( 128n * 256n - 1n ),\n\t\t\t\tnew Uint8Array( new Int16Array([ 128 * 256 - 1 ]).buffer ),\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_bigint_encode( -128n * 256n ),\n\t\t\t\tnew Uint8Array( new Int16Array([ -128 * 256 ]).buffer ),\n\t\t\t)\n\t\t\t\n\t\t},\n\t\t\n\t\t\"3 byte int\"( $ ) {\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_bigint_encode( 128n * 256n ),\n\t\t\t\tnew Uint8Array( new Int32Array([ 128 * 256 ]).buffer ).slice( 0, 3 ),\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_bigint_encode( -128n * 256n - 1n ),\n\t\t\t\tnew Uint8Array( new Int32Array([ -128 * 256 - 1 ]).buffer ).slice( 0, 3 ),\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_bigint_encode( 128n * 256n ** 2n - 1n ),\n\t\t\t\tnew Uint8Array( new Int32Array([ 128 * 256 ** 2 - 1 ]).buffer ).slice( 0, 3 ),\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_bigint_encode( -128n * 256n ** 2n ),\n\t\t\t\tnew Uint8Array( new Int32Array([ -128 * 256 ** 2 ]).buffer ).slice( 0, 3 ),\n\t\t\t)\n\t\t\t\n\t\t},\n\t\t\n\t\t\"4 byte int\"( $ ) {\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_bigint_encode( 128n * 256n ** 2n ),\n\t\t\t\tnew Uint8Array( new Int32Array([ 128 * 256 ** 2 ]).buffer ),\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_bigint_encode( -128n * 256n ** 2n - 1n ),\n\t\t\t\tnew Uint8Array( new Int32Array([ -128 * 256 ** 2 - 1 ]).buffer ),\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_bigint_encode( 128n * 256n ** 3n - 1n ),\n\t\t\t\tnew Uint8Array( new Int32Array([ 128 * 256 ** 3 - 1 ]).buffer ),\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_bigint_encode( -128n * 256n ** 3n ),\n\t\t\t\tnew Uint8Array( new Int32Array([ -128 * 256 ** 3 ]).buffer ),\n\t\t\t)\n\t\t\t\n\t\t},\n\t\t\n\t\t\"8 byte int\"( $ ) {\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_bigint_encode( 128n * 256n ** 7n - 1n ),\n\t\t\t\tnew Uint8Array( new BigInt64Array([ 128n * 256n ** 7n - 1n ]).buffer ),\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_bigint_encode( -128n * 256n ** 7n ),\n\t\t\t\tnew Uint8Array( new BigInt64Array([ -128n * 256n ** 7n ]).buffer ),\n\t\t\t)\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'encode empty'() {\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_charset_encode( '' ),\n\t\t\t\tnew Uint8Array( [] ),\n\t\t\t)\n\t\t},\n\t\t\n\t\t'encode 1 octet'() {\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_charset_encode( 'F' ),\n\t\t\t\tnew Uint8Array([ 0x46 ]),\n\t\t\t)\n\t\t},\n\t\t\n\t\t'encode 2 octet'() {\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_charset_encode( 'Б' ),\n\t\t\t\tnew Uint8Array([ 0xd0, 0x91 ]),\n\t\t\t)\n\t\t},\n\t\t\n\t\t'encode 3 octet'() {\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_charset_encode( 'ह' ),\n\t\t\t\tnew Uint8Array([ 0xe0, 0xa4, 0xb9 ]),\n\t\t\t)\n\t\t},\n\t\t\n\t\t'encode 4 octet'() {\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_charset_encode( '𐍈' ),\n\t\t\t\tnew Uint8Array([ 0xf0, 0x90, 0x8d, 0x88 ]),\n\t\t\t)\n\t\t},\n\t\t\n\t\t'encode surrogate pair'() {\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_charset_encode( '😀' ),\n\t\t\t\tnew Uint8Array([ 0xf0, 0x9f, 0x98, 0x80 ]),\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\"1 byte int\"( $ ) {\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_bigint_decode( new Uint8Array ),\n\t\t\t\t0n,\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_bigint_decode( new Uint8Array( new Int8Array([ 1 ]).buffer ) ),\n\t\t\t\t1n,\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_bigint_decode( new Uint8Array( new Int8Array([ -1 ]).buffer ) ),\n\t\t\t\t-1n,\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_bigint_decode( new Uint8Array( new Int8Array([ 127 ]).buffer ) ),\n\t\t\t\t127n,\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_bigint_decode( new Uint8Array( new Int8Array([ -128 ]).buffer ) ),\n\t\t\t\t-128n,\n\t\t\t)\n\n\t\t},\n\t\t\n\t\t\"2 byte int\"( $ ) {\n\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_bigint_decode( new Uint8Array( new Int16Array([ 128 ]).buffer ) ),\n\t\t\t\t128n,\n\t\t\t)\n\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_bigint_decode( new Uint8Array( new Int16Array([ -129 ]).buffer ) ),\n\t\t\t\t-129n,\n\t\t\t)\n\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_bigint_decode( new Uint8Array( new Int16Array([ 128 * 256 - 1 ]).buffer ) ),\n\t\t\t\t128n * 256n - 1n,\n\t\t\t)\n\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_bigint_decode( new Uint8Array( new Int16Array([ -128 * 256 ]).buffer ) ),\n\t\t\t\t-128n * 256n,\n\t\t\t)\n\n\t\t},\n\n\t\t\"3 byte int\"( $ ) {\n\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_bigint_decode( new Uint8Array( new Int32Array([ 128 * 256 ]).buffer ).slice( 0, 3 ) ),\n\t\t\t\t128n * 256n,\n\t\t\t)\n\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_bigint_decode( new Uint8Array( new Int32Array([ -128 * 256 - 1 ]).buffer ).slice( 0, 3 ) ),\n\t\t\t\t-128n * 256n - 1n,\n\t\t\t)\n\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_bigint_decode( new Uint8Array( new Int32Array([ 128 * 256 ** 2 - 1 ]).buffer ).slice( 0, 3 ) ),\n\t\t\t\t128n * 256n ** 2n - 1n,\n\t\t\t)\n\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_bigint_decode( new Uint8Array( new Int32Array([ -128 * 256 ** 2 ]).buffer ).slice( 0, 3 ) ),\n\t\t\t\t-128n * 256n ** 2n,\n\t\t\t)\n\n\t\t},\n\n\t\t\"4 byte int\"( $ ) {\n\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_bigint_decode( new Uint8Array( new Int32Array([ 128 * 256 ** 2 ]).buffer ) ),\n\t\t\t\t128n * 256n ** 2n,\n\t\t\t)\n\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_bigint_decode( new Uint8Array( new Int32Array([ -128 * 256 ** 2 - 1 ]).buffer ) ),\n\t\t\t\t-128n * 256n ** 2n - 1n,\n\t\t\t)\n\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_bigint_decode( new Uint8Array( new Int32Array([ 128 * 256 ** 3 - 1 ]).buffer ) ),\n\t\t\t\t128n * 256n ** 3n - 1n,\n\t\t\t)\n\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_bigint_decode( new Uint8Array( new Int32Array([ -128 * 256 ** 3 ]).buffer ) ),\n\t\t\t\t-128n * 256n ** 3n,\n\t\t\t)\n\n\t\t},\n\n\t\t\"8 byte int\"( $ ) {\n\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_bigint_decode( new Uint8Array( new BigInt64Array([ 128n * 256n ** 7n - 1n ]).buffer ) ),\n\t\t\t\t128n * 256n ** 7n - 1n,\n\t\t\t)\n\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_bigint_decode( new Uint8Array( new BigInt64Array([ -128n * 256n ** 7n ]).buffer ) ),\n\t\t\t\t-128n * 256n ** 7n,\n\t\t\t)\n\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\n\t\t'encode empty'() {\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_charset_decode_from( new Uint8Array( [] ), 0, 0 ),\n\t\t\t\t[ '', 0 ],\n\t\t\t)\n\t\t},\n\t\t\n\t\t'encode 1 octet'() {\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_charset_decode_from( new Uint8Array([ 0x46 ]), 0, 1 ),\n\t\t\t\t[ 'F', 1 ],\n\t\t\t)\n\t\t},\n\t\t\n\t\t'encode 2 octet'() {\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_charset_decode_from( new Uint8Array([ 0xd0, 0x91 ]), 0, 1 ),\n\t\t\t\t[ 'Б', 2 ],\n\t\t\t)\n\t\t},\n\t\t\n\t\t'encode 3 octet'() {\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_charset_decode_from( new Uint8Array([ 0xe0, 0xa4, 0xb9 ]), 0, 1 ),\n\t\t\t\t[ 'ह', 3 ],\n\t\t\t)\n\t\t},\n\t\t\n\t\t'encode 4 octet'() {\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_charset_decode_from( new Uint8Array([ 0xf0, 0x90, 0x8d, 0x88 ]), 0, 1 ),\n\t\t\t\t[ '𐍈', 4 ],\n\t\t\t)\n\t\t},\n\t\t\n\t\t'encode surrogate pair'() {\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_charset_decode_from( new Uint8Array([ 0xf0, 0x9f, 0x98, 0x80 ]), 0, 2),\n\t\t\t\t[ '😀', 4 ],\n\t\t\t)\n\t\t},\n\t\t\n\t})\n}\n","namespace $ {\n\n\t/** Logger event data */\n\texport type $mol_log3_event< Fields > = {\n\t\t[ key in string ] : unknown\n\t} & {\n\t\t\n\t\t/** Time of event creation */\n\t\ttime? : string\n\n\t\t/** Place of event creation */\n\t\tplace : unknown\n\n\t\t/** Short description of event */\n\t\tmessage : string\n\n\t} & Fields\n\n\t/** Logger function */\n\texport type $mol_log3_logger< Fields , Res = void > = (\n\t\tthis : $ ,\n\t\tevent : $mol_log3_event< Fields > ,\n\t)=> Res\n\n\t/** Log begin of some task */\n\texport declare let $mol_log3_come : $mol_log3_logger<{}>\n\t\n\t/** Log end of some task */\n\texport declare let $mol_log3_done : $mol_log3_logger<{}>\n\t\n\t/** Log error */\n\texport declare let $mol_log3_fail : $mol_log3_logger<{}>\n\t\n\t/** Log warning message */\n\texport declare let $mol_log3_warn : $mol_log3_logger<{ hint : string }>\n\t\n\t/** Log some generic event */\n\texport declare let $mol_log3_rise : $mol_log3_logger<{}>\n\n\t/** Log begin of log group, returns func to close group */\n\texport declare let $mol_log3_area : $mol_log3_logger< {} , ()=> void >\n\n\t/** Log begin of collapsed group only when some logged inside, returns func to close group */\n\texport function $mol_log3_area_lazy(\n\t\tthis : $ ,\n\t\tevent : $mol_log3_event<{}> ,\n\t) {\n\n\t\tconst self = this.$\n\t\tconst stack = self.$mol_log3_stack\n\n\t\tconst deep = stack.length\n\t\tlet logged = false\n\n\t\tstack.push( ()=> {\n\t\t\tlogged = true\n\t\t\tself.$mol_log3_area.call( self , event )\n\t\t} )\n\n\t\treturn ()=> {\n\t\t\tif( logged ) self.console.groupEnd()\n\t\t\tif( stack.length > deep ) stack.length = deep\n\t\t}\n\n\t}\n\n\texport let $mol_log3_stack = [] as ( ()=> void )[]\n\n}\n","namespace $ {\n\n\texport function $mol_log3_web_make(\n\t\tlevel : $mol_type_keys_extract< Console, Function >,\n\t\tcolor : string,\n\t) {\n\n\t\treturn function $mol_log3_logger(\n\t\t\tthis : $ ,\n\t\t\tevent : $mol_log3_event<{}> ,\n\t\t) {\n\n\t\t\tconst pending = this.$mol_log3_stack.pop()\n\t\t\tif( pending ) pending()\n\n\t\t\tlet tpl = '%c'\n\t\t\tconst chunks = Object.entries( event )\n\n\t\t\tfor( let i = 0 ; i < chunks.length ; ++i ) {\n\t\t\t\ttpl += ( typeof chunks[i][1] === 'string' ) ? '%s: %s\\n' : '%s: %o\\n'\n\t\t\t}\n\t\n\t\t\tconst style = `color:${color};font-weight:bolder`\n\n\t\t\t;( this.console[ level ] as any )( tpl.trim() , style , ... ( [] as any[] ).concat( ... chunks ) )\n\n\t\t\tconst self = this\n\t\t\treturn ()=> self.console.groupEnd()\n\n\t\t}\n\n\t}\n\n\t$.$mol_log3_come = $mol_log3_web_make( 'info' , 'royalblue' )\n\t$.$mol_log3_done = $mol_log3_web_make( 'info' , 'forestgreen' )\n\t$.$mol_log3_fail = $mol_log3_web_make( 'error' , 'orangered' )\n\t$.$mol_log3_warn = $mol_log3_web_make( 'warn' , 'goldenrod' )\n\t$.$mol_log3_rise = $mol_log3_web_make( 'log' , 'magenta' )\n\t$.$mol_log3_area = $mol_log3_web_make( 'group' , 'cyan' )\n\n}\n","namespace $ {\n\n\t$mol_test_mocks.push( $ => {\n\t\t$.$mol_log3_come = ()=> {}\n\t\t$.$mol_log3_done = ()=> {}\n\t\t$.$mol_log3_fail = ()=> {}\n\t\t$.$mol_log3_warn = ()=> {}\n\t\t$.$mol_log3_rise = ()=> {}\n\t\t$.$mol_log3_area = ()=> ()=> {}\n\t} )\n\n}\n","namespace $ {\n\t\n\tconst named = new WeakSet< Function >()\n\t\n\texport function $mol_func_name( this : $ , func : Function ) : string {\n\t\t\n\t\tlet name = func.name\n\t\tif( name?.length > 1 ) return name\n\t\tif( named.has( func ) ) return name\n\n\t\tfor( let key in this ) {\n\t\t\ttry {\n\t\t\t\tif( (this as any)[ key ] !== func ) continue\n\t\t\t\tname = key\n\t\t\t\tObject.defineProperty( func , 'name' , { value : name } )\n\t\t\t\tbreak\n\t\t\t} catch {}\n\t\t}\n\n\t\tnamed.add( func )\n\t\treturn name\n\t\t\n\t}\n\n\texport function $mol_func_name_from< Target extends Function >( target : Target , source : Function ) {\n\t\tObject.defineProperty( target , 'name' , { value : source.name } )\n\t\treturn target\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\n\t\t\"Zero int\"( $ ) {\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_bigint_decode( $mol_bigint_encode( 0n ) ),\n\t\t\t\t0n,\n\t\t\t)\n\t\t},\n\n\t\t\"Large positive int\"( $ ) {\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_bigint_decode( $mol_bigint_encode( 12345678901234567890n ) ),\n\t\t\t\t12345678901234567890n,\n\t\t\t)\n\t\t},\n\n\t\t\"Large negative int\"( $ ) {\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_bigint_decode( $mol_bigint_encode( -12345678901234567890n ) ),\n\t\t\t\t-12345678901234567890n,\n\t\t\t)\n\t\t},\n\n\t});\n}\n","/** @jsx $mol_jsx */\nnamespace $.$$ {\n\t\n\tconst { uint, link, spec, blob, text, list, tupl, sint } = $mol_vary_tip\n\tconst { none, both, fp16, fp32, fp64 } = $mol_vary_spec\n\tconst { L1, L2, L4, L8, LA } = $mol_vary_len\n\tconst str = $mol_charset_encode\n\t\n\tfunction check( vary: readonly unknown[], ideal: readonly number[], Vary = $mol_vary ) {\n\t\tconst pack = Vary.pack( vary )\n\t\t$mol_assert_equal( Vary.take( pack ), vary )\n\t\t$mol_assert_equal( pack, new Uint8Array( ideal ) )\n\t}\n\t\n\t$mol_test({\n\t\t\n\t\t\"vary pack logical\"( $ ) {\n\t\t\tcheck( [ null ], [ spec|none ] )\n\t\t\tcheck( [ true ], [ $mol_vary_spec.true ] )\n\t\t\tcheck( [ false ], [ $mol_vary_spec.fake ] )\n\t\t\tcheck( [ undefined ], [ spec|both ] )\n\t\t},\n\t\t\n\t\t\"vary pack uint0\"( $ ) {\n\t\t\tcheck( [ 0 ], [ 0 ] )\n\t\t\tcheck( [ 27 ], [ 27 ] )\n\t\t},\n\t\t\n\t\t\"vary pack uint1\"( $ ) {\n\t\t\tcheck( [ 28 ], [ uint|L1, 28 ] )\n\t\t\tcheck( [ 255 ], [ uint|L1, 255 ] )\n\t\t},\n\t\t\n\t\t\"vary pack uint2\"( $ ) {\n\t\t\tcheck( [ 256 ], [ uint|L2, 0, 1 ] )\n\t\t\tcheck( [ 256**2-1 ], [ uint|L2, 255, 255 ] )\n\t\t},\n\t\t\n\t\t\"vary pack uint4\"( $ ) {\n\t\t\tcheck( [ 256**2 ], [ uint|L4, 0, 0, 1, 0 ] )\n\t\t\tcheck( [ 256**4-1 ], [ uint|L4, 255, 255, 255, 255 ] )\n\t\t},\n\t\t\n\t\t\"vary pack uint8\"( $ ) {\n\t\t\tcheck( [ 256**4 ], [ uint|L8, 0, 0, 0, 0, 1, 0, 0, 0 ] )\n\t\t\tcheck( [ Number.MAX_SAFE_INTEGER ], [ uint|L8, 255, 255, 255, 255, 255, 255, 31, 0 ] )\n\t\t\tcheck( [ 256n**8n-1n ], [ uint|L8, 255, 255, 255, 255, 255, 255, 255, 255 ] )\n\t\t},\n\t\t\n\t\t\"vary pack sint0\"( $ ) {\n\t\t\tcheck( [ -1 ], [ -1 ] )\n\t\t\tcheck( [ -27 ], [ -27 ] )\n\t\t},\n\t\t\n\t\t\"vary pack sint1\"( $ ) {\n\t\t\tcheck( [ -28, ], [ sint|-L1, -28 ] )\n\t\t\tcheck( [ -256/2 ] , [ sint|-L1, 128 ] )\n\t\t},\n\t\t\n\t\t\"vary pack sint2\"( $ ) {\n\t\t\tcheck( [ -256/2-1 ], [ sint|-L2, 127, 255 ] )\n\t\t\tcheck( [ -(256**2)/2 ], [ sint|-L2, 0, 128 ] )\n\t\t},\n\t\t\n\t\t\"vary pack sint4\"( $ ) {\n\t\t\tcheck( [ -(256**2)/2-1 ], [ sint|-L4, 255, 127, 255, 255 ] )\n\t\t\tcheck( [ -(256**4)/2 ], [ sint|-L4, 0, 0, 0, 128 ] )\n\t\t},\n\t\t\n\t\t\"vary pack sint8\"( $ ) {\n\t\t\tcheck( [ -(256**4)/2-1 ], [ sint|-L8, 255, 255, 255, 127, 255, 255, 255, 255 ] )\n\t\t\tcheck( [ Number.MIN_SAFE_INTEGER ], [ sint|-L8, 1, 0, 0, 0, 0, 0, 224, 255 ] )\n\t\t\tcheck( [ -(2n**63n) ], [ sint|-L8, 0, 0, 0, 0, 0, 0, 0, 128 ] )\n\t\t},\n\t\t\n\t\t\"vary pack bigint\"( $ ) {\n\t\t\tcheck( [ 2n**64n ], [ sint|-LA, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 ] )\n\t\t\tcheck( [ 2n**2111n ], [ sint|-LA, 0, 1, ... Array.from( { length: 263 }, () => 0 ), 128, 0 ] )\n\t\t\tcheck( [ -1n - 2n**64n ], [ sint|-LA, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 254 ] )\n\t\t\tcheck( [ -1n - 2n**2111n ], [ sint|-LA, 0, 1, ... Array.from( { length: 263 }, () => 255 ), -129, 255 ] )\n\t\t},\n\t\t\n\t\t\"vary pack float\"( $ ) {\n\t\t\tcheck( [ 1.5 ], [ fp64, ... new Uint8Array( new Float64Array([ 1.5 ]).buffer ) ] )\n\t\t},\n\t\t\n\t\t\"vary pack list\"( $ ) {\n\t\t\tcheck(\n\t\t\t\t[ [ 1, 2, 3 ] ],\n\t\t\t\t[ list|3, 1, 2, 3 ],\n\t\t\t)\n\t\t\tcheck(\n\t\t\t\t[ [ [], [1], [2,3] ] ],\n\t\t\t\t[ list|3, list|0, list|1, 1, list|2, 2, 3 ],\n\t\t\t)\n\t\t},\n\t\t\n\t\t\"vary pack dedup list\"( $ ) {\n\t\t\tconst pair = [ 1, 2 ]\n\t\t\tcheck(\n\t\t\t\t[ [ pair, pair ] ],\n\t\t\t\t[ list|2, list|2, 1, 2, link|0 ],\n\t\t\t)\n\t\t\tconst seven = [7]\n\t\t\tconst box = [seven]\n\t\t\tcheck(\n\t\t\t\t[ [ box, box, seven ] ],\n\t\t\t\t[ list|3, list|1, list|1, 7, link|1, link|0 ],\n\t\t\t)\n\t\t},\n\t\t\n\t\t\"vary pack cyclic list\"( $ ) {\n\t\t\tconst foo = [] as any[]\n\t\t\tfoo.push([ foo ])\n\t\t\t$mol_assert_fail( ()=> $mol_vary.pack([ foo ]), 'Cyclic refs' )\n\t\t},\n\t\t\n\t\t\"vary pack dedup uint\"( $ ) {\n\t\t\tcheck(\n\t\t\t\t[ [ 28, 28 ] ],\n\t\t\t\t[ list|2, uint|L1, 28, link|0 ],\n\t\t\t)\n\t\t\tcheck(\n\t\t\t\t[ [ 2n**64n, 2n**64n ] ],\n\t\t\t\t[ list|2, sint|-LA, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, link|0 ],\n\t\t\t)\n\t\t},\n\t\t\n\t\t\"vary pack dedup float\"( $ ) {\n\t\t\tcheck(\n\t\t\t\t[ [ 1.5, 1.5 ] ],\n\t\t\t\t[ list|2, fp64, ... new Uint8Array( new Float64Array([ 1.5 ]).buffer ), link|0 ],\n\t\t\t)\n\t\t},\n\t\t\n\t\t\"vary pack text\"( $ ) {\n\t\t\tcheck( [ 'foo' ], [ text|3, ... str('foo') ] )\n\t\t\tconst long = 'abcdefghijklmnopqrstuvwxyzЖЫ'\n\t\t\tcheck( [ long ], [ text|L1, 28, ... str(long) ] )\n\t\t},\n\t\t\n\t\t\"vary pack dedup text\"( $ ) {\n\t\t\tcheck(\n\t\t\t\t[ [ \"f\", \"f\" ] ],\n\t\t\t\t[ list|2, text|1, ... str('f'), link|0 ],\n\t\t\t)\n\t\t},\n\t\t\n\t\t\"vary pack blob\"( $ ) {\n\t\t\tcheck(\n\t\t\t\t[ new Uint8Array([ 1, 255 ]) ],\n\t\t\t\t[ blob|2, uint|L1, 1, 255 ],\n\t\t\t)\n\t\t\tcheck(\n\t\t\t\t[ new Int8Array([ -128, 127 ]) ],\n\t\t\t\t[ blob|2, sint|~L1, -128, 127 ],\n\t\t\t)\n\t\t\tcheck(\n\t\t\t\t[ new Uint32Array([ 255 ]) ],\n\t\t\t\t[ blob|4, uint|L4, 255, 0, 0, 0 ],\n\t\t\t)\n\t\t\tcheck(\n\t\t\t\t[ new Int32Array([ -128 ]) ],\n\t\t\t\t[ blob|4, sint|~L4, -128, 255, 255, 255 ],\n\t\t\t)\n\t\t\tcheck(\n\t\t\t\t[ new BigUint64Array([ 255n ]) ],\n\t\t\t\t[ blob|8, uint|L8, 255, 0, 0, 0, 0, 0, 0, 0 ],\n\t\t\t)\n\t\t\tcheck(\n\t\t\t\t[ new BigInt64Array([ -128n ]) ],\n\t\t\t\t[ blob|8, sint|~L8, -128, 255, 255, 255, 255, 255, 255, 255 ],\n\t\t\t)\n\t\t\tcheck(\n\t\t\t\t[ new Float32Array([ 1.5 ]) ],\n\t\t\t\t[ blob|4, fp32, ... new Uint8Array( new Float32Array([ 1.5 ]).buffer ) ],\n\t\t\t)\n\t\t\tcheck(\n\t\t\t\t[ new Float64Array([ 1.5 ]) ],\n\t\t\t\t[ blob|8, fp64, ... new Uint8Array( new Float64Array([ 1.5 ]).buffer ) ],\n\t\t\t)\n\t\t},\n\t\t\n\t\t\"vary pack dedup blob\"( $ ) {\n\t\t\tconst part = new Uint8Array([ 1, 2 ])\n\t\t\tcheck(\n\t\t\t\t[ [ part, part ] ],\n\t\t\t\t[ list|2, blob|2, uint|L1, 1, 2, link|0 ],\n\t\t\t)\n\t\t},\n\t\t\n\t\t\"vary pack struct\"( $ ) {\n\t\t\tcheck(\n\t\t\t\t[ { x: 1, y: 2 } ],\n\t\t\t\t[ tupl|2, list|2, text|1, ... str('x'), text|1, ... str('y'), 1, 2 ],\n\t\t\t)\n\t\t\tcheck(\n\t\t\t\t[ { x: {}, y: { a: 1 } } ],\n\t\t\t\t[ tupl|2, list|2, text|1, ... str('x'), text|1, ... str('y'), tupl|0, list|0, tupl|1, list|1, text|1, ... str('a'), 1 ],\n\t\t\t)\n\t\t},\n\t\t\n\t\t\"vary pack struct shape dedup\"( $ ) {\n\t\t\tcheck(\n\t\t\t\t[ [ {}, { foo: 1 }, { foo: 2 } ] ],\n\t\t\t\t[ list|3, tupl|0, list|0, tupl|1, list|1, text|3, ... str('foo'), 1, tupl|1, link|3, 2 ],\n\t\t\t)\n\t\t\tcheck(\n\t\t\t\t[ { x: 1, y: { x: 2, y: 3 } } ],\n\t\t\t\t[ tupl|2, list|2, text|1, ... str('x'), text|1, ... str('y'), 1, tupl|2, link|2, 2, 3 ],\n\t\t\t)\n\t\t},\n\t\t\n\t\t\"vary pack struct full dedup\"( $ ) {\n\t\t\tconst item = { x: 1 }\n\t\t\tcheck(\n\t\t\t\t[ [ item, item ] ],\n\t\t\t\t[ list|2, tupl|1, list|1, text|1, ... str('x'), 1, link|2 ],\n\t\t\t)\n\t\t\tconst part = { x: 1, y : 2 }\n\t\t\tcheck(\n\t\t\t\t[ { x: part, y: part } ],\n\t\t\t\t[ tupl|2, list|2, text|1, ... str('x'), text|1, ... str('y'), tupl|2, link|2, 1, 2, link|3 ],\n\t\t\t)\n\t\t},\n\t\t\n\t\t\"vary pack cyclic struct\"( $ ) {\n\t\t\tconst foo = { bar: null as any }\n\t\t\tfoo.bar = foo\n\t\t\t$mol_assert_fail( ()=> $mol_vary.pack([ foo ]), 'Cyclic refs' )\n\t\t},\n\t\t\n\t\t\"vary pack Map\"( $ ) {\n\t\t\t\n\t\t\tcheck(\n\t\t\t\t[ new Map< any, any >([ [ 'foo', 1 ], [ 2, 'bar' ] ]) ],\n\t\t\t\t[ tupl|2, list|2, text|4, ... str('keys'), text|4, ... str('vals'), list|2, text|3, ... str('foo'), 2, list|2, 1, text|3, ... str('bar') ],\n\t\t\t)\n\t\t\t\n\t\t},\n\t\t\n\t\t\"vary pack Set\"( $ ) {\n\t\t\t\n\t\t\tcheck(\n\t\t\t\t[ new Set([ 7, 'foo' ]) ],\n\t\t\t\t[ tupl|1, list|1, text|3, ... str('set'), list|2, 7, text|3, ... str('foo') ],\n\t\t\t)\n\t\t\t\n\t\t},\n\t\t\n\t\t\"vary pack Date\"( $ ) {\n\t\t\t\n\t\t\tconst date1 = new Date( '2025-01-02T03:04:05' )\n\t\t\tcheck(\n\t\t\t\t[ date1 ],\n\t\t\t\t[ tupl|1, list|1, text|9, ... str('unix_time'), uint|L4, ... new Uint8Array( new Uint32Array([ date1.valueOf() / 1000 ]).buffer ) ],\n\t\t\t)\n\t\t\t\n\t\t\tconst date2 = new Date( '2025-01-02T03:04:05.678' )\n\t\t\tcheck(\n\t\t\t\t[ date2 ],\n\t\t\t\t[ tupl|1, list|1, text|9, ... str('unix_time'), fp64, ... new Uint8Array( new Float64Array([ date2.valueOf() / 1000 ]).buffer ) ],\n\t\t\t)\n\t\t\t\n\t\t},\n\t\t\n\t\t\"vary pack DOM Element\"( $ ) {\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_dom_serialize( <div><span/><br/> </div> ),\n\t\t\t\t$mol_dom_serialize( ( $mol_vary.take( $mol_vary.pack([ <div><span/><br/> </div> ]) ) as Element[] )[0] ),\n\t\t\t)\n\t\t},\n\t\t\n\t\t\"vary pack custom types in rooms\"( $ ) {\n\t\t\t\n\t\t\tclass Foo {\n\t\t\t\t\n\t\t\t\tconstructor(\n\t\t\t\t\treadonly a: number,\n\t\t\t\t\treadonly b: number,\n\t\t\t\t) {}\n\t\t\t\t\n\t\t\t\t;[ Symbol.iterator ]() { // deep comparable\n\t\t\t\t\treturn [ this.a, this.b ].values()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tconst Vary = $mol_vary.zone()\n\t\t\t\n\t\t\tVary.type({\n\t\t\t\ttype: Foo,\n\t\t\t\tkeys: [ 'summ', 'diff' ],\n\t\t\t\tlean: foo => [ foo.a + foo.b, foo.a - foo.b ],\n\t\t\t\trich: ([ summ, diff ])=> new Foo( ( summ + diff )/2, ( summ - diff )/2 ),\n\t\t\t})\n\t\t\t\n\t\t\t// restore\n\t\t\tcheck(\n\t\t\t\t[ new Foo( 4, 2 ) ],\n\t\t\t\t[ tupl|2, list|2, text|4, ... str('summ'), text|4, ... str('diff'), 6, 2 ],\n\t\t\t\tVary,\n\t\t\t)\n\t\t\t\n\t\t\t// isolated\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_vary.take( $mol_vary.pack([ new Foo( 4, 2 ) ]) ),\n\t\t\t\t[ { a: 4, b: 2 } ],\n\t\t\t)\n\t\t\t\n\t\t\t// inherited\n\t\t\t$mol_assert_equal(\n\t\t\t\tVary.take( Vary.pack([ new Map([[ 1, 2 ]]) ]) ),\n\t\t\t\t[ new Map([[ 1, 2 ]]) ],\n\t\t\t)\n\t\t\t\n\t\t},\n\t\t\n\t\t\"vary pack sequences\"( $ ) {\n\t\t\t\n\t\t\tcheck( [], [] )\n\t\t\tcheck( [ 7 ], [ 7 ] )\n\t\t\tcheck( [ 3, 4 ], [ 3, 4 ] )\n\t\t\t\n\t\t\tcheck(\n\t\t\t\t[ [ 'foo', 'foo' ], [ 'bar', 'bar' ] ],\n\t\t\t\t[ list|2, text|3, ... str('foo'), link|0, list|2, text|3, ... str('bar'), link|0 ],\n\t\t\t)\n\t\t\t\n\t\t},\n\t\t\n\t})\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../../mol/promise/like/like.ts","../../../mol/fail/hidden/hidden.ts","../../../mol/test/test.test.ts","../../../mol/test/test.web.test.ts","../../../mol/dom/render/children/children.ts","../../../mol/jsx/jsx.ts","../../../mol/jsx/jsx.test.tsx","../../../mol/guid/guid.ts","../../../mol/range2/range2.ts","../../../mol/range2/range2.test.ts","../../../mol/compare/deep/deep.ts","../../../mol/compare/deep/deep.test.tsx","../../../mol/dev/format/format.ts","../../../mol/assert/assert.ts","../../../mol/assert/assert.test.ts","../../../mol/bigint/encode/encode.test.ts","../../../mol/charset/encode/encode.test.ts","../../../mol/bigint/decode/decode.test.ts","../../../mol/charset/decode/decode.test.ts","../../../mol/log3/log3.ts","../../../mol/log3/log3.web.ts","../../../mol/log3/log3.test.ts","../../../mol/func/name/name.ts","../../../mol/func/name/name.test.ts","../../../mol/bigint/bigint.test.ts","../../../mol/vary/vary.test.tsx"],"names":[],"mappings":"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","sourcesContent":["namespace $ {\n\t\n\texport function $mol_promise_like( val: any ): val is Promise<any> {\n\t\ttry {\n\t\t\treturn val && typeof val === 'object' && 'then' in val && typeof val.then === 'function'\n\t\t} catch {\n\t\t\treturn false\n\t\t}\n\t}\n\n}\n","namespace $ {\n\n\texport function $mol_fail_hidden( error : any ) : never {\n\t\tthrow error /// Use 'Never Pause Here' breakpoint in DevTools or simply blackbox this script\n\t}\n\n}\n","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 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/** Generates unique identifier. */\n\texport function $mol_guid(\n\t\tlength = 8,\n\t\texists: ( id: string )=> boolean = ()=> false,\n\t) {\n\n\t\tfor(;;) {\n\n\t\t\tlet id = Math.random().toString( 36 ).substring( 2, length + 2 ).toUpperCase()\n\t\t\tif( exists( id ) ) continue\n\t\t\t\n\t\t\treturn id\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\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","namespace $ {\n\n\texport let $mol_compare_deep_cache = new WeakMap< any , WeakMap< any , boolean > >()\n\t\n\t/**\n\t * Deeply compares two values. Returns true if equal.\n\t * Define `Symbol.toPrimitive` to customize.\n\t */\n\texport function $mol_compare_deep< Value >( left: Value, right: Value ): boolean {\n\n\t\tif( Object.is( left , right ) ) return true\n\n\t\tif( left === null ) return false\n\t\tif( right === null ) return false\n\n\t\tif( typeof left !== 'object' ) return false\n\t\tif( typeof right !== 'object' ) return false\n\n\t\tconst left_proto = Reflect.getPrototypeOf( left as any )\n\t\tconst right_proto = Reflect.getPrototypeOf( right as any )\n\t\t\n\t\tif( left_proto !== right_proto ) return false\n\n\t\tif( left instanceof Boolean ) return Object.is( left.valueOf(), ( right as any )['valueOf']() )\n\t\tif( left instanceof Number ) return Object.is( left.valueOf(), ( right as any )['valueOf']() )\n\t\tif( left instanceof String ) return Object.is( left.valueOf(), ( right as any )['valueOf']() )\n\t\tif( left instanceof Date ) return Object.is( left.valueOf(), ( right as any )['valueOf']() )\n\t\tif( left instanceof RegExp ) return left.source === (right as any).source && left.flags === (right as any).flags\n\t\tif( left instanceof Error ) return left.message === (right as any).message && $mol_compare_deep( left.stack, (right as any).stack )\n\n\t\tlet left_cache = $mol_compare_deep_cache.get( left )\n\t\tif( left_cache ) {\n\n\t\t\tconst right_cache = left_cache.get( right )\n\t\t\tif( typeof right_cache === 'boolean' ) return right_cache\n\n\t\t} else {\n\t\t\t\n\t\t\tleft_cache = new WeakMap< any , boolean >()\n\t\t\t$mol_compare_deep_cache.set( left , left_cache )\n\n\t\t}\n\n\t\tleft_cache.set(right, true);\n\n\t\tlet result!: boolean\n\n\t\ttry {\n\t\t\t\n\t\t\tif( !left_proto ) result = compare_pojo( left, right as any )\n\t\t\telse if( !Reflect.getPrototypeOf( left_proto ) ) result = compare_pojo( left, right as any )\n\t\t\telse if( Symbol.toPrimitive in left ) result = compare_primitive( left, right )\n\t\t\telse if( Array.isArray( left ) ) result = compare_array( left, right as any )\n\t\t\telse if( left instanceof Set ) result = compare_set( left, right as any )\n\t\t\telse if( left instanceof Map ) result = compare_map( left, right as any )\n\t\t\telse if( ArrayBuffer.isView( left ) ) result = compare_buffer( left, right as any )\n\t\t\telse if( Symbol.iterator in left ) result = compare_iterator( ( left as any )[ Symbol.iterator ](), ( right as any )[ Symbol.iterator ]() )\n\t\t\telse result = false\n\n\t\t} finally {\n\t\t\tleft_cache.set( right , result )\n\t\t}\n\t\t\n\t\treturn result\n\t}\n\n\tfunction compare_array< Value extends any[] >( left: Value, right: Value ): boolean {\n\t\t\n\t\tconst len = left.length\n\t\tif( len !== right.length ) return false\n\t\t\n\t\tfor( let i = 0; i < len; ++i ) {\n\t\t\tif( !$mol_compare_deep( left[i] , right[i] ) ) return false\n\t\t}\n\t\t\n\t\treturn true\n\t}\n\t\n\tfunction compare_buffer( left: ArrayBufferView, right: ArrayBufferView ): boolean {\n\t\t\n\t\tconst len = left.byteLength\n\t\tif( len !== right.byteLength ) return false\n\t\t\n\t\tif( left instanceof DataView ) return compare_buffer(\n\t\t\tnew Uint8Array( left.buffer, left.byteOffset, left.byteLength ),\n\t\t\tnew Uint8Array( right.buffer, right.byteOffset, right.byteLength ),\n\t\t)\n\t\t\n\t\tfor( let i = 0; i < len; ++i ) {\n\t\t\tif( (left as any)[i] !== (right as any)[i] ) return false\n\t\t}\n\t\t\n\t\treturn true\n\t}\n\t\n\tfunction compare_iterator< Value extends IterableIterator<any> >(\n\t\tleft: Value,\n\t\tright: Value,\n\t): boolean {\n\t\t\n\t\twhile( true ) {\n\n\t\t\tconst left_next = left.next()\n\t\t\tconst right_next = right.next()\n\n\t\t\tif( left_next.done !== right_next.done ) return false\n\t\t\tif( left_next.done ) break\n\n\t\t\tif( !$mol_compare_deep( left_next.value , right_next.value ) ) return false\n\n\t\t}\n\n\t\treturn true\n\n\t}\n\t\n\tfunction compare_set< Value extends Set<any> >( left: Value, right: Value ): boolean {\n\t\tif( left.size !== right.size ) return false\n\t\treturn compare_iterator( left.values(), right.values() )\n\t}\n\t\n\tfunction compare_map< Key, Value >( left: Map< Key, Value > , right: Map< Key, Value > ): boolean {\n\t\tif( left.size !== right.size ) return false\n\t\treturn compare_iterator( left.keys(), right.keys() )\n\t\t\t&& compare_iterator( left.values(), right.values() )\n\t}\n\t\n\tfunction compare_pojo( left: {}, right: {} ): boolean {\n\t\t\n\t\tconst left_keys = Object.getOwnPropertyNames( left )\n\t\tconst right_keys = Object.getOwnPropertyNames( right )\n\t\t\n\t\tif( !compare_array( left_keys, right_keys ) ) return false\n\n\t\tfor( let key of left_keys ) {\n\t\t\tif( !$mol_compare_deep( ( left as any )[ key ], ( right as any )[ key ] ) ) return false\n\t\t}\n\n\t\tconst left_syms = Object.getOwnPropertySymbols( left )\n\t\tconst right_syms = Object.getOwnPropertySymbols( right )\n\t\t\n\t\tif( !compare_array( left_syms, right_syms ) ) return false\n\n\t\tfor( let key of left_syms ) {\n\t\t\tif( !$mol_compare_deep( ( left as any )[ key ], ( right as any )[ key ] ) ) return false\n\t\t}\n\n\t\treturn true\n\t}\n\t\n\tfunction compare_primitive( left: {}, right: {} ): boolean {\n\t\treturn Object.is(\n\t\t\t(left as any)[ Symbol.toPrimitive ]( 'default' ),\n\t\t\t(right as any)[ Symbol.toPrimitive ]( 'default' ),\n\t\t)\n\t}\n\t\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\n\t// https://docs.google.com/document/d/1FTascZXT9cxfetuPRT2eXPQKXui4nWFivUnS_335T3U/preview#\n\t($ as any)['devtoolsFormatters'] ||= []\n\n\texport function $mol_dev_format_register( config : {\n\t\theader : ( val : any , config : any )=> any\n\t\thasBody : ( val : any , config : any )=> false\n\t} | {\n\t\theader : ( val : any , config : any )=> any\n\t\thasBody : ( val : any , config : any )=> boolean\n\t\tbody : ( val : any , config : any )=> any\n\t} ) {\n\t\t($ as any)['devtoolsFormatters'].push( config )\n\t}\n\n\texport const $mol_dev_format_head = Symbol( '$mol_dev_format_head' )\n\texport const $mol_dev_format_body = Symbol( '$mol_dev_format_body' )\n\t\n\tfunction $mol_dev_format_button( label: any, click: ()=> any ) {\n\t\treturn $mol_dev_format_auto( {\n\t\t\t[ $mol_dev_format_head ]() {\n\t\t\t\treturn $mol_dev_format_span( { color: 'cornflowerblue' }, label )\n\t\t\t},\n\t\t\t[ $mol_dev_format_body ]() {\n\t\t\t\tPromise.resolve().then( click )\n\t\t\t\treturn $mol_dev_format_span({})\n\t\t\t}\n\t\t} )\n\t}\n\n\t$mol_dev_format_register({\n\n\t\theader : ( val : any , config = false ) => {\n\t\t\t\n\t\t\tif( config ) return null\n\n\t\t\tif( !val ) return null\n\t\t\t\n\t\t\tif( $mol_dev_format_head in val ) {\n\t\t\t\ttry {\n\t\t\t\t\treturn val[ $mol_dev_format_head ]()\n\t\t\t\t} catch( error ) {\n\t\t\t\t\treturn $mol_dev_format_accent( $mol_dev_format_native( val ), '💨', $mol_dev_format_native( error ), '' )\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tif( typeof val === 'function' ) {\n\t\t\t\treturn $mol_dev_format_native( val )\n\t\t\t}\n\t\t\t\n\t\t\tif( val instanceof Error ) {\n\t\t\t\t\n\t\t\t\treturn $mol_dev_format_span( {},\n\t\t\t\t\t$mol_dev_format_native( val ),\n\t\t\t\t\t' ',\n\t\t\t\t\t$mol_dev_format_button( 'throw', ()=> $mol_fail_hidden( val ) ),\n\t\t\t\t)\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tif( val instanceof Promise ) {\n\t\t\t\treturn $mol_dev_format_shade(\n\t\t\t\t\t$mol_dev_format_native( val ),\n\t\t\t\t\t' ',\n\t\t\t\t\tval[ Symbol.toStringTag ] ?? '',\n\t\t\t\t)\n\t\t\t}\n\t\t\t\n\t\t\tif( Symbol.toStringTag in val ) {\n\t\t\t\treturn $mol_dev_format_native( val )\n\t\t\t}\n\t\t\t\n\t\t\treturn null\n\t\t\t\n\t\t} ,\n\t\t\n\t\thasBody : ( val: any , config = false )=> {\n\t\t\t\n\t\t\tif( config ) return false\n\t\t\tif( !val ) return false\n\t\t\t\n\t\t\t// if( Error.isError( val ) ) true\n\t\t\tif( val[ $mol_dev_format_body ] ) return true\n\t\t\t\n\t\t\treturn false\n\t\t},\n\n\t\tbody : ( val: any , config = false )=> {\n\t\t\t\n\t\t\tif( config ) return null\n\n\t\t\tif( !val ) return null\n\t\t\t\n\t\t\tif( $mol_dev_format_body in val ) {\n\t\t\t\ttry {\n\t\t\t\t\treturn val[ $mol_dev_format_body ]()\n\t\t\t\t} catch( error ) {\n\t\t\t\t\treturn $mol_dev_format_accent( $mol_dev_format_native( val ), '💨', $mol_dev_format_native( error ), '' )\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\t// if( Error.isError( val ) ) {\n\t\t\t// \treturn $mol_dev_format_native( val )\n\t\t\t// }\n\t\t\t\n\t\t\treturn null\n\t\t},\n\n\t})\n\n\texport function $mol_dev_format_native( obj : any ) {\n\t\t\n\t\tif( typeof obj === 'undefined' ) return $mol_dev_format_shade( 'undefined' )\n\t\t\n\t\t// if( ![ 'object', 'function', 'symbol' ].includes( typeof obj ) ) return obj\n\n\t\treturn [\n\t\t\t'object' ,\n\t\t\t{\n\t\t\t\tobject : obj ,\n\t\t\t\tconfig : true ,\n\t\t\t} ,\n\t\t]\n\n\t}\n\n\texport function $mol_dev_format_auto( obj : any ) {\n\t\t\n\t\tif( obj == null ) return $mol_dev_format_shade( String( obj ) )\n\n\t\treturn [\n\t\t\t'object' ,\n\t\t\t{\n\t\t\t\tobject : obj ,\n\t\t\t\tconfig : false ,\n\t\t\t} ,\n\t\t]\n\n\t}\n\n\texport function $mol_dev_format_element( element : string , style : object , ...content : any[] ) {\n\t\t\t\n\t\tconst styles = [] as string[]\n\t\t\n\t\tfor( let key in style ) styles.push( `${ key } : ${ (style as any)[key] }` )\n\t\t\n\t\treturn [\n\t\t\telement ,\n\t\t\t{\n\t\t\t\tstyle : styles.join( ' ; ' ) ,\n\t\t\t} ,\n\t\t\t... content ,\n\t\t]\n\n\t}\n\n\texport let $mol_dev_format_span = $mol_dev_format_element.bind( null , 'span' )\n\texport let $mol_dev_format_div = $mol_dev_format_element.bind( null , 'div' )\n\texport let $mol_dev_format_ol = $mol_dev_format_element.bind( null , 'ol' )\n\texport let $mol_dev_format_li = $mol_dev_format_element.bind( null , 'li' )\n\texport let $mol_dev_format_table = $mol_dev_format_element.bind( null , 'table' )\n\texport let $mol_dev_format_tr = $mol_dev_format_element.bind( null , 'tr' )\n\texport let $mol_dev_format_td = $mol_dev_format_element.bind( null , 'td' )\n\n\texport let $mol_dev_format_accent = $mol_dev_format_span.bind( null , {\n\t\t'color' : 'magenta' ,\n\t} )\n\n\texport let $mol_dev_format_strong = $mol_dev_format_span.bind( null , {\n\t\t'font-weight' : 'bold' ,\n\t} )\n\n\texport let $mol_dev_format_string = $mol_dev_format_span.bind( null , {\n\t\t'color' : 'green',\n\t} )\n\n\texport let $mol_dev_format_shade = $mol_dev_format_span.bind( null , {\n\t\t'color' : 'gray',\n\t} )\n\n\texport let $mol_dev_format_indent = $mol_dev_format_div.bind( null , {\n\t\t'margin-left': '13px'\n\t} )\n\t\n\tclass Stack extends Array< Call > {\n\t\t\n\t\t// [ Symbol.toPrimitive ]() {\n\t\t// \treturn this.toString()\n\t\t// }\n\t\t\n\t\ttoString() {\n\t\t\treturn this.join( '\\n' )\n\t\t}\n\t\t\n\t}\n\t\n\tclass Call extends Object {\n\t\t\n\t\treadonly type: string\n\t\treadonly function: string\n\t\treadonly method: string\n\t\treadonly eval: string\n\t\treadonly source: string\n\t\treadonly offset: number\n\t\treadonly pos: [ number, number ]\n\t\treadonly object: unknown\n\t\treadonly flags: readonly string[]\n\t\t[ Symbol.toStringTag ]!: string\n\t\t\n\t\tconstructor( call: NodeJS.CallSite ) {\n\t\t\tsuper()\n\t\t\t\n\t\t\tthis.type = call.getTypeName() ?? ''\n\t\t\tthis.function = call.getFunctionName() ?? ''\n\t\t\tthis.method = call.getMethodName() ?? ''\n\t\t\tif( this.method === this.function ) this.method = ''\n\t\t\t// const func = c.getFunction()\n\t\t\tthis.pos = [ call.getEnclosingLineNumber() ?? 0, call.getEnclosingColumnNumber() ?? 0 ]\n\t\t\tthis.eval = call.getEvalOrigin() ?? ''\n\t\t\tthis.source = call.getScriptNameOrSourceURL() ?? ''\n\t\t\tthis.object = call.getThis()\n\t\t\tthis.offset = call.getPosition()\n\t\t\t\n\t\t\tconst flags = []\n\t\t\tif( call.isAsync() ) flags.push( 'async' )\n\t\t\tif( call.isConstructor() ) flags.push( 'constructor' )\n\t\t\tif( call.isEval() ) flags.push( 'eval' )\n\t\t\tif( call.isNative() ) flags.push( 'native' )\n\t\t\tif( call.isPromiseAll() ) flags.push( 'PromiseAll' )\n\t\t\tif( call.isToplevel() ) flags.push( 'top' )\n\t\t\tthis.flags = flags\n\t\t\n\t\t\tconst type = this.type ? this.type + '.' : ''\n\t\t\tconst func = this.function || '<anon>'\n\t\t\tconst method = this.method ? ' [' + this.method + '] ' : ''\n\t\t\t\n\t\t\tthis[ Symbol.toStringTag ] = `${type}${func}${method}`\n\t\t}\n\t\t\n\t\t[ Symbol.toPrimitive ]() {\n\t\t\treturn this.toString()\n\t\t}\n\t\t\n\t\ttoString() {\n\t\t\tconst object = this.object || ''\n\t\t\tconst label = this[ Symbol.toStringTag ]\n\t\t\tconst source = `${ this.source }:${ this.pos.join( ':' ) } #${ this.offset }`\n\t\t\treturn `\\tat ${object}${label} (${source})`\n\t\t}\n\n\t\t[ $mol_dev_format_head ]() {\n\t\t\treturn $mol_dev_format_div( {},\n\t\t\t\t$mol_dev_format_native( this ),\n\t\t\t\t$mol_dev_format_shade( ' ' ),\n\t\t\t\t... this.object ? [\n\t\t\t\t\t$mol_dev_format_native( this.object ),\n\t\t\t\t] : [],\n\t\t\t\t... this.method ? [ $mol_dev_format_shade( ' ',\n\t\t\t\t\t' [',\n\t\t\t\t\tthis.method,\n\t\t\t\t\t']',\n\t\t\t\t) ] : [],\n\t\t\t\t$mol_dev_format_shade( ' ', this.flags.join( ', ' ) ),\n\t\t\t)\n\t\t}\n\n\t}\n\t\n\tError.prepareStackTrace ??= ( error: Error, stack: NodeJS.CallSite[] )=> new Stack( ... stack.map( call => new Call( call ) ) )\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, Value, ... 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\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_equal( [ 3 ] , [ 3 ] )\n\t\t} ,\n\t\t\n\t\t'three must be alike'() {\n\t\t\t$mol_assert_equal( [ 3 ] , [ 3 ] , [ 3 ] )\n\t\t} ,\n\n\t\t'two object must be alike'() {\n\t\t\t$mol_assert_equal( { a: 1 }, { a: 1 } )\n\t\t} ,\n\n\t\t'three object must be alike'() {\n\t\t\t$mol_assert_equal( { a: 1 }, { a: 1 }, { a: 1 } )\n\t\t} ,\n\t\t\n\t} )\n}\n","namespace $.$$ {\n\t$mol_test({\n\t\t\n\t\t\"1 byte int\"( $ ) {\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_bigint_encode( 0n ),\n\t\t\t\tnew Uint8Array( new Int8Array([ 0 ]).buffer ),\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_bigint_encode( 1n ),\n\t\t\t\tnew Uint8Array( new Int8Array([ 1 ]).buffer ),\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_bigint_encode( -1n ),\n\t\t\t\tnew Uint8Array( new Int8Array([ -1 ]).buffer ),\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_bigint_encode( 127n ),\n\t\t\t\tnew Uint8Array( new Int8Array([ 127 ]).buffer ),\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_bigint_encode( -128n ),\n\t\t\t\tnew Uint8Array( new Int8Array([ -128 ]).buffer ),\n\t\t\t)\n\t\t\t\n\t\t},\n\t\t\n\t\t\"2 byte int\"( $ ) {\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_bigint_encode( 128n ),\n\t\t\t\tnew Uint8Array( new Int16Array([ 128 ]).buffer ),\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_bigint_encode( -129n ),\n\t\t\t\tnew Uint8Array( new Int16Array([ -129 ]).buffer ),\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_bigint_encode( 128n * 256n - 1n ),\n\t\t\t\tnew Uint8Array( new Int16Array([ 128 * 256 - 1 ]).buffer ),\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_bigint_encode( -128n * 256n ),\n\t\t\t\tnew Uint8Array( new Int16Array([ -128 * 256 ]).buffer ),\n\t\t\t)\n\t\t\t\n\t\t},\n\t\t\n\t\t\"3 byte int\"( $ ) {\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_bigint_encode( 128n * 256n ),\n\t\t\t\tnew Uint8Array( new Int32Array([ 128 * 256 ]).buffer ).slice( 0, 3 ),\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_bigint_encode( -128n * 256n - 1n ),\n\t\t\t\tnew Uint8Array( new Int32Array([ -128 * 256 - 1 ]).buffer ).slice( 0, 3 ),\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_bigint_encode( 128n * 256n ** 2n - 1n ),\n\t\t\t\tnew Uint8Array( new Int32Array([ 128 * 256 ** 2 - 1 ]).buffer ).slice( 0, 3 ),\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_bigint_encode( -128n * 256n ** 2n ),\n\t\t\t\tnew Uint8Array( new Int32Array([ -128 * 256 ** 2 ]).buffer ).slice( 0, 3 ),\n\t\t\t)\n\t\t\t\n\t\t},\n\t\t\n\t\t\"4 byte int\"( $ ) {\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_bigint_encode( 128n * 256n ** 2n ),\n\t\t\t\tnew Uint8Array( new Int32Array([ 128 * 256 ** 2 ]).buffer ),\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_bigint_encode( -128n * 256n ** 2n - 1n ),\n\t\t\t\tnew Uint8Array( new Int32Array([ -128 * 256 ** 2 - 1 ]).buffer ),\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_bigint_encode( 128n * 256n ** 3n - 1n ),\n\t\t\t\tnew Uint8Array( new Int32Array([ 128 * 256 ** 3 - 1 ]).buffer ),\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_bigint_encode( -128n * 256n ** 3n ),\n\t\t\t\tnew Uint8Array( new Int32Array([ -128 * 256 ** 3 ]).buffer ),\n\t\t\t)\n\t\t\t\n\t\t},\n\t\t\n\t\t\"8 byte int\"( $ ) {\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_bigint_encode( 128n * 256n ** 7n - 1n ),\n\t\t\t\tnew Uint8Array( new BigInt64Array([ 128n * 256n ** 7n - 1n ]).buffer ),\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_bigint_encode( -128n * 256n ** 7n ),\n\t\t\t\tnew Uint8Array( new BigInt64Array([ -128n * 256n ** 7n ]).buffer ),\n\t\t\t)\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'encode empty'() {\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_charset_encode( '' ),\n\t\t\t\tnew Uint8Array( [] ),\n\t\t\t)\n\t\t},\n\t\t\n\t\t'encode 1 octet'() {\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_charset_encode( 'F' ),\n\t\t\t\tnew Uint8Array([ 0x46 ]),\n\t\t\t)\n\t\t},\n\t\t\n\t\t'encode 2 octet'() {\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_charset_encode( 'Б' ),\n\t\t\t\tnew Uint8Array([ 0xd0, 0x91 ]),\n\t\t\t)\n\t\t},\n\t\t\n\t\t'encode 3 octet'() {\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_charset_encode( 'ह' ),\n\t\t\t\tnew Uint8Array([ 0xe0, 0xa4, 0xb9 ]),\n\t\t\t)\n\t\t},\n\t\t\n\t\t'encode 4 octet'() {\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_charset_encode( '𐍈' ),\n\t\t\t\tnew Uint8Array([ 0xf0, 0x90, 0x8d, 0x88 ]),\n\t\t\t)\n\t\t},\n\t\t\n\t\t'encode surrogate pair'() {\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_charset_encode( '😀' ),\n\t\t\t\tnew Uint8Array([ 0xf0, 0x9f, 0x98, 0x80 ]),\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\"1 byte int\"( $ ) {\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_bigint_decode( new Uint8Array ),\n\t\t\t\t0n,\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_bigint_decode( new Uint8Array( new Int8Array([ 1 ]).buffer ) ),\n\t\t\t\t1n,\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_bigint_decode( new Uint8Array( new Int8Array([ -1 ]).buffer ) ),\n\t\t\t\t-1n,\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_bigint_decode( new Uint8Array( new Int8Array([ 127 ]).buffer ) ),\n\t\t\t\t127n,\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_bigint_decode( new Uint8Array( new Int8Array([ -128 ]).buffer ) ),\n\t\t\t\t-128n,\n\t\t\t)\n\n\t\t},\n\t\t\n\t\t\"2 byte int\"( $ ) {\n\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_bigint_decode( new Uint8Array( new Int16Array([ 128 ]).buffer ) ),\n\t\t\t\t128n,\n\t\t\t)\n\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_bigint_decode( new Uint8Array( new Int16Array([ -129 ]).buffer ) ),\n\t\t\t\t-129n,\n\t\t\t)\n\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_bigint_decode( new Uint8Array( new Int16Array([ 128 * 256 - 1 ]).buffer ) ),\n\t\t\t\t128n * 256n - 1n,\n\t\t\t)\n\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_bigint_decode( new Uint8Array( new Int16Array([ -128 * 256 ]).buffer ) ),\n\t\t\t\t-128n * 256n,\n\t\t\t)\n\n\t\t},\n\n\t\t\"3 byte int\"( $ ) {\n\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_bigint_decode( new Uint8Array( new Int32Array([ 128 * 256 ]).buffer ).slice( 0, 3 ) ),\n\t\t\t\t128n * 256n,\n\t\t\t)\n\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_bigint_decode( new Uint8Array( new Int32Array([ -128 * 256 - 1 ]).buffer ).slice( 0, 3 ) ),\n\t\t\t\t-128n * 256n - 1n,\n\t\t\t)\n\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_bigint_decode( new Uint8Array( new Int32Array([ 128 * 256 ** 2 - 1 ]).buffer ).slice( 0, 3 ) ),\n\t\t\t\t128n * 256n ** 2n - 1n,\n\t\t\t)\n\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_bigint_decode( new Uint8Array( new Int32Array([ -128 * 256 ** 2 ]).buffer ).slice( 0, 3 ) ),\n\t\t\t\t-128n * 256n ** 2n,\n\t\t\t)\n\n\t\t},\n\n\t\t\"4 byte int\"( $ ) {\n\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_bigint_decode( new Uint8Array( new Int32Array([ 128 * 256 ** 2 ]).buffer ) ),\n\t\t\t\t128n * 256n ** 2n,\n\t\t\t)\n\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_bigint_decode( new Uint8Array( new Int32Array([ -128 * 256 ** 2 - 1 ]).buffer ) ),\n\t\t\t\t-128n * 256n ** 2n - 1n,\n\t\t\t)\n\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_bigint_decode( new Uint8Array( new Int32Array([ 128 * 256 ** 3 - 1 ]).buffer ) ),\n\t\t\t\t128n * 256n ** 3n - 1n,\n\t\t\t)\n\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_bigint_decode( new Uint8Array( new Int32Array([ -128 * 256 ** 3 ]).buffer ) ),\n\t\t\t\t-128n * 256n ** 3n,\n\t\t\t)\n\n\t\t},\n\n\t\t\"8 byte int\"( $ ) {\n\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_bigint_decode( new Uint8Array( new BigInt64Array([ 128n * 256n ** 7n - 1n ]).buffer ) ),\n\t\t\t\t128n * 256n ** 7n - 1n,\n\t\t\t)\n\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_bigint_decode( new Uint8Array( new BigInt64Array([ -128n * 256n ** 7n ]).buffer ) ),\n\t\t\t\t-128n * 256n ** 7n,\n\t\t\t)\n\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\n\t/** Logger event data */\n\texport type $mol_log3_event< Fields > = {\n\t\t[ key in string ] : unknown\n\t} & {\n\t\t\n\t\t/** Time of event creation */\n\t\ttime? : string\n\n\t\t/** Place of event creation */\n\t\tplace : unknown\n\n\t\t/** Short description of event */\n\t\tmessage : string\n\n\t} & Fields\n\n\t/** Logger function */\n\texport type $mol_log3_logger< Fields , Res = void > = (\n\t\tthis : $ ,\n\t\tevent : $mol_log3_event< Fields > ,\n\t)=> Res\n\n\t/** Log begin of some task */\n\texport declare let $mol_log3_come : $mol_log3_logger<{}>\n\t\n\t/** Log end of some task */\n\texport declare let $mol_log3_done : $mol_log3_logger<{}>\n\t\n\t/** Log error */\n\texport declare let $mol_log3_fail : $mol_log3_logger<{}>\n\t\n\t/** Log warning message */\n\texport declare let $mol_log3_warn : $mol_log3_logger<{ hint : string }>\n\t\n\t/** Log some generic event */\n\texport declare let $mol_log3_rise : $mol_log3_logger<{}>\n\n\t/** Log begin of log group, returns func to close group */\n\texport declare let $mol_log3_area : $mol_log3_logger< {} , ()=> void >\n\n\t/** Log begin of collapsed group only when some logged inside, returns func to close group */\n\texport function $mol_log3_area_lazy(\n\t\tthis : $ ,\n\t\tevent : $mol_log3_event<{}> ,\n\t) {\n\n\t\tconst self = this.$\n\t\tconst stack = self.$mol_log3_stack\n\n\t\tconst deep = stack.length\n\t\tlet logged = false\n\n\t\tstack.push( ()=> {\n\t\t\tlogged = true\n\t\t\tself.$mol_log3_area.call( self , event )\n\t\t} )\n\n\t\treturn ()=> {\n\t\t\tif( logged ) self.console.groupEnd()\n\t\t\tif( stack.length > deep ) stack.length = deep\n\t\t}\n\n\t}\n\n\texport let $mol_log3_stack = [] as ( ()=> void )[]\n\n}\n","namespace $ {\n\n\texport function $mol_log3_web_make(\n\t\tlevel : $mol_type_keys_extract< Console, Function >,\n\t\tcolor : string,\n\t) {\n\n\t\treturn function $mol_log3_logger(\n\t\t\tthis : $ ,\n\t\t\tevent : $mol_log3_event<{}> ,\n\t\t) {\n\n\t\t\tconst pending = this.$mol_log3_stack.pop()\n\t\t\tif( pending ) pending()\n\n\t\t\tlet tpl = '%c'\n\t\t\tconst chunks = Object.entries( event )\n\n\t\t\tfor( let i = 0 ; i < chunks.length ; ++i ) {\n\t\t\t\ttpl += ( typeof chunks[i][1] === 'string' ) ? '%s: %s\\n' : '%s: %o\\n'\n\t\t\t}\n\t\n\t\t\tconst style = `color:${color};font-weight:bolder`\n\n\t\t\t;( this.console[ level ] as any )( tpl.trim() , style , ... ( [] as any[] ).concat( ... chunks ) )\n\n\t\t\tconst self = this\n\t\t\treturn ()=> self.console.groupEnd()\n\n\t\t}\n\n\t}\n\n\t$.$mol_log3_come = $mol_log3_web_make( 'info' , 'royalblue' )\n\t$.$mol_log3_done = $mol_log3_web_make( 'info' , 'forestgreen' )\n\t$.$mol_log3_fail = $mol_log3_web_make( 'error' , 'orangered' )\n\t$.$mol_log3_warn = $mol_log3_web_make( 'warn' , 'goldenrod' )\n\t$.$mol_log3_rise = $mol_log3_web_make( 'log' , 'magenta' )\n\t$.$mol_log3_area = $mol_log3_web_make( 'group' , 'cyan' )\n\n}\n","namespace $ {\n\n\t$mol_test_mocks.push( $ => {\n\t\t$.$mol_log3_come = ()=> {}\n\t\t$.$mol_log3_done = ()=> {}\n\t\t$.$mol_log3_fail = ()=> {}\n\t\t$.$mol_log3_warn = ()=> {}\n\t\t$.$mol_log3_rise = ()=> {}\n\t\t$.$mol_log3_area = ()=> ()=> {}\n\t} )\n\n}\n","namespace $ {\n\t\n\tconst named = new WeakSet< Function >()\n\t\n\texport function $mol_func_name( this : $ , func : Function ) : string {\n\t\t\n\t\tlet name = func.name\n\t\tif( name?.length > 1 ) return name\n\t\tif( named.has( func ) ) return name\n\n\t\tfor( let key in this ) {\n\t\t\ttry {\n\t\t\t\tif( (this as any)[ key ] !== func ) continue\n\t\t\t\tname = key\n\t\t\t\tObject.defineProperty( func , 'name' , { value : name } )\n\t\t\t\tbreak\n\t\t\t} catch {}\n\t\t}\n\n\t\tnamed.add( func )\n\t\treturn name\n\t\t\n\t}\n\n\texport function $mol_func_name_from< Target extends Function >( target : Target , source : Function ) {\n\t\tObject.defineProperty( target , 'name' , { value : source.name } )\n\t\treturn target\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\n\t\t\"Zero int\"( $ ) {\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_bigint_decode( $mol_bigint_encode( 0n ) ),\n\t\t\t\t0n,\n\t\t\t)\n\t\t},\n\n\t\t\"Large positive int\"( $ ) {\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_bigint_decode( $mol_bigint_encode( 12345678901234567890n ) ),\n\t\t\t\t12345678901234567890n,\n\t\t\t)\n\t\t},\n\n\t\t\"Large negative int\"( $ ) {\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_bigint_decode( $mol_bigint_encode( -12345678901234567890n ) ),\n\t\t\t\t-12345678901234567890n,\n\t\t\t)\n\t\t},\n\n\t});\n}\n","/** @jsx $mol_jsx */\nnamespace $.$$ {\n\t\n\tconst { uint, link, spec, blob, text, list, tupl, sint } = $mol_vary_tip\n\tconst { none, both, fp16, fp32, fp64 } = $mol_vary_spec\n\tconst { L1, L2, L4, L8, LA } = $mol_vary_len\n\tconst str = $mol_charset_encode\n\t\n\tfunction check( vary: readonly unknown[], ideal: readonly number[], Vary = $mol_vary ) {\n\t\tconst pack = Vary.pack( vary )\n\t\t$mol_assert_equal( Vary.take( pack ), vary )\n\t\t$mol_assert_equal( pack, new Uint8Array( ideal ) )\n\t}\n\t\n\t$mol_test({\n\t\t\n\t\t\"vary pack logical\"( $ ) {\n\t\t\tcheck( [ null ], [ spec|none ] )\n\t\t\tcheck( [ true ], [ $mol_vary_spec.true ] )\n\t\t\tcheck( [ false ], [ $mol_vary_spec.fake ] )\n\t\t\tcheck( [ undefined ], [ spec|both ] )\n\t\t},\n\t\t\n\t\t\"vary pack uint0\"( $ ) {\n\t\t\tcheck( [ 0 ], [ 0 ] )\n\t\t\tcheck( [ 27 ], [ 27 ] )\n\t\t},\n\t\t\n\t\t\"vary pack uint1\"( $ ) {\n\t\t\tcheck( [ 28 ], [ uint|L1, 28 ] )\n\t\t\tcheck( [ 255 ], [ uint|L1, 255 ] )\n\t\t},\n\t\t\n\t\t\"vary pack uint2\"( $ ) {\n\t\t\tcheck( [ 256 ], [ uint|L2, 0, 1 ] )\n\t\t\tcheck( [ 256**2-1 ], [ uint|L2, 255, 255 ] )\n\t\t},\n\t\t\n\t\t\"vary pack uint4\"( $ ) {\n\t\t\tcheck( [ 256**2 ], [ uint|L4, 0, 0, 1, 0 ] )\n\t\t\tcheck( [ 256**4-1 ], [ uint|L4, 255, 255, 255, 255 ] )\n\t\t},\n\t\t\n\t\t\"vary pack uint8\"( $ ) {\n\t\t\tcheck( [ 256**4 ], [ uint|L8, 0, 0, 0, 0, 1, 0, 0, 0 ] )\n\t\t\tcheck( [ Number.MAX_SAFE_INTEGER ], [ uint|L8, 255, 255, 255, 255, 255, 255, 31, 0 ] )\n\t\t\tcheck( [ 256n**8n-1n ], [ uint|L8, 255, 255, 255, 255, 255, 255, 255, 255 ] )\n\t\t},\n\t\t\n\t\t\"vary pack sint0\"( $ ) {\n\t\t\tcheck( [ -1 ], [ -1 ] )\n\t\t\tcheck( [ -27 ], [ -27 ] )\n\t\t},\n\t\t\n\t\t\"vary pack sint1\"( $ ) {\n\t\t\tcheck( [ -28, ], [ sint|-L1, -28 ] )\n\t\t\tcheck( [ -256/2 ] , [ sint|-L1, 128 ] )\n\t\t},\n\t\t\n\t\t\"vary pack sint2\"( $ ) {\n\t\t\tcheck( [ -256/2-1 ], [ sint|-L2, 127, 255 ] )\n\t\t\tcheck( [ -(256**2)/2 ], [ sint|-L2, 0, 128 ] )\n\t\t},\n\t\t\n\t\t\"vary pack sint4\"( $ ) {\n\t\t\tcheck( [ -(256**2)/2-1 ], [ sint|-L4, 255, 127, 255, 255 ] )\n\t\t\tcheck( [ -(256**4)/2 ], [ sint|-L4, 0, 0, 0, 128 ] )\n\t\t},\n\t\t\n\t\t\"vary pack sint8\"( $ ) {\n\t\t\tcheck( [ -(256**4)/2-1 ], [ sint|-L8, 255, 255, 255, 127, 255, 255, 255, 255 ] )\n\t\t\tcheck( [ Number.MIN_SAFE_INTEGER ], [ sint|-L8, 1, 0, 0, 0, 0, 0, 224, 255 ] )\n\t\t\tcheck( [ -(2n**63n) ], [ sint|-L8, 0, 0, 0, 0, 0, 0, 0, 128 ] )\n\t\t},\n\t\t\n\t\t\"vary pack bigint\"( $ ) {\n\t\t\tcheck( [ 2n**64n ], [ sint|-LA, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 ] )\n\t\t\tcheck( [ 2n**2111n ], [ sint|-LA, 0, 1, ... Array.from( { length: 263 }, () => 0 ), 128, 0 ] )\n\t\t\tcheck( [ -1n - 2n**64n ], [ sint|-LA, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 254 ] )\n\t\t\tcheck( [ -1n - 2n**2111n ], [ sint|-LA, 0, 1, ... Array.from( { length: 263 }, () => 255 ), -129, 255 ] )\n\t\t},\n\t\t\n\t\t\"vary pack float\"( $ ) {\n\t\t\tcheck( [ 1.5 ], [ fp64, ... new Uint8Array( new Float64Array([ 1.5 ]).buffer ) ] )\n\t\t},\n\t\t\n\t\t\"vary pack list\"( $ ) {\n\t\t\tcheck(\n\t\t\t\t[ [ 1, 2, 3 ] ],\n\t\t\t\t[ list|3, 1, 2, 3 ],\n\t\t\t)\n\t\t\tcheck(\n\t\t\t\t[ [ [], [1], [2,3] ] ],\n\t\t\t\t[ list|3, list|0, list|1, 1, list|2, 2, 3 ],\n\t\t\t)\n\t\t},\n\t\t\n\t\t\"vary pack dedup list\"( $ ) {\n\t\t\tconst pair = [ 1, 2 ]\n\t\t\tcheck(\n\t\t\t\t[ [ pair, pair ] ],\n\t\t\t\t[ list|2, list|2, 1, 2, link|0 ],\n\t\t\t)\n\t\t\tconst seven = [7]\n\t\t\tconst box = [seven]\n\t\t\tcheck(\n\t\t\t\t[ [ box, box, seven ] ],\n\t\t\t\t[ list|3, list|1, list|1, 7, link|1, link|0 ],\n\t\t\t)\n\t\t},\n\t\t\n\t\t\"vary pack cyclic list\"( $ ) {\n\t\t\tconst foo = [] as any[]\n\t\t\tfoo.push([ foo ])\n\t\t\t$mol_assert_fail( ()=> $mol_vary.pack([ foo ]), 'Cyclic refs' )\n\t\t},\n\t\t\n\t\t\"vary pack dedup uint\"( $ ) {\n\t\t\tcheck(\n\t\t\t\t[ [ 28, 28 ] ],\n\t\t\t\t[ list|2, uint|L1, 28, link|0 ],\n\t\t\t)\n\t\t\tcheck(\n\t\t\t\t[ [ 2n**64n, 2n**64n ] ],\n\t\t\t\t[ list|2, sint|-LA, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, link|0 ],\n\t\t\t)\n\t\t},\n\t\t\n\t\t\"vary pack dedup float\"( $ ) {\n\t\t\tcheck(\n\t\t\t\t[ [ 1.5, 1.5 ] ],\n\t\t\t\t[ list|2, fp64, ... new Uint8Array( new Float64Array([ 1.5 ]).buffer ), link|0 ],\n\t\t\t)\n\t\t},\n\t\t\n\t\t\"vary pack text\"( $ ) {\n\t\t\t\n\t\t\tcheck( [ 'foo' ], [ text|3, ... str('foo') ] )\n\t\t\tcheck( [ 'абв' ], [ text|6, ... str('абв') ] )\n\t\t\t\n\t\t\tconst long_lat = 'abcdefghijklmnopqrst'\n\t\t\tcheck( [ long_lat ], [ text|L1, 20, ... str(long_lat) ] )\n\t\t\t\n\t\t\tconst long_cyr = 'абвгдеёжзийклмнопрст'\n\t\t\tcheck( [ long_cyr ], [ text|L1, 40, ... str(long_cyr) ] )\n\t\t\t\n\t\t},\n\t\t\n\t\t\"vary pack dedup text\"( $ ) {\n\t\t\tcheck(\n\t\t\t\t[ [ \"f\", \"f\" ] ],\n\t\t\t\t[ list|2, text|1, ... str('f'), link|0 ],\n\t\t\t)\n\t\t},\n\t\t\n\t\t\"vary pack blob\"( $ ) {\n\t\t\tcheck(\n\t\t\t\t[ new Uint8Array([ 1, 255 ]) ],\n\t\t\t\t[ blob|2, uint|L1, 1, 255 ],\n\t\t\t)\n\t\t\tcheck(\n\t\t\t\t[ new Int8Array([ -128, 127 ]) ],\n\t\t\t\t[ blob|2, sint|~L1, -128, 127 ],\n\t\t\t)\n\t\t\tcheck(\n\t\t\t\t[ new Uint32Array([ 255 ]) ],\n\t\t\t\t[ blob|4, uint|L4, 255, 0, 0, 0 ],\n\t\t\t)\n\t\t\tcheck(\n\t\t\t\t[ new Int32Array([ -128 ]) ],\n\t\t\t\t[ blob|4, sint|~L4, -128, 255, 255, 255 ],\n\t\t\t)\n\t\t\tcheck(\n\t\t\t\t[ new BigUint64Array([ 255n ]) ],\n\t\t\t\t[ blob|8, uint|L8, 255, 0, 0, 0, 0, 0, 0, 0 ],\n\t\t\t)\n\t\t\tcheck(\n\t\t\t\t[ new BigInt64Array([ -128n ]) ],\n\t\t\t\t[ blob|8, sint|~L8, -128, 255, 255, 255, 255, 255, 255, 255 ],\n\t\t\t)\n\t\t\tcheck(\n\t\t\t\t[ new Float32Array([ 1.5 ]) ],\n\t\t\t\t[ blob|4, fp32, ... new Uint8Array( new Float32Array([ 1.5 ]).buffer ) ],\n\t\t\t)\n\t\t\tcheck(\n\t\t\t\t[ new Float64Array([ 1.5 ]) ],\n\t\t\t\t[ blob|8, fp64, ... new Uint8Array( new Float64Array([ 1.5 ]).buffer ) ],\n\t\t\t)\n\t\t},\n\t\t\n\t\t\"vary pack dedup blob\"( $ ) {\n\t\t\tconst part = new Uint8Array([ 1, 2 ])\n\t\t\tcheck(\n\t\t\t\t[ [ part, part ] ],\n\t\t\t\t[ list|2, blob|2, uint|L1, 1, 2, link|0 ],\n\t\t\t)\n\t\t},\n\t\t\n\t\t\"vary pack struct\"( $ ) {\n\t\t\tcheck(\n\t\t\t\t[ { x: 1, y: 2 } ],\n\t\t\t\t[ tupl|2, list|2, text|1, ... str('x'), text|1, ... str('y'), 1, 2 ],\n\t\t\t)\n\t\t\tcheck(\n\t\t\t\t[ { x: {}, y: { a: 1 } } ],\n\t\t\t\t[ tupl|2, list|2, text|1, ... str('x'), text|1, ... str('y'), tupl|0, list|0, tupl|1, list|1, text|1, ... str('a'), 1 ],\n\t\t\t)\n\t\t},\n\t\t\n\t\t\"vary pack struct shape dedup\"( $ ) {\n\t\t\tcheck(\n\t\t\t\t[ [ {}, { foo: 1 }, { foo: 2 } ] ],\n\t\t\t\t[ list|3, tupl|0, list|0, tupl|1, list|1, text|3, ... str('foo'), 1, tupl|1, link|3, 2 ],\n\t\t\t)\n\t\t\tcheck(\n\t\t\t\t[ { x: 1, y: { x: 2, y: 3 } } ],\n\t\t\t\t[ tupl|2, list|2, text|1, ... str('x'), text|1, ... str('y'), 1, tupl|2, link|2, 2, 3 ],\n\t\t\t)\n\t\t},\n\t\t\n\t\t\"vary pack struct full dedup\"( $ ) {\n\t\t\tconst item = { x: 1 }\n\t\t\tcheck(\n\t\t\t\t[ [ item, item ] ],\n\t\t\t\t[ list|2, tupl|1, list|1, text|1, ... str('x'), 1, link|2 ],\n\t\t\t)\n\t\t\tconst part = { x: 1, y : 2 }\n\t\t\tcheck(\n\t\t\t\t[ { x: part, y: part } ],\n\t\t\t\t[ tupl|2, list|2, text|1, ... str('x'), text|1, ... str('y'), tupl|2, link|2, 1, 2, link|3 ],\n\t\t\t)\n\t\t},\n\t\t\n\t\t\"vary pack cyclic struct\"( $ ) {\n\t\t\tconst foo = { bar: null as any }\n\t\t\tfoo.bar = foo\n\t\t\t$mol_assert_fail( ()=> $mol_vary.pack([ foo ]), 'Cyclic refs' )\n\t\t},\n\t\t\n\t\t\"vary pack Map\"( $ ) {\n\t\t\t\n\t\t\tcheck(\n\t\t\t\t[ new Map< any, any >([ [ 'foo', 1 ], [ 2, 'bar' ] ]) ],\n\t\t\t\t[ tupl|2, list|2, text|4, ... str('keys'), text|4, ... str('vals'), list|2, text|3, ... str('foo'), 2, list|2, 1, text|3, ... str('bar') ],\n\t\t\t)\n\t\t\t\n\t\t},\n\t\t\n\t\t\"vary pack Set\"( $ ) {\n\t\t\t\n\t\t\tcheck(\n\t\t\t\t[ new Set([ 7, 'foo' ]) ],\n\t\t\t\t[ tupl|1, list|1, text|3, ... str('set'), list|2, 7, text|3, ... str('foo') ],\n\t\t\t)\n\t\t\t\n\t\t},\n\t\t\n\t\t\"vary pack Date\"( $ ) {\n\t\t\t\n\t\t\tconst date1 = new Date( '2025-01-02T03:04:05' )\n\t\t\tcheck(\n\t\t\t\t[ date1 ],\n\t\t\t\t[ tupl|1, list|1, text|9, ... str('unix_time'), uint|L4, ... new Uint8Array( new Uint32Array([ date1.valueOf() / 1000 ]).buffer ) ],\n\t\t\t)\n\t\t\t\n\t\t\tconst date2 = new Date( '2025-01-02T03:04:05.678' )\n\t\t\tcheck(\n\t\t\t\t[ date2 ],\n\t\t\t\t[ tupl|1, list|1, text|9, ... str('unix_time'), fp64, ... new Uint8Array( new Float64Array([ date2.valueOf() / 1000 ]).buffer ) ],\n\t\t\t)\n\t\t\t\n\t\t},\n\t\t\n\t\t\"vary pack DOM Element\"( $ ) {\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_dom_serialize( <div><span/><br/> </div> ),\n\t\t\t\t$mol_dom_serialize( ( $mol_vary.take( $mol_vary.pack([ <div><span/><br/> </div> ]) ) as Element[] )[0] ),\n\t\t\t)\n\t\t},\n\t\t\n\t\t\"vary pack custom types in rooms\"( $ ) {\n\t\t\t\n\t\t\tclass Foo {\n\t\t\t\t\n\t\t\t\tconstructor(\n\t\t\t\t\treadonly a: number,\n\t\t\t\t\treadonly b: number,\n\t\t\t\t) {}\n\t\t\t\t\n\t\t\t\t;[ Symbol.iterator ]() { // deep comparable\n\t\t\t\t\treturn [ this.a, this.b ].values()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tconst Vary = $mol_vary.zone()\n\t\t\t\n\t\t\tVary.type({\n\t\t\t\ttype: Foo,\n\t\t\t\tkeys: [ 'summ', 'diff' ],\n\t\t\t\tlean: foo => [ foo.a + foo.b, foo.a - foo.b ],\n\t\t\t\trich: ([ summ, diff ])=> new Foo( ( summ + diff )/2, ( summ - diff )/2 ),\n\t\t\t})\n\t\t\t\n\t\t\t// restore\n\t\t\tcheck(\n\t\t\t\t[ new Foo( 4, 2 ) ],\n\t\t\t\t[ tupl|2, list|2, text|4, ... str('summ'), text|4, ... str('diff'), 6, 2 ],\n\t\t\t\tVary,\n\t\t\t)\n\t\t\t\n\t\t\t// isolated\n\t\t\t$mol_assert_equal(\n\t\t\t\t$mol_vary.take( $mol_vary.pack([ new Foo( 4, 2 ) ]) ),\n\t\t\t\t[ { a: 4, b: 2 } ],\n\t\t\t)\n\t\t\t\n\t\t\t// inherited\n\t\t\t$mol_assert_equal(\n\t\t\t\tVary.take( Vary.pack([ new Map([[ 1, 2 ]]) ]) ),\n\t\t\t\t[ new Map([[ 1, 2 ]]) ],\n\t\t\t)\n\t\t\t\n\t\t},\n\t\t\n\t\t\"vary pack sequences\"( $ ) {\n\t\t\t\n\t\t\tcheck( [], [] )\n\t\t\tcheck( [ 7 ], [ 7 ] )\n\t\t\tcheck( [ 3, 4 ], [ 3, 4 ] )\n\t\t\t\n\t\t\tcheck(\n\t\t\t\t[ [ 'foo', 'foo' ], [ 'bar', 'bar' ] ],\n\t\t\t\t[ list|2, text|3, ... str('foo'), link|0, list|2, text|3, ... str('bar'), link|0 ],\n\t\t\t)\n\t\t\t\n\t\t},\n\t\t\n\t})\n}\n"]}
|