mol_wire_lib 1.0.50 → 1.0.53
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 +2 -2
- package/node.esm.js +6 -6
- package/node.esm.js.map +1 -1
- package/node.js +6 -6
- package/node.js.map +1 -1
- package/node.test.js +6 -6
- package/node.test.js.map +1 -1
- package/package.json +1 -1
- package/web.d.ts +2 -2
- package/web.esm.js +6 -6
- package/web.esm.js.map +1 -1
- package/web.js +6 -6
- package/web.js.map +1 -1
package/node.d.ts
CHANGED
|
@@ -199,8 +199,8 @@ declare namespace $ {
|
|
|
199
199
|
|
|
200
200
|
declare namespace $ {
|
|
201
201
|
class $mol_wire_fiber<Host, Args extends readonly unknown[], Result> extends $mol_wire_pub_sub {
|
|
202
|
-
readonly host: Host;
|
|
203
202
|
readonly task: (this: Host, ...args: Args) => Result;
|
|
203
|
+
readonly host?: Host | undefined;
|
|
204
204
|
static temp<Host, Args extends readonly unknown[], Result>(host: Host, task: (this: Host, ...args: Args) => Result, ...args: Args): $mol_wire_fiber<Host, [...Args], Result>;
|
|
205
205
|
static persist<Host, Args extends readonly unknown[], Result>(task: (this: Host, ...args: Args) => Result, keys: number): (host: Host, args: Args) => $mol_wire_fiber<Host, [...Args], Result>;
|
|
206
206
|
static warm: boolean;
|
|
@@ -214,7 +214,7 @@ declare namespace $ {
|
|
|
214
214
|
get result(): Result | undefined;
|
|
215
215
|
get persist(): boolean;
|
|
216
216
|
field(): string;
|
|
217
|
-
constructor(
|
|
217
|
+
constructor(id: string, task: (this: Host, ...args: Args) => Result, host?: Host | undefined, ...args: Args);
|
|
218
218
|
destructor(): void;
|
|
219
219
|
plan(): void;
|
|
220
220
|
reap(): void;
|
package/node.esm.js
CHANGED
|
@@ -759,8 +759,8 @@ var $;
|
|
|
759
759
|
(function ($) {
|
|
760
760
|
const handled = new WeakSet();
|
|
761
761
|
class $mol_wire_fiber extends $mol_wire_pub_sub {
|
|
762
|
-
host;
|
|
763
762
|
task;
|
|
763
|
+
host;
|
|
764
764
|
static temp(host, task, ...args) {
|
|
765
765
|
const existen = $mol_wire_auto()?.track_next();
|
|
766
766
|
reuse: if (existen) {
|
|
@@ -774,7 +774,7 @@ var $;
|
|
|
774
774
|
break reuse;
|
|
775
775
|
return existen;
|
|
776
776
|
}
|
|
777
|
-
return new this(
|
|
777
|
+
return new this(`${host?.[Symbol.toStringTag] ?? host}.${task.name}(#)`, task, host, ...args);
|
|
778
778
|
}
|
|
779
779
|
static persist(task, keys) {
|
|
780
780
|
const field = task.name + '()';
|
|
@@ -791,7 +791,7 @@ var $;
|
|
|
791
791
|
else {
|
|
792
792
|
dict = (host ?? task)[field] = new Map();
|
|
793
793
|
}
|
|
794
|
-
fiber = new $mol_wire_fiber(
|
|
794
|
+
fiber = new $mol_wire_fiber(key, task, host, ...args);
|
|
795
795
|
dict.set(key, fiber);
|
|
796
796
|
return fiber;
|
|
797
797
|
};
|
|
@@ -802,7 +802,7 @@ var $;
|
|
|
802
802
|
if (existen)
|
|
803
803
|
return existen;
|
|
804
804
|
const key = `${host?.[Symbol.toStringTag] ?? host}.${field}`;
|
|
805
|
-
const fiber = new $mol_wire_fiber(
|
|
805
|
+
const fiber = new $mol_wire_fiber(key, task, host, ...args);
|
|
806
806
|
(host ?? task)[field] = fiber;
|
|
807
807
|
return fiber;
|
|
808
808
|
};
|
|
@@ -858,10 +858,10 @@ var $;
|
|
|
858
858
|
field() {
|
|
859
859
|
return this.task.name + '()';
|
|
860
860
|
}
|
|
861
|
-
constructor(
|
|
861
|
+
constructor(id, task, host, ...args) {
|
|
862
862
|
super(...args, undefined, undefined);
|
|
863
|
-
this.host = host;
|
|
864
863
|
this.task = task;
|
|
864
|
+
this.host = host;
|
|
865
865
|
this.pop();
|
|
866
866
|
this.pop();
|
|
867
867
|
this.pub_from = this.sub_from = args.length;
|
package/node.esm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../mam.jam.js","-","../../../../mam.ts","../../../fail/mol/fail/fail.ts","../../cursor/mol/wire/cursor/cursor.ts","../../pub/mol/wire/pub/pub.ts","../../sub/sub.ts","../../mol/wire/wire.ts","../../../dev/format/mol/dev/format/format.ts","../../pub/sub/mol/wire/pub/sub/sub.ts","../../../compare/deep/mol/compare/deep/deep.ts","../../../guid/mol/guid/guid.ts","../../../key/mol/key/key.ts","../../../ambient/mol/ambient/ambient.ts","../../../delegate/mol/delegate/delegate.ts","../../../owning/mol/owning/owning.ts","../../../fail/hidden/mol/fail/hidden/hidden.ts","../../../type/writable/writable.ts","../../../object2/mol/object2/object2.ts","../../../after/timeout/mol/after/timeout/timeout.ts","../../../after/frame/mol/after/frame/frame.node.ts","../../method/mol/wire/method/method.ts","../../fiber/mol/wire/fiber/fiber.ts","../../probe/mol/wire/probe/probe.ts","../../solid/mol/wire/solid/solid.ts","../../sync/mol/wire/sync/sync.ts","../../async/mol/wire/async/async.ts","../../../fail/catch/mol/fail/catch/catch.ts","../../../fail/log/mol/fail/log/log.ts","../../mem/mol/wire/mem/mem.ts","../../../const/mol/const/const.ts","../../field/mol/wire/field/field.ts","../../../promise/mol/promise/promise.ts","../../../wait/timeout/mol/wait/timeout/timeout.ts"],"names":[],"mappings":"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","file":"node.esm.js","sourcesContent":[null,null,"Error.stackTraceLimit = 50;\n\ndeclare let _$_: { new(): {} } & typeof globalThis\ndeclare class $ extends _$_ {}\n\nnamespace $ {\n\texport type $ = typeof $$\n\texport declare class $$ extends $ {}\n\tnamespace $$ {\n\t\texport type $$ = $\n\t}\n}\n\nmodule.exports = $\n","namespace $ {\n\n\texport function $mol_fail( error : any ) : never {\n\t\tthrow error\n\t}\n\n}\n","namespace $ {\n\t\n\t/** Special status statuses. */\n\texport enum $mol_wire_cursor {\n\t\t\n\t\t/** Update required. */\n\t\tstale = -1,\n\t\t\n\t\t/** Some of (transitive) pub update required. */\n\t\tdoubt = -2,\n\t\t\n\t\t/** Actual state but may be dropped. */\n\t\tfresh = -3,\n\t\t\n\t\t/** State will never be changed. */\n\t\tfinal = -4,\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\t/**\n\t * Collects subscribers in compact array. 28B\n\t */\n\texport class $mol_wire_pub extends Array< unknown > {\n\t\t\n\t\t// Derived objects should be Arrays.\n\t\tstatic get [ Symbol.species ]() {\n\t\t\treturn Array\n\t\t}\n\t\t\n\t\t/**\n\t\t * Index of first subscriber.\n\t\t */\n\t\tprotected sub_from = 0 // 4B\n\t\t\n\t\t/**\n\t\t * All current subscribers.\n\t\t */\n\t\tget sub_list() {\n\t\t\tconst res = [] as $mol_wire_sub[]\n\t\t\tfor( let i = this.sub_from; i < this.length; i += 2 ) {\n\t\t\t\tres.push( this[i] as $mol_wire_sub )\n\t\t\t}\n\t\t\treturn res as readonly $mol_wire_sub[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * Has any subscribers or not.\n\t\t */\n\t\tget sub_empty() {\n\t\t\treturn this.sub_from === this.length\n\t\t}\n\t\t\n\t\t/**\n\t\t * Subscribe subscriber to this publisher events and return position of subscriber that required to unsubscribe.\n\t\t */\n\t\tsub_on( sub: $mol_wire_pub, pub_pos: number ) {\n\t\t\tconst pos = this.length\n\t\t\tthis.push( sub, pub_pos )\n\t\t\treturn pos\n\t\t}\n\t\t\n\t\t/**\n\t\t * Unsubscribe subscriber from this publisher events by subscriber position provided by `on(pub)`.\n\t\t */\n\t\tsub_off( sub_pos: number ) {\n\t\t\t\n\t\t\tif(!( sub_pos < this.length )) {\n\t\t\t\t$mol_fail( new Error( `Wrong pos ${ sub_pos }` ) )\n\t\t\t}\n\t\t\t\n\t\t\tconst end = this.length - 2\n\t\t\tif( sub_pos !== end ) {\n\t\t\t\tthis.peer_move( end, sub_pos )\n\t\t\t}\n\t\t\t\n\t\t\tthis.pop()\n\t\t\tthis.pop()\n\t\t\t\n\t\t\tif( this.length === this.sub_from ) this.reap()\n\t\t\t\n\t\t}\n\t\t\n\t\t/**\n\t\t * Called when last sub was unsubscribed.\n\t\t **/\n\t\treap() { }\n\t\t\n\t\t/**\n\t\t * Autowire this publisher with current subscriber.\n\t\t **/\n\t\tpromote() {\n\t\t\t$mol_wire_auto()?.track_next( this )\n\t\t}\n\t\t\n\t\t/**\n\t\t * Enforce actualization. Should not throw errors.\n\t\t */\n\t\tup() {}\n\t\t\n\t\t/**\n\t\t * Subscriber stabilized and allows to free.\n\t\t */\n\t\tdown() {}\n\t\t\n\t\t/**\n\t\t * Notify subscribers about self changes.\n\t\t */\n\t\temit( quant = $mol_wire_cursor.stale ) {\n\t\t\tfor( let i = this.sub_from; i < this.length; i += 2 ) {\n\t\t\t\t;( this[i] as $mol_wire_sub ).absorb( quant )\n\t\t\t}\n\t\t}\n\t\t\n\t\t/**\n\t\t * Moves peer from one position to another. Doesn't clear data at old position!\n\t\t */\n\t\tpeer_move( from_pos: number, to_pos: number ) {\n\t\t\t\n\t\t\tconst peer = this[ from_pos ] as $mol_wire_pub\n\t\t\tconst self_pos = this[ from_pos + 1 ] as number\n\t\t\t\n\t\t\tthis[ to_pos ] = peer\n\t\t\tthis[ to_pos + 1 ] = self_pos\n\t\t\t\n\t\t\tpeer.peer_repos( self_pos, to_pos )\n\t\t}\n\t\t\n\t\t/**\n\t\t * Updates self position in the peer.\n\t\t */\n\t\tpeer_repos( peer_pos: number, self_pos: number ) {\n\t\t\tthis[ peer_pos + 1 ] = self_pos\n\t\t}\n\t\t\n\t}\n\t\n}\n",null,"namespace $ {\n\t\n\tlet auto: $mol_wire_sub | null = null\n\t\n\t/**\n\t * When fulfilled, all publishers are promoted to this subscriber on access to its.\n\t */\n\texport function $mol_wire_auto( next = auto ) {\n\t\treturn auto = next\n\t}\n\t\n\t/**\n\t * Affection queue. Used to prevent accidental stack overflow on emit.\n\t */\n\texport const $mol_wire_affected = [] as ( $mol_wire_sub | number )[]\n\t\n}\n","namespace $ {\n\n\t// https://docs.google.com/document/d/1FTascZXT9cxfetuPRT2eXPQKXui4nWFivUnS_335T3U/preview#\n\t$['devtoolsFormatters'] = $['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$['devtoolsFormatters'].push( config )\n\t}\n\n\texport let $mol_dev_format_head = Symbol( '$mol_dev_format_head' )\n\texport let $mol_dev_format_body = Symbol( '$mol_dev_format_body' )\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\treturn val[ $mol_dev_format_head ]()\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\n\t\t\treturn null\n\t\t\t\n\t\t} ,\n\t\t\n\t\thasBody : val => val[ $mol_dev_format_body ] ,\n\n\t\tbody : val => val[ $mol_dev_format_body ]() ,\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\tif( typeof obj !== 'object' && typeof obj !== 'function' ) 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\tif( typeof obj === 'object' && $mol_dev_format_head in obj ) {\n\t\t\treturn obj[ $mol_dev_format_head ]()\n\t\t}\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[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 function $mol_dev_format_span( style : object , ...content : any[] ) {\n\t\treturn $mol_dev_format_element(\n\t\t\t'span' ,\n\t\t\t{\n\t\t\t\t'vertical-align' : '8%',\n\t\t\t\t... style ,\n\t\t\t} ,\n\t\t\t... content ,\n\t\t)\n\t}\n\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\n}\n","namespace $ {\n\t\n\t/**\n\t * Publisher that can auto collect other publishers. 32B\n\t * \n\t * \tP1 P2 P3 P4 S1 S2 S3\n\t * \t^ ^\n\t * \tpubs_from subs_from\n\t */\n\texport class $mol_wire_pub_sub extends $mol_wire_pub implements $mol_wire_sub {\n\t\t\n\t\tprotected pub_from = 0 // 4B\n\t\tprotected cursor = $mol_wire_cursor.stale // 4B\n\t\t\n\t\tget pub_list() {\n\t\t\tconst res = [] as $mol_wire_pub[]\n\t\t\tconst max = this.cursor >=0 ? this.cursor : this.sub_from\n\t\t\tfor( let i = this.pub_from; i < max; i += 2 ) {\n\t\t\t\tres.push( this[i] as $mol_wire_pub )\n\t\t\t}\n\t\t\treturn res\n\t\t}\n\t\t\n\t\ttrack_on() {\n\t\t\tthis.cursor = this.pub_from\n\t\t\tconst sub = $mol_wire_auto()\n\t\t\t$mol_wire_auto( this )\n\t\t\treturn sub\n\t\t}\n\t\t\n\t\tpromote() {\n\t\t\t\n\t\t\tif( this.cursor >= this.pub_from ) {\n\t\t\t\t$mol_fail( new Error( 'Circular subscription' ) )\n\t\t\t}\n\t\t\t\n\t\t\tsuper.promote()\n\t\t}\n\t\t\n\t\ttrack_next( pub?: $mol_wire_pub ): $mol_wire_pub | null {\n\t\t\t\n\t\t\tif( this.cursor < 0 ) $mol_fail( new Error( 'Promo to non begun sub' ) )\n\t\t\t\n\t\t\tif( this.cursor < this.sub_from ) {\n\t\t\t\n \t\t\t\tconst next = this[ this.cursor ] as $mol_wire_pub | undefined\n\t\t\t\tif( pub === undefined ) return next ?? null\n\t\t\t\t\n\t\t\t\tif( next === pub ) {\n\t\t\t\t\tthis.cursor += 2\n\t\t\t\t\treturn next\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( next ) {\n\t\t\t\t\t\n\t\t\t\t\tif( this.sub_from < this.length ) {\n\t\t\t\t\t\tthis.peer_move( this.sub_from, this.length )\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tthis.peer_move( this.cursor, this.sub_from )\n\t\t\t\t\tthis.sub_from += 2\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\t\n\t\t\t\tif( pub === undefined ) return null\n\t\t\t\t\n\t\t\t\tif( this.sub_from < this.length ) {\n\t\t\t\t\tthis.peer_move( this.sub_from, this.length )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tthis.sub_from += 2\n\t\t\t\t\n\t\t\t}\t\t\t\n\t\t\t\n\t\t\tthis[ this.cursor ] = pub\n\t\t\tthis[ this.cursor + 1 ] = pub.sub_on( this, this.cursor )\n\t\t\t\n\t\t\tthis.cursor += 2\n\t\t\t\n\t\t\treturn pub\n\t\t}\n\t\t\n\t\ttrack_off( sub: $mol_wire_sub | null ) {\n\t\t\t\n\t\t\t$mol_wire_auto( sub )\n\t\t\t\n\t\t\tif( this.cursor < 0 ) {\n\t\t\t\t$mol_fail( new Error( 'End of non begun sub' ) )\n\t\t\t}\n\t\t\t\n\t\t\tfor(\n\t\t\t\tlet cursor = this.pub_from;\n\t\t\t\tcursor < this.cursor;\n\t\t\t\tcursor += 2\n\t\t\t) {\n\t\t\t\tconst pub = this[ cursor ] as $mol_wire_pub\n\t\t\t\tpub.up()\n\t\t\t}\n\t\t\t\n\t\t\tthis.cursor = $mol_wire_cursor.fresh\n\t\t\t\n\t\t}\n\t\t\n\t\tpub_off( sub_pos: number ) {\n\t\t\tthis[ sub_pos ] = undefined as any\n\t\t\tthis[ sub_pos + 1 ] = undefined as any \n\t\t}\n\t\t\n\t\tdestructor() {\n\t\t\t\n\t\t\tfor(\n\t\t\t\tlet cursor = this.length - 2;\n\t\t\t\tcursor >= this.sub_from;\n\t\t\t\tcursor -= 2\n\t\t\t) {\n\t\t\t\tconst sub = this[ cursor ] as $mol_wire_sub\n\t\t\t\tconst pos = this[ cursor + 1 ] as number\n\t\t\t\tsub.pub_off( pos )\n\t\t\t\tthis.pop()\n\t\t\t\tthis.pop()\n\t\t\t}\n\t\t\t\n\t\t\tthis.cursor = this.pub_from\n\t\t\tthis.track_cut()\n\t\t\tthis.cursor = $mol_wire_cursor.final\n\t\t\t\n\t\t}\n\t\t\n\t\ttrack_cut() {\n\t\t\t\n\t\t\tif( this.cursor < this.pub_from ) {\n\t\t\t\t$mol_fail( new Error( 'Cut of non begun sub' ) )\n\t\t\t}\n\t\t\t\n\t\t\tlet tail = 0\n\t\t\t\n\t\t\tfor(\n\t\t\t\tlet cursor = this.cursor;\n\t\t\t\tcursor < this.sub_from;\n\t\t\t\tcursor += 2\n\t\t\t) {\n\t\t\t\t\n\t\t\t\tconst pub = this[ cursor ] as $mol_wire_pub | undefined\n\t\t\t\tpub?.sub_off( this[ cursor + 1 ] as number )\n\t\t\t\t\n\t\t\t\tif( this.sub_from < this.length ) {\n\t\t\t\t\tthis.peer_move( this.length - 2, cursor )\n\t\t\t\t\tthis.pop()\n\t\t\t\t\tthis.pop()\n\t\t\t\t} else {\n\t\t\t\t\t++ tail\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tfor(; tail; -- tail ) {\n\t\t\t\tthis.pop()\n\t\t\t\tthis.pop()\n\t\t\t}\n\t\t\t\n\t\t\tthis.sub_from = this.cursor\n\t\t\t\n\t\t}\n\n\t\tabsorb( quant = $mol_wire_cursor.stale ) {\n\t\t\t\n\t\t\tif( this.cursor === $mol_wire_cursor.final ) return\n\t\t\tif( this.cursor >= quant ) return\n\t\t\t\n\t\t\tthis.cursor = quant\n\t\t\tthis.emit( $mol_wire_cursor.doubt )\n\t\t\t\n\t\t}\n\t\t\n\t\t[ $mol_dev_format_head ]() {\n\t\t\treturn $mol_dev_format_native( this )\n\t\t}\n\t\t\n\t\t/**\n\t\t * Is subscribed to any publisher or not.\n\t\t */\n\t\tget pub_empty() {\n\t\t\treturn this.sub_from === this.pub_from\n\t\t}\n\t\t\n\t}\n\t\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['valueOf']() )\n\t\tif( left instanceof Number ) return Object.is( left.valueOf(), right['valueOf']() )\n\t\tif( left instanceof String ) return Object.is( left.valueOf(), right['valueOf']() )\n\t\tif( left instanceof Date ) return Object.is( left.valueOf(), right['valueOf']() )\n\t\tif( left instanceof RegExp ) return left.source === right['source'] && left.flags === right['flags']\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 >([[ right, true ]])\n\t\t\t$mol_compare_deep_cache.set( left , left_cache )\n\n\t\t}\n\n\t\tlet result!: boolean\n\n\t\ttry {\n\t\t\t\n\t\t\tif( left_proto && !Reflect.getPrototypeOf( left_proto ) ) result = compare_pojo( left, right as any )\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( left instanceof Error ) result = left.stack === ( right as any ).stack\n\t\t\telse if( ArrayBuffer.isView( left ) ) result = compare_buffer( left, right as any )\n\t\t\telse if( Symbol.toPrimitive in left ) result = compare_primitive( left, right )\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\tfor( let i = 0; i < len; ++i ) {\n\t\t\tif( left[i] !== right[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\tcompare: ( left: any, right: any )=> boolean\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( !compare( 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(), $mol_compare_deep )\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(), Object.is )\n\t\t\t&& compare_iterator( left.values(), right.values(), $mol_compare_deep )\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( left_keys.length !== right_keys.length ) return false\n\n\t\tfor( let key of left_keys ) {\n\t\t\tif( !$mol_compare_deep( left[ key ], Reflect.get( right, 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\tleft[ Symbol.toPrimitive ]( 'default' ),\n\t\t\tright[ Symbol.toPrimitive ]( 'default' ),\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\t\n\texport const $mol_key_store = new WeakMap< object, string >()\n\n\texport function $mol_key< Value >( value : Value ) : string {\n\t\t\n\t\tif( !value ) return JSON.stringify( value )\n\t\tif( typeof value !== 'object' && typeof value !== 'function' ) return JSON.stringify( value )\n\t\t\n\t\treturn JSON.stringify( value, ( field, value )=> {\n\t\t\t\n\t\t\tif( !value ) return value\n\t\t\tif( typeof value !== 'object' && typeof value !== 'function' ) return value\n\t\t\tif( Array.isArray( value ) ) return value\n\t\t\t\n\t\t\tconst proto = Reflect.getPrototypeOf( value )\n\t\t\tif( !proto ) return value\n\t\t\tif( Reflect.getPrototypeOf( proto ) === null ) return value\n\t\t\t\n\t\t\tif( 'toJSON' in value ) return value\n\t\t\tif( value instanceof RegExp ) return value.toString()\n\t\t\t\n\t\t\tlet key = $mol_key_store.get( value )\n\t\t\tif( key ) return key\n\t\t\t\n\t\t\tkey = $mol_guid()\n\t\t\t$mol_key_store.set( value, key )\n\t\t\t\n\t\t\treturn key\n\t\t} )\n\n\t}\n\t\n}\n","namespace $ {\n\n\texport const $mol_ambient_ref : unique symbol = Symbol( '$mol_ambient_ref' )\n\n\t/** @deprecated use $ instead */\n\texport type $mol_ambient_context = $\n\n\texport function $mol_ambient( this : $ | void , overrides : Partial< $ > ) : $ {\n\t\treturn Object.setPrototypeOf( overrides , this || $ )\n\t}\n\n}\n","namespace $ {\n\n\tconst instances = new WeakSet< any >()\n\n\t/**\n\t * Proxy that delegates all to lazy returned target.\n\t * \n\t * \t$mol_delegate( Array.prototype , ()=> fetch_array() )\n\t */\n export function $mol_delegate< Value extends object >(\n\t\tproto : Value ,\n\t\ttarget : ()=> Value ,\n\t) {\n\n\t\tconst proxy = new Proxy( proto , {\n\n\t\t\tget: ( _ , field )=> {\n\t\t\t\tconst obj = target()\n\t\t\t\tlet val = Reflect.get( obj , field )\n\t\t\t\tif( typeof val === 'function' ) {\n\t\t\t\t\tval = val.bind( obj )\n\t\t\t\t} \n\t\t\t\treturn val\n\t\t\t},\n\t\t\thas: ( _ , field )=> Reflect.has( target(), field ),\n\t\t\tset: ( _ , field , value )=> Reflect.set( target() , field , value ),\n\t\t\t\n\t\t\tgetOwnPropertyDescriptor: ( _ , field )=> Reflect.getOwnPropertyDescriptor( target() , field ),\n\t\t\townKeys: ()=> Reflect.ownKeys( target() ),\n\t\t\t\n\t\t\tgetPrototypeOf: ()=> Reflect.getPrototypeOf( target() ),\n\t\t\tsetPrototypeOf: ( _ , donor )=> Reflect.setPrototypeOf( target() , donor ),\n\t\t\t\n\t\t\tisExtensible: ()=> Reflect.isExtensible( target() ),\n\t\t\tpreventExtensions: ()=> Reflect.preventExtensions( target() ),\n\t\t\t\n\t\t\tapply: ( _ , self , args )=> Reflect.apply( target() as Function , self , args ),\n\t\t\tconstruct: ( _ , args , retarget )=> Reflect.construct( target() as Function , args , retarget ),\n\t\t\t\n\t\t\tdefineProperty: ( _ , field , descr )=> Reflect.defineProperty( target() , field , descr ),\n\t\t\tdeleteProperty: ( _ , field )=> Reflect.deleteProperty( target() , field ),\n\n\t\t} )\n\n\t\tinstances.add( proxy )\n\n\t\treturn proxy\n\n\t}\n\n\tReflect.defineProperty(\n\t\t$mol_delegate ,\n\t\tSymbol.hasInstance ,\n\t\t{\n\t\t\tvalue : ( obj : object )=> instances.has( obj ),\n\t\t},\n\t)\n\n}\n","namespace $ {\n\n\texport const $mol_owning_map = new WeakMap< any , any >()\n\n\texport function $mol_owning_allow< Having >(\n\t\thaving : Having ,\n\t) : having is Having & {\n\t\tdestructor() : void\n\t} {\n\t\ttry {\n\t\t\tif( !having ) return false\n\t\t\tif( typeof having !== 'object' ) return false\n\t\t\tif( having instanceof $mol_delegate ) return false\n\t\t\tif( typeof having['destructor'] !== 'function' ) return false\n\t\t\treturn true\n\t\t} catch {\n\t\t\treturn false\n\t\t}\n\t}\n\n\texport function $mol_owning_get< Having , Owner extends object >( having : Having , Owner? : { new() : Owner } ) : Owner | null {\n\t\n\t\tif( !$mol_owning_allow( having ) ) return null\n\n\t\twhile( true ) {\n\n\t\t\tconst owner = $mol_owning_map.get( having )\n\t\t\tif( !owner ) return owner\n\t\t\tif( !Owner ) return owner\n\t\t\t\n\t\t\tif( owner instanceof Owner ) return owner\n\n\t\t\thaving = owner\n\t\t}\n\n\t}\n\t\n\texport function $mol_owning_check< Owner , Having >(\n\t\towner : Owner ,\n\t\thaving : Having ,\n\t) : having is Having & { destructor() : void } {\n\t\tif( !$mol_owning_allow( having ) ) return false\n\t\tif( $mol_owning_map.get( having ) !== owner ) return false\n\t\treturn true\n\t}\n\t\n\texport function $mol_owning_catch< Owner , Having >(\n\t\towner : Owner ,\n\t\thaving : Having ,\n\t) {\n\t\tif( !$mol_owning_allow( having ) ) return false\n\t\tif( $mol_owning_map.get( having ) ) return false\n\n\t\t$mol_owning_map.set( having , owner )\n\t\treturn true\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",null,"namespace $ {\n\n\texport class $mol_object2 {\n\t\t\n\t\tstatic $ = $ as $\n\t\t\n\t\t[ $mol_ambient_ref ] = null as any as $\n\t\tget $() {\n\t\t\tif( this[ $mol_ambient_ref ] ) return this[ $mol_ambient_ref ]\n\t\t\tconst owner = $mol_owning_get( this ) as any\n\t\t\treturn this[ $mol_ambient_ref ] = owner?.$ || $mol_object2.$ as $\n\t\t}\n\t\tset $( next : $ ) {\n\t\t\tif( this[ $mol_ambient_ref ] ) $mol_fail_hidden( new Error( 'Context already defined' ) )\n\t\t\tthis[ $mol_ambient_ref ] = next\n\t\t}\n\n\t\tpublic static create< Instance >(\n\t\t\tthis : new( init? : ( instance : any )=> void )=> Instance ,\n\t\t\tinit? : ( instance : $mol_type_writable<Instance> )=> void\n\t\t) : Instance {\n\t\t\tconst obj = new this\n\t\t\tif( init ) init( obj )\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\tstatic [ Symbol.toPrimitive ]() {\n\t\t\treturn this.toString()\n\t\t}\n\t\t\n\t\tstatic toString() {\n\t\t\tif( Symbol.toStringTag in this ) return this[ Symbol.toStringTag ]\n\t\t\treturn this.name\n\t\t}\n\t\t\n\t\tdestructor() { }\n\t\t\n\t\t//[ Symbol.toPrimitive ]( hint: string ) {\n\t\t//\treturn hint === 'number' ? this.valueOf() : this.toString()\n\t\t//}\n\t\t\n\t\ttoString() {\n\t\t\treturn this[ Symbol.toStringTag ] || this.constructor.name + '()'\n\t\t}\n\t\t\n\t\ttoJSON() {\n\t\t\treturn this.toString()\n\t\t}\n\n\t}\n}\n","namespace $ {\n\n\texport class $mol_after_timeout extends $mol_object2 {\n\n\t\tid : any\n\n\t\tconstructor(\n\t\t\tpublic delay : number ,\n\t\t\tpublic task : ()=> void ,\n\t\t) {\n\t\t\tsuper()\n\t\t\tthis.id = setTimeout( task , delay )\n\t\t}\n\n\t\tdestructor() {\n\t\t\tclearTimeout( this.id )\n\t\t}\n\n\t}\n\t\n}\n","namespace $ {\n\n\texport class $mol_after_frame extends $mol_after_timeout {\n\n\t\tconstructor(\n\t\t\tpublic task : ()=> void ,\n\t\t) {\n\t\t\tsuper( 16 , task )\n\t\t}\n\n\t}\n\t\n}\n","namespace $ {\n\t\n\texport function $mol_wire_method<\n\t\tHost extends object,\n\t\tArgs extends readonly any[],\n\t\tResult,\n\t>(\n\t\thost : Host,\n\t\tfield : PropertyKey,\n\t\tdescr? : TypedPropertyDescriptor< ( ... args: Args )=> Result >,\n\t) {\n\t\t\n\t\tif( !descr ) descr = Reflect.getOwnPropertyDescriptor( host , field )\n\t\tconst orig = descr?.value! ?? host[ field ]\n\t\t\n\t\tconst sup = Reflect.getPrototypeOf( host )!\t\n\t\tif( typeof sup[ field as any ] === 'function' ) {\n\t\t\tObject.defineProperty( orig , 'name' , { value : sup[ field as any ].name } )\n\t\t}\n\t\t\n\t\tconst value = function( this: Host, ... args: Args ) {\n\t\t\tconst fiber = $mol_wire_fiber.temp( this ?? null as any, orig, ... args )\n\t\t\treturn fiber.sync() as Result\n\t\t}\n\t\t\n\t\tObject.defineProperty( value , 'name' , { value : orig.name + ' ' } )\n\t\t\n\t\tObject.assign( value, { orig } )\n\t\tconst descr2 = { ... descr, value }\n\t\tReflect.defineProperty( host, field, descr2 )\n\t\t\n\t\treturn descr2\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\tconst handled = new WeakSet< Promise< unknown > >()\n\t\n\t/**\n\t * Suspendable task with with support both sync/async api.\n\t * \n\t * \tA1 A2 A3 A4 P1 P2 P3 P4 S1 S2 S3\n\t * \t^ ^ ^\n\t * \targs_from pubs_from subs_from\n\t **/\n\texport class $mol_wire_fiber<\n\t\tHost,\n\t\tArgs extends readonly unknown[],\n\t\tResult,\n\t> extends $mol_wire_pub_sub {\n\t\t\n\t\tstatic temp<\n\t\t\tHost,\n\t\t\tArgs extends readonly unknown[],\n\t\t\tResult,\n\t\t>(\n\t\t\thost: Host,\n\t\t\ttask: ( this : Host , ... args : Args )=> Result,\n\t\t\t... args: Args\n\t\t): $mol_wire_fiber< Host, [ ... Args ], Result > {\n\t\t\t\n\t\t\tconst existen = $mol_wire_auto()?.track_next()\n\t\t\t\n\t\t\treuse: if( existen ) {\n\t\t\t\t\n\t\t\t\tif(!( existen instanceof $mol_wire_fiber )) break reuse\n\t\t\t\n\t\t\t\tif( existen.host !== host ) break reuse\n\t\t\t\tif( existen.task !== task ) break reuse\n\t\t\t\tif( !$mol_compare_deep( existen.args, args ) ) break reuse\n\t\t\t\t\n\t\t\t\treturn existen\n\t\t\t}\n\t\t\t\n\t\t\treturn new this( host, task, `${ host?.[ Symbol.toStringTag ] ?? host }.${ task.name }(#)`, ... args )\n\t\t}\n\t\t\n\t\tstatic persist<\n\t\t\tHost,\n\t\t\tArgs extends readonly unknown[],\n\t\t\tResult,\n\t\t>(\n\t\t\ttask: ( this : Host , ... args : Args )=> Result,\n\t\t\tkeys: number,\n\t\t): ( host: Host, args: Args )=> $mol_wire_fiber< Host, [ ... Args ], Result > {\n\t\t\t\n\t\t\tconst field = task.name + '()'\n\t\t\t\n\t\t\tif( keys ) {\n\t\t\t\t\n\t\t\t\treturn function $mol_wire_fiber_persist( host: Host, args: Args ) {\n\t\t\t\t\t\n\t\t\t\t\tlet dict, key!: string, fiber\n\t\t\t\t\t\n\t\t\t\t\tkey = `${ host?.[ Symbol.toStringTag ] ?? host }.${ task.name }(${ args.map( v => $mol_key( v ) ).join(',') })`\n\t\t\t\t\tdict = Object.getOwnPropertyDescriptor( host ?? task, field )?.value\n\t\t\t\t\t\n\t\t\t\t\tif( dict ) {\n\t\t\t\t\t\tconst existen = dict.get( key )\n\t\t\t\t\t\tif( existen ) return existen\n\t\t\t\t\t} else {\n\t\t\t\t\t\tdict = ( host ?? task )[ field ] = new Map<any,any>()\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tfiber = new $mol_wire_fiber( host, task, key, ... args )\n\t\t\t\t\tdict.set( key, fiber )\n\t\t\t\t\t\n\t\t\t\t\treturn fiber\n\t\t\t\t}\n\t\t\t\t\n\t\t\t} else {\n\t\t\t\t\n\t\t\t\treturn function $mol_wire_fiber_persist( host: Host, args: Args ) {\n\t\t\t\t\t\n\t\t\t\t\tconst existen = Object.getOwnPropertyDescriptor( host ?? task, field )?.value\n\t\t\t\t\tif( existen ) return existen\n\t\t\t\t\t\n\t\t\t\t\tconst key = `${ host?.[ Symbol.toStringTag ] ?? host }.${ field }`\n\t\t\t\t\t\n\t\t\t\t\tconst fiber = new $mol_wire_fiber( host, task, key, ... args )\n\t\t\t\t\t;( host ?? task )[ field ] = fiber\n\t\t\t\t\t\n\t\t\t\t\treturn fiber\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\tstatic warm = true\n\t\t\n\t\tstatic planning = [] as $mol_wire_fiber< any, any, any >[]\n\t\tstatic reaping = [] as $mol_wire_fiber< any, any, any >[]\n\t\t\n\t\tstatic plan_task: $mol_after_frame | null = null\n\t\tstatic plan() {\n\t\t\t\n\t\t\tif( this.plan_task ) return\n\t\t\t\n\t\t\tthis.plan_task = new $mol_after_frame( ()=> {\n\t\t\t\t\n\t\t\t\ttry {\n\t\t\t\t\tthis.sync()\n\t\t\t\t} finally {\n\t\t\t\t\t$mol_wire_fiber.plan_task = null\n\t\t\t\t}\n\n\t\t\t} )\n\t\t\t\n\t\t}\n\t\t\n\t\tstatic sync() {\n\t\t\t\n\t\t\t// Sync whole fiber graph\n\t\t\twhile( this.planning.length ) {\n\t\t\t\t\n\t\t\t\tconst fibers = this.planning.splice( 0, this.planning.length )\n\t\t\t\t\n\t\t\t\tfor( const fiber of fibers ) {\n\t\t\t\t\tfiber.up()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\t// Collect garbage\n\t\t\twhile( this.reaping.length ) {\n\t\t\t\t\n\t\t\t\tconst fibers = this.reaping.splice( 0, this.reaping.length )\n\t\t\t\t\n\t\t\t\tfor( const fiber of fibers ) {\n\t\t\t\t\tif( !fiber.sub_empty ) continue\n\t\t\t\t\tfiber.destructor()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\tpublic cache: Result | Error | Promise< Result | Error > = undefined as any\n\t\t\n\t\tget args() {\n\t\t\treturn this.slice( 0 , this.pub_from ) as any as Args\n\t\t}\n\t\t\n\t\tget result() {\n\t\t\tif( this.cache instanceof Promise ) return\n\t\t\tif( this.cache instanceof Error ) return\n\t\t\treturn this.cache\n\t\t}\n\t\t\n\t\tget persist() {\n\t\t\tconst id = this[ Symbol.toStringTag ]\n\t\t\treturn id[ id.length - 2 ] !== '#'\n\t\t}\n\t\t\n\t\tfield() {\n\t\t\treturn this.task.name + '()'\n\t\t}\n\t\t\n\t\tconstructor(\n\t\t\treadonly host: Host,\n\t\t\treadonly task: ( this : Host , ... args : Args )=> Result,\n\t\t\tid: string,\n\t\t\t... args: Args\n\t\t) {\n\t\t\t\n\t\t\tsuper( ... args as any, undefined as any, undefined as any )\n\t\t\t\n\t\t\t// reserve capacity for first subscriber\n\t\t\tthis.pop()\n\t\t\tthis.pop()\n\t\t\t\n\t\t\tthis.pub_from = this.sub_from = args.length\n\t\t\tthis[ Symbol.toStringTag ] = id\n\t\t\t\n\t\t}\n\t\t\n\t\tdestructor() {\n\t\t\t\n\t\t\tsuper.destructor()\n\t\t\t\n\t\t\tconst prev = this.cache\n\t\t\tif( $mol_owning_check( this, prev ) ) {\n\t\t\t\tprev.destructor()\n\t\t\t}\n\t\t\t\n\t\t\tif( this.persist ) {\n\t\t\t\tif( this.pub_from === 0 ) {\n\t\t\t\t\t;( this.host ?? this.task )[ this.field() ] = null\n\t\t\t\t} else {\n\t\t\t\t\t;( this.host ?? this.task )[ this.field() ].delete( this[ Symbol.toStringTag ] )\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\tplan() {\n\t\t\t$mol_wire_fiber.planning.push( this )\n\t\t\t$mol_wire_fiber.plan()\n\t\t}\n\t\t\n\t\treap() {\n\t\t\t$mol_wire_fiber.reaping.push( this )\n\t\t\t$mol_wire_fiber.plan()\n\t\t}\n\t\t\n\t\ttoString() {\n\t\t\treturn this[ Symbol.toStringTag ]\n\t\t}\n\t\t\n\t\ttoJSON() {\n\t\t\treturn this[ Symbol.toStringTag ]\n\t\t}\n\n\t\t[ $mol_dev_format_head ]() {\n\t\t\t\n\t\t\tconst cursor = {\n\t\t\t\t[-1]: '🔴',\n\t\t\t\t[-2]: '🟡',\n\t\t\t\t[-3]: '🟢',\n\t\t\t\t[-4]: '🔵',\n\t\t\t}[ this.cursor ] ?? this.cursor.toString()\n\t\t\t\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( cursor + ' ' ),\n\t\t\t\t$mol_dev_format_auto( this.cache ),\n\t\t\t)\n\t\t\t\n\t\t}\n\t\t\n\t\tget $() {\n\t\t\treturn ( this.host ?? this.task )['$']\n\t\t}\n\t\t\n\t\temit( quant = $mol_wire_cursor.stale ) {\n\t\t\tif( this.sub_empty ) this.plan()\n\t\t\telse super.emit( quant )\n\t\t}\n\t\t\n\t\tdown() {\n\t\t\tif( this.persist ) return\n\t\t\tthis.destructor()\n\t\t}\n\t\t\n\t\tup() {\n\n\t\t\ttype Result = typeof this.cache\n\t\t\t\n\t\t\tif( this.cursor === $mol_wire_cursor.fresh ) return\n\t\t\tif( this.cursor === $mol_wire_cursor.final ) return\n\t\t\t\n\t\t\tcheck: if( this.cursor === $mol_wire_cursor.doubt ) {\n\t\t\t\t\n\t\t\t\tfor( let i = this.pub_from ; i < this.sub_from; i += 2 ) {\n\t\t\t\t\t;( this[i] as $mol_wire_pub )?.up()\n\t\t\t\t\tif( this.cursor !== $mol_wire_cursor.doubt ) break check\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tthis.cursor = $mol_wire_cursor.fresh\n\t\t\t\treturn\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tconst bu = this.track_on()\n\t\t\tlet result: typeof this.cache\n\n\t\t\ttry {\n\n\t\t\t\tresult = this.task.call( this.host, ... this.slice( 0 , this.pub_from ) as any as Args )\n\t\t\t\t\n\t\t\t\tif( result instanceof Promise ) {\n\t\t\t\t\t\n\t\t\t\t\tconst put = ( res: Result )=> {\n\t\t\t\t\t\tif( this.cache === result ) this.put( res )\n\t\t\t\t\t\treturn res\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tresult = Object.assign( result.then( put, put ), {\n\t\t\t\t\t\tdestructor: result['destructor']\n\t\t\t\t\t} )\n\t\t\t\t\t\n\t\t\t\t\thandled.add( result )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t} catch( error: any ) {\n\t\t\t\t\n\t\t\t\tresult = error\n\t\t\t\t\n\t\t\t\tif( result instanceof Promise && !handled.has( result ) ) {\n\t\t\t\t\t\n\t\t\t\t\tresult = Object.assign( result.finally( ()=> {\n\t\t\t\t\t\tif( this.cache === result ) this.absorb()\n\t\t\t\t\t} ), {\n\t\t\t\t\t\tdestructor: result['destructor']\n\t\t\t\t\t} )\n\t\t\t\t\t\n\t\t\t\t\thandled.add( result )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tif(!( result instanceof Promise )) {\n\t\t\t\tthis.track_cut()\n\t\t\t}\n\t\t\t\n\t\t\tthis.track_off( bu )\n\t\t\tthis.put( result )\n\n\t\t}\n\t\t\n\t\tput( next: Result | Error | Promise< Result | Error > ) {\n\t\t\t\n\t\t\tconst prev = this.cache\n\t\t\t\n\t\t\tif( next !== prev ) {\n\t\t\t\t\n\t\t\t\tif( $mol_owning_check( this, prev ) ) {\n\t\t\t\t\tprev.destructor()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tthis.cache = next\n\t\t\t\t\n\t\t\t\tif( this.persist && $mol_owning_catch( this, next ) ) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tnext[ Symbol.toStringTag ] = this[ Symbol.toStringTag ]\n\t\t\t\t\t} catch {} // Promises throws in strict mode\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( this.sub_from < this.length ) {\n\t\t\t\t\tif( !$mol_compare_deep( prev, next ) ) {\n\t\t\t\t\t\tthis.emit()\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tthis.cursor = $mol_wire_cursor.fresh\n\t\t\t\n\t\t\tif( next instanceof Promise ) return next\n\t\t\t\n\t\t\tif( this.persist ) {\n\t\t\t\n\t\t\t\tfor(\n\t\t\t\t\tlet cursor = this.pub_from;\n\t\t\t\t\tcursor < this.sub_from;\n\t\t\t\t\tcursor += 2\n\t\t\t\t) {\n\t\t\t\t\tconst pub = this[ cursor ] as $mol_wire_pub\n\t\t\t\t\tpub?.down()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t} else {\n\t\t\t\t\n\t\t\t\tthis.cursor = this.pub_from\n\t\t\t\tthis.track_cut()\n\t\t\t\tthis.cursor = $mol_wire_cursor.fresh\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\treturn next\n\t\t}\n\t\t\n\t\t/**\n\t\t * Update fiber value through another temp fiber.\n\t\t */\n\t\t@ $mol_wire_method\n\t\trecall( ... args: Args ) {\n\t\t\treturn this.put( this.task.call( this.host, ... args ) )\n\t\t}\n\t\t\n\t\t/**\n\t\t * Synchronous execution. Throws Promise when waits async task (SuspenseAPI provider).\n\t\t * Should be called inside SuspenseAPI consumer (ie fiber).\n\t\t */\n\t\tsync() {\n\t\t\t\n\t\t\tif( !$mol_wire_fiber.warm ) {\n\t\t\t\treturn this.result as Awaited< Result >\n\t\t\t}\n\t\t\t\n\t\t\tthis.promote()\n\t\t\tthis.up()\n\t\t\t\n\t\t\tif( this.cache instanceof Error ) {\n\t\t\t\treturn $mol_fail_hidden( this.cache )\n\t\t\t}\n\t\t\t\n\t\t\tif( this.cache instanceof Promise ) {\n\t\t\t\treturn $mol_fail_hidden( this.cache )\n\t\t\t}\n\t\t\t\n\t\t\treturn this.cache as Awaited< Result >\n\t\t}\n\n\t\t/**\n\t\t * Asynchronous execution.\n\t\t * It's SuspenseAPI consumer. So SuspenseAPI providers can be called inside.\n\t\t */\n\t\tasync async() {\n\t\t\t\n\t\t\twhile( true ) {\n\t\t\t\t\n\t\t\t\tthis.up()\n\t\t\t\t\n\t\t\t\tif( this.cache instanceof Error ) {\n\t\t\t\t\t$mol_fail_hidden( this.cache )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif(!( this.cache instanceof Promise )) return this.cache\n\t\t\t\t\t\n\t\t\t\tawait this.cache\n\t\t\t\t\t\n\t\t\t\tif( this.cursor === $mol_wire_cursor.final ) {\n\t\t\t\t\t// never ends on destructed fiber\n\t\t\t\t\tawait new Promise( ()=> {} )\n\t\t\t\t}\n\t\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\texport function $mol_wire_probe< Value >(\n\t\ttask : ()=> Value, next?: Value\n\t) : Value | undefined {\n\t\t\n\t\tconst warm = $mol_wire_fiber.warm\n\t\t\n\t\ttry {\n\t\t\t$mol_wire_fiber.warm = false\n\t\t\treturn task()\n\t\t} finally {\n\t\t\t$mol_wire_fiber.warm = warm\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\t/**\n\t * Disable reaping of current subscriber\n\t */\n\texport function $mol_wire_solid() {\n\t\t$mol_wire_auto()!.reap = nothing\n\t}\n\t\n\tconst nothing = ()=> {}\n\t\n}\n","namespace $ {\n\t\n\texport function $mol_wire_sync< Host extends object >( obj: Host ) {\n\t\treturn new Proxy( obj, {\n\t\t\t\n\t\t\tget( obj, field ) {\n\t\t\t\t\n\t\t\t\tconst val = obj[ field ]\n\t\t\t\tif( typeof val !== 'function' ) return val\n\t\t\t\t\n\t\t\t\treturn function $mol_wire_sync( this: Host, ... args: any[] ) {\n\t\t\t\t\tconst fiber = $mol_wire_fiber.temp( obj, val, ... args )\n\t\t\t\t\treturn fiber.sync()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t} ) as any as {\n\t\t\t[ key in keyof Host ]: Host[ key ] extends ( ... args: infer Args )=> Promise< infer Res >\n\t\t\t\t? ( ... args: Args )=> Res\n\t\t\t\t: Host[ key ]\n\t\t}\n\t}\n\n}\n","namespace $ {\n\t\n\texport function $mol_wire_async< Host extends object >( obj: Host ) {\n\t\treturn new Proxy( obj, {\n\t\t\t\n\t\t\tget( obj, field ) {\n\t\t\t\t\n\t\t\t\tconst val = obj[ field ]\n\t\t\t\tif( typeof val !== 'function' ) return val\n\t\t\t\t\n\t\t\t\tlet fiber: $mol_wire_fiber< any, any, any >\n\t\t\t\t\n\t\t\t\treturn function $mol_wire_async( this: Host, ... args: any[] ) {\n\t\t\t\t\t\n\t\t\t\t\tfiber?.destructor()\n\t\t\t\t\t\n\t\t\t\t\tfiber = $mol_wire_fiber.temp( obj, val, ... args )\n\t\t\t\t\treturn fiber.async()\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t} ) as any as {\n\t\t\t[ key in keyof Host ]: Host[ key ] extends ( ... args: infer Args )=> infer Res\n\t\t\t\t? Res extends Promise<any>\n\t\t\t\t\t? Host[ key ]\n\t\t\t\t\t: ( ... args: Args )=> Promise< Res >\n\t\t\t\t: Host[ key ]\n\t\t}\n\t}\n\t\n}\n","namespace $ {\n\n\tconst cacthed = new WeakMap< any , boolean >()\n\n\texport function $mol_fail_catch( error: unknown ) {\n\t\t\n\t\tif( typeof error !== 'object' ) return false\n\t\tif( cacthed.get( error ) ) return false\n\t\t\n\t\tcacthed.set( error , true )\n\t\treturn true\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\texport function $mol_fail_log( error: unknown ) {\n\t\t\n\t\tif( error instanceof Promise ) return false\n\t\tif( !$mol_fail_catch( error ) ) return false\n\t\t\n\t\tconsole.error( error )\n\t\treturn true\n\t\t\n\t}\n\n}\n","namespace $ {\n\t\n\texport function $mol_wire_mem< Keys extends number >( keys: Keys ) {\n\t\t\n\t\tconst wrap = $mol_wire_mem_func( keys )\n\t\n\t\treturn <\n\t\t\tHost extends object ,\n\t\t\tField extends keyof Host ,\n\t\t\tProp extends Extract< Host[ Field ] , ( ... args: any[] )=> any >,\n\t\t>(\n\t\t\thost : Host ,\n\t\t\tfield : Field ,\n\t\t\tdescr? : TypedPropertyDescriptor< Prop >\n\t\t)=> {\n\n\t\t\tif( !descr ) descr = Reflect.getOwnPropertyDescriptor( host , field )\n\t\t\tconst orig = descr?.value! ?? host[ field ]\n\t\t\t\n\t\t\tconst sup = Reflect.getPrototypeOf( host )!\n\t\t\tif( typeof sup[ field as any ] === 'function' ) {\n\t\t\t\tObject.defineProperty( orig , 'name' , { value : sup[ field as any ].name } )\n\t\t\t}\n\t\t\t\n\t\t\tconst descr2 = {\n\t\t\t\t... descr,\n\t\t\t\tvalue: wrap( orig )\n\t\t\t}\n\t\t\t\n\t\t\tReflect.defineProperty( host, field, descr2 )\n\t\t\t\n\t\t\treturn descr2\n\n\t\t}\n\t\t\n\t}\n\t\n\texport function $mol_wire_mem_func< Keys extends number >( keys: Keys ) {\n\t\t\n\t\treturn <\n\t\t\tResult,\n\t\t\tHost,\n\t\t\tArgs extends unknown[],\n\t\t\tFunc extends ( this: Host, ... args: Args )=> Result\n\t\t>( func: Func )=> {\n\t\t\t\n\t\t\tconst persist = $mol_wire_fiber.persist( func, keys )\n\t\t\t\n\t\t\tconst wrapper = function( this: Host, ... args: Parameters< Func > ){\n\t\t\t\t\n\t\t\t\tlet atom = persist( this, args.slice( 0, keys ) as Args )\n\t\t\t\t\n\t\t\t\tif( args.length <= keys || args[ keys ] === undefined ) return atom.sync()\n\t\t\t\t\n\t\t\t\ttry {\n\t\t\t\t\tatom.sync()\n\t\t\t\t} catch( error: unknown ) {\n\t\t\t\t\t$mol_fail_log( error )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn atom.recall( ... args as any )\n\n\t\t\t}\n\t\t\t\n\t\t\tObject.defineProperty( wrapper , 'name' , { value : func.name + ' ' } )\n\t\t\tObject.assign( wrapper, { orig: func } )\n\t\t\t\n\t\t\treturn wrapper as unknown as Func\n\t\t}\n\t\t\n\t}\n\n}\n","namespace $ { \n\texport function $mol_const< Value >( value : Value ) {\n\t\tvar getter = <{ () : Value , '()' : Value }> ( () => value )\n\t\tgetter['()'] = value\n\t\tgetter[ Symbol.toStringTag ] = value\n\t\treturn getter\n\t}\n}\n","namespace $ {\n\t\n\texport function $mol_wire_field<\n\t\tHost extends object ,\n\t\tField extends keyof Host ,\n\t\tValue extends Host[ Field ],\n\t>(\n\t\thost : Host ,\n\t\tfield : Field ,\n\t\tdescr? : TypedPropertyDescriptor< Value >\n\t): any {\n\n\t\tif( !descr ) descr = Reflect.getOwnPropertyDescriptor( host , field )\n\t\t\n\t\tconst _get = descr?.get || $mol_const( descr?.value )\n\t\tconst persist = $mol_wire_fiber.persist( _get, 0 )\n\t\t\n\t\tconst _set = descr?.set || function( this : Host , next ) {\n\t\t\tpersist( this, [] ).put( next )\n\t\t}\n\n\t\tconst sup = Reflect.getPrototypeOf( host )!\n\t\tconst sup_descr = Reflect.getOwnPropertyDescriptor( sup, field )\n\t\t\n\t\tObject.defineProperty( _get , 'name' , { value : sup_descr?.get?.name ?? field } )\n\t\tObject.defineProperty( _set , 'name' , { value : sup_descr?.set?.name ?? field } )\n\t\t\n\t\tfunction get( this: Host ) {\n\t\t\treturn persist( this, [] ).sync()\n\t\t}\n\t\t\n\t\tfunction set( this: Host, next: Value ) {\n\t\t\t$mol_wire_fiber.temp( this, _set, next ).sync()\n\t\t}\n\t\t\n\t\tObject.defineProperty( get , 'name' , { value : _get.name + '$' } )\n\t\tObject.defineProperty( set , 'name' , { value : _set.name + '@' } )\n\t\t\n\t\tObject.assign( get, { orig: _get } )\n\t\tObject.assign( set, { orig: _set } )\n\t\t\n\t\tconst { value, writable, ... descr2 } = { ... descr, get, set }\n\t\tReflect.defineProperty( host, field, descr2 )\n\t\t\n\t\treturn descr2\n\t}\n\n}\n","namespace $ {\n\n\texport function $mol_promise< Result = void >() {\n\t\t\n\t\tlet done!: ( res: Result | PromiseLike< Result > )=> void\n\t\tlet fail!: ( error?: any ) => void\n\t\t\n\t\tconst promise = new Promise( ( d, f ) => {\n\t\t\tdone = d\n\t\t\tfail = f\n\t\t} )\n\t\t\n\t\treturn Object.assign( promise, {\n\t\t\tdone,\n\t\t\tfail,\n\t\t} )\n\t\t\n\t}\n\n}\n","namespace $ {\n\t\n\texport function $mol_wait_timeout_async( this: $, timeout: number ) {\n\t\tconst promise = $mol_promise()\n\t\tconst task = new this.$mol_after_timeout( timeout , ()=> promise.done() )\n\t\treturn Object.assign( promise, {\n\t\t\tdestructor: ()=> task.destructor()\n\t\t} )\n\t}\n\t\n\texport function $mol_wait_timeout( this: $, timeout: number ) {\n\t\treturn this.$mol_wire_sync( this ).$mol_wait_timeout_async( timeout )\n\t}\n\t\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../../../mam.jam.js","-","../../../../mam.ts","../../../fail/mol/fail/fail.ts","../../cursor/mol/wire/cursor/cursor.ts","../../pub/mol/wire/pub/pub.ts","../../sub/sub.ts","../../mol/wire/wire.ts","../../../dev/format/mol/dev/format/format.ts","../../pub/sub/mol/wire/pub/sub/sub.ts","../../../compare/deep/mol/compare/deep/deep.ts","../../../guid/mol/guid/guid.ts","../../../key/mol/key/key.ts","../../../ambient/mol/ambient/ambient.ts","../../../delegate/mol/delegate/delegate.ts","../../../owning/mol/owning/owning.ts","../../../fail/hidden/mol/fail/hidden/hidden.ts","../../../type/writable/writable.ts","../../../object2/mol/object2/object2.ts","../../../after/timeout/mol/after/timeout/timeout.ts","../../../after/frame/mol/after/frame/frame.node.ts","../../method/mol/wire/method/method.ts","../../fiber/mol/wire/fiber/fiber.ts","../../probe/mol/wire/probe/probe.ts","../../solid/mol/wire/solid/solid.ts","../../sync/mol/wire/sync/sync.ts","../../async/mol/wire/async/async.ts","../../../fail/catch/mol/fail/catch/catch.ts","../../../fail/log/mol/fail/log/log.ts","../../mem/mol/wire/mem/mem.ts","../../../const/mol/const/const.ts","../../field/mol/wire/field/field.ts","../../../promise/mol/promise/promise.ts","../../../wait/timeout/mol/wait/timeout/timeout.ts"],"names":[],"mappings":"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","file":"node.esm.js","sourcesContent":[null,null,"Error.stackTraceLimit = 50;\n\ndeclare let _$_: { new(): {} } & typeof globalThis\ndeclare class $ extends _$_ {}\n\nnamespace $ {\n\texport type $ = typeof $$\n\texport declare class $$ extends $ {}\n\tnamespace $$ {\n\t\texport type $$ = $\n\t}\n}\n\nmodule.exports = $\n","namespace $ {\n\n\texport function $mol_fail( error : any ) : never {\n\t\tthrow error\n\t}\n\n}\n","namespace $ {\n\t\n\t/** Special status statuses. */\n\texport enum $mol_wire_cursor {\n\t\t\n\t\t/** Update required. */\n\t\tstale = -1,\n\t\t\n\t\t/** Some of (transitive) pub update required. */\n\t\tdoubt = -2,\n\t\t\n\t\t/** Actual state but may be dropped. */\n\t\tfresh = -3,\n\t\t\n\t\t/** State will never be changed. */\n\t\tfinal = -4,\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\t/**\n\t * Collects subscribers in compact array. 28B\n\t */\n\texport class $mol_wire_pub extends Array< unknown > {\n\t\t\n\t\t// Derived objects should be Arrays.\n\t\tstatic get [ Symbol.species ]() {\n\t\t\treturn Array\n\t\t}\n\t\t\n\t\t/**\n\t\t * Index of first subscriber.\n\t\t */\n\t\tprotected sub_from = 0 // 4B\n\t\t\n\t\t/**\n\t\t * All current subscribers.\n\t\t */\n\t\tget sub_list() {\n\t\t\tconst res = [] as $mol_wire_sub[]\n\t\t\tfor( let i = this.sub_from; i < this.length; i += 2 ) {\n\t\t\t\tres.push( this[i] as $mol_wire_sub )\n\t\t\t}\n\t\t\treturn res as readonly $mol_wire_sub[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * Has any subscribers or not.\n\t\t */\n\t\tget sub_empty() {\n\t\t\treturn this.sub_from === this.length\n\t\t}\n\t\t\n\t\t/**\n\t\t * Subscribe subscriber to this publisher events and return position of subscriber that required to unsubscribe.\n\t\t */\n\t\tsub_on( sub: $mol_wire_pub, pub_pos: number ) {\n\t\t\tconst pos = this.length\n\t\t\tthis.push( sub, pub_pos )\n\t\t\treturn pos\n\t\t}\n\t\t\n\t\t/**\n\t\t * Unsubscribe subscriber from this publisher events by subscriber position provided by `on(pub)`.\n\t\t */\n\t\tsub_off( sub_pos: number ) {\n\t\t\t\n\t\t\tif(!( sub_pos < this.length )) {\n\t\t\t\t$mol_fail( new Error( `Wrong pos ${ sub_pos }` ) )\n\t\t\t}\n\t\t\t\n\t\t\tconst end = this.length - 2\n\t\t\tif( sub_pos !== end ) {\n\t\t\t\tthis.peer_move( end, sub_pos )\n\t\t\t}\n\t\t\t\n\t\t\tthis.pop()\n\t\t\tthis.pop()\n\t\t\t\n\t\t\tif( this.length === this.sub_from ) this.reap()\n\t\t\t\n\t\t}\n\t\t\n\t\t/**\n\t\t * Called when last sub was unsubscribed.\n\t\t **/\n\t\treap() { }\n\t\t\n\t\t/**\n\t\t * Autowire this publisher with current subscriber.\n\t\t **/\n\t\tpromote() {\n\t\t\t$mol_wire_auto()?.track_next( this )\n\t\t}\n\t\t\n\t\t/**\n\t\t * Enforce actualization. Should not throw errors.\n\t\t */\n\t\tup() {}\n\t\t\n\t\t/**\n\t\t * Subscriber stabilized and allows to free.\n\t\t */\n\t\tdown() {}\n\t\t\n\t\t/**\n\t\t * Notify subscribers about self changes.\n\t\t */\n\t\temit( quant = $mol_wire_cursor.stale ) {\n\t\t\tfor( let i = this.sub_from; i < this.length; i += 2 ) {\n\t\t\t\t;( this[i] as $mol_wire_sub ).absorb( quant )\n\t\t\t}\n\t\t}\n\t\t\n\t\t/**\n\t\t * Moves peer from one position to another. Doesn't clear data at old position!\n\t\t */\n\t\tpeer_move( from_pos: number, to_pos: number ) {\n\t\t\t\n\t\t\tconst peer = this[ from_pos ] as $mol_wire_pub\n\t\t\tconst self_pos = this[ from_pos + 1 ] as number\n\t\t\t\n\t\t\tthis[ to_pos ] = peer\n\t\t\tthis[ to_pos + 1 ] = self_pos\n\t\t\t\n\t\t\tpeer.peer_repos( self_pos, to_pos )\n\t\t}\n\t\t\n\t\t/**\n\t\t * Updates self position in the peer.\n\t\t */\n\t\tpeer_repos( peer_pos: number, self_pos: number ) {\n\t\t\tthis[ peer_pos + 1 ] = self_pos\n\t\t}\n\t\t\n\t}\n\t\n}\n",null,"namespace $ {\n\t\n\tlet auto: $mol_wire_sub | null = null\n\t\n\t/**\n\t * When fulfilled, all publishers are promoted to this subscriber on access to its.\n\t */\n\texport function $mol_wire_auto( next = auto ) {\n\t\treturn auto = next\n\t}\n\t\n\t/**\n\t * Affection queue. Used to prevent accidental stack overflow on emit.\n\t */\n\texport const $mol_wire_affected = [] as ( $mol_wire_sub | number )[]\n\t\n}\n","namespace $ {\n\n\t// https://docs.google.com/document/d/1FTascZXT9cxfetuPRT2eXPQKXui4nWFivUnS_335T3U/preview#\n\t$['devtoolsFormatters'] = $['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$['devtoolsFormatters'].push( config )\n\t}\n\n\texport let $mol_dev_format_head = Symbol( '$mol_dev_format_head' )\n\texport let $mol_dev_format_body = Symbol( '$mol_dev_format_body' )\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\treturn val[ $mol_dev_format_head ]()\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\n\t\t\treturn null\n\t\t\t\n\t\t} ,\n\t\t\n\t\thasBody : val => val[ $mol_dev_format_body ] ,\n\n\t\tbody : val => val[ $mol_dev_format_body ]() ,\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\tif( typeof obj !== 'object' && typeof obj !== 'function' ) 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\tif( typeof obj === 'object' && $mol_dev_format_head in obj ) {\n\t\t\treturn obj[ $mol_dev_format_head ]()\n\t\t}\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[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 function $mol_dev_format_span( style : object , ...content : any[] ) {\n\t\treturn $mol_dev_format_element(\n\t\t\t'span' ,\n\t\t\t{\n\t\t\t\t'vertical-align' : '8%',\n\t\t\t\t... style ,\n\t\t\t} ,\n\t\t\t... content ,\n\t\t)\n\t}\n\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\n}\n","namespace $ {\n\t\n\t/**\n\t * Publisher that can auto collect other publishers. 32B\n\t * \n\t * \tP1 P2 P3 P4 S1 S2 S3\n\t * \t^ ^\n\t * \tpubs_from subs_from\n\t */\n\texport class $mol_wire_pub_sub extends $mol_wire_pub implements $mol_wire_sub {\n\t\t\n\t\tprotected pub_from = 0 // 4B\n\t\tprotected cursor = $mol_wire_cursor.stale // 4B\n\t\t\n\t\tget pub_list() {\n\t\t\tconst res = [] as $mol_wire_pub[]\n\t\t\tconst max = this.cursor >=0 ? this.cursor : this.sub_from\n\t\t\tfor( let i = this.pub_from; i < max; i += 2 ) {\n\t\t\t\tres.push( this[i] as $mol_wire_pub )\n\t\t\t}\n\t\t\treturn res\n\t\t}\n\t\t\n\t\ttrack_on() {\n\t\t\tthis.cursor = this.pub_from\n\t\t\tconst sub = $mol_wire_auto()\n\t\t\t$mol_wire_auto( this )\n\t\t\treturn sub\n\t\t}\n\t\t\n\t\tpromote() {\n\t\t\t\n\t\t\tif( this.cursor >= this.pub_from ) {\n\t\t\t\t$mol_fail( new Error( 'Circular subscription' ) )\n\t\t\t}\n\t\t\t\n\t\t\tsuper.promote()\n\t\t}\n\t\t\n\t\ttrack_next( pub?: $mol_wire_pub ): $mol_wire_pub | null {\n\t\t\t\n\t\t\tif( this.cursor < 0 ) $mol_fail( new Error( 'Promo to non begun sub' ) )\n\t\t\t\n\t\t\tif( this.cursor < this.sub_from ) {\n\t\t\t\n \t\t\t\tconst next = this[ this.cursor ] as $mol_wire_pub | undefined\n\t\t\t\tif( pub === undefined ) return next ?? null\n\t\t\t\t\n\t\t\t\tif( next === pub ) {\n\t\t\t\t\tthis.cursor += 2\n\t\t\t\t\treturn next\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( next ) {\n\t\t\t\t\t\n\t\t\t\t\tif( this.sub_from < this.length ) {\n\t\t\t\t\t\tthis.peer_move( this.sub_from, this.length )\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tthis.peer_move( this.cursor, this.sub_from )\n\t\t\t\t\tthis.sub_from += 2\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\t\n\t\t\t\tif( pub === undefined ) return null\n\t\t\t\t\n\t\t\t\tif( this.sub_from < this.length ) {\n\t\t\t\t\tthis.peer_move( this.sub_from, this.length )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tthis.sub_from += 2\n\t\t\t\t\n\t\t\t}\t\t\t\n\t\t\t\n\t\t\tthis[ this.cursor ] = pub\n\t\t\tthis[ this.cursor + 1 ] = pub.sub_on( this, this.cursor )\n\t\t\t\n\t\t\tthis.cursor += 2\n\t\t\t\n\t\t\treturn pub\n\t\t}\n\t\t\n\t\ttrack_off( sub: $mol_wire_sub | null ) {\n\t\t\t\n\t\t\t$mol_wire_auto( sub )\n\t\t\t\n\t\t\tif( this.cursor < 0 ) {\n\t\t\t\t$mol_fail( new Error( 'End of non begun sub' ) )\n\t\t\t}\n\t\t\t\n\t\t\tfor(\n\t\t\t\tlet cursor = this.pub_from;\n\t\t\t\tcursor < this.cursor;\n\t\t\t\tcursor += 2\n\t\t\t) {\n\t\t\t\tconst pub = this[ cursor ] as $mol_wire_pub\n\t\t\t\tpub.up()\n\t\t\t}\n\t\t\t\n\t\t\tthis.cursor = $mol_wire_cursor.fresh\n\t\t\t\n\t\t}\n\t\t\n\t\tpub_off( sub_pos: number ) {\n\t\t\tthis[ sub_pos ] = undefined as any\n\t\t\tthis[ sub_pos + 1 ] = undefined as any \n\t\t}\n\t\t\n\t\tdestructor() {\n\t\t\t\n\t\t\tfor(\n\t\t\t\tlet cursor = this.length - 2;\n\t\t\t\tcursor >= this.sub_from;\n\t\t\t\tcursor -= 2\n\t\t\t) {\n\t\t\t\tconst sub = this[ cursor ] as $mol_wire_sub\n\t\t\t\tconst pos = this[ cursor + 1 ] as number\n\t\t\t\tsub.pub_off( pos )\n\t\t\t\tthis.pop()\n\t\t\t\tthis.pop()\n\t\t\t}\n\t\t\t\n\t\t\tthis.cursor = this.pub_from\n\t\t\tthis.track_cut()\n\t\t\tthis.cursor = $mol_wire_cursor.final\n\t\t\t\n\t\t}\n\t\t\n\t\ttrack_cut() {\n\t\t\t\n\t\t\tif( this.cursor < this.pub_from ) {\n\t\t\t\t$mol_fail( new Error( 'Cut of non begun sub' ) )\n\t\t\t}\n\t\t\t\n\t\t\tlet tail = 0\n\t\t\t\n\t\t\tfor(\n\t\t\t\tlet cursor = this.cursor;\n\t\t\t\tcursor < this.sub_from;\n\t\t\t\tcursor += 2\n\t\t\t) {\n\t\t\t\t\n\t\t\t\tconst pub = this[ cursor ] as $mol_wire_pub | undefined\n\t\t\t\tpub?.sub_off( this[ cursor + 1 ] as number )\n\t\t\t\t\n\t\t\t\tif( this.sub_from < this.length ) {\n\t\t\t\t\tthis.peer_move( this.length - 2, cursor )\n\t\t\t\t\tthis.pop()\n\t\t\t\t\tthis.pop()\n\t\t\t\t} else {\n\t\t\t\t\t++ tail\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tfor(; tail; -- tail ) {\n\t\t\t\tthis.pop()\n\t\t\t\tthis.pop()\n\t\t\t}\n\t\t\t\n\t\t\tthis.sub_from = this.cursor\n\t\t\t\n\t\t}\n\n\t\tabsorb( quant = $mol_wire_cursor.stale ) {\n\t\t\t\n\t\t\tif( this.cursor === $mol_wire_cursor.final ) return\n\t\t\tif( this.cursor >= quant ) return\n\t\t\t\n\t\t\tthis.cursor = quant\n\t\t\tthis.emit( $mol_wire_cursor.doubt )\n\t\t\t\n\t\t}\n\t\t\n\t\t[ $mol_dev_format_head ]() {\n\t\t\treturn $mol_dev_format_native( this )\n\t\t}\n\t\t\n\t\t/**\n\t\t * Is subscribed to any publisher or not.\n\t\t */\n\t\tget pub_empty() {\n\t\t\treturn this.sub_from === this.pub_from\n\t\t}\n\t\t\n\t}\n\t\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['valueOf']() )\n\t\tif( left instanceof Number ) return Object.is( left.valueOf(), right['valueOf']() )\n\t\tif( left instanceof String ) return Object.is( left.valueOf(), right['valueOf']() )\n\t\tif( left instanceof Date ) return Object.is( left.valueOf(), right['valueOf']() )\n\t\tif( left instanceof RegExp ) return left.source === right['source'] && left.flags === right['flags']\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 >([[ right, true ]])\n\t\t\t$mol_compare_deep_cache.set( left , left_cache )\n\n\t\t}\n\n\t\tlet result!: boolean\n\n\t\ttry {\n\t\t\t\n\t\t\tif( left_proto && !Reflect.getPrototypeOf( left_proto ) ) result = compare_pojo( left, right as any )\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( left instanceof Error ) result = left.stack === ( right as any ).stack\n\t\t\telse if( ArrayBuffer.isView( left ) ) result = compare_buffer( left, right as any )\n\t\t\telse if( Symbol.toPrimitive in left ) result = compare_primitive( left, right )\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\tfor( let i = 0; i < len; ++i ) {\n\t\t\tif( left[i] !== right[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\tcompare: ( left: any, right: any )=> boolean\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( !compare( 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(), $mol_compare_deep )\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(), Object.is )\n\t\t\t&& compare_iterator( left.values(), right.values(), $mol_compare_deep )\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( left_keys.length !== right_keys.length ) return false\n\n\t\tfor( let key of left_keys ) {\n\t\t\tif( !$mol_compare_deep( left[ key ], Reflect.get( right, 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\tleft[ Symbol.toPrimitive ]( 'default' ),\n\t\t\tright[ Symbol.toPrimitive ]( 'default' ),\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\t\n\texport const $mol_key_store = new WeakMap< object, string >()\n\n\texport function $mol_key< Value >( value : Value ) : string {\n\t\t\n\t\tif( !value ) return JSON.stringify( value )\n\t\tif( typeof value !== 'object' && typeof value !== 'function' ) return JSON.stringify( value )\n\t\t\n\t\treturn JSON.stringify( value, ( field, value )=> {\n\t\t\t\n\t\t\tif( !value ) return value\n\t\t\tif( typeof value !== 'object' && typeof value !== 'function' ) return value\n\t\t\tif( Array.isArray( value ) ) return value\n\t\t\t\n\t\t\tconst proto = Reflect.getPrototypeOf( value )\n\t\t\tif( !proto ) return value\n\t\t\tif( Reflect.getPrototypeOf( proto ) === null ) return value\n\t\t\t\n\t\t\tif( 'toJSON' in value ) return value\n\t\t\tif( value instanceof RegExp ) return value.toString()\n\t\t\t\n\t\t\tlet key = $mol_key_store.get( value )\n\t\t\tif( key ) return key\n\t\t\t\n\t\t\tkey = $mol_guid()\n\t\t\t$mol_key_store.set( value, key )\n\t\t\t\n\t\t\treturn key\n\t\t} )\n\n\t}\n\t\n}\n","namespace $ {\n\n\texport const $mol_ambient_ref : unique symbol = Symbol( '$mol_ambient_ref' )\n\n\t/** @deprecated use $ instead */\n\texport type $mol_ambient_context = $\n\n\texport function $mol_ambient( this : $ | void , overrides : Partial< $ > ) : $ {\n\t\treturn Object.setPrototypeOf( overrides , this || $ )\n\t}\n\n}\n","namespace $ {\n\n\tconst instances = new WeakSet< any >()\n\n\t/**\n\t * Proxy that delegates all to lazy returned target.\n\t * \n\t * \t$mol_delegate( Array.prototype , ()=> fetch_array() )\n\t */\n export function $mol_delegate< Value extends object >(\n\t\tproto : Value ,\n\t\ttarget : ()=> Value ,\n\t) {\n\n\t\tconst proxy = new Proxy( proto , {\n\n\t\t\tget: ( _ , field )=> {\n\t\t\t\tconst obj = target()\n\t\t\t\tlet val = Reflect.get( obj , field )\n\t\t\t\tif( typeof val === 'function' ) {\n\t\t\t\t\tval = val.bind( obj )\n\t\t\t\t} \n\t\t\t\treturn val\n\t\t\t},\n\t\t\thas: ( _ , field )=> Reflect.has( target(), field ),\n\t\t\tset: ( _ , field , value )=> Reflect.set( target() , field , value ),\n\t\t\t\n\t\t\tgetOwnPropertyDescriptor: ( _ , field )=> Reflect.getOwnPropertyDescriptor( target() , field ),\n\t\t\townKeys: ()=> Reflect.ownKeys( target() ),\n\t\t\t\n\t\t\tgetPrototypeOf: ()=> Reflect.getPrototypeOf( target() ),\n\t\t\tsetPrototypeOf: ( _ , donor )=> Reflect.setPrototypeOf( target() , donor ),\n\t\t\t\n\t\t\tisExtensible: ()=> Reflect.isExtensible( target() ),\n\t\t\tpreventExtensions: ()=> Reflect.preventExtensions( target() ),\n\t\t\t\n\t\t\tapply: ( _ , self , args )=> Reflect.apply( target() as Function , self , args ),\n\t\t\tconstruct: ( _ , args , retarget )=> Reflect.construct( target() as Function , args , retarget ),\n\t\t\t\n\t\t\tdefineProperty: ( _ , field , descr )=> Reflect.defineProperty( target() , field , descr ),\n\t\t\tdeleteProperty: ( _ , field )=> Reflect.deleteProperty( target() , field ),\n\n\t\t} )\n\n\t\tinstances.add( proxy )\n\n\t\treturn proxy\n\n\t}\n\n\tReflect.defineProperty(\n\t\t$mol_delegate ,\n\t\tSymbol.hasInstance ,\n\t\t{\n\t\t\tvalue : ( obj : object )=> instances.has( obj ),\n\t\t},\n\t)\n\n}\n","namespace $ {\n\n\texport const $mol_owning_map = new WeakMap< any , any >()\n\n\texport function $mol_owning_allow< Having >(\n\t\thaving : Having ,\n\t) : having is Having & {\n\t\tdestructor() : void\n\t} {\n\t\ttry {\n\t\t\tif( !having ) return false\n\t\t\tif( typeof having !== 'object' ) return false\n\t\t\tif( having instanceof $mol_delegate ) return false\n\t\t\tif( typeof having['destructor'] !== 'function' ) return false\n\t\t\treturn true\n\t\t} catch {\n\t\t\treturn false\n\t\t}\n\t}\n\n\texport function $mol_owning_get< Having , Owner extends object >( having : Having , Owner? : { new() : Owner } ) : Owner | null {\n\t\n\t\tif( !$mol_owning_allow( having ) ) return null\n\n\t\twhile( true ) {\n\n\t\t\tconst owner = $mol_owning_map.get( having )\n\t\t\tif( !owner ) return owner\n\t\t\tif( !Owner ) return owner\n\t\t\t\n\t\t\tif( owner instanceof Owner ) return owner\n\n\t\t\thaving = owner\n\t\t}\n\n\t}\n\t\n\texport function $mol_owning_check< Owner , Having >(\n\t\towner : Owner ,\n\t\thaving : Having ,\n\t) : having is Having & { destructor() : void } {\n\t\tif( !$mol_owning_allow( having ) ) return false\n\t\tif( $mol_owning_map.get( having ) !== owner ) return false\n\t\treturn true\n\t}\n\t\n\texport function $mol_owning_catch< Owner , Having >(\n\t\towner : Owner ,\n\t\thaving : Having ,\n\t) {\n\t\tif( !$mol_owning_allow( having ) ) return false\n\t\tif( $mol_owning_map.get( having ) ) return false\n\n\t\t$mol_owning_map.set( having , owner )\n\t\treturn true\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",null,"namespace $ {\n\n\texport class $mol_object2 {\n\t\t\n\t\tstatic $ = $ as $\n\t\t\n\t\t[ $mol_ambient_ref ] = null as any as $\n\t\tget $() {\n\t\t\tif( this[ $mol_ambient_ref ] ) return this[ $mol_ambient_ref ]\n\t\t\tconst owner = $mol_owning_get( this ) as any\n\t\t\treturn this[ $mol_ambient_ref ] = owner?.$ || $mol_object2.$ as $\n\t\t}\n\t\tset $( next : $ ) {\n\t\t\tif( this[ $mol_ambient_ref ] ) $mol_fail_hidden( new Error( 'Context already defined' ) )\n\t\t\tthis[ $mol_ambient_ref ] = next\n\t\t}\n\n\t\tpublic static create< Instance >(\n\t\t\tthis : new( init? : ( instance : any )=> void )=> Instance ,\n\t\t\tinit? : ( instance : $mol_type_writable<Instance> )=> void\n\t\t) : Instance {\n\t\t\tconst obj = new this\n\t\t\tif( init ) init( obj )\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\tstatic [ Symbol.toPrimitive ]() {\n\t\t\treturn this.toString()\n\t\t}\n\t\t\n\t\tstatic toString() {\n\t\t\tif( Symbol.toStringTag in this ) return this[ Symbol.toStringTag ]\n\t\t\treturn this.name\n\t\t}\n\t\t\n\t\tdestructor() { }\n\t\t\n\t\t//[ Symbol.toPrimitive ]( hint: string ) {\n\t\t//\treturn hint === 'number' ? this.valueOf() : this.toString()\n\t\t//}\n\t\t\n\t\ttoString() {\n\t\t\treturn this[ Symbol.toStringTag ] || this.constructor.name + '()'\n\t\t}\n\t\t\n\t\ttoJSON() {\n\t\t\treturn this.toString()\n\t\t}\n\n\t}\n}\n","namespace $ {\n\n\texport class $mol_after_timeout extends $mol_object2 {\n\n\t\tid : any\n\n\t\tconstructor(\n\t\t\tpublic delay : number ,\n\t\t\tpublic task : ()=> void ,\n\t\t) {\n\t\t\tsuper()\n\t\t\tthis.id = setTimeout( task , delay )\n\t\t}\n\n\t\tdestructor() {\n\t\t\tclearTimeout( this.id )\n\t\t}\n\n\t}\n\t\n}\n","namespace $ {\n\n\texport class $mol_after_frame extends $mol_after_timeout {\n\n\t\tconstructor(\n\t\t\tpublic task : ()=> void ,\n\t\t) {\n\t\t\tsuper( 16 , task )\n\t\t}\n\n\t}\n\t\n}\n","namespace $ {\n\t\n\texport function $mol_wire_method<\n\t\tHost extends object,\n\t\tArgs extends readonly any[],\n\t\tResult,\n\t>(\n\t\thost : Host,\n\t\tfield : PropertyKey,\n\t\tdescr? : TypedPropertyDescriptor< ( ... args: Args )=> Result >,\n\t) {\n\t\t\n\t\tif( !descr ) descr = Reflect.getOwnPropertyDescriptor( host , field )\n\t\tconst orig = descr?.value! ?? host[ field ]\n\t\t\n\t\tconst sup = Reflect.getPrototypeOf( host )!\t\n\t\tif( typeof sup[ field as any ] === 'function' ) {\n\t\t\tObject.defineProperty( orig , 'name' , { value : sup[ field as any ].name } )\n\t\t}\n\t\t\n\t\tconst value = function( this: Host, ... args: Args ) {\n\t\t\tconst fiber = $mol_wire_fiber.temp( this ?? null as any, orig, ... args )\n\t\t\treturn fiber.sync() as Result\n\t\t}\n\t\t\n\t\tObject.defineProperty( value , 'name' , { value : orig.name + ' ' } )\n\t\t\n\t\tObject.assign( value, { orig } )\n\t\tconst descr2 = { ... descr, value }\n\t\tReflect.defineProperty( host, field, descr2 )\n\t\t\n\t\treturn descr2\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\tconst handled = new WeakSet< Promise< unknown > >()\n\t\n\t/**\n\t * Suspendable task with with support both sync/async api.\n\t * \n\t * \tA1 A2 A3 A4 P1 P2 P3 P4 S1 S2 S3\n\t * \t^ ^ ^\n\t * \targs_from pubs_from subs_from\n\t **/\n\texport class $mol_wire_fiber<\n\t\tHost,\n\t\tArgs extends readonly unknown[],\n\t\tResult,\n\t> extends $mol_wire_pub_sub {\n\t\t\n\t\tstatic temp<\n\t\t\tHost,\n\t\t\tArgs extends readonly unknown[],\n\t\t\tResult,\n\t\t>(\n\t\t\thost: Host,\n\t\t\ttask: ( this : Host , ... args : Args )=> Result,\n\t\t\t... args: Args\n\t\t): $mol_wire_fiber< Host, [ ... Args ], Result > {\n\t\t\t\n\t\t\tconst existen = $mol_wire_auto()?.track_next()\n\t\t\t\n\t\t\treuse: if( existen ) {\n\t\t\t\t\n\t\t\t\tif(!( existen instanceof $mol_wire_fiber )) break reuse\n\t\t\t\n\t\t\t\tif( existen.host !== host ) break reuse\n\t\t\t\tif( existen.task !== task ) break reuse\n\t\t\t\tif( !$mol_compare_deep( existen.args, args ) ) break reuse\n\t\t\t\t\n\t\t\t\treturn existen\n\t\t\t}\n\t\t\t\n\t\t\treturn new this( `${ host?.[ Symbol.toStringTag ] ?? host }.${ task.name }(#)`, task, host, ... args )\n\t\t}\n\t\t\n\t\tstatic persist<\n\t\t\tHost,\n\t\t\tArgs extends readonly unknown[],\n\t\t\tResult,\n\t\t>(\n\t\t\ttask: ( this : Host , ... args : Args )=> Result,\n\t\t\tkeys: number,\n\t\t): ( host: Host, args: Args )=> $mol_wire_fiber< Host, [ ... Args ], Result > {\n\t\t\t\n\t\t\tconst field = task.name + '()'\n\t\t\t\n\t\t\tif( keys ) {\n\t\t\t\t\n\t\t\t\treturn function $mol_wire_fiber_persist( host: Host, args: Args ) {\n\t\t\t\t\t\n\t\t\t\t\tlet dict, key!: string, fiber\n\t\t\t\t\t\n\t\t\t\t\tkey = `${ host?.[ Symbol.toStringTag ] ?? host }.${ task.name }(${ args.map( v => $mol_key( v ) ).join(',') })`\n\t\t\t\t\tdict = Object.getOwnPropertyDescriptor( host ?? task, field )?.value\n\t\t\t\t\t\n\t\t\t\t\tif( dict ) {\n\t\t\t\t\t\tconst existen = dict.get( key )\n\t\t\t\t\t\tif( existen ) return existen\n\t\t\t\t\t} else {\n\t\t\t\t\t\tdict = ( host ?? task )[ field ] = new Map<any,any>()\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tfiber = new $mol_wire_fiber( key, task, host, ... args )\n\t\t\t\t\tdict.set( key, fiber )\n\t\t\t\t\t\n\t\t\t\t\treturn fiber\n\t\t\t\t}\n\t\t\t\t\n\t\t\t} else {\n\t\t\t\t\n\t\t\t\treturn function $mol_wire_fiber_persist( host: Host, args: Args ) {\n\t\t\t\t\t\n\t\t\t\t\tconst existen = Object.getOwnPropertyDescriptor( host ?? task, field )?.value\n\t\t\t\t\tif( existen ) return existen\n\t\t\t\t\t\n\t\t\t\t\tconst key = `${ host?.[ Symbol.toStringTag ] ?? host }.${ field }`\n\t\t\t\t\t\n\t\t\t\t\tconst fiber = new $mol_wire_fiber( key, task, host, ... args )\n\t\t\t\t\t;( host ?? task )[ field ] = fiber\n\t\t\t\t\t\n\t\t\t\t\treturn fiber\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\tstatic warm = true\n\t\t\n\t\tstatic planning = [] as $mol_wire_fiber< any, any, any >[]\n\t\tstatic reaping = [] as $mol_wire_fiber< any, any, any >[]\n\t\t\n\t\tstatic plan_task: $mol_after_frame | null = null\n\t\tstatic plan() {\n\t\t\t\n\t\t\tif( this.plan_task ) return\n\t\t\t\n\t\t\tthis.plan_task = new $mol_after_frame( ()=> {\n\t\t\t\t\n\t\t\t\ttry {\n\t\t\t\t\tthis.sync()\n\t\t\t\t} finally {\n\t\t\t\t\t$mol_wire_fiber.plan_task = null\n\t\t\t\t}\n\n\t\t\t} )\n\t\t\t\n\t\t}\n\t\t\n\t\tstatic sync() {\n\t\t\t\n\t\t\t// Sync whole fiber graph\n\t\t\twhile( this.planning.length ) {\n\t\t\t\t\n\t\t\t\tconst fibers = this.planning.splice( 0, this.planning.length )\n\t\t\t\t\n\t\t\t\tfor( const fiber of fibers ) {\n\t\t\t\t\tfiber.up()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\t// Collect garbage\n\t\t\twhile( this.reaping.length ) {\n\t\t\t\t\n\t\t\t\tconst fibers = this.reaping.splice( 0, this.reaping.length )\n\t\t\t\t\n\t\t\t\tfor( const fiber of fibers ) {\n\t\t\t\t\tif( !fiber.sub_empty ) continue\n\t\t\t\t\tfiber.destructor()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\tpublic cache: Result | Error | Promise< Result | Error > = undefined as any\n\t\t\n\t\tget args() {\n\t\t\treturn this.slice( 0 , this.pub_from ) as any as Args\n\t\t}\n\t\t\n\t\tget result() {\n\t\t\tif( this.cache instanceof Promise ) return\n\t\t\tif( this.cache instanceof Error ) return\n\t\t\treturn this.cache\n\t\t}\n\t\t\n\t\tget persist() {\n\t\t\tconst id = this[ Symbol.toStringTag ]\n\t\t\treturn id[ id.length - 2 ] !== '#'\n\t\t}\n\t\t\n\t\tfield() {\n\t\t\treturn this.task.name + '()'\n\t\t}\n\t\t\n\t\tconstructor(\n\t\t\tid: string,\n\t\t\treadonly task: ( this : Host , ... args : Args )=> Result,\n\t\t\treadonly host?: Host,\n\t\t\t... args: Args\n\t\t) {\n\t\t\t\n\t\t\tsuper( ... args as any, undefined as any, undefined as any )\n\t\t\t\n\t\t\t// reserve capacity for first subscriber\n\t\t\tthis.pop()\n\t\t\tthis.pop()\n\t\t\t\n\t\t\tthis.pub_from = this.sub_from = args.length\n\t\t\tthis[ Symbol.toStringTag ] = id\n\t\t\t\n\t\t}\n\t\t\n\t\tdestructor() {\n\t\t\t\n\t\t\tsuper.destructor()\n\t\t\t\n\t\t\tconst prev = this.cache\n\t\t\tif( $mol_owning_check( this, prev ) ) {\n\t\t\t\tprev.destructor()\n\t\t\t}\n\t\t\t\n\t\t\tif( this.persist ) {\n\t\t\t\tif( this.pub_from === 0 ) {\n\t\t\t\t\t;( this.host ?? this.task )[ this.field() ] = null\n\t\t\t\t} else {\n\t\t\t\t\t;( this.host ?? this.task )[ this.field() ].delete( this[ Symbol.toStringTag ] )\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\tplan() {\n\t\t\t$mol_wire_fiber.planning.push( this )\n\t\t\t$mol_wire_fiber.plan()\n\t\t}\n\t\t\n\t\treap() {\n\t\t\t$mol_wire_fiber.reaping.push( this )\n\t\t\t$mol_wire_fiber.plan()\n\t\t}\n\t\t\n\t\ttoString() {\n\t\t\treturn this[ Symbol.toStringTag ]\n\t\t}\n\t\t\n\t\ttoJSON() {\n\t\t\treturn this[ Symbol.toStringTag ]\n\t\t}\n\n\t\t[ $mol_dev_format_head ]() {\n\t\t\t\n\t\t\tconst cursor = {\n\t\t\t\t[-1]: '🔴',\n\t\t\t\t[-2]: '🟡',\n\t\t\t\t[-3]: '🟢',\n\t\t\t\t[-4]: '🔵',\n\t\t\t}[ this.cursor ] ?? this.cursor.toString()\n\t\t\t\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( cursor + ' ' ),\n\t\t\t\t$mol_dev_format_auto( this.cache ),\n\t\t\t)\n\t\t\t\n\t\t}\n\t\t\n\t\tget $() {\n\t\t\treturn ( this.host ?? this.task )['$']\n\t\t}\n\t\t\n\t\temit( quant = $mol_wire_cursor.stale ) {\n\t\t\tif( this.sub_empty ) this.plan()\n\t\t\telse super.emit( quant )\n\t\t}\n\t\t\n\t\tdown() {\n\t\t\tif( this.persist ) return\n\t\t\tthis.destructor()\n\t\t}\n\t\t\n\t\tup() {\n\n\t\t\ttype Result = typeof this.cache\n\t\t\t\n\t\t\tif( this.cursor === $mol_wire_cursor.fresh ) return\n\t\t\tif( this.cursor === $mol_wire_cursor.final ) return\n\t\t\t\n\t\t\tcheck: if( this.cursor === $mol_wire_cursor.doubt ) {\n\t\t\t\t\n\t\t\t\tfor( let i = this.pub_from ; i < this.sub_from; i += 2 ) {\n\t\t\t\t\t;( this[i] as $mol_wire_pub )?.up()\n\t\t\t\t\tif( this.cursor !== $mol_wire_cursor.doubt ) break check\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tthis.cursor = $mol_wire_cursor.fresh\n\t\t\t\treturn\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tconst bu = this.track_on()\n\t\t\tlet result: typeof this.cache\n\n\t\t\ttry {\n\n\t\t\t\tresult = this.task.call( this.host!, ... this.slice( 0 , this.pub_from ) as any as Args )\n\t\t\t\t\n\t\t\t\tif( result instanceof Promise ) {\n\t\t\t\t\t\n\t\t\t\t\tconst put = ( res: Result )=> {\n\t\t\t\t\t\tif( this.cache === result ) this.put( res )\n\t\t\t\t\t\treturn res\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tresult = Object.assign( result.then( put, put ), {\n\t\t\t\t\t\tdestructor: result['destructor']\n\t\t\t\t\t} )\n\t\t\t\t\t\n\t\t\t\t\thandled.add( result )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t} catch( error: any ) {\n\t\t\t\t\n\t\t\t\tresult = error\n\t\t\t\t\n\t\t\t\tif( result instanceof Promise && !handled.has( result ) ) {\n\t\t\t\t\t\n\t\t\t\t\tresult = Object.assign( result.finally( ()=> {\n\t\t\t\t\t\tif( this.cache === result ) this.absorb()\n\t\t\t\t\t} ), {\n\t\t\t\t\t\tdestructor: result['destructor']\n\t\t\t\t\t} )\n\t\t\t\t\t\n\t\t\t\t\thandled.add( result )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tif(!( result instanceof Promise )) {\n\t\t\t\tthis.track_cut()\n\t\t\t}\n\t\t\t\n\t\t\tthis.track_off( bu )\n\t\t\tthis.put( result )\n\n\t\t}\n\t\t\n\t\tput( next: Result | Error | Promise< Result | Error > ) {\n\t\t\t\n\t\t\tconst prev = this.cache\n\t\t\t\n\t\t\tif( next !== prev ) {\n\t\t\t\t\n\t\t\t\tif( $mol_owning_check( this, prev ) ) {\n\t\t\t\t\tprev.destructor()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tthis.cache = next\n\t\t\t\t\n\t\t\t\tif( this.persist && $mol_owning_catch( this, next ) ) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tnext[ Symbol.toStringTag ] = this[ Symbol.toStringTag ]\n\t\t\t\t\t} catch {} // Promises throws in strict mode\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( this.sub_from < this.length ) {\n\t\t\t\t\tif( !$mol_compare_deep( prev, next ) ) {\n\t\t\t\t\t\tthis.emit()\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tthis.cursor = $mol_wire_cursor.fresh\n\t\t\t\n\t\t\tif( next instanceof Promise ) return next\n\t\t\t\n\t\t\tif( this.persist ) {\n\t\t\t\n\t\t\t\tfor(\n\t\t\t\t\tlet cursor = this.pub_from;\n\t\t\t\t\tcursor < this.sub_from;\n\t\t\t\t\tcursor += 2\n\t\t\t\t) {\n\t\t\t\t\tconst pub = this[ cursor ] as $mol_wire_pub\n\t\t\t\t\tpub?.down()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t} else {\n\t\t\t\t\n\t\t\t\tthis.cursor = this.pub_from\n\t\t\t\tthis.track_cut()\n\t\t\t\tthis.cursor = $mol_wire_cursor.fresh\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\treturn next\n\t\t}\n\t\t\n\t\t/**\n\t\t * Update fiber value through another temp fiber.\n\t\t */\n\t\t@ $mol_wire_method\n\t\trecall( ... args: Args ) {\n\t\t\treturn this.put( this.task.call( this.host!, ... args ) )\n\t\t}\n\t\t\n\t\t/**\n\t\t * Synchronous execution. Throws Promise when waits async task (SuspenseAPI provider).\n\t\t * Should be called inside SuspenseAPI consumer (ie fiber).\n\t\t */\n\t\tsync() {\n\t\t\t\n\t\t\tif( !$mol_wire_fiber.warm ) {\n\t\t\t\treturn this.result as Awaited< Result >\n\t\t\t}\n\t\t\t\n\t\t\tthis.promote()\n\t\t\tthis.up()\n\t\t\t\n\t\t\tif( this.cache instanceof Error ) {\n\t\t\t\treturn $mol_fail_hidden( this.cache )\n\t\t\t}\n\t\t\t\n\t\t\tif( this.cache instanceof Promise ) {\n\t\t\t\treturn $mol_fail_hidden( this.cache )\n\t\t\t}\n\t\t\t\n\t\t\treturn this.cache as Awaited< Result >\n\t\t}\n\n\t\t/**\n\t\t * Asynchronous execution.\n\t\t * It's SuspenseAPI consumer. So SuspenseAPI providers can be called inside.\n\t\t */\n\t\tasync async() {\n\t\t\t\n\t\t\twhile( true ) {\n\t\t\t\t\n\t\t\t\tthis.up()\n\t\t\t\t\n\t\t\t\tif( this.cache instanceof Error ) {\n\t\t\t\t\t$mol_fail_hidden( this.cache )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif(!( this.cache instanceof Promise )) return this.cache\n\t\t\t\t\t\n\t\t\t\tawait this.cache\n\t\t\t\t\t\n\t\t\t\tif( this.cursor === $mol_wire_cursor.final ) {\n\t\t\t\t\t// never ends on destructed fiber\n\t\t\t\t\tawait new Promise( ()=> {} )\n\t\t\t\t}\n\t\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\texport function $mol_wire_probe< Value >(\n\t\ttask : ()=> Value, next?: Value\n\t) : Value | undefined {\n\t\t\n\t\tconst warm = $mol_wire_fiber.warm\n\t\t\n\t\ttry {\n\t\t\t$mol_wire_fiber.warm = false\n\t\t\treturn task()\n\t\t} finally {\n\t\t\t$mol_wire_fiber.warm = warm\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\t/**\n\t * Disable reaping of current subscriber\n\t */\n\texport function $mol_wire_solid() {\n\t\t$mol_wire_auto()!.reap = nothing\n\t}\n\t\n\tconst nothing = ()=> {}\n\t\n}\n","namespace $ {\n\t\n\texport function $mol_wire_sync< Host extends object >( obj: Host ) {\n\t\treturn new Proxy( obj, {\n\t\t\t\n\t\t\tget( obj, field ) {\n\t\t\t\t\n\t\t\t\tconst val = obj[ field ]\n\t\t\t\tif( typeof val !== 'function' ) return val\n\t\t\t\t\n\t\t\t\treturn function $mol_wire_sync( this: Host, ... args: any[] ) {\n\t\t\t\t\tconst fiber = $mol_wire_fiber.temp( obj, val, ... args )\n\t\t\t\t\treturn fiber.sync()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t} ) as any as {\n\t\t\t[ key in keyof Host ]: Host[ key ] extends ( ... args: infer Args )=> Promise< infer Res >\n\t\t\t\t? ( ... args: Args )=> Res\n\t\t\t\t: Host[ key ]\n\t\t}\n\t}\n\n}\n","namespace $ {\n\t\n\texport function $mol_wire_async< Host extends object >( obj: Host ) {\n\t\treturn new Proxy( obj, {\n\t\t\t\n\t\t\tget( obj, field ) {\n\t\t\t\t\n\t\t\t\tconst val = obj[ field ]\n\t\t\t\tif( typeof val !== 'function' ) return val\n\t\t\t\t\n\t\t\t\tlet fiber: $mol_wire_fiber< any, any, any >\n\t\t\t\t\n\t\t\t\treturn function $mol_wire_async( this: Host, ... args: any[] ) {\n\t\t\t\t\t\n\t\t\t\t\tfiber?.destructor()\n\t\t\t\t\t\n\t\t\t\t\tfiber = $mol_wire_fiber.temp( obj, val, ... args )\n\t\t\t\t\treturn fiber.async()\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t} ) as any as {\n\t\t\t[ key in keyof Host ]: Host[ key ] extends ( ... args: infer Args )=> infer Res\n\t\t\t\t? Res extends Promise<any>\n\t\t\t\t\t? Host[ key ]\n\t\t\t\t\t: ( ... args: Args )=> Promise< Res >\n\t\t\t\t: Host[ key ]\n\t\t}\n\t}\n\t\n}\n","namespace $ {\n\n\tconst cacthed = new WeakMap< any , boolean >()\n\n\texport function $mol_fail_catch( error: unknown ) {\n\t\t\n\t\tif( typeof error !== 'object' ) return false\n\t\tif( cacthed.get( error ) ) return false\n\t\t\n\t\tcacthed.set( error , true )\n\t\treturn true\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\texport function $mol_fail_log( error: unknown ) {\n\t\t\n\t\tif( error instanceof Promise ) return false\n\t\tif( !$mol_fail_catch( error ) ) return false\n\t\t\n\t\tconsole.error( error )\n\t\treturn true\n\t\t\n\t}\n\n}\n","namespace $ {\n\t\n\texport function $mol_wire_mem< Keys extends number >( keys: Keys ) {\n\t\t\n\t\tconst wrap = $mol_wire_mem_func( keys )\n\t\n\t\treturn <\n\t\t\tHost extends object ,\n\t\t\tField extends keyof Host ,\n\t\t\tProp extends Extract< Host[ Field ] , ( ... args: any[] )=> any >,\n\t\t>(\n\t\t\thost : Host ,\n\t\t\tfield : Field ,\n\t\t\tdescr? : TypedPropertyDescriptor< Prop >\n\t\t)=> {\n\n\t\t\tif( !descr ) descr = Reflect.getOwnPropertyDescriptor( host , field )\n\t\t\tconst orig = descr?.value! ?? host[ field ]\n\t\t\t\n\t\t\tconst sup = Reflect.getPrototypeOf( host )!\n\t\t\tif( typeof sup[ field as any ] === 'function' ) {\n\t\t\t\tObject.defineProperty( orig , 'name' , { value : sup[ field as any ].name } )\n\t\t\t}\n\t\t\t\n\t\t\tconst descr2 = {\n\t\t\t\t... descr,\n\t\t\t\tvalue: wrap( orig )\n\t\t\t}\n\t\t\t\n\t\t\tReflect.defineProperty( host, field, descr2 )\n\t\t\t\n\t\t\treturn descr2\n\n\t\t}\n\t\t\n\t}\n\t\n\texport function $mol_wire_mem_func< Keys extends number >( keys: Keys ) {\n\t\t\n\t\treturn <\n\t\t\tResult,\n\t\t\tHost,\n\t\t\tArgs extends unknown[],\n\t\t\tFunc extends ( this: Host, ... args: Args )=> Result\n\t\t>( func: Func )=> {\n\t\t\t\n\t\t\tconst persist = $mol_wire_fiber.persist( func, keys )\n\t\t\t\n\t\t\tconst wrapper = function( this: Host, ... args: Parameters< Func > ){\n\t\t\t\t\n\t\t\t\tlet atom = persist( this, args.slice( 0, keys ) as Args )\n\t\t\t\t\n\t\t\t\tif( args.length <= keys || args[ keys ] === undefined ) return atom.sync()\n\t\t\t\t\n\t\t\t\ttry {\n\t\t\t\t\tatom.sync()\n\t\t\t\t} catch( error: unknown ) {\n\t\t\t\t\t$mol_fail_log( error )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn atom.recall( ... args as any )\n\n\t\t\t}\n\t\t\t\n\t\t\tObject.defineProperty( wrapper , 'name' , { value : func.name + ' ' } )\n\t\t\tObject.assign( wrapper, { orig: func } )\n\t\t\t\n\t\t\treturn wrapper as unknown as Func\n\t\t}\n\t\t\n\t}\n\n}\n","namespace $ { \n\texport function $mol_const< Value >( value : Value ) {\n\t\tvar getter = <{ () : Value , '()' : Value }> ( () => value )\n\t\tgetter['()'] = value\n\t\tgetter[ Symbol.toStringTag ] = value\n\t\treturn getter\n\t}\n}\n","namespace $ {\n\t\n\texport function $mol_wire_field<\n\t\tHost extends object ,\n\t\tField extends keyof Host ,\n\t\tValue extends Host[ Field ],\n\t>(\n\t\thost : Host ,\n\t\tfield : Field ,\n\t\tdescr? : TypedPropertyDescriptor< Value >\n\t): any {\n\n\t\tif( !descr ) descr = Reflect.getOwnPropertyDescriptor( host , field )\n\t\t\n\t\tconst _get = descr?.get || $mol_const( descr?.value )\n\t\tconst persist = $mol_wire_fiber.persist( _get, 0 )\n\t\t\n\t\tconst _set = descr?.set || function( this : Host , next ) {\n\t\t\tpersist( this, [] ).put( next )\n\t\t}\n\n\t\tconst sup = Reflect.getPrototypeOf( host )!\n\t\tconst sup_descr = Reflect.getOwnPropertyDescriptor( sup, field )\n\t\t\n\t\tObject.defineProperty( _get , 'name' , { value : sup_descr?.get?.name ?? field } )\n\t\tObject.defineProperty( _set , 'name' , { value : sup_descr?.set?.name ?? field } )\n\t\t\n\t\tfunction get( this: Host ) {\n\t\t\treturn persist( this, [] ).sync()\n\t\t}\n\t\t\n\t\tfunction set( this: Host, next: Value ) {\n\t\t\t$mol_wire_fiber.temp( this, _set, next ).sync()\n\t\t}\n\t\t\n\t\tObject.defineProperty( get , 'name' , { value : _get.name + '$' } )\n\t\tObject.defineProperty( set , 'name' , { value : _set.name + '@' } )\n\t\t\n\t\tObject.assign( get, { orig: _get } )\n\t\tObject.assign( set, { orig: _set } )\n\t\t\n\t\tconst { value, writable, ... descr2 } = { ... descr, get, set }\n\t\tReflect.defineProperty( host, field, descr2 )\n\t\t\n\t\treturn descr2\n\t}\n\n}\n","namespace $ {\n\n\texport function $mol_promise< Result = void >() {\n\t\t\n\t\tlet done!: ( res: Result | PromiseLike< Result > )=> void\n\t\tlet fail!: ( error?: any ) => void\n\t\t\n\t\tconst promise = new Promise( ( d, f ) => {\n\t\t\tdone = d\n\t\t\tfail = f\n\t\t} )\n\t\t\n\t\treturn Object.assign( promise, {\n\t\t\tdone,\n\t\t\tfail,\n\t\t} )\n\t\t\n\t}\n\n}\n","namespace $ {\n\t\n\texport function $mol_wait_timeout_async( this: $, timeout: number ) {\n\t\tconst promise = $mol_promise()\n\t\tconst task = new this.$mol_after_timeout( timeout , ()=> promise.done() )\n\t\treturn Object.assign( promise, {\n\t\t\tdestructor: ()=> task.destructor()\n\t\t} )\n\t}\n\t\n\texport function $mol_wait_timeout( this: $, timeout: number ) {\n\t\treturn this.$mol_wire_sync( this ).$mol_wait_timeout_async( timeout )\n\t}\n\t\n}\n"]}
|
package/node.js
CHANGED
|
@@ -759,8 +759,8 @@ var $;
|
|
|
759
759
|
(function ($) {
|
|
760
760
|
const handled = new WeakSet();
|
|
761
761
|
class $mol_wire_fiber extends $mol_wire_pub_sub {
|
|
762
|
-
host;
|
|
763
762
|
task;
|
|
763
|
+
host;
|
|
764
764
|
static temp(host, task, ...args) {
|
|
765
765
|
const existen = $mol_wire_auto()?.track_next();
|
|
766
766
|
reuse: if (existen) {
|
|
@@ -774,7 +774,7 @@ var $;
|
|
|
774
774
|
break reuse;
|
|
775
775
|
return existen;
|
|
776
776
|
}
|
|
777
|
-
return new this(
|
|
777
|
+
return new this(`${host?.[Symbol.toStringTag] ?? host}.${task.name}(#)`, task, host, ...args);
|
|
778
778
|
}
|
|
779
779
|
static persist(task, keys) {
|
|
780
780
|
const field = task.name + '()';
|
|
@@ -791,7 +791,7 @@ var $;
|
|
|
791
791
|
else {
|
|
792
792
|
dict = (host ?? task)[field] = new Map();
|
|
793
793
|
}
|
|
794
|
-
fiber = new $mol_wire_fiber(
|
|
794
|
+
fiber = new $mol_wire_fiber(key, task, host, ...args);
|
|
795
795
|
dict.set(key, fiber);
|
|
796
796
|
return fiber;
|
|
797
797
|
};
|
|
@@ -802,7 +802,7 @@ var $;
|
|
|
802
802
|
if (existen)
|
|
803
803
|
return existen;
|
|
804
804
|
const key = `${host?.[Symbol.toStringTag] ?? host}.${field}`;
|
|
805
|
-
const fiber = new $mol_wire_fiber(
|
|
805
|
+
const fiber = new $mol_wire_fiber(key, task, host, ...args);
|
|
806
806
|
(host ?? task)[field] = fiber;
|
|
807
807
|
return fiber;
|
|
808
808
|
};
|
|
@@ -858,10 +858,10 @@ var $;
|
|
|
858
858
|
field() {
|
|
859
859
|
return this.task.name + '()';
|
|
860
860
|
}
|
|
861
|
-
constructor(
|
|
861
|
+
constructor(id, task, host, ...args) {
|
|
862
862
|
super(...args, undefined, undefined);
|
|
863
|
-
this.host = host;
|
|
864
863
|
this.task = task;
|
|
864
|
+
this.host = host;
|
|
865
865
|
this.pop();
|
|
866
866
|
this.pop();
|
|
867
867
|
this.pub_from = this.sub_from = args.length;
|