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