@hpcc-js/wasm 1.19.1 → 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.
- package/bin/sfx-wasm.mjs +14 -6
- package/bin/sfx-wasm.mjs.map +1 -1
- package/dist/graphviz.es6.js +3 -0
- package/dist/graphviz.es6.js.map +1 -1
- package/dist/graphviz.js +3 -0
- package/dist/graphviz.js.map +1 -1
- package/dist/graphvizlib.wasm +0 -0
- package/dist/index.es6.js +4 -679
- package/dist/index.es6.js.map +1 -1
- package/dist/index.js +3 -679
- package/dist/index.js.map +1 -1
- package/dist/index.min.js +1 -1
- package/dist/index.min.js.map +1 -1
- package/dist/index.node.es6.mjs +4 -679
- package/dist/index.node.es6.mjs.map +1 -1
- package/dist/index.node.js +3 -679
- package/dist/index.node.js.map +1 -1
- package/dist/sfx-graphviz.esm.js +890 -0
- package/dist/sfx-graphviz.esm.js.map +1 -0
- package/dist/sfx-graphviz.js +904 -0
- package/dist/sfx-graphviz.js.map +1 -0
- package/dist/sfx-graphviz.min.js +1 -0
- package/dist/sfx-graphviz.min.js.map +1 -0
- package/package.json +13 -3
- package/types/__tests__/browser-tests.d.ts +2 -0
- package/types/__tests__/browser-tests.d.ts.map +1 -0
- package/types/__tests__/index-common.d.ts +5 -0
- package/types/__tests__/index-common.d.ts.map +1 -0
- package/types/__tests__/index-node.d.ts +3 -0
- package/types/__tests__/index-node.d.ts.map +1 -0
- package/types/__tests__/index.d.ts +2 -4
- package/types/__tests__/index.d.ts.map +1 -1
- package/types/__tests__/node-tests.d.ts +2 -0
- package/types/__tests__/node-tests.d.ts.map +1 -0
- package/types/__tests__/worker-browser.d.ts +2 -0
- package/types/__tests__/worker-browser.d.ts.map +1 -0
- package/types/__tests__/worker-node.d.ts +2 -0
- package/types/__tests__/worker-node.d.ts.map +1 -0
- package/types/extract.d.ts.map +1 -1
- package/types/graphviz.d.ts.map +1 -1
- package/types/index-common.d.ts +0 -1
- package/types/index-common.d.ts.map +1 -1
- package/types/sfx-graphviz.d.ts +59 -0
- package/types/sfx-graphviz.d.ts.map +1 -0
- package/dist/extract.es6.js +0 -680
- package/dist/extract.es6.js.map +0 -1
- package/dist/extract.js +0 -690
- package/dist/extract.js.map +0 -1
- package/types/__tests__/worker.d.ts +0 -2
- package/types/__tests__/worker.d.ts.map +0 -1
package/dist/graphvizlib.wasm
CHANGED
|
Binary file
|
package/dist/index.es6.js
CHANGED
|
@@ -242,684 +242,6 @@ function parse(xml, callback, wasmFolder, wasmBinary) {
|
|
|
242
242
|
});
|
|
243
243
|
}
|
|
244
244
|
|
|
245
|
-
// Some numerical data is initialized as -1 even when it doesn't need initialization to help the JIT infer types
|
|
246
|
-
// aliases for shorter compressed code (most minifers don't do this)
|
|
247
|
-
var ab = ArrayBuffer, u8 = Uint8Array, u16 = Uint16Array, i16 = Int16Array, i32 = Int32Array;
|
|
248
|
-
var slc = function (v, s, e) {
|
|
249
|
-
if (u8.prototype.slice)
|
|
250
|
-
return u8.prototype.slice.call(v, s, e);
|
|
251
|
-
if (s == null || s < 0)
|
|
252
|
-
s = 0;
|
|
253
|
-
if (e == null || e > v.length)
|
|
254
|
-
e = v.length;
|
|
255
|
-
var n = new u8(e - s);
|
|
256
|
-
n.set(v.subarray(s, e));
|
|
257
|
-
return n;
|
|
258
|
-
};
|
|
259
|
-
var fill = function (v, n, s, e) {
|
|
260
|
-
if (u8.prototype.fill)
|
|
261
|
-
return u8.prototype.fill.call(v, n, s, e);
|
|
262
|
-
if (s == null || s < 0)
|
|
263
|
-
s = 0;
|
|
264
|
-
if (e == null || e > v.length)
|
|
265
|
-
e = v.length;
|
|
266
|
-
for (; s < e; ++s)
|
|
267
|
-
v[s] = n;
|
|
268
|
-
return v;
|
|
269
|
-
};
|
|
270
|
-
var cpw = function (v, t, s, e) {
|
|
271
|
-
if (u8.prototype.copyWithin)
|
|
272
|
-
return u8.prototype.copyWithin.call(v, t, s, e);
|
|
273
|
-
if (s == null || s < 0)
|
|
274
|
-
s = 0;
|
|
275
|
-
if (e == null || e > v.length)
|
|
276
|
-
e = v.length;
|
|
277
|
-
while (s < e) {
|
|
278
|
-
v[t++] = v[s++];
|
|
279
|
-
}
|
|
280
|
-
};
|
|
281
|
-
// error codes
|
|
282
|
-
var ec = [
|
|
283
|
-
'invalid zstd data',
|
|
284
|
-
'window size too large (>2046MB)',
|
|
285
|
-
'invalid block type',
|
|
286
|
-
'FSE accuracy too high',
|
|
287
|
-
'match distance too far back',
|
|
288
|
-
'unexpected EOF'
|
|
289
|
-
];
|
|
290
|
-
var err = function (ind, msg, nt) {
|
|
291
|
-
var e = new Error(msg || ec[ind]);
|
|
292
|
-
e.code = ind;
|
|
293
|
-
if (Error.captureStackTrace)
|
|
294
|
-
Error.captureStackTrace(e, err);
|
|
295
|
-
if (!nt)
|
|
296
|
-
throw e;
|
|
297
|
-
return e;
|
|
298
|
-
};
|
|
299
|
-
var rb = function (d, b, n) {
|
|
300
|
-
var i = 0, o = 0;
|
|
301
|
-
for (; i < n; ++i)
|
|
302
|
-
o |= d[b++] << (i << 3);
|
|
303
|
-
return o;
|
|
304
|
-
};
|
|
305
|
-
var b4 = function (d, b) { return (d[b] | (d[b + 1] << 8) | (d[b + 2] << 16) | (d[b + 3] << 24)) >>> 0; };
|
|
306
|
-
// read Zstandard frame header
|
|
307
|
-
var rzfh = function (dat, w) {
|
|
308
|
-
var n3 = dat[0] | (dat[1] << 8) | (dat[2] << 16);
|
|
309
|
-
if (n3 == 0x2FB528 && dat[3] == 253) {
|
|
310
|
-
// Zstandard
|
|
311
|
-
var flg = dat[4];
|
|
312
|
-
// single segment checksum dict flag frame content flag
|
|
313
|
-
var ss = (flg >> 5) & 1, cc = (flg >> 2) & 1, df = flg & 3, fcf = flg >> 6;
|
|
314
|
-
if (flg & 8)
|
|
315
|
-
err(0);
|
|
316
|
-
// byte
|
|
317
|
-
var bt = 6 - ss;
|
|
318
|
-
// dict bytes
|
|
319
|
-
var db = df == 3 ? 4 : df;
|
|
320
|
-
// dictionary id
|
|
321
|
-
var di = rb(dat, bt, db);
|
|
322
|
-
bt += db;
|
|
323
|
-
// frame size bytes
|
|
324
|
-
var fsb = fcf ? (1 << fcf) : ss;
|
|
325
|
-
// frame source size
|
|
326
|
-
var fss = rb(dat, bt, fsb) + ((fcf == 1) && 256);
|
|
327
|
-
// window size
|
|
328
|
-
var ws = fss;
|
|
329
|
-
if (!ss) {
|
|
330
|
-
// window descriptor
|
|
331
|
-
var wb = 1 << (10 + (dat[5] >> 3));
|
|
332
|
-
ws = wb + (wb >> 3) * (dat[5] & 7);
|
|
333
|
-
}
|
|
334
|
-
if (ws > 2145386496)
|
|
335
|
-
err(1);
|
|
336
|
-
var buf = new u8((w == 1 ? (fss || ws) : w ? 0 : ws) + 12);
|
|
337
|
-
buf[0] = 1, buf[4] = 4, buf[8] = 8;
|
|
338
|
-
return {
|
|
339
|
-
b: bt + fsb,
|
|
340
|
-
y: 0,
|
|
341
|
-
l: 0,
|
|
342
|
-
d: di,
|
|
343
|
-
w: (w && w != 1) ? w : buf.subarray(12),
|
|
344
|
-
e: ws,
|
|
345
|
-
o: new i32(buf.buffer, 0, 3),
|
|
346
|
-
u: fss,
|
|
347
|
-
c: cc,
|
|
348
|
-
m: Math.min(131072, ws)
|
|
349
|
-
};
|
|
350
|
-
}
|
|
351
|
-
else if (((n3 >> 4) | (dat[3] << 20)) == 0x184D2A5) {
|
|
352
|
-
// skippable
|
|
353
|
-
return b4(dat, 4) + 8;
|
|
354
|
-
}
|
|
355
|
-
err(0);
|
|
356
|
-
};
|
|
357
|
-
// most significant bit for nonzero
|
|
358
|
-
var msb = function (val) {
|
|
359
|
-
var bits = 0;
|
|
360
|
-
for (; (1 << bits) <= val; ++bits)
|
|
361
|
-
;
|
|
362
|
-
return bits - 1;
|
|
363
|
-
};
|
|
364
|
-
// read finite state entropy
|
|
365
|
-
var rfse = function (dat, bt, mal) {
|
|
366
|
-
// table pos
|
|
367
|
-
var tpos = (bt << 3) + 4;
|
|
368
|
-
// accuracy log
|
|
369
|
-
var al = (dat[bt] & 15) + 5;
|
|
370
|
-
if (al > mal)
|
|
371
|
-
err(3);
|
|
372
|
-
// size
|
|
373
|
-
var sz = 1 << al;
|
|
374
|
-
// probabilities symbols repeat index high threshold
|
|
375
|
-
var probs = sz, sym = -1, re = -1, i = -1, ht = sz;
|
|
376
|
-
// optimization: single allocation is much faster
|
|
377
|
-
var buf = new ab(512 + (sz << 2));
|
|
378
|
-
var freq = new i16(buf, 0, 256);
|
|
379
|
-
// same view as freq
|
|
380
|
-
var dstate = new u16(buf, 0, 256);
|
|
381
|
-
var nstate = new u16(buf, 512, sz);
|
|
382
|
-
var bb1 = 512 + (sz << 1);
|
|
383
|
-
var syms = new u8(buf, bb1, sz);
|
|
384
|
-
var nbits = new u8(buf, bb1 + sz);
|
|
385
|
-
while (sym < 255 && probs > 0) {
|
|
386
|
-
var bits = msb(probs + 1);
|
|
387
|
-
var cbt = tpos >> 3;
|
|
388
|
-
// mask
|
|
389
|
-
var msk = (1 << (bits + 1)) - 1;
|
|
390
|
-
var val = ((dat[cbt] | (dat[cbt + 1] << 8) | (dat[cbt + 2] << 16)) >> (tpos & 7)) & msk;
|
|
391
|
-
// mask (1 fewer bit)
|
|
392
|
-
var msk1fb = (1 << bits) - 1;
|
|
393
|
-
// max small value
|
|
394
|
-
var msv = msk - probs - 1;
|
|
395
|
-
// small value
|
|
396
|
-
var sval = val & msk1fb;
|
|
397
|
-
if (sval < msv)
|
|
398
|
-
tpos += bits, val = sval;
|
|
399
|
-
else {
|
|
400
|
-
tpos += bits + 1;
|
|
401
|
-
if (val > msk1fb)
|
|
402
|
-
val -= msv;
|
|
403
|
-
}
|
|
404
|
-
freq[++sym] = --val;
|
|
405
|
-
if (val == -1) {
|
|
406
|
-
probs += val;
|
|
407
|
-
syms[--ht] = sym;
|
|
408
|
-
}
|
|
409
|
-
else
|
|
410
|
-
probs -= val;
|
|
411
|
-
if (!val) {
|
|
412
|
-
do {
|
|
413
|
-
// repeat byte
|
|
414
|
-
var rbt = tpos >> 3;
|
|
415
|
-
re = ((dat[rbt] | (dat[rbt + 1] << 8)) >> (tpos & 7)) & 3;
|
|
416
|
-
tpos += 2;
|
|
417
|
-
sym += re;
|
|
418
|
-
} while (re == 3);
|
|
419
|
-
}
|
|
420
|
-
}
|
|
421
|
-
if (sym > 255 || probs)
|
|
422
|
-
err(0);
|
|
423
|
-
var sympos = 0;
|
|
424
|
-
// sym step (coprime with sz - formula from zstd source)
|
|
425
|
-
var sstep = (sz >> 1) + (sz >> 3) + 3;
|
|
426
|
-
// sym mask
|
|
427
|
-
var smask = sz - 1;
|
|
428
|
-
for (var s = 0; s <= sym; ++s) {
|
|
429
|
-
var sf = freq[s];
|
|
430
|
-
if (sf < 1) {
|
|
431
|
-
dstate[s] = -sf;
|
|
432
|
-
continue;
|
|
433
|
-
}
|
|
434
|
-
// This is split into two loops in zstd to avoid branching, but as JS is higher-level that is unnecessary
|
|
435
|
-
for (i = 0; i < sf; ++i) {
|
|
436
|
-
syms[sympos] = s;
|
|
437
|
-
do {
|
|
438
|
-
sympos = (sympos + sstep) & smask;
|
|
439
|
-
} while (sympos >= ht);
|
|
440
|
-
}
|
|
441
|
-
}
|
|
442
|
-
// After spreading symbols, should be zero again
|
|
443
|
-
if (sympos)
|
|
444
|
-
err(0);
|
|
445
|
-
for (i = 0; i < sz; ++i) {
|
|
446
|
-
// next state
|
|
447
|
-
var ns = dstate[syms[i]]++;
|
|
448
|
-
// num bits
|
|
449
|
-
var nb = nbits[i] = al - msb(ns);
|
|
450
|
-
nstate[i] = (ns << nb) - sz;
|
|
451
|
-
}
|
|
452
|
-
return [(tpos + 7) >> 3, {
|
|
453
|
-
b: al,
|
|
454
|
-
s: syms,
|
|
455
|
-
n: nbits,
|
|
456
|
-
t: nstate
|
|
457
|
-
}];
|
|
458
|
-
};
|
|
459
|
-
// read huffman
|
|
460
|
-
var rhu = function (dat, bt) {
|
|
461
|
-
// index weight count
|
|
462
|
-
var i = 0, wc = -1;
|
|
463
|
-
// buffer header byte
|
|
464
|
-
var buf = new u8(292), hb = dat[bt];
|
|
465
|
-
// huffman weights
|
|
466
|
-
var hw = buf.subarray(0, 256);
|
|
467
|
-
// rank count
|
|
468
|
-
var rc = buf.subarray(256, 268);
|
|
469
|
-
// rank index
|
|
470
|
-
var ri = new u16(buf.buffer, 268);
|
|
471
|
-
// NOTE: at this point bt is 1 less than expected
|
|
472
|
-
if (hb < 128) {
|
|
473
|
-
// end byte, fse decode table
|
|
474
|
-
var _a = rfse(dat, bt + 1, 6), ebt = _a[0], fdt = _a[1];
|
|
475
|
-
bt += hb;
|
|
476
|
-
var epos = ebt << 3;
|
|
477
|
-
// last byte
|
|
478
|
-
var lb = dat[bt];
|
|
479
|
-
if (!lb)
|
|
480
|
-
err(0);
|
|
481
|
-
// state1 state2 state1 bits state2 bits
|
|
482
|
-
var st1 = 0, st2 = 0, btr1 = fdt.b, btr2 = btr1;
|
|
483
|
-
// fse pos
|
|
484
|
-
// pre-increment to account for original deficit of 1
|
|
485
|
-
var fpos = (++bt << 3) - 8 + msb(lb);
|
|
486
|
-
for (;;) {
|
|
487
|
-
fpos -= btr1;
|
|
488
|
-
if (fpos < epos)
|
|
489
|
-
break;
|
|
490
|
-
var cbt = fpos >> 3;
|
|
491
|
-
st1 += ((dat[cbt] | (dat[cbt + 1] << 8)) >> (fpos & 7)) & ((1 << btr1) - 1);
|
|
492
|
-
hw[++wc] = fdt.s[st1];
|
|
493
|
-
fpos -= btr2;
|
|
494
|
-
if (fpos < epos)
|
|
495
|
-
break;
|
|
496
|
-
cbt = fpos >> 3;
|
|
497
|
-
st2 += ((dat[cbt] | (dat[cbt + 1] << 8)) >> (fpos & 7)) & ((1 << btr2) - 1);
|
|
498
|
-
hw[++wc] = fdt.s[st2];
|
|
499
|
-
btr1 = fdt.n[st1];
|
|
500
|
-
st1 = fdt.t[st1];
|
|
501
|
-
btr2 = fdt.n[st2];
|
|
502
|
-
st2 = fdt.t[st2];
|
|
503
|
-
}
|
|
504
|
-
if (++wc > 255)
|
|
505
|
-
err(0);
|
|
506
|
-
}
|
|
507
|
-
else {
|
|
508
|
-
wc = hb - 127;
|
|
509
|
-
for (; i < wc; i += 2) {
|
|
510
|
-
var byte = dat[++bt];
|
|
511
|
-
hw[i] = byte >> 4;
|
|
512
|
-
hw[i + 1] = byte & 15;
|
|
513
|
-
}
|
|
514
|
-
++bt;
|
|
515
|
-
}
|
|
516
|
-
// weight exponential sum
|
|
517
|
-
var wes = 0;
|
|
518
|
-
for (i = 0; i < wc; ++i) {
|
|
519
|
-
var wt = hw[i];
|
|
520
|
-
// bits must be at most 11, same as weight
|
|
521
|
-
if (wt > 11)
|
|
522
|
-
err(0);
|
|
523
|
-
wes += wt && (1 << (wt - 1));
|
|
524
|
-
}
|
|
525
|
-
// max bits
|
|
526
|
-
var mb = msb(wes) + 1;
|
|
527
|
-
// table size
|
|
528
|
-
var ts = 1 << mb;
|
|
529
|
-
// remaining sum
|
|
530
|
-
var rem = ts - wes;
|
|
531
|
-
// must be power of 2
|
|
532
|
-
if (rem & (rem - 1))
|
|
533
|
-
err(0);
|
|
534
|
-
hw[wc++] = msb(rem) + 1;
|
|
535
|
-
for (i = 0; i < wc; ++i) {
|
|
536
|
-
var wt = hw[i];
|
|
537
|
-
++rc[hw[i] = wt && (mb + 1 - wt)];
|
|
538
|
-
}
|
|
539
|
-
// huf buf
|
|
540
|
-
var hbuf = new u8(ts << 1);
|
|
541
|
-
// symbols num bits
|
|
542
|
-
var syms = hbuf.subarray(0, ts), nb = hbuf.subarray(ts);
|
|
543
|
-
ri[mb] = 0;
|
|
544
|
-
for (i = mb; i > 0; --i) {
|
|
545
|
-
var pv = ri[i];
|
|
546
|
-
fill(nb, i, pv, ri[i - 1] = pv + rc[i] * (1 << (mb - i)));
|
|
547
|
-
}
|
|
548
|
-
if (ri[0] != ts)
|
|
549
|
-
err(0);
|
|
550
|
-
for (i = 0; i < wc; ++i) {
|
|
551
|
-
var bits = hw[i];
|
|
552
|
-
if (bits) {
|
|
553
|
-
var code = ri[bits];
|
|
554
|
-
fill(syms, i, code, ri[bits] = code + (1 << (mb - bits)));
|
|
555
|
-
}
|
|
556
|
-
}
|
|
557
|
-
return [bt, {
|
|
558
|
-
n: nb,
|
|
559
|
-
b: mb,
|
|
560
|
-
s: syms
|
|
561
|
-
}];
|
|
562
|
-
};
|
|
563
|
-
// Tables generated using this:
|
|
564
|
-
// https://gist.github.com/101arrowz/a979452d4355992cbf8f257cbffc9edd
|
|
565
|
-
// default literal length table
|
|
566
|
-
var dllt = rfse(/*#__PURE__*/ new u8([
|
|
567
|
-
81, 16, 99, 140, 49, 198, 24, 99, 12, 33, 196, 24, 99, 102, 102, 134, 70, 146, 4
|
|
568
|
-
]), 0, 6)[1];
|
|
569
|
-
// default match length table
|
|
570
|
-
var dmlt = rfse(/*#__PURE__*/ new u8([
|
|
571
|
-
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
|
|
572
|
-
]), 0, 6)[1];
|
|
573
|
-
// default offset code table
|
|
574
|
-
var doct = rfse(/*#__PURE__*/ new u8([
|
|
575
|
-
32, 132, 16, 66, 102, 70, 68, 68, 68, 68, 36, 73, 2
|
|
576
|
-
]), 0, 5)[1];
|
|
577
|
-
// bits to baseline
|
|
578
|
-
var b2bl = function (b, s) {
|
|
579
|
-
var len = b.length, bl = new i32(len);
|
|
580
|
-
for (var i = 0; i < len; ++i) {
|
|
581
|
-
bl[i] = s;
|
|
582
|
-
s += 1 << b[i];
|
|
583
|
-
}
|
|
584
|
-
return bl;
|
|
585
|
-
};
|
|
586
|
-
// literal length bits
|
|
587
|
-
var llb = /*#__PURE__ */ new u8(( /*#__PURE__ */new i32([
|
|
588
|
-
0, 0, 0, 0, 16843009, 50528770, 134678020, 202050057, 269422093
|
|
589
|
-
])).buffer, 0, 36);
|
|
590
|
-
// literal length baseline
|
|
591
|
-
var llbl = /*#__PURE__ */ b2bl(llb, 0);
|
|
592
|
-
// match length bits
|
|
593
|
-
var mlb = /*#__PURE__ */ new u8(( /*#__PURE__ */new i32([
|
|
594
|
-
0, 0, 0, 0, 0, 0, 0, 0, 16843009, 50528770, 117769220, 185207048, 252579084, 16
|
|
595
|
-
])).buffer, 0, 53);
|
|
596
|
-
// match length baseline
|
|
597
|
-
var mlbl = /*#__PURE__ */ b2bl(mlb, 3);
|
|
598
|
-
// decode huffman stream
|
|
599
|
-
var dhu = function (dat, out, hu) {
|
|
600
|
-
var len = dat.length, ss = out.length, lb = dat[len - 1], msk = (1 << hu.b) - 1, eb = -hu.b;
|
|
601
|
-
if (!lb)
|
|
602
|
-
err(0);
|
|
603
|
-
var st = 0, btr = hu.b, pos = (len << 3) - 8 + msb(lb) - btr, i = -1;
|
|
604
|
-
for (; pos > eb && i < ss;) {
|
|
605
|
-
var cbt = pos >> 3;
|
|
606
|
-
var val = (dat[cbt] | (dat[cbt + 1] << 8) | (dat[cbt + 2] << 16)) >> (pos & 7);
|
|
607
|
-
st = ((st << btr) | val) & msk;
|
|
608
|
-
out[++i] = hu.s[st];
|
|
609
|
-
pos -= (btr = hu.n[st]);
|
|
610
|
-
}
|
|
611
|
-
if (pos != eb || i + 1 != ss)
|
|
612
|
-
err(0);
|
|
613
|
-
};
|
|
614
|
-
// decode huffman stream 4x
|
|
615
|
-
// TODO: use workers to parallelize
|
|
616
|
-
var dhu4 = function (dat, out, hu) {
|
|
617
|
-
var bt = 6;
|
|
618
|
-
var ss = out.length, sz1 = (ss + 3) >> 2, sz2 = sz1 << 1, sz3 = sz1 + sz2;
|
|
619
|
-
dhu(dat.subarray(bt, bt += dat[0] | (dat[1] << 8)), out.subarray(0, sz1), hu);
|
|
620
|
-
dhu(dat.subarray(bt, bt += dat[2] | (dat[3] << 8)), out.subarray(sz1, sz2), hu);
|
|
621
|
-
dhu(dat.subarray(bt, bt += dat[4] | (dat[5] << 8)), out.subarray(sz2, sz3), hu);
|
|
622
|
-
dhu(dat.subarray(bt), out.subarray(sz3), hu);
|
|
623
|
-
};
|
|
624
|
-
// read Zstandard block
|
|
625
|
-
var rzb = function (dat, st, out) {
|
|
626
|
-
var _a;
|
|
627
|
-
var bt = st.b;
|
|
628
|
-
// byte 0 block type
|
|
629
|
-
var b0 = dat[bt], btype = (b0 >> 1) & 3;
|
|
630
|
-
st.l = b0 & 1;
|
|
631
|
-
var sz = (b0 >> 3) | (dat[bt + 1] << 5) | (dat[bt + 2] << 13);
|
|
632
|
-
// end byte for block
|
|
633
|
-
var ebt = (bt += 3) + sz;
|
|
634
|
-
if (btype == 1) {
|
|
635
|
-
if (bt >= dat.length)
|
|
636
|
-
return;
|
|
637
|
-
st.b = bt + 1;
|
|
638
|
-
if (out) {
|
|
639
|
-
fill(out, dat[bt], st.y, st.y += sz);
|
|
640
|
-
return out;
|
|
641
|
-
}
|
|
642
|
-
return fill(new u8(sz), dat[bt]);
|
|
643
|
-
}
|
|
644
|
-
if (ebt > dat.length)
|
|
645
|
-
return;
|
|
646
|
-
if (btype == 0) {
|
|
647
|
-
st.b = ebt;
|
|
648
|
-
if (out) {
|
|
649
|
-
out.set(dat.subarray(bt, ebt), st.y);
|
|
650
|
-
st.y += sz;
|
|
651
|
-
return out;
|
|
652
|
-
}
|
|
653
|
-
return slc(dat, bt, ebt);
|
|
654
|
-
}
|
|
655
|
-
if (btype == 2) {
|
|
656
|
-
// byte 3 lit btype size format
|
|
657
|
-
var b3 = dat[bt], lbt = b3 & 3, sf = (b3 >> 2) & 3;
|
|
658
|
-
// lit src size lit cmp sz 4 streams
|
|
659
|
-
var lss = b3 >> 4, lcs = 0, s4 = 0;
|
|
660
|
-
if (lbt < 2) {
|
|
661
|
-
if (sf & 1)
|
|
662
|
-
lss |= (dat[++bt] << 4) | ((sf & 2) && (dat[++bt] << 12));
|
|
663
|
-
else
|
|
664
|
-
lss = b3 >> 3;
|
|
665
|
-
}
|
|
666
|
-
else {
|
|
667
|
-
s4 = sf;
|
|
668
|
-
if (sf < 2)
|
|
669
|
-
lss |= ((dat[++bt] & 63) << 4), lcs = (dat[bt] >> 6) | (dat[++bt] << 2);
|
|
670
|
-
else if (sf == 2)
|
|
671
|
-
lss |= (dat[++bt] << 4) | ((dat[++bt] & 3) << 12), lcs = (dat[bt] >> 2) | (dat[++bt] << 6);
|
|
672
|
-
else
|
|
673
|
-
lss |= (dat[++bt] << 4) | ((dat[++bt] & 63) << 12), lcs = (dat[bt] >> 6) | (dat[++bt] << 2) | (dat[++bt] << 10);
|
|
674
|
-
}
|
|
675
|
-
++bt;
|
|
676
|
-
// add literals to end - can never overlap with backreferences because unused literals always appended
|
|
677
|
-
var buf = out ? out.subarray(st.y, st.y + st.m) : new u8(st.m);
|
|
678
|
-
// starting point for literals
|
|
679
|
-
var spl = buf.length - lss;
|
|
680
|
-
if (lbt == 0)
|
|
681
|
-
buf.set(dat.subarray(bt, bt += lss), spl);
|
|
682
|
-
else if (lbt == 1)
|
|
683
|
-
fill(buf, dat[bt++], spl);
|
|
684
|
-
else {
|
|
685
|
-
// huffman table
|
|
686
|
-
var hu = st.h;
|
|
687
|
-
if (lbt == 2) {
|
|
688
|
-
var hud = rhu(dat, bt);
|
|
689
|
-
// subtract description length
|
|
690
|
-
lcs += bt - (bt = hud[0]);
|
|
691
|
-
st.h = hu = hud[1];
|
|
692
|
-
}
|
|
693
|
-
else if (!hu)
|
|
694
|
-
err(0);
|
|
695
|
-
(s4 ? dhu4 : dhu)(dat.subarray(bt, bt += lcs), buf.subarray(spl), hu);
|
|
696
|
-
}
|
|
697
|
-
// num sequences
|
|
698
|
-
var ns = dat[bt++];
|
|
699
|
-
if (ns) {
|
|
700
|
-
if (ns == 255)
|
|
701
|
-
ns = (dat[bt++] | (dat[bt++] << 8)) + 0x7F00;
|
|
702
|
-
else if (ns > 127)
|
|
703
|
-
ns = ((ns - 128) << 8) | dat[bt++];
|
|
704
|
-
// symbol compression modes
|
|
705
|
-
var scm = dat[bt++];
|
|
706
|
-
if (scm & 3)
|
|
707
|
-
err(0);
|
|
708
|
-
var dts = [dmlt, doct, dllt];
|
|
709
|
-
for (var i = 2; i > -1; --i) {
|
|
710
|
-
var md = (scm >> ((i << 1) + 2)) & 3;
|
|
711
|
-
if (md == 1) {
|
|
712
|
-
// rle buf
|
|
713
|
-
var rbuf = new u8([0, 0, dat[bt++]]);
|
|
714
|
-
dts[i] = {
|
|
715
|
-
s: rbuf.subarray(2, 3),
|
|
716
|
-
n: rbuf.subarray(0, 1),
|
|
717
|
-
t: new u16(rbuf.buffer, 0, 1),
|
|
718
|
-
b: 0
|
|
719
|
-
};
|
|
720
|
-
}
|
|
721
|
-
else if (md == 2) {
|
|
722
|
-
// accuracy log 8 for offsets, 9 for others
|
|
723
|
-
_a = rfse(dat, bt, 9 - (i & 1)), bt = _a[0], dts[i] = _a[1];
|
|
724
|
-
}
|
|
725
|
-
else if (md == 3) {
|
|
726
|
-
if (!st.t)
|
|
727
|
-
err(0);
|
|
728
|
-
dts[i] = st.t[i];
|
|
729
|
-
}
|
|
730
|
-
}
|
|
731
|
-
var _b = st.t = dts, mlt = _b[0], oct = _b[1], llt = _b[2];
|
|
732
|
-
var lb = dat[ebt - 1];
|
|
733
|
-
if (!lb)
|
|
734
|
-
err(0);
|
|
735
|
-
var spos = (ebt << 3) - 8 + msb(lb) - llt.b, cbt = spos >> 3, oubt = 0;
|
|
736
|
-
var lst = ((dat[cbt] | (dat[cbt + 1] << 8)) >> (spos & 7)) & ((1 << llt.b) - 1);
|
|
737
|
-
cbt = (spos -= oct.b) >> 3;
|
|
738
|
-
var ost = ((dat[cbt] | (dat[cbt + 1] << 8)) >> (spos & 7)) & ((1 << oct.b) - 1);
|
|
739
|
-
cbt = (spos -= mlt.b) >> 3;
|
|
740
|
-
var mst = ((dat[cbt] | (dat[cbt + 1] << 8)) >> (spos & 7)) & ((1 << mlt.b) - 1);
|
|
741
|
-
for (++ns; --ns;) {
|
|
742
|
-
var llc = llt.s[lst];
|
|
743
|
-
var lbtr = llt.n[lst];
|
|
744
|
-
var mlc = mlt.s[mst];
|
|
745
|
-
var mbtr = mlt.n[mst];
|
|
746
|
-
var ofc = oct.s[ost];
|
|
747
|
-
var obtr = oct.n[ost];
|
|
748
|
-
cbt = (spos -= ofc) >> 3;
|
|
749
|
-
var ofp = 1 << ofc;
|
|
750
|
-
var off = ofp + (((dat[cbt] | (dat[cbt + 1] << 8) | (dat[cbt + 2] << 16) | (dat[cbt + 3] << 24)) >>> (spos & 7)) & (ofp - 1));
|
|
751
|
-
cbt = (spos -= mlb[mlc]) >> 3;
|
|
752
|
-
var ml = mlbl[mlc] + (((dat[cbt] | (dat[cbt + 1] << 8) | (dat[cbt + 2] << 16)) >> (spos & 7)) & ((1 << mlb[mlc]) - 1));
|
|
753
|
-
cbt = (spos -= llb[llc]) >> 3;
|
|
754
|
-
var ll = llbl[llc] + (((dat[cbt] | (dat[cbt + 1] << 8) | (dat[cbt + 2] << 16)) >> (spos & 7)) & ((1 << llb[llc]) - 1));
|
|
755
|
-
cbt = (spos -= lbtr) >> 3;
|
|
756
|
-
lst = llt.t[lst] + (((dat[cbt] | (dat[cbt + 1] << 8)) >> (spos & 7)) & ((1 << lbtr) - 1));
|
|
757
|
-
cbt = (spos -= mbtr) >> 3;
|
|
758
|
-
mst = mlt.t[mst] + (((dat[cbt] | (dat[cbt + 1] << 8)) >> (spos & 7)) & ((1 << mbtr) - 1));
|
|
759
|
-
cbt = (spos -= obtr) >> 3;
|
|
760
|
-
ost = oct.t[ost] + (((dat[cbt] | (dat[cbt + 1] << 8)) >> (spos & 7)) & ((1 << obtr) - 1));
|
|
761
|
-
if (off > 3) {
|
|
762
|
-
st.o[2] = st.o[1];
|
|
763
|
-
st.o[1] = st.o[0];
|
|
764
|
-
st.o[0] = off -= 3;
|
|
765
|
-
}
|
|
766
|
-
else {
|
|
767
|
-
var idx = off - (ll != 0);
|
|
768
|
-
if (idx) {
|
|
769
|
-
off = idx == 3 ? st.o[0] - 1 : st.o[idx];
|
|
770
|
-
if (idx > 1)
|
|
771
|
-
st.o[2] = st.o[1];
|
|
772
|
-
st.o[1] = st.o[0];
|
|
773
|
-
st.o[0] = off;
|
|
774
|
-
}
|
|
775
|
-
else
|
|
776
|
-
off = st.o[0];
|
|
777
|
-
}
|
|
778
|
-
for (var i = 0; i < ll; ++i) {
|
|
779
|
-
buf[oubt + i] = buf[spl + i];
|
|
780
|
-
}
|
|
781
|
-
oubt += ll, spl += ll;
|
|
782
|
-
var stin = oubt - off;
|
|
783
|
-
if (stin < 0) {
|
|
784
|
-
var len = -stin;
|
|
785
|
-
var bs = st.e + stin;
|
|
786
|
-
if (len > ml)
|
|
787
|
-
len = ml;
|
|
788
|
-
for (var i = 0; i < len; ++i) {
|
|
789
|
-
buf[oubt + i] = st.w[bs + i];
|
|
790
|
-
}
|
|
791
|
-
oubt += len, ml -= len, stin = 0;
|
|
792
|
-
}
|
|
793
|
-
for (var i = 0; i < ml; ++i) {
|
|
794
|
-
buf[oubt + i] = buf[stin + i];
|
|
795
|
-
}
|
|
796
|
-
oubt += ml;
|
|
797
|
-
}
|
|
798
|
-
if (oubt != spl) {
|
|
799
|
-
while (spl < buf.length) {
|
|
800
|
-
buf[oubt++] = buf[spl++];
|
|
801
|
-
}
|
|
802
|
-
}
|
|
803
|
-
else
|
|
804
|
-
oubt = buf.length;
|
|
805
|
-
if (out)
|
|
806
|
-
st.y += oubt;
|
|
807
|
-
else
|
|
808
|
-
buf = slc(buf, 0, oubt);
|
|
809
|
-
}
|
|
810
|
-
else {
|
|
811
|
-
if (out) {
|
|
812
|
-
st.y += lss;
|
|
813
|
-
if (spl) {
|
|
814
|
-
for (var i = 0; i < lss; ++i) {
|
|
815
|
-
buf[i] = buf[spl + i];
|
|
816
|
-
}
|
|
817
|
-
}
|
|
818
|
-
}
|
|
819
|
-
else if (spl)
|
|
820
|
-
buf = slc(buf, spl);
|
|
821
|
-
}
|
|
822
|
-
st.b = ebt;
|
|
823
|
-
return buf;
|
|
824
|
-
}
|
|
825
|
-
err(2);
|
|
826
|
-
};
|
|
827
|
-
// concat
|
|
828
|
-
var cct = function (bufs, ol) {
|
|
829
|
-
if (bufs.length == 1)
|
|
830
|
-
return bufs[0];
|
|
831
|
-
var buf = new u8(ol);
|
|
832
|
-
for (var i = 0, b = 0; i < bufs.length; ++i) {
|
|
833
|
-
var chk = bufs[i];
|
|
834
|
-
buf.set(chk, b);
|
|
835
|
-
b += chk.length;
|
|
836
|
-
}
|
|
837
|
-
return buf;
|
|
838
|
-
};
|
|
839
|
-
/**
|
|
840
|
-
* Decompresses Zstandard data
|
|
841
|
-
* @param dat The input data
|
|
842
|
-
* @param buf The output buffer. If unspecified, the function will allocate
|
|
843
|
-
* exactly enough memory to fit the decompressed data. If your
|
|
844
|
-
* data has multiple frames and you know the output size, specifying
|
|
845
|
-
* it will yield better performance.
|
|
846
|
-
* @returns The decompressed data
|
|
847
|
-
*/
|
|
848
|
-
function decompress(dat, buf) {
|
|
849
|
-
var bt = 0, bufs = [], nb = +!buf, ol = 0;
|
|
850
|
-
for (; dat.length;) {
|
|
851
|
-
var st = rzfh(dat, nb || buf);
|
|
852
|
-
if (typeof st == 'object') {
|
|
853
|
-
if (nb) {
|
|
854
|
-
buf = null;
|
|
855
|
-
if (st.w.length == st.u) {
|
|
856
|
-
bufs.push(buf = st.w);
|
|
857
|
-
ol += st.u;
|
|
858
|
-
}
|
|
859
|
-
}
|
|
860
|
-
else {
|
|
861
|
-
bufs.push(buf);
|
|
862
|
-
st.e = 0;
|
|
863
|
-
}
|
|
864
|
-
for (; !st.l;) {
|
|
865
|
-
var blk = rzb(dat, st, buf);
|
|
866
|
-
if (!blk)
|
|
867
|
-
err(5);
|
|
868
|
-
if (buf)
|
|
869
|
-
st.e = st.y;
|
|
870
|
-
else {
|
|
871
|
-
bufs.push(blk);
|
|
872
|
-
ol += blk.length;
|
|
873
|
-
cpw(st.w, 0, blk.length);
|
|
874
|
-
st.w.set(blk, st.w.length - blk.length);
|
|
875
|
-
}
|
|
876
|
-
}
|
|
877
|
-
bt = st.b + (st.c * 4);
|
|
878
|
-
}
|
|
879
|
-
else
|
|
880
|
-
bt = st;
|
|
881
|
-
dat = dat.subarray(bt);
|
|
882
|
-
}
|
|
883
|
-
return cct(bufs, ol);
|
|
884
|
-
}
|
|
885
|
-
|
|
886
|
-
// See: https://github.com/Equim-chan/base91
|
|
887
|
-
const table = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!#$%&()*+,./:;<=>?@[]^_`{|}~"';
|
|
888
|
-
function decode(raw) {
|
|
889
|
-
const len = raw.length;
|
|
890
|
-
const ret = [];
|
|
891
|
-
let b = 0;
|
|
892
|
-
let n = 0;
|
|
893
|
-
let v = -1;
|
|
894
|
-
for (let i = 0; i < len; i++) {
|
|
895
|
-
const p = table.indexOf(raw[i]);
|
|
896
|
-
if (p === -1)
|
|
897
|
-
continue;
|
|
898
|
-
if (v < 0) {
|
|
899
|
-
v = p;
|
|
900
|
-
}
|
|
901
|
-
else {
|
|
902
|
-
v += p * 91;
|
|
903
|
-
b |= v << n;
|
|
904
|
-
n += (v & 8191) > 88 ? 13 : 14;
|
|
905
|
-
do {
|
|
906
|
-
ret.push(b & 0xff);
|
|
907
|
-
b >>= 8;
|
|
908
|
-
n -= 8;
|
|
909
|
-
} while (n > 7);
|
|
910
|
-
v = -1;
|
|
911
|
-
}
|
|
912
|
-
}
|
|
913
|
-
if (v > -1) {
|
|
914
|
-
ret.push((b | v << n) & 0xff);
|
|
915
|
-
}
|
|
916
|
-
return new Uint8Array(ret);
|
|
917
|
-
}
|
|
918
|
-
function extract(raw) {
|
|
919
|
-
const compressed = decode(raw);
|
|
920
|
-
return decompress(compressed);
|
|
921
|
-
}
|
|
922
|
-
|
|
923
245
|
var cpp$1 = (() => {
|
|
924
246
|
typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined;
|
|
925
247
|
|
|
@@ -961,12 +283,14 @@ function createFiles(graphviz, _ext) {
|
|
|
961
283
|
[...ext.files, ...imagesToFiles(ext.images)].forEach(file => graphviz.createFile(file.path, file.data));
|
|
962
284
|
}
|
|
963
285
|
function graphvizVersion(wasmFolder, wasmBinary) {
|
|
286
|
+
console.warn("Deprecation Warning: 'graphvizVersion' will be refactored into 'Graphviz' in 2.0.0");
|
|
964
287
|
return loadWasm(graphvizlib, "graphvizlib", wasmFolder, wasmBinary).then(module => {
|
|
965
288
|
return module.Graphviz.prototype.version();
|
|
966
289
|
});
|
|
967
290
|
}
|
|
968
291
|
const graphviz = {
|
|
969
292
|
layout(dotSource, outputFormat = "svg", layoutEngine = "dot", ext) {
|
|
293
|
+
console.warn("Deprecation Warning: 'graphviz' will be replaced with 'Graphviz' in 2.0.0");
|
|
970
294
|
if (!dotSource)
|
|
971
295
|
return Promise.resolve("");
|
|
972
296
|
return loadWasm(graphvizlib, "graphvizlib", ext?.wasmFolder, ext?.wasmBinary).then(module => {
|
|
@@ -1017,6 +341,7 @@ class GraphvizSync {
|
|
|
1017
341
|
this._wasm = _wasm;
|
|
1018
342
|
}
|
|
1019
343
|
layout(dotSource, outputFormat = "svg", layoutEngine = "dot", ext) {
|
|
344
|
+
console.warn("Deprecation Warning: 'GraphvizSync' will be replaced with 'Graphviz' in 2.0.0");
|
|
1020
345
|
if (!dotSource)
|
|
1021
346
|
return "";
|
|
1022
347
|
const graphViz = new this._wasm.Graphviz(ext?.yInvert ? 1 : 0, ext?.nop ? ext?.nop : 0);
|
|
@@ -1145,5 +470,5 @@ class Zstd extends WasmLibrary {
|
|
|
1145
470
|
|
|
1146
471
|
interop.scriptDir = scriptDir;
|
|
1147
472
|
|
|
1148
|
-
export { Base91, GraphvizSync, StackElement, StackParser, Zstd, expatVersion,
|
|
473
|
+
export { Base91, GraphvizSync, StackElement, StackParser, Zstd, expatVersion, graphviz, graphvizSync, graphvizVersion, parse, wasmFolder };
|
|
1149
474
|
//# sourceMappingURL=index.es6.js.map
|