mol_vary 0.0.24 → 0.0.25

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.24",
3
+ "version": "0.0.25",
4
4
  "exports": {
5
5
  "node": {
6
6
  "import": "./node.mjs",
package/web.d.ts CHANGED
@@ -73,9 +73,9 @@ declare namespace $ {
73
73
  fp32 = 94,
74
74
  fp64 = 95
75
75
  }
76
- class $mol_vary extends DataView<ArrayBuffer> {
76
+ class $mol_vary extends Object {
77
77
  static pack(data: unknown): Uint8Array<ArrayBuffer>;
78
- static take(buf: Uint8Array<ArrayBuffer>): unknown;
78
+ static take(buffer: Uint8Array<ArrayBuffer>): unknown;
79
79
  static riches: Map<string, (...vals: readonly any[]) => object>;
80
80
  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;
81
81
  }
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/fail/fail.ts","mol/charset/encode/encode.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/fail":-999,"mol/charset":-999,"mol/dom":-999},"":{"mol":-999},"mol/fail":{"mol/vary":-4},"mol/charset/encode":{"mol/vary":-4},"mol/charset":{"mol/charset/encode":-999,"mol/charset/decode":-999,"mol/charset/encoding":-999},"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/fail":-4,"mol/charset/encode":-4,"mol/charset/decode/from":-4,"mol/dom":-2},"mol":{"":-999},"mol/fail":{"mol":-999},"mol/charset/encode":{"mol/charset":-999},"mol/charset":{"mol":-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":554,"LICENSE":113,"md":526,"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/fail":-4,"/mol/vary/tip/link":-4,"/mol/vary/tip/text":-4,"/mol/charset/encode/to":-4,"/mol/vary/tip/blob":-4,"/mol/vary/tip/uint":-4,"/mol/vary/tip/sint":-4,"/mol/vary/spec/fp32":-4,"/mol/vary/spec/fp64":-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/charset/decode/from":-4,"/mol/vary/spec/fp16":-5,"/mol/vary/type":-1,"/mol/dom":-2,"/mol/dom/document/create/element":-3,"/mol/dom/document/create/text/node":-4},"mol":{"..":-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/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/fail/fail.ts","mol/charset/encode/encode.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/fail":-999,"mol/charset":-999,"mol/dom":-999},"":{"mol":-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/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/fail":-3,"mol/charset/encode":-4,"mol/charset/decode/from":-4,"mol/dom":-2},"mol":{"":-999},"mol/fail":{"mol":-999},"mol/charset/encode":{"mol/charset":-999},"mol/charset":{"mol":-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":556,"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/fail":-3,"/mol/vary/tip/link":-4,"/mol/vary/tip/text":-4,"/mol/charset/encode/to":-4,"/mol/vary/tip/blob":-4,"/mol/vary/tip/uint":-4,"/mol/vary/tip/sint":-4,"/mol/vary/spec/fp32":-4,"/mol/vary/spec/fp64":-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/charset/decode/from":-4,"/mol/vary/spec/fp16":-5,"/mol/vary/type":-1,"/mol/dom":-2,"/mol/dom/document/create/element":-3,"/mol/dom/document/create/text/node":-4},"mol":{"..":-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/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
@@ -218,7 +218,7 @@ var $;
218
218
  })($mol_vary_spec = $.$mol_vary_spec || ($.$mol_vary_spec = {}));
219
219
  let buffer = new Uint8Array(256);
220
220
  let pack = new DataView(buffer.buffer);
221
- class $mol_vary extends DataView {
221
+ class $mol_vary extends Object {
222
222
  static pack(data) {
223
223
  let pos = 0;
224
224
  let capacity = 0;
@@ -425,8 +425,8 @@ var $;
425
425
  dump(data);
426
426
  return buffer.slice(0, pos);
427
427
  }
428
- static take(buf) {
429
- const pack = new $mol_vary(buf.buffer, buf.byteOffset, buf.byteLength);
428
+ static take(buffer) {
429
+ const pack = new DataView(buffer.buffer, buffer.byteOffset, buffer.byteLength);
430
430
  const stream = [];
431
431
  let pos = 0;
432
432
  const read_unum = (kind) => {
@@ -436,7 +436,7 @@ var $;
436
436
  return num;
437
437
  let res = 0;
438
438
  if (num === 28) {
439
- res = buffer[pos++];
439
+ res = pack.getUint8(pos++);
440
440
  }
441
441
  else if (num === 29) {
442
442
  res = pack.getUint16(pos, true);
@@ -487,14 +487,14 @@ var $;
487
487
  };
488
488
  const read_text = (kind) => {
489
489
  const len = read_unum(kind);
490
- const [text, bytes] = $mol_charset_decode_from(buf, pack.byteOffset + pos, len);
490
+ const [text, bytes] = $mol_charset_decode_from(buffer, pack.byteOffset + pos, len);
491
491
  pos += bytes;
492
492
  if (text.length)
493
493
  stream.push(text);
494
494
  return text;
495
495
  };
496
496
  const read_buffer = (len, TypedArray) => {
497
- const bin = new TypedArray(buf.slice(pos, pos + len).buffer);
497
+ const bin = new TypedArray(buffer.slice(pos, pos + len).buffer);
498
498
  pos += len;
499
499
  if (len)
500
500
  stream.push(bin);
@@ -502,7 +502,7 @@ var $;
502
502
  };
503
503
  const read_blob = (kind) => {
504
504
  const len = read_unum(kind);
505
- const kind_item = buffer[pos++];
505
+ const kind_item = pack.getUint8(pos++);
506
506
  switch (kind_item) {
507
507
  case $.$mol_vary_len[1]: return read_buffer(len, Uint8Array);
508
508
  case $.$mol_vary_len[2]: return read_buffer(len, Uint16Array);
@@ -591,7 +591,7 @@ var $;
591
591
  }
592
592
  };
593
593
  const read_vary = () => {
594
- const kind = buffer[pos];
594
+ const kind = pack.getUint8(pos);
595
595
  const tip = kind & 0b111_00000;
596
596
  switch (tip) {
597
597
  case $mol_vary_tip.uint: return read_unum(kind);
@@ -605,7 +605,10 @@ var $;
605
605
  default: $mol_fail(new Error('Unsupported tip', { cause: { tip } }));
606
606
  }
607
607
  };
608
- return read_vary();
608
+ const result = read_vary();
609
+ if (pos !== buffer.byteLength)
610
+ $mol_fail(new Error('Buffer too large', { cause: { size: buffer.byteLength, taken: pos, result } }));
611
+ return result;
609
612
  }
610
613
  static riches = new Map();
611
614
  static type(Class, keys, lean, rich) {
package/web.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["-","../../../mam.ts","../../../mol/fail/fail.ts","../../../mol/charset/encode/encode.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\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\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 const $mol_vary_len = {\n\t\t1: 28,\n\t\t2: 29,\n\t\t4: 30,\n\t\t8: 31,\n\t} as const\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 | 29,\n\t\tfp32 = $mol_vary_tip.spec | 30,\n\t\tfp64 = $mol_vary_tip.spec | 31,\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 DataView< ArrayBuffer > {\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_snum = ( val: number | bigint )=> {\n\t\t\t\tif( val >= -28 ) {\n\t\t\t\t\tbuffer[ pos ++ ] = Number( val )\n\t\t\t\t\trelease(8)\n\t\t\t\t} else if( val >= -(2**7) ) {\n\t\t\t\t\tbuffer[ pos ++ ] = ~$mol_vary_len[1]\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[2]\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[4]\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[8]\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\t$mol_fail( new Error( 'Number too low', { cause: val } ) )\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tconst dump_unum = ( tip: number, val: number | bigint )=> {\n\t\t\t\tif( val < 28 ) {\n\t\t\t\t\tbuffer[ pos ++ ] = tip | Number( val )\n\t\t\t\t\trelease(8)\n\t\t\t\t} else if( val < 2**8 ) {\n\t\t\t\t\tbuffer[ pos ++ ] = tip | $mol_vary_len[1]\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[2]\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[4]\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[8]\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\t$mol_fail( new Error( 'Number too high', { cause: { val } } ) )\n\t\t\t\t}\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\tif( val.length ) {\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\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\tif( val.length ) offsets.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\tif( val.byteLength ) {\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\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[1]\n\t\t\t\telse if( val instanceof Uint16Array ) buffer[ pos ++ ] = $mol_vary_tip.uint | $mol_vary_len[2]\n\t\t\t\telse if( val instanceof Uint32Array ) buffer[ pos ++ ] = $mol_vary_tip.uint | $mol_vary_len[4]\n\t\t\t\telse if( val instanceof BigUint64Array ) buffer[ pos ++ ] = $mol_vary_tip.uint | $mol_vary_len[8]\n\t\t\t\t\n\t\t\t\telse if( val instanceof Int8Array ) buffer[ pos ++ ] = $mol_vary_tip.sint | ~$mol_vary_len[1]\n\t\t\t\telse if( val instanceof Int16Array ) buffer[ pos ++ ] = $mol_vary_tip.sint | ~$mol_vary_len[2]\n\t\t\t\telse if( val instanceof Int32Array ) buffer[ pos ++ ] = $mol_vary_tip.sint | ~$mol_vary_len[4]\n\t\t\t\telse if( val instanceof BigInt64Array ) buffer[ pos ++ ] = $mol_vary_tip.sint | ~$mol_vary_len[8]\n\t\t\t\t\n\t\t\t\t// else if( val instanceof Float16Array ) pos += pack.tlen( pos, 'spec', $mol_vary_spec.fp16 ) // compatibility issues\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\t\n\t\t\t\tif( val.byteLength ) offsets.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\tif( val.length ) {\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\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\tif( val.length ) offsets.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\tif( vals.length ) offsets.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 ) ) {\n\t\t\t\t\t\t\tbuffer[ pos ++ ] = $mol_vary_spec.fp64\n\t\t\t\t\t\t\tpack.setFloat64( pos, val, true )\n\t\t\t\t\t\t\tpos += 8\n\t\t\t\t\t\t\treturn\n\t\t\t\t\t\t}\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( buf: Uint8Array< ArrayBuffer > ): unknown {\n\t\t\t\n\t\t\tconst pack = new $mol_vary( buf.buffer, buf.byteOffset, buf.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 < 28 ) 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 === 28 ) {\n\t\t\t\t\tres = buffer[ pos ++ ]\n\t\t\t\t} else if( num === 29 ) {\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 === 30 ) {\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 === 31 ) {\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\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 >= -28 ) 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 === -29 ) {\n\t\t\t\t\tres = pack.getInt8( pos )\n\t\t\t\t\tpos += 1\n\t\t\t\t} else if( num === -30 ) {\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 === -31 ) {\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 === -32 ) {\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 {\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\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( buf, pack.byteOffset + pos, len )\n\t\t\t\tpos += bytes\n\t\t\t\tif( text.length ) stream.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( buf.slice( pos, pos + len ).buffer )\n\t\t\t\tpos += len\n\t\t\t\tif( len ) stream.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 = buffer[ 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[1]: return read_buffer( len, Uint8Array )\n\t\t\t\t\tcase $mol_vary_len[2]: return read_buffer( len, Uint16Array )\n\t\t\t\t\tcase $mol_vary_len[4]: return read_buffer( len, Uint32Array )\n\t\t\t\t\tcase $mol_vary_len[8]: return read_buffer( len, BigUint64Array )\n\t\t\t\t\t\n\t\t\t\t\tcase ~$mol_vary_len[1] + 256: return read_buffer( len, Int8Array )\n\t\t\t\t\tcase ~$mol_vary_len[2] + 256: return read_buffer( len, Int16Array )\n\t\t\t\t\tcase ~$mol_vary_len[4] + 256: return read_buffer( len, Int32Array )\n\t\t\t\t\tcase ~$mol_vary_len[8] + 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\tif( len ) stream.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\tif( vals.length ) stream.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\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\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\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 = buffer[ 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\treturn read_vary()\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/fail/fail.ts","../../../mol/charset/encode/encode.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\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\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 const $mol_vary_len = {\n\t\t1: 28,\n\t\t2: 29,\n\t\t4: 30,\n\t\t8: 31,\n\t} as const\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 | 29,\n\t\tfp32 = $mol_vary_tip.spec | 30,\n\t\tfp64 = $mol_vary_tip.spec | 31,\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_snum = ( val: number | bigint )=> {\n\t\t\t\tif( val >= -28 ) {\n\t\t\t\t\tbuffer[ pos ++ ] = Number( val )\n\t\t\t\t\trelease(8)\n\t\t\t\t} else if( val >= -(2**7) ) {\n\t\t\t\t\tbuffer[ pos ++ ] = ~$mol_vary_len[1]\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[2]\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[4]\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[8]\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\t$mol_fail( new Error( 'Number too low', { cause: val } ) )\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tconst dump_unum = ( tip: number, val: number | bigint )=> {\n\t\t\t\tif( val < 28 ) {\n\t\t\t\t\tbuffer[ pos ++ ] = tip | Number( val )\n\t\t\t\t\trelease(8)\n\t\t\t\t} else if( val < 2**8 ) {\n\t\t\t\t\tbuffer[ pos ++ ] = tip | $mol_vary_len[1]\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[2]\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[4]\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[8]\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\t$mol_fail( new Error( 'Number too high', { cause: { val } } ) )\n\t\t\t\t}\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\tif( val.length ) {\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\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\tif( val.length ) offsets.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\tif( val.byteLength ) {\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\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[1]\n\t\t\t\telse if( val instanceof Uint16Array ) buffer[ pos ++ ] = $mol_vary_tip.uint | $mol_vary_len[2]\n\t\t\t\telse if( val instanceof Uint32Array ) buffer[ pos ++ ] = $mol_vary_tip.uint | $mol_vary_len[4]\n\t\t\t\telse if( val instanceof BigUint64Array ) buffer[ pos ++ ] = $mol_vary_tip.uint | $mol_vary_len[8]\n\t\t\t\t\n\t\t\t\telse if( val instanceof Int8Array ) buffer[ pos ++ ] = $mol_vary_tip.sint | ~$mol_vary_len[1]\n\t\t\t\telse if( val instanceof Int16Array ) buffer[ pos ++ ] = $mol_vary_tip.sint | ~$mol_vary_len[2]\n\t\t\t\telse if( val instanceof Int32Array ) buffer[ pos ++ ] = $mol_vary_tip.sint | ~$mol_vary_len[4]\n\t\t\t\telse if( val instanceof BigInt64Array ) buffer[ pos ++ ] = $mol_vary_tip.sint | ~$mol_vary_len[8]\n\t\t\t\t\n\t\t\t\t// else if( val instanceof Float16Array ) pos += pack.tlen( pos, 'spec', $mol_vary_spec.fp16 ) // compatibility issues\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\t\n\t\t\t\tif( val.byteLength ) offsets.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\tif( val.length ) {\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\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\tif( val.length ) offsets.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\tif( vals.length ) offsets.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 ) ) {\n\t\t\t\t\t\t\tbuffer[ pos ++ ] = $mol_vary_spec.fp64\n\t\t\t\t\t\t\tpack.setFloat64( pos, val, true )\n\t\t\t\t\t\t\tpos += 8\n\t\t\t\t\t\t\treturn\n\t\t\t\t\t\t}\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 < 28 ) 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 === 28 ) {\n\t\t\t\t\tres = pack.getUint8( pos ++ )\n\t\t\t\t} else if( num === 29 ) {\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 === 30 ) {\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 === 31 ) {\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\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 >= -28 ) 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 === -29 ) {\n\t\t\t\t\tres = pack.getInt8( pos )\n\t\t\t\t\tpos += 1\n\t\t\t\t} else if( num === -30 ) {\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 === -31 ) {\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 === -32 ) {\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 {\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\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\tif( text.length ) stream.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\tif( len ) stream.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[1]: return read_buffer( len, Uint8Array )\n\t\t\t\t\tcase $mol_vary_len[2]: return read_buffer( len, Uint16Array )\n\t\t\t\t\tcase $mol_vary_len[4]: return read_buffer( len, Uint32Array )\n\t\t\t\t\tcase $mol_vary_len[8]: return read_buffer( len, BigUint64Array )\n\t\t\t\t\t\n\t\t\t\t\tcase ~$mol_vary_len[1] + 256: return read_buffer( len, Int8Array )\n\t\t\t\t\tcase ~$mol_vary_len[2] + 256: return read_buffer( len, Int16Array )\n\t\t\t\t\tcase ~$mol_vary_len[4] + 256: return read_buffer( len, Int32Array )\n\t\t\t\t\tcase ~$mol_vary_len[8] + 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\tif( len ) stream.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\tif( vals.length ) stream.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\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\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\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"]}
package/web.mjs CHANGED
@@ -218,7 +218,7 @@ var $;
218
218
  })($mol_vary_spec = $.$mol_vary_spec || ($.$mol_vary_spec = {}));
219
219
  let buffer = new Uint8Array(256);
220
220
  let pack = new DataView(buffer.buffer);
221
- class $mol_vary extends DataView {
221
+ class $mol_vary extends Object {
222
222
  static pack(data) {
223
223
  let pos = 0;
224
224
  let capacity = 0;
@@ -425,8 +425,8 @@ var $;
425
425
  dump(data);
426
426
  return buffer.slice(0, pos);
427
427
  }
428
- static take(buf) {
429
- const pack = new $mol_vary(buf.buffer, buf.byteOffset, buf.byteLength);
428
+ static take(buffer) {
429
+ const pack = new DataView(buffer.buffer, buffer.byteOffset, buffer.byteLength);
430
430
  const stream = [];
431
431
  let pos = 0;
432
432
  const read_unum = (kind) => {
@@ -436,7 +436,7 @@ var $;
436
436
  return num;
437
437
  let res = 0;
438
438
  if (num === 28) {
439
- res = buffer[pos++];
439
+ res = pack.getUint8(pos++);
440
440
  }
441
441
  else if (num === 29) {
442
442
  res = pack.getUint16(pos, true);
@@ -487,14 +487,14 @@ var $;
487
487
  };
488
488
  const read_text = (kind) => {
489
489
  const len = read_unum(kind);
490
- const [text, bytes] = $mol_charset_decode_from(buf, pack.byteOffset + pos, len);
490
+ const [text, bytes] = $mol_charset_decode_from(buffer, pack.byteOffset + pos, len);
491
491
  pos += bytes;
492
492
  if (text.length)
493
493
  stream.push(text);
494
494
  return text;
495
495
  };
496
496
  const read_buffer = (len, TypedArray) => {
497
- const bin = new TypedArray(buf.slice(pos, pos + len).buffer);
497
+ const bin = new TypedArray(buffer.slice(pos, pos + len).buffer);
498
498
  pos += len;
499
499
  if (len)
500
500
  stream.push(bin);
@@ -502,7 +502,7 @@ var $;
502
502
  };
503
503
  const read_blob = (kind) => {
504
504
  const len = read_unum(kind);
505
- const kind_item = buffer[pos++];
505
+ const kind_item = pack.getUint8(pos++);
506
506
  switch (kind_item) {
507
507
  case $.$mol_vary_len[1]: return read_buffer(len, Uint8Array);
508
508
  case $.$mol_vary_len[2]: return read_buffer(len, Uint16Array);
@@ -591,7 +591,7 @@ var $;
591
591
  }
592
592
  };
593
593
  const read_vary = () => {
594
- const kind = buffer[pos];
594
+ const kind = pack.getUint8(pos);
595
595
  const tip = kind & 0b111_00000;
596
596
  switch (tip) {
597
597
  case $mol_vary_tip.uint: return read_unum(kind);
@@ -605,7 +605,10 @@ var $;
605
605
  default: $mol_fail(new Error('Unsupported tip', { cause: { tip } }));
606
606
  }
607
607
  };
608
- return read_vary();
608
+ const result = read_vary();
609
+ if (pos !== buffer.byteLength)
610
+ $mol_fail(new Error('Buffer too large', { cause: { size: buffer.byteLength, taken: pos, result } }));
611
+ return result;
609
612
  }
610
613
  static riches = new Map();
611
614
  static type(Class, keys, lean, rich) {
package/web.test.js CHANGED
@@ -1537,6 +1537,10 @@ var $;
1537
1537
  check(Number.MAX_SAFE_INTEGER, [uint | l8, 255, 255, 255, 255, 255, 255, 31, 0]);
1538
1538
  check(256n ** 8n - 1n, [uint | l8, 255, 255, 255, 255, 255, 255, 255, 255]);
1539
1539
  },
1540
+ "vary pack with wrong size"($) {
1541
+ $mol_assert_fail(() => $mol_vary.take(new Uint8Array([uint | l1])), Error);
1542
+ $mol_assert_fail(() => $mol_vary.take(new Uint8Array([uint | l1, 200, 300])), 'Buffer too large');
1543
+ },
1540
1544
  "vary pack sint0"($) {
1541
1545
  check(-1, [-1]);
1542
1546
  check(-28, [-28]);