mol_vary 0.0.31 → 0.0.33

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mol_vary",
3
- "version": "0.0.31",
3
+ "version": "0.0.33",
4
4
  "exports": {
5
5
  "node": {
6
6
  "import": "./node.mjs",
package/web.d.ts CHANGED
@@ -89,7 +89,6 @@ declare namespace $ {
89
89
  static type<const Instance extends object, const Keys extends readonly any[], const Vals extends readonly any[]>(Class: new (...vals: any[]) => Instance, keys: Keys, lean: (obj: Instance) => Vals, rich: (...vals: Vals) => Instance): void;
90
90
  }
91
91
  const $mol_vary_lean: unique symbol;
92
- const $mol_vary_keys: unique symbol;
93
92
  }
94
93
 
95
94
  export = $;
package/web.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../mam.d.ts","../../bigint/encode/encode.d.ts","../../fail/fail.d.ts","../../charset/encode/encode.d.ts","../../bigint/decode/decode.d.ts","../../charset/encoding/encoding.d.ts","../../charset/decode/decode.d.ts","../../charset/decode/from/from.d.ts","../../dom/context/context.d.ts","../../dom/context/context.web.d.ts","../../dom/dom.d.ts","../vary.d.ts"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACfA;AACA;AACA;AACA;ACHA;AACA;AACA;AACA;ACHA;AACA;AACA;AACA;AACA;AACA;ACLA;AACA;AACA;AACA;ACHA;AACA;AACA;AACA;ACHA;AACA;AACA;AACA;ACHA;AACA;AACA;AACA;ACHA;AACA;AACA;AACA;ACHA;AACA;AACA;ACFA;AACA;AACA;AACA;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null]}
1
+ {"version":3,"sources":["../../../mam.d.ts","../../bigint/encode/encode.d.ts","../../fail/fail.d.ts","../../charset/encode/encode.d.ts","../../bigint/decode/decode.d.ts","../../charset/encoding/encoding.d.ts","../../charset/decode/decode.d.ts","../../charset/decode/from/from.d.ts","../../dom/context/context.d.ts","../../dom/context/context.web.d.ts","../../dom/dom.d.ts","../vary.d.ts"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACfA;AACA;AACA;AACA;ACHA;AACA;AACA;AACA;ACHA;AACA;AACA;AACA;AACA;AACA;ACLA;AACA;AACA;AACA;ACHA;AACA;AACA;AACA;ACHA;AACA;AACA;AACA;ACHA;AACA;AACA;AACA;ACHA;AACA;AACA;AACA;ACHA;AACA;AACA;ACFA;AACA;AACA;AACA;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null]}
package/web.deps.json CHANGED
@@ -1 +1 @@
1
- {"files":["mam.ts","LICENSE","README.md","mam.jam.js","tsfmt.json","package.json","tsconfig.json","lang.lang.tree","meta.lang.tree","sandbox.config.json","mol/CNAME","mol/LICENSE","mol/readme.md","mol/mol.meta.tree","mol/CONTRIBUTING.md","mol/CODE_OF_CONDUCT.md","mol/bigint/encode/encode.ts","mol/fail/fail.ts","mol/charset/encode/encode.ts","mol/bigint/decode/decode.ts","mol/charset/encoding/encoding.ts","mol/charset/decode/decode.ts","mol/charset/decode/from/from.ts","mol/dom/context/context.ts","mol/dom/context/context.web.ts","mol/dom/dom.ts","mol/vary/vary.ts","mol/vary/readme.md"],"mods":{},"deps_in":{"mol":{"mol/vary":-999,"mol/bigint":-999,"mol/fail":-999,"mol/charset":-999,"mol/dom":-999},"":{"mol":-999},"mol/bigint/encode":{"mol/vary":-4},"mol/bigint":{"mol/bigint/encode":-999,"mol/bigint/decode":-999},"mol/fail":{"mol/vary":-3},"mol/charset/encode":{"mol/vary":-4},"mol/charset":{"mol/charset/encode":-999,"mol/charset/decode":-999,"mol/charset/encoding":-999},"mol/bigint/decode":{"mol/vary":-5},"mol/charset/decode/from":{"mol/vary":-4},"mol/charset/decode":{"mol/charset/decode/from":-999},"mol/charset/encoding":{"mol/charset/decode":-1},"mol/dom":{"mol/vary":-2},"mol/dom/context":{"mol/dom":-1},"mol/dom/context/context.ts":{"mol/dom/context":0}},"deps_out":{"mol/vary":{"mol":-999,"mol/bigint/encode":-4,"mol/fail":-3,"mol/charset/encode":-4,"mol/bigint/decode":-5,"mol/charset/decode/from":-4,"mol/dom":-2},"mol":{"":-999},"mol/bigint/encode":{"mol/bigint":-999},"mol/bigint":{"mol":-999},"mol/fail":{"mol":-999},"mol/charset/encode":{"mol/charset":-999},"mol/charset":{"mol":-999},"mol/bigint/decode":{"mol/bigint":-999},"mol/charset/decode/from":{"mol/charset/decode":-999},"mol/charset/decode":{"mol/charset":-999,"mol/charset/encoding":-1},"mol/charset/encoding":{"mol/charset":-999},"mol/dom":{"mol":-999,"mol/dom/context":-1},"mol/dom/context":{"mol/dom/context/context.ts":0},"mol/dom/context/context.ts":{}},"sloc":{"ts":615,"LICENSE":113,"md":530,"js":9,"json":82,"tree":41,"CNAME":1},"deps":{"mol/vary":{"..":-999,"/mol/vary/tip":-1,"/mol/vary/len":-1,"/mol/vary/spec":-1,"/mol/vary/tip/spec":-2,"/mol/vary":-1,"/mol/vary/tip/uint":-4,"/mol/vary/tip/link":-4,"/mol/bigint/encode":-4,"/mol/fail":-3,"/mol/vary/spec/fp64":-4,"/mol/vary/tip/text":-4,"/mol/charset/encode/to":-4,"/mol/vary/tip/blob":-4,"/mol/vary/tip/sint":-4,"/mol/vary/spec/fp16":-4,"/mol/vary/spec/fp32":-4,"/mol/vary/tip/list":-4,"/mol/vary/keys":-1,"/mol/vary/lean":-1,"/mol/vary/tip/tupl":-4,"/mol/vary/spec/both":-5,"/mol/vary/spec/true":-5,"/mol/vary/spec/fake":-5,"/mol/vary/spec/none":-5,"/mol/bigint/decode":-5,"/mol/charset/decode/from":-4,"/mol/vary/type":-1,"/mol/dom":-2,"/mol/dom/document/create/element":-3,"/mol/dom/document/create/text/node":-4},"mol":{"..":-999},"":{},"mol/bigint/encode":{"..":-999,"/mol/bigint/encode":-1},"mol/bigint":{"..":-999},"mol/fail":{"..":-999,"/mol/fail":-1},"mol/charset/encode":{"..":-999,"/mol/charset/encode":-1,"/mol/charset/encode/to":-1,"/mol/charset/encode/size":-1},"mol/charset":{"..":-999},"mol/bigint/decode":{"..":-999,"/mol/bigint/decode":-1},"mol/charset/decode/from":{"..":-999,"/mol/charset/decode/from":-1},"mol/charset/decode":{"..":-999,"/mol/charset/encoding":-1,"/mol/charset/decode":-1},"mol/charset/encoding":{"..":-999,"/mol/charset/encoding":-1},"mol/dom":{"..":-999,"/mol/dom":-1,"/mol/dom/context":-1},"mol/dom/context":{"..":-999,"/mol/dom/context":-1,"./context.ts":0},"mol/dom/context/context.ts":{"/mol/dom/context":-1}}}
1
+ {"files":["mam.ts","LICENSE","README.md","mam.jam.js","tsfmt.json","package.json","tsconfig.json","lang.lang.tree","meta.lang.tree","sandbox.config.json","mol/CNAME","mol/LICENSE","mol/readme.md","mol/mol.meta.tree","mol/CONTRIBUTING.md","mol/CODE_OF_CONDUCT.md","mol/bigint/encode/encode.ts","mol/fail/fail.ts","mol/charset/encode/encode.ts","mol/bigint/decode/decode.ts","mol/charset/encoding/encoding.ts","mol/charset/decode/decode.ts","mol/charset/decode/from/from.ts","mol/dom/context/context.ts","mol/dom/context/context.web.ts","mol/dom/dom.ts","mol/vary/vary.ts","mol/vary/readme.md"],"mods":{},"deps_in":{"mol":{"mol/vary":-999,"mol/bigint":-999,"mol/fail":-999,"mol/charset":-999,"mol/dom":-999},"":{"mol":-999},"mol/bigint/encode":{"mol/vary":-4},"mol/bigint":{"mol/bigint/encode":-999,"mol/bigint/decode":-999},"mol/fail":{"mol/vary":-3},"mol/charset/encode":{"mol/vary":-4},"mol/charset":{"mol/charset/encode":-999,"mol/charset/decode":-999,"mol/charset/encoding":-999},"mol/bigint/decode":{"mol/vary":-5},"mol/charset/decode/from":{"mol/vary":-4},"mol/charset/decode":{"mol/charset/decode/from":-999},"mol/charset/encoding":{"mol/charset/decode":-1},"mol/dom":{"mol/vary":-2},"mol/dom/context":{"mol/dom":-1},"mol/dom/context/context.ts":{"mol/dom/context":0}},"deps_out":{"mol/vary":{"mol":-999,"mol/bigint/encode":-4,"mol/fail":-3,"mol/charset/encode":-4,"mol/bigint/decode":-5,"mol/charset/decode/from":-4,"mol/dom":-2},"mol":{"":-999},"mol/bigint/encode":{"mol/bigint":-999},"mol/bigint":{"mol":-999},"mol/fail":{"mol":-999},"mol/charset/encode":{"mol/charset":-999},"mol/charset":{"mol":-999},"mol/bigint/decode":{"mol/bigint":-999},"mol/charset/decode/from":{"mol/charset/decode":-999},"mol/charset/decode":{"mol/charset":-999,"mol/charset/encoding":-1},"mol/charset/encoding":{"mol/charset":-999},"mol/dom":{"mol":-999,"mol/dom/context":-1},"mol/dom/context":{"mol/dom/context/context.ts":0},"mol/dom/context/context.ts":{}},"sloc":{"ts":621,"LICENSE":113,"md":530,"js":9,"json":82,"tree":41,"CNAME":1},"deps":{"mol/vary":{"..":-999,"/mol/vary/tip":-1,"/mol/vary/len":-1,"/mol/vary/spec":-1,"/mol/vary/tip/spec":-2,"/mol/vary":-1,"/mol/vary/tip/uint":-4,"/mol/vary/tip/link":-4,"/mol/bigint/encode":-4,"/mol/fail":-3,"/mol/vary/spec/fp64":-4,"/mol/vary/tip/text":-4,"/mol/charset/encode/to":-4,"/mol/vary/tip/blob":-4,"/mol/vary/tip/sint":-4,"/mol/vary/spec/fp16":-4,"/mol/vary/spec/fp32":-4,"/mol/vary/tip/list":-4,"/mol/vary/lean":-1,"/mol/vary/tip/tupl":-4,"/mol/vary/spec/both":-5,"/mol/vary/spec/true":-5,"/mol/vary/spec/fake":-5,"/mol/vary/spec/none":-5,"/mol/bigint/decode":-5,"/mol/charset/decode/from":-4,"/mol/vary/type":-1,"/mol/dom":-2,"/mol/dom/document/create/element":-3,"/mol/dom/document/create/text/node":-4},"mol":{"..":-999},"":{},"mol/bigint/encode":{"..":-999,"/mol/bigint/encode":-1},"mol/bigint":{"..":-999},"mol/fail":{"..":-999,"/mol/fail":-1},"mol/charset/encode":{"..":-999,"/mol/charset/encode":-1,"/mol/charset/encode/to":-1,"/mol/charset/encode/size":-1},"mol/charset":{"..":-999},"mol/bigint/decode":{"..":-999,"/mol/bigint/decode":-1},"mol/charset/decode/from":{"..":-999,"/mol/charset/decode/from":-1},"mol/charset/decode":{"..":-999,"/mol/charset/encoding":-1,"/mol/charset/decode":-1},"mol/charset/encoding":{"..":-999,"/mol/charset/encoding":-1},"mol/dom":{"..":-999,"/mol/dom":-1,"/mol/dom/context":-1},"mol/dom/context":{"..":-999,"/mol/dom/context":-1,"./context.ts":0},"mol/dom/context/context.ts":{"/mol/dom/context":-1}}}
package/web.js CHANGED
@@ -271,7 +271,7 @@ var $;
271
271
  class $mol_vary extends Object {
272
272
  static pack(data) {
273
273
  let pos = 0;
274
- let capacity = 0;
274
+ let capacity = 9;
275
275
  const offsets = new Map();
276
276
  const acquire = (size) => {
277
277
  if (size < 0)
@@ -398,6 +398,7 @@ var $;
398
398
  if (offset !== undefined)
399
399
  return dump_unum($mol_vary_tip.link, offset);
400
400
  dump_unum($mol_vary_tip.blob, val.byteLength);
401
+ acquire(1 + val.byteLength);
401
402
  if (val instanceof Uint8Array)
402
403
  buffer[pos++] = $mol_vary_tip.uint | $mol_vary_len.L1;
403
404
  else if (val instanceof Uint16Array)
@@ -423,7 +424,6 @@ var $;
423
424
  else
424
425
  $mol_fail(new Error(`Unsupported type`));
425
426
  const src = (val instanceof Uint8Array) ? val : new Uint8Array(val.buffer, val.byteOffset, val.byteLength);
426
- acquire(val.byteLength);
427
427
  buffer.set(src, pos);
428
428
  pos += val.byteLength;
429
429
  offsets.set(val, offsets.size);
@@ -438,16 +438,24 @@ var $;
438
438
  dump(item);
439
439
  offsets.set(val, offsets.size);
440
440
  };
441
+ const shapes = new Map();
442
+ const shape = (val) => {
443
+ const keys1 = Object.keys(val);
444
+ const key = keys1.join('\0');
445
+ const keys2 = shapes.get(key);
446
+ if (keys2)
447
+ return keys2;
448
+ shapes.set(key, keys1);
449
+ return keys1;
450
+ };
441
451
  const dump_object = (val) => {
442
452
  const offset = offsets.get(val);
443
453
  if (offset !== undefined)
444
454
  return dump_unum($mol_vary_tip.link, offset);
445
- const keys = val[$.$mol_vary_keys] ?? Object.keys(val);
446
- const vals = val[$.$mol_vary_lean]?.(val) ?? Object.values(val);
455
+ const [keys, vals] = val[$.$mol_vary_lean]?.(val) ?? [shape(val), Object.values(val)];
447
456
  dump_unum($mol_vary_tip.tupl, vals.length);
448
- acquire(vals.length * 2 * 9);
449
- for (const item of keys)
450
- dump(item);
457
+ acquire((vals.length + 1) * 9);
458
+ dump_list(keys);
451
459
  for (const item of vals)
452
460
  dump(item);
453
461
  offsets.set(val, offsets.size);
@@ -493,6 +501,8 @@ var $;
493
501
  $mol_fail(new Error(`Unsupported type`));
494
502
  };
495
503
  dump(data);
504
+ if (pos !== capacity)
505
+ $mol_fail(new Error('Wrong reserved capacity', { cause: { capacity, size: pos, data } }));
496
506
  return buffer.slice(0, pos);
497
507
  }
498
508
  static take(buffer) {
@@ -610,10 +620,8 @@ var $;
610
620
  };
611
621
  const read_tupl = (kind) => {
612
622
  const len = read_unum(kind);
613
- const keys = new Array(len);
623
+ const keys = read_vary();
614
624
  const vals = new Array(len);
615
- for (let i = 0; i < len; ++i)
616
- keys[i] = read_vary();
617
625
  for (let i = 0; i < len; ++i)
618
626
  vals[i] = read_vary();
619
627
  const shape = JSON.stringify(keys);
@@ -689,13 +697,11 @@ var $;
689
697
  static riches = new Map();
690
698
  static type(Class, keys, lean, rich) {
691
699
  this.riches.set(JSON.stringify(keys), rich);
692
- Class.prototype[$.$mol_vary_lean] = lean;
693
- Class.prototype[$.$mol_vary_keys] = keys;
700
+ Class.prototype[$.$mol_vary_lean] = (val) => [keys, lean(val)];
694
701
  }
695
702
  }
696
703
  $.$mol_vary = $mol_vary;
697
704
  $.$mol_vary_lean = Symbol.for('$mol_vary_lean');
698
- $.$mol_vary_keys = Symbol.for('$mol_vary_keys');
699
705
  $mol_vary.type(Map, ['keys', 'vals'], obj => [[...obj.keys()], [...obj.values()]], (keys, vals) => new Map(keys.map((k, i) => [k, vals[i]])));
700
706
  $mol_vary.type(Set, ['set'], obj => [[...obj.values()]], vals => new Set(vals));
701
707
  $mol_vary.type(Date, ['unix_time'], obj => [obj.valueOf() / 1000], ts => new Date(ts * 1000));
package/web.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["-","../../../mam.ts","../../../mol/bigint/encode/encode.ts","../../../mol/fail/fail.ts","../../../mol/charset/encode/encode.ts","../../../mol/bigint/decode/decode.ts","../../../mol/charset/decode/decode.ts","../../../mol/charset/decode/from/from.ts","../../../mol/dom/context/context.ts","../../../mol/dom/context/context.web.ts","../../../mol/dom/dom.ts","../../../mol/vary/vary.ts"],"names":[],"mappings":"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","sourcesContent":[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\t\tstatic $: $\n\t}\n\tnamespace $$ {\n\t\texport type $$ = $\n\t}\n}\n\nmodule.exports = $\n","namespace $ {\n\t\n\texport function $mol_bigint_encode( num: bigint ) {\n\n\t\tconst minus = num < 0n ? 255 : 0;\n\t\tnum = minus ? -num - 1n : num\n\t\t\n\t\tconst bytes = [] as number[]\n\t\tdo {\n\t\t\t\n\t\t\tlet byte = minus ^ Number( num % 256n )\n\t\t\tbytes.push( byte )\n\t\t\t\n\t\t\tif( num >>= 8n ) continue\n\t\t\t\n\t\t\tif(( minus & 128 )!==( byte & 128 ))\n\t\t\t\tbytes.push( minus )\n\t\t\t\n\t\t\tbreak\n\t\t\t\n\t\t} while( num )\n\t\n\t\treturn new Uint8Array(bytes);\n\t}\n\t\n}\n","namespace $ {\n\n\texport function $mol_fail( error : any ) : never {\n\t\tthrow error\n\t}\n\n}\n","namespace $ {\n\n\tlet buf = new Uint8Array( 2**12 ) // 4KB Mem Page\n\t\n\texport function $mol_charset_encode( str: string ) {\n\t\tconst capacity = str.length * 3\n\t\tif( buf.byteLength < capacity ) buf = new Uint8Array( capacity )\n\t\treturn buf.slice( 0, $mol_charset_encode_to( str, buf ) )\n\t}\n\n\texport function $mol_charset_encode_to( str: string, buf: Uint8Array< ArrayBuffer >, from = 0 ) {\n\n\t\tlet pos = from\n\n\t\tfor( let i = 0; i < str.length; i++ ) {\n\t\t\t\n\t\t\tlet code = str.charCodeAt( i )\n\t\t\t\n\t\t\tif( code < 0x80 ) { // ASCII - 1 octet\n\t\t\t\t\n\t\t\t\tbuf[ pos ++ ] = code\n\t\t\t\t\n\t\t\t} else if( code < 0x800 ) { // 2 octet\n\t\t\t\t\n\t\t\t\tbuf[ pos ++ ] = 0xc0 | ( code >> 6 )\n\t\t\t\tbuf[ pos ++ ] = 0x80 | ( code & 0x3f )\n\t\t\t\t\n\t\t\t} else if( code < 0xd800 || code >= 0xe000 ) { // 3 octet\n\t\t\t\t\n\t\t\t\tbuf[ pos ++ ] = 0xe0 | ( code >> 12 )\n\t\t\t\tbuf[ pos ++ ] = 0x80 | ( ( code >> 6 ) & 0x3f )\n\t\t\t\tbuf[ pos ++ ] = 0x80 | ( code & 0x3f )\n\t\t\t\t\n\t\t\t} else { // surrogate pair\n\t\t\t\t\n\t\t\t\tconst point = ( ( code - 0xd800 ) << 10 ) + str.charCodeAt( ++ i ) + 0x2400\n\t\t\t\t\n\t\t\t\tbuf[ pos ++ ] = 0xf0 | ( point >> 18 )\n\t\t\t\tbuf[ pos ++ ] = 0x80 | ( ( point >> 12 ) & 0x3f )\n\t\t\t\tbuf[ pos ++ ] = 0x80 | ( ( point >> 6 ) & 0x3f )\n\t\t\t\tbuf[ pos ++ ] = 0x80 | ( point & 0x3f )\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\treturn pos - from\n\t}\n\n\texport function $mol_charset_encode_size( str: string ) {\n\n\t\tlet size = 0\n\n\t\tfor( let i = 0; i < str.length; i++ ) {\n\t\t\t\n\t\t\tlet code = str.charCodeAt( i )\n\t\t\t\n\t\t\tif( code < 0x80 ) size += 1\n\t\t\telse if( code < 0x800 ) size += 2\n\t\t\telse if( code < 0xd800 || code >= 0xe000 ) size += 3\n\t\t\telse size += 4\n\t\t\t\n\t\t}\n\n\t\treturn size\n\t}\n\n}\n","namespace $ {\n\t\n\texport function $mol_bigint_decode( buf: Uint8Array< ArrayBuffer > ) {\n\t\t\n\t\tif( buf.length === 8 ) return new BigInt64Array( buf.buffer, buf.byteOffset, 1 )[0]\n\t\tif( buf.length === 4 ) return BigInt( new Int32Array( buf.buffer, buf.byteOffset, 1 )[0] )\n\t\tif( buf.length === 2 ) return BigInt( new Int16Array( buf.buffer, buf.byteOffset, 1 )[0] )\n\t\tif( buf.length === 1 ) return BigInt( new Int8Array( buf.buffer, buf.byteOffset, 1 )[0] )\n\t\t\n\t\tconst minus = ( buf.at(-1)! & 128 ) ? 255 : 0\n\t\t\n\t\tlet result = 0n\n\t\tlet offset = 0n\n\t\t\n\t\tfor( let i = 0; i < buf.length; i++, offset += 8n ) {\n\t\t\tresult |= BigInt( buf[i] ^ minus ) << offset\n\t\t}\n\t\t\n\t\tif( minus ) result = ( result + 1n ) * -1n\n\t\n\t\treturn result\n\t}\n\t\n}\n","namespace $ {\n\n\tconst decoders = {} as { [ key in $mol_charset_encoding ]?: TextDecoder }\n\n\texport function $mol_charset_decode(\n\t\tbuffer: AllowSharedBufferSource,\n\t\tencoding: $mol_charset_encoding = 'utf8',\n\t) {\n\t\t\n\t\tlet decoder = decoders[ encoding ]\n\t\tif( !decoder ) decoder = decoders[ encoding ] = new TextDecoder( encoding )\n\t\t\n\t\treturn decoder.decode( buffer )\n\t}\n\n}\n","namespace $ {\n\n\t/** Reads `count` chars from UTF8 `buffer` starting `from` offset. */\n\texport function $mol_charset_decode_from( buffer: Uint8Array, from: number, count: number ) {\n\t\t\n\t\tconst codes: number[] = []\n\t\tlet pos = from\n\t\t\n\t\twhile( pos < buffer.length && codes.length < count ) {\n\t\t\t\n\t\t\tconst byte1 = buffer[ pos ++ ]\n\t\t\t\n\t\t\tif( byte1 <= 0x7F ) {\n\t\t\t\t\n\t\t\t\tcodes.push( byte1 )\n\t\t\t\t\n\t\t\t} else if( ( byte1 & 0xE0 ) === 0xC0 ) {\n\t\t\t\t\n\t\t\t\tif( pos >= buffer.length ) break\n\t\t\t\t\n\t\t\t\tconst byte2 = buffer[ pos ++ ]\n\t\t\t\tconst code = ( ( byte1 & 0x1F ) << 6 ) | ( byte2 & 0x3F )\n\t\t\t\t\n\t\t\t\tcodes.push( code )\n\t\t\t\t\n\t\t\t} else if( ( byte1 & 0xF0 ) === 0xE0 ) {\n\t\t\t\t\n\t\t\t\tif( pos + 1 >= buffer.length ) break\n\t\t\t\t\n\t\t\t\tconst byte2 = buffer[ pos ++ ]\n\t\t\t\tconst byte3 = buffer[ pos ++ ]\n\t\t\t\tconst code = ( ( byte1 & 0x0F ) << 12 ) | ( ( byte2 & 0x3F ) << 6 ) | ( byte3 & 0x3F )\n\t\t\t\t\n\t\t\t\tcodes.push( code )\n\t\t\t\t\n\t\t\t} else if( ( byte1 & 0xF8 ) === 0xF0 ) {\n\t\t\t\t\n\t\t\t\tif( pos + 2 >= buffer.length ) break\n\t\t\t\t\n\t\t\t\tconst byte2 = buffer[ pos ++ ]\n\t\t\t\tconst byte3 = buffer[ pos ++ ]\n\t\t\t\tconst byte4 = buffer[ pos ++ ]\n\t\t\t\tlet code = ( ( byte1 & 0x07 ) << 18 ) | ( ( byte2 & 0x3F ) << 12 ) | ( ( byte3 & 0x3F ) << 6 ) | ( byte4 & 0x3F )\n\t\t\t\t\n\t\t\t\tif( code > 0xFFFF ) { // Surrogate pair\n\t\t\t\t\t\n\t\t\t\t\tcode -= 0x10000\n\t\t\t\t\tconst hi = 0xD800 + ( code >> 10 )\n\t\t\t\t\tconst lo = 0xDC00 + ( code & 0x3FF )\n\t\t\t\t\t\n\t\t\t\t\tcodes.push( hi, lo )\n\t\t\t\t\t\n\t\t\t\t} else {\n\t\t\t\t\tcodes.push( code )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t} else {\n\t\t\t\tcodes.push( 0xFFFD ) // �\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\treturn [ String.fromCharCode( ... codes ), pos - from ] as const\n\t}\n\n}\n","namespace $ {\n\t\n\texport var $mol_dom_context : typeof globalThis\n\t\n}\n","namespace $ {\n\t\n\t$.$mol_dom_context = self as any\n\t\n}\n","namespace $ {\n\t\n\texport var $mol_dom = $mol_dom_context\n\t\n}\n","namespace $ {\n\t\n\texport enum $mol_vary_tip {\n\t\tuint = 0b000 << 5,\n\t\tlink = 0b001 << 5,\n\t\tspec = 0b010 << 5,\n\t\tlist = 0b011 << 5,\n\t\ttext = 0b100 << 5,\n\t\tblob = 0b101 << 5,\n\t\ttupl = 0b110 << 5,\n\t\tsint = 0b111 << 5,\n\t}\n\t\n\texport enum $mol_vary_len {\n\t\tL1 = 28,\n\t\tL2 = 29,\n\t\tL4 = 30,\n\t\tL8 = 31,\n\t\tLA = 32,\n\t}\n\t\n\texport enum $mol_vary_spec {\n\t\tnone = 'N'.charCodeAt(0),\n\t\ttrue = 'T'.charCodeAt(0),\n\t\tfake = 'F'.charCodeAt(0),\n\t\tboth = 'B'.charCodeAt(0),\n\t\tfp16 = $mol_vary_tip.spec | $mol_vary_len.L2,\n\t\tfp32 = $mol_vary_tip.spec | $mol_vary_len.L4,\n\t\tfp64 = $mol_vary_tip.spec | $mol_vary_len.L8,\n\t}\n\t\n\tlet buffer = new Uint8Array( 256 )\n\tlet pack = new DataView( buffer.buffer )\n\t\n\t/** VaryPack - simple fast compact data binarization format. */\n\texport class $mol_vary extends Object {\n\t\t\n\t\t/** Packs any data to Uint8Array with deduplication. */\n\t\tstatic pack( data: unknown ) {\n\t\t\t\n\t\t\tlet pos = 0\n\t\t\tlet capacity = 0\n\t\t\tconst offsets = new Map< unknown, number >()\n\t\t\t\n\t\t\tconst acquire = ( size: number )=> {\n\t\t\t\tif( size < 0 ) return\n\t\t\t\tcapacity += size\n\t\t\t\tif( buffer.byteLength >= capacity ) return\n\t\t\t\tconst buffer2 = new Uint8Array( Math.ceil( capacity / 4096 ) * 4096 )\n\t\t\t\tbuffer2.set( buffer )\n\t\t\t\tbuffer = buffer2\n\t\t\t\tpack = new DataView( buffer.buffer )\n\t\t\t}\n\t\t\t\n\t\t\tconst release = ( size: number )=> {\n\t\t\t\tcapacity -= size\n\t\t\t}\n\t\t\t\n\t\t\tconst dump_unum = ( tip: number, val: number | bigint )=> {\n\t\t\t\t\n\t\t\t\tif( val < $mol_vary_len.L1 ) {\n\t\t\t\t\tbuffer[ pos ++ ] = tip | Number( val )\n\t\t\t\t\trelease(8)\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( tip == $mol_vary_tip.uint ) {\n\t\t\t\t\tconst offset = offsets.get( val )\n\t\t\t\t\tif( offset !== undefined ) return dump_unum( $mol_vary_tip.link, offset )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( val < 2**8 ) {\n\t\t\t\t\tbuffer[ pos ++ ] = tip | $mol_vary_len.L1\n\t\t\t\t\tbuffer[ pos ++ ] = Number( val )\n\t\t\t\t\trelease(7)\n\t\t\t\t} else if( val < 2**16 ) {\n\t\t\t\t\tbuffer[ pos ++ ] = tip | $mol_vary_len.L2\n\t\t\t\t\tpack.setUint16( pos, Number( val ), true )\n\t\t\t\t\tpos += 2\n\t\t\t\t\trelease(6)\n\t\t\t\t} else if( val < 2**32 ) {\n\t\t\t\t\tbuffer[ pos ++ ] = tip | $mol_vary_len.L4\n\t\t\t\t\tpack.setUint32( pos, Number( val ), true )\n\t\t\t\t\tpos += 4\n\t\t\t\t\trelease(4)\n\t\t\t\t} else if( val < 2n**64n ) {\n\t\t\t\t\tbuffer[ pos ++ ] = tip | $mol_vary_len.L8\n\t\t\t\t\tpack.setBigUint64( pos, BigInt( val ), true )\n\t\t\t\t\tpos += 8\n\t\t\t\t} else {\n\t\t\t\t\tdump_bint( val as bigint )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( tip == $mol_vary_tip.uint ) offsets.set( val, offsets.size )\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tconst dump_snum = ( val: number | bigint )=> {\n\t\t\t\t\n\t\t\t\tif( val > - $mol_vary_len.L1 ) {\n\t\t\t\t\tbuffer[ pos ++ ] = Number( val )\n\t\t\t\t\trelease(8)\n\t\t\t\t\treturn \n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tconst offset = offsets.get( val )\n\t\t\t\tif( offset !== undefined ) return dump_unum( $mol_vary_tip.link, offset )\n\t\t\t\t\n\t\t\t\tif( val >= -(2**7) ) {\n\t\t\t\t\tbuffer[ pos ++ ] = - $mol_vary_len.L1\n\t\t\t\t\tbuffer[ pos ++ ] = Number( val )\n\t\t\t\t\trelease(7)\n\t\t\t\t} else if( val >= -(2**15) ) {\n\t\t\t\t\tbuffer[ pos ++ ] = -$mol_vary_len.L2\n\t\t\t\t\tpack.setInt16( pos, Number( val ), true )\n\t\t\t\t\tpos += 2\n\t\t\t\t\trelease(6)\n\t\t\t\t} else if( val >= -(2**31) ) {\n\t\t\t\t\tbuffer[ pos ++ ] = - $mol_vary_len.L4\n\t\t\t\t\tpack.setInt32( pos, Number( val ), true )\n\t\t\t\t\tpos += 4\n\t\t\t\t\trelease(4)\n\t\t\t\t} else if( val >= -(2n**63n) ) {\n\t\t\t\t\tbuffer[ pos ++ ] = - $mol_vary_len.L8\n\t\t\t\t\tpack.setBigInt64( pos, BigInt( val ), true )\n\t\t\t\t\tpos += 8\n\t\t\t\t} else {\n\t\t\t\t\tdump_bint( val as bigint )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toffsets.set( val, offsets.size )\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tconst dump_bint = ( val: bigint )=> {\n\t\t\t\t\n\t\t\t\tconst buf = $mol_bigint_encode( val as bigint )\n\t\t\t\t\n\t\t\t\tif( buf.byteLength > 264 ) $mol_fail( new Error( 'Number too high', { cause: { val } } ) )\n\t\t\t\tacquire( buf.byteLength - 7 )\n\t\t\t\t\n\t\t\t\tbuffer[ pos ++ ] = - $mol_vary_len.LA\n\t\t\t\tbuffer[ pos ++ ] = buf.byteLength - 9\n\t\t\t\t\n\t\t\t\tbuffer.set( buf, pos )\n\t\t\t\tpos += buf.byteLength\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tconst dump_float = ( val: number )=> {\n\t\t\t\t\n\t\t\t\tconst offset = offsets.get( val )\n\t\t\t\tif( offset !== undefined ) return dump_unum( $mol_vary_tip.link, offset )\n\t\t\t\t\t\n\t\t\t\tbuffer[ pos ++ ] = $mol_vary_spec.fp64\n\t\t\t\tpack.setFloat64( pos, val, true )\n\t\t\t\tpos += 8\n\t\t\t\t\n\t\t\t\toffsets.set( val, offsets.size )\n\t\t\t}\n\t\t\t\n\t\t\tconst dump_string = ( val: string )=> {\n\t\t\t\t\n\t\t\t\tconst offset = offsets.get( val )\n\t\t\t\tif( offset !== undefined ) return dump_unum( $mol_vary_tip.link, offset )\n\t\t\t\t\n\t\t\t\tdump_unum( $mol_vary_tip.text, val.length )\n\t\t\t\tacquire( val.length * 3 )\n\t\t\t\tconst len = $mol_charset_encode_to( val, buffer, pos )\n\t\t\t\tpos += len\n\t\t\t\trelease( val.length * 3 - len )\n\t\t\t\t\n\t\t\t\toffsets.set( val, offsets.size )\n\t\t\t\treturn\n\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tconst dump_buffer = ( val: ArrayBufferView< ArrayBuffer > )=> {\n\t\t\t\t\n\t\t\t\tconst offset = offsets.get( val )\n\t\t\t\tif( offset !== undefined ) return dump_unum( $mol_vary_tip.link, offset )\n\t\t\t\t\n\t\t\t\tdump_unum( $mol_vary_tip.blob, val.byteLength )\n\t\t\t\t\n\t\t\t\tif( val instanceof Uint8Array ) buffer[ pos ++ ] = $mol_vary_tip.uint | $mol_vary_len.L1\n\t\t\t\telse if( val instanceof Uint16Array ) buffer[ pos ++ ] = $mol_vary_tip.uint | $mol_vary_len.L2\n\t\t\t\telse if( val instanceof Uint32Array ) buffer[ pos ++ ] = $mol_vary_tip.uint | $mol_vary_len.L4\n\t\t\t\telse if( val instanceof BigUint64Array ) buffer[ pos ++ ] = $mol_vary_tip.uint | $mol_vary_len.L8\n\t\t\t\t\n\t\t\t\telse if( val instanceof Int8Array ) buffer[ pos ++ ] = $mol_vary_tip.sint | ~$mol_vary_len.L1\n\t\t\t\telse if( val instanceof Int16Array ) buffer[ pos ++ ] = $mol_vary_tip.sint | ~$mol_vary_len.L2\n\t\t\t\telse if( val instanceof Int32Array ) buffer[ pos ++ ] = $mol_vary_tip.sint | ~$mol_vary_len.L4\n\t\t\t\telse if( val instanceof BigInt64Array ) buffer[ pos ++ ] = $mol_vary_tip.sint | ~$mol_vary_len.L8\n\t\t\t\t\n\t\t\t\telse if( typeof Float16Array === 'function' && val instanceof Float16Array ) buffer[ pos ++ ] = $mol_vary_spec.fp16\n\t\t\t\telse if( val instanceof Float32Array ) buffer[ pos ++ ] = $mol_vary_spec.fp32\n\t\t\t\telse if( val instanceof Float64Array ) buffer[ pos ++ ] = $mol_vary_spec.fp64\n\t\t\t\n\t\t\t\telse $mol_fail( new Error( `Unsupported type` ) )\n\t\t\t\t\n\t\t\t\tconst src = ( val instanceof Uint8Array ) ? val : new Uint8Array( val.buffer, val.byteOffset, val.byteLength )\n\t\t\t\tacquire( val.byteLength )\n\t\t\t\tbuffer.set( src, pos )\n\t\t\t\tpos += val.byteLength\n\t\t\t\t\n\t\t\t\toffsets.set( val, offsets.size )\n\t\t\t}\n\t\t\t\n\t\t\tconst dump_list = ( val: any[] )=> {\n\t\t\t\t\n\t\t\t\tconst offset = offsets.get( val )\n\t\t\t\tif( offset !== undefined ) return dump_unum( $mol_vary_tip.link, offset )\n\t\t\t\n\t\t\t\tdump_unum( $mol_vary_tip.list, val.length )\n\t\t\t\tacquire( val.length * 9 )\n\t\t\t\tfor( const item of val ) dump( item )\n\t\t\t\n\t\t\t\toffsets.set( val, offsets.size )\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tconst dump_object = ( val: object )=> {\n\t\t\t\t\n\t\t\t\tconst offset = offsets.get( val )\n\t\t\t\tif( offset !== undefined ) return dump_unum( $mol_vary_tip.link, offset )\n\t\t\t\t\n\t\t\t\tconst keys = ( val as any )[ $mol_vary_keys ] ?? Object.keys( val )\n\t\t\t\tconst vals = ( val as any )[ $mol_vary_lean ]?.( val ) ?? Object.values( val )\n\t\t\t\n\t\t\t\tdump_unum( $mol_vary_tip.tupl, vals.length )\n\t\t\t\tacquire( vals.length * 2 * 9 )\n\t\t\t\tfor( const item of keys ) dump( item )\n\t\t\t\tfor( const item of vals ) dump( item )\n\t\t\t\t\n\t\t\t\toffsets.set( val, offsets.size )\n\t\t\t}\n\t\t\t\n\t\t\t/** Recursive fills buffer with data. */\n\t\t\tconst dump = ( val: unknown )=> {\n\t\t\t\t\n\t\t\t\tswitch( typeof val ) {\n\t\t\t\t\t\n\t\t\t\t\tcase 'undefined': {\n\t\t\t\t\t\tbuffer[ pos ++ ] = $mol_vary_spec.both\n\t\t\t\t\t\trelease( 8 )\n\t\t\t\t\t\treturn\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tcase 'boolean': {\n\t\t\t\t\t\tbuffer[ pos ++ ] = val ? $mol_vary_spec.true : $mol_vary_spec.fake\n\t\t\t\t\t\trelease( 8 )\n\t\t\t\t\t\treturn\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tcase 'number': {\n\t\t\t\t\t\tif( !Number.isInteger( val ) ) return dump_float( val )\n\t\t\t\t\t}\n\t\t\t\t\tcase 'bigint': {\n\t\t\t\t\t\t\n\t\t\t\t\t\tif( val < 0 ) {\n\t\t\t\t\t\t\tdump_snum( val )\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdump_unum( $mol_vary_tip.uint, val )\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\treturn\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tcase 'string': return dump_string( val )\n\t\t\t\t\t\n\t\t\t\t\tcase 'object': {\n\t\t\t\t\t\t\n\t\t\t\t\t\tif( !val ) {\n\t\t\t\t\t\t\trelease( 8 )\n\t\t\t\t\t\t\treturn buffer[ pos ++ ] = $mol_vary_spec.none\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif( ArrayBuffer.isView( val ) ) return dump_buffer( val as ArrayBufferView< ArrayBuffer > )\n\t\t\t\t\t\tif( Array.isArray( val ) ) return dump_list( val )\n\t\t\t\t\t\t\n\t\t\t\t\t\treturn dump_object( val )\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t$mol_fail( new Error( `Unsupported type` ) )\n\t\t\t}\n\t\t\t\n\t\t\tdump( data )\n\t\t\t\n\t\t\treturn buffer.slice( 0, pos )\n\t\t\t\n\t\t}\n\t\t\n\t\t/** Parses buffer to rich runtime structures. */\n\t\tstatic take( buffer: Uint8Array< ArrayBuffer > ): unknown {\n\t\t\t\n\t\t\tconst pack = new DataView( buffer.buffer, buffer.byteOffset, buffer.byteLength )\n\t\t\tconst stream = [] as unknown[]\n\t\t\tlet pos = 0;\n\t\t\t\n\t\t\tconst read_unum = ( kind: number )=> {\n\t\t\t\t\n\t\t\t\t++ pos\n\t\t\t\tconst num = kind & 0b11111\n\t\t\t\tif( num < $mol_vary_len.L1 ) return num\n\t\t\t\t\n\t\t\t\tlet res = 0 as number | bigint\n\t\t\t\t\n\t\t\t\tif( num === $mol_vary_len.L1 ) {\n\t\t\t\t\tres = pack.getUint8( pos ++ )\n\t\t\t\t} else if( num === $mol_vary_len.L2 ) {\n\t\t\t\t\tres = pack.getUint16( pos, true )\n\t\t\t\t\tpos += 2\n\t\t\t\t} else if( num === $mol_vary_len.L4 ) {\n\t\t\t\t\tres = pack.getUint32( pos, true )\n\t\t\t\t\tpos += 4\n\t\t\t\t} else if( num === $mol_vary_len.L8 ) {\n\t\t\t\t\tres = pack.getBigUint64( pos, true )\n\t\t\t\t\tif( res <= Number.MAX_SAFE_INTEGER ) res = Number( res )\n\t\t\t\t\tpos += 8\n\t\t\t\t} else {\n\t\t\t\t\t$mol_fail( new Error( 'Unsupported unum', { cause: { num } } ) )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( ( kind & 0b111_00000 ) === $mol_vary_tip.uint ) stream.push( res )\n\t\t\t\t\n\t\t\t\treturn res\n\t\t\t}\n\t\t\t\n\t\t\tconst read_snum = ( kind: number )=> {\n\t\t\t\t\n\t\t\t\tconst num = pack.getInt8( pos ++ )\n\t\t\t\tif( num > - $mol_vary_len.L1 ) return num\n\t\t\t\t\n\t\t\t\tlet res = 0 as number | bigint\n\t\t\t\t\n\t\t\t\tif( num === - $mol_vary_len.L1 ) {\n\t\t\t\t\tres = pack.getInt8( pos ++ )\n\t\t\t\t} else if( num === - $mol_vary_len.L2 ) {\n\t\t\t\t\tres= pack.getInt16( pos, true )\n\t\t\t\t\tpos += 2\n\t\t\t\t} else if( num === - $mol_vary_len.L4 ) {\n\t\t\t\t\tres = pack.getInt32( pos, true )\n\t\t\t\t\tpos += 4\n\t\t\t\t} else if( num === - $mol_vary_len.L8 ) {\n\t\t\t\t\tres = pack.getBigInt64( pos, true )\n\t\t\t\t\tif( res >= Number.MIN_SAFE_INTEGER && res <= Number.MAX_SAFE_INTEGER ) res = Number( res )\n\t\t\t\t\tpos += 8\n\t\t\t\t} else if( num === - $mol_vary_len.LA ) {\n\t\t\t\t\tconst len = pack.getUint8( pos ++ ) + 9\n\t\t\t\t\tres = $mol_bigint_decode( new Uint8Array( pack.buffer, pack.byteOffset + pos, len ) )\n\t\t\t\t\tpos += len\n\t\t\t\t} else {\n\t\t\t\t\t$mol_fail( new Error( 'Unsupported snum', { cause: { num } } ) )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tstream.push( res )\n\t\t\t\t\n\t\t\t\treturn res\n\t\t\t}\n\t\t\t\n\t\t\tconst read_text = ( kind: number )=> {\n\t\t\t\tconst len = read_unum( kind ) as number\n\t\t\t\tconst [ text, bytes ] = $mol_charset_decode_from( buffer, pack.byteOffset + pos, len )\n\t\t\t\tpos += bytes\n\t\t\t\tstream.push( text )\n\t\t\t\treturn text\n\t\t\t}\n\t\t\t\n\t\t\tconst read_buffer = ( len: number, TypedArray: new( buf: ArrayBuffer )=> ArrayBufferView< ArrayBuffer > )=> {\n\t\t\t\tconst bin = new TypedArray( buffer.slice( pos, pos + len ).buffer )\n\t\t\t\tpos += len\n\t\t\t\tstream.push( bin )\n\t\t\t\treturn bin\n\t\t\t}\n\t\t\t\n\t\t\tconst read_blob = ( kind: number )=> {\n\t\t\t\t\n\t\t\t\tconst len = read_unum( kind ) as number\n\t\t\t\tconst kind_item = pack.getUint8( pos ++ )\n\t\t\t\t\n\t\t\t\tswitch( kind_item ) {\n\t\t\t\t\t\n\t\t\t\t\tcase $mol_vary_len.L1: return read_buffer( len, Uint8Array )\n\t\t\t\t\tcase $mol_vary_len.L2: return read_buffer( len, Uint16Array )\n\t\t\t\t\tcase $mol_vary_len.L4: return read_buffer( len, Uint32Array )\n\t\t\t\t\tcase $mol_vary_len.L8: return read_buffer( len, BigUint64Array )\n\t\t\t\t\t\n\t\t\t\t\tcase ~$mol_vary_len.L1 + 256: return read_buffer( len, Int8Array )\n\t\t\t\t\tcase ~$mol_vary_len.L2 + 256: return read_buffer( len, Int16Array )\n\t\t\t\t\tcase ~$mol_vary_len.L4 + 256: return read_buffer( len, Int32Array )\n\t\t\t\t\tcase ~$mol_vary_len.L8 + 256: return read_buffer( len, BigInt64Array )\n\t\t\t\t\t\n\t\t\t\t\tcase $mol_vary_tip.spec | $mol_vary_spec.fp16: return read_buffer( len, Float16Array )\n\t\t\t\t\tcase $mol_vary_tip.spec | $mol_vary_spec.fp32: return read_buffer( len, Float32Array )\n\t\t\t\t\tcase $mol_vary_tip.spec | $mol_vary_spec.fp64: return read_buffer( len, Float64Array )\n\t\t\t\t\t\n\t\t\t\t\tdefault:\n\t\t\t\t\t\t$mol_fail( new Error( 'Unsupported blob item kind', { cause: { kind_item } } ) )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tconst read_list = ( kind: number )=> {\n\t\t\t\tconst len = read_unum( kind ) as number\n\t\t\t\tconst list = new Array( len ) as any[]\n\t\t\t\tfor( let i = 0; i < len; ++i ) list[i] = read_vary()\n\t\t\t\tstream.push( list )\n\t\t\t\treturn list\n\t\t\t}\n\t\t\t\n\t\t\tconst read_link = ( kind: number )=> {\n\t\t\t\tconst index = read_unum( kind ) as number\n\t\t\t\tif( index >= stream.length ) $mol_fail( new Error( 'Too large index', { cause: { index, exists: stream.length } } ) )\n\t\t\t\treturn stream[ index ]\n\t\t\t}\n\t\t\t\n\t\t\tconst read_tupl = ( kind: number )=> {\n\t\t\t\t\n\t\t\t\tconst len = read_unum( kind ) as number\n\t\t\t\t\n\t\t\t\tconst keys = new Array( len ) as any[]\n\t\t\t\tconst vals = new Array( len ) as any[]\n\t\t\t\t\n\t\t\t\tfor( let i = 0; i < len; ++i ) keys[i] = read_vary()\n\t\t\t\tfor( let i = 0; i < len; ++i ) vals[i] = read_vary()\n\t\t\t\t\n\t\t\t\tconst shape = JSON.stringify( keys )\n\t\t\t\t\n\t\t\t\tlet obj\n\t\t\t\tconst rich = this.riches.get( shape )\n\t\t\t\tif( rich ) {\n\t\t\t\t\tobj = rich( ... vals )\n\t\t\t\t} else {\n\t\t\t\t\tobj = {} as any\n\t\t\t\t\tfor( let i = 0; i < len; ++i ) obj[ keys[i] ] = vals[i]\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tstream.push( obj )\n\t\t\t\t\n\t\t\t\treturn obj\n\t\t\t}\n\t\t\t\n\t\t\tconst read_spec = ( kind: number )=> {\n\t\t\t\t\n\t\t\t\tswitch( kind ) {\n\t\t\t\t\t\n\t\t\t\t\tcase $mol_vary_spec.none:\n\t\t\t\t\t\t++ pos\n\t\t\t\t\t\treturn null\n\t\t\t\t\t\n\t\t\t\t\tcase $mol_vary_spec.fake:\n\t\t\t\t\t\t++ pos\n\t\t\t\t\t\treturn false\n\t\t\t\t\t\n\t\t\t\t\tcase $mol_vary_spec.true:\n\t\t\t\t\t\t++ pos\n\t\t\t\t\t\treturn true\n\t\t\t\t\t\n\t\t\t\t\tcase $mol_vary_spec.both:\n\t\t\t\t\t\t++ pos\n\t\t\t\t\t\treturn undefined\n\t\t\t\t\t\n\t\t\t\t\tcase $mol_vary_spec.fp64: {\n\t\t\t\t\t\tconst val = pack.getFloat64( ++ pos, true )\n\t\t\t\t\t\tstream.push( val )\n\t\t\t\t\t\tpos += 8\n\t\t\t\t\t\treturn val\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tcase $mol_vary_spec.fp32: {\n\t\t\t\t\t\tconst val = pack.getFloat32( ++ pos, true )\n\t\t\t\t\t\tstream.push( val )\n\t\t\t\t\t\tpos += 4\n\t\t\t\t\t\treturn val\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tcase $mol_vary_spec.fp16: {\n\t\t\t\t\t\tconst val = pack.getFloat16( ++ pos, true )\n\t\t\t\t\t\tstream.push( val )\n\t\t\t\t\t\tpos += 2\n\t\t\t\t\t\treturn val\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tdefault:\n\t\t\t\t\t\t$mol_fail( new Error( 'Unsupported spec', { cause: { kind } } ) )\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\tconst read_vary = ()=> {\n\t\t\t\t\n\t\t\t\tconst kind = pack.getUint8( pos )\n\t\t\t\tconst tip = kind & 0b111_00000\n\t\t\t\t\n\t\t\t\tswitch( tip ) {\n\t\t\t\t\t\n\t\t\t\t\tcase $mol_vary_tip.uint: return read_unum( kind )\n\t\t\t\t\tcase $mol_vary_tip.sint: return read_snum( kind )\n\t\t\t\t\tcase $mol_vary_tip.link: return read_link( kind )\n\t\t\t\t\tcase $mol_vary_tip.text: return read_text( kind )\n\t\t\t\t\tcase $mol_vary_tip.list: return read_list( kind )\n\t\t\t\t\tcase $mol_vary_tip.blob: return read_blob( kind )\n\t\t\t\t\tcase $mol_vary_tip.tupl: return read_tupl( kind )\n\t\t\t\t\tcase $mol_vary_tip.spec: return read_spec( kind )\n\t\t\t\t\t\n\t\t\t\t\tdefault: $mol_fail( new Error( 'Unsupported tip', { cause: { tip } } ) )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tconst result = read_vary()\n\t\t\tif( pos !== buffer.byteLength ) $mol_fail( new Error( 'Buffer too large', { cause: { size: buffer.byteLength, taken: pos, result } } ) )\n\t\t\t\n\t\t\treturn result\n\t\t}\n\t\t\n\t\tstatic riches = new Map< string/*shape*/, ( ... vals: readonly any[] )=> object >()\n\t\t\n\t\t/** Adds custom types support. */\n\t\tstatic type<\n\t\t\tconst Instance extends object,\n\t\t\tconst Keys extends readonly any[],\n\t\t\tconst Vals extends readonly any[],\n\t\t>(\n\t\t\tClass: new( ... vals: any[] )=> Instance,\n\t\t\tkeys: Keys,\n\t\t\tlean: ( obj: Instance )=> Vals,\n\t\t\trich: ( ... vals: Vals )=> Instance,\n\t\t) {\n\t\t\tthis.riches.set( JSON.stringify( keys ), rich )\n\t\t\t;( Class.prototype as any )[ $mol_vary_lean ] = lean\n\t\t\t;( Class.prototype as any )[ $mol_vary_keys ] = keys\n\t\t}\n\t\t\n\t}\n\t\n\texport const $mol_vary_lean = Symbol.for( '$mol_vary_lean' )\n\texport const $mol_vary_keys = Symbol.for( '$mol_vary_keys' )\n\t\n\t/** Native Map support */\n\t$mol_vary.type(\n\t\tMap,\n\t\t[ 'keys', 'vals' ],\n\t\tobj => [ [ ... obj.keys() ], [ ... obj.values() ] ],\n\t\t( keys, vals )=> new Map( keys.map( ( k, i )=> [ k, vals[i] ] ) ),\n\t)\n\t\n\t/** Native Set support */\n\t$mol_vary.type(\n\t\tSet,\n\t\t[ 'set' ],\n\t\tobj => [ [ ... obj.values() ] ],\n\t\tvals => new Set( vals ),\n\t)\n\t\n\t/** Native Date support */\n\t$mol_vary.type(\n\t\tDate,\n\t\t[ 'unix_time' ],\n\t\tobj => [ obj.valueOf() / 1000 ],\n\t\tts => new Date( ts * 1000 ),\n\t)\n\t\n\t/** Native Element support */\n\t$mol_vary.type(\n\t\t$mol_dom.Element,\n\t\t[ 'elem', 'keys', 'vals', 'kids' ],\n\t\tnode => {\n\t\t\tconst attrs = [ ... node.attributes ]\n\t\t\tconst kids = [ ... node.childNodes ].map( kid => kid instanceof $mol_dom.Text ? kid.nodeValue! : kid )\n\t\t\treturn [ node.nodeName, attrs.map( attr => attr.nodeName ), attrs.map( attr => attr.nodeValue! ), kids ]\n\t\t},\n\t\t( name, keys, vals, kids )=> {\n\t\t\tconst el = $mol_dom.document.createElement( name )\n\t\t\tfor( let i = 0; i < keys.length; ++i ) el.setAttribute( keys[i], vals[i] )\n\t\t\tfor( let kid of kids ) {\n\t\t\t\tif( typeof kid === 'string' ) kid = $mol_dom.document.createTextNode( kid )\n\t\t\t\tel.appendChild( kid )\n\t\t\t}\n\t\t\treturn el\n\t\t},\n\t)\n\t\n}\n"]}
1
+ {"version":3,"sources":["-","../../../mam.ts","../../../mol/bigint/encode/encode.ts","../../../mol/fail/fail.ts","../../../mol/charset/encode/encode.ts","../../../mol/bigint/decode/decode.ts","../../../mol/charset/decode/decode.ts","../../../mol/charset/decode/from/from.ts","../../../mol/dom/context/context.ts","../../../mol/dom/context/context.web.ts","../../../mol/dom/dom.ts","../../../mol/vary/vary.ts"],"names":[],"mappings":"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","sourcesContent":[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\t\tstatic $: $\n\t}\n\tnamespace $$ {\n\t\texport type $$ = $\n\t}\n}\n\nmodule.exports = $\n","namespace $ {\n\t\n\texport function $mol_bigint_encode( num: bigint ) {\n\n\t\tconst minus = num < 0n ? 255 : 0;\n\t\tnum = minus ? -num - 1n : num\n\t\t\n\t\tconst bytes = [] as number[]\n\t\tdo {\n\t\t\t\n\t\t\tlet byte = minus ^ Number( num % 256n )\n\t\t\tbytes.push( byte )\n\t\t\t\n\t\t\tif( num >>= 8n ) continue\n\t\t\t\n\t\t\tif(( minus & 128 )!==( byte & 128 ))\n\t\t\t\tbytes.push( minus )\n\t\t\t\n\t\t\tbreak\n\t\t\t\n\t\t} while( num )\n\t\n\t\treturn new Uint8Array(bytes);\n\t}\n\t\n}\n","namespace $ {\n\n\texport function $mol_fail( error : any ) : never {\n\t\tthrow error\n\t}\n\n}\n","namespace $ {\n\n\tlet buf = new Uint8Array( 2**12 ) // 4KB Mem Page\n\t\n\texport function $mol_charset_encode( str: string ) {\n\t\tconst capacity = str.length * 3\n\t\tif( buf.byteLength < capacity ) buf = new Uint8Array( capacity )\n\t\treturn buf.slice( 0, $mol_charset_encode_to( str, buf ) )\n\t}\n\n\texport function $mol_charset_encode_to( str: string, buf: Uint8Array< ArrayBuffer >, from = 0 ) {\n\n\t\tlet pos = from\n\n\t\tfor( let i = 0; i < str.length; i++ ) {\n\t\t\t\n\t\t\tlet code = str.charCodeAt( i )\n\t\t\t\n\t\t\tif( code < 0x80 ) { // ASCII - 1 octet\n\t\t\t\t\n\t\t\t\tbuf[ pos ++ ] = code\n\t\t\t\t\n\t\t\t} else if( code < 0x800 ) { // 2 octet\n\t\t\t\t\n\t\t\t\tbuf[ pos ++ ] = 0xc0 | ( code >> 6 )\n\t\t\t\tbuf[ pos ++ ] = 0x80 | ( code & 0x3f )\n\t\t\t\t\n\t\t\t} else if( code < 0xd800 || code >= 0xe000 ) { // 3 octet\n\t\t\t\t\n\t\t\t\tbuf[ pos ++ ] = 0xe0 | ( code >> 12 )\n\t\t\t\tbuf[ pos ++ ] = 0x80 | ( ( code >> 6 ) & 0x3f )\n\t\t\t\tbuf[ pos ++ ] = 0x80 | ( code & 0x3f )\n\t\t\t\t\n\t\t\t} else { // surrogate pair\n\t\t\t\t\n\t\t\t\tconst point = ( ( code - 0xd800 ) << 10 ) + str.charCodeAt( ++ i ) + 0x2400\n\t\t\t\t\n\t\t\t\tbuf[ pos ++ ] = 0xf0 | ( point >> 18 )\n\t\t\t\tbuf[ pos ++ ] = 0x80 | ( ( point >> 12 ) & 0x3f )\n\t\t\t\tbuf[ pos ++ ] = 0x80 | ( ( point >> 6 ) & 0x3f )\n\t\t\t\tbuf[ pos ++ ] = 0x80 | ( point & 0x3f )\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\treturn pos - from\n\t}\n\n\texport function $mol_charset_encode_size( str: string ) {\n\n\t\tlet size = 0\n\n\t\tfor( let i = 0; i < str.length; i++ ) {\n\t\t\t\n\t\t\tlet code = str.charCodeAt( i )\n\t\t\t\n\t\t\tif( code < 0x80 ) size += 1\n\t\t\telse if( code < 0x800 ) size += 2\n\t\t\telse if( code < 0xd800 || code >= 0xe000 ) size += 3\n\t\t\telse size += 4\n\t\t\t\n\t\t}\n\n\t\treturn size\n\t}\n\n}\n","namespace $ {\n\t\n\texport function $mol_bigint_decode( buf: Uint8Array< ArrayBuffer > ) {\n\t\t\n\t\tif( buf.length === 8 ) return new BigInt64Array( buf.buffer, buf.byteOffset, 1 )[0]\n\t\tif( buf.length === 4 ) return BigInt( new Int32Array( buf.buffer, buf.byteOffset, 1 )[0] )\n\t\tif( buf.length === 2 ) return BigInt( new Int16Array( buf.buffer, buf.byteOffset, 1 )[0] )\n\t\tif( buf.length === 1 ) return BigInt( new Int8Array( buf.buffer, buf.byteOffset, 1 )[0] )\n\t\t\n\t\tconst minus = ( buf.at(-1)! & 128 ) ? 255 : 0\n\t\t\n\t\tlet result = 0n\n\t\tlet offset = 0n\n\t\t\n\t\tfor( let i = 0; i < buf.length; i++, offset += 8n ) {\n\t\t\tresult |= BigInt( buf[i] ^ minus ) << offset\n\t\t}\n\t\t\n\t\tif( minus ) result = ( result + 1n ) * -1n\n\t\n\t\treturn result\n\t}\n\t\n}\n","namespace $ {\n\n\tconst decoders = {} as { [ key in $mol_charset_encoding ]?: TextDecoder }\n\n\texport function $mol_charset_decode(\n\t\tbuffer: AllowSharedBufferSource,\n\t\tencoding: $mol_charset_encoding = 'utf8',\n\t) {\n\t\t\n\t\tlet decoder = decoders[ encoding ]\n\t\tif( !decoder ) decoder = decoders[ encoding ] = new TextDecoder( encoding )\n\t\t\n\t\treturn decoder.decode( buffer )\n\t}\n\n}\n","namespace $ {\n\n\t/** Reads `count` chars from UTF8 `buffer` starting `from` offset. */\n\texport function $mol_charset_decode_from( buffer: Uint8Array, from: number, count: number ) {\n\t\t\n\t\tconst codes: number[] = []\n\t\tlet pos = from\n\t\t\n\t\twhile( pos < buffer.length && codes.length < count ) {\n\t\t\t\n\t\t\tconst byte1 = buffer[ pos ++ ]\n\t\t\t\n\t\t\tif( byte1 <= 0x7F ) {\n\t\t\t\t\n\t\t\t\tcodes.push( byte1 )\n\t\t\t\t\n\t\t\t} else if( ( byte1 & 0xE0 ) === 0xC0 ) {\n\t\t\t\t\n\t\t\t\tif( pos >= buffer.length ) break\n\t\t\t\t\n\t\t\t\tconst byte2 = buffer[ pos ++ ]\n\t\t\t\tconst code = ( ( byte1 & 0x1F ) << 6 ) | ( byte2 & 0x3F )\n\t\t\t\t\n\t\t\t\tcodes.push( code )\n\t\t\t\t\n\t\t\t} else if( ( byte1 & 0xF0 ) === 0xE0 ) {\n\t\t\t\t\n\t\t\t\tif( pos + 1 >= buffer.length ) break\n\t\t\t\t\n\t\t\t\tconst byte2 = buffer[ pos ++ ]\n\t\t\t\tconst byte3 = buffer[ pos ++ ]\n\t\t\t\tconst code = ( ( byte1 & 0x0F ) << 12 ) | ( ( byte2 & 0x3F ) << 6 ) | ( byte3 & 0x3F )\n\t\t\t\t\n\t\t\t\tcodes.push( code )\n\t\t\t\t\n\t\t\t} else if( ( byte1 & 0xF8 ) === 0xF0 ) {\n\t\t\t\t\n\t\t\t\tif( pos + 2 >= buffer.length ) break\n\t\t\t\t\n\t\t\t\tconst byte2 = buffer[ pos ++ ]\n\t\t\t\tconst byte3 = buffer[ pos ++ ]\n\t\t\t\tconst byte4 = buffer[ pos ++ ]\n\t\t\t\tlet code = ( ( byte1 & 0x07 ) << 18 ) | ( ( byte2 & 0x3F ) << 12 ) | ( ( byte3 & 0x3F ) << 6 ) | ( byte4 & 0x3F )\n\t\t\t\t\n\t\t\t\tif( code > 0xFFFF ) { // Surrogate pair\n\t\t\t\t\t\n\t\t\t\t\tcode -= 0x10000\n\t\t\t\t\tconst hi = 0xD800 + ( code >> 10 )\n\t\t\t\t\tconst lo = 0xDC00 + ( code & 0x3FF )\n\t\t\t\t\t\n\t\t\t\t\tcodes.push( hi, lo )\n\t\t\t\t\t\n\t\t\t\t} else {\n\t\t\t\t\tcodes.push( code )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t} else {\n\t\t\t\tcodes.push( 0xFFFD ) // �\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\treturn [ String.fromCharCode( ... codes ), pos - from ] as const\n\t}\n\n}\n","namespace $ {\n\t\n\texport var $mol_dom_context : typeof globalThis\n\t\n}\n","namespace $ {\n\t\n\t$.$mol_dom_context = self as any\n\t\n}\n","namespace $ {\n\t\n\texport var $mol_dom = $mol_dom_context\n\t\n}\n","namespace $ {\n\t\n\texport enum $mol_vary_tip {\n\t\tuint = 0b000 << 5,\n\t\tlink = 0b001 << 5,\n\t\tspec = 0b010 << 5,\n\t\tlist = 0b011 << 5,\n\t\ttext = 0b100 << 5,\n\t\tblob = 0b101 << 5,\n\t\ttupl = 0b110 << 5,\n\t\tsint = 0b111 << 5,\n\t}\n\t\n\texport enum $mol_vary_len {\n\t\tL1 = 28,\n\t\tL2 = 29,\n\t\tL4 = 30,\n\t\tL8 = 31,\n\t\tLA = 32,\n\t}\n\t\n\texport enum $mol_vary_spec {\n\t\tnone = 'N'.charCodeAt(0),\n\t\ttrue = 'T'.charCodeAt(0),\n\t\tfake = 'F'.charCodeAt(0),\n\t\tboth = 'B'.charCodeAt(0),\n\t\tfp16 = $mol_vary_tip.spec | $mol_vary_len.L2,\n\t\tfp32 = $mol_vary_tip.spec | $mol_vary_len.L4,\n\t\tfp64 = $mol_vary_tip.spec | $mol_vary_len.L8,\n\t}\n\t\n\tlet buffer = new Uint8Array( 256 )\n\tlet pack = new DataView( buffer.buffer )\n\t\n\t/** VaryPack - simple fast compact data binarization format. */\n\texport class $mol_vary extends Object {\n\t\t\n\t\t/** Packs any data to Uint8Array with deduplication. */\n\t\tstatic pack( data: unknown ) {\n\t\t\t\n\t\t\tlet pos = 0\n\t\t\tlet capacity = 9\n\t\t\tconst offsets = new Map< unknown, number >()\n\t\t\t\n\t\t\tconst acquire = ( size: number )=> {\n\t\t\t\tif( size < 0 ) return\n\t\t\t\tcapacity += size\n\t\t\t\tif( buffer.byteLength >= capacity ) return\n\t\t\t\tconst buffer2 = new Uint8Array( Math.ceil( capacity / 4096 ) * 4096 )\n\t\t\t\tbuffer2.set( buffer )\n\t\t\t\tbuffer = buffer2\n\t\t\t\tpack = new DataView( buffer.buffer )\n\t\t\t}\n\t\t\t\n\t\t\tconst release = ( size: number )=> {\n\t\t\t\tcapacity -= size\n\t\t\t}\n\t\t\t\n\t\t\tconst dump_unum = ( tip: number, val: number | bigint )=> {\n\t\t\t\t\n\t\t\t\tif( val < $mol_vary_len.L1 ) {\n\t\t\t\t\tbuffer[ pos ++ ] = tip | Number( val )\n\t\t\t\t\trelease(8)\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( tip == $mol_vary_tip.uint ) {\n\t\t\t\t\tconst offset = offsets.get( val )\n\t\t\t\t\tif( offset !== undefined ) return dump_unum( $mol_vary_tip.link, offset )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( val < 2**8 ) {\n\t\t\t\t\tbuffer[ pos ++ ] = tip | $mol_vary_len.L1\n\t\t\t\t\tbuffer[ pos ++ ] = Number( val )\n\t\t\t\t\trelease(7)\n\t\t\t\t} else if( val < 2**16 ) {\n\t\t\t\t\tbuffer[ pos ++ ] = tip | $mol_vary_len.L2\n\t\t\t\t\tpack.setUint16( pos, Number( val ), true )\n\t\t\t\t\tpos += 2\n\t\t\t\t\trelease(6)\n\t\t\t\t} else if( val < 2**32 ) {\n\t\t\t\t\tbuffer[ pos ++ ] = tip | $mol_vary_len.L4\n\t\t\t\t\tpack.setUint32( pos, Number( val ), true )\n\t\t\t\t\tpos += 4\n\t\t\t\t\trelease(4)\n\t\t\t\t} else if( val < 2n**64n ) {\n\t\t\t\t\tbuffer[ pos ++ ] = tip | $mol_vary_len.L8\n\t\t\t\t\tpack.setBigUint64( pos, BigInt( val ), true )\n\t\t\t\t\tpos += 8\n\t\t\t\t} else {\n\t\t\t\t\tdump_bint( val as bigint )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( tip == $mol_vary_tip.uint ) offsets.set( val, offsets.size )\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tconst dump_snum = ( val: number | bigint )=> {\n\t\t\t\t\n\t\t\t\tif( val > - $mol_vary_len.L1 ) {\n\t\t\t\t\tbuffer[ pos ++ ] = Number( val )\n\t\t\t\t\trelease(8)\n\t\t\t\t\treturn \n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tconst offset = offsets.get( val )\n\t\t\t\tif( offset !== undefined ) return dump_unum( $mol_vary_tip.link, offset )\n\t\t\t\t\n\t\t\t\tif( val >= -(2**7) ) {\n\t\t\t\t\tbuffer[ pos ++ ] = - $mol_vary_len.L1\n\t\t\t\t\tbuffer[ pos ++ ] = Number( val )\n\t\t\t\t\trelease(7)\n\t\t\t\t} else if( val >= -(2**15) ) {\n\t\t\t\t\tbuffer[ pos ++ ] = -$mol_vary_len.L2\n\t\t\t\t\tpack.setInt16( pos, Number( val ), true )\n\t\t\t\t\tpos += 2\n\t\t\t\t\trelease(6)\n\t\t\t\t} else if( val >= -(2**31) ) {\n\t\t\t\t\tbuffer[ pos ++ ] = - $mol_vary_len.L4\n\t\t\t\t\tpack.setInt32( pos, Number( val ), true )\n\t\t\t\t\tpos += 4\n\t\t\t\t\trelease(4)\n\t\t\t\t} else if( val >= -(2n**63n) ) {\n\t\t\t\t\tbuffer[ pos ++ ] = - $mol_vary_len.L8\n\t\t\t\t\tpack.setBigInt64( pos, BigInt( val ), true )\n\t\t\t\t\tpos += 8\n\t\t\t\t} else {\n\t\t\t\t\tdump_bint( val as bigint )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toffsets.set( val, offsets.size )\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tconst dump_bint = ( val: bigint )=> {\n\t\t\t\t\n\t\t\t\tconst buf = $mol_bigint_encode( val as bigint )\n\t\t\t\t\n\t\t\t\tif( buf.byteLength > 264 ) $mol_fail( new Error( 'Number too high', { cause: { val } } ) )\n\t\t\t\tacquire( buf.byteLength - 7 )\n\t\t\t\t\n\t\t\t\tbuffer[ pos ++ ] = - $mol_vary_len.LA\n\t\t\t\tbuffer[ pos ++ ] = buf.byteLength - 9\n\t\t\t\t\n\t\t\t\tbuffer.set( buf, pos )\n\t\t\t\tpos += buf.byteLength\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tconst dump_float = ( val: number )=> {\n\t\t\t\t\n\t\t\t\tconst offset = offsets.get( val )\n\t\t\t\tif( offset !== undefined ) return dump_unum( $mol_vary_tip.link, offset )\n\t\t\t\t\t\n\t\t\t\tbuffer[ pos ++ ] = $mol_vary_spec.fp64\n\t\t\t\tpack.setFloat64( pos, val, true )\n\t\t\t\tpos += 8\n\t\t\t\t\n\t\t\t\toffsets.set( val, offsets.size )\n\t\t\t}\n\t\t\t\n\t\t\tconst dump_string = ( val: string )=> {\n\t\t\t\t\n\t\t\t\tconst offset = offsets.get( val )\n\t\t\t\tif( offset !== undefined ) return dump_unum( $mol_vary_tip.link, offset )\n\t\t\t\t\n\t\t\t\tdump_unum( $mol_vary_tip.text, val.length )\n\t\t\t\tacquire( val.length * 3 )\n\t\t\t\tconst len = $mol_charset_encode_to( val, buffer, pos )\n\t\t\t\tpos += len\n\t\t\t\trelease( val.length * 3 - len )\n\t\t\t\t\n\t\t\t\toffsets.set( val, offsets.size )\n\t\t\t\treturn\n\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tconst dump_buffer = ( val: ArrayBufferView< ArrayBuffer > )=> {\n\t\t\t\t\n\t\t\t\tconst offset = offsets.get( val )\n\t\t\t\tif( offset !== undefined ) return dump_unum( $mol_vary_tip.link, offset )\n\t\t\t\t\n\t\t\t\tdump_unum( $mol_vary_tip.blob, val.byteLength )\n\t\t\t\tacquire( 1 + val.byteLength )\n\t\t\t\t\n\t\t\t\tif( val instanceof Uint8Array ) buffer[ pos ++ ] = $mol_vary_tip.uint | $mol_vary_len.L1\n\t\t\t\telse if( val instanceof Uint16Array ) buffer[ pos ++ ] = $mol_vary_tip.uint | $mol_vary_len.L2\n\t\t\t\telse if( val instanceof Uint32Array ) buffer[ pos ++ ] = $mol_vary_tip.uint | $mol_vary_len.L4\n\t\t\t\telse if( val instanceof BigUint64Array ) buffer[ pos ++ ] = $mol_vary_tip.uint | $mol_vary_len.L8\n\t\t\t\t\n\t\t\t\telse if( val instanceof Int8Array ) buffer[ pos ++ ] = $mol_vary_tip.sint | ~$mol_vary_len.L1\n\t\t\t\telse if( val instanceof Int16Array ) buffer[ pos ++ ] = $mol_vary_tip.sint | ~$mol_vary_len.L2\n\t\t\t\telse if( val instanceof Int32Array ) buffer[ pos ++ ] = $mol_vary_tip.sint | ~$mol_vary_len.L4\n\t\t\t\telse if( val instanceof BigInt64Array ) buffer[ pos ++ ] = $mol_vary_tip.sint | ~$mol_vary_len.L8\n\t\t\t\t\n\t\t\t\telse if( typeof Float16Array === 'function' && val instanceof Float16Array ) buffer[ pos ++ ] = $mol_vary_spec.fp16\n\t\t\t\telse if( val instanceof Float32Array ) buffer[ pos ++ ] = $mol_vary_spec.fp32\n\t\t\t\telse if( val instanceof Float64Array ) buffer[ pos ++ ] = $mol_vary_spec.fp64\n\t\t\t\n\t\t\t\telse $mol_fail( new Error( `Unsupported type` ) )\n\t\t\t\t\n\t\t\t\tconst src = ( val instanceof Uint8Array ) ? val : new Uint8Array( val.buffer, val.byteOffset, val.byteLength )\n\t\t\t\tbuffer.set( src, pos )\n\t\t\t\tpos += val.byteLength\n\t\t\t\t\n\t\t\t\toffsets.set( val, offsets.size )\n\t\t\t}\n\t\t\t\n\t\t\tconst dump_list = ( val: any[] )=> {\n\t\t\t\t\n\t\t\t\tconst offset = offsets.get( val )\n\t\t\t\tif( offset !== undefined ) return dump_unum( $mol_vary_tip.link, offset )\n\t\t\t\n\t\t\t\tdump_unum( $mol_vary_tip.list, val.length )\n\t\t\t\tacquire( val.length * 9 )\n\t\t\t\tfor( const item of val ) dump( item )\n\t\t\t\n\t\t\t\toffsets.set( val, offsets.size )\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tconst shapes = new Map< string, any[] >()\n\t\t\tconst shape = ( val: any )=> {\n\t\t\t\tconst keys1 = Object.keys( val )\n\t\t\t\tconst key = keys1.join('\\0')\n\t\t\t\tconst keys2 = shapes.get( key ) \n\t\t\t\tif( keys2 ) return keys2\n\t\t\t\tshapes.set( key, keys1 )\n\t\t\t\treturn keys1\n\t\t\t}\n\t\t\t\n\t\t\tconst dump_object = ( val: object )=> {\n\t\t\t\t\n\t\t\t\tconst offset = offsets.get( val )\n\t\t\t\tif( offset !== undefined ) return dump_unum( $mol_vary_tip.link, offset )\n\t\t\t\t\n\t\t\t\tconst [ keys, vals ] = ( val as any )[ $mol_vary_lean ]?.( val ) ?? [ shape( val ), Object.values( val ) ]\n\t\t\t\n\t\t\t\tdump_unum( $mol_vary_tip.tupl, vals.length )\n\t\t\t\tacquire( (vals.length+1) * 9 )\n\t\t\t\tdump_list( keys )\n\t\t\t\tfor( const item of vals ) dump( item )\n\t\t\t\t\n\t\t\t\toffsets.set( val, offsets.size )\n\t\t\t}\n\t\t\t\n\t\t\t/** Recursive fills buffer with data. */\n\t\t\tconst dump = ( val: unknown )=> {\n\t\t\t\t\n\t\t\t\tswitch( typeof val ) {\n\t\t\t\t\t\n\t\t\t\t\tcase 'undefined': {\n\t\t\t\t\t\tbuffer[ pos ++ ] = $mol_vary_spec.both\n\t\t\t\t\t\trelease( 8 )\n\t\t\t\t\t\treturn\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tcase 'boolean': {\n\t\t\t\t\t\tbuffer[ pos ++ ] = val ? $mol_vary_spec.true : $mol_vary_spec.fake\n\t\t\t\t\t\trelease( 8 )\n\t\t\t\t\t\treturn\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tcase 'number': {\n\t\t\t\t\t\tif( !Number.isInteger( val ) ) return dump_float( val )\n\t\t\t\t\t}\n\t\t\t\t\tcase 'bigint': {\n\t\t\t\t\t\t\n\t\t\t\t\t\tif( val < 0 ) {\n\t\t\t\t\t\t\tdump_snum( val )\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdump_unum( $mol_vary_tip.uint, val )\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\treturn\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tcase 'string': return dump_string( val )\n\t\t\t\t\t\n\t\t\t\t\tcase 'object': {\n\t\t\t\t\t\t\n\t\t\t\t\t\tif( !val ) {\n\t\t\t\t\t\t\trelease( 8 )\n\t\t\t\t\t\t\treturn buffer[ pos ++ ] = $mol_vary_spec.none\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif( ArrayBuffer.isView( val ) ) return dump_buffer( val as ArrayBufferView< ArrayBuffer > )\n\t\t\t\t\t\tif( Array.isArray( val ) ) return dump_list( val )\n\t\t\t\t\t\t\n\t\t\t\t\t\treturn dump_object( val )\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t$mol_fail( new Error( `Unsupported type` ) )\n\t\t\t}\n\t\t\t\n\t\t\tdump( data )\n\t\t\t\n\t\t\tif( pos !== capacity ) $mol_fail( new Error( 'Wrong reserved capacity', { cause: { capacity, size: pos, data } } ) )\n\t\t\t\n\t\t\treturn buffer.slice( 0, pos )\n\t\t\t\n\t\t}\n\t\t\n\t\t/** Parses buffer to rich runtime structures. */\n\t\tstatic take( buffer: Uint8Array< ArrayBuffer > ): unknown {\n\t\t\t\n\t\t\tconst pack = new DataView( buffer.buffer, buffer.byteOffset, buffer.byteLength )\n\t\t\tconst stream = [] as unknown[]\n\t\t\tlet pos = 0;\n\t\t\t\n\t\t\tconst read_unum = ( kind: number )=> {\n\t\t\t\t\n\t\t\t\t++ pos\n\t\t\t\tconst num = kind & 0b11111\n\t\t\t\tif( num < $mol_vary_len.L1 ) return num\n\t\t\t\t\n\t\t\t\tlet res = 0 as number | bigint\n\t\t\t\t\n\t\t\t\tif( num === $mol_vary_len.L1 ) {\n\t\t\t\t\tres = pack.getUint8( pos ++ )\n\t\t\t\t} else if( num === $mol_vary_len.L2 ) {\n\t\t\t\t\tres = pack.getUint16( pos, true )\n\t\t\t\t\tpos += 2\n\t\t\t\t} else if( num === $mol_vary_len.L4 ) {\n\t\t\t\t\tres = pack.getUint32( pos, true )\n\t\t\t\t\tpos += 4\n\t\t\t\t} else if( num === $mol_vary_len.L8 ) {\n\t\t\t\t\tres = pack.getBigUint64( pos, true )\n\t\t\t\t\tif( res <= Number.MAX_SAFE_INTEGER ) res = Number( res )\n\t\t\t\t\tpos += 8\n\t\t\t\t} else {\n\t\t\t\t\t$mol_fail( new Error( 'Unsupported unum', { cause: { num } } ) )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( ( kind & 0b111_00000 ) === $mol_vary_tip.uint ) stream.push( res )\n\t\t\t\t\n\t\t\t\treturn res\n\t\t\t}\n\t\t\t\n\t\t\tconst read_snum = ( kind: number )=> {\n\t\t\t\t\n\t\t\t\tconst num = pack.getInt8( pos ++ )\n\t\t\t\tif( num > - $mol_vary_len.L1 ) return num\n\t\t\t\t\n\t\t\t\tlet res = 0 as number | bigint\n\t\t\t\t\n\t\t\t\tif( num === - $mol_vary_len.L1 ) {\n\t\t\t\t\tres = pack.getInt8( pos ++ )\n\t\t\t\t} else if( num === - $mol_vary_len.L2 ) {\n\t\t\t\t\tres= pack.getInt16( pos, true )\n\t\t\t\t\tpos += 2\n\t\t\t\t} else if( num === - $mol_vary_len.L4 ) {\n\t\t\t\t\tres = pack.getInt32( pos, true )\n\t\t\t\t\tpos += 4\n\t\t\t\t} else if( num === - $mol_vary_len.L8 ) {\n\t\t\t\t\tres = pack.getBigInt64( pos, true )\n\t\t\t\t\tif( res >= Number.MIN_SAFE_INTEGER && res <= Number.MAX_SAFE_INTEGER ) res = Number( res )\n\t\t\t\t\tpos += 8\n\t\t\t\t} else if( num === - $mol_vary_len.LA ) {\n\t\t\t\t\tconst len = pack.getUint8( pos ++ ) + 9\n\t\t\t\t\tres = $mol_bigint_decode( new Uint8Array( pack.buffer, pack.byteOffset + pos, len ) )\n\t\t\t\t\tpos += len\n\t\t\t\t} else {\n\t\t\t\t\t$mol_fail( new Error( 'Unsupported snum', { cause: { num } } ) )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tstream.push( res )\n\t\t\t\t\n\t\t\t\treturn res\n\t\t\t}\n\t\t\t\n\t\t\tconst read_text = ( kind: number )=> {\n\t\t\t\tconst len = read_unum( kind ) as number\n\t\t\t\tconst [ text, bytes ] = $mol_charset_decode_from( buffer, pack.byteOffset + pos, len )\n\t\t\t\tpos += bytes\n\t\t\t\tstream.push( text )\n\t\t\t\treturn text\n\t\t\t}\n\t\t\t\n\t\t\tconst read_buffer = ( len: number, TypedArray: new( buf: ArrayBuffer )=> ArrayBufferView< ArrayBuffer > )=> {\n\t\t\t\tconst bin = new TypedArray( buffer.slice( pos, pos + len ).buffer )\n\t\t\t\tpos += len\n\t\t\t\tstream.push( bin )\n\t\t\t\treturn bin\n\t\t\t}\n\t\t\t\n\t\t\tconst read_blob = ( kind: number )=> {\n\t\t\t\t\n\t\t\t\tconst len = read_unum( kind ) as number\n\t\t\t\tconst kind_item = pack.getUint8( pos ++ )\n\t\t\t\t\n\t\t\t\tswitch( kind_item ) {\n\t\t\t\t\t\n\t\t\t\t\tcase $mol_vary_len.L1: return read_buffer( len, Uint8Array )\n\t\t\t\t\tcase $mol_vary_len.L2: return read_buffer( len, Uint16Array )\n\t\t\t\t\tcase $mol_vary_len.L4: return read_buffer( len, Uint32Array )\n\t\t\t\t\tcase $mol_vary_len.L8: return read_buffer( len, BigUint64Array )\n\t\t\t\t\t\n\t\t\t\t\tcase ~$mol_vary_len.L1 + 256: return read_buffer( len, Int8Array )\n\t\t\t\t\tcase ~$mol_vary_len.L2 + 256: return read_buffer( len, Int16Array )\n\t\t\t\t\tcase ~$mol_vary_len.L4 + 256: return read_buffer( len, Int32Array )\n\t\t\t\t\tcase ~$mol_vary_len.L8 + 256: return read_buffer( len, BigInt64Array )\n\t\t\t\t\t\n\t\t\t\t\tcase $mol_vary_tip.spec | $mol_vary_spec.fp16: return read_buffer( len, Float16Array )\n\t\t\t\t\tcase $mol_vary_tip.spec | $mol_vary_spec.fp32: return read_buffer( len, Float32Array )\n\t\t\t\t\tcase $mol_vary_tip.spec | $mol_vary_spec.fp64: return read_buffer( len, Float64Array )\n\t\t\t\t\t\n\t\t\t\t\tdefault:\n\t\t\t\t\t\t$mol_fail( new Error( 'Unsupported blob item kind', { cause: { kind_item } } ) )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tconst read_list = ( kind: number )=> {\n\t\t\t\tconst len = read_unum( kind ) as number\n\t\t\t\tconst list = new Array( len ) as any[]\n\t\t\t\tfor( let i = 0; i < len; ++i ) list[i] = read_vary()\n\t\t\t\tstream.push( list )\n\t\t\t\treturn list\n\t\t\t}\n\t\t\t\n\t\t\tconst read_link = ( kind: number )=> {\n\t\t\t\tconst index = read_unum( kind ) as number\n\t\t\t\tif( index >= stream.length ) $mol_fail( new Error( 'Too large index', { cause: { index, exists: stream.length } } ) )\n\t\t\t\treturn stream[ index ]\n\t\t\t}\n\t\t\t\n\t\t\tconst read_tupl = ( kind: number )=> {\n\t\t\t\t\n\t\t\t\tconst len = read_unum( kind ) as number\n\t\t\t\t\n\t\t\t\tconst keys = read_vary()\n\t\t\t\tconst vals = new Array( len ) as any[]\n\t\t\t\tfor( let i = 0; i < len; ++i ) vals[i] = read_vary()\n\t\t\t\t\n\t\t\t\tconst shape = JSON.stringify( keys )\n\t\t\t\t\n\t\t\t\tlet obj\n\t\t\t\tconst rich = this.riches.get( shape )\n\t\t\t\tif( rich ) {\n\t\t\t\t\tobj = rich( ... vals )\n\t\t\t\t} else {\n\t\t\t\t\tobj = {} as any\n\t\t\t\t\tfor( let i = 0; i < len; ++i ) obj[ keys[i] ] = vals[i]\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tstream.push( obj )\n\t\t\t\t\n\t\t\t\treturn obj\n\t\t\t}\n\t\t\t\n\t\t\tconst read_spec = ( kind: number )=> {\n\t\t\t\t\n\t\t\t\tswitch( kind ) {\n\t\t\t\t\t\n\t\t\t\t\tcase $mol_vary_spec.none:\n\t\t\t\t\t\t++ pos\n\t\t\t\t\t\treturn null\n\t\t\t\t\t\n\t\t\t\t\tcase $mol_vary_spec.fake:\n\t\t\t\t\t\t++ pos\n\t\t\t\t\t\treturn false\n\t\t\t\t\t\n\t\t\t\t\tcase $mol_vary_spec.true:\n\t\t\t\t\t\t++ pos\n\t\t\t\t\t\treturn true\n\t\t\t\t\t\n\t\t\t\t\tcase $mol_vary_spec.both:\n\t\t\t\t\t\t++ pos\n\t\t\t\t\t\treturn undefined\n\t\t\t\t\t\n\t\t\t\t\tcase $mol_vary_spec.fp64: {\n\t\t\t\t\t\tconst val = pack.getFloat64( ++ pos, true )\n\t\t\t\t\t\tstream.push( val )\n\t\t\t\t\t\tpos += 8\n\t\t\t\t\t\treturn val\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tcase $mol_vary_spec.fp32: {\n\t\t\t\t\t\tconst val = pack.getFloat32( ++ pos, true )\n\t\t\t\t\t\tstream.push( val )\n\t\t\t\t\t\tpos += 4\n\t\t\t\t\t\treturn val\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tcase $mol_vary_spec.fp16: {\n\t\t\t\t\t\tconst val = pack.getFloat16( ++ pos, true )\n\t\t\t\t\t\tstream.push( val )\n\t\t\t\t\t\tpos += 2\n\t\t\t\t\t\treturn val\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tdefault:\n\t\t\t\t\t\t$mol_fail( new Error( 'Unsupported spec', { cause: { kind } } ) )\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\tconst read_vary = ()=> {\n\t\t\t\t\n\t\t\t\tconst kind = pack.getUint8( pos )\n\t\t\t\tconst tip = kind & 0b111_00000\n\t\t\t\t\n\t\t\t\tswitch( tip ) {\n\t\t\t\t\t\n\t\t\t\t\tcase $mol_vary_tip.uint: return read_unum( kind )\n\t\t\t\t\tcase $mol_vary_tip.sint: return read_snum( kind )\n\t\t\t\t\tcase $mol_vary_tip.link: return read_link( kind )\n\t\t\t\t\tcase $mol_vary_tip.text: return read_text( kind )\n\t\t\t\t\tcase $mol_vary_tip.list: return read_list( kind )\n\t\t\t\t\tcase $mol_vary_tip.blob: return read_blob( kind )\n\t\t\t\t\tcase $mol_vary_tip.tupl: return read_tupl( kind )\n\t\t\t\t\tcase $mol_vary_tip.spec: return read_spec( kind )\n\t\t\t\t\t\n\t\t\t\t\tdefault: $mol_fail( new Error( 'Unsupported tip', { cause: { tip } } ) )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tconst result = read_vary()\n\t\t\tif( pos !== buffer.byteLength ) $mol_fail( new Error( 'Buffer too large', { cause: { size: buffer.byteLength, taken: pos, result } } ) )\n\t\t\t\n\t\t\treturn result\n\t\t}\n\t\t\n\t\tstatic riches = new Map< string/*shape*/, ( ... vals: readonly any[] )=> object >()\n\t\t\n\t\t/** Adds custom types support. */\n\t\tstatic type<\n\t\t\tconst Instance extends object,\n\t\t\tconst Keys extends readonly any[],\n\t\t\tconst Vals extends readonly any[],\n\t\t>(\n\t\t\tClass: new( ... vals: any[] )=> Instance,\n\t\t\tkeys: Keys,\n\t\t\tlean: ( obj: Instance )=> Vals,\n\t\t\trich: ( ... vals: Vals )=> Instance,\n\t\t) {\n\t\t\tthis.riches.set( JSON.stringify( keys ), rich )\n\t\t\t;( Class.prototype as any )[ $mol_vary_lean ] = ( val: Instance )=> [ keys, lean( val ) ]\n\t\t}\n\t\t\n\t}\n\t\n\texport const $mol_vary_lean = Symbol.for( '$mol_vary_lean' )\n\t\n\t/** Native Map support */\n\t$mol_vary.type(\n\t\tMap,\n\t\t[ 'keys', 'vals' ],\n\t\tobj => [ [ ... obj.keys() ], [ ... obj.values() ] ],\n\t\t( keys, vals )=> new Map( keys.map( ( k, i )=> [ k, vals[i] ] ) ),\n\t)\n\t\n\t/** Native Set support */\n\t$mol_vary.type(\n\t\tSet,\n\t\t[ 'set' ],\n\t\tobj => [ [ ... obj.values() ] ],\n\t\tvals => new Set( vals ),\n\t)\n\t\n\t/** Native Date support */\n\t$mol_vary.type(\n\t\tDate,\n\t\t[ 'unix_time' ],\n\t\tobj => [ obj.valueOf() / 1000 ],\n\t\tts => new Date( ts * 1000 ),\n\t)\n\t\n\t/** Native Element support */\n\t$mol_vary.type(\n\t\t$mol_dom.Element,\n\t\t[ 'elem', 'keys', 'vals', 'kids' ],\n\t\tnode => {\n\t\t\tconst attrs = [ ... node.attributes ]\n\t\t\tconst kids = [ ... node.childNodes ].map( kid => kid instanceof $mol_dom.Text ? kid.nodeValue! : kid )\n\t\t\treturn [ node.nodeName, attrs.map( attr => attr.nodeName ), attrs.map( attr => attr.nodeValue! ), kids ]\n\t\t},\n\t\t( name, keys, vals, kids )=> {\n\t\t\tconst el = $mol_dom.document.createElement( name )\n\t\t\tfor( let i = 0; i < keys.length; ++i ) el.setAttribute( keys[i], vals[i] )\n\t\t\tfor( let kid of kids ) {\n\t\t\t\tif( typeof kid === 'string' ) kid = $mol_dom.document.createTextNode( kid )\n\t\t\t\tel.appendChild( kid )\n\t\t\t}\n\t\t\treturn el\n\t\t},\n\t)\n\t\n}\n"]}
package/web.mjs CHANGED
@@ -271,7 +271,7 @@ var $;
271
271
  class $mol_vary extends Object {
272
272
  static pack(data) {
273
273
  let pos = 0;
274
- let capacity = 0;
274
+ let capacity = 9;
275
275
  const offsets = new Map();
276
276
  const acquire = (size) => {
277
277
  if (size < 0)
@@ -398,6 +398,7 @@ var $;
398
398
  if (offset !== undefined)
399
399
  return dump_unum($mol_vary_tip.link, offset);
400
400
  dump_unum($mol_vary_tip.blob, val.byteLength);
401
+ acquire(1 + val.byteLength);
401
402
  if (val instanceof Uint8Array)
402
403
  buffer[pos++] = $mol_vary_tip.uint | $mol_vary_len.L1;
403
404
  else if (val instanceof Uint16Array)
@@ -423,7 +424,6 @@ var $;
423
424
  else
424
425
  $mol_fail(new Error(`Unsupported type`));
425
426
  const src = (val instanceof Uint8Array) ? val : new Uint8Array(val.buffer, val.byteOffset, val.byteLength);
426
- acquire(val.byteLength);
427
427
  buffer.set(src, pos);
428
428
  pos += val.byteLength;
429
429
  offsets.set(val, offsets.size);
@@ -438,16 +438,24 @@ var $;
438
438
  dump(item);
439
439
  offsets.set(val, offsets.size);
440
440
  };
441
+ const shapes = new Map();
442
+ const shape = (val) => {
443
+ const keys1 = Object.keys(val);
444
+ const key = keys1.join('\0');
445
+ const keys2 = shapes.get(key);
446
+ if (keys2)
447
+ return keys2;
448
+ shapes.set(key, keys1);
449
+ return keys1;
450
+ };
441
451
  const dump_object = (val) => {
442
452
  const offset = offsets.get(val);
443
453
  if (offset !== undefined)
444
454
  return dump_unum($mol_vary_tip.link, offset);
445
- const keys = val[$.$mol_vary_keys] ?? Object.keys(val);
446
- const vals = val[$.$mol_vary_lean]?.(val) ?? Object.values(val);
455
+ const [keys, vals] = val[$.$mol_vary_lean]?.(val) ?? [shape(val), Object.values(val)];
447
456
  dump_unum($mol_vary_tip.tupl, vals.length);
448
- acquire(vals.length * 2 * 9);
449
- for (const item of keys)
450
- dump(item);
457
+ acquire((vals.length + 1) * 9);
458
+ dump_list(keys);
451
459
  for (const item of vals)
452
460
  dump(item);
453
461
  offsets.set(val, offsets.size);
@@ -493,6 +501,8 @@ var $;
493
501
  $mol_fail(new Error(`Unsupported type`));
494
502
  };
495
503
  dump(data);
504
+ if (pos !== capacity)
505
+ $mol_fail(new Error('Wrong reserved capacity', { cause: { capacity, size: pos, data } }));
496
506
  return buffer.slice(0, pos);
497
507
  }
498
508
  static take(buffer) {
@@ -610,10 +620,8 @@ var $;
610
620
  };
611
621
  const read_tupl = (kind) => {
612
622
  const len = read_unum(kind);
613
- const keys = new Array(len);
623
+ const keys = read_vary();
614
624
  const vals = new Array(len);
615
- for (let i = 0; i < len; ++i)
616
- keys[i] = read_vary();
617
625
  for (let i = 0; i < len; ++i)
618
626
  vals[i] = read_vary();
619
627
  const shape = JSON.stringify(keys);
@@ -689,13 +697,11 @@ var $;
689
697
  static riches = new Map();
690
698
  static type(Class, keys, lean, rich) {
691
699
  this.riches.set(JSON.stringify(keys), rich);
692
- Class.prototype[$.$mol_vary_lean] = lean;
693
- Class.prototype[$.$mol_vary_keys] = keys;
700
+ Class.prototype[$.$mol_vary_lean] = (val) => [keys, lean(val)];
694
701
  }
695
702
  }
696
703
  $.$mol_vary = $mol_vary;
697
704
  $.$mol_vary_lean = Symbol.for('$mol_vary_lean');
698
- $.$mol_vary_keys = Symbol.for('$mol_vary_keys');
699
705
  $mol_vary.type(Map, ['keys', 'vals'], obj => [[...obj.keys()], [...obj.values()]], (keys, vals) => new Map(keys.map((k, i) => [k, vals[i]])));
700
706
  $mol_vary.type(Set, ['set'], obj => [[...obj.values()]], vals => new Set(vals));
701
707
  $mol_vary.type(Date, ['unix_time'], obj => [obj.valueOf() / 1000], ts => new Date(ts * 1000));
package/web.test.js CHANGED
@@ -1712,50 +1712,55 @@ var $;
1712
1712
  check([part, part], [list | 2, blob | 2, uint | L1, 1, 2, link | 0]);
1713
1713
  },
1714
1714
  "vary pack struct"($) {
1715
- check({ a: 1, b: 2 }, [tupl | 2, text | 1, ...str('a'), text | 1, ...str('b'), 1, 2]);
1716
- check({ x: {}, y: { a: 1 } }, [tupl | 2, text | 1, ...str('x'), text | 1, ...str('y'), tupl | 0, tupl | 1, text | 1, ...str('a'), 1]);
1715
+ check({ a: 1, b: 2 }, [tupl | 2, list | 2, text | 1, ...str('a'), text | 1, ...str('b'), 1, 2]);
1716
+ check({ x: {}, y: { a: 1 } }, [tupl | 2, list | 2, text | 1, ...str('x'), text | 1, ...str('y'), tupl | 0, list | 0, tupl | 1, list | 1, text | 1, ...str('a'), 1]);
1717
+ },
1718
+ "vary pack struct shape dedup"($) {
1719
+ check([{}, { foo: 1 }, { foo: 2 }], [list | 3, tupl | 0, list | 0, tupl | 1, list | 1, text | 3, ...str('foo'), 1, tupl | 1, link | 3, 2]);
1720
+ check({ x: 1, y: { x: 2, y: 3 } }, [tupl | 2, list | 2, text | 1, ...str('x'), text | 1, ...str('y'), 1, tupl | 2, link | 2, 2, 3]);
1717
1721
  },
1718
1722
  "vary pack struct full dedup"($) {
1719
1723
  const item = { x: 1 };
1720
- check([item, item], [list | 2, tupl | 1, text | 1, ...str('x'), 1, link | 1]);
1724
+ check([item, item], [list | 2, tupl | 1, list | 1, text | 1, ...str('x'), 1, link | 2]);
1725
+ const part = { x: 1, y: 2 };
1726
+ check({ x: part, y: part }, [tupl | 2, list | 2, text | 1, ...str('x'), text | 1, ...str('y'), tupl | 2, link | 2, 1, 2, link | 3]);
1721
1727
  },
1722
1728
  "vary pack Map"($) {
1723
- check(new Map([['foo', 1], [2, 'bar']]), [tupl | 2, text | 4, ...str('keys'), text | 4, ...str('vals'), list | 2, text | 3, ...str('foo'), 2, list | 2, 1, text | 3, ...str('bar')]);
1729
+ check(new Map([['foo', 1], [2, 'bar']]), [tupl | 2, list | 2, text | 4, ...str('keys'), text | 4, ...str('vals'), list | 2, text | 3, ...str('foo'), 2, list | 2, 1, text | 3, ...str('bar')]);
1724
1730
  },
1725
1731
  "vary pack Set"($) {
1726
- check(new Set([7, 'foo']), [tupl | 1, text | 3, ...str('set'), list | 2, 7, text | 3, ...str('foo')]);
1732
+ check(new Set([7, 'foo']), [tupl | 1, list | 1, text | 3, ...str('set'), list | 2, 7, text | 3, ...str('foo')]);
1727
1733
  },
1728
1734
  "vary pack Date"($) {
1729
1735
  const date1 = new Date('2025-01-02T03:04:05');
1730
- check(date1, [tupl | 1, text | 9, ...str('unix_time'), uint | L4, ...new Uint8Array(new Uint32Array([date1.valueOf() / 1000]).buffer)]);
1736
+ check(date1, [tupl | 1, list | 1, text | 9, ...str('unix_time'), uint | L4, ...new Uint8Array(new Uint32Array([date1.valueOf() / 1000]).buffer)]);
1731
1737
  const date2 = new Date('2025-01-02T03:04:05.678');
1732
- check(date2, [tupl | 1, text | 9, ...str('unix_time'), fp64, ...new Uint8Array(new Float64Array([date2.valueOf() / 1000]).buffer)]);
1738
+ check(date2, [tupl | 1, list | 1, text | 9, ...str('unix_time'), fp64, ...new Uint8Array(new Float64Array([date2.valueOf() / 1000]).buffer)]);
1733
1739
  },
1734
1740
  "vary pack Node"($) {
1735
1741
  check($mol_jsx("span", null), [
1736
- tupl | 4, text | 4, ...str('elem'), text | 4, ...str('keys'), text | 4, ...str('vals'), text | 4, ...str('kids'),
1742
+ tupl | 4, list | 4, text | 4, ...str('elem'), text | 4, ...str('keys'), text | 4, ...str('vals'), text | 4, ...str('kids'),
1737
1743
  text | 4, ...str('SPAN'), list | 0, list | 0, list | 0
1738
1744
  ]);
1739
1745
  check($mol_jsx("svg", null), [
1740
- tupl | 4, text | 4, ...str('elem'), text | 4, ...str('keys'), text | 4, ...str('vals'), text | 4, ...str('kids'),
1746
+ tupl | 4, list | 4, text | 4, ...str('elem'), text | 4, ...str('keys'), text | 4, ...str('vals'), text | 4, ...str('kids'),
1741
1747
  text | 3, ...str('SVG'), list | 0, list | 0, list | 0
1742
1748
  ]);
1743
1749
  check($mol_jsx("span", { tabIndex: "0" }), [
1744
- tupl | 4, text | 4, ...str('elem'), text | 4, ...str('keys'), text | 4, ...str('vals'), text | 4, ...str('kids'),
1750
+ tupl | 4, list | 4, text | 4, ...str('elem'), text | 4, ...str('keys'), text | 4, ...str('vals'), text | 4, ...str('kids'),
1745
1751
  text | 4, ...str('SPAN'), list | 1, text | 8, ...str('tabindex'), list | 1, text | 1, ...str('0'), list | 0
1746
1752
  ]);
1747
1753
  check($mol_jsx("span", null, "text"), [
1748
- tupl | 4, text | 4, ...str('elem'), text | 4, ...str('keys'), text | 4, ...str('vals'), text | 4, ...str('kids'),
1754
+ tupl | 4, list | 4, text | 4, ...str('elem'), text | 4, ...str('keys'), text | 4, ...str('vals'), text | 4, ...str('kids'),
1749
1755
  text | 4, ...str('SPAN'), list | 0, list | 0, list | 1,
1750
1756
  text | 4, ...str('text')
1751
1757
  ]);
1752
1758
  check($mol_jsx("div", null,
1753
1759
  $mol_jsx("span", null),
1754
1760
  " "), [
1755
- tupl | 4, text | 4, ...str('elem'), text | 4, ...str('keys'), text | 4, ...str('vals'), text | 4, ...str('kids'),
1761
+ tupl | 4, list | 4, text | 4, ...str('elem'), text | 4, ...str('keys'), text | 4, ...str('vals'), text | 4, ...str('kids'),
1756
1762
  text | 3, ...str('DIV'), list | 0, list | 0, list | 2,
1757
- tupl | 4, link | 0, link | 1, link | 2, link | 3,
1758
- text | 4, ...str('SPAN'), list | 0, list | 0, list | 0,
1763
+ tupl | 4, link | 4, text | 4, ...str('SPAN'), list | 0, list | 0, list | 0,
1759
1764
  text | 1, ...str(' '),
1760
1765
  ]);
1761
1766
  },
@@ -1773,7 +1778,7 @@ var $;
1773
1778
  }
1774
1779
  }
1775
1780
  $mol_vary.type(Foo, ['a', 'b'], foo => [foo.a, foo.b], (a = 0, b = 0) => new Foo(a, b));
1776
- check(new Foo(1, 2), [tupl | 2, text | 1, ...str('a'), text | 1, ...str('b'), 1, 2]);
1781
+ check(new Foo(1, 2), [tupl | 2, list | 2, text | 1, ...str('a'), text | 1, ...str('b'), 1, 2]);
1777
1782
  },
1778
1783
  });
1779
1784
  })($$ = $_1.$$ || ($_1.$$ = {}));