@genome-spy/app 0.81.0 → 0.82.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.
@@ -0,0 +1,1157 @@
1
+ //#region ../../node_modules/@uwdata/flechette/src/constants.js
2
+ var e = Uint8Array.of(65, 82, 82, 79, 87, 49), t = {
3
+ V1: 0,
4
+ V2: 1,
5
+ V3: 2,
6
+ V4: 3,
7
+ V5: 4
8
+ }, n = {
9
+ NONE: 0,
10
+ Schema: 1,
11
+ DictionaryBatch: 2,
12
+ RecordBatch: 3,
13
+ Tensor: 4,
14
+ SparseTensor: 5
15
+ }, r = {
16
+ Dictionary: -1,
17
+ NONE: 0,
18
+ Null: 1,
19
+ Int: 2,
20
+ Float: 3,
21
+ Binary: 4,
22
+ Utf8: 5,
23
+ Bool: 6,
24
+ Decimal: 7,
25
+ Date: 8,
26
+ Time: 9,
27
+ Timestamp: 10,
28
+ Interval: 11,
29
+ List: 12,
30
+ Struct: 13,
31
+ Union: 14,
32
+ FixedSizeBinary: 15,
33
+ FixedSizeList: 16,
34
+ Map: 17,
35
+ Duration: 18,
36
+ LargeBinary: 19,
37
+ LargeUtf8: 20,
38
+ LargeList: 21,
39
+ RunEndEncoded: 22,
40
+ BinaryView: 23,
41
+ Utf8View: 24,
42
+ ListView: 25,
43
+ LargeListView: 26
44
+ }, i = {
45
+ HALF: 0,
46
+ SINGLE: 1,
47
+ DOUBLE: 2
48
+ }, a = {
49
+ DAY: 0,
50
+ MILLISECOND: 1
51
+ }, o = {
52
+ SECOND: 0,
53
+ MILLISECOND: 1,
54
+ MICROSECOND: 2,
55
+ NANOSECOND: 3
56
+ }, s = {
57
+ YEAR_MONTH: 0,
58
+ DAY_TIME: 1,
59
+ MONTH_DAY_NANO: 2
60
+ }, c = {
61
+ Sparse: 0,
62
+ Dense: 1
63
+ }, l = {
64
+ LZ4_FRAME: 0,
65
+ ZSTD: 1
66
+ }, u = { BUFFER: 0 }, d = Uint8Array, f = Uint16Array, p = Uint32Array, m = BigUint64Array, h = Int8Array, ee = Int16Array, g = Int32Array, _ = BigInt64Array, te = Float32Array, v = Float64Array;
67
+ function y(e) {
68
+ return Object.prototype.toString.call(e);
69
+ }
70
+ function ne(e) {
71
+ return y(e) === "[object ArrayBuffer]" || y(e) === "[object SharedArrayBuffer]";
72
+ }
73
+ function re(e) {
74
+ return y(e) === "[object Uint8Array]";
75
+ }
76
+ function ie(e, t) {
77
+ let n = Math.log2(e) - 3;
78
+ return (t ? [
79
+ h,
80
+ ee,
81
+ g,
82
+ _
83
+ ] : [
84
+ d,
85
+ f,
86
+ p,
87
+ m
88
+ ])[n];
89
+ }
90
+ function b(e, t) {
91
+ let n = 0, r = e.length;
92
+ if (r <= 2147483648) do {
93
+ let i = n + r >>> 1;
94
+ e[i] <= t ? n = i + 1 : r = i;
95
+ } while (n < r);
96
+ else do {
97
+ let i = Math.trunc((n + r) / 2);
98
+ e[i] <= t ? n = i + 1 : r = i;
99
+ } while (n < r);
100
+ return n;
101
+ }
102
+ //#endregion
103
+ //#region ../../node_modules/@uwdata/flechette/src/util/objects.js
104
+ function x(e, t, n) {
105
+ if (t(e)) return e;
106
+ throw Error(n(e));
107
+ }
108
+ function S(e, t, n) {
109
+ return t = Array.isArray(t) ? t : Object.values(t), x(e, (e) => t.includes(e), n ?? (() => `${e} must be one of ${t}`));
110
+ }
111
+ function C(e, t) {
112
+ for (let [n, r] of Object.entries(e)) if (r === t) return n;
113
+ return "<Unknown>";
114
+ }
115
+ //#endregion
116
+ //#region ../../node_modules/@uwdata/flechette/src/data-types.js
117
+ var w = (e) => `Unsupported data type: "${C(r, e)}" (id ${e})`, ae = (e, t, n = !0, r = null) => ({
118
+ name: e,
119
+ type: t,
120
+ nullable: n,
121
+ metadata: r
122
+ });
123
+ function oe(e) {
124
+ return Object.hasOwn(e, "name") && se(e.type);
125
+ }
126
+ function se(e) {
127
+ return typeof e?.typeId == "number";
128
+ }
129
+ function T(e, t = "", n = !0) {
130
+ return oe(e) ? e : ae(t, x(e, se, () => "Data type expected."), n);
131
+ }
132
+ var ce = (e, t, n = !1, i = -1) => ({
133
+ typeId: r.Dictionary,
134
+ id: i,
135
+ dictionary: e,
136
+ indices: t || ue(),
137
+ ordered: n
138
+ }), le = (e = 32, t = !0) => ({
139
+ typeId: r.Int,
140
+ bitWidth: S(e, [
141
+ 8,
142
+ 16,
143
+ 32,
144
+ 64
145
+ ]),
146
+ signed: t,
147
+ values: ie(e, t)
148
+ }), ue = () => le(32), de = (e = 2) => ({
149
+ typeId: r.Float,
150
+ precision: S(e, i),
151
+ values: [
152
+ f,
153
+ te,
154
+ v
155
+ ][e]
156
+ }), fe = () => ({
157
+ typeId: r.Binary,
158
+ offsets: g
159
+ }), pe = () => ({
160
+ typeId: r.Utf8,
161
+ offsets: g
162
+ }), me = (e, t, n = 128) => ({
163
+ typeId: r.Decimal,
164
+ precision: e,
165
+ scale: t,
166
+ bitWidth: S(n, [
167
+ 32,
168
+ 64,
169
+ 128,
170
+ 256
171
+ ]),
172
+ values: n === 32 ? g : m
173
+ }), he = (e) => ({
174
+ typeId: r.Date,
175
+ unit: S(e, a),
176
+ values: e === a.DAY ? g : _
177
+ }), ge = (e = o.MILLISECOND) => {
178
+ e = S(e, o);
179
+ let t = e === o.SECOND || e === o.MILLISECOND ? 32 : 64;
180
+ return {
181
+ typeId: r.Time,
182
+ unit: e,
183
+ bitWidth: t,
184
+ values: t === 32 ? g : _
185
+ };
186
+ }, _e = (e = o.MILLISECOND, t = null) => ({
187
+ typeId: r.Timestamp,
188
+ unit: S(e, o),
189
+ timezone: t,
190
+ values: _
191
+ }), ve = (e = s.MONTH_DAY_NANO) => ({
192
+ typeId: r.Interval,
193
+ unit: S(e, s),
194
+ values: e === s.MONTH_DAY_NANO ? void 0 : g
195
+ }), ye = (e) => ({
196
+ typeId: r.List,
197
+ children: [T(e)],
198
+ offsets: g
199
+ }), be = (e) => ({
200
+ typeId: r.Struct,
201
+ children: Array.isArray(e) && e.length > 0 && oe(e[0]) ? e : Object.entries(e).map(([e, t]) => ae(e, t))
202
+ }), xe = (e, t, n, i) => (n ??= t.map((e, t) => t), {
203
+ typeId: r.Union,
204
+ mode: S(e, c),
205
+ typeIds: n,
206
+ typeMap: n.reduce((e, t, n) => (e[t] = n, e), {}),
207
+ children: t.map((e, t) => T(e, `_${t}`)),
208
+ typeIdForValue: i,
209
+ offsets: g
210
+ }), Se = (e) => ({
211
+ typeId: r.FixedSizeBinary,
212
+ stride: e
213
+ }), Ce = (e, t) => ({
214
+ typeId: r.FixedSizeList,
215
+ stride: t,
216
+ children: [T(e)]
217
+ }), we = (e, t) => ({
218
+ typeId: r.Map,
219
+ keysSorted: e,
220
+ children: [t],
221
+ offsets: g
222
+ }), Te = (e = o.MILLISECOND) => ({
223
+ typeId: r.Duration,
224
+ unit: S(e, o),
225
+ values: _
226
+ }), Ee = () => ({
227
+ typeId: r.LargeBinary,
228
+ offsets: _
229
+ }), De = () => ({
230
+ typeId: r.LargeUtf8,
231
+ offsets: _
232
+ }), Oe = (e) => ({
233
+ typeId: r.LargeList,
234
+ children: [T(e)],
235
+ offsets: _
236
+ }), ke = (e, t) => ({
237
+ typeId: r.RunEndEncoded,
238
+ children: [x(T(e, "run_ends"), (e) => e.type.typeId === r.Int, () => "Run-ends must have an integer type."), T(t, "values")]
239
+ }), Ae = (e) => ({
240
+ typeId: r.ListView,
241
+ children: [T(e, "value")],
242
+ offsets: g
243
+ }), je = (e) => ({
244
+ typeId: r.LargeListView,
245
+ children: [T(e, "value")],
246
+ offsets: _
247
+ }), E = new v(2).buffer;
248
+ new _(E), new p(E), new g(E), new d(E);
249
+ function D(e) {
250
+ if (e > 2 ** 53 - 1 || e < -(2 ** 53 - 1)) throw Error(`BigInt exceeds integer number representation: ${e}`);
251
+ return Number(e);
252
+ }
253
+ function O(e, t) {
254
+ return Number(e / t) + Number(e % t) / Number(t);
255
+ }
256
+ var k = (e) => BigInt.asUintN(64, e);
257
+ function Me(e, t) {
258
+ return BigInt.asIntN(64, e[t]);
259
+ }
260
+ function Ne(e, t) {
261
+ let n = t << 1, r;
262
+ return BigInt.asIntN(64, e[n + 1]) < 0 ? (r = k(~e[n]) | k(~e[n + 1]) << 64n, r = -(r + 1n)) : r = e[n] | e[n + 1] << 64n, r;
263
+ }
264
+ function Pe(e, t) {
265
+ let n = t << 2, r;
266
+ return BigInt.asIntN(64, e[n + 3]) < 0 ? (r = k(~e[n]) | k(~e[n + 1]) << 64n | k(~e[n + 2]) << 128n | k(~e[n + 3]) << 192n, r = -(r + 1n)) : r = e[n] | e[n + 1] << 64n | e[n + 2] << 128n | e[n + 3] << 192n, r;
267
+ }
268
+ //#endregion
269
+ //#region ../../node_modules/@uwdata/flechette/src/util/strings.js
270
+ var Fe = new TextDecoder("utf-8");
271
+ new TextEncoder();
272
+ function A(e) {
273
+ return Fe.decode(e);
274
+ }
275
+ function Ie(e, t) {
276
+ return (e[t >> 3] & 1 << t % 8) != 0;
277
+ }
278
+ function j(e, t) {
279
+ let n = t + L(e, t), r = n - L(e, n), i = I(e, r);
280
+ return (t, a, o = null) => {
281
+ if (t < i) {
282
+ let i = I(e, r + t);
283
+ if (i) return a(e, n + i);
284
+ }
285
+ return o;
286
+ };
287
+ }
288
+ function M(e, t) {
289
+ return t;
290
+ }
291
+ function N(e, t) {
292
+ return !!P(e, t);
293
+ }
294
+ function P(e, t) {
295
+ return F(e, t) << 24 >> 24;
296
+ }
297
+ function F(e, t) {
298
+ return e[t];
299
+ }
300
+ function I(e, t) {
301
+ return Le(e, t) << 16 >> 16;
302
+ }
303
+ function Le(e, t) {
304
+ return e[t] | e[t + 1] << 8;
305
+ }
306
+ function L(e, t) {
307
+ return e[t] | e[t + 1] << 8 | e[t + 2] << 16 | e[t + 3] << 24;
308
+ }
309
+ function Re(e, t) {
310
+ return L(e, t) >>> 0;
311
+ }
312
+ function R(e, t) {
313
+ return D(BigInt.asIntN(64, BigInt(Re(e, t)) + (BigInt(Re(e, t + 4)) << 32n)));
314
+ }
315
+ function z(e, t) {
316
+ let n = t + L(e, t), r = L(e, n);
317
+ return n += 4, A(e.subarray(n, n + r));
318
+ }
319
+ function B(e, t, n, r) {
320
+ if (!t) return [];
321
+ let i = t + L(e, t);
322
+ return Array.from({ length: L(e, i) }, (t, a) => r(e, i + 4 + a * n));
323
+ }
324
+ //#endregion
325
+ //#region ../../node_modules/@uwdata/flechette/src/util/struct.js
326
+ var V = Symbol("rowIndex");
327
+ function H(e, t) {
328
+ class n {
329
+ constructor(e) {
330
+ this[V] = e;
331
+ }
332
+ toJSON() {
333
+ return Be(e, t, this[V]);
334
+ }
335
+ }
336
+ let r = n.prototype;
337
+ for (let n = 0; n < e.length; ++n) {
338
+ if (Object.hasOwn(r, e[n])) continue;
339
+ let i = t[n];
340
+ Object.defineProperty(r, e[n], {
341
+ get() {
342
+ return i.at(this[V]);
343
+ },
344
+ enumerable: !0
345
+ });
346
+ }
347
+ return (e) => new n(e);
348
+ }
349
+ function ze(e, t) {
350
+ return (n) => Be(e, t, n);
351
+ }
352
+ function Be(e, t, n) {
353
+ let r = {};
354
+ for (let i = 0; i < e.length; ++i) r[e[i]] = t[i].at(n);
355
+ return r;
356
+ }
357
+ //#endregion
358
+ //#region ../../node_modules/@uwdata/flechette/src/batch.js
359
+ function Ve(e) {
360
+ return e instanceof W;
361
+ }
362
+ var U = class {
363
+ static ArrayType = null;
364
+ constructor({ length: e, nullCount: t, type: n, validity: r, values: i, offsets: a, sizes: o, children: s }) {
365
+ this.length = e, this.nullCount = t, this.type = n, this.validity = r, this.values = i, this.offsets = a, this.sizes = o, this.children = s, (!t || !this.validity) && (this.at = (e) => this.value(e));
366
+ }
367
+ get [Symbol.toStringTag]() {
368
+ return "Batch";
369
+ }
370
+ at(e) {
371
+ return this.isValid(e) ? this.value(e) : null;
372
+ }
373
+ isValid(e) {
374
+ return Ie(this.validity, e);
375
+ }
376
+ value(e) {
377
+ return this.values[e];
378
+ }
379
+ slice(e, t) {
380
+ let n = t - e, r = Array(n);
381
+ for (let t = 0; t < n; ++t) r[t] = this.at(e + t);
382
+ return r;
383
+ }
384
+ *[Symbol.iterator]() {
385
+ for (let e = 0; e < this.length; ++e) yield this.at(e);
386
+ }
387
+ }, W = class extends U {
388
+ constructor(e) {
389
+ super(e);
390
+ let { length: t, values: n } = this;
391
+ this.values = n.subarray(0, t);
392
+ }
393
+ slice(e, t) {
394
+ return this.nullCount ? super.slice(e, t) : this.values.subarray(e, t);
395
+ }
396
+ [Symbol.iterator]() {
397
+ return this.nullCount ? super[Symbol.iterator]() : this.values[Symbol.iterator]();
398
+ }
399
+ }, G = class extends U {
400
+ static ArrayType = v;
401
+ }, K = class extends U {
402
+ static ArrayType = Array;
403
+ }, He = class extends K {
404
+ value(e) {
405
+ return null;
406
+ }
407
+ }, q = class extends G {
408
+ value(e) {
409
+ return D(this.values[e]);
410
+ }
411
+ }, Ue = class extends G {
412
+ value(e) {
413
+ let t = this.values[e], n = (t & 31744) >> 10, r = (t & 1023) / 1024, i = (-1) ** ((t & 32768) >> 15);
414
+ switch (n) {
415
+ case 31: return i * (r ? NaN : Infinity);
416
+ case 0: return i * (r ? 6103515625e-14 * r : 0);
417
+ }
418
+ return i * 2 ** (n - 15) * (1 + r);
419
+ }
420
+ }, We = class extends K {
421
+ value(e) {
422
+ return Ie(this.values, e);
423
+ }
424
+ }, Ge = class extends G {
425
+ constructor(e) {
426
+ super(e);
427
+ let { scale: t } = this.type;
428
+ this.scale = 10 ** t;
429
+ }
430
+ value(e) {
431
+ return this.values[e] / this.scale;
432
+ }
433
+ }, Ke = class extends U {
434
+ constructor(e) {
435
+ super(e);
436
+ let { bitWidth: t, scale: n } = this.type;
437
+ this.decimal = t === 64 ? Me : t === 128 ? Ne : Pe, this.scale = 10n ** BigInt(n);
438
+ }
439
+ }, qe = class extends Ke {
440
+ static ArrayType = v;
441
+ value(e) {
442
+ return O(this.decimal(this.values, e), this.scale);
443
+ }
444
+ }, Je = class extends Ke {
445
+ static ArrayType = Array;
446
+ value(e) {
447
+ return this.decimal(this.values, e);
448
+ }
449
+ }, Ye = class extends K {
450
+ constructor(e) {
451
+ super(e), this.source = e;
452
+ }
453
+ value(e) {
454
+ return new Date(this.source.value(e));
455
+ }
456
+ }, Xe = class extends G {
457
+ value(e) {
458
+ return 864e5 * this.values[e];
459
+ }
460
+ }, Ze = q, Qe = class extends q {
461
+ value(e) {
462
+ return super.value(e) * 1e3;
463
+ }
464
+ }, $e = q, et = class extends q {
465
+ value(e) {
466
+ return O(this.values[e], 1000n);
467
+ }
468
+ }, tt = class extends q {
469
+ value(e) {
470
+ return O(this.values[e], 1000000n);
471
+ }
472
+ }, nt = class extends K {
473
+ value(e) {
474
+ return this.values.subarray(e << 1, e + 1 << 1);
475
+ }
476
+ }, rt = class extends K {
477
+ value(e) {
478
+ let t = this.values, n = e << 4;
479
+ return Float64Array.of(L(t, n), L(t, n + 4), R(t, n + 8));
480
+ }
481
+ }, it = ({ values: e, offsets: t }, n) => e.subarray(t[n], t[n + 1]), at = ({ values: e, offsets: t }, n) => e.subarray(D(t[n]), D(t[n + 1])), ot = class extends K {
482
+ value(e) {
483
+ return it(this, e);
484
+ }
485
+ }, st = class extends K {
486
+ value(e) {
487
+ return at(this, e);
488
+ }
489
+ }, ct = class extends K {
490
+ value(e) {
491
+ return A(it(this, e));
492
+ }
493
+ }, lt = class extends K {
494
+ value(e) {
495
+ return A(at(this, e));
496
+ }
497
+ }, ut = class extends K {
498
+ value(e) {
499
+ let t = this.offsets;
500
+ return this.children[0].slice(t[e], t[e + 1]);
501
+ }
502
+ }, dt = class extends K {
503
+ value(e) {
504
+ let t = this.offsets;
505
+ return this.children[0].slice(D(t[e]), D(t[e + 1]));
506
+ }
507
+ }, ft = class extends K {
508
+ value(e) {
509
+ let t = this.offsets[e], n = t + this.sizes[e];
510
+ return this.children[0].slice(t, n);
511
+ }
512
+ }, pt = class extends K {
513
+ value(e) {
514
+ let t = this.offsets[e], n = t + this.sizes[e];
515
+ return this.children[0].slice(D(t), D(n));
516
+ }
517
+ }, mt = class extends K {
518
+ constructor(e) {
519
+ super(e), this.stride = this.type.stride;
520
+ }
521
+ }, ht = class extends mt {
522
+ value(e) {
523
+ let { stride: t, values: n } = this;
524
+ return n.subarray(e * t, (e + 1) * t);
525
+ }
526
+ }, gt = class extends mt {
527
+ value(e) {
528
+ let { children: t, stride: n } = this;
529
+ return t[0].slice(e * n, (e + 1) * n);
530
+ }
531
+ };
532
+ function _t({ children: e, offsets: t }, n) {
533
+ let [r, i] = e[0].children, a = t[n], o = t[n + 1], s = [];
534
+ for (let e = a; e < o; ++e) s.push([r.at(e), i.at(e)]);
535
+ return s;
536
+ }
537
+ var vt = class extends K {
538
+ value(e) {
539
+ return _t(this, e);
540
+ }
541
+ }, yt = class extends K {
542
+ value(e) {
543
+ return new Map(_t(this, e));
544
+ }
545
+ }, bt = class extends K {
546
+ constructor({ typeIds: e, ...t }) {
547
+ super(t), this.typeIds = e, this.typeMap = this.type.typeMap;
548
+ }
549
+ value(e, t = e) {
550
+ let { typeIds: n, children: r, typeMap: i } = this;
551
+ return r[i[n[e]]].at(t);
552
+ }
553
+ }, xt = class extends bt {
554
+ value(e) {
555
+ return super.value(e, this.offsets[e]);
556
+ }
557
+ }, St = class extends K {
558
+ constructor(e, t = ze) {
559
+ super(e), this.names = this.type.children.map((e) => e.name), this.factory = t(this.names, this.children);
560
+ }
561
+ value(e) {
562
+ return this.factory(e);
563
+ }
564
+ }, Ct = class extends St {
565
+ constructor(e) {
566
+ super(e, H);
567
+ }
568
+ }, wt = class extends K {
569
+ value(e) {
570
+ let [{ values: t }, n] = this.children;
571
+ return n.at(b(t, e));
572
+ }
573
+ }, Tt = class extends K {
574
+ setDictionary(e) {
575
+ return this.dictionary = e, this.cache = e.cache(), this;
576
+ }
577
+ value(e) {
578
+ return this.cache[this.key(e)];
579
+ }
580
+ key(e) {
581
+ return this.values[e];
582
+ }
583
+ }, Et = class extends K {
584
+ constructor({ data: e, ...t }) {
585
+ super(t), this.data = e;
586
+ }
587
+ view(e) {
588
+ let { values: t, data: n } = this, r = e << 4, i = r + 4, a = t, o = L(a, r);
589
+ return o > 12 && (i = L(a, r + 12), a = n[L(a, r + 8)]), a.subarray(i, i + o);
590
+ }
591
+ }, Dt = class extends Et {
592
+ value(e) {
593
+ return this.view(e);
594
+ }
595
+ }, Ot = class extends Et {
596
+ value(e) {
597
+ return A(this.view(e));
598
+ }
599
+ };
600
+ //#endregion
601
+ //#region ../../node_modules/@uwdata/flechette/src/column.js
602
+ function kt(e) {
603
+ let t = [];
604
+ return {
605
+ add(e) {
606
+ return t.push(e), this;
607
+ },
608
+ clear: () => t = [],
609
+ done: () => new J(t, e)
610
+ };
611
+ }
612
+ var J = class {
613
+ constructor(e, t = e[0]?.type) {
614
+ this.type = t, this.length = e.reduce((e, t) => e + t.length, 0), this.nullCount = e.reduce((e, t) => e + t.nullCount, 0), this.data = e;
615
+ let n = e.length, r = new Int32Array(n + 1);
616
+ if (n === 1) {
617
+ let [t] = e;
618
+ r[1] = t.length, this.at = (e) => t.at(e);
619
+ } else for (let t = 0, i = 0; t < n; ++t) r[t + 1] = i += e[t].length;
620
+ this.offsets = r;
621
+ }
622
+ get [Symbol.toStringTag]() {
623
+ return "Column";
624
+ }
625
+ [Symbol.iterator]() {
626
+ let e = this.data;
627
+ return e.length === 1 ? e[0][Symbol.iterator]() : At(e);
628
+ }
629
+ at(e) {
630
+ let { data: t, offsets: n } = this, r = b(n, e) - 1;
631
+ return t[r]?.at(e - n[r]);
632
+ }
633
+ get(e) {
634
+ return this.at(e);
635
+ }
636
+ toArray() {
637
+ let { length: e, nullCount: t, data: n } = this, r = !t && Ve(n[0]), i = n.length;
638
+ if (r && i === 1) return n[0].values;
639
+ let a = new (!i || t > 0 ? Array : n[0].constructor.ArrayType ?? n[0].values.constructor)(e);
640
+ return r ? jt(a, n) : Mt(a, n);
641
+ }
642
+ cache() {
643
+ return this._cache ??= this.toArray();
644
+ }
645
+ };
646
+ function* At(e) {
647
+ for (let t = 0; t < e.length; ++t) {
648
+ let n = e[t][Symbol.iterator]();
649
+ for (let e = n.next(); !e.done; e = n.next()) yield e.value;
650
+ }
651
+ }
652
+ function jt(e, t) {
653
+ for (let n = 0, r = 0; n < t.length; ++n) {
654
+ let { values: i } = t[n];
655
+ e.set(i, r), r += i.length;
656
+ }
657
+ return e;
658
+ }
659
+ function Mt(e, t) {
660
+ let n = -1;
661
+ for (let r = 0; r < t.length; ++r) {
662
+ let i = t[r];
663
+ for (let t = 0; t < i.length; ++t) e[++n] = i.at(t);
664
+ }
665
+ return e;
666
+ }
667
+ //#endregion
668
+ //#region ../../node_modules/@uwdata/flechette/src/table.js
669
+ var Nt = class e {
670
+ constructor(e, t, n = !1) {
671
+ let r = e.fields.map((e) => e.name);
672
+ this.schema = e, this.names = r, this.children = t, this.factory = n ? H : ze;
673
+ let i = [];
674
+ this.getFactory = (e) => i[e] ?? (i[e] = this.factory(r, t.map((t) => t.data[e])));
675
+ }
676
+ get [Symbol.toStringTag]() {
677
+ return "Table";
678
+ }
679
+ get numCols() {
680
+ return this.names.length;
681
+ }
682
+ get numRows() {
683
+ return this.children[0]?.length ?? 0;
684
+ }
685
+ getChildAt(e) {
686
+ return this.children[e];
687
+ }
688
+ getChild(e) {
689
+ let t = this.names.findIndex((t) => t === e);
690
+ return t > -1 ? this.children[t] : void 0;
691
+ }
692
+ selectAt(t, n = []) {
693
+ let { children: r, factory: i, schema: a } = this, { fields: o } = a;
694
+ return new e({
695
+ ...a,
696
+ fields: t.map((e, t) => Pt(o[e], n[t]))
697
+ }, t.map((e) => r[e]), i === H);
698
+ }
699
+ select(e, t) {
700
+ let n = this.names, r = e.map((e) => n.indexOf(e));
701
+ return this.selectAt(r, t);
702
+ }
703
+ toColumns() {
704
+ let { children: e, names: t } = this, n = {};
705
+ return t.forEach((t, r) => n[t] = e[r]?.toArray() ?? []), n;
706
+ }
707
+ toArray() {
708
+ let { children: e, getFactory: t, numRows: n } = this, r = e[0]?.data ?? [], i = Array(n);
709
+ for (let e = 0, n = -1; e < r.length; ++e) {
710
+ let a = t(e);
711
+ for (let t = 0; t < r[e].length; ++t) i[++n] = a(t);
712
+ }
713
+ return i;
714
+ }
715
+ *[Symbol.iterator]() {
716
+ let { children: e, getFactory: t } = this, n = e[0]?.data ?? [];
717
+ for (let e = 0; e < n.length; ++e) {
718
+ let r = t(e);
719
+ for (let t = 0; t < n[e].length; ++t) yield r(t);
720
+ }
721
+ }
722
+ at(e) {
723
+ let { children: t, getFactory: n, numRows: r } = this;
724
+ if (e < 0 || e >= r) return null;
725
+ let [{ offsets: i }] = t, a = b(i, e) - 1;
726
+ return n(a)(e - i[a]);
727
+ }
728
+ get(e) {
729
+ return this.at(e);
730
+ }
731
+ };
732
+ function Pt(e, t) {
733
+ return t != null && t !== e.name ? {
734
+ ...e,
735
+ name: t
736
+ } : e;
737
+ }
738
+ //#endregion
739
+ //#region ../../node_modules/@uwdata/flechette/src/batch-type.js
740
+ function Ft(e, t = {}) {
741
+ let { typeId: n, bitWidth: i, mode: c, precision: l, unit: u } = e, { useBigInt: d, useBigIntTimestamp: f, useDate: p, useDecimalInt: m, useMap: h, useProxy: ee } = t;
742
+ switch (n) {
743
+ case r.Null: return He;
744
+ case r.Bool: return We;
745
+ case r.Int:
746
+ case r.Time:
747
+ case r.Duration: return d || i < 64 ? W : q;
748
+ case r.Float: return l ? W : Ue;
749
+ case r.Date: return It(u === a.DAY ? Xe : Ze, p && Ye);
750
+ case r.Timestamp: return f ? W : It(u === o.SECOND ? Qe : u === o.MILLISECOND ? $e : u === o.MICROSECOND ? et : tt, p && Ye);
751
+ case r.Decimal: return i === 32 ? m ? W : Ge : m ? Je : qe;
752
+ case r.Interval: return u === s.DAY_TIME ? nt : u === s.YEAR_MONTH ? W : rt;
753
+ case r.FixedSizeBinary: return ht;
754
+ case r.Utf8: return ct;
755
+ case r.LargeUtf8: return lt;
756
+ case r.Binary: return ot;
757
+ case r.LargeBinary: return st;
758
+ case r.BinaryView: return Dt;
759
+ case r.Utf8View: return Ot;
760
+ case r.List: return ut;
761
+ case r.LargeList: return dt;
762
+ case r.Map: return h ? yt : vt;
763
+ case r.ListView: return ft;
764
+ case r.LargeListView: return pt;
765
+ case r.FixedSizeList: return gt;
766
+ case r.Struct: return ee ? Ct : St;
767
+ case r.RunEndEncoded: return wt;
768
+ case r.Dictionary: return Tt;
769
+ case r.Union: return c ? xt : bt;
770
+ }
771
+ throw Error(w(n));
772
+ }
773
+ function It(e, t) {
774
+ return t ? class extends t {
775
+ constructor(t) {
776
+ super(new e(t));
777
+ }
778
+ } : e;
779
+ }
780
+ //#endregion
781
+ //#region ../../node_modules/@uwdata/flechette/src/compression.js
782
+ var Lt = -1, Rt = 8;
783
+ function zt(e) {
784
+ return `Missing compression codec "${C(l, e)}" (id ${e})`;
785
+ }
786
+ var Bt = /* @__PURE__ */ new Map();
787
+ function Vt(e) {
788
+ return e != null && Bt.get(e) || null;
789
+ }
790
+ function Ht(e, { offset: t, length: n }, r) {
791
+ if (n === 0) return {
792
+ bytes: /* @__PURE__ */ new Uint8Array(),
793
+ offset: 0,
794
+ length: 0
795
+ };
796
+ let i = R(e, t), a = e.subarray(t + Rt, t + n), o = i === Lt ? a : r.decode(a, i);
797
+ return {
798
+ bytes: o,
799
+ offset: 0,
800
+ length: o.length
801
+ };
802
+ }
803
+ //#endregion
804
+ //#region ../../node_modules/@uwdata/flechette/src/decode/block.js
805
+ function Ut(e, t) {
806
+ return {
807
+ offset: R(e, t),
808
+ metadataLength: L(e, t + 8),
809
+ bodyLength: R(e, t + 16)
810
+ };
811
+ }
812
+ function Y(e, t) {
813
+ return B(e, t, 24, Ut);
814
+ }
815
+ //#endregion
816
+ //#region ../../node_modules/@uwdata/flechette/src/decode/body-compression.js
817
+ function Wt(e, t) {
818
+ let n = j(e, t);
819
+ return {
820
+ codec: n(4, P, l.LZ4_FRAME),
821
+ method: n(6, P, u.BUFFER)
822
+ };
823
+ }
824
+ //#endregion
825
+ //#region ../../node_modules/@uwdata/flechette/src/decode/record-batch.js
826
+ function Gt(e, n, r) {
827
+ let i = j(e, n), a = r < t.V4 ? 8 : 0;
828
+ return {
829
+ length: i(4, R, 0),
830
+ nodes: B(e, i(6, M), 16, (e, t) => ({
831
+ length: R(e, t),
832
+ nullCount: R(e, t + 8)
833
+ })),
834
+ regions: B(e, i(8, M), 16 + a, (e, t) => ({
835
+ offset: R(e, t + a),
836
+ length: R(e, t + a + 8)
837
+ })),
838
+ compression: i(10, Wt),
839
+ variadic: B(e, i(12, M), 8, R)
840
+ };
841
+ }
842
+ //#endregion
843
+ //#region ../../node_modules/@uwdata/flechette/src/decode/dictionary-batch.js
844
+ function Kt(e, t, n) {
845
+ let r = j(e, t);
846
+ return {
847
+ id: r(4, R, 0),
848
+ data: r(6, (e, t) => Gt(e, t, n)),
849
+ isDelta: r(8, N, !1)
850
+ };
851
+ }
852
+ //#endregion
853
+ //#region ../../node_modules/@uwdata/flechette/src/decode/data-type.js
854
+ function qt(e, t, n, l) {
855
+ S(n, r, w);
856
+ let u = j(e, t);
857
+ switch (n) {
858
+ case r.Binary: return fe();
859
+ case r.Utf8: return pe();
860
+ case r.LargeBinary: return Ee();
861
+ case r.LargeUtf8: return De();
862
+ case r.List: return ye(l[0]);
863
+ case r.ListView: return Ae(l[0]);
864
+ case r.LargeList: return Oe(l[0]);
865
+ case r.LargeListView: return je(l[0]);
866
+ case r.Struct: return be(l);
867
+ case r.RunEndEncoded: return ke(l[0], l[1]);
868
+ case r.Int: return le(u(4, L, 0), u(6, N, !1));
869
+ case r.Float: return de(u(4, I, i.HALF));
870
+ case r.Decimal: return me(u(4, L, 0), u(6, L, 0), u(8, L, 128));
871
+ case r.Date: return he(u(4, I, a.MILLISECOND));
872
+ case r.Time: return ge(u(4, I, o.MILLISECOND));
873
+ case r.Timestamp: return _e(u(4, I, o.SECOND), u(6, z));
874
+ case r.Interval: return ve(u(4, I, s.YEAR_MONTH));
875
+ case r.Duration: return Te(u(4, I, o.MILLISECOND));
876
+ case r.FixedSizeBinary: return Se(u(4, L, 0));
877
+ case r.FixedSizeList: return Ce(l[0], u(4, L, 0));
878
+ case r.Map: return we(u(4, N, !1), l[0]);
879
+ case r.Union: return xe(u(4, I, c.Sparse), l, B(e, u(6, M), 4, L));
880
+ }
881
+ return { typeId: n };
882
+ }
883
+ //#endregion
884
+ //#region ../../node_modules/@uwdata/flechette/src/decode/metadata.js
885
+ function X(e, t) {
886
+ let n = B(e, t, 4, (e, t) => {
887
+ let n = j(e, t);
888
+ return [n(4, z), n(6, z)];
889
+ });
890
+ return n.length ? new Map(n) : null;
891
+ }
892
+ //#endregion
893
+ //#region ../../node_modules/@uwdata/flechette/src/decode/schema.js
894
+ function Jt(e, t, n) {
895
+ let r = j(e, t);
896
+ return {
897
+ version: n,
898
+ endianness: r(4, I, 0),
899
+ fields: r(6, Yt, []),
900
+ metadata: r(8, X)
901
+ };
902
+ }
903
+ function Yt(e, t) {
904
+ return B(e, t, 4, Z);
905
+ }
906
+ function Z(e, t) {
907
+ let n = j(e, t), i = n(8, F, r.NONE), a = n(10, M, 0), o = n(12, Zt), s = qt(e, a, i, n(14, Xt, []));
908
+ return o && (o.dictionary = s, s = o), {
909
+ name: n(4, z),
910
+ type: s,
911
+ nullable: n(6, N, !1),
912
+ metadata: n(16, X)
913
+ };
914
+ }
915
+ function Xt(e, t) {
916
+ return B(e, t, 4, Z);
917
+ }
918
+ function Zt(e, t) {
919
+ if (!t) return null;
920
+ let n = j(e, t);
921
+ return ce(null, n(6, Qt, ue()), n(8, N, !1), n(4, R, 0));
922
+ }
923
+ function Qt(e, t) {
924
+ return qt(e, t, r.Int);
925
+ }
926
+ //#endregion
927
+ //#region ../../node_modules/@uwdata/flechette/src/decode/message.js
928
+ var $t = (e, t) => `Expected to read ${e} metadata bytes, but only read ${t}.`, en = (e, t) => `Expected to read ${e} bytes for message body, but only read ${t}.`, tn = (e) => `Unsupported message type: ${e} (${C(n, e)})`;
929
+ function Q(e, r) {
930
+ let i = L(e, r) || 0;
931
+ if (r += 4, i === -1 && (i = L(e, r) || 0, r += 4), i === 0) return null;
932
+ let a = e.subarray(r, r += i);
933
+ if (a.byteLength < i) throw Error($t(i, a.byteLength));
934
+ let o = j(a, 0), s = o(4, I, t.V1), c = o(6, F, n.NONE), l = o(8, M, 0), u = o(10, R, 0), d;
935
+ if (l) {
936
+ let t = c === n.Schema ? Jt : c === n.DictionaryBatch ? Kt : c === n.RecordBatch ? Gt : null;
937
+ if (!t) throw Error(tn(c));
938
+ if (d = t(a, l, s), u > 0) {
939
+ let t = e.subarray(r, r += u);
940
+ if (t.byteLength < u) throw Error(en(u, t.byteLength));
941
+ d.body = t;
942
+ } else c !== n.Schema && (d.body = /* @__PURE__ */ new Uint8Array());
943
+ }
944
+ return {
945
+ version: s,
946
+ type: c,
947
+ index: r,
948
+ content: d
949
+ };
950
+ }
951
+ //#endregion
952
+ //#region ../../node_modules/@uwdata/flechette/src/decode/decode-ipc.js
953
+ function nn(e) {
954
+ let t = ne(e) ? new Uint8Array(e) : e;
955
+ return re(t) && rn(t) ? on(t) : an(t);
956
+ }
957
+ function rn(t) {
958
+ if (!t || t.length < 4) return !1;
959
+ for (let n = 0; n < 6; ++n) if (e[n] !== t[n]) return !1;
960
+ return !0;
961
+ }
962
+ function an(e) {
963
+ let t = [e].flat(), r, i = [], a = [], o = [];
964
+ for (let e of t) {
965
+ if (!re(e)) throw Error("IPC data batch was not a Uint8Array.");
966
+ let t = 0;
967
+ for (;;) {
968
+ let s = Q(e, t);
969
+ if (s === null) break;
970
+ if (t = s.index, s.content) switch (s.type) {
971
+ case n.Schema:
972
+ r ||= s.content;
973
+ break;
974
+ case n.RecordBatch:
975
+ i.push(s.content), o.push(a.length);
976
+ break;
977
+ case n.DictionaryBatch:
978
+ a.push(s.content);
979
+ break;
980
+ }
981
+ }
982
+ }
983
+ return {
984
+ schema: r,
985
+ dictionaries: a,
986
+ records: i,
987
+ dictsBeforeRecord: o,
988
+ metadata: null
989
+ };
990
+ }
991
+ function on(n) {
992
+ let r = n.byteLength - (e.length + 4), i = j(n, r - L(n, r)), a = i(4, I, t.V1), o = i(8, Y, []), s = i(10, Y, []), c = s.map((e) => o.filter((t) => t.offset < e.offset).length);
993
+ return {
994
+ schema: i(6, (e, t) => Jt(e, t, a)),
995
+ dictionaries: o.map(({ offset: e }) => Q(n, e).content),
996
+ records: s.map(({ offset: e }) => Q(n, e).content),
997
+ dictsBeforeRecord: c,
998
+ metadata: i(12, X)
999
+ };
1000
+ }
1001
+ //#endregion
1002
+ //#region ../../node_modules/@uwdata/flechette/src/decode/table-from-ipc.js
1003
+ function sn(e, t) {
1004
+ return cn(nn(e), t);
1005
+ }
1006
+ function cn(e, t = {}) {
1007
+ let { schema: n = { fields: [] }, dictionaries: i, records: a, dictsBeforeRecord: o } = e, { version: s, fields: c } = n, l = /* @__PURE__ */ new Map(), u = un(t, s, l), d = /* @__PURE__ */ new Map();
1008
+ ln(n, (e) => {
1009
+ let t = e.type;
1010
+ t.typeId === r.Dictionary && d.set(t.id, t.dictionary);
1011
+ });
1012
+ let f = (e) => {
1013
+ let { id: t, data: n, isDelta: r, body: i } = e, a = d.get(t), o = $(a, u({
1014
+ ...n,
1015
+ body: i
1016
+ })), s = l.get(t);
1017
+ if (s) r ? l.set(t, new J([...s.data, o], a)) : l.set(t, new J([o], a));
1018
+ else {
1019
+ if (r) throw Error("Delta update can not be first dictionary batch.");
1020
+ l.set(t, new J([o], a));
1021
+ }
1022
+ }, p = c.map((e) => kt(e.type)), m = 0;
1023
+ for (let e = 0; e < a.length; e++) {
1024
+ let t = o ? o[e] : i.length;
1025
+ for (; m < t;) f(i[m++]);
1026
+ let n = u(a[e]);
1027
+ c.forEach((e, t) => p[t].add($(e.type, n)));
1028
+ }
1029
+ for (; m < i.length;) f(i[m++]);
1030
+ return new Nt(n, p.map((e) => e.done()), t.useProxy);
1031
+ }
1032
+ function ln(e, t) {
1033
+ e.fields.forEach(function e(n) {
1034
+ t(n), n.type.dictionary?.children?.forEach(e), n.type.children?.forEach(e);
1035
+ });
1036
+ }
1037
+ function un(e, t, n) {
1038
+ let r = {
1039
+ version: t,
1040
+ options: e,
1041
+ dictionary: (e) => n.get(e)
1042
+ };
1043
+ return (e) => {
1044
+ let { length: t, nodes: n, regions: i, compression: a, variadic: o, body: s } = e, c = -1, l = -1, u = -1;
1045
+ return {
1046
+ ...r,
1047
+ length: t,
1048
+ node: () => n[++c],
1049
+ buffer: (e) => {
1050
+ let { bytes: t, length: n, offset: r } = dn(s, i[++l], a);
1051
+ return e ? new e(t.buffer, t.byteOffset + r, n / e.BYTES_PER_ELEMENT) : t.subarray(r, r + n);
1052
+ },
1053
+ variadic: () => o[++u],
1054
+ visit(e) {
1055
+ return e.map((e) => $(e.type, this));
1056
+ }
1057
+ };
1058
+ };
1059
+ }
1060
+ function dn(e, t, n) {
1061
+ if (!n) return {
1062
+ bytes: e,
1063
+ ...t
1064
+ };
1065
+ if (n.method !== u.BUFFER) throw Error(`Unknown compression method (${n.method})`);
1066
+ {
1067
+ let r = n.codec, i = Vt(r);
1068
+ if (!i) throw Error(zt(r));
1069
+ return Ht(e, t, i);
1070
+ }
1071
+ }
1072
+ function $(e, n) {
1073
+ let { typeId: i } = e, { options: a, node: o, buffer: s, variadic: l, version: u } = n, d = Ft(e, a), f = {
1074
+ ...o(),
1075
+ type: e
1076
+ };
1077
+ if (i === r.Null) return new d({
1078
+ ...f,
1079
+ nullCount: f.length
1080
+ });
1081
+ switch (i) {
1082
+ case r.Bool:
1083
+ case r.Int:
1084
+ case r.Time:
1085
+ case r.Duration:
1086
+ case r.Float:
1087
+ case r.Decimal:
1088
+ case r.Date:
1089
+ case r.Timestamp:
1090
+ case r.Interval:
1091
+ case r.FixedSizeBinary: return new d({
1092
+ ...f,
1093
+ validity: s(),
1094
+ values: s(e.values)
1095
+ });
1096
+ case r.Utf8:
1097
+ case r.LargeUtf8:
1098
+ case r.Binary:
1099
+ case r.LargeBinary: return new d({
1100
+ ...f,
1101
+ validity: s(),
1102
+ offsets: s(e.offsets),
1103
+ values: s()
1104
+ });
1105
+ case r.BinaryView:
1106
+ case r.Utf8View: return new d({
1107
+ ...f,
1108
+ validity: s(),
1109
+ values: s(),
1110
+ data: Array.from({ length: l() }, () => s())
1111
+ });
1112
+ case r.List:
1113
+ case r.LargeList:
1114
+ case r.Map: return new d({
1115
+ ...f,
1116
+ validity: s(),
1117
+ offsets: s(e.offsets),
1118
+ children: n.visit(e.children)
1119
+ });
1120
+ case r.ListView:
1121
+ case r.LargeListView: return new d({
1122
+ ...f,
1123
+ validity: s(),
1124
+ offsets: s(e.offsets),
1125
+ sizes: s(e.offsets),
1126
+ children: n.visit(e.children)
1127
+ });
1128
+ case r.FixedSizeList:
1129
+ case r.Struct: return new d({
1130
+ ...f,
1131
+ validity: s(),
1132
+ children: n.visit(e.children)
1133
+ });
1134
+ case r.RunEndEncoded: return new d({
1135
+ ...f,
1136
+ children: n.visit(e.children)
1137
+ });
1138
+ case r.Dictionary: {
1139
+ let { id: t, indices: r } = e;
1140
+ return new d({
1141
+ ...f,
1142
+ validity: s(),
1143
+ values: s(r.values)
1144
+ }).setDictionary(n.dictionary(t));
1145
+ }
1146
+ case r.Union: return u < t.V5 && s(), new d({
1147
+ ...f,
1148
+ typeIds: s(h),
1149
+ offsets: e.mode === c.Sparse ? null : s(e.offsets),
1150
+ children: n.visit(e.children)
1151
+ });
1152
+ default: throw Error(w(i));
1153
+ }
1154
+ }
1155
+ new Uint16Array(new Uint8Array([1, 0]).buffer)[0];
1156
+ //#endregion
1157
+ export { sn as tableFromIPC };