@hpcc-js/wasm 1.19.0 → 1.20.0

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.
Files changed (48) hide show
  1. package/bin/sfx-wasm.mjs +14 -6
  2. package/bin/sfx-wasm.mjs.map +1 -1
  3. package/dist/graphviz.es6.js +3 -0
  4. package/dist/graphviz.es6.js.map +1 -1
  5. package/dist/graphviz.js +3 -0
  6. package/dist/graphviz.js.map +1 -1
  7. package/dist/graphvizlib.wasm +0 -0
  8. package/dist/index.es6.js +5 -680
  9. package/dist/index.es6.js.map +1 -1
  10. package/dist/index.js +4 -680
  11. package/dist/index.js.map +1 -1
  12. package/dist/index.min.js +1 -1
  13. package/dist/index.min.js.map +1 -1
  14. package/dist/index.node.es6.mjs +4 -679
  15. package/dist/index.node.es6.mjs.map +1 -1
  16. package/dist/index.node.js +3 -679
  17. package/dist/index.node.js.map +1 -1
  18. package/dist/sfx-graphviz.esm.js +890 -0
  19. package/dist/sfx-graphviz.esm.js.map +1 -0
  20. package/dist/sfx-graphviz.js +904 -0
  21. package/dist/sfx-graphviz.js.map +1 -0
  22. package/dist/sfx-graphviz.min.js +1 -0
  23. package/dist/sfx-graphviz.min.js.map +1 -0
  24. package/package.json +13 -3
  25. package/types/__tests__/browser-tests.d.ts +2 -0
  26. package/types/__tests__/browser-tests.d.ts.map +1 -0
  27. package/types/__tests__/index-common.d.ts +5 -0
  28. package/types/__tests__/index-common.d.ts.map +1 -0
  29. package/types/__tests__/index-node.d.ts +3 -0
  30. package/types/__tests__/index-node.d.ts.map +1 -0
  31. package/types/__tests__/index.d.ts +2 -4
  32. package/types/__tests__/index.d.ts.map +1 -1
  33. package/types/__tests__/node-tests.d.ts +2 -0
  34. package/types/__tests__/node-tests.d.ts.map +1 -0
  35. package/types/__tests__/worker-browser.d.ts +2 -0
  36. package/types/__tests__/worker-browser.d.ts.map +1 -0
  37. package/types/__tests__/worker-node.d.ts +2 -0
  38. package/types/__tests__/worker-node.d.ts.map +1 -0
  39. package/types/extract.d.ts.map +1 -1
  40. package/types/graphviz.d.ts.map +1 -1
  41. package/types/index-common.d.ts +0 -1
  42. package/types/index-common.d.ts.map +1 -1
  43. package/types/sfx-graphviz.d.ts +59 -0
  44. package/types/sfx-graphviz.d.ts.map +1 -0
  45. package/dist/extract.es6.js +0 -680
  46. package/dist/extract.es6.js.map +0 -1
  47. package/dist/extract.js +0 -690
  48. package/dist/extract.js.map +0 -1
