@loaders.gl/schema 4.2.0-alpha.5 → 4.2.0-beta.1
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/dist/dist.dev.js +66 -26
- package/dist/dist.min.js +1 -1
- package/dist/index.cjs +68 -28
- package/dist/index.cjs.map +2 -2
- package/dist/lib/table/arrow-api/arrow-like-field.js +5 -1
- package/dist/lib/table/arrow-api/arrow-like-schema.js +2 -0
- package/dist/lib/table/arrow-api/arrow-like-table.js +4 -0
- package/dist/lib/table/arrow-api/arrow-like-type.d.ts.map +1 -1
- package/dist/lib/table/arrow-api/arrow-like-type.js +16 -2
- package/dist/lib/table/batches/base-table-batch-aggregator.js +7 -4
- package/dist/lib/table/batches/columnar-table-batch-aggregator.js +4 -3
- package/dist/lib/table/batches/row-table-batch-aggregator.js +9 -7
- package/dist/lib/table/batches/table-batch-builder.js +11 -8
- package/dist/lib/utils/async-queue.js +3 -0
- package/package.json +2 -2
- package/src/lib/table/arrow-api/arrow-like-field.ts +2 -2
- package/src/lib/table/arrow-api/arrow-like-type.ts +4 -2
package/dist/dist.dev.js
CHANGED
|
@@ -12,6 +12,7 @@ var __exports__ = (() => {
|
|
|
12
12
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
13
13
|
var __getProtoOf = Object.getPrototypeOf;
|
|
14
14
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
15
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
15
16
|
var __commonJS = (cb, mod) => function __require() {
|
|
16
17
|
return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
|
|
17
18
|
};
|
|
@@ -37,6 +38,10 @@ var __exports__ = (() => {
|
|
|
37
38
|
mod
|
|
38
39
|
));
|
|
39
40
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
41
|
+
var __publicField = (obj, key, value) => {
|
|
42
|
+
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
43
|
+
return value;
|
|
44
|
+
};
|
|
40
45
|
|
|
41
46
|
// external-global-plugin:@loaders.gl/core
|
|
42
47
|
var require_core = __commonJS({
|
|
@@ -121,11 +126,14 @@ var __exports__ = (() => {
|
|
|
121
126
|
// src/lib/table/batches/base-table-batch-aggregator.ts
|
|
122
127
|
var DEFAULT_ROW_COUNT = 100;
|
|
123
128
|
var BaseTableBatchAggregator = class {
|
|
129
|
+
schema;
|
|
130
|
+
options;
|
|
131
|
+
shape;
|
|
132
|
+
length = 0;
|
|
133
|
+
rows = null;
|
|
134
|
+
cursor = 0;
|
|
135
|
+
_headers = [];
|
|
124
136
|
constructor(schema, options) {
|
|
125
|
-
this.length = 0;
|
|
126
|
-
this.rows = null;
|
|
127
|
-
this.cursor = 0;
|
|
128
|
-
this._headers = [];
|
|
129
137
|
this.options = options;
|
|
130
138
|
this.schema = schema;
|
|
131
139
|
if (!Array.isArray(schema)) {
|
|
@@ -221,12 +229,14 @@ var __exports__ = (() => {
|
|
|
221
229
|
// src/lib/table/batches/row-table-batch-aggregator.ts
|
|
222
230
|
var DEFAULT_ROW_COUNT2 = 100;
|
|
223
231
|
var RowTableBatchAggregator = class {
|
|
232
|
+
schema;
|
|
233
|
+
options;
|
|
234
|
+
length = 0;
|
|
235
|
+
objectRows = null;
|
|
236
|
+
arrayRows = null;
|
|
237
|
+
cursor = 0;
|
|
238
|
+
_headers = null;
|
|
224
239
|
constructor(schema, options) {
|
|
225
|
-
this.length = 0;
|
|
226
|
-
this.objectRows = null;
|
|
227
|
-
this.arrayRows = null;
|
|
228
|
-
this.cursor = 0;
|
|
229
|
-
this._headers = null;
|
|
230
240
|
this.options = options;
|
|
231
241
|
this.schema = schema;
|
|
232
242
|
if (schema) {
|
|
@@ -296,10 +306,11 @@ var __exports__ = (() => {
|
|
|
296
306
|
// src/lib/table/batches/columnar-table-batch-aggregator.ts
|
|
297
307
|
var DEFAULT_ROW_COUNT3 = 100;
|
|
298
308
|
var ColumnarTableBatchAggregator = class {
|
|
309
|
+
schema;
|
|
310
|
+
length = 0;
|
|
311
|
+
allocated = 0;
|
|
312
|
+
columns = {};
|
|
299
313
|
constructor(schema, options) {
|
|
300
|
-
this.length = 0;
|
|
301
|
-
this.allocated = 0;
|
|
302
|
-
this.columns = {};
|
|
303
314
|
this.schema = schema;
|
|
304
315
|
this._reallocateColumns();
|
|
305
316
|
}
|
|
@@ -379,16 +390,18 @@ var __exports__ = (() => {
|
|
|
379
390
|
_limitMB: 0
|
|
380
391
|
};
|
|
381
392
|
var ERR_MESSAGE = "TableBatchBuilder";
|
|
382
|
-
var
|
|
393
|
+
var _TableBatchBuilder = class {
|
|
394
|
+
schema;
|
|
395
|
+
options;
|
|
396
|
+
aggregator = null;
|
|
397
|
+
batchCount = 0;
|
|
398
|
+
bytesUsed = 0;
|
|
399
|
+
isChunkComplete = false;
|
|
400
|
+
lastBatchEmittedMs = Date.now();
|
|
401
|
+
totalLength = 0;
|
|
402
|
+
totalBytes = 0;
|
|
403
|
+
rowBytes = 0;
|
|
383
404
|
constructor(schema, options) {
|
|
384
|
-
this.aggregator = null;
|
|
385
|
-
this.batchCount = 0;
|
|
386
|
-
this.bytesUsed = 0;
|
|
387
|
-
this.isChunkComplete = false;
|
|
388
|
-
this.lastBatchEmittedMs = Date.now();
|
|
389
|
-
this.totalLength = 0;
|
|
390
|
-
this.totalBytes = 0;
|
|
391
|
-
this.rowBytes = 0;
|
|
392
405
|
this.schema = schema;
|
|
393
406
|
this.options = { ...DEFAULT_OPTIONS, ...options };
|
|
394
407
|
}
|
|
@@ -495,15 +508,17 @@ var __exports__ = (() => {
|
|
|
495
508
|
case "columnar-table":
|
|
496
509
|
return ColumnarTableBatchAggregator;
|
|
497
510
|
case "arrow-table":
|
|
498
|
-
if (!
|
|
511
|
+
if (!_TableBatchBuilder.ArrowBatch) {
|
|
499
512
|
throw new Error(ERR_MESSAGE);
|
|
500
513
|
}
|
|
501
|
-
return
|
|
514
|
+
return _TableBatchBuilder.ArrowBatch;
|
|
502
515
|
default:
|
|
503
516
|
return BaseTableBatchAggregator;
|
|
504
517
|
}
|
|
505
518
|
}
|
|
506
519
|
};
|
|
520
|
+
var TableBatchBuilder = _TableBatchBuilder;
|
|
521
|
+
__publicField(TableBatchBuilder, "ArrowBatch");
|
|
507
522
|
|
|
508
523
|
// src/lib/table/simple-table/table-accessors.ts
|
|
509
524
|
function isTable(table) {
|
|
@@ -739,6 +754,10 @@ var __exports__ = (() => {
|
|
|
739
754
|
|
|
740
755
|
// src/lib/table/arrow-api/arrow-like-field.ts
|
|
741
756
|
var ArrowLikeField = class {
|
|
757
|
+
name;
|
|
758
|
+
type;
|
|
759
|
+
nullable;
|
|
760
|
+
metadata;
|
|
742
761
|
constructor(name, type, nullable = false, metadata = /* @__PURE__ */ new Map()) {
|
|
743
762
|
this.name = name;
|
|
744
763
|
this.type = type;
|
|
@@ -755,12 +774,14 @@ var __exports__ = (() => {
|
|
|
755
774
|
return this.name === other.name && this.type === other.type && this.nullable === other.nullable && this.metadata === other.metadata;
|
|
756
775
|
}
|
|
757
776
|
toString() {
|
|
758
|
-
return `${this.type}${this.nullable ? ", nullable" : ""}${this.metadata ? `, metadata: ${this.metadata}` : ""}`;
|
|
777
|
+
return `${JSON.stringify(this.type)}${this.nullable ? ", nullable" : ""}${this.metadata ? `, metadata: ${JSON.stringify(this.metadata)}` : ""}`;
|
|
759
778
|
}
|
|
760
779
|
};
|
|
761
780
|
|
|
762
781
|
// src/lib/table/arrow-api/arrow-like-schema.ts
|
|
763
782
|
var ArrowLikeSchema = class {
|
|
783
|
+
fields;
|
|
784
|
+
metadata;
|
|
764
785
|
constructor(fields, metadata = /* @__PURE__ */ new Map()) {
|
|
765
786
|
this.fields = fields.map(
|
|
766
787
|
(field) => new ArrowLikeField(field.name, field.type, field.nullable, field.metadata)
|
|
@@ -961,6 +982,8 @@ var __exports__ = (() => {
|
|
|
961
982
|
|
|
962
983
|
// src/lib/table/arrow-api/arrow-like-table.ts
|
|
963
984
|
var ArrowLikeVector = class {
|
|
985
|
+
table;
|
|
986
|
+
columnName;
|
|
964
987
|
constructor(table, columnName) {
|
|
965
988
|
this.table = table;
|
|
966
989
|
this.columnName = columnName;
|
|
@@ -981,6 +1004,8 @@ var __exports__ = (() => {
|
|
|
981
1004
|
}
|
|
982
1005
|
};
|
|
983
1006
|
var ArrowLikeTable = class {
|
|
1007
|
+
schema;
|
|
1008
|
+
table;
|
|
984
1009
|
constructor(table) {
|
|
985
1010
|
const schema = table.schema || deduceTableSchema(table);
|
|
986
1011
|
this.schema = new ArrowLikeSchema(schema.fields, schema.metadata);
|
|
@@ -1396,6 +1421,8 @@ var __exports__ = (() => {
|
|
|
1396
1421
|
}
|
|
1397
1422
|
};
|
|
1398
1423
|
var Int = class extends DataType {
|
|
1424
|
+
isSigned;
|
|
1425
|
+
bitWidth;
|
|
1399
1426
|
constructor(isSigned, bitWidth) {
|
|
1400
1427
|
super();
|
|
1401
1428
|
this.isSigned = isSigned;
|
|
@@ -1471,6 +1498,7 @@ var __exports__ = (() => {
|
|
|
1471
1498
|
DOUBLE: 64
|
|
1472
1499
|
};
|
|
1473
1500
|
var Float = class extends DataType {
|
|
1501
|
+
precision;
|
|
1474
1502
|
constructor(precision) {
|
|
1475
1503
|
super();
|
|
1476
1504
|
this.precision = precision;
|
|
@@ -1545,6 +1573,7 @@ var __exports__ = (() => {
|
|
|
1545
1573
|
MILLISECOND: 1
|
|
1546
1574
|
};
|
|
1547
1575
|
var Date2 = class extends DataType {
|
|
1576
|
+
unit;
|
|
1548
1577
|
constructor(unit) {
|
|
1549
1578
|
super();
|
|
1550
1579
|
this.unit = unit;
|
|
@@ -1579,6 +1608,8 @@ var __exports__ = (() => {
|
|
|
1579
1608
|
NANOSECOND: 1e9
|
|
1580
1609
|
};
|
|
1581
1610
|
var Time = class extends DataType {
|
|
1611
|
+
unit;
|
|
1612
|
+
bitWidth;
|
|
1582
1613
|
constructor(unit, bitWidth) {
|
|
1583
1614
|
super();
|
|
1584
1615
|
this.unit = unit;
|
|
@@ -1608,6 +1639,8 @@ var __exports__ = (() => {
|
|
|
1608
1639
|
}
|
|
1609
1640
|
};
|
|
1610
1641
|
var Timestamp = class extends DataType {
|
|
1642
|
+
unit;
|
|
1643
|
+
timezone;
|
|
1611
1644
|
constructor(unit, timezone = null) {
|
|
1612
1645
|
super();
|
|
1613
1646
|
this.unit = unit;
|
|
@@ -1651,6 +1684,7 @@ var __exports__ = (() => {
|
|
|
1651
1684
|
YEAR_MONTH: 1
|
|
1652
1685
|
};
|
|
1653
1686
|
var Interval = class extends DataType {
|
|
1687
|
+
unit;
|
|
1654
1688
|
constructor(unit) {
|
|
1655
1689
|
super();
|
|
1656
1690
|
this.unit = unit;
|
|
@@ -1679,6 +1713,8 @@ var __exports__ = (() => {
|
|
|
1679
1713
|
}
|
|
1680
1714
|
};
|
|
1681
1715
|
var FixedSizeList = class extends DataType {
|
|
1716
|
+
listSize;
|
|
1717
|
+
children;
|
|
1682
1718
|
constructor(listSize, child) {
|
|
1683
1719
|
super();
|
|
1684
1720
|
this.listSize = listSize;
|
|
@@ -1700,10 +1736,11 @@ var __exports__ = (() => {
|
|
|
1700
1736
|
return "FixedSizeList";
|
|
1701
1737
|
}
|
|
1702
1738
|
toString() {
|
|
1703
|
-
return `FixedSizeList[${this.listSize}]<${this.valueType}>`;
|
|
1739
|
+
return `FixedSizeList[${this.listSize}]<${JSON.stringify(this.valueType)}>`;
|
|
1704
1740
|
}
|
|
1705
1741
|
};
|
|
1706
1742
|
var Struct = class extends DataType {
|
|
1743
|
+
children;
|
|
1707
1744
|
constructor(children) {
|
|
1708
1745
|
super();
|
|
1709
1746
|
this.children = children;
|
|
@@ -1712,7 +1749,7 @@ var __exports__ = (() => {
|
|
|
1712
1749
|
return 13 /* Struct */;
|
|
1713
1750
|
}
|
|
1714
1751
|
toString() {
|
|
1715
|
-
return `Struct<{${this.children.map((f) => `${f.name}:${f.type}`).join(", ")}}>`;
|
|
1752
|
+
return `Struct<{${this.children.map((f) => `${f.name}:${JSON.stringify(f.type)}`).join(", ")}}>`;
|
|
1716
1753
|
}
|
|
1717
1754
|
get [Symbol.toStringTag]() {
|
|
1718
1755
|
return "Struct";
|
|
@@ -1750,6 +1787,9 @@ var __exports__ = (() => {
|
|
|
1750
1787
|
}
|
|
1751
1788
|
};
|
|
1752
1789
|
var AsyncQueue = class {
|
|
1790
|
+
_values;
|
|
1791
|
+
_settlers;
|
|
1792
|
+
_closed;
|
|
1753
1793
|
constructor() {
|
|
1754
1794
|
this._values = new ArrayQueue();
|
|
1755
1795
|
this._settlers = new ArrayQueue();
|
package/dist/dist.min.js
CHANGED
|
@@ -4,6 +4,6 @@
|
|
|
4
4
|
else if (typeof define === 'function' && define.amd) define([], factory);
|
|
5
5
|
else if (typeof exports === 'object') exports['loaders'] = factory();
|
|
6
6
|
else root['loaders'] = factory();})(globalThis, function () {
|
|
7
|
-
"use strict";var __exports__=(()=>{var Xt=Object.create;var M=Object.defineProperty;var Zt=Object.getOwnPropertyDescriptor;var Kt=Object.getOwnPropertyNames;var Jt=Object.getPrototypeOf,Qt=Object.prototype.hasOwnProperty;var te=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),ee=(t,e)=>{for(var r in e)M(t,r,{get:e[r],enumerable:!0})},_=(t,e,r,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of Kt(e))!Qt.call(t,a)&&a!==r&&M(t,a,{get:()=>e[a],enumerable:!(s=Zt(e,a))||s.enumerable});return t},U=(t,e,r)=>(_(t,e,"default"),r&&_(r,e,"default")),re=(t,e,r)=>(r=t!=null?Xt(Jt(t)):{},_(e||!t||!t.__esModule?M(r,"default",{value:t,enumerable:!0}):r,t)),se=t=>_(M({},"__esModule",{value:!0}),t);var Nt=te((be,Et)=>{Et.exports=globalThis.loaders});var C={};ee(C,{ArrowLikeDataType:()=>m,ArrowLikeField:()=>p,ArrowLikeSchema:()=>d,ArrowLikeTable:()=>W,AsyncQueue:()=>N,Binary:()=>st,Bool:()=>q,ColumnarTableBatchAggregator:()=>I,Date:()=>T,DateDay:()=>ot,DateMillisecond:()=>nt,FixedSizeList:()=>pt,Float:()=>A,Float16:()=>tt,Float32:()=>et,Float64:()=>rt,Int:()=>f,Int16:()=>V,Int32:()=>G,Int64:()=>X,Int8:()=>H,Interval:()=>F,IntervalDayTime:()=>dt,IntervalYearMonth:()=>ft,Null:()=>P,RowTableBatchAggregator:()=>S,Struct:()=>gt,TableBatchBuilder:()=>x,Time:()=>R,TimeMillisecond:()=>ct,TimeSecond:()=>it,Timestamp:()=>b,TimestampMicrosecond:()=>ht,TimestampMillisecond:()=>ut,TimestampNanosecond:()=>mt,TimestampSecond:()=>lt,Uint16:()=>K,Uint32:()=>J,Uint64:()=>Q,Uint8:()=>Z,Utf8:()=>at,convertTable:()=>Pt,convertToArrayRow:()=>v,convertToObjectRow:()=>L,deduceMeshField:()=>jt,deduceMeshSchema:()=>Vt,deduceTableSchema:()=>w,getDataTypeFromArray:()=>Y,getMeshBoundingBox:()=>Ht,getMeshSize:()=>qt,getTableCell:()=>j,getTableColumnIndex:()=>yt,getTableColumnName:()=>Ut,getTableLength:()=>h,getTableNumCols:()=>z,getTableRowAsArray:()=>E,getTableRowAsObject:()=>O,getTableRowShape:()=>Mt,getTypeInfo:()=>Gt,isTable:()=>_t,makeArrayRowIterator:()=>xt,makeBatchFromTable:()=>$t,makeMeshAttributeMetadata:()=>Tt,makeObjectRowIterator:()=>At,makeRowIterator:()=>kt,makeTableFromBatches:()=>Yt,makeTableFromData:()=>zt});U(C,re(Nt(),1));var k=class{constructor(e,r){if(this.length=0,this.rows=null,this.cursor=0,this._headers=[],this.options=r,this.schema=e,!Array.isArray(e)){this._headers=[];for(let s in e)this._headers[e[s].index]=e[s].name}}rowCount(){return this.length}addArrayRow(e,r){Number.isFinite(r)&&(this.cursor=r),this.shape="array-row-table",this.rows=this.rows||new Array(100),this.rows[this.length]=e,this.length++}addObjectRow(e,r){Number.isFinite(r)&&(this.cursor=r),this.shape="object-row-table",this.rows=this.rows||new Array(100),this.rows[this.length]=e,this.length++}getBatch(){let e=this.rows;return e?(e=e.slice(0,this.length),this.rows=null,{shape:this.shape||"array-row-table",batchType:"data",data:e,length:this.length,schema:this.schema,cursor:this.cursor}):null}};function L(t,e){if(!t)throw new Error("null row");let r={};if(e)for(let s=0;s<e.length;s++)r[e[s]]=t[s];else for(let s=0;s<t.length;s++){let a=`column-${s}`;r[a]=t[s]}return r}function v(t,e){if(!t)throw new Error("null row");if(e){let r=new Array(e.length);for(let s=0;s<e.length;s++)r[s]=t[e[s]];return r}return Object.values(t)}function Ct(t){let e=[];for(let r=0;r<t.length;r++){let s=`column-${r}`;e.push(s)}return e}function Dt(t){return Object.keys(t)}var Bt=100,S=class{constructor(e,r){if(this.length=0,this.objectRows=null,this.arrayRows=null,this.cursor=0,this._headers=null,this.options=r,this.schema=e,e){this._headers=[];for(let s in e)this._headers[e[s].index]=e[s].name}}rowCount(){return this.length}addArrayRow(e,r){switch(Number.isFinite(r)&&(this.cursor=r),this._headers||(this._headers=Ct(e)),this.options.shape){case"object-row-table":let s=L(e,this._headers);this.addObjectRow(s,r);break;case"array-row-table":this.arrayRows=this.arrayRows||new Array(Bt),this.arrayRows[this.length]=e,this.length++;break}}addObjectRow(e,r){switch(Number.isFinite(r)&&(this.cursor=r),this._headers||(this._headers=Dt(e)),this.options.shape){case"array-row-table":let s=v(e,this._headers);this.addArrayRow(s,r);break;case"object-row-table":this.objectRows=this.objectRows||new Array(Bt),this.objectRows[this.length]=e,this.length++;break}}getBatch(){let e=this.arrayRows||this.objectRows;return e?(e=e.slice(0,this.length),this.arrayRows=null,this.objectRows=null,{shape:this.options.shape,batchType:"data",data:e,length:this.length,schema:this.schema,cursor:this.cursor}):null}};var I=class{constructor(e,r){this.length=0,this.allocated=0,this.columns={},this.schema=e,this._reallocateColumns()}rowCount(){return this.length}addArrayRow(e){this._reallocateColumns();let r=0;for(let s in this.columns)this.columns[s][this.length]=e[r++];this.length++}addObjectRow(e){this._reallocateColumns();for(let r in e)this.columns[r][this.length]=e[r];this.length++}getBatch(){this._pruneColumns();let e=Array.isArray(this.schema)?this.columns:{};if(!Array.isArray(this.schema))for(let s in this.schema){let a=this.schema[s];e[a.name]=this.columns[a.index]}return this.columns={},{shape:"columnar-table",batchType:"data",data:e,schema:this.schema,length:this.length}}_reallocateColumns(){if(!(this.length<this.allocated)){this.allocated=this.allocated>0?this.allocated*=2:100,this.columns={};for(let e in this.schema){let r=this.schema[e],s=r.type||Float32Array,a=this.columns[r.index];if(a&&ArrayBuffer.isView(a)){let u=new s(this.allocated);u.set(a),this.columns[r.index]=u}else a?(a.length=this.allocated,this.columns[r.index]=a):this.columns[r.index]=new s(this.allocated)}}}_pruneColumns(){for(let[e,r]of Object.entries(this.columns))this.columns[e]=r.slice(0,this.length)}};var ae={shape:void 0,batchSize:"auto",batchDebounceMs:0,limit:0,_limitMB:0},oe="TableBatchBuilder",x=class{constructor(e,r){this.aggregator=null,this.batchCount=0,this.bytesUsed=0,this.isChunkComplete=!1,this.lastBatchEmittedMs=Date.now(),this.totalLength=0,this.totalBytes=0,this.rowBytes=0,this.schema=e,this.options={...ae,...r}}limitReached(){return!!(Boolean(this.options?.limit)&&this.totalLength>=this.options.limit||Boolean(this.options?._limitMB)&&this.totalBytes/1e6>=this.options._limitMB)}addRow(e){this.limitReached()||(this.totalLength++,this.rowBytes=this.rowBytes||this._estimateRowMB(e),this.totalBytes+=this.rowBytes,Array.isArray(e)?this.addArrayRow(e):this.addObjectRow(e))}addArrayRow(e){if(!this.aggregator){let r=this._getTableBatchType();this.aggregator=new r(this.schema,this.options)}this.aggregator.addArrayRow(e)}addObjectRow(e){if(!this.aggregator){let r=this._getTableBatchType();this.aggregator=new r(this.schema,this.options)}this.aggregator.addObjectRow(e)}chunkComplete(e){e instanceof ArrayBuffer&&(this.bytesUsed+=e.byteLength),typeof e=="string"&&(this.bytesUsed+=e.length),this.isChunkComplete=!0}getFullBatch(e){return this._isFull()?this._getBatch(e):null}getFinalBatch(e){return this._getBatch(e)}_estimateRowMB(e){return Array.isArray(e)?e.length*8:Object.keys(e).length*8}_isFull(){if(!this.aggregator||this.aggregator.rowCount()===0)return!1;if(this.options.batchSize==="auto"){if(!this.isChunkComplete)return!1}else if(this.options.batchSize>this.aggregator.rowCount())return!1;return this.options.batchDebounceMs>Date.now()-this.lastBatchEmittedMs?!1:(this.isChunkComplete=!1,this.lastBatchEmittedMs=Date.now(),!0)}_getBatch(e){if(!this.aggregator)return null;e?.bytesUsed&&(this.bytesUsed=e.bytesUsed);let r=this.aggregator.getBatch();return r.count=this.batchCount,r.bytesUsed=this.bytesUsed,Object.assign(r,e),this.batchCount++,this.aggregator=null,r}_getTableBatchType(){switch(this.options.shape){case"array-row-table":case"object-row-table":return S;case"columnar-table":return I;case"arrow-table":if(!x.ArrowBatch)throw new Error(oe);return x.ArrowBatch;default:return k}}};function _t(t){switch(typeof t=="object"&&t?.shape){case"array-row-table":case"object-row-table":return Array.isArray(t.data);case"geojson-table":return Array.isArray(t.features);case"columnar-table":return t.data&&typeof t.data=="object";case"arrow-table":return Boolean(t?.data?.numRows!==void 0);default:return!1}}function h(t){switch(t.shape){case"array-row-table":case"object-row-table":return t.data.length;case"geojson-table":return t.features.length;case"arrow-table":return t.data.numRows;case"columnar-table":for(let r of Object.values(t.data))return r.length||0;return 0;default:throw new Error("table")}}function z(t){if(t.schema)return t.schema.fields.length;if(h(t)===0)throw new Error("empty table");switch(t.shape){case"array-row-table":return t.data[0].length;case"object-row-table":return Object.keys(t.data[0]).length;case"geojson-table":return Object.keys(t.features[0]).length;case"columnar-table":return Object.keys(t.data).length;case"arrow-table":return t.data.numCols;default:throw new Error("table")}}function j(t,e,r){switch(t.shape){case"array-row-table":let s=yt(t,r);return t.data[e][s];case"object-row-table":return t.data[e][r];case"geojson-table":return t.features[e][r];case"columnar-table":return t.data[r][e];case"arrow-table":let u=t.data,c=u.schema.fields.findIndex(l=>l.name===r);return u.getChildAt(c)?.get(e);default:throw new Error("todo")}}function Mt(t){switch(t.shape){case"array-row-table":case"object-row-table":return t.shape;case"geojson-table":return"object-row-table";case"columnar-table":default:throw new Error("Not a row table")}}function yt(t,e){let r=t.schema?.fields.findIndex(s=>s.name===e);if(r===void 0)throw new Error(e);return r}function Ut(t,e){let r=t.schema?.fields[e]?.name;if(!r)throw new Error(`${e}`);return r}function O(t,e,r,s){switch(t.shape){case"object-row-table":return s?Object.fromEntries(Object.entries(t.data[e])):t.data[e];case"array-row-table":if(t.schema){let o=r||{};for(let n=0;n<t.schema.fields.length;n++)o[t.schema.fields[n].name]=t.data[e][n];return o}throw new Error("no schema");case"geojson-table":if(t.schema){let o=r||{};for(let n=0;n<t.schema.fields.length;n++)o[t.schema.fields[n].name]=t.features[e][n];return o}throw new Error("no schema");case"columnar-table":if(t.schema){let o=r||{};for(let n=0;n<t.schema.fields.length;n++)o[t.schema.fields[n].name]=t.data[t.schema.fields[n].name][e];return o}else{let o=r||{};for(let[n,g]of Object.entries(t.data))o[n]=g[e];return o}case"arrow-table":let a=t.data,u=r||{},c=a.get(e),l=a.schema;for(let o=0;o<l.fields.length;o++)u[l.fields[o].name]=c?.[l.fields[o].name];return u;default:throw new Error("shape")}}function E(t,e,r,s){switch(t.shape){case"array-row-table":return s?Array.from(t.data[e]):t.data[e];case"object-row-table":if(t.schema){let o=r||[];for(let n=0;n<t.schema.fields.length;n++)o[n]=t.data[e][t.schema.fields[n].name];return o}return Object.values(t.data[e]);case"geojson-table":if(t.schema){let o=r||[];for(let n=0;n<t.schema.fields.length;n++)o[n]=t.features[e][t.schema.fields[n].name];return o}return Object.values(t.features[e]);case"columnar-table":if(t.schema){let o=r||[];for(let n=0;n<t.schema.fields.length;n++)o[n]=t.data[t.schema.fields[n].name][e];return o}else{let o=r||[],n=0;for(let g of Object.values(t.data))o[n]=g[e],n++;return o}case"arrow-table":let a=t.data,u=r||[],c=a.get(e),l=a.schema;for(let o=0;o<l.fields.length;o++)u[o]=c?.[l.fields[o].name];return u;default:throw new Error("shape")}}function*kt(t,e){switch(e){case"array-row-table":yield*xt(t);break;case"object-row-table":yield*At(t);break;default:throw new Error(`Unknown row type ${e}`)}}function*xt(t,e=[]){let r=h(t);for(let s=0;s<r;s++)yield E(t,s,e)}function*At(t,e={}){let r=h(t);for(let s=0;s<r;s++)yield O(t,s,e)}var p=class{constructor(e,r,s=!1,a=new Map){this.name=e,this.type=r,this.nullable=s,this.metadata=a}get typeId(){return this.type&&this.type.typeId}clone(){return new p(this.name,this.type,this.nullable,this.metadata)}compareTo(e){return this.name===e.name&&this.type===e.type&&this.nullable===e.nullable&&this.metadata===e.metadata}toString(){return`${this.type}${this.nullable?", nullable":""}${this.metadata?`, metadata: ${this.metadata}`:""}`}};var d=class{constructor(e,r=new Map){this.fields=e.map(s=>new p(s.name,s.type,s.nullable,s.metadata)),this.metadata=r instanceof Map?r:new Map(Object.entries(r))}compareTo(e){if(this.metadata!==e.metadata||this.fields.length!==e.fields.length)return!1;for(let r=0;r<this.fields.length;++r)if(!this.fields[r].compareTo(e.fields[r]))return!1;return!0}select(...e){let r=Object.create(null);for(let a of e)r[a]=!0;let s=this.fields.filter(a=>r[a.name]);return new d(s,this.metadata)}selectAt(...e){let r=e.map(s=>this.fields[s]).filter(Boolean);return new d(r,this.metadata)}assign(e){let r,s=this.metadata;if(e instanceof d){let c=e;r=c.fields,s=Lt(Lt(new Map,this.metadata),c.metadata)}else r=e;let a=Object.create(null);for(let c of this.fields)a[c.name]=c;for(let c of r)a[c.name]=c;let u=Object.values(a);return new d(u,s)}};function Lt(t,e){return new Map([...t||new Map,...e||new Map])}function $(t,e="float32"){return t instanceof Date?"date-millisecond":t instanceof Number?e:typeof t=="string"?"utf8":(t===null||t==="undefined","null")}function Y(t){let e=St(t);return e!=="null"?{type:e,nullable:!1}:t.length>0?(e=$(t[0]),{type:e,nullable:!0}):{type:"null",nullable:!0}}function St(t){switch(t.constructor){case Int8Array:return"int8";case Uint8Array:case Uint8ClampedArray:return"uint8";case Int16Array:return"int16";case Uint16Array:return"uint16";case Int32Array:return"int32";case Uint32Array:return"uint32";case Float32Array:return"float32";case Float64Array:return"float64";default:return"null"}}function vt(t,e){if(!e)switch(t){case"int8":return Int8Array;case"uint8":return Uint8Array;case"int16":return Int16Array;case"uint16":return Uint16Array;case"int32":return Int32Array;case"uint32":return Uint32Array;case"float32":return Float32Array;case"float64":return Float64Array;default:break}return Array}function w(t){switch(t.shape){case"array-row-table":case"object-row-table":return ie(t.data);case"columnar-table":return ne(t.data);case"arrow-table":default:throw new Error("Deduce schema")}}function ne(t){let e=[];for(let[r,s]of Object.entries(t)){let a=ce(s,r);e.push(a)}return{fields:e,metadata:{}}}function ie(t){if(!t.length)throw new Error("deduce from empty table");let e=[],r=t[0];for(let[s,a]of Object.entries(r))e.push(le(a,s));return{fields:e,metadata:{}}}function ce(t,e){if(ArrayBuffer.isView(t)){let r=Y(t);return{name:e,type:r.type||"null",nullable:r.nullable}}if(Array.isArray(t)&&t.length>0){let r=t[0],s=$(r);return{name:e,type:s,nullable:!0}}throw new Error("empty table")}function le(t,e){let r=$(t);return{name:e,type:r,nullable:!0}}var It=class{constructor(e,r){this.table=e,this.columnName=r}get(e){return j(this.table,e,this.columnName)}toArray(){switch(this.table.shape){case"arrow-table":return this.table.data.getChild(this.columnName)?.toArray();case"columnar-table":return this.table.data[this.columnName];default:throw new Error(this.table.shape)}}},W=class{constructor(e){let r=e.schema||w(e);this.schema=new d(r.fields,r.metadata),this.table={...e,schema:r}}get data(){return this.table.shape==="geojson-table"?this.table.features:this.table.data}get numCols(){return z(this.table)}get length(){return h(this.table)}getChild(e){return new It(this.table,e)}};function zt(t){let e;switch(ue(t)){case"array-row-table":e={shape:"array-row-table",data:t};break;case"object-row-table":e={shape:"object-row-table",data:t};break;case"columnar-table":e={shape:"columnar-table",data:t};break;default:throw new Error("table")}let r=w(e);return{...e,schema:r}}function ue(t){if(Array.isArray(t)){if(t.length===0)throw new Error("cannot deduce type of empty table");let e=t[0];if(Array.isArray(e))return"array-row-table";if(e&&typeof e=="object")return"object-row-table"}if(t&&typeof t=="object")return"columnar-table";throw new Error("invalid table")}function $t(t){return{...t,length:h(t),batchType:"data"}}async function Yt(t){let e,r,s,a=null,u;for await(let c of t)switch(a=a||c.shape,u=u||c.schema,c.shape){case"array-row-table":e=e||[];for(let l=0;l<h(c);l++){let o=c.data[l];e.push(o)}break;case"object-row-table":r=r||[];for(let l=0;l<h(c);l++){let o=c.data[l];r.push(o)}break;case"geojson-table":s=s||[];for(let l=0;l<h(c);l++){let o=c.features[l];s.push(o)}break;case"columnar-table":case"arrow-table":default:throw new Error("shape")}if(!a)return null;switch(a){case"array-row-table":return{shape:"array-row-table",data:e,schema:u};case"object-row-table":return{shape:"object-row-table",data:r,schema:u};case"geojson-table":return{shape:"geojson-table",type:"FeatureCollection",features:s,schema:u};default:return null}}function Wt(t,e){let r=vt(t.type,t.nullable);return new r(e)}function Pt(t,e){switch(e){case"object-row-table":return fe(t);case"array-row-table":return de(t);case"columnar-table":return me(t);case"arrow-table":return he(t);default:throw new Error(e)}}function he(t){let e=globalThis.__loaders?._makeArrowTable;if(!e)throw new Error("");return e(t)}function me(t){let e=t.schema||w(t),r=t.schema?.fields||[];if(t.shape==="columnar-table")return{...t,schema:e};let s=h(t),a={};for(let u of r){let c=Wt(u,s);a[u.name]=c;for(let l=0;l<s;l++)c[l]=j(t,l,u.name)}return{shape:"columnar-table",schema:e,data:a}}function de(t){if(t.shape==="array-row-table")return t;let e=h(t),r=new Array(e);for(let s=0;s<e;s++)r[s]=E(t,s);return{shape:"array-row-table",schema:t.schema,data:r}}function fe(t){if(t.shape==="object-row-table")return t;let e=h(t),r=new Array(e);for(let s=0;s<e;s++)r[s]=O(t,s);return{shape:"object-row-table",schema:t.schema,data:r}}function qt(t){let e=0;for(let r in t){let s=t[r];ArrayBuffer.isView(s)&&(e+=s.byteLength*s.BYTES_PER_ELEMENT)}return e}function Ht(t){let e=1/0,r=1/0,s=1/0,a=-1/0,u=-1/0,c=-1/0,l=t.POSITION?t.POSITION.value:[],o=l&&l.length;for(let n=0;n<o;n+=3){let g=l[n],D=l[n+1],B=l[n+2];e=g<e?g:e,r=D<r?D:r,s=B<s?B:s,a=g>a?g:a,u=D>u?D:u,c=B>c?B:c}return[[e,r,s],[a,u,c]]}function Vt(t,e={}){return{fields:pe(t),metadata:e}}function jt(t,e,r){let s=St(e.value),a=r||Tt(e);return{name:t,type:{type:"fixed-size-list",listSize:e.size,children:[{name:"value",type:s}]},nullable:!1,metadata:a}}function pe(t){let e=[];for(let r in t){let s=t[r];e.push(jt(r,s))}return e}function Tt(t){let e={};return"byteOffset"in t&&(e.byteOffset=t.byteOffset.toString(10)),"byteStride"in t&&(e.byteStride=t.byteStride.toString(10)),"normalized"in t&&(e.normalized=t.normalized.toString()),e}var i;(function(t){t[t.NONE=0]="NONE",t[t.Null=1]="Null",t[t.Int=2]="Int",t[t.Float=3]="Float",t[t.Binary=4]="Binary",t[t.Utf8=5]="Utf8",t[t.Bool=6]="Bool",t[t.Decimal=7]="Decimal",t[t.Date=8]="Date",t[t.Time=9]="Time",t[t.Timestamp=10]="Timestamp",t[t.Interval=11]="Interval",t[t.List=12]="List",t[t.Struct=13]="Struct",t[t.Union=14]="Union",t[t.FixedSizeBinary=15]="FixedSizeBinary",t[t.FixedSizeList=16]="FixedSizeList",t[t.Map=17]="Map",t[t.Dictionary=-1]="Dictionary",t[t.Int8=-2]="Int8",t[t.Int16=-3]="Int16",t[t.Int32=-4]="Int32",t[t.Int64=-5]="Int64",t[t.Uint8=-6]="Uint8",t[t.Uint16=-7]="Uint16",t[t.Uint32=-8]="Uint32",t[t.Uint64=-9]="Uint64",t[t.Float16=-10]="Float16",t[t.Float32=-11]="Float32",t[t.Float64=-12]="Float64",t[t.DateDay=-13]="DateDay",t[t.DateMillisecond=-14]="DateMillisecond",t[t.TimestampSecond=-15]="TimestampSecond",t[t.TimestampMillisecond=-16]="TimestampMillisecond",t[t.TimestampMicrosecond=-17]="TimestampMicrosecond",t[t.TimestampNanosecond=-18]="TimestampNanosecond",t[t.TimeSecond=-19]="TimeSecond",t[t.TimeMillisecond=-20]="TimeMillisecond",t[t.TimeMicrosecond=-21]="TimeMicrosecond",t[t.TimeNanosecond=-22]="TimeNanosecond",t[t.DenseUnion=-23]="DenseUnion",t[t.SparseUnion=-24]="SparseUnion",t[t.IntervalDayTime=-25]="IntervalDayTime",t[t.IntervalYearMonth=-26]="IntervalYearMonth"})(i||(i={}));var m=class{static isNull(e){return e&&e.typeId===i.Null}static isInt(e){return e&&e.typeId===i.Int}static isFloat(e){return e&&e.typeId===i.Float}static isBinary(e){return e&&e.typeId===i.Binary}static isUtf8(e){return e&&e.typeId===i.Utf8}static isBool(e){return e&&e.typeId===i.Bool}static isDecimal(e){return e&&e.typeId===i.Decimal}static isDate(e){return e&&e.typeId===i.Date}static isTime(e){return e&&e.typeId===i.Time}static isTimestamp(e){return e&&e.typeId===i.Timestamp}static isInterval(e){return e&&e.typeId===i.Interval}static isList(e){return e&&e.typeId===i.List}static isStruct(e){return e&&e.typeId===i.Struct}static isUnion(e){return e&&e.typeId===i.Union}static isFixedSizeBinary(e){return e&&e.typeId===i.FixedSizeBinary}static isFixedSizeList(e){return e&&e.typeId===i.FixedSizeList}static isMap(e){return e&&e.typeId===i.Map}static isDictionary(e){return e&&e.typeId===i.Dictionary}get typeId(){return i.NONE}compareTo(e){return this===e}},P=class extends m{get typeId(){return i.Null}get[Symbol.toStringTag](){return"Null"}toString(){return"Null"}},q=class extends m{get typeId(){return i.Bool}get[Symbol.toStringTag](){return"Bool"}toString(){return"Bool"}},f=class extends m{constructor(e,r){super(),this.isSigned=e,this.bitWidth=r}get typeId(){return i.Int}get[Symbol.toStringTag](){return"Int"}toString(){return`${this.isSigned?"I":"Ui"}nt${this.bitWidth}`}},H=class extends f{constructor(){super(!0,8)}},V=class extends f{constructor(){super(!0,16)}},G=class extends f{constructor(){super(!0,32)}},X=class extends f{constructor(){super(!0,64)}},Z=class extends f{constructor(){super(!1,8)}},K=class extends f{constructor(){super(!1,16)}},J=class extends f{constructor(){super(!1,32)}},Q=class extends f{constructor(){super(!1,64)}},Rt={HALF:16,SINGLE:32,DOUBLE:64},A=class extends m{constructor(e){super(),this.precision=e}get typeId(){return i.Float}get[Symbol.toStringTag](){return"Float"}toString(){return`Float${this.precision}`}},tt=class extends A{constructor(){super(Rt.HALF)}},et=class extends A{constructor(){super(Rt.SINGLE)}},rt=class extends A{constructor(){super(Rt.DOUBLE)}},st=class extends m{constructor(){super()}get typeId(){return i.Binary}toString(){return"Binary"}get[Symbol.toStringTag](){return"Binary"}},at=class extends m{get typeId(){return i.Utf8}get[Symbol.toStringTag](){return"Utf8"}toString(){return"Utf8"}},Ft={DAY:0,MILLISECOND:1},T=class extends m{constructor(e){super(),this.unit=e}get typeId(){return i.Date}get[Symbol.toStringTag](){return"Date"}toString(){return`Date${(this.unit+1)*32}<${Ft[this.unit]}>`}},ot=class extends T{constructor(){super(Ft.DAY)}},nt=class extends T{constructor(){super(Ft.MILLISECOND)}},y={SECOND:1,MILLISECOND:1e3,MICROSECOND:1e6,NANOSECOND:1e9},R=class extends m{constructor(e,r){super(),this.unit=e,this.bitWidth=r}get typeId(){return i.Time}toString(){return`Time${this.bitWidth}<${y[this.unit]}>`}get[Symbol.toStringTag](){return"Time"}},it=class extends R{constructor(){super(y.SECOND,32)}},ct=class extends R{constructor(){super(y.MILLISECOND,32)}},b=class extends m{constructor(e,r=null){super(),this.unit=e,this.timezone=r}get typeId(){return i.Timestamp}get[Symbol.toStringTag](){return"Timestamp"}toString(){return`Timestamp<${y[this.unit]}${this.timezone?`, ${this.timezone}`:""}>`}},lt=class extends b{constructor(e=null){super(y.SECOND,e)}},ut=class extends b{constructor(e=null){super(y.MILLISECOND,e)}},ht=class extends b{constructor(e=null){super(y.MICROSECOND,e)}},mt=class extends b{constructor(e=null){super(y.NANOSECOND,e)}},Ot={DAY_TIME:0,YEAR_MONTH:1},F=class extends m{constructor(e){super(),this.unit=e}get typeId(){return i.Interval}get[Symbol.toStringTag](){return"Interval"}toString(){return`Interval<${Ot[this.unit]}>`}},dt=class extends F{constructor(){super(Ot.DAY_TIME)}},ft=class extends F{constructor(){super(Ot.YEAR_MONTH)}},pt=class extends m{constructor(e,r){super(),this.listSize=e,this.children=[r]}get typeId(){return i.FixedSizeList}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get[Symbol.toStringTag](){return"FixedSizeList"}toString(){return`FixedSizeList[${this.listSize}]<${this.valueType}>`}},gt=class extends m{constructor(e){super(),this.children=e}get typeId(){return i.Struct}toString(){return`Struct<{${this.children.map(e=>`${e.name}:${e.type}`).join(", ")}}>`}get[Symbol.toStringTag](){return"Struct"}};function Gt(t){return{typeId:t.typeId,ArrayType:t.ArrayType,typeName:t.toString(),typeEnumName:ge(t.typeId),precision:t.precision}}var wt=null;function ge(t){if(!wt){wt={};for(let e in i)wt[i[e]]=e}return wt[t]}var bt=class extends Array{enqueue(e){return this.push(e)}dequeue(){return this.shift()}},N=class{constructor(){this._values=new bt,this._settlers=new bt,this._closed=!1}close(){for(;this._settlers.length>0;)this._settlers.dequeue().resolve({done:!0});this._closed=!0}[Symbol.asyncIterator](){return this}enqueue(e){if(this._closed)throw new Error("Closed");if(this._settlers.length>0){if(this._values.length>0)throw new Error("Illegal internal state");let r=this._settlers.dequeue();e instanceof Error?r.reject(e):r.resolve({value:e})}else this._values.enqueue(e)}next(){if(this._values.length>0){let e=this._values.dequeue();return e instanceof Error?Promise.reject(e):Promise.resolve({value:e})}if(this._closed){if(this._settlers.length>0)throw new Error("Illegal internal state");return Promise.resolve({done:!0})}return new Promise((e,r)=>{this._settlers.enqueue({resolve:e,reject:r})})}};return se(C);})();
|
|
7
|
+
"use strict";var __exports__=(()=>{var Zt=Object.create;var R=Object.defineProperty;var Kt=Object.getOwnPropertyDescriptor;var Qt=Object.getOwnPropertyNames;var te=Object.getPrototypeOf,ee=Object.prototype.hasOwnProperty;var re=(e,t,r)=>t in e?R(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var se=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),ae=(e,t)=>{for(var r in t)R(e,r,{get:t[r],enumerable:!0})},M=(e,t,r,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of Qt(t))!ee.call(e,a)&&a!==r&&R(e,a,{get:()=>t[a],enumerable:!(s=Kt(t,a))||s.enumerable});return e},U=(e,t,r)=>(M(e,t,"default"),r&&M(r,t,"default")),ne=(e,t,r)=>(r=e!=null?Zt(te(e)):{},M(t||!e||!e.__esModule?R(r,"default",{value:e,enumerable:!0}):r,e)),oe=e=>M(R({},"__esModule",{value:!0}),e);var Et=(e,t,r)=>(re(e,typeof t!="symbol"?t+"":t,r),r);var Ct=se((Ae,Bt)=>{Bt.exports=globalThis.loaders});var C={};ae(C,{ArrowLikeDataType:()=>m,ArrowLikeField:()=>p,ArrowLikeSchema:()=>d,ArrowLikeTable:()=>P,AsyncQueue:()=>B,Binary:()=>at,Bool:()=>H,ColumnarTableBatchAggregator:()=>S,Date:()=>j,DateDay:()=>ot,DateMillisecond:()=>it,FixedSizeList:()=>gt,Float:()=>x,Float16:()=>et,Float32:()=>rt,Float64:()=>st,Int:()=>f,Int16:()=>J,Int32:()=>G,Int64:()=>X,Int8:()=>V,Interval:()=>O,IntervalDayTime:()=>ft,IntervalYearMonth:()=>pt,Null:()=>q,RowTableBatchAggregator:()=>A,Struct:()=>wt,TableBatchBuilder:()=>F,Time:()=>T,TimeMillisecond:()=>lt,TimeSecond:()=>ct,Timestamp:()=>b,TimestampMicrosecond:()=>mt,TimestampMillisecond:()=>ht,TimestampNanosecond:()=>dt,TimestampSecond:()=>ut,Uint16:()=>K,Uint32:()=>Q,Uint64:()=>tt,Uint8:()=>Z,Utf8:()=>nt,convertTable:()=>Ht,convertToArrayRow:()=>L,convertToObjectRow:()=>v,deduceMeshField:()=>Tt,deduceMeshSchema:()=>Gt,deduceTableSchema:()=>w,getDataTypeFromArray:()=>Y,getMeshBoundingBox:()=>Jt,getMeshSize:()=>Vt,getTableCell:()=>I,getTableColumnIndex:()=>xt,getTableColumnName:()=>vt,getTableLength:()=>h,getTableNumCols:()=>$,getTableRowAsArray:()=>E,getTableRowAsObject:()=>N,getTableRowShape:()=>kt,getTypeInfo:()=>Xt,isTable:()=>Ut,makeArrayRowIterator:()=>At,makeBatchFromTable:()=>Yt,makeMeshAttributeMetadata:()=>Ot,makeObjectRowIterator:()=>St,makeRowIterator:()=>Lt,makeTableFromBatches:()=>Pt,makeTableFromData:()=>Wt});U(C,ne(Ct(),1));var k=class{schema;options;shape;length=0;rows=null;cursor=0;_headers=[];constructor(t,r){if(this.options=r,this.schema=t,!Array.isArray(t)){this._headers=[];for(let s in t)this._headers[t[s].index]=t[s].name}}rowCount(){return this.length}addArrayRow(t,r){Number.isFinite(r)&&(this.cursor=r),this.shape="array-row-table",this.rows=this.rows||new Array(100),this.rows[this.length]=t,this.length++}addObjectRow(t,r){Number.isFinite(r)&&(this.cursor=r),this.shape="object-row-table",this.rows=this.rows||new Array(100),this.rows[this.length]=t,this.length++}getBatch(){let t=this.rows;return t?(t=t.slice(0,this.length),this.rows=null,{shape:this.shape||"array-row-table",batchType:"data",data:t,length:this.length,schema:this.schema,cursor:this.cursor}):null}};function v(e,t){if(!e)throw new Error("null row");let r={};if(t)for(let s=0;s<t.length;s++)r[t[s]]=e[s];else for(let s=0;s<e.length;s++){let a=`column-${s}`;r[a]=e[s]}return r}function L(e,t){if(!e)throw new Error("null row");if(t){let r=new Array(t.length);for(let s=0;s<t.length;s++)r[s]=e[t[s]];return r}return Object.values(e)}function Dt(e){let t=[];for(let r=0;r<e.length;r++){let s=`column-${r}`;t.push(s)}return t}function _t(e){return Object.keys(e)}var Mt=100,A=class{schema;options;length=0;objectRows=null;arrayRows=null;cursor=0;_headers=null;constructor(t,r){if(this.options=r,this.schema=t,t){this._headers=[];for(let s in t)this._headers[t[s].index]=t[s].name}}rowCount(){return this.length}addArrayRow(t,r){switch(Number.isFinite(r)&&(this.cursor=r),this._headers||=Dt(t),this.options.shape){case"object-row-table":let s=v(t,this._headers);this.addObjectRow(s,r);break;case"array-row-table":this.arrayRows=this.arrayRows||new Array(Mt),this.arrayRows[this.length]=t,this.length++;break}}addObjectRow(t,r){switch(Number.isFinite(r)&&(this.cursor=r),this._headers||=_t(t),this.options.shape){case"array-row-table":let s=L(t,this._headers);this.addArrayRow(s,r);break;case"object-row-table":this.objectRows=this.objectRows||new Array(Mt),this.objectRows[this.length]=t,this.length++;break}}getBatch(){let t=this.arrayRows||this.objectRows;return t?(t=t.slice(0,this.length),this.arrayRows=null,this.objectRows=null,{shape:this.options.shape,batchType:"data",data:t,length:this.length,schema:this.schema,cursor:this.cursor}):null}};var S=class{schema;length=0;allocated=0;columns={};constructor(t,r){this.schema=t,this._reallocateColumns()}rowCount(){return this.length}addArrayRow(t){this._reallocateColumns();let r=0;for(let s in this.columns)this.columns[s][this.length]=t[r++];this.length++}addObjectRow(t){this._reallocateColumns();for(let r in t)this.columns[r][this.length]=t[r];this.length++}getBatch(){this._pruneColumns();let t=Array.isArray(this.schema)?this.columns:{};if(!Array.isArray(this.schema))for(let s in this.schema){let a=this.schema[s];t[a.name]=this.columns[a.index]}return this.columns={},{shape:"columnar-table",batchType:"data",data:t,schema:this.schema,length:this.length}}_reallocateColumns(){if(!(this.length<this.allocated)){this.allocated=this.allocated>0?this.allocated*=2:100,this.columns={};for(let t in this.schema){let r=this.schema[t],s=r.type||Float32Array,a=this.columns[r.index];if(a&&ArrayBuffer.isView(a)){let u=new s(this.allocated);u.set(a),this.columns[r.index]=u}else a?(a.length=this.allocated,this.columns[r.index]=a):this.columns[r.index]=new s(this.allocated)}}}_pruneColumns(){for(let[t,r]of Object.entries(this.columns))this.columns[t]=r.slice(0,this.length)}};var ie={shape:void 0,batchSize:"auto",batchDebounceMs:0,limit:0,_limitMB:0},ce="TableBatchBuilder",z=class{schema;options;aggregator=null;batchCount=0;bytesUsed=0;isChunkComplete=!1;lastBatchEmittedMs=Date.now();totalLength=0;totalBytes=0;rowBytes=0;constructor(t,r){this.schema=t,this.options={...ie,...r}}limitReached(){return!!(Boolean(this.options?.limit)&&this.totalLength>=this.options.limit||Boolean(this.options?._limitMB)&&this.totalBytes/1e6>=this.options._limitMB)}addRow(t){this.limitReached()||(this.totalLength++,this.rowBytes=this.rowBytes||this._estimateRowMB(t),this.totalBytes+=this.rowBytes,Array.isArray(t)?this.addArrayRow(t):this.addObjectRow(t))}addArrayRow(t){if(!this.aggregator){let r=this._getTableBatchType();this.aggregator=new r(this.schema,this.options)}this.aggregator.addArrayRow(t)}addObjectRow(t){if(!this.aggregator){let r=this._getTableBatchType();this.aggregator=new r(this.schema,this.options)}this.aggregator.addObjectRow(t)}chunkComplete(t){t instanceof ArrayBuffer&&(this.bytesUsed+=t.byteLength),typeof t=="string"&&(this.bytesUsed+=t.length),this.isChunkComplete=!0}getFullBatch(t){return this._isFull()?this._getBatch(t):null}getFinalBatch(t){return this._getBatch(t)}_estimateRowMB(t){return Array.isArray(t)?t.length*8:Object.keys(t).length*8}_isFull(){if(!this.aggregator||this.aggregator.rowCount()===0)return!1;if(this.options.batchSize==="auto"){if(!this.isChunkComplete)return!1}else if(this.options.batchSize>this.aggregator.rowCount())return!1;return this.options.batchDebounceMs>Date.now()-this.lastBatchEmittedMs?!1:(this.isChunkComplete=!1,this.lastBatchEmittedMs=Date.now(),!0)}_getBatch(t){if(!this.aggregator)return null;t?.bytesUsed&&(this.bytesUsed=t.bytesUsed);let r=this.aggregator.getBatch();return r.count=this.batchCount,r.bytesUsed=this.bytesUsed,Object.assign(r,t),this.batchCount++,this.aggregator=null,r}_getTableBatchType(){switch(this.options.shape){case"array-row-table":case"object-row-table":return A;case"columnar-table":return S;case"arrow-table":if(!z.ArrowBatch)throw new Error(ce);return z.ArrowBatch;default:return k}}},F=z;Et(F,"ArrowBatch");function Ut(e){switch(typeof e=="object"&&e?.shape){case"array-row-table":case"object-row-table":return Array.isArray(e.data);case"geojson-table":return Array.isArray(e.features);case"columnar-table":return e.data&&typeof e.data=="object";case"arrow-table":return Boolean(e?.data?.numRows!==void 0);default:return!1}}function h(e){switch(e.shape){case"array-row-table":case"object-row-table":return e.data.length;case"geojson-table":return e.features.length;case"arrow-table":return e.data.numRows;case"columnar-table":for(let r of Object.values(e.data))return r.length||0;return 0;default:throw new Error("table")}}function $(e){if(e.schema)return e.schema.fields.length;if(h(e)===0)throw new Error("empty table");switch(e.shape){case"array-row-table":return e.data[0].length;case"object-row-table":return Object.keys(e.data[0]).length;case"geojson-table":return Object.keys(e.features[0]).length;case"columnar-table":return Object.keys(e.data).length;case"arrow-table":return e.data.numCols;default:throw new Error("table")}}function I(e,t,r){switch(e.shape){case"array-row-table":let s=xt(e,r);return e.data[t][s];case"object-row-table":return e.data[t][r];case"geojson-table":return e.features[t][r];case"columnar-table":return e.data[r][t];case"arrow-table":let u=e.data,c=u.schema.fields.findIndex(l=>l.name===r);return u.getChildAt(c)?.get(t);default:throw new Error("todo")}}function kt(e){switch(e.shape){case"array-row-table":case"object-row-table":return e.shape;case"geojson-table":return"object-row-table";case"columnar-table":default:throw new Error("Not a row table")}}function xt(e,t){let r=e.schema?.fields.findIndex(s=>s.name===t);if(r===void 0)throw new Error(t);return r}function vt(e,t){let r=e.schema?.fields[t]?.name;if(!r)throw new Error(`${t}`);return r}function N(e,t,r,s){switch(e.shape){case"object-row-table":return s?Object.fromEntries(Object.entries(e.data[t])):e.data[t];case"array-row-table":if(e.schema){let n=r||{};for(let o=0;o<e.schema.fields.length;o++)n[e.schema.fields[o].name]=e.data[t][o];return n}throw new Error("no schema");case"geojson-table":if(e.schema){let n=r||{};for(let o=0;o<e.schema.fields.length;o++)n[e.schema.fields[o].name]=e.features[t][o];return n}throw new Error("no schema");case"columnar-table":if(e.schema){let n=r||{};for(let o=0;o<e.schema.fields.length;o++)n[e.schema.fields[o].name]=e.data[e.schema.fields[o].name][t];return n}else{let n=r||{};for(let[o,g]of Object.entries(e.data))n[o]=g[t];return n}case"arrow-table":let a=e.data,u=r||{},c=a.get(t),l=a.schema;for(let n=0;n<l.fields.length;n++)u[l.fields[n].name]=c?.[l.fields[n].name];return u;default:throw new Error("shape")}}function E(e,t,r,s){switch(e.shape){case"array-row-table":return s?Array.from(e.data[t]):e.data[t];case"object-row-table":if(e.schema){let n=r||[];for(let o=0;o<e.schema.fields.length;o++)n[o]=e.data[t][e.schema.fields[o].name];return n}return Object.values(e.data[t]);case"geojson-table":if(e.schema){let n=r||[];for(let o=0;o<e.schema.fields.length;o++)n[o]=e.features[t][e.schema.fields[o].name];return n}return Object.values(e.features[t]);case"columnar-table":if(e.schema){let n=r||[];for(let o=0;o<e.schema.fields.length;o++)n[o]=e.data[e.schema.fields[o].name][t];return n}else{let n=r||[],o=0;for(let g of Object.values(e.data))n[o]=g[t],o++;return n}case"arrow-table":let a=e.data,u=r||[],c=a.get(t),l=a.schema;for(let n=0;n<l.fields.length;n++)u[n]=c?.[l.fields[n].name];return u;default:throw new Error("shape")}}function*Lt(e,t){switch(t){case"array-row-table":yield*At(e);break;case"object-row-table":yield*St(e);break;default:throw new Error(`Unknown row type ${t}`)}}function*At(e,t=[]){let r=h(e);for(let s=0;s<r;s++)yield E(e,s,t)}function*St(e,t={}){let r=h(e);for(let s=0;s<r;s++)yield N(e,s,t)}var p=class{name;type;nullable;metadata;constructor(t,r,s=!1,a=new Map){this.name=t,this.type=r,this.nullable=s,this.metadata=a}get typeId(){return this.type&&this.type.typeId}clone(){return new p(this.name,this.type,this.nullable,this.metadata)}compareTo(t){return this.name===t.name&&this.type===t.type&&this.nullable===t.nullable&&this.metadata===t.metadata}toString(){return`${JSON.stringify(this.type)}${this.nullable?", nullable":""}${this.metadata?`, metadata: ${JSON.stringify(this.metadata)}`:""}`}};var d=class{fields;metadata;constructor(t,r=new Map){this.fields=t.map(s=>new p(s.name,s.type,s.nullable,s.metadata)),this.metadata=r instanceof Map?r:new Map(Object.entries(r))}compareTo(t){if(this.metadata!==t.metadata||this.fields.length!==t.fields.length)return!1;for(let r=0;r<this.fields.length;++r)if(!this.fields[r].compareTo(t.fields[r]))return!1;return!0}select(...t){let r=Object.create(null);for(let a of t)r[a]=!0;let s=this.fields.filter(a=>r[a.name]);return new d(s,this.metadata)}selectAt(...t){let r=t.map(s=>this.fields[s]).filter(Boolean);return new d(r,this.metadata)}assign(t){let r,s=this.metadata;if(t instanceof d){let c=t;r=c.fields,s=zt(zt(new Map,this.metadata),c.metadata)}else r=t;let a=Object.create(null);for(let c of this.fields)a[c.name]=c;for(let c of r)a[c.name]=c;let u=Object.values(a);return new d(u,s)}};function zt(e,t){return new Map([...e||new Map,...t||new Map])}function W(e,t="float32"){return e instanceof Date?"date-millisecond":e instanceof Number?t:typeof e=="string"?"utf8":(e===null||e==="undefined","null")}function Y(e){let t=It(e);return t!=="null"?{type:t,nullable:!1}:e.length>0?(t=W(e[0]),{type:t,nullable:!0}):{type:"null",nullable:!0}}function It(e){switch(e.constructor){case Int8Array:return"int8";case Uint8Array:case Uint8ClampedArray:return"uint8";case Int16Array:return"int16";case Uint16Array:return"uint16";case Int32Array:return"int32";case Uint32Array:return"uint32";case Float32Array:return"float32";case Float64Array:return"float64";default:return"null"}}function $t(e,t){if(!t)switch(e){case"int8":return Int8Array;case"uint8":return Uint8Array;case"int16":return Int16Array;case"uint16":return Uint16Array;case"int32":return Int32Array;case"uint32":return Uint32Array;case"float32":return Float32Array;case"float64":return Float64Array;default:break}return Array}function w(e){switch(e.shape){case"array-row-table":case"object-row-table":return ue(e.data);case"columnar-table":return le(e.data);case"arrow-table":default:throw new Error("Deduce schema")}}function le(e){let t=[];for(let[r,s]of Object.entries(e)){let a=he(s,r);t.push(a)}return{fields:t,metadata:{}}}function ue(e){if(!e.length)throw new Error("deduce from empty table");let t=[],r=e[0];for(let[s,a]of Object.entries(r))t.push(me(a,s));return{fields:t,metadata:{}}}function he(e,t){if(ArrayBuffer.isView(e)){let r=Y(e);return{name:t,type:r.type||"null",nullable:r.nullable}}if(Array.isArray(e)&&e.length>0){let r=e[0],s=W(r);return{name:t,type:s,nullable:!0}}throw new Error("empty table")}function me(e,t){let r=W(e);return{name:t,type:r,nullable:!0}}var jt=class{table;columnName;constructor(t,r){this.table=t,this.columnName=r}get(t){return I(this.table,t,this.columnName)}toArray(){switch(this.table.shape){case"arrow-table":return this.table.data.getChild(this.columnName)?.toArray();case"columnar-table":return this.table.data[this.columnName];default:throw new Error(this.table.shape)}}},P=class{schema;table;constructor(t){let r=t.schema||w(t);this.schema=new d(r.fields,r.metadata),this.table={...t,schema:r}}get data(){return this.table.shape==="geojson-table"?this.table.features:this.table.data}get numCols(){return $(this.table)}get length(){return h(this.table)}getChild(t){return new jt(this.table,t)}};function Wt(e){let t;switch(de(e)){case"array-row-table":t={shape:"array-row-table",data:e};break;case"object-row-table":t={shape:"object-row-table",data:e};break;case"columnar-table":t={shape:"columnar-table",data:e};break;default:throw new Error("table")}let r=w(t);return{...t,schema:r}}function de(e){if(Array.isArray(e)){if(e.length===0)throw new Error("cannot deduce type of empty table");let t=e[0];if(Array.isArray(t))return"array-row-table";if(t&&typeof t=="object")return"object-row-table"}if(e&&typeof e=="object")return"columnar-table";throw new Error("invalid table")}function Yt(e){return{...e,length:h(e),batchType:"data"}}async function Pt(e){let t,r,s,a=null,u;for await(let c of e)switch(a=a||c.shape,u=u||c.schema,c.shape){case"array-row-table":t=t||[];for(let l=0;l<h(c);l++){let n=c.data[l];t.push(n)}break;case"object-row-table":r=r||[];for(let l=0;l<h(c);l++){let n=c.data[l];r.push(n)}break;case"geojson-table":s=s||[];for(let l=0;l<h(c);l++){let n=c.features[l];s.push(n)}break;case"columnar-table":case"arrow-table":default:throw new Error("shape")}if(!a)return null;switch(a){case"array-row-table":return{shape:"array-row-table",data:t,schema:u};case"object-row-table":return{shape:"object-row-table",data:r,schema:u};case"geojson-table":return{shape:"geojson-table",type:"FeatureCollection",features:s,schema:u};default:return null}}function qt(e,t){let r=$t(e.type,e.nullable);return new r(t)}function Ht(e,t){switch(t){case"object-row-table":return we(e);case"array-row-table":return ge(e);case"columnar-table":return pe(e);case"arrow-table":return fe(e);default:throw new Error(t)}}function fe(e){let t=globalThis.__loaders?._makeArrowTable;if(!t)throw new Error("");return t(e)}function pe(e){let t=e.schema||w(e),r=e.schema?.fields||[];if(e.shape==="columnar-table")return{...e,schema:t};let s=h(e),a={};for(let u of r){let c=qt(u,s);a[u.name]=c;for(let l=0;l<s;l++)c[l]=I(e,l,u.name)}return{shape:"columnar-table",schema:t,data:a}}function ge(e){if(e.shape==="array-row-table")return e;let t=h(e),r=new Array(t);for(let s=0;s<t;s++)r[s]=E(e,s);return{shape:"array-row-table",schema:e.schema,data:r}}function we(e){if(e.shape==="object-row-table")return e;let t=h(e),r=new Array(t);for(let s=0;s<t;s++)r[s]=N(e,s);return{shape:"object-row-table",schema:e.schema,data:r}}function Vt(e){let t=0;for(let r in e){let s=e[r];ArrayBuffer.isView(s)&&(t+=s.byteLength*s.BYTES_PER_ELEMENT)}return t}function Jt(e){let t=1/0,r=1/0,s=1/0,a=-1/0,u=-1/0,c=-1/0,l=e.POSITION?e.POSITION.value:[],n=l&&l.length;for(let o=0;o<n;o+=3){let g=l[o],D=l[o+1],_=l[o+2];t=g<t?g:t,r=D<r?D:r,s=_<s?_:s,a=g>a?g:a,u=D>u?D:u,c=_>c?_:c}return[[t,r,s],[a,u,c]]}function Gt(e,t={}){return{fields:be(e),metadata:t}}function Tt(e,t,r){let s=It(t.value),a=r||Ot(t);return{name:e,type:{type:"fixed-size-list",listSize:t.size,children:[{name:"value",type:s}]},nullable:!1,metadata:a}}function be(e){let t=[];for(let r in e){let s=e[r];t.push(Tt(r,s))}return t}function Ot(e){let t={};return"byteOffset"in e&&(t.byteOffset=e.byteOffset.toString(10)),"byteStride"in e&&(t.byteStride=e.byteStride.toString(10)),"normalized"in e&&(t.normalized=e.normalized.toString()),t}var i;(function(e){e[e.NONE=0]="NONE",e[e.Null=1]="Null",e[e.Int=2]="Int",e[e.Float=3]="Float",e[e.Binary=4]="Binary",e[e.Utf8=5]="Utf8",e[e.Bool=6]="Bool",e[e.Decimal=7]="Decimal",e[e.Date=8]="Date",e[e.Time=9]="Time",e[e.Timestamp=10]="Timestamp",e[e.Interval=11]="Interval",e[e.List=12]="List",e[e.Struct=13]="Struct",e[e.Union=14]="Union",e[e.FixedSizeBinary=15]="FixedSizeBinary",e[e.FixedSizeList=16]="FixedSizeList",e[e.Map=17]="Map",e[e.Dictionary=-1]="Dictionary",e[e.Int8=-2]="Int8",e[e.Int16=-3]="Int16",e[e.Int32=-4]="Int32",e[e.Int64=-5]="Int64",e[e.Uint8=-6]="Uint8",e[e.Uint16=-7]="Uint16",e[e.Uint32=-8]="Uint32",e[e.Uint64=-9]="Uint64",e[e.Float16=-10]="Float16",e[e.Float32=-11]="Float32",e[e.Float64=-12]="Float64",e[e.DateDay=-13]="DateDay",e[e.DateMillisecond=-14]="DateMillisecond",e[e.TimestampSecond=-15]="TimestampSecond",e[e.TimestampMillisecond=-16]="TimestampMillisecond",e[e.TimestampMicrosecond=-17]="TimestampMicrosecond",e[e.TimestampNanosecond=-18]="TimestampNanosecond",e[e.TimeSecond=-19]="TimeSecond",e[e.TimeMillisecond=-20]="TimeMillisecond",e[e.TimeMicrosecond=-21]="TimeMicrosecond",e[e.TimeNanosecond=-22]="TimeNanosecond",e[e.DenseUnion=-23]="DenseUnion",e[e.SparseUnion=-24]="SparseUnion",e[e.IntervalDayTime=-25]="IntervalDayTime",e[e.IntervalYearMonth=-26]="IntervalYearMonth"})(i||(i={}));var m=class{static isNull(t){return t&&t.typeId===i.Null}static isInt(t){return t&&t.typeId===i.Int}static isFloat(t){return t&&t.typeId===i.Float}static isBinary(t){return t&&t.typeId===i.Binary}static isUtf8(t){return t&&t.typeId===i.Utf8}static isBool(t){return t&&t.typeId===i.Bool}static isDecimal(t){return t&&t.typeId===i.Decimal}static isDate(t){return t&&t.typeId===i.Date}static isTime(t){return t&&t.typeId===i.Time}static isTimestamp(t){return t&&t.typeId===i.Timestamp}static isInterval(t){return t&&t.typeId===i.Interval}static isList(t){return t&&t.typeId===i.List}static isStruct(t){return t&&t.typeId===i.Struct}static isUnion(t){return t&&t.typeId===i.Union}static isFixedSizeBinary(t){return t&&t.typeId===i.FixedSizeBinary}static isFixedSizeList(t){return t&&t.typeId===i.FixedSizeList}static isMap(t){return t&&t.typeId===i.Map}static isDictionary(t){return t&&t.typeId===i.Dictionary}get typeId(){return i.NONE}compareTo(t){return this===t}},q=class extends m{get typeId(){return i.Null}get[Symbol.toStringTag](){return"Null"}toString(){return"Null"}},H=class extends m{get typeId(){return i.Bool}get[Symbol.toStringTag](){return"Bool"}toString(){return"Bool"}},f=class extends m{isSigned;bitWidth;constructor(t,r){super(),this.isSigned=t,this.bitWidth=r}get typeId(){return i.Int}get[Symbol.toStringTag](){return"Int"}toString(){return`${this.isSigned?"I":"Ui"}nt${this.bitWidth}`}},V=class extends f{constructor(){super(!0,8)}},J=class extends f{constructor(){super(!0,16)}},G=class extends f{constructor(){super(!0,32)}},X=class extends f{constructor(){super(!0,64)}},Z=class extends f{constructor(){super(!1,8)}},K=class extends f{constructor(){super(!1,16)}},Q=class extends f{constructor(){super(!1,32)}},tt=class extends f{constructor(){super(!1,64)}},Rt={HALF:16,SINGLE:32,DOUBLE:64},x=class extends m{precision;constructor(t){super(),this.precision=t}get typeId(){return i.Float}get[Symbol.toStringTag](){return"Float"}toString(){return`Float${this.precision}`}},et=class extends x{constructor(){super(Rt.HALF)}},rt=class extends x{constructor(){super(Rt.SINGLE)}},st=class extends x{constructor(){super(Rt.DOUBLE)}},at=class extends m{constructor(){super()}get typeId(){return i.Binary}toString(){return"Binary"}get[Symbol.toStringTag](){return"Binary"}},nt=class extends m{get typeId(){return i.Utf8}get[Symbol.toStringTag](){return"Utf8"}toString(){return"Utf8"}},Ft={DAY:0,MILLISECOND:1},j=class extends m{unit;constructor(t){super(),this.unit=t}get typeId(){return i.Date}get[Symbol.toStringTag](){return"Date"}toString(){return`Date${(this.unit+1)*32}<${Ft[this.unit]}>`}},ot=class extends j{constructor(){super(Ft.DAY)}},it=class extends j{constructor(){super(Ft.MILLISECOND)}},y={SECOND:1,MILLISECOND:1e3,MICROSECOND:1e6,NANOSECOND:1e9},T=class extends m{unit;bitWidth;constructor(t,r){super(),this.unit=t,this.bitWidth=r}get typeId(){return i.Time}toString(){return`Time${this.bitWidth}<${y[this.unit]}>`}get[Symbol.toStringTag](){return"Time"}},ct=class extends T{constructor(){super(y.SECOND,32)}},lt=class extends T{constructor(){super(y.MILLISECOND,32)}},b=class extends m{unit;timezone;constructor(t,r=null){super(),this.unit=t,this.timezone=r}get typeId(){return i.Timestamp}get[Symbol.toStringTag](){return"Timestamp"}toString(){return`Timestamp<${y[this.unit]}${this.timezone?`, ${this.timezone}`:""}>`}},ut=class extends b{constructor(t=null){super(y.SECOND,t)}},ht=class extends b{constructor(t=null){super(y.MILLISECOND,t)}},mt=class extends b{constructor(t=null){super(y.MICROSECOND,t)}},dt=class extends b{constructor(t=null){super(y.NANOSECOND,t)}},Nt={DAY_TIME:0,YEAR_MONTH:1},O=class extends m{unit;constructor(t){super(),this.unit=t}get typeId(){return i.Interval}get[Symbol.toStringTag](){return"Interval"}toString(){return`Interval<${Nt[this.unit]}>`}},ft=class extends O{constructor(){super(Nt.DAY_TIME)}},pt=class extends O{constructor(){super(Nt.YEAR_MONTH)}},gt=class extends m{listSize;children;constructor(t,r){super(),this.listSize=t,this.children=[r]}get typeId(){return i.FixedSizeList}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get[Symbol.toStringTag](){return"FixedSizeList"}toString(){return`FixedSizeList[${this.listSize}]<${JSON.stringify(this.valueType)}>`}},wt=class extends m{children;constructor(t){super(),this.children=t}get typeId(){return i.Struct}toString(){return`Struct<{${this.children.map(t=>`${t.name}:${JSON.stringify(t.type)}`).join(", ")}}>`}get[Symbol.toStringTag](){return"Struct"}};function Xt(e){return{typeId:e.typeId,ArrayType:e.ArrayType,typeName:e.toString(),typeEnumName:ye(e.typeId),precision:e.precision}}var bt=null;function ye(e){if(!bt){bt={};for(let t in i)bt[i[t]]=t}return bt[e]}var yt=class extends Array{enqueue(t){return this.push(t)}dequeue(){return this.shift()}},B=class{_values;_settlers;_closed;constructor(){this._values=new yt,this._settlers=new yt,this._closed=!1}close(){for(;this._settlers.length>0;)this._settlers.dequeue().resolve({done:!0});this._closed=!0}[Symbol.asyncIterator](){return this}enqueue(t){if(this._closed)throw new Error("Closed");if(this._settlers.length>0){if(this._values.length>0)throw new Error("Illegal internal state");let r=this._settlers.dequeue();t instanceof Error?r.reject(t):r.resolve({value:t})}else this._values.enqueue(t)}next(){if(this._values.length>0){let t=this._values.dequeue();return t instanceof Error?Promise.reject(t):Promise.resolve({value:t})}if(this._closed){if(this._settlers.length>0)throw new Error("Illegal internal state");return Promise.resolve({done:!0})}return new Promise((t,r)=>{this._settlers.enqueue({resolve:t,reject:r})})}};return oe(C);})();
|
|
8
8
|
return __exports__;
|
|
9
9
|
});
|
package/dist/index.cjs
CHANGED
|
@@ -3,6 +3,7 @@ var __defProp = Object.defineProperty;
|
|
|
3
3
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
4
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
5
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
6
7
|
var __export = (target, all) => {
|
|
7
8
|
for (var name in all)
|
|
8
9
|
__defProp(target, name, { get: all[name], enumerable: true });
|
|
@@ -16,6 +17,10 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
16
17
|
return to;
|
|
17
18
|
};
|
|
18
19
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
20
|
+
var __publicField = (obj, key, value) => {
|
|
21
|
+
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
22
|
+
return value;
|
|
23
|
+
};
|
|
19
24
|
|
|
20
25
|
// dist/index.js
|
|
21
26
|
var dist_exports = {};
|
|
@@ -93,11 +98,14 @@ module.exports = __toCommonJS(dist_exports);
|
|
|
93
98
|
// dist/lib/table/batches/base-table-batch-aggregator.js
|
|
94
99
|
var DEFAULT_ROW_COUNT = 100;
|
|
95
100
|
var BaseTableBatchAggregator = class {
|
|
101
|
+
schema;
|
|
102
|
+
options;
|
|
103
|
+
shape;
|
|
104
|
+
length = 0;
|
|
105
|
+
rows = null;
|
|
106
|
+
cursor = 0;
|
|
107
|
+
_headers = [];
|
|
96
108
|
constructor(schema, options) {
|
|
97
|
-
this.length = 0;
|
|
98
|
-
this.rows = null;
|
|
99
|
-
this.cursor = 0;
|
|
100
|
-
this._headers = [];
|
|
101
109
|
this.options = options;
|
|
102
110
|
this.schema = schema;
|
|
103
111
|
if (!Array.isArray(schema)) {
|
|
@@ -193,12 +201,14 @@ function inferHeadersFromObjectRow(row) {
|
|
|
193
201
|
// dist/lib/table/batches/row-table-batch-aggregator.js
|
|
194
202
|
var DEFAULT_ROW_COUNT2 = 100;
|
|
195
203
|
var RowTableBatchAggregator = class {
|
|
204
|
+
schema;
|
|
205
|
+
options;
|
|
206
|
+
length = 0;
|
|
207
|
+
objectRows = null;
|
|
208
|
+
arrayRows = null;
|
|
209
|
+
cursor = 0;
|
|
210
|
+
_headers = null;
|
|
196
211
|
constructor(schema, options) {
|
|
197
|
-
this.length = 0;
|
|
198
|
-
this.objectRows = null;
|
|
199
|
-
this.arrayRows = null;
|
|
200
|
-
this.cursor = 0;
|
|
201
|
-
this._headers = null;
|
|
202
212
|
this.options = options;
|
|
203
213
|
this.schema = schema;
|
|
204
214
|
if (schema) {
|
|
@@ -215,7 +225,7 @@ var RowTableBatchAggregator = class {
|
|
|
215
225
|
if (Number.isFinite(cursor)) {
|
|
216
226
|
this.cursor = cursor;
|
|
217
227
|
}
|
|
218
|
-
this._headers
|
|
228
|
+
this._headers ||= inferHeadersFromArrayRow(row);
|
|
219
229
|
switch (this.options.shape) {
|
|
220
230
|
case "object-row-table":
|
|
221
231
|
const rowObject = convertToObjectRow(row, this._headers);
|
|
@@ -232,7 +242,7 @@ var RowTableBatchAggregator = class {
|
|
|
232
242
|
if (Number.isFinite(cursor)) {
|
|
233
243
|
this.cursor = cursor;
|
|
234
244
|
}
|
|
235
|
-
this._headers
|
|
245
|
+
this._headers ||= inferHeadersFromObjectRow(row);
|
|
236
246
|
switch (this.options.shape) {
|
|
237
247
|
case "array-row-table":
|
|
238
248
|
const rowArray = convertToArrayRow(row, this._headers);
|
|
@@ -268,10 +278,11 @@ var RowTableBatchAggregator = class {
|
|
|
268
278
|
// dist/lib/table/batches/columnar-table-batch-aggregator.js
|
|
269
279
|
var DEFAULT_ROW_COUNT3 = 100;
|
|
270
280
|
var ColumnarTableBatchAggregator = class {
|
|
281
|
+
schema;
|
|
282
|
+
length = 0;
|
|
283
|
+
allocated = 0;
|
|
284
|
+
columns = {};
|
|
271
285
|
constructor(schema, options) {
|
|
272
|
-
this.length = 0;
|
|
273
|
-
this.allocated = 0;
|
|
274
|
-
this.columns = {};
|
|
275
286
|
this.schema = schema;
|
|
276
287
|
this._reallocateColumns();
|
|
277
288
|
}
|
|
@@ -351,16 +362,18 @@ var DEFAULT_OPTIONS = {
|
|
|
351
362
|
_limitMB: 0
|
|
352
363
|
};
|
|
353
364
|
var ERR_MESSAGE = "TableBatchBuilder";
|
|
354
|
-
var
|
|
365
|
+
var _TableBatchBuilder = class {
|
|
366
|
+
schema;
|
|
367
|
+
options;
|
|
368
|
+
aggregator = null;
|
|
369
|
+
batchCount = 0;
|
|
370
|
+
bytesUsed = 0;
|
|
371
|
+
isChunkComplete = false;
|
|
372
|
+
lastBatchEmittedMs = Date.now();
|
|
373
|
+
totalLength = 0;
|
|
374
|
+
totalBytes = 0;
|
|
375
|
+
rowBytes = 0;
|
|
355
376
|
constructor(schema, options) {
|
|
356
|
-
this.aggregator = null;
|
|
357
|
-
this.batchCount = 0;
|
|
358
|
-
this.bytesUsed = 0;
|
|
359
|
-
this.isChunkComplete = false;
|
|
360
|
-
this.lastBatchEmittedMs = Date.now();
|
|
361
|
-
this.totalLength = 0;
|
|
362
|
-
this.totalBytes = 0;
|
|
363
|
-
this.rowBytes = 0;
|
|
364
377
|
this.schema = schema;
|
|
365
378
|
this.options = { ...DEFAULT_OPTIONS, ...options };
|
|
366
379
|
}
|
|
@@ -468,15 +481,17 @@ var TableBatchBuilder = class {
|
|
|
468
481
|
case "columnar-table":
|
|
469
482
|
return ColumnarTableBatchAggregator;
|
|
470
483
|
case "arrow-table":
|
|
471
|
-
if (!
|
|
484
|
+
if (!_TableBatchBuilder.ArrowBatch) {
|
|
472
485
|
throw new Error(ERR_MESSAGE);
|
|
473
486
|
}
|
|
474
|
-
return
|
|
487
|
+
return _TableBatchBuilder.ArrowBatch;
|
|
475
488
|
default:
|
|
476
489
|
return BaseTableBatchAggregator;
|
|
477
490
|
}
|
|
478
491
|
}
|
|
479
492
|
};
|
|
493
|
+
var TableBatchBuilder = _TableBatchBuilder;
|
|
494
|
+
__publicField(TableBatchBuilder, "ArrowBatch");
|
|
480
495
|
|
|
481
496
|
// dist/lib/table/simple-table/table-accessors.js
|
|
482
497
|
function isTable(table) {
|
|
@@ -714,6 +729,10 @@ function* makeObjectRowIterator(table, target = {}) {
|
|
|
714
729
|
|
|
715
730
|
// dist/lib/table/arrow-api/arrow-like-field.js
|
|
716
731
|
var ArrowLikeField = class {
|
|
732
|
+
name;
|
|
733
|
+
type;
|
|
734
|
+
nullable;
|
|
735
|
+
metadata;
|
|
717
736
|
constructor(name, type, nullable = false, metadata = /* @__PURE__ */ new Map()) {
|
|
718
737
|
this.name = name;
|
|
719
738
|
this.type = type;
|
|
@@ -730,12 +749,14 @@ var ArrowLikeField = class {
|
|
|
730
749
|
return this.name === other.name && this.type === other.type && this.nullable === other.nullable && this.metadata === other.metadata;
|
|
731
750
|
}
|
|
732
751
|
toString() {
|
|
733
|
-
return `${this.type}${this.nullable ? ", nullable" : ""}${this.metadata ? `, metadata: ${this.metadata}` : ""}`;
|
|
752
|
+
return `${JSON.stringify(this.type)}${this.nullable ? ", nullable" : ""}${this.metadata ? `, metadata: ${JSON.stringify(this.metadata)}` : ""}`;
|
|
734
753
|
}
|
|
735
754
|
};
|
|
736
755
|
|
|
737
756
|
// dist/lib/table/arrow-api/arrow-like-schema.js
|
|
738
757
|
var ArrowLikeSchema = class {
|
|
758
|
+
fields;
|
|
759
|
+
metadata;
|
|
739
760
|
constructor(fields, metadata = /* @__PURE__ */ new Map()) {
|
|
740
761
|
this.fields = fields.map((field) => new ArrowLikeField(field.name, field.type, field.nullable, field.metadata));
|
|
741
762
|
this.metadata = metadata instanceof Map ? metadata : new Map(Object.entries(metadata));
|
|
@@ -934,6 +955,8 @@ function deduceFieldFromValue(value, name) {
|
|
|
934
955
|
|
|
935
956
|
// dist/lib/table/arrow-api/arrow-like-table.js
|
|
936
957
|
var ArrowLikeVector = class {
|
|
958
|
+
table;
|
|
959
|
+
columnName;
|
|
937
960
|
constructor(table, columnName) {
|
|
938
961
|
this.table = table;
|
|
939
962
|
this.columnName = columnName;
|
|
@@ -955,6 +978,8 @@ var ArrowLikeVector = class {
|
|
|
955
978
|
}
|
|
956
979
|
};
|
|
957
980
|
var ArrowLikeTable = class {
|
|
981
|
+
schema;
|
|
982
|
+
table;
|
|
958
983
|
constructor(table) {
|
|
959
984
|
const schema = table.schema || deduceTableSchema(table);
|
|
960
985
|
this.schema = new ArrowLikeSchema(schema.fields, schema.metadata);
|
|
@@ -1370,6 +1395,8 @@ var Bool = class extends DataType {
|
|
|
1370
1395
|
}
|
|
1371
1396
|
};
|
|
1372
1397
|
var Int = class extends DataType {
|
|
1398
|
+
isSigned;
|
|
1399
|
+
bitWidth;
|
|
1373
1400
|
constructor(isSigned, bitWidth) {
|
|
1374
1401
|
super();
|
|
1375
1402
|
this.isSigned = isSigned;
|
|
@@ -1445,6 +1472,7 @@ var Precision = {
|
|
|
1445
1472
|
DOUBLE: 64
|
|
1446
1473
|
};
|
|
1447
1474
|
var Float = class extends DataType {
|
|
1475
|
+
precision;
|
|
1448
1476
|
constructor(precision) {
|
|
1449
1477
|
super();
|
|
1450
1478
|
this.precision = precision;
|
|
@@ -1519,6 +1547,7 @@ var DateUnit = {
|
|
|
1519
1547
|
MILLISECOND: 1
|
|
1520
1548
|
};
|
|
1521
1549
|
var Date2 = class extends DataType {
|
|
1550
|
+
unit;
|
|
1522
1551
|
constructor(unit) {
|
|
1523
1552
|
super();
|
|
1524
1553
|
this.unit = unit;
|
|
@@ -1553,6 +1582,8 @@ var TimeUnit = {
|
|
|
1553
1582
|
NANOSECOND: 1e9
|
|
1554
1583
|
};
|
|
1555
1584
|
var Time = class extends DataType {
|
|
1585
|
+
unit;
|
|
1586
|
+
bitWidth;
|
|
1556
1587
|
constructor(unit, bitWidth) {
|
|
1557
1588
|
super();
|
|
1558
1589
|
this.unit = unit;
|
|
@@ -1579,6 +1610,8 @@ var TimeMillisecond = class extends Time {
|
|
|
1579
1610
|
}
|
|
1580
1611
|
};
|
|
1581
1612
|
var Timestamp = class extends DataType {
|
|
1613
|
+
unit;
|
|
1614
|
+
timezone;
|
|
1582
1615
|
constructor(unit, timezone = null) {
|
|
1583
1616
|
super();
|
|
1584
1617
|
this.unit = unit;
|
|
@@ -1622,6 +1655,7 @@ var IntervalUnit = {
|
|
|
1622
1655
|
YEAR_MONTH: 1
|
|
1623
1656
|
};
|
|
1624
1657
|
var Interval = class extends DataType {
|
|
1658
|
+
unit;
|
|
1625
1659
|
constructor(unit) {
|
|
1626
1660
|
super();
|
|
1627
1661
|
this.unit = unit;
|
|
@@ -1650,6 +1684,8 @@ var IntervalYearMonth = class extends Interval {
|
|
|
1650
1684
|
}
|
|
1651
1685
|
};
|
|
1652
1686
|
var FixedSizeList = class extends DataType {
|
|
1687
|
+
listSize;
|
|
1688
|
+
children;
|
|
1653
1689
|
constructor(listSize, child) {
|
|
1654
1690
|
super();
|
|
1655
1691
|
this.listSize = listSize;
|
|
@@ -1671,10 +1707,11 @@ var FixedSizeList = class extends DataType {
|
|
|
1671
1707
|
return "FixedSizeList";
|
|
1672
1708
|
}
|
|
1673
1709
|
toString() {
|
|
1674
|
-
return `FixedSizeList[${this.listSize}]<${this.valueType}>`;
|
|
1710
|
+
return `FixedSizeList[${this.listSize}]<${JSON.stringify(this.valueType)}>`;
|
|
1675
1711
|
}
|
|
1676
1712
|
};
|
|
1677
1713
|
var Struct = class extends DataType {
|
|
1714
|
+
children;
|
|
1678
1715
|
constructor(children) {
|
|
1679
1716
|
super();
|
|
1680
1717
|
this.children = children;
|
|
@@ -1683,7 +1720,7 @@ var Struct = class extends DataType {
|
|
|
1683
1720
|
return Type.Struct;
|
|
1684
1721
|
}
|
|
1685
1722
|
toString() {
|
|
1686
|
-
return `Struct<{${this.children.map((f) => `${f.name}:${f.type}`).join(", ")}}>`;
|
|
1723
|
+
return `Struct<{${this.children.map((f) => `${f.name}:${JSON.stringify(f.type)}`).join(", ")}}>`;
|
|
1687
1724
|
}
|
|
1688
1725
|
get [Symbol.toStringTag]() {
|
|
1689
1726
|
return "Struct";
|
|
@@ -1721,6 +1758,9 @@ var ArrayQueue = class extends Array {
|
|
|
1721
1758
|
}
|
|
1722
1759
|
};
|
|
1723
1760
|
var AsyncQueue = class {
|
|
1761
|
+
_values;
|
|
1762
|
+
_settlers;
|
|
1763
|
+
_closed;
|
|
1724
1764
|
constructor() {
|
|
1725
1765
|
this._values = new ArrayQueue();
|
|
1726
1766
|
this._settlers = new ArrayQueue();
|