@loaders.gl/schema 4.2.0-alpha.4 → 4.2.0-alpha.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (134) hide show
  1. package/dist/dist.dev.js +190 -161
  2. package/dist/dist.min.js +9 -0
  3. package/dist/index.cjs +64 -73
  4. package/dist/index.cjs.map +7 -0
  5. package/dist/index.d.ts +30 -30
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +9 -1
  8. package/dist/lib/mesh/convert-mesh.d.ts +2 -2
  9. package/dist/lib/mesh/convert-mesh.d.ts.map +1 -1
  10. package/dist/lib/mesh/convert-mesh.js +33 -18
  11. package/dist/lib/mesh/deduce-mesh-schema.d.ts +2 -2
  12. package/dist/lib/mesh/deduce-mesh-schema.d.ts.map +1 -1
  13. package/dist/lib/mesh/deduce-mesh-schema.js +54 -40
  14. package/dist/lib/mesh/mesh-to-arrow-table.js +46 -1
  15. package/dist/lib/mesh/mesh-utils.d.ts +2 -2
  16. package/dist/lib/mesh/mesh-utils.d.ts.map +1 -1
  17. package/dist/lib/mesh/mesh-utils.js +41 -28
  18. package/dist/lib/table/arrow-api/arrow-like-field.d.ts +1 -1
  19. package/dist/lib/table/arrow-api/arrow-like-field.d.ts.map +1 -1
  20. package/dist/lib/table/arrow-api/arrow-like-field.js +30 -25
  21. package/dist/lib/table/arrow-api/arrow-like-schema.d.ts +2 -2
  22. package/dist/lib/table/arrow-api/arrow-like-schema.d.ts.map +1 -1
  23. package/dist/lib/table/arrow-api/arrow-like-schema.js +69 -56
  24. package/dist/lib/table/arrow-api/arrow-like-table.d.ts +2 -2
  25. package/dist/lib/table/arrow-api/arrow-like-table.d.ts.map +1 -1
  26. package/dist/lib/table/arrow-api/arrow-like-table.js +53 -45
  27. package/dist/lib/table/arrow-api/arrow-like-type.d.ts +3 -3
  28. package/dist/lib/table/arrow-api/arrow-like-type.d.ts.map +1 -1
  29. package/dist/lib/table/arrow-api/arrow-like-type.js +357 -321
  30. package/dist/lib/table/arrow-api/enum.js +97 -48
  31. package/dist/lib/table/arrow-api/get-type-info.d.ts +1 -1
  32. package/dist/lib/table/arrow-api/get-type-info.d.ts.map +1 -1
  33. package/dist/lib/table/arrow-api/get-type-info.js +20 -14
  34. package/dist/lib/table/arrow-api/index.d.ts +4 -4
  35. package/dist/lib/table/arrow-api/index.d.ts.map +1 -1
  36. package/dist/lib/table/arrow-api/index.js +3 -1
  37. package/dist/lib/table/batches/base-table-batch-aggregator.d.ts +3 -3
  38. package/dist/lib/table/batches/base-table-batch-aggregator.d.ts.map +1 -1
  39. package/dist/lib/table/batches/base-table-batch-aggregator.js +53 -52
  40. package/dist/lib/table/batches/columnar-table-batch-aggregator.d.ts +3 -3
  41. package/dist/lib/table/batches/columnar-table-batch-aggregator.d.ts.map +1 -1
  42. package/dist/lib/table/batches/columnar-table-batch-aggregator.js +81 -67
  43. package/dist/lib/table/batches/row-table-batch-aggregator.d.ts +3 -3
  44. package/dist/lib/table/batches/row-table-batch-aggregator.d.ts.map +1 -1
  45. package/dist/lib/table/batches/row-table-batch-aggregator.js +74 -67
  46. package/dist/lib/table/batches/table-batch-aggregator.d.ts +2 -2
  47. package/dist/lib/table/batches/table-batch-aggregator.d.ts.map +1 -1
  48. package/dist/lib/table/batches/table-batch-aggregator.js +3 -1
  49. package/dist/lib/table/batches/table-batch-builder.d.ts +3 -3
  50. package/dist/lib/table/batches/table-batch-builder.d.ts.map +1 -1
  51. package/dist/lib/table/batches/table-batch-builder.js +128 -116
  52. package/dist/lib/table/simple-table/convert-table.d.ts +1 -1
  53. package/dist/lib/table/simple-table/convert-table.d.ts.map +1 -1
  54. package/dist/lib/table/simple-table/convert-table.js +97 -62
  55. package/dist/lib/table/simple-table/data-type.d.ts +2 -2
  56. package/dist/lib/table/simple-table/data-type.d.ts.map +1 -1
  57. package/dist/lib/table/simple-table/data-type.js +79 -76
  58. package/dist/lib/table/simple-table/make-table-from-batches.js +70 -67
  59. package/dist/lib/table/simple-table/make-table.d.ts +1 -1
  60. package/dist/lib/table/simple-table/make-table.d.ts.map +1 -1
  61. package/dist/lib/table/simple-table/make-table.js +85 -41
  62. package/dist/lib/table/simple-table/row-utils.js +38 -31
  63. package/dist/lib/table/simple-table/table-accessors.d.ts +1 -1
  64. package/dist/lib/table/simple-table/table-accessors.d.ts.map +1 -1
  65. package/dist/lib/table/simple-table/table-accessors.js +314 -270
  66. package/dist/lib/table/simple-table/table-column.d.ts +1 -1
  67. package/dist/lib/table/simple-table/table-column.d.ts.map +1 -1
  68. package/dist/lib/table/simple-table/table-column.js +36 -3
  69. package/dist/lib/table/simple-table/table-schema.d.ts +2 -2
  70. package/dist/lib/table/simple-table/table-schema.d.ts.map +1 -1
  71. package/dist/lib/table/simple-table/table-schema.js +69 -56
  72. package/dist/lib/utils/assert.js +6 -4
  73. package/dist/lib/utils/async-queue.js +76 -82
  74. package/dist/types/batch.d.ts +1 -1
  75. package/dist/types/batch.d.ts.map +1 -1
  76. package/dist/types/batch.js +3 -1
  77. package/dist/types/binary-geometries.d.ts +1 -1
  78. package/dist/types/binary-geometries.d.ts.map +1 -1
  79. package/dist/types/binary-geometries.js +3 -1
  80. package/dist/types/category-gis.d.ts +2 -2
  81. package/dist/types/category-gis.d.ts.map +1 -1
  82. package/dist/types/category-gis.js +3 -1
  83. package/dist/types/category-image.js +3 -1
  84. package/dist/types/category-mesh.d.ts +3 -3
  85. package/dist/types/category-mesh.d.ts.map +1 -1
  86. package/dist/types/category-mesh.js +3 -1
  87. package/dist/types/category-table.d.ts +3 -3
  88. package/dist/types/category-table.d.ts.map +1 -1
  89. package/dist/types/category-table.js +3 -1
  90. package/dist/types/category-texture.d.ts +1 -1
  91. package/dist/types/category-texture.d.ts.map +1 -1
  92. package/dist/types/category-texture.js +3 -1
  93. package/dist/types/flat-geometries.js +3 -1
  94. package/dist/types/schema.js +3 -1
  95. package/dist/types/types.js +3 -1
  96. package/package.json +8 -4
  97. package/src/index.ts +1 -1
  98. package/dist/index.js.map +0 -1
  99. package/dist/lib/mesh/convert-mesh.js.map +0 -1
  100. package/dist/lib/mesh/deduce-mesh-schema.js.map +0 -1
  101. package/dist/lib/mesh/mesh-to-arrow-table.js.map +0 -1
  102. package/dist/lib/mesh/mesh-utils.js.map +0 -1
  103. package/dist/lib/table/arrow-api/arrow-like-field.js.map +0 -1
  104. package/dist/lib/table/arrow-api/arrow-like-schema.js.map +0 -1
  105. package/dist/lib/table/arrow-api/arrow-like-table.js.map +0 -1
  106. package/dist/lib/table/arrow-api/arrow-like-type.js.map +0 -1
  107. package/dist/lib/table/arrow-api/enum.js.map +0 -1
  108. package/dist/lib/table/arrow-api/get-type-info.js.map +0 -1
  109. package/dist/lib/table/arrow-api/index.js.map +0 -1
  110. package/dist/lib/table/batches/base-table-batch-aggregator.js.map +0 -1
  111. package/dist/lib/table/batches/columnar-table-batch-aggregator.js.map +0 -1
  112. package/dist/lib/table/batches/row-table-batch-aggregator.js.map +0 -1
  113. package/dist/lib/table/batches/table-batch-aggregator.js.map +0 -1
  114. package/dist/lib/table/batches/table-batch-builder.js.map +0 -1
  115. package/dist/lib/table/simple-table/convert-table.js.map +0 -1
  116. package/dist/lib/table/simple-table/data-type.js.map +0 -1
  117. package/dist/lib/table/simple-table/make-table-from-batches.js.map +0 -1
  118. package/dist/lib/table/simple-table/make-table.js.map +0 -1
  119. package/dist/lib/table/simple-table/row-utils.js.map +0 -1
  120. package/dist/lib/table/simple-table/table-accessors.js.map +0 -1
  121. package/dist/lib/table/simple-table/table-column.js.map +0 -1
  122. package/dist/lib/table/simple-table/table-schema.js.map +0 -1
  123. package/dist/lib/utils/assert.js.map +0 -1
  124. package/dist/lib/utils/async-queue.js.map +0 -1
  125. package/dist/types/batch.js.map +0 -1
  126. package/dist/types/binary-geometries.js.map +0 -1
  127. package/dist/types/category-gis.js.map +0 -1
  128. package/dist/types/category-image.js.map +0 -1
  129. package/dist/types/category-mesh.js.map +0 -1
  130. package/dist/types/category-table.js.map +0 -1
  131. package/dist/types/category-texture.js.map +0 -1
  132. package/dist/types/flat-geometries.js.map +0 -1
  133. package/dist/types/schema.js.map +0 -1
  134. package/dist/types/types.js.map +0 -1
