mol_vary 0.0.89 → 0.0.91

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.89",
3
+ "version": "0.0.91",
4
4
  "exports": {
5
5
  "node": {
6
6
  "import": "./node.mjs",
@@ -17,13 +17,13 @@
17
17
  "keywords": [
18
18
  "$mol_vary",
19
19
  "$mol",
20
+ "$mol_fail",
20
21
  "$mol_bigint_encode",
21
22
  "$mol_bigint",
22
- "$mol_fail",
23
23
  "$mol_charset_encode",
24
24
  "$mol_charset",
25
+ "$mol_charset_buffer",
25
26
  "$mol_bigint_decode",
26
- "$mol_charset_decode_from",
27
27
  "$mol_charset_decode",
28
28
  "$mol_charset_encoding",
29
29
  "$mol_dom",
package/web.d.ts CHANGED
@@ -14,12 +14,16 @@ declare namespace $ {
14
14
  export {};
15
15
  }
16
16
 
17
+ declare namespace $ {
18
+ function $mol_fail(error: any): never;
19
+ }
20
+
17
21
  declare namespace $ {
18
22
  function $mol_bigint_encode(num: bigint): Uint8Array<ArrayBuffer>;
19
23
  }
20
24
 
21
25
  declare namespace $ {
22
- function $mol_fail(error: any): never;
26
+ function $mol_charset_buffer(size: number): Uint8Array<ArrayBuffer>;
23
27
  }
24
28
 
25
29
  declare namespace $ {
@@ -40,10 +44,6 @@ declare namespace $ {
40
44
  function $mol_charset_decode(buffer: AllowSharedBufferSource, encoding?: $mol_charset_encoding): string;
41
45
  }
42
46
 
43
- declare namespace $ {
44
- function $mol_charset_decode_from(buffer: Uint8Array, from: number, count: number): readonly [string, number];
45
- }
46
-
47
47
  declare namespace $ {
48
48
  var $mol_dom_context: typeof globalThis;
49
49
  }
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","../../dom/serialize/serialize.d.ts","../../dom/parse/parse.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;ACHA;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;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,null,null]}
1
+ {"version":3,"sources":["../../../mam.d.ts","../../fail/fail.d.ts","../../bigint/encode/encode.d.ts","../../charset/buffer/buffer.d.ts","../../charset/encode/encode.d.ts","../../bigint/decode/decode.d.ts","../../charset/encoding/encoding.d.ts","../../charset/decode/decode.d.ts","../../dom/context/context.d.ts","../../dom/context/context.web.d.ts","../../dom/dom.d.ts","../../dom/serialize/serialize.d.ts","../../dom/parse/parse.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;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;ACFA;AACA;AACA;AACA;ACHA;AACA;AACA;AACA;ACHA;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;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,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/dom/serialize/serialize.ts","mol/dom/parse/parse.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":-1,"mol/dom/serialize":-999,"mol/dom/parse":-999},"mol/dom/context":{"mol/dom":-1,"mol/dom/serialize":-2,"mol/dom/parse":-2},"mol/dom/context/context.ts":{"mol/dom/context":0},"mol/dom/serialize":{"mol/vary":-3},"mol/dom/parse":{"mol/vary":-3}},"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":-1,"mol/dom/serialize":-3,"mol/dom/parse":-3},"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":{},"mol/dom/serialize":{"mol/dom":-999,"mol/dom/context":-2},"mol/dom/parse":{"mol/dom":-999,"mol/dom/context":-2}},"sloc":{"ts":683,"LICENSE":113,"md":536,"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/class":-1,"/mol/vary/lean":-2,"/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/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/tip/spec":-5,"/mol/vary":-1,"/mol/vary/type":-1,"/mol/dom":-1,"/mol/dom/serialize":-3,"/mol/dom/parse":-3},"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},"mol/dom/serialize":{"..":-999,"/mol/dom/serialize":-1,"/mol/dom/context":-2},"mol/dom/parse":{"..":-999,"/mol/dom/parse":-1,"/mol/dom/context":-2}}}
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/bigint/encode/encode.ts","mol/charset/buffer/buffer.ts","mol/charset/encode/encode.ts","mol/bigint/decode/decode.ts","mol/charset/encoding/encoding.ts","mol/charset/decode/decode.ts","mol/dom/context/context.ts","mol/dom/context/context.web.ts","mol/dom/dom.ts","mol/dom/serialize/serialize.ts","mol/dom/parse/parse.ts","mol/vary/vary.ts","mol/vary/readme.md"],"mods":{},"deps_in":{"mol":{"mol/vary":-999,"mol/fail":-999,"mol/bigint":-999,"mol/charset":-999,"mol/dom":-999},"":{"mol":-999},"mol/fail":{"mol/vary":-3},"mol/bigint/encode":{"mol/vary":-4},"mol/bigint":{"mol/bigint/encode":-999,"mol/bigint/decode":-999},"mol/charset/encode":{"mol/vary":-4},"mol/charset":{"mol/charset/encode":-999,"mol/charset/buffer":-999,"mol/charset/decode":-999,"mol/charset/encoding":-999},"mol/charset/buffer":{"mol/charset/encode":-2},"mol/bigint/decode":{"mol/vary":-5},"mol/charset/decode":{"mol/vary":-4},"mol/charset/encoding":{"mol/charset/decode":-1},"mol/dom":{"mol/vary":-1,"mol/dom/serialize":-999,"mol/dom/parse":-999},"mol/dom/context":{"mol/dom":-1,"mol/dom/serialize":-2,"mol/dom/parse":-2},"mol/dom/context/context.ts":{"mol/dom/context":0},"mol/dom/serialize":{"mol/vary":-3},"mol/dom/parse":{"mol/vary":-3}},"deps_out":{"mol/vary":{"mol":-999,"mol/fail":-3,"mol/bigint/encode":-4,"mol/charset/encode":-4,"mol/bigint/decode":-5,"mol/charset/decode":-4,"mol/dom":-1,"mol/dom/serialize":-3,"mol/dom/parse":-3},"mol":{"":-999},"mol/fail":{"mol":-999},"mol/bigint/encode":{"mol/bigint":-999},"mol/bigint":{"mol":-999},"mol/charset/encode":{"mol/charset":-999,"mol/charset/buffer":-2},"mol/charset":{"mol":-999},"mol/charset/buffer":{"mol/charset":-999},"mol/bigint/decode":{"mol/bigint":-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":{},"mol/dom/serialize":{"mol/dom":-999,"mol/dom/context":-2},"mol/dom/parse":{"mol/dom":-999,"mol/dom/context":-2}},"sloc":{"ts":658,"LICENSE":113,"md":536,"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/class":-1,"/mol/vary/lean":-2,"/mol/fail":-3,"/mol/vary/tip/uint":-4,"/mol/vary/tip/link":-4,"/mol/bigint/encode":-4,"/mol/vary/spec/fp64":-4,"/mol/charset/encode/to":-4,"/mol/vary/tip/text":-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/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":-4,"/mol/vary/tip/spec":-5,"/mol/vary":-1,"/mol/vary/type":-1,"/mol/dom":-1,"/mol/dom/serialize":-3,"/mol/dom/parse":-3},"mol":{"..":-999},"":{},"mol/fail":{"..":-999,"/mol/fail":-1},"mol/bigint/encode":{"..":-999,"/mol/bigint/encode":-1},"mol/bigint":{"..":-999},"mol/charset/encode":{"..":-999,"/mol/charset/encode":-1,"/mol/charset/buffer":-2,"/mol/charset/encode/to":-1,"/mol/charset/encode/size":-1},"mol/charset":{"..":-999},"mol/charset/buffer":{"..":-999,"/mol/charset/buffer":-1},"mol/bigint/decode":{"..":-999,"/mol/bigint/decode":-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},"mol/dom/serialize":{"..":-999,"/mol/dom/serialize":-1,"/mol/dom/context":-2},"mol/dom/parse":{"..":-999,"/mol/dom/parse":-1,"/mol/dom/context":-2}}}
package/web.js CHANGED
@@ -28,6 +28,16 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
28
28
  var $ = ( typeof module === 'object' ) ? ( module['export'+'s'] = globalThis ) : globalThis
29
29
  $.$$ = $
30
30
 
31
+ ;
32
+ "use strict";
33
+ var $;
34
+ (function ($) {
35
+ function $mol_fail(error) {
36
+ throw error;
37
+ }
38
+ $.$mol_fail = $mol_fail;
39
+ })($ || ($ = {}));
40
+
31
41
  ;
32
42
  "use strict";
33
43
  var $;
@@ -54,21 +64,21 @@ var $;
54
64
  "use strict";
55
65
  var $;
56
66
  (function ($) {
57
- function $mol_fail(error) {
58
- throw error;
67
+ let buf = new Uint8Array(2 ** 12);
68
+ function $mol_charset_buffer(size) {
69
+ if (buf.byteLength < size)
70
+ buf = new Uint8Array(size);
71
+ return buf;
59
72
  }
60
- $.$mol_fail = $mol_fail;
73
+ $.$mol_charset_buffer = $mol_charset_buffer;
61
74
  })($ || ($ = {}));
62
75
 
63
76
  ;
64
77
  "use strict";
65
78
  var $;
66
79
  (function ($) {
67
- let buf = new Uint8Array(2 ** 12);
68
80
  function $mol_charset_encode(str) {
69
- const capacity = str.length * 3;
70
- if (buf.byteLength < capacity)
71
- buf = new Uint8Array(capacity);
81
+ const buf = $mol_charset_buffer(str.length * 3);
72
82
  return buf.slice(0, $mol_charset_encode_to(str, buf));
73
83
  }
74
84
  $.$mol_charset_encode = $mol_charset_encode;
@@ -160,59 +170,6 @@ var $;
160
170
  $.$mol_charset_decode = $mol_charset_decode;
161
171
  })($ || ($ = {}));
162
172
 
163
- ;
164
- "use strict";
165
- var $;
166
- (function ($) {
167
- function $mol_charset_decode_from(buffer, from, count) {
168
- const codes = [];
169
- let pos = from;
170
- while (pos < buffer.length && codes.length < count) {
171
- const byte1 = buffer[pos++];
172
- if (byte1 <= 0x7F) {
173
- codes.push(byte1);
174
- }
175
- else if ((byte1 & 0xE0) === 0xC0) {
176
- if (pos >= buffer.length)
177
- break;
178
- const byte2 = buffer[pos++];
179
- const code = ((byte1 & 0x1F) << 6) | (byte2 & 0x3F);
180
- codes.push(code);
181
- }
182
- else if ((byte1 & 0xF0) === 0xE0) {
183
- if (pos + 1 >= buffer.length)
184
- break;
185
- const byte2 = buffer[pos++];
186
- const byte3 = buffer[pos++];
187
- const code = ((byte1 & 0x0F) << 12) | ((byte2 & 0x3F) << 6) | (byte3 & 0x3F);
188
- codes.push(code);
189
- }
190
- else if ((byte1 & 0xF8) === 0xF0) {
191
- if (pos + 2 >= buffer.length)
192
- break;
193
- const byte2 = buffer[pos++];
194
- const byte3 = buffer[pos++];
195
- const byte4 = buffer[pos++];
196
- let code = ((byte1 & 0x07) << 18) | ((byte2 & 0x3F) << 12) | ((byte3 & 0x3F) << 6) | (byte4 & 0x3F);
197
- if (code > 0xFFFF) {
198
- code -= 0x10000;
199
- const hi = 0xD800 + (code >> 10);
200
- const lo = 0xDC00 + (code & 0x3FF);
201
- codes.push(hi, lo);
202
- }
203
- else {
204
- codes.push(code);
205
- }
206
- }
207
- else {
208
- codes.push(0xFFFD);
209
- }
210
- }
211
- return [String.fromCharCode(...codes), pos - from];
212
- }
213
- $.$mol_charset_decode_from = $mol_charset_decode_from;
214
- })($ || ($ = {}));
215
-
216
173
  ;
217
174
  "use strict";
218
175
  var $;
@@ -323,8 +280,21 @@ var $;
323
280
  const release = (size) => {
324
281
  capacity -= size;
325
282
  };
326
- const dump_unum = (tip, val) => {
327
- if (val < $mol_vary_len.L1) {
283
+ const calc_size = (val) => {
284
+ if (val < $mol_vary_len.L1)
285
+ return 1;
286
+ if (val < 2 ** 8)
287
+ return 2;
288
+ if (val < 2 ** 16)
289
+ return 3;
290
+ if (val < 2 ** 32)
291
+ return 5;
292
+ if (val < 2n ** 64n)
293
+ return 9;
294
+ return $mol_fail(new Error('Too large number'));
295
+ };
296
+ const dump_unum = (tip, val, max = val) => {
297
+ if (max < $mol_vary_len.L1) {
328
298
  this.array[pos++] = tip | Number(val);
329
299
  release(8);
330
300
  return;
@@ -334,24 +304,24 @@ var $;
334
304
  if (offset !== undefined)
335
305
  return dump_unum($mol_vary_tip.link, offset);
336
306
  }
337
- if (val < 2 ** 8) {
307
+ if (max < 2 ** 8) {
338
308
  this.array[pos++] = tip | $mol_vary_len.L1;
339
309
  this.array[pos++] = Number(val);
340
310
  release(7);
341
311
  }
342
- else if (val < 2 ** 16) {
312
+ else if (max < 2 ** 16) {
343
313
  this.array[pos++] = tip | $mol_vary_len.L2;
344
314
  this.buffer.setUint16(pos, Number(val), true);
345
315
  pos += 2;
346
316
  release(6);
347
317
  }
348
- else if (val < 2 ** 32) {
318
+ else if (max < 2 ** 32) {
349
319
  this.array[pos++] = tip | $mol_vary_len.L4;
350
320
  this.buffer.setUint32(pos, Number(val), true);
351
321
  pos += 4;
352
322
  release(4);
353
323
  }
354
- else if (val < 2n ** 64n) {
324
+ else if (max < 2n ** 64n) {
355
325
  this.array[pos++] = tip | $mol_vary_len.L8;
356
326
  this.buffer.setBigUint64(pos, BigInt(val), true);
357
327
  pos += 8;
@@ -422,11 +392,13 @@ var $;
422
392
  const offset = offsets.get(val);
423
393
  if (offset !== undefined)
424
394
  return dump_unum($mol_vary_tip.link, offset);
425
- dump_unum($mol_vary_tip.text, val.length);
426
- acquire(val.length * 3);
427
- const len = $mol_charset_encode_to(val, this.array, pos);
395
+ const len_max = val.length * 3;
396
+ const len_size = calc_size(len_max);
397
+ acquire(len_max);
398
+ const len = $mol_charset_encode_to(val, this.array, pos + len_size);
399
+ dump_unum($mol_vary_tip.text, len, len_max);
428
400
  pos += len;
429
- release(val.length * 3 - len);
401
+ release(len_max - len);
430
402
  offsets.set(val, offsets.size);
431
403
  return;
432
404
  };
@@ -632,8 +604,8 @@ var $;
632
604
  };
633
605
  const read_text = (kind) => {
634
606
  const len = read_unum(kind);
635
- const [text, bytes] = $mol_charset_decode_from(array, pos, len);
636
- pos += bytes;
607
+ const text = $mol_charset_decode(new Uint8Array(array.buffer, array.byteOffset + pos, len));
608
+ pos += len;
637
609
  stream.push(text);
638
610
  return text;
639
611
  };
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/dom/serialize/serialize.ts","../../../mol/dom/parse/parse.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 & 255n )\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\n\texport function $mol_dom_serialize(\n\t\tnode: Node\n\t) {\n\t\tconst serializer = new $mol_dom_context.XMLSerializer\n\t\treturn serializer.serializeToString( node )\n\t}\n\n}\n","namespace $ {\n\n\texport function $mol_dom_parse(\n\t\ttext : string ,\n\t\ttype : DOMParserSupportedType = 'application/xhtml+xml' ,\n\t) {\n\n\t\tconst parser = new $mol_dom_context.DOMParser()\n\t\tconst doc = parser.parseFromString( text , type )\n\t\t\n\t\tconst error = doc.getElementsByTagName( 'parsererror' )\n\t\tif( error.length ) throw new Error( error[0].textContent! )\n\n\t\treturn doc\n\t}\n\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\tblob = 0b100 << 5,\n\t\ttext = 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 = 'H'.charCodeAt(0),\n\t\tfp32 = 'S'.charCodeAt(0),\n\t\tfp64 = 'D'.charCodeAt(0),\n\t\tf128 = 'Q'.charCodeAt(0),\n\t\tf256 = 'O'.charCodeAt(0),\n\t}\n\t\n\tconst pojo_maker = ( keys: readonly any[] )=> ( vals: readonly any[] )=> {\n\t\tconst obj = {} as any\n\t\tfor( let i = 0; i < keys.length; ++i ) obj[ keys[i] ] = vals[i]\n\t\treturn obj\n\t}\n\t\n\t/** VaryPack - simple fast compact data binarization format. */\n\texport class $mol_vary_class extends Object {\n\t\t\n\t\tlean_symbol = Symbol( '$mol_vary_lean' )\n\t\n\t\tarray = new Uint8Array( 256 )\n\t\tbuffer = new DataView( this.array.buffer )\n\t\t\n\t\t/** Packs any data to Uint8Array with deduplication. */\n\t\tpack( data: readonly 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\tconst stack = [] as any[]\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( this.array.byteLength >= capacity ) return\n\t\t\t\tconst buffer2 = new Uint8Array( Math.ceil( capacity / 4096 ) * 4096 )\n\t\t\t\tbuffer2.set( this.array )\n\t\t\t\tthis.array = buffer2\n\t\t\t\tthis.buffer = new DataView( this.array.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\tthis.array[ 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\tthis.array[ pos ++ ] = tip | $mol_vary_len.L1\n\t\t\t\t\tthis.array[ 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\tthis.array[ pos ++ ] = tip | $mol_vary_len.L2\n\t\t\t\t\tthis.buffer.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\tthis.array[ pos ++ ] = tip | $mol_vary_len.L4\n\t\t\t\t\tthis.buffer.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\tthis.array[ pos ++ ] = tip | $mol_vary_len.L8\n\t\t\t\t\tthis.buffer.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\tthis.array[ 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\tthis.array[ pos ++ ] = - $mol_vary_len.L1\n\t\t\t\t\tthis.array[ 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\tthis.array[ pos ++ ] = -$mol_vary_len.L2\n\t\t\t\t\tthis.buffer.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\tthis.array[ pos ++ ] = - $mol_vary_len.L4\n\t\t\t\t\tthis.buffer.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\tthis.array[ pos ++ ] = - $mol_vary_len.L8\n\t\t\t\t\tthis.buffer.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 > ( 2**16 + 8 ) ) $mol_fail( new Error( 'Number too high', { cause: { val } } ) )\n\t\t\t\tacquire( buf.byteLength - 6 )\n\t\t\t\t\n\t\t\t\tthis.array[ pos ++ ] = - $mol_vary_len.LA\n\t\t\t\tthis.buffer.setUint16( pos, buf.byteLength - 9, true )\n\t\t\t\tpos += 2\n\t\t\t\t\n\t\t\t\tthis.array.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\tthis.array[ pos ++ ] = $mol_vary_spec.fp64\n\t\t\t\tthis.buffer.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, this.array, 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 ) this.array[ pos ++ ] = $mol_vary_tip.uint | $mol_vary_len.L1\n\t\t\t\telse if( val instanceof Uint16Array ) this.array[ pos ++ ] = $mol_vary_tip.uint | $mol_vary_len.L2\n\t\t\t\telse if( val instanceof Uint32Array ) this.array[ pos ++ ] = $mol_vary_tip.uint | $mol_vary_len.L4\n\t\t\t\telse if( val instanceof BigUint64Array ) this.array[ pos ++ ] = $mol_vary_tip.uint | $mol_vary_len.L8\n\t\t\t\t\n\t\t\t\telse if( val instanceof Int8Array ) this.array[ pos ++ ] = $mol_vary_tip.sint | ~$mol_vary_len.L1\n\t\t\t\telse if( val instanceof Int16Array ) this.array[ pos ++ ] = $mol_vary_tip.sint | ~$mol_vary_len.L2\n\t\t\t\telse if( val instanceof Int32Array ) this.array[ pos ++ ] = $mol_vary_tip.sint | ~$mol_vary_len.L4\n\t\t\t\telse if( val instanceof BigInt64Array ) this.array[ 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 ) this.array[ pos ++ ] = $mol_vary_spec.fp16\n\t\t\t\telse if( val instanceof Float32Array ) this.array[ pos ++ ] = $mol_vary_spec.fp32\n\t\t\t\telse if( val instanceof Float64Array ) this.array[ 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\tthis.array.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\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\t\n\t\t\t\tif( stack.includes( val ) ) $mol_fail( new Error( 'Cyclic refs', { cause: { stack, val } } ) ) \n\t\t\t\tstack.push( val )\n\t\t\t\t\n\t\t\t\tfor( let i = 0; i < val.length; ++ i ) dump( val[i] )\n\t\t\t\t\n\t\t\t\tif( stack.at(-1) !== val ) $mol_fail( new Error( 'Broken stack', { cause: { stack, val } } ) )\n\t\t\t\tstack.pop()\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 { 0: keys, 1: vals } = this.lean_find( val )?.( 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\t\n\t\t\t\tif( stack.includes( val ) ) $mol_fail( new Error( 'Cyclic refs', { cause: { stack, val } } ) ) \n\t\t\t\tstack.push( val )\n\t\t\t\t\n\t\t\t\tfor( let i = 0; i < vals.length; ++ i ) dump( vals[i] )\n\t\t\t\t\n\t\t\t\tif( stack.at(-1) !== val ) $mol_fail( new Error( 'Broken stack', { cause: { stack, val } } ) )\n\t\t\t\tstack.pop()\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 dumpers: Record< string, ( val: unknown )=> void > = {\n\t\t\t\tundefined: ()=> {\n\t\t\t\t\tthis.array[ pos ++ ] = $mol_vary_spec.both\n\t\t\t\t\tcapacity -= 8\n\t\t\t\t},\n\t\t\t\tboolean: val => {\n\t\t\t\t\tthis.array[ pos ++ ] = val ? $mol_vary_spec.true : $mol_vary_spec.fake\n\t\t\t\t\tcapacity -= 8\n\t\t\t\t},\n\t\t\t\tnumber: val => {\n\t\t\t\t\tif( !Number.isInteger( val ) ) dump_float( val as number )\n\t\t\t\t\telse dumpers.bigint( val )\n\t\t\t\t},\n\t\t\t\tbigint: val => {\n\t\t\t\t\tif( val as bigint < 0 ) {\n\t\t\t\t\t\tdump_snum( val as bigint )\n\t\t\t\t\t} else {\n\t\t\t\t\t\tdump_unum( $mol_vary_tip.uint, val as bigint )\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tstring: val => dump_string( val as string ),\n\t\t\t\tobject: val => {\n\t\t\t\t\tif( !val ) {\n\t\t\t\t\t\tcapacity -= 8\n\t\t\t\t\t\treturn this.array[ pos ++ ] = $mol_vary_spec.none\n\t\t\t\t\t}\n\t\t\t\t\tif( Array.isArray( val ) ) return dump_list( val )\n\t\t\t\t\tif( ArrayBuffer.isView( val ) ) return dump_buffer( val as ArrayBufferView< ArrayBuffer > )\n\t\t\t\t\t\n\t\t\t\t\treturn dump_object( val )\n\t\t\t\t}\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\tconst dumper = dumpers[ typeof val ]\n\t\t\t\tif( !dumper ) $mol_fail( new Error( `Unsupported type` ) )\n\t\t\t\tdumper( val )\n\t\t\t}\n\t\t\t\n\t\t\tfor( let i = 0; i < data.length; ++ i ) {\n\t\t\t\tcapacity += 9\n\t\t\t\tdump( data[i] )\n\t\t\t\tif( stack.length ) $mol_fail( new Error( 'Stack underflow', { cause: { stack, item: data[i] } } ) )\n\t\t\t\toffsets.clear()\n\t\t\t}\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 this.array.slice( 0, pos )\n\t\t\t\n\t\t}\n\t\t\n\t\t/** Parses buffer to rich runtime structures. */\n\t\ttake( array: Uint8Array< ArrayBuffer > ): unknown {\n\t\t\t\n\t\t\tconst buffer = new DataView( array.buffer, array.byteOffset, array.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 = buffer.getUint8( pos ++ )\n\t\t\t\t} else if( num === $mol_vary_len.L2 ) {\n\t\t\t\t\tres = buffer.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 = buffer.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 = buffer.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 = buffer.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 = buffer.getInt8( pos ++ )\n\t\t\t\t} else if( num === - $mol_vary_len.L2 ) {\n\t\t\t\t\tres= buffer.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 = buffer.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 = buffer.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 = buffer.getUint16( pos, true ) + 9\n\t\t\t\t\tpos += 2\n\t\t\t\t\tres = $mol_bigint_decode( new Uint8Array( buffer.buffer, buffer.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( array, 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( array.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 = buffer.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() as readonly string[]\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 node = this.rich_node( keys )\n\t\t\t\tlet rich = node.get( null )\n\t\t\t\t\n\t\t\t\tif( !rich ) node.set( null, rich = pojo_maker( keys ) )\n\t\t\t\t\n\t\t\t\tconst obj = rich( vals )\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 = buffer.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 = buffer.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 = buffer.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 = buffer.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 = [] as unknown[]\n\t\t\twhile( pos < array.byteLength ) {\n\t\t\t\tresult.push( read_vary() )\n\t\t\t\tstream.length = 0\t\n\t\t\t}\n\t\t\t\n\t\t\treturn result\n\t\t}\n\t\t\n\t\trich_index = new Map< string | null, any >([\n\t\t\t[ null, ()=> ({}) ]\n\t\t])\n\t\t\n\t\t/** Isolated Vary for custom types */\n\t\tzone() {\n\t\t\tconst room = new $mol_vary_class\n\t\t\tObject.setPrototypeOf( room, this )\n\t\t\tconst index_clone = ( map: Map< string | null, any > ): Map<any,any> => new Map(\n\t\t\t\t[ ... map ].map(\n\t\t\t\t\t([ k, v ])=> [ k, k === null ? v : index_clone( v ) ]\n\t\t\t\t)\n\t\t\t)\n\t\t\troom.rich_index = index_clone( this.rich_index )\n\t\t\treturn room\n\t\t}\n\t\t\n\t\trich_node( keys: readonly string[] ) {\n\t\t\t\n\t\t\tlet node = this.rich_index\n\t\t\tfor( let i = 0; i < keys.length; ++ i ) {\n\t\t\t\tlet sub = node.get( keys[i] )\n\t\t\t\t\n\t\t\t\tif( sub ) node = sub\n\t\t\t\telse node.set( keys[i], node = new Map )\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\treturn node\n\t\t}\n\t\t\n\t\tlean_find( val: any ) {\n\t\t\t\n\t\t\tconst lean = val[ this.lean_symbol ]\n\t\t\tif( lean ) return lean\n\t\t\t\n\t\t\tconst sup = Object.getPrototypeOf( this )\n\t\t\tif( sup === Object.prototype ) return\n\t\t\t\n\t\t\treturn sup.lean_find( val )\n\t\t}\n\t\t\n\t\t/** Adds custom types support. */\n\t\ttype<\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>( { type, keys, rich, lean }: {\n\t\t\ttype: 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.rich_node( keys ).set( null, rich )\n\t\t\t;( type.prototype as any )[ this.lean_symbol ] = ( val: Instance )=> [ keys, lean( val ) ]\n\t\t}\n\t\t\n\t}\n\t\n\texport let $mol_vary = new $mol_vary_class\n\t\t\n\t/** Native Map support */\n\t$mol_vary.type({\n\t\ttype: Map,\n\t\tkeys: [ 'keys', 'vals' ],\n\t\tlean: obj => [ [ ... obj.keys() ], [ ... obj.values() ] ],\n\t\trich: ([ 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\ttype: Set,\n\t\tkeys: [ 'set' ],\n\t\tlean: obj => [ [ ... obj.values() ] ],\n\t\trich: ([ vals ])=> new Set( vals ),\n\t})\n\t\n\t/** Native Date support */\n\t$mol_vary.type({\n\t\ttype: Date,\n\t\tkeys: [ 'unix_time' ],\n\t\tlean: obj => [ obj.valueOf() / 1000 ],\n\t\trich: ([ ts ])=> new Date( ts * 1000 ),\n\t})\n\t\n\tif( 'Element' in $mol_dom ) { // Absent in workers\n\t\t/** Native Element support */\n\t\t$mol_vary.type({\n\t\t\ttype: $mol_dom.Element,\n\t\t\tkeys: [ 'XML' ],\n\t\t\tlean: node => [ $mol_dom_serialize( node ) ],\n\t\t\trich: ([ text ]) => $mol_dom_parse( text, 'application/xml' ).documentElement,\n\t\t})\n\t}\n\t\n}\n"]}
1
+ {"version":3,"sources":["-","../../../mam.ts","../../../mol/fail/fail.ts","../../../mol/bigint/encode/encode.ts","../../../mol/charset/buffer/buffer.ts","../../../mol/charset/encode/encode.ts","../../../mol/bigint/decode/decode.ts","../../../mol/charset/decode/decode.ts","../../../mol/dom/context/context.ts","../../../mol/dom/context/context.web.ts","../../../mol/dom/dom.ts","../../../mol/dom/serialize/serialize.ts","../../../mol/dom/parse/parse.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\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 & 255n )\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\t\n\tlet buf = new Uint8Array( 2**12 ) // 4KB Mem Page\n\t\n\t/** Temporary buffer. Recursive usage isn't supported. */\n\texport function $mol_charset_buffer( size: number ) {\n\t\tif( buf.byteLength < size ) buf = new Uint8Array( size )\n\t\treturn buf\n\t}\n\t\n}\n","namespace $ {\n\n\texport function $mol_charset_encode( str: string ) {\n\t\tconst buf = $mol_charset_buffer( str.length * 3 )\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\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\n\texport function $mol_dom_serialize(\n\t\tnode: Node\n\t) {\n\t\tconst serializer = new $mol_dom_context.XMLSerializer\n\t\treturn serializer.serializeToString( node )\n\t}\n\n}\n","namespace $ {\n\n\texport function $mol_dom_parse(\n\t\ttext : string ,\n\t\ttype : DOMParserSupportedType = 'application/xhtml+xml' ,\n\t) {\n\n\t\tconst parser = new $mol_dom_context.DOMParser()\n\t\tconst doc = parser.parseFromString( text , type )\n\t\t\n\t\tconst error = doc.getElementsByTagName( 'parsererror' )\n\t\tif( error.length ) throw new Error( error[0].textContent! )\n\n\t\treturn doc\n\t}\n\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\tblob = 0b100 << 5,\n\t\ttext = 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 = 'H'.charCodeAt(0),\n\t\tfp32 = 'S'.charCodeAt(0),\n\t\tfp64 = 'D'.charCodeAt(0),\n\t\tf128 = 'Q'.charCodeAt(0),\n\t\tf256 = 'O'.charCodeAt(0),\n\t}\n\t\n\tconst pojo_maker = ( keys: readonly any[] )=> ( vals: readonly any[] )=> {\n\t\tconst obj = {} as any\n\t\tfor( let i = 0; i < keys.length; ++i ) obj[ keys[i] ] = vals[i]\n\t\treturn obj\n\t}\n\t\n\t/** VaryPack - simple fast compact data binarization format. */\n\texport class $mol_vary_class extends Object {\n\t\t\n\t\tlean_symbol = Symbol( '$mol_vary_lean' )\n\t\n\t\tarray = new Uint8Array( 256 )\n\t\tbuffer = new DataView( this.array.buffer )\n\t\t\n\t\t/** Packs any data to Uint8Array with deduplication. */\n\t\tpack( data: readonly 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\tconst stack = [] as any[]\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( this.array.byteLength >= capacity ) return\n\t\t\t\tconst buffer2 = new Uint8Array( Math.ceil( capacity / 4096 ) * 4096 )\n\t\t\t\tbuffer2.set( this.array )\n\t\t\t\tthis.array = buffer2\n\t\t\t\tthis.buffer = new DataView( this.array.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 calc_size = ( val: number ) => {\n\t\t\t\tif( val < $mol_vary_len.L1 ) return 1\n\t\t\t\tif( val < 2**8 ) return 2\n\t\t\t\tif( val < 2**16 ) return 3\n\t\t\t\tif( val < 2**32 ) return 5\n\t\t\t\tif( val < 2n**64n ) return 9\n\t\t\t\treturn $mol_fail( new Error( 'Too large number' ) )\n\t\t\t}\n\t\t\t\n\t\t\tconst dump_unum = ( tip: number, val: number | bigint, max = val )=> {\n\t\t\t\t\n\t\t\t\tif( max < $mol_vary_len.L1 ) {\n\t\t\t\t\tthis.array[ 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( max < 2**8 ) {\n\t\t\t\t\tthis.array[ pos ++ ] = tip | $mol_vary_len.L1\n\t\t\t\t\tthis.array[ pos ++ ] = Number( val )\n\t\t\t\t\trelease(7)\n\t\t\t\t} else if( max < 2**16 ) {\n\t\t\t\t\tthis.array[ pos ++ ] = tip | $mol_vary_len.L2\n\t\t\t\t\tthis.buffer.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( max < 2**32 ) {\n\t\t\t\t\tthis.array[ pos ++ ] = tip | $mol_vary_len.L4\n\t\t\t\t\tthis.buffer.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( max < 2n**64n ) {\n\t\t\t\t\tthis.array[ pos ++ ] = tip | $mol_vary_len.L8\n\t\t\t\t\tthis.buffer.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\tthis.array[ 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\tthis.array[ pos ++ ] = - $mol_vary_len.L1\n\t\t\t\t\tthis.array[ 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\tthis.array[ pos ++ ] = -$mol_vary_len.L2\n\t\t\t\t\tthis.buffer.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\tthis.array[ pos ++ ] = - $mol_vary_len.L4\n\t\t\t\t\tthis.buffer.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\tthis.array[ pos ++ ] = - $mol_vary_len.L8\n\t\t\t\t\tthis.buffer.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 > ( 2**16 + 8 ) ) $mol_fail( new Error( 'Number too high', { cause: { val } } ) )\n\t\t\t\tacquire( buf.byteLength - 6 )\n\t\t\t\t\n\t\t\t\tthis.array[ pos ++ ] = - $mol_vary_len.LA\n\t\t\t\tthis.buffer.setUint16( pos, buf.byteLength - 9, true )\n\t\t\t\tpos += 2\n\t\t\t\t\n\t\t\t\tthis.array.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\tthis.array[ pos ++ ] = $mol_vary_spec.fp64\n\t\t\t\tthis.buffer.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\tconst len_max = val.length * 3\n\t\t\t\tconst len_size = calc_size( len_max )\n\t\t\t\t\n\t\t\t\tacquire( len_max )\n\t\t\t\tconst len = $mol_charset_encode_to( val, this.array, pos + len_size )\n\t\t\t\tdump_unum( $mol_vary_tip.text, len, len_max )\n\t\t\t\tpos += len\n\t\t\t\trelease( len_max - 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 ) this.array[ pos ++ ] = $mol_vary_tip.uint | $mol_vary_len.L1\n\t\t\t\telse if( val instanceof Uint16Array ) this.array[ pos ++ ] = $mol_vary_tip.uint | $mol_vary_len.L2\n\t\t\t\telse if( val instanceof Uint32Array ) this.array[ pos ++ ] = $mol_vary_tip.uint | $mol_vary_len.L4\n\t\t\t\telse if( val instanceof BigUint64Array ) this.array[ pos ++ ] = $mol_vary_tip.uint | $mol_vary_len.L8\n\t\t\t\t\n\t\t\t\telse if( val instanceof Int8Array ) this.array[ pos ++ ] = $mol_vary_tip.sint | ~$mol_vary_len.L1\n\t\t\t\telse if( val instanceof Int16Array ) this.array[ pos ++ ] = $mol_vary_tip.sint | ~$mol_vary_len.L2\n\t\t\t\telse if( val instanceof Int32Array ) this.array[ pos ++ ] = $mol_vary_tip.sint | ~$mol_vary_len.L4\n\t\t\t\telse if( val instanceof BigInt64Array ) this.array[ 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 ) this.array[ pos ++ ] = $mol_vary_spec.fp16\n\t\t\t\telse if( val instanceof Float32Array ) this.array[ pos ++ ] = $mol_vary_spec.fp32\n\t\t\t\telse if( val instanceof Float64Array ) this.array[ 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\tthis.array.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\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\t\n\t\t\t\tif( stack.includes( val ) ) $mol_fail( new Error( 'Cyclic refs', { cause: { stack, val } } ) ) \n\t\t\t\tstack.push( val )\n\t\t\t\t\n\t\t\t\tfor( let i = 0; i < val.length; ++ i ) dump( val[i] )\n\t\t\t\t\n\t\t\t\tif( stack.at(-1) !== val ) $mol_fail( new Error( 'Broken stack', { cause: { stack, val } } ) )\n\t\t\t\tstack.pop()\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 { 0: keys, 1: vals } = this.lean_find( val )?.( 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\t\n\t\t\t\tif( stack.includes( val ) ) $mol_fail( new Error( 'Cyclic refs', { cause: { stack, val } } ) ) \n\t\t\t\tstack.push( val )\n\t\t\t\t\n\t\t\t\tfor( let i = 0; i < vals.length; ++ i ) dump( vals[i] )\n\t\t\t\t\n\t\t\t\tif( stack.at(-1) !== val ) $mol_fail( new Error( 'Broken stack', { cause: { stack, val } } ) )\n\t\t\t\tstack.pop()\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 dumpers: Record< string, ( val: unknown )=> void > = {\n\t\t\t\tundefined: ()=> {\n\t\t\t\t\tthis.array[ pos ++ ] = $mol_vary_spec.both\n\t\t\t\t\tcapacity -= 8\n\t\t\t\t},\n\t\t\t\tboolean: val => {\n\t\t\t\t\tthis.array[ pos ++ ] = val ? $mol_vary_spec.true : $mol_vary_spec.fake\n\t\t\t\t\tcapacity -= 8\n\t\t\t\t},\n\t\t\t\tnumber: val => {\n\t\t\t\t\tif( !Number.isInteger( val ) ) dump_float( val as number )\n\t\t\t\t\telse dumpers.bigint( val )\n\t\t\t\t},\n\t\t\t\tbigint: val => {\n\t\t\t\t\tif( val as bigint < 0 ) {\n\t\t\t\t\t\tdump_snum( val as bigint )\n\t\t\t\t\t} else {\n\t\t\t\t\t\tdump_unum( $mol_vary_tip.uint, val as bigint )\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tstring: val => dump_string( val as string ),\n\t\t\t\tobject: val => {\n\t\t\t\t\tif( !val ) {\n\t\t\t\t\t\tcapacity -= 8\n\t\t\t\t\t\treturn this.array[ pos ++ ] = $mol_vary_spec.none\n\t\t\t\t\t}\n\t\t\t\t\tif( Array.isArray( val ) ) return dump_list( val )\n\t\t\t\t\tif( ArrayBuffer.isView( val ) ) return dump_buffer( val as ArrayBufferView< ArrayBuffer > )\n\t\t\t\t\t\n\t\t\t\t\treturn dump_object( val )\n\t\t\t\t}\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\tconst dumper = dumpers[ typeof val ]\n\t\t\t\tif( !dumper ) $mol_fail( new Error( `Unsupported type` ) )\n\t\t\t\tdumper( val )\n\t\t\t}\n\t\t\t\n\t\t\tfor( let i = 0; i < data.length; ++ i ) {\n\t\t\t\tcapacity += 9\n\t\t\t\tdump( data[i] )\n\t\t\t\tif( stack.length ) $mol_fail( new Error( 'Stack underflow', { cause: { stack, item: data[i] } } ) )\n\t\t\t\toffsets.clear()\n\t\t\t}\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 this.array.slice( 0, pos )\n\t\t\t\n\t\t}\n\t\t\n\t\t/** Parses buffer to rich runtime structures. */\n\t\ttake( array: Uint8Array< ArrayBuffer > ): unknown {\n\t\t\t\n\t\t\tconst buffer = new DataView( array.buffer, array.byteOffset, array.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 = buffer.getUint8( pos ++ )\n\t\t\t\t} else if( num === $mol_vary_len.L2 ) {\n\t\t\t\t\tres = buffer.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 = buffer.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 = buffer.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 = buffer.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 = buffer.getInt8( pos ++ )\n\t\t\t\t} else if( num === - $mol_vary_len.L2 ) {\n\t\t\t\t\tres= buffer.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 = buffer.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 = buffer.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 = buffer.getUint16( pos, true ) + 9\n\t\t\t\t\tpos += 2\n\t\t\t\t\tres = $mol_bigint_decode( new Uint8Array( buffer.buffer, buffer.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 = $mol_charset_decode( new Uint8Array( array.buffer, array.byteOffset + pos, len ) )\n\t\t\t\tpos += len\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( array.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 = buffer.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() as readonly string[]\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 node = this.rich_node( keys )\n\t\t\t\tlet rich = node.get( null )\n\t\t\t\t\n\t\t\t\tif( !rich ) node.set( null, rich = pojo_maker( keys ) )\n\t\t\t\t\n\t\t\t\tconst obj = rich( vals )\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 = buffer.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 = buffer.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 = buffer.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 = buffer.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 = [] as unknown[]\n\t\t\twhile( pos < array.byteLength ) {\n\t\t\t\tresult.push( read_vary() )\n\t\t\t\tstream.length = 0\t\n\t\t\t}\n\t\t\t\n\t\t\treturn result\n\t\t}\n\t\t\n\t\trich_index = new Map< string | null, any >([\n\t\t\t[ null, ()=> ({}) ]\n\t\t])\n\t\t\n\t\t/** Isolated Vary for custom types */\n\t\tzone() {\n\t\t\tconst room = new $mol_vary_class\n\t\t\tObject.setPrototypeOf( room, this )\n\t\t\tconst index_clone = ( map: Map< string | null, any > ): Map<any,any> => new Map(\n\t\t\t\t[ ... map ].map(\n\t\t\t\t\t([ k, v ])=> [ k, k === null ? v : index_clone( v ) ]\n\t\t\t\t)\n\t\t\t)\n\t\t\troom.rich_index = index_clone( this.rich_index )\n\t\t\treturn room\n\t\t}\n\t\t\n\t\trich_node( keys: readonly string[] ) {\n\t\t\t\n\t\t\tlet node = this.rich_index\n\t\t\tfor( let i = 0; i < keys.length; ++ i ) {\n\t\t\t\tlet sub = node.get( keys[i] )\n\t\t\t\t\n\t\t\t\tif( sub ) node = sub\n\t\t\t\telse node.set( keys[i], node = new Map )\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\treturn node\n\t\t}\n\t\t\n\t\tlean_find( val: any ) {\n\t\t\t\n\t\t\tconst lean = val[ this.lean_symbol ]\n\t\t\tif( lean ) return lean\n\t\t\t\n\t\t\tconst sup = Object.getPrototypeOf( this )\n\t\t\tif( sup === Object.prototype ) return\n\t\t\t\n\t\t\treturn sup.lean_find( val )\n\t\t}\n\t\t\n\t\t/** Adds custom types support. */\n\t\ttype<\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>( { type, keys, rich, lean }: {\n\t\t\ttype: 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.rich_node( keys ).set( null, rich )\n\t\t\t;( type.prototype as any )[ this.lean_symbol ] = ( val: Instance )=> [ keys, lean( val ) ]\n\t\t}\n\t\t\n\t}\n\t\n\texport let $mol_vary = new $mol_vary_class\n\t\t\n\t/** Native Map support */\n\t$mol_vary.type({\n\t\ttype: Map,\n\t\tkeys: [ 'keys', 'vals' ],\n\t\tlean: obj => [ [ ... obj.keys() ], [ ... obj.values() ] ],\n\t\trich: ([ 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\ttype: Set,\n\t\tkeys: [ 'set' ],\n\t\tlean: obj => [ [ ... obj.values() ] ],\n\t\trich: ([ vals ])=> new Set( vals ),\n\t})\n\t\n\t/** Native Date support */\n\t$mol_vary.type({\n\t\ttype: Date,\n\t\tkeys: [ 'unix_time' ],\n\t\tlean: obj => [ obj.valueOf() / 1000 ],\n\t\trich: ([ ts ])=> new Date( ts * 1000 ),\n\t})\n\t\n\tif( 'Element' in $mol_dom ) { // Absent in workers\n\t\t/** Native Element support */\n\t\t$mol_vary.type({\n\t\t\ttype: $mol_dom.Element,\n\t\t\tkeys: [ 'XML' ],\n\t\t\tlean: node => [ $mol_dom_serialize( node ) ],\n\t\t\trich: ([ text ]) => $mol_dom_parse( text, 'application/xml' ).documentElement,\n\t\t})\n\t}\n\t\n}\n"]}