package/dist/extract.js DELETED
@@ -1,690 +0,0 @@
1
- (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
3
- typeof define === 'function' && define.amd ? define(['exports'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global["@hpcc-js/wasm"] = {}));
5
- })(this, (function (exports) { 'use strict';
6
-
7
- // Some numerical data is initialized as -1 even when it doesn't need initialization to help the JIT infer types
8
- // aliases for shorter compressed code (most minifers don't do this)
9
- var ab = ArrayBuffer, u8 = Uint8Array, u16 = Uint16Array, i16 = Int16Array, i32 = Int32Array;
10
- var slc = function (v, s, e) {
11
- if (u8.prototype.slice)
12
- return u8.prototype.slice.call(v, s, e);
13
- if (s == null || s < 0)
14
- s = 0;
15
- if (e == null || e > v.length)
16
- e = v.length;
17
- var n = new u8(e - s);
18
- n.set(v.subarray(s, e));
19
- return n;
20
- };
21
- var fill = function (v, n, s, e) {
22
- if (u8.prototype.fill)
23
- return u8.prototype.fill.call(v, n, s, e);
24
- if (s == null || s < 0)
25
- s = 0;
26
- if (e == null || e > v.length)
27
- e = v.length;
28
- for (; s < e; ++s)
29
- v[s] = n;
30
- return v;
31
- };
32
- var cpw = function (v, t, s, e) {
33
- if (u8.prototype.copyWithin)
34
- return u8.prototype.copyWithin.call(v, t, s, e);
35
- if (s == null || s < 0)
36
- s = 0;
37
- if (e == null || e > v.length)
38
- e = v.length;
39
- while (s < e) {
40
- v[t++] = v[s++];
41
- }
42
- };
43
- // error codes
44
- var ec = [
45
- 'invalid zstd data',
46
- 'window size too large (>2046MB)',
47
- 'invalid block type',
48
- 'FSE accuracy too high',
49
- 'match distance too far back',
50
- 'unexpected EOF'
51
- ];
52
- var err = function (ind, msg, nt) {
53
- var e = new Error(msg || ec[ind]);
54
- e.code = ind;
55
- if (Error.captureStackTrace)
56
- Error.captureStackTrace(e, err);
57
- if (!nt)
58
- throw e;
59
- return e;
60
- };
61
- var rb = function (d, b, n) {
62
- var i = 0, o = 0;
63
- for (; i < n; ++i)
64
- o |= d[b++] << (i << 3);
65
- return o;
66
- };
67
- var b4 = function (d, b) { return (d[b] | (d[b + 1] << 8) | (d[b + 2] << 16) | (d[b + 3] << 24)) >>> 0; };
68
- // read Zstandard frame header
69
- var rzfh = function (dat, w) {
70
- var n3 = dat[0] | (dat[1] << 8) | (dat[2] << 16);
71
- if (n3 == 0x2FB528 && dat[3] == 253) {
72
- // Zstandard
73
- var flg = dat[4];
74
- // single segment checksum dict flag frame content flag
75
- var ss = (flg >> 5) & 1, cc = (flg >> 2) & 1, df = flg & 3, fcf = flg >> 6;
76
- if (flg & 8)
77
- err(0);
78
- // byte
79
- var bt = 6 - ss;
80
- // dict bytes
81
- var db = df == 3 ? 4 : df;
82
- // dictionary id
83
- var di = rb(dat, bt, db);
84
- bt += db;
85
- // frame size bytes
86
- var fsb = fcf ? (1 << fcf) : ss;
87
- // frame source size
88
- var fss = rb(dat, bt, fsb) + ((fcf == 1) && 256);
89
- // window size
90
- var ws = fss;
91
- if (!ss) {
92
- // window descriptor
93
- var wb = 1 << (10 + (dat[5] >> 3));
94
- ws = wb + (wb >> 3) * (dat[5] & 7);
95
- }
96
- if (ws > 2145386496)
97
- err(1);
98
- var buf = new u8((w == 1 ? (fss || ws) : w ? 0 : ws) + 12);
99
- buf[0] = 1, buf[4] = 4, buf[8] = 8;
100
- return {
101
- b: bt + fsb,
102
- y: 0,
103
- l: 0,
104
- d: di,
105
- w: (w && w != 1) ? w : buf.subarray(12),
106
- e: ws,
107
- o: new i32(buf.buffer, 0, 3),
108
- u: fss,
109
- c: cc,
110
- m: Math.min(131072, ws)
111
- };
112
- }
113
- else if (((n3 >> 4) | (dat[3] << 20)) == 0x184D2A5) {
114
- // skippable
115
- return b4(dat, 4) + 8;
116
- }
117
- err(0);
118
- };
119
- // most significant bit for nonzero
120
- var msb = function (val) {
121
- var bits = 0;
122
- for (; (1 << bits) <= val; ++bits)
123
- ;
124
- return bits - 1;
125
- };
126
- // read finite state entropy
127
- var rfse = function (dat, bt, mal) {
128
- // table pos
129
- var tpos = (bt << 3) + 4;
130
- // accuracy log
131
- var al = (dat[bt] & 15) + 5;
132
- if (al > mal)
133
- err(3);
134
- // size
135
- var sz = 1 << al;
136
- // probabilities symbols repeat index high threshold
137
- var probs = sz, sym = -1, re = -1, i = -1, ht = sz;
138
- // optimization: single allocation is much faster
139
- var buf = new ab(512 + (sz << 2));
140
- var freq = new i16(buf, 0, 256);
141
- // same view as freq
142
- var dstate = new u16(buf, 0, 256);
143
- var nstate = new u16(buf, 512, sz);
144
- var bb1 = 512 + (sz << 1);
145
- var syms = new u8(buf, bb1, sz);
146
- var nbits = new u8(buf, bb1 + sz);
147
- while (sym < 255 && probs > 0) {
148
- var bits = msb(probs + 1);
149
- var cbt = tpos >> 3;
150
- // mask
151
- var msk = (1 << (bits + 1)) - 1;
152
- var val = ((dat[cbt] | (dat[cbt + 1] << 8) | (dat[cbt + 2] << 16)) >> (tpos & 7)) & msk;
153
- // mask (1 fewer bit)
154
- var msk1fb = (1 << bits) - 1;
155
- // max small value
156
- var msv = msk - probs - 1;
157
- // small value
158
- var sval = val & msk1fb;
159
- if (sval < msv)
160
- tpos += bits, val = sval;
161
- else {
162
- tpos += bits + 1;
163
- if (val > msk1fb)
164
- val -= msv;
165
- }
166
- freq[++sym] = --val;
167
- if (val == -1) {
168
- probs += val;
169
- syms[--ht] = sym;
170
- }
171
- else
172
- probs -= val;
173
- if (!val) {
174
- do {
175
- // repeat byte
176
- var rbt = tpos >> 3;
177
- re = ((dat[rbt] | (dat[rbt + 1] << 8)) >> (tpos & 7)) & 3;
178
- tpos += 2;
179
- sym += re;
180
- } while (re == 3);
181
- }
182
- }
183
- if (sym > 255 || probs)
184
- err(0);
185
- var sympos = 0;
186
- // sym step (coprime with sz - formula from zstd source)
187
- var sstep = (sz >> 1) + (sz >> 3) + 3;
188
- // sym mask
189
- var smask = sz - 1;
190
- for (var s = 0; s <= sym; ++s) {
191
- var sf = freq[s];
192
- if (sf < 1) {
193
- dstate[s] = -sf;
194
- continue;
195
- }
196
- // This is split into two loops in zstd to avoid branching, but as JS is higher-level that is unnecessary
197
- for (i = 0; i < sf; ++i) {
198
- syms[sympos] = s;
199
- do {
200
- sympos = (sympos + sstep) & smask;
201
- } while (sympos >= ht);
202
- }
203
- }
204
- // After spreading symbols, should be zero again
205
- if (sympos)
206
- err(0);
207
- for (i = 0; i < sz; ++i) {
208
- // next state
209
- var ns = dstate[syms[i]]++;
210
- // num bits
211
- var nb = nbits[i] = al - msb(ns);
212
- nstate[i] = (ns << nb) - sz;
213
- }
214
- return [(tpos + 7) >> 3, {
215
- b: al,
216
- s: syms,
217
- n: nbits,
218
- t: nstate
219
- }];
220
- };
221
- // read huffman
222
- var rhu = function (dat, bt) {
223
- // index weight count
224
- var i = 0, wc = -1;
225
- // buffer header byte
226
- var buf = new u8(292), hb = dat[bt];
227
- // huffman weights
228
- var hw = buf.subarray(0, 256);
229
- // rank count
230
- var rc = buf.subarray(256, 268);
231
- // rank index
232
- var ri = new u16(buf.buffer, 268);
233
- // NOTE: at this point bt is 1 less than expected
234
- if (hb < 128) {
235
- // end byte, fse decode table
236
- var _a = rfse(dat, bt + 1, 6), ebt = _a[0], fdt = _a[1];
237
- bt += hb;
238
- var epos = ebt << 3;
239
- // last byte
240
- var lb = dat[bt];
241
- if (!lb)
242
- err(0);
243
- // state1 state2 state1 bits state2 bits
244
- var st1 = 0, st2 = 0, btr1 = fdt.b, btr2 = btr1;
245
- // fse pos
246
- // pre-increment to account for original deficit of 1
247
- var fpos = (++bt << 3) - 8 + msb(lb);
248
- for (;;) {
249
- fpos -= btr1;
250
- if (fpos < epos)
251
- break;
252
- var cbt = fpos >> 3;
253
- st1 += ((dat[cbt] | (dat[cbt + 1] << 8)) >> (fpos & 7)) & ((1 << btr1) - 1);
254
- hw[++wc] = fdt.s[st1];
255
- fpos -= btr2;
256
- if (fpos < epos)
257
- break;
258
- cbt = fpos >> 3;
259
- st2 += ((dat[cbt] | (dat[cbt + 1] << 8)) >> (fpos & 7)) & ((1 << btr2) - 1);
260
- hw[++wc] = fdt.s[st2];
261
- btr1 = fdt.n[st1];
262
- st1 = fdt.t[st1];
263
- btr2 = fdt.n[st2];
264
- st2 = fdt.t[st2];
265
- }
266
- if (++wc > 255)
267
- err(0);
268
- }
269
- else {
270
- wc = hb - 127;
271
- for (; i < wc; i += 2) {
272
- var byte = dat[++bt];
273
- hw[i] = byte >> 4;
274
- hw[i + 1] = byte & 15;
275
- }
276
- ++bt;
277
- }
278
- // weight exponential sum
279
- var wes = 0;
280
- for (i = 0; i < wc; ++i) {
281
- var wt = hw[i];
282
- // bits must be at most 11, same as weight
283
- if (wt > 11)
284
- err(0);
285
- wes += wt && (1 << (wt - 1));
286
- }
287
- // max bits
288
- var mb = msb(wes) + 1;
289
- // table size
290
- var ts = 1 << mb;
291
- // remaining sum
292
- var rem = ts - wes;
293
- // must be power of 2
294
- if (rem & (rem - 1))
295
- err(0);
296
- hw[wc++] = msb(rem) + 1;
297
- for (i = 0; i < wc; ++i) {
298
- var wt = hw[i];
299
- ++rc[hw[i] = wt && (mb + 1 - wt)];
300
- }
301
- // huf buf
302
- var hbuf = new u8(ts << 1);
303
- // symbols num bits
304
- var syms = hbuf.subarray(0, ts), nb = hbuf.subarray(ts);
305
- ri[mb] = 0;
306
- for (i = mb; i > 0; --i) {
307
- var pv = ri[i];
308
- fill(nb, i, pv, ri[i - 1] = pv + rc[i] * (1 << (mb - i)));
309
- }
310
- if (ri[0] != ts)
311
- err(0);
312
- for (i = 0; i < wc; ++i) {
313
- var bits = hw[i];
314
- if (bits) {
315
- var code = ri[bits];
316
- fill(syms, i, code, ri[bits] = code + (1 << (mb - bits)));
317
- }
318
- }
319
- return [bt, {
320
- n: nb,
321
- b: mb,
322
- s: syms
323
- }];
324
- };
325
- // Tables generated using this:
326
- // https://gist.github.com/101arrowz/a979452d4355992cbf8f257cbffc9edd
327
- // default literal length table
328
- var dllt = rfse(/*#__PURE__*/ new u8([
329
- 81, 16, 99, 140, 49, 198, 24, 99, 12, 33, 196, 24, 99, 102, 102, 134, 70, 146, 4
330
- ]), 0, 6)[1];
331
- // default match length table
332
- var dmlt = rfse(/*#__PURE__*/ new u8([
333
- 33, 20, 196, 24, 99, 140, 33, 132, 16, 66, 8, 33, 132, 16, 66, 8, 33, 68, 68, 68, 68, 68, 68, 68, 68, 36, 9
334
- ]), 0, 6)[1];
335
- // default offset code table
336
- var doct = rfse(/*#__PURE__*/ new u8([
337
- 32, 132, 16, 66, 102, 70, 68, 68, 68, 68, 36, 73, 2
338
- ]), 0, 5)[1];
339
- // bits to baseline
340
- var b2bl = function (b, s) {
341
- var len = b.length, bl = new i32(len);
342
- for (var i = 0; i < len; ++i) {
343
- bl[i] = s;
344
- s += 1 << b[i];
345
- }
346
- return bl;
347
- };
348
- // literal length bits
349
- var llb = /*#__PURE__ */ new u8(( /*#__PURE__ */new i32([
350
- 0, 0, 0, 0, 16843009, 50528770, 134678020, 202050057, 269422093
351
- ])).buffer, 0, 36);
352
- // literal length baseline
353
- var llbl = /*#__PURE__ */ b2bl(llb, 0);
354
- // match length bits
355
- var mlb = /*#__PURE__ */ new u8(( /*#__PURE__ */new i32([
356
- 0, 0, 0, 0, 0, 0, 0, 0, 16843009, 50528770, 117769220, 185207048, 252579084, 16
357
- ])).buffer, 0, 53);
358
- // match length baseline
359
- var mlbl = /*#__PURE__ */ b2bl(mlb, 3);
360
- // decode huffman stream
361
- var dhu = function (dat, out, hu) {
362
- var len = dat.length, ss = out.length, lb = dat[len - 1], msk = (1 << hu.b) - 1, eb = -hu.b;
363
- if (!lb)
364
- err(0);
365
- var st = 0, btr = hu.b, pos = (len << 3) - 8 + msb(lb) - btr, i = -1;
366
- for (; pos > eb && i < ss;) {
367
- var cbt = pos >> 3;
368
- var val = (dat[cbt] | (dat[cbt + 1] << 8) | (dat[cbt + 2] << 16)) >> (pos & 7);
369
- st = ((st << btr) | val) & msk;
370
- out[++i] = hu.s[st];
371
- pos -= (btr = hu.n[st]);
372
- }
373
- if (pos != eb || i + 1 != ss)
374
- err(0);
375
- };
376
- // decode huffman stream 4x
377
- // TODO: use workers to parallelize
378
- var dhu4 = function (dat, out, hu) {
379
- var bt = 6;
380
- var ss = out.length, sz1 = (ss + 3) >> 2, sz2 = sz1 << 1, sz3 = sz1 + sz2;
381
- dhu(dat.subarray(bt, bt += dat[0] | (dat[1] << 8)), out.subarray(0, sz1), hu);
382
- dhu(dat.subarray(bt, bt += dat[2] | (dat[3] << 8)), out.subarray(sz1, sz2), hu);
383
- dhu(dat.subarray(bt, bt += dat[4] | (dat[5] << 8)), out.subarray(sz2, sz3), hu);
384
- dhu(dat.subarray(bt), out.subarray(sz3), hu);
385
- };
386
- // read Zstandard block
387
- var rzb = function (dat, st, out) {
388
- var _a;
389
- var bt = st.b;
390
- // byte 0 block type
391
- var b0 = dat[bt], btype = (b0 >> 1) & 3;
392
- st.l = b0 & 1;
393
- var sz = (b0 >> 3) | (dat[bt + 1] << 5) | (dat[bt + 2] << 13);
394
- // end byte for block
395
- var ebt = (bt += 3) + sz;
396
- if (btype == 1) {
397
- if (bt >= dat.length)
398
- return;
399
- st.b = bt + 1;
400
- if (out) {
401
- fill(out, dat[bt], st.y, st.y += sz);
402
- return out;
403
- }
404
- return fill(new u8(sz), dat[bt]);
405
- }
406
- if (ebt > dat.length)
407
- return;
408
- if (btype == 0) {
409
- st.b = ebt;
410
- if (out) {
411
- out.set(dat.subarray(bt, ebt), st.y);
412
- st.y += sz;
413
- return out;
414
- }
415
- return slc(dat, bt, ebt);
416
- }
417
- if (btype == 2) {
418
- // byte 3 lit btype size format
419
- var b3 = dat[bt], lbt = b3 & 3, sf = (b3 >> 2) & 3;
420
- // lit src size lit cmp sz 4 streams
421
- var lss = b3 >> 4, lcs = 0, s4 = 0;
422
- if (lbt < 2) {
423
- if (sf & 1)
424
- lss |= (dat[++bt] << 4) | ((sf & 2) && (dat[++bt] << 12));
425
- else
426
- lss = b3 >> 3;
427
- }
428
- else {
429
- s4 = sf;
430
- if (sf < 2)
431
- lss |= ((dat[++bt] & 63) << 4), lcs = (dat[bt] >> 6) | (dat[++bt] << 2);
432
- else if (sf == 2)
433
- lss |= (dat[++bt] << 4) | ((dat[++bt] & 3) << 12), lcs = (dat[bt] >> 2) | (dat[++bt] << 6);
434
- else
435
- lss |= (dat[++bt] << 4) | ((dat[++bt] & 63) << 12), lcs = (dat[bt] >> 6) | (dat[++bt] << 2) | (dat[++bt] << 10);
436
- }
437
- ++bt;
438
- // add literals to end - can never overlap with backreferences because unused literals always appended
439
- var buf = out ? out.subarray(st.y, st.y + st.m) : new u8(st.m);
440
- // starting point for literals
441
- var spl = buf.length - lss;
442
- if (lbt == 0)
443
- buf.set(dat.subarray(bt, bt += lss), spl);
444
- else if (lbt == 1)
445
- fill(buf, dat[bt++], spl);
446
- else {
447
- // huffman table
448
- var hu = st.h;
449
- if (lbt == 2) {
450
- var hud = rhu(dat, bt);
451
- // subtract description length
452
- lcs += bt - (bt = hud[0]);
453
- st.h = hu = hud[1];
454
- }
455
- else if (!hu)
456
- err(0);
457
- (s4 ? dhu4 : dhu)(dat.subarray(bt, bt += lcs), buf.subarray(spl), hu);
458
- }
459
- // num sequences
460
- var ns = dat[bt++];
461
- if (ns) {
462
- if (ns == 255)
463
- ns = (dat[bt++] | (dat[bt++] << 8)) + 0x7F00;
464
- else if (ns > 127)
465
- ns = ((ns - 128) << 8) | dat[bt++];
466
- // symbol compression modes
467
- var scm = dat[bt++];
468
- if (scm & 3)
469
- err(0);
470
- var dts = [dmlt, doct, dllt];
471
- for (var i = 2; i > -1; --i) {
472
- var md = (scm >> ((i << 1) + 2)) & 3;
473
- if (md == 1) {
474
- // rle buf
475
- var rbuf = new u8([0, 0, dat[bt++]]);
476
- dts[i] = {
477
- s: rbuf.subarray(2, 3),
478
- n: rbuf.subarray(0, 1),
479
- t: new u16(rbuf.buffer, 0, 1),
480
- b: 0
481
- };
482
- }
483
- else if (md == 2) {
484
- // accuracy log 8 for offsets, 9 for others
485
- _a = rfse(dat, bt, 9 - (i & 1)), bt = _a[0], dts[i] = _a[1];
486
- }
487
- else if (md == 3) {
488
- if (!st.t)
489
- err(0);
490
- dts[i] = st.t[i];
491
- }
492
- }
493
- var _b = st.t = dts, mlt = _b[0], oct = _b[1], llt = _b[2];
494
- var lb = dat[ebt - 1];
495
- if (!lb)
496
- err(0);
497
- var spos = (ebt << 3) - 8 + msb(lb) - llt.b, cbt = spos >> 3, oubt = 0;
498
- var lst = ((dat[cbt] | (dat[cbt + 1] << 8)) >> (spos & 7)) & ((1 << llt.b) - 1);
499
- cbt = (spos -= oct.b) >> 3;
500
- var ost = ((dat[cbt] | (dat[cbt + 1] << 8)) >> (spos & 7)) & ((1 << oct.b) - 1);
501
- cbt = (spos -= mlt.b) >> 3;
502
- var mst = ((dat[cbt] | (dat[cbt + 1] << 8)) >> (spos & 7)) & ((1 << mlt.b) - 1);
503
- for (++ns; --ns;) {
504
- var llc = llt.s[lst];
505
- var lbtr = llt.n[lst];
506
- var mlc = mlt.s[mst];
507
- var mbtr = mlt.n[mst];
508
- var ofc = oct.s[ost];
509
- var obtr = oct.n[ost];
510
- cbt = (spos -= ofc) >> 3;
511
- var ofp = 1 << ofc;
512
- var off = ofp + (((dat[cbt] | (dat[cbt + 1] << 8) | (dat[cbt + 2] << 16) | (dat[cbt + 3] << 24)) >>> (spos & 7)) & (ofp - 1));
513
- cbt = (spos -= mlb[mlc]) >> 3;
514
- var ml = mlbl[mlc] + (((dat[cbt] | (dat[cbt + 1] << 8) | (dat[cbt + 2] << 16)) >> (spos & 7)) & ((1 << mlb[mlc]) - 1));
515
- cbt = (spos -= llb[llc]) >> 3;
516
- var ll = llbl[llc] + (((dat[cbt] | (dat[cbt + 1] << 8) | (dat[cbt + 2] << 16)) >> (spos & 7)) & ((1 << llb[llc]) - 1));
517
- cbt = (spos -= lbtr) >> 3;
518
- lst = llt.t[lst] + (((dat[cbt] | (dat[cbt + 1] << 8)) >> (spos & 7)) & ((1 << lbtr) - 1));
519
- cbt = (spos -= mbtr) >> 3;
520
- mst = mlt.t[mst] + (((dat[cbt] | (dat[cbt + 1] << 8)) >> (spos & 7)) & ((1 << mbtr) - 1));
521
- cbt = (spos -= obtr) >> 3;
522
- ost = oct.t[ost] + (((dat[cbt] | (dat[cbt + 1] << 8)) >> (spos & 7)) & ((1 << obtr) - 1));
523
- if (off > 3) {
524
- st.o[2] = st.o[1];
525
- st.o[1] = st.o[0];
526
- st.o[0] = off -= 3;
527
- }
528
- else {
529
- var idx = off - (ll != 0);
530
- if (idx) {
531
- off = idx == 3 ? st.o[0] - 1 : st.o[idx];
532
- if (idx > 1)
533
- st.o[2] = st.o[1];
534
- st.o[1] = st.o[0];
535
- st.o[0] = off;
536
- }
537
- else
538
- off = st.o[0];
539
- }
540
- for (var i = 0; i < ll; ++i) {
541
- buf[oubt + i] = buf[spl + i];
542
- }
543
- oubt += ll, spl += ll;
544
- var stin = oubt - off;
545
- if (stin < 0) {
546
- var len = -stin;
547
- var bs = st.e + stin;
548
- if (len > ml)
549
- len = ml;
550
- for (var i = 0; i < len; ++i) {
551
- buf[oubt + i] = st.w[bs + i];
552
- }
553
- oubt += len, ml -= len, stin = 0;
554
- }
555
- for (var i = 0; i < ml; ++i) {
556
- buf[oubt + i] = buf[stin + i];
557
- }
558
- oubt += ml;
559
- }
560
- if (oubt != spl) {
561
- while (spl < buf.length) {
562
- buf[oubt++] = buf[spl++];
563
- }
564
- }
565
- else
566
- oubt = buf.length;
567
- if (out)
568
- st.y += oubt;
569
- else
570
- buf = slc(buf, 0, oubt);
571
- }
572
- else {
573
- if (out) {
574
- st.y += lss;
575
- if (spl) {
576
- for (var i = 0; i < lss; ++i) {
577
- buf[i] = buf[spl + i];
578
- }
579
- }
580
- }
581
- else if (spl)
582
- buf = slc(buf, spl);
583
- }
584
- st.b = ebt;
585
- return buf;
586
- }
587
- err(2);
588
- };
589
- // concat
590
- var cct = function (bufs, ol) {
591
- if (bufs.length == 1)
592
- return bufs[0];
593
- var buf = new u8(ol);
594
- for (var i = 0, b = 0; i < bufs.length; ++i) {
595
- var chk = bufs[i];
596
- buf.set(chk, b);
597
- b += chk.length;
598
- }
599
- return buf;
600
- };
601
- /**
602
- * Decompresses Zstandard data
603
- * @param dat The input data
604
- * @param buf The output buffer. If unspecified, the function will allocate
605
- * exactly enough memory to fit the decompressed data. If your
606
- * data has multiple frames and you know the output size, specifying
607
- * it will yield better performance.
608
- * @returns The decompressed data
609
- */
610
- function decompress(dat, buf) {
611
- var bt = 0, bufs = [], nb = +!buf, ol = 0;
612
- for (; dat.length;) {
613
- var st = rzfh(dat, nb || buf);
614
- if (typeof st == 'object') {
615
- if (nb) {
616
- buf = null;
617
- if (st.w.length == st.u) {
618
- bufs.push(buf = st.w);
619
- ol += st.u;
620
- }
621
- }
622
- else {
623
- bufs.push(buf);
624
- st.e = 0;
625
- }
626
- for (; !st.l;) {
627
- var blk = rzb(dat, st, buf);
628
- if (!blk)
629
- err(5);
630
- if (buf)
631
- st.e = st.y;
632
- else {
633
- bufs.push(blk);
634
- ol += blk.length;
635
- cpw(st.w, 0, blk.length);
636
- st.w.set(blk, st.w.length - blk.length);
637
- }
638
- }
639
- bt = st.b + (st.c * 4);
640
- }
641
- else
642
- bt = st;
643
- dat = dat.subarray(bt);
644
- }
645
- return cct(bufs, ol);
646
- }
647
-
648
- // See: https://github.com/Equim-chan/base91
649
- const table = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!#$%&()*+,./:;<=>?@[]^_`{|}~"';
650
- function decode(raw) {
651
- const len = raw.length;
652
- const ret = [];
653
- let b = 0;
654
- let n = 0;
655
- let v = -1;
656
- for (let i = 0; i < len; i++) {
657
- const p = table.indexOf(raw[i]);
658
- if (p === -1)
659
- continue;
660
- if (v < 0) {
661
- v = p;
662
- }
663
- else {
664
- v += p * 91;
665
- b |= v << n;
666
- n += (v & 8191) > 88 ? 13 : 14;
667
- do {
668
- ret.push(b & 0xff);
669
- b >>= 8;
670
- n -= 8;
671
- } while (n > 7);
672
- v = -1;
673
- }
674
- }
675
- if (v > -1) {
676
- ret.push((b | v << n) & 0xff);
677
- }
678
- return new Uint8Array(ret);
679
- }
680
- function extract(raw) {
681
- const compressed = decode(raw);
682
- return decompress(compressed);
683
- }
684
-
685
- exports.extract = extract;
686
-
687
- Object.defineProperty(exports, '__esModule', { value: true });
688
-
689
- }));
690
- //# sourceMappingURL=extract.js.map