package/dist/dist.dev.js CHANGED
@@ -2,14 +2,19 @@
2
2
  if (typeof exports === 'object' && typeof module === 'object')
3
3
  module.exports = factory();
4
4
  else if (typeof define === 'function' && define.amd) define([], factory);
5
- else if (typeof exports === 'object') exports['loader'] = factory();
6
- else root['loader'] = factory();})(globalThis, function () {
5
+ else if (typeof exports === 'object') exports['loaders'] = factory();
6
+ else root['loaders'] = factory();})(globalThis, function () {
7
7
  "use strict";
8
8
  var __exports__ = (() => {
9
+ var __create = Object.create;
9
10
  var __defProp = Object.defineProperty;
10
11
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
11
12
  var __getOwnPropNames = Object.getOwnPropertyNames;
13
+ var __getProtoOf = Object.getPrototypeOf;
12
14
  var __hasOwnProp = Object.prototype.hasOwnProperty;
15
+ var __commonJS = (cb, mod) => function __require() {
16
+ return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
17
+ };
13
18
  var __export = (target, all) => {
14
19
  for (var name in all)
15
20
  __defProp(target, name, { get: all[name], enumerable: true });
@@ -22,11 +27,27 @@ var __exports__ = (() => {
22
27
  }
23
28
  return to;
24
29
  };
30
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
31
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
32
+ // If the importer is in node compatibility mode or this is not an ESM
33
+ // file that has been converted to a CommonJS file using a Babel-
34
+ // compatible transform (i.e. "__esModule" has not been set), then set
35
+ // "default" to the CommonJS "module.exports" for node compatibility.
36
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
37
+ mod
38
+ ));
25
39
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
26
40
 
27
- // src/index.ts
28
- var src_exports = {};
29
- __export(src_exports, {
41
+ // external-global-plugin:@loaders.gl/core
42
+ var require_core = __commonJS({
43
+ "external-global-plugin:@loaders.gl/core"(exports, module) {
44
+ module.exports = globalThis.loaders;
45
+ }
46
+ });
47
+
48
+ // bundle.ts
49
+ var bundle_exports = {};
50
+ __export(bundle_exports, {
30
51
  ArrowLikeDataType: () => DataType,
31
52
  ArrowLikeField: () => ArrowLikeField,
32
53
  ArrowLikeSchema: () => ArrowLikeSchema,
@@ -95,15 +116,16 @@ var __exports__ = (() => {
95
116
  makeTableFromBatches: () => makeTableFromBatches,
96
117
  makeTableFromData: () => makeTableFromData
97
118
  });
119
+ __reExport(bundle_exports, __toESM(require_core(), 1));
98
120
 
99
121
  // src/lib/table/batches/base-table-batch-aggregator.ts
100
122
  var DEFAULT_ROW_COUNT = 100;
101
123
  var BaseTableBatchAggregator = class {
102
- length = 0;
103
- rows = null;
104
- cursor = 0;
105
- _headers = [];
106
124
  constructor(schema, options) {
125
+ this.length = 0;
126
+ this.rows = null;
127
+ this.cursor = 0;
128
+ this._headers = [];
107
129
  this.options = options;
108
130
  this.schema = schema;
109
131
  if (!Array.isArray(schema)) {
@@ -199,12 +221,12 @@ var __exports__ = (() => {
199
221
  // src/lib/table/batches/row-table-batch-aggregator.ts
200
222
  var DEFAULT_ROW_COUNT2 = 100;
201
223
  var RowTableBatchAggregator = class {
202
- length = 0;
203
- objectRows = null;
204
- arrayRows = null;
205
- cursor = 0;
206
- _headers = null;
207
224
  constructor(schema, options) {
225
+ this.length = 0;
226
+ this.objectRows = null;
227
+ this.arrayRows = null;
228
+ this.cursor = 0;
229
+ this._headers = null;
208
230
  this.options = options;
209
231
  this.schema = schema;
210
232
  if (schema) {
@@ -264,6 +286,7 @@ var __exports__ = (() => {
264
286
  batchType: "data",
265
287
  data: rows,
266
288
  length: this.length,
289
+ // @ts-expect-error we should infer a schema
267
290
  schema: this.schema,
268
291
  cursor: this.cursor
269
292
  };
@@ -273,10 +296,10 @@ var __exports__ = (() => {
273
296
  // src/lib/table/batches/columnar-table-batch-aggregator.ts
274
297
  var DEFAULT_ROW_COUNT3 = 100;
275
298
  var ColumnarTableBatchAggregator = class {
276
- length = 0;
277
- allocated = 0;
278
- columns = {};
279
299
  constructor(schema, options) {
300
+ this.length = 0;
301
+ this.allocated = 0;
302
+ this.columns = {};
280
303
  this.schema = schema;
281
304
  this._reallocateColumns();
282
305
  }
@@ -317,6 +340,7 @@ var __exports__ = (() => {
317
340
  };
318
341
  return batch;
319
342
  }
343
+ // HELPERS
320
344
  _reallocateColumns() {
321
345
  if (this.length < this.allocated) {
322
346
  return;
@@ -356,20 +380,17 @@ var __exports__ = (() => {
356
380
  };
357
381
  var ERR_MESSAGE = "TableBatchBuilder";
358
382
  var TableBatchBuilder = class {
359
- aggregator = null;
360
- batchCount = 0;
361
- bytesUsed = 0;
362
- isChunkComplete = false;
363
- lastBatchEmittedMs = Date.now();
364
- totalLength = 0;
365
- totalBytes = 0;
366
- rowBytes = 0;
367
383
  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;
368
392
  this.schema = schema;
369
- this.options = {
370
- ...DEFAULT_OPTIONS,
371
- ...options
372
- };
393
+ this.options = { ...DEFAULT_OPTIONS, ...options };
373
394
  }
374
395
  limitReached() {
375
396
  if (Boolean(this.options?.limit) && this.totalLength >= this.options.limit) {
@@ -380,6 +401,7 @@ var __exports__ = (() => {
380
401
  }
381
402
  return false;
382
403
  }
404
+ /** @deprecated Use addArrayRow or addObjectRow */
383
405
  addRow(row) {
384
406
  if (this.limitReached()) {
385
407
  return;
@@ -393,6 +415,7 @@ var __exports__ = (() => {
393
415
  this.addObjectRow(row);
394
416
  }
395
417
  }
418
+ /** Add one row to the batch */
396
419
  addArrayRow(row) {
397
420
  if (!this.aggregator) {
398
421
  const TableBatchType = this._getTableBatchType();
@@ -400,6 +423,7 @@ var __exports__ = (() => {
400
423
  }
401
424
  this.aggregator.addArrayRow(row);
402
425
  }
426
+ /** Add one row to the batch */
403
427
  addObjectRow(row) {
404
428
  if (!this.aggregator) {
405
429
  const TableBatchType = this._getTableBatchType();
@@ -407,6 +431,7 @@ var __exports__ = (() => {
407
431
  }
408
432
  this.aggregator.addObjectRow(row);
409
433
  }
434
+ /** Mark an incoming raw memory chunk has completed */
410
435
  chunkComplete(chunk) {
411
436
  if (chunk instanceof ArrayBuffer) {
412
437
  this.bytesUsed += chunk.byteLength;
@@ -422,6 +447,7 @@ var __exports__ = (() => {
422
447
  getFinalBatch(options) {
423
448
  return this._getBatch(options);
424
449
  }
450
+ // INTERNAL
425
451
  _estimateRowMB(row) {
426
452
  return Array.isArray(row) ? row.length * 8 : Object.keys(row).length * 8;
427
453
  }
@@ -443,6 +469,9 @@ var __exports__ = (() => {
443
469
  this.lastBatchEmittedMs = Date.now();
444
470
  return true;
445
471
  }
472
+ /**
473
+ * bytesUsed can be set via chunkComplete or via getBatch*
474
+ */
446
475
  _getBatch(options) {
447
476
  if (!this.aggregator) {
448
477
  return null;
@@ -549,7 +578,9 @@ var __exports__ = (() => {
549
578
  return column[rowIndex];
550
579
  case "arrow-table":
551
580
  const arrowTable = table.data;
552
- const arrowColumnIndex = arrowTable.schema.fields.findIndex((field) => field.name === columnName);
581
+ const arrowColumnIndex = arrowTable.schema.fields.findIndex(
582
+ (field) => field.name === columnName
583
+ );
553
584
  return arrowTable.getChildAt(arrowColumnIndex)?.get(rowIndex);
554
585
  default:
555
586
  throw new Error("todo");
@@ -731,9 +762,12 @@ var __exports__ = (() => {
731
762
  // src/lib/table/arrow-api/arrow-like-schema.ts
732
763
  var ArrowLikeSchema = class {
733
764
  constructor(fields, metadata = /* @__PURE__ */ new Map()) {
734
- this.fields = fields.map((field) => new ArrowLikeField(field.name, field.type, field.nullable, field.metadata));
765
+ this.fields = fields.map(
766
+ (field) => new ArrowLikeField(field.name, field.type, field.nullable, field.metadata)
767
+ );
735
768
  this.metadata = metadata instanceof Map ? metadata : new Map(Object.entries(metadata));
736
769
  }
770
+ // TODO - arrow only seems to compare fields, not metadata
737
771
  compareTo(other) {
738
772
  if (this.metadata !== other.metadata) {
739
773
  return false;
@@ -804,22 +838,13 @@ var __exports__ = (() => {
804
838
  function getDataTypeFromArray(array) {
805
839
  let type = getDataTypeFromTypedArray(array);
806
840
  if (type !== "null") {
807
- return {
808
- type,
809
- nullable: false
810
- };
841
+ return { type, nullable: false };
811
842
  }
812
843
  if (array.length > 0) {
813
844
  type = getDataTypeFromValue(array[0]);
814
- return {
815
- type,
816
- nullable: true
817
- };
845
+ return { type, nullable: true };
818
846
  }
819
- return {
820
- type: "null",
821
- nullable: true
822
- };
847
+ return { type: "null", nullable: true };
823
848
  }
824
849
  function getDataTypeFromTypedArray(array) {
825
850
  switch (array.constructor) {
@@ -889,10 +914,7 @@ var __exports__ = (() => {
889
914
  const field = deduceFieldFromColumn(column, columnName);
890
915
  fields.push(field);
891
916
  }
892
- return {
893
- fields,
894
- metadata: {}
895
- };
917
+ return { fields, metadata: {} };
896
918
  }
897
919
  function deduceSchemaFromRows(rowTable) {
898
920
  if (!rowTable.length) {
@@ -903,10 +925,7 @@ var __exports__ = (() => {
903
925
  for (const [columnName, value] of Object.entries(row0)) {
904
926
  fields.push(deduceFieldFromValue(value, columnName));
905
927
  }
906
- return {
907
- fields,
908
- metadata: {}
909
- };
928
+ return { fields, metadata: {} };
910
929
  }
911
930
  function deduceFieldFromColumn(column, name) {
912
931
  if (ArrayBuffer.isView(column)) {
@@ -915,6 +934,7 @@ var __exports__ = (() => {
915
934
  name,
916
935
  type: type.type || "null",
917
936
  nullable: type.nullable
937
+ // metadata: {}
918
938
  };
919
939
  }
920
940
  if (Array.isArray(column) && column.length > 0) {
@@ -924,6 +944,7 @@ var __exports__ = (() => {
924
944
  name,
925
945
  type,
926
946
  nullable: true
947
+ // metadata: {},
927
948
  };
928
949
  }
929
950
  throw new Error("empty table");
@@ -934,6 +955,7 @@ var __exports__ = (() => {
934
955
  name,
935
956
  type,
936
957
  nullable: true
958
+ // metadata: {}
937
959
  };
938
960
  }
939
961
 
@@ -962,11 +984,11 @@ var __exports__ = (() => {
962
984
  constructor(table) {
963
985
  const schema = table.schema || deduceTableSchema(table);
964
986
  this.schema = new ArrowLikeSchema(schema.fields, schema.metadata);
965
- this.table = {
966
- ...table,
967
- schema
968
- };
987
+ this.table = { ...table, schema };
969
988
  }
989
+ // get schema() {
990
+ // return this.table.schema;
991
+ // }
970
992
  get data() {
971
993
  return this.table.shape === "geojson-table" ? this.table.features : this.table.data;
972
994
  }
@@ -979,6 +1001,9 @@ var __exports__ = (() => {
979
1001
  getChild(columnName) {
980
1002
  return new ArrowLikeVector(this.table, columnName);
981
1003
  }
1004
+ // getChildAt(columnIndex: number): ArrowLikeVector {
1005
+ // return
1006
+ // }
982
1007
  };
983
1008
 
984
1009
  // src/lib/table/simple-table/make-table.ts
@@ -986,31 +1011,19 @@ var __exports__ = (() => {
986
1011
  let table;
987
1012
  switch (getTableShapeFromData(data)) {
988
1013
  case "array-row-table":
989
- table = {
990
- shape: "array-row-table",
991
- data
992
- };
1014
+ table = { shape: "array-row-table", data };
993
1015
  break;
994
1016
  case "object-row-table":
995
- table = {
996
- shape: "object-row-table",
997
- data
998
- };
1017
+ table = { shape: "object-row-table", data };
999
1018
  break;
1000
1019
  case "columnar-table":
1001
- table = {
1002
- shape: "columnar-table",
1003
- data
1004
- };
1020
+ table = { shape: "columnar-table", data };
1005
1021
  break;
1006
1022
  default:
1007
1023
  throw new Error("table");
1008
1024
  }
1009
1025
  const schema = deduceTableSchema(table);
1010
- return {
1011
- ...table,
1012
- schema
1013
- };
1026
+ return { ...table, schema };
1014
1027
  }
1015
1028
  function getTableShapeFromData(data) {
1016
1029
  if (Array.isArray(data)) {
@@ -1033,11 +1046,7 @@ var __exports__ = (() => {
1033
1046
 
1034
1047
  // src/lib/table/simple-table/make-table-from-batches.ts
1035
1048
  function makeBatchFromTable(table) {
1036
- return {
1037
- ...table,
1038
- length: getTableLength(table),
1039
- batchType: "data"
1040
- };
1049
+ return { ...table, length: getTableLength(table), batchType: "data" };
1041
1050
  }
1042
1051
  async function makeTableFromBatches(batchIterator) {
1043
1052
  let arrayRows;
@@ -1081,24 +1090,11 @@ var __exports__ = (() => {
1081
1090
  }
1082
1091
  switch (shape) {
1083
1092
  case "array-row-table":
1084
- return {
1085
- shape: "array-row-table",
1086
- data: arrayRows,
1087
- schema
1088
- };
1093
+ return { shape: "array-row-table", data: arrayRows, schema };
1089
1094
  case "object-row-table":
1090
- return {
1091
- shape: "object-row-table",
1092
- data: objectRows,
1093
- schema
1094
- };
1095
+ return { shape: "object-row-table", data: objectRows, schema };
1095
1096
  case "geojson-table":
1096
- return {
1097
- shape: "geojson-table",
1098
- type: "FeatureCollection",
1099
- features,
1100
- schema
1101
- };
1097
+ return { shape: "geojson-table", type: "FeatureCollection", features, schema };
1102
1098
  default:
1103
1099
  return null;
1104
1100
  }
@@ -1136,10 +1132,7 @@ var __exports__ = (() => {
1136
1132
  const schema = table.schema || deduceTableSchema(table);
1137
1133
  const fields = table.schema?.fields || [];
1138
1134
  if (table.shape === "columnar-table") {
1139
- return {
1140
- ...table,
1141
- schema
1142
- };
1135
+ return { ...table, schema };
1143
1136
  }
1144
1137
  const length = getTableLength(table);
1145
1138
  const columns = {};
@@ -1218,30 +1211,23 @@ var __exports__ = (() => {
1218
1211
  maxY = y > maxY ? y : maxY;
1219
1212
  maxZ = z > maxZ ? z : maxZ;
1220
1213
  }
1221
- return [[minX, minY, minZ], [maxX, maxY, maxZ]];
1214
+ return [
1215
+ [minX, minY, minZ],
1216
+ [maxX, maxY, maxZ]
1217
+ ];
1222
1218
  }
1223
1219
 
1224
1220
  // src/lib/mesh/deduce-mesh-schema.ts
1225
1221
  function deduceMeshSchema(attributes, metadata = {}) {
1226
1222
  const fields = deduceMeshFields(attributes);
1227
- return {
1228
- fields,
1229
- metadata
1230
- };
1223
+ return { fields, metadata };
1231
1224
  }
1232
1225
  function deduceMeshField(name, attribute, optionalMetadata) {
1233
1226
  const type = getDataTypeFromTypedArray(attribute.value);
1234
1227
  const metadata = optionalMetadata ? optionalMetadata : makeMeshAttributeMetadata(attribute);
1235
1228
  return {
1236
1229
  name,
1237
- type: {
1238
- type: "fixed-size-list",
1239
- listSize: attribute.size,
1240
- children: [{
1241
- name: "value",
1242
- type
1243
- }]
1244
- },
1230
+ type: { type: "fixed-size-list", listSize: attribute.size, children: [{ name: "value", type }] },
1245
1231
  nullable: false,
1246
1232
  metadata
1247
1233
  };
@@ -1269,7 +1255,7 @@ var __exports__ = (() => {
1269
1255
  }
1270
1256
 
1271
1257
  // src/lib/table/arrow-api/enum.ts
1272
- var Type = function(Type2) {
1258
+ var Type = /* @__PURE__ */ ((Type2) => {
1273
1259
  Type2[Type2["NONE"] = 0] = "NONE";
1274
1260
  Type2[Type2["Null"] = 1] = "Null";
1275
1261
  Type2[Type2["Int"] = 2] = "Int";
@@ -1315,74 +1301,78 @@ var __exports__ = (() => {
1315
1301
  Type2[Type2["IntervalDayTime"] = -25] = "IntervalDayTime";
1316
1302
  Type2[Type2["IntervalYearMonth"] = -26] = "IntervalYearMonth";
1317
1303
  return Type2;
1318
- }({});
1304
+ })(Type || {});
1319
1305
 
1320
1306
  // src/lib/table/arrow-api/arrow-like-type.ts
1321
1307
  var DataType = class {
1322
1308
  static isNull(x) {
1323
- return x && x.typeId === Type.Null;
1309
+ return x && x.typeId === 1 /* Null */;
1324
1310
  }
1325
1311
  static isInt(x) {
1326
- return x && x.typeId === Type.Int;
1312
+ return x && x.typeId === 2 /* Int */;
1327
1313
  }
1328
1314
  static isFloat(x) {
1329
- return x && x.typeId === Type.Float;
1315
+ return x && x.typeId === 3 /* Float */;
1330
1316
  }
1331
1317
  static isBinary(x) {
1332
- return x && x.typeId === Type.Binary;
1318
+ return x && x.typeId === 4 /* Binary */;
1333
1319
  }
1334
1320
  static isUtf8(x) {
1335
- return x && x.typeId === Type.Utf8;
1321
+ return x && x.typeId === 5 /* Utf8 */;
1336
1322
  }
1337
1323
  static isBool(x) {
1338
- return x && x.typeId === Type.Bool;
1324
+ return x && x.typeId === 6 /* Bool */;
1339
1325
  }
1340
1326
  static isDecimal(x) {
1341
- return x && x.typeId === Type.Decimal;
1327
+ return x && x.typeId === 7 /* Decimal */;
1342
1328
  }
1343
1329
  static isDate(x) {
1344
- return x && x.typeId === Type.Date;
1330
+ return x && x.typeId === 8 /* Date */;
1345
1331
  }
1346
1332
  static isTime(x) {
1347
- return x && x.typeId === Type.Time;
1333
+ return x && x.typeId === 9 /* Time */;
1348
1334
  }
1349
1335
  static isTimestamp(x) {
1350
- return x && x.typeId === Type.Timestamp;
1336
+ return x && x.typeId === 10 /* Timestamp */;
1351
1337
  }
1352
1338
  static isInterval(x) {
1353
- return x && x.typeId === Type.Interval;
1339
+ return x && x.typeId === 11 /* Interval */;
1354
1340
  }
1355
1341
  static isList(x) {
1356
- return x && x.typeId === Type.List;
1342
+ return x && x.typeId === 12 /* List */;
1357
1343
  }
1358
1344
  static isStruct(x) {
1359
- return x && x.typeId === Type.Struct;
1345
+ return x && x.typeId === 13 /* Struct */;
1360
1346
  }
1361
1347
  static isUnion(x) {
1362
- return x && x.typeId === Type.Union;
1348
+ return x && x.typeId === 14 /* Union */;
1363
1349
  }
1364
1350
  static isFixedSizeBinary(x) {
1365
- return x && x.typeId === Type.FixedSizeBinary;
1351
+ return x && x.typeId === 15 /* FixedSizeBinary */;
1366
1352
  }
1367
1353
  static isFixedSizeList(x) {
1368
- return x && x.typeId === Type.FixedSizeList;
1354
+ return x && x.typeId === 16 /* FixedSizeList */;
1369
1355
  }
1370
1356
  static isMap(x) {
1371
- return x && x.typeId === Type.Map;
1357
+ return x && x.typeId === 17 /* Map */;
1372
1358
  }
1373
1359
  static isDictionary(x) {
1374
- return x && x.typeId === Type.Dictionary;
1360
+ return x && x.typeId === -1 /* Dictionary */;
1375
1361
  }
1376
1362
  get typeId() {
1377
- return Type.NONE;
1363
+ return 0 /* NONE */;
1378
1364
  }
1365
+ // get ArrayType(): AnyArrayType {
1366
+ // return Int8Array;
1367
+ // }
1368
+ // get ArrayType() { return Array; }
1379
1369
  compareTo(other) {
1380
1370
  return this === other;
1381
1371
  }
1382
1372
  };
1383
1373
  var Null = class extends DataType {
1384
1374
  get typeId() {
1385
- return Type.Null;
1375
+ return 1 /* Null */;
1386
1376
  }
1387
1377
  get [Symbol.toStringTag]() {
1388
1378
  return "Null";
@@ -1393,8 +1383,11 @@ var __exports__ = (() => {
1393
1383
  };
1394
1384
  var Bool = class extends DataType {
1395
1385
  get typeId() {
1396
- return Type.Bool;
1386
+ return 6 /* Bool */;
1397
1387
  }
1388
+ // get ArrayType() {
1389
+ // return Uint8Array;
1390
+ // }
1398
1391
  get [Symbol.toStringTag]() {
1399
1392
  return "Bool";
1400
1393
  }
@@ -1409,8 +1402,22 @@ var __exports__ = (() => {
1409
1402
  this.bitWidth = bitWidth;
1410
1403
  }
1411
1404
  get typeId() {
1412
- return Type.Int;
1413
- }
1405
+ return 2 /* Int */;
1406
+ }
1407
+ // get ArrayType() {
1408
+ // switch (this.bitWidth) {
1409
+ // case 8:
1410
+ // return this.isSigned ? Int8Array : Uint8Array;
1411
+ // case 16:
1412
+ // return this.isSigned ? Int16Array : Uint16Array;
1413
+ // case 32:
1414
+ // return this.isSigned ? Int32Array : Uint32Array;
1415
+ // case 64:
1416
+ // return this.isSigned ? Int32Array : Uint32Array;
1417
+ // default:
1418
+ // throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`);
1419
+ // }
1420
+ // }
1414
1421
  get [Symbol.toStringTag]() {
1415
1422
  return "Int";
1416
1423
  }
@@ -1469,8 +1476,20 @@ var __exports__ = (() => {
1469
1476
  this.precision = precision;
1470
1477
  }
1471
1478
  get typeId() {
1472
- return Type.Float;
1473
- }
1479
+ return 3 /* Float */;
1480
+ }
1481
+ // get ArrayType() {
1482
+ // switch (this.precision) {
1483
+ // case Precision.HALF:
1484
+ // return Uint16Array;
1485
+ // case Precision.SINGLE:
1486
+ // return Float32Array;
1487
+ // case Precision.DOUBLE:
1488
+ // return Float64Array;
1489
+ // default:
1490
+ // throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`);
1491
+ // }
1492
+ // }
1474
1493
  get [Symbol.toStringTag]() {
1475
1494
  return "Float";
1476
1495
  }
@@ -1498,7 +1517,7 @@ var __exports__ = (() => {
1498
1517
  super();
1499
1518
  }
1500
1519
  get typeId() {
1501
- return Type.Binary;
1520
+ return 4 /* Binary */;
1502
1521
  }
1503
1522
  toString() {
1504
1523
  return "Binary";
@@ -1509,8 +1528,11 @@ var __exports__ = (() => {
1509
1528
  };
1510
1529
  var Utf8 = class extends DataType {
1511
1530
  get typeId() {
1512
- return Type.Utf8;
1531
+ return 5 /* Utf8 */;
1513
1532
  }
1533
+ // get ArrayType() {
1534
+ // return Uint8Array;
1535
+ // }
1514
1536
  get [Symbol.toStringTag]() {
1515
1537
  return "Utf8";
1516
1538
  }
@@ -1528,8 +1550,11 @@ var __exports__ = (() => {
1528
1550
  this.unit = unit;
1529
1551
  }
1530
1552
  get typeId() {
1531
- return Type.Date;
1553
+ return 8 /* Date */;
1532
1554
  }
1555
+ // get ArrayType() {
1556
+ // return Int32Array;
1557
+ // }
1533
1558
  get [Symbol.toStringTag]() {
1534
1559
  return "Date";
1535
1560
  }
@@ -1560,7 +1585,7 @@ var __exports__ = (() => {
1560
1585
  this.bitWidth = bitWidth;
1561
1586
  }
1562
1587
  get typeId() {
1563
- return Type.Time;
1588
+ return 9 /* Time */;
1564
1589
  }
1565
1590
  toString() {
1566
1591
  return `Time${this.bitWidth}<${TimeUnit[this.unit]}>`;
@@ -1568,6 +1593,9 @@ var __exports__ = (() => {
1568
1593
  get [Symbol.toStringTag]() {
1569
1594
  return "Time";
1570
1595
  }
1596
+ // get ArrayType() {
1597
+ // return Int32Array;
1598
+ // }
1571
1599
  };
1572
1600
  var TimeSecond = class extends Time {
1573
1601
  constructor() {
@@ -1586,8 +1614,11 @@ var __exports__ = (() => {
1586
1614
  this.timezone = timezone;
1587
1615
  }
1588
1616
  get typeId() {
1589
- return Type.Timestamp;
1617
+ return 10 /* Timestamp */;
1590
1618
  }
1619
+ // get ArrayType() {
1620
+ // return Int32Array;
1621
+ // }
1591
1622
  get [Symbol.toStringTag]() {
1592
1623
  return "Timestamp";
1593
1624
  }
@@ -1625,8 +1656,11 @@ var __exports__ = (() => {
1625
1656
  this.unit = unit;
1626
1657
  }
1627
1658
  get typeId() {
1628
- return Type.Interval;
1659
+ return 11 /* Interval */;
1629
1660
  }
1661
+ // get ArrayType() {
1662
+ // return Int32Array;
1663
+ // }
1630
1664
  get [Symbol.toStringTag]() {
1631
1665
  return "Interval";
1632
1666
  }
@@ -1651,7 +1685,7 @@ var __exports__ = (() => {
1651
1685
  this.children = [child];
1652
1686
  }
1653
1687
  get typeId() {
1654
- return Type.FixedSizeList;
1688
+ return 16 /* FixedSizeList */;
1655
1689
  }
1656
1690
  get valueType() {
1657
1691
  return this.children[0].type;
@@ -1659,6 +1693,9 @@ var __exports__ = (() => {
1659
1693
  get valueField() {
1660
1694
  return this.children[0];
1661
1695
  }
1696
+ // get ArrayType() {
1697
+ // return this.valueType.ArrayType;
1698
+ // }
1662
1699
  get [Symbol.toStringTag]() {
1663
1700
  return "FixedSizeList";
1664
1701
  }
@@ -1672,7 +1709,7 @@ var __exports__ = (() => {
1672
1709
  this.children = children;
1673
1710
  }
1674
1711
  get typeId() {
1675
- return Type.Struct;
1712
+ return 13 /* Struct */;
1676
1713
  }
1677
1714
  toString() {
1678
1715
  return `Struct<{${this.children.map((f) => `${f.name}:${f.type}`).join(", ")}}>`;
@@ -1720,9 +1757,7 @@ var __exports__ = (() => {
1720
1757
  }
1721
1758
  close() {
1722
1759
  while (this._settlers.length > 0) {
1723
- this._settlers.dequeue().resolve({
1724
- done: true
1725
- });
1760
+ this._settlers.dequeue().resolve({ done: true });
1726
1761
  }
1727
1762
  this._closed = true;
1728
1763
  }
@@ -1741,41 +1776,35 @@ var __exports__ = (() => {
1741
1776
  if (value instanceof Error) {
1742
1777
  settler.reject(value);
1743
1778
  } else {
1744
- settler.resolve({
1745
- value
1746
- });
1779
+ settler.resolve({ value });
1747
1780
  }
1748
1781
  } else {
1749
1782
  this._values.enqueue(value);
1750
1783
  }
1751
1784
  }
1785
+ /**
1786
+ * @returns a Promise for an IteratorResult
1787
+ */
1752
1788
  next() {
1753
1789
  if (this._values.length > 0) {
1754
1790
  const value = this._values.dequeue();
1755
1791
  if (value instanceof Error) {
1756
1792
  return Promise.reject(value);
1757
1793
  }
1758
- return Promise.resolve({
1759
- value
1760
- });
1794
+ return Promise.resolve({ value });
1761
1795
  }
1762
1796
  if (this._closed) {
1763
1797
  if (this._settlers.length > 0) {
1764
1798
  throw new Error("Illegal internal state");
1765
1799
  }
1766
- return Promise.resolve({
1767
- done: true
1768
- });
1800
+ return Promise.resolve({ done: true });
1769
1801
  }
1770
1802
  return new Promise((resolve, reject) => {
1771
- this._settlers.enqueue({
1772
- resolve,
1773
- reject
1774
- });
1803
+ this._settlers.enqueue({ resolve, reject });
1775
1804
  });
1776
1805
  }
1777
1806
  };
1778
- return __toCommonJS(src_exports);
1807
+ return __toCommonJS(bundle_exports);
1779
1808
  })();
1780
1809
  return __exports__;
1781
1810
  });