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/node.d.ts +10 -9
- package/node.d.ts.map +1 -1
- package/node.deps.json +1 -1
- package/node.js +49 -72
- package/node.js.map +1 -1
- package/node.mjs +49 -72
- package/node.test.js +54 -100
- package/node.test.js.map +1 -1
- package/package.json +3 -3
- package/web.d.ts +5 -5
- package/web.d.ts.map +1 -1
- package/web.deps.json +1 -1
- package/web.js +44 -72
- package/web.js.map +1 -1
- package/web.mjs +44 -72
- package/web.test.js +5 -28
- package/web.test.js.map +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mol_vary",
|
|
3
|
-
"version": "0.0.
|
|
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 $
|
|
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","../../
|
|
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/
|
|
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
|
-
|
|
58
|
-
|
|
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
|
-
$.$
|
|
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
|
|
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
|
|
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 (
|
|
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 (
|
|
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 (
|
|
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 (
|
|
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
|
-
|
|
426
|
-
|
|
427
|
-
|
|
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(
|
|
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
|
|
636
|
-
pos +=
|
|
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"]}
|