@loaders.gl/arrow 4.2.1 → 4.3.0-alpha.2

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.
@@ -5,7 +5,7 @@ import { parseArrowSync } from "./parsers/parse-arrow-sync.js";
5
5
  import { parseArrowInBatches } from "./parsers/parse-arrow-in-batches.js";
6
6
  // __VERSION__ is injected by babel-plugin-version-inline
7
7
  // @ts-ignore TS2304: Cannot find name '__VERSION__'.
8
- const VERSION = typeof "4.2.0" !== 'undefined' ? "4.2.0" : 'latest';
8
+ const VERSION = typeof "4.3.0-alpha.1" !== 'undefined' ? "4.3.0-alpha.1" : 'latest';
9
9
  /** ArrowJS table loader */
10
10
  export const ArrowWorkerLoader = {
11
11
  dataType: null,
@@ -437,6 +437,8 @@
437
437
  case "array-row-table":
438
438
  case "object-row-table":
439
439
  return deduceSchemaFromRows(table.data);
440
+ case "geojson-table":
441
+ return deduceSchemaFromGeoJSON(table.features);
440
442
  case "columnar-table":
441
443
  return deduceSchemaFromColumns(table.data);
442
444
  case "arrow-table":
@@ -463,6 +465,17 @@
463
465
  }
464
466
  return { fields, metadata: {} };
465
467
  }
468
+ function deduceSchemaFromGeoJSON(features) {
469
+ if (!features.length) {
470
+ throw new Error("deduce from empty table");
471
+ }
472
+ const fields = [];
473
+ const row0 = features[0].properties || {};
474
+ for (const [columnName, value] of Object.entries(row0)) {
475
+ fields.push(deduceFieldFromValue(value, columnName));
476
+ }
477
+ return { fields, metadata: {} };
478
+ }
466
479
  function deduceFieldFromColumn(column, name) {
467
480
  if (ArrayBuffer.isView(column)) {
468
481
  const type = getDataTypeFromArray(column);
@@ -12499,7 +12512,7 @@ return true;`);
12499
12512
  }
12500
12513
 
12501
12514
  // src/arrow-loader.ts
12502
- var VERSION = true ? "4.2.0" : "latest";
12515
+ var VERSION = true ? "4.3.0-alpha.1" : "latest";
12503
12516
  var ArrowWorkerLoader = {
12504
12517
  dataType: null,
12505
12518
  batchType: null,
@@ -2,7 +2,7 @@
2
2
  import { encodeArrowSync } from "./lib/encode-arrow.js";
3
3
  // __VERSION__ is injected by babel-plugin-version-inline
4
4
  // @ts-ignore TS2304: Cannot find name '__VERSION__'.
5
- const VERSION = typeof "4.2.0" !== 'undefined' ? "4.2.0" : 'latest';
5
+ const VERSION = typeof "4.3.0-alpha.1" !== 'undefined' ? "4.3.0-alpha.1" : 'latest';
6
6
  /** Apache Arrow writer */
7
7
  export const ArrowWriter = {
8
8
  name: 'Apache Arrow',
package/dist/dist.dev.js CHANGED
@@ -711,6 +711,8 @@ var __exports__ = (() => {
711
711
  case "array-row-table":
712
712
  case "object-row-table":
713
713
  return deduceSchemaFromRows(table.data);
714
+ case "geojson-table":
715
+ return deduceSchemaFromGeoJSON(table.features);
714
716
  case "columnar-table":
715
717
  return deduceSchemaFromColumns(table.data);
716
718
  case "arrow-table":
@@ -737,6 +739,17 @@ var __exports__ = (() => {
737
739
  }
738
740
  return { fields, metadata: {} };
739
741
  }
742
+ function deduceSchemaFromGeoJSON(features) {
743
+ if (!features.length) {
744
+ throw new Error("deduce from empty table");
745
+ }
746
+ const fields = [];
747
+ const row0 = features[0].properties || {};
748
+ for (const [columnName, value] of Object.entries(row0)) {
749
+ fields.push(deduceFieldFromValue(value, columnName));
750
+ }
751
+ return { fields, metadata: {} };
752
+ }
740
753
  function deduceFieldFromColumn(column, name) {
741
754
  if (ArrayBuffer.isView(column)) {
742
755
  const type = getDataTypeFromArray(column);