@loaders.gl/schema 4.0.1 → 4.0.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.
Files changed (50) hide show
  1. package/dist/dist.dev.js +76 -1
  2. package/dist/index.cjs +60 -1
  3. package/dist/index.d.ts +1 -0
  4. package/dist/index.d.ts.map +1 -1
  5. package/dist/index.js +1 -0
  6. package/dist/index.js.map +1 -1
  7. package/dist/lib/mesh/mesh-to-arrow-table.js.map +1 -1
  8. package/dist/lib/table/arrow-api/arrow-like-type.d.ts.map +1 -1
  9. package/dist/lib/table/arrow-api/arrow-like-type.js.map +1 -1
  10. package/dist/lib/table/arrow-api/enum.d.ts.map +1 -1
  11. package/dist/lib/table/arrow-api/enum.js.map +1 -1
  12. package/dist/lib/table/simple-table/convert-table.d.ts.map +1 -1
  13. package/dist/lib/table/simple-table/convert-table.js +2 -2
  14. package/dist/lib/table/simple-table/convert-table.js.map +1 -1
  15. package/dist/lib/table/simple-table/make-table-from-batches.d.ts +17 -0
  16. package/dist/lib/table/simple-table/make-table-from-batches.d.ts.map +1 -0
  17. package/dist/lib/table/simple-table/make-table-from-batches.js +73 -0
  18. package/dist/lib/table/simple-table/make-table-from-batches.js.map +1 -0
  19. package/dist/lib/table/simple-table/make-table.d.ts.map +1 -1
  20. package/dist/lib/table/simple-table/make-table.js.map +1 -1
  21. package/dist/lib/table/simple-table/row-utils.d.ts.map +1 -1
  22. package/dist/lib/table/simple-table/row-utils.js.map +1 -1
  23. package/dist/lib/table/simple-table/table-schema.d.ts.map +1 -1
  24. package/dist/lib/table/simple-table/table-schema.js.map +1 -1
  25. package/dist/types/batch.d.ts +1 -1
  26. package/dist/types/batch.d.ts.map +1 -1
  27. package/dist/types/batch.js.map +1 -1
  28. package/dist/types/binary-geometries.d.ts.map +1 -1
  29. package/dist/types/binary-geometries.js.map +1 -1
  30. package/dist/types/category-gis.d.ts.map +1 -1
  31. package/dist/types/category-gis.js.map +1 -1
  32. package/dist/types/category-image.d.ts.map +1 -1
  33. package/dist/types/category-image.js.map +1 -1
  34. package/dist/types/types.d.ts.map +1 -1
  35. package/dist/types/types.js.map +1 -1
  36. package/package.json +2 -2
  37. package/src/index.ts +7 -0
  38. package/src/lib/mesh/mesh-to-arrow-table.ts +3 -0
  39. package/src/lib/table/arrow-api/arrow-like-type.ts +3 -0
  40. package/src/lib/table/arrow-api/enum.ts +3 -0
  41. package/src/lib/table/simple-table/convert-table.ts +2 -1
  42. package/src/lib/table/simple-table/make-table-from-batches.ts +93 -0
  43. package/src/lib/table/simple-table/make-table.ts +1 -0
  44. package/src/lib/table/simple-table/row-utils.ts +3 -0
  45. package/src/lib/table/simple-table/table-schema.ts +3 -0
  46. package/src/types/batch.ts +1 -1
  47. package/src/types/binary-geometries.ts +3 -0
  48. package/src/types/category-gis.ts +3 -0
  49. package/src/types/category-image.ts +3 -0
  50. package/src/types/types.ts +3 -0
package/dist/dist.dev.js CHANGED
@@ -87,9 +87,11 @@ var __exports__ = (() => {
87
87
  getTableRowShape: () => getTableRowShape,
88
88
  getTypeInfo: () => getTypeInfo,
89
89
  makeArrayRowIterator: () => makeArrayRowIterator,
90
+ makeBatchesFromTable: () => makeBatchesFromTable,
90
91
  makeMeshAttributeMetadata: () => makeMeshAttributeMetadata,
91
92
  makeObjectRowIterator: () => makeObjectRowIterator,
92
93
  makeRowIterator: () => makeRowIterator,
94
+ makeTableFromBatches: () => makeTableFromBatches,
93
95
  makeTableFromData: () => makeTableFromData
94
96
  });
95
97
 
@@ -995,6 +997,79 @@ var __exports__ = (() => {
995
997
  throw new Error("invalid table");
996
998
  }
997
999
 
1000
+ // src/lib/table/simple-table/make-table-from-batches.ts
1001
+ function* makeBatchesFromTable(table) {
1002
+ yield {
1003
+ ...table,
1004
+ length: getTableLength(table),
1005
+ batchType: "data"
1006
+ };
1007
+ }
1008
+ async function makeTableFromBatches(batchIterator) {
1009
+ let arrayRows;
1010
+ let objectRows;
1011
+ let features;
1012
+ let shape = null;
1013
+ let schema;
1014
+ for await (const batch of batchIterator) {
1015
+ shape = shape || batch.shape;
1016
+ schema = schema || batch.schema;
1017
+ switch (batch.shape) {
1018
+ case "array-row-table":
1019
+ arrayRows = arrayRows || [];
1020
+ for (let rowIndex = 0; rowIndex < getTableLength(batch); rowIndex++) {
1021
+ const row = batch.data[rowIndex];
1022
+ arrayRows.push(row);
1023
+ }
1024
+ break;
1025
+ case "object-row-table":
1026
+ objectRows = objectRows || [];
1027
+ for (let rowIndex = 0; rowIndex < getTableLength(batch); rowIndex++) {
1028
+ const row = batch.data[rowIndex];
1029
+ objectRows.push(row);
1030
+ }
1031
+ break;
1032
+ case "geojson-table":
1033
+ features = features || [];
1034
+ for (let rowIndex = 0; rowIndex < getTableLength(batch); rowIndex++) {
1035
+ const row = batch.features[rowIndex];
1036
+ features.push(row);
1037
+ }
1038
+ break;
1039
+ case "columnar-table":
1040
+ case "arrow-table":
1041
+ default:
1042
+ throw new Error("shape");
1043
+ }
1044
+ }
1045
+ if (!shape) {
1046
+ return null;
1047
+ }
1048
+ switch (shape) {
1049
+ case "array-row-table":
1050
+ return {
1051
+ shape: "array-row-table",
1052
+ data: arrayRows,
1053
+ schema
1054
+ };
1055
+ case "object-row-table":
1056
+ return {
1057
+ shape: "object-row-table",
1058
+ data: objectRows,
1059
+ schema
1060
+ };
1061
+ case "geojson-table":
1062
+ return {
1063
+ shape: "geojson-table",
1064
+ type: "FeatureCollection",
1065
+ features,
1066
+ schema
1067
+ };
1068
+ default:
1069
+ return null;
1070
+ }
1071
+ }
1072
+
998
1073
  // src/lib/table/simple-table/table-column.ts
999
1074
  function makeColumnFromField(field, length) {
1000
1075
  const ArrayType = getArrayTypeFromDataType(field.type, field.nullable);
@@ -1017,7 +1092,7 @@ var __exports__ = (() => {
1017
1092
  }
1018
1093
  }
1019
1094
  function makeArrowTable(table) {
1020
- const _makeArrowTable = globalThis.__luma?._makeArrowTable;
1095
+ const _makeArrowTable = globalThis.__loaders?._makeArrowTable;
1021
1096
  if (!_makeArrowTable) {
1022
1097
  throw new Error("");
1023
1098
  }
package/dist/index.cjs CHANGED
@@ -80,9 +80,11 @@ __export(src_exports, {
80
80
  getTableRowShape: () => getTableRowShape,
81
81
  getTypeInfo: () => getTypeInfo,
82
82
  makeArrayRowIterator: () => makeArrayRowIterator,
83
+ makeBatchesFromTable: () => makeBatchesFromTable,
83
84
  makeMeshAttributeMetadata: () => makeMeshAttributeMetadata,
84
85
  makeObjectRowIterator: () => makeObjectRowIterator,
85
86
  makeRowIterator: () => makeRowIterator,
87
+ makeTableFromBatches: () => makeTableFromBatches,
86
88
  makeTableFromData: () => makeTableFromData
87
89
  });
88
90
  module.exports = __toCommonJS(src_exports);
@@ -984,6 +986,63 @@ function getTableShapeFromData(data) {
984
986
  throw new Error("invalid table");
985
987
  }
986
988
 
989
+ // src/lib/table/simple-table/make-table-from-batches.ts
990
+ var import_schema = require("@loaders.gl/schema");
991
+ function* makeBatchesFromTable(table) {
992
+ yield { ...table, length: (0, import_schema.getTableLength)(table), batchType: "data" };
993
+ }
994
+ async function makeTableFromBatches(batchIterator) {
995
+ let arrayRows;
996
+ let objectRows;
997
+ let features;
998
+ let shape = null;
999
+ let schema;
1000
+ for await (const batch of batchIterator) {
1001
+ shape = shape || batch.shape;
1002
+ schema = schema || batch.schema;
1003
+ switch (batch.shape) {
1004
+ case "array-row-table":
1005
+ arrayRows = arrayRows || [];
1006
+ for (let rowIndex = 0; rowIndex < (0, import_schema.getTableLength)(batch); rowIndex++) {
1007
+ const row = batch.data[rowIndex];
1008
+ arrayRows.push(row);
1009
+ }
1010
+ break;
1011
+ case "object-row-table":
1012
+ objectRows = objectRows || [];
1013
+ for (let rowIndex = 0; rowIndex < (0, import_schema.getTableLength)(batch); rowIndex++) {
1014
+ const row = batch.data[rowIndex];
1015
+ objectRows.push(row);
1016
+ }
1017
+ break;
1018
+ case "geojson-table":
1019
+ features = features || [];
1020
+ for (let rowIndex = 0; rowIndex < (0, import_schema.getTableLength)(batch); rowIndex++) {
1021
+ const row = batch.features[rowIndex];
1022
+ features.push(row);
1023
+ }
1024
+ break;
1025
+ case "columnar-table":
1026
+ case "arrow-table":
1027
+ default:
1028
+ throw new Error("shape");
1029
+ }
1030
+ }
1031
+ if (!shape) {
1032
+ return null;
1033
+ }
1034
+ switch (shape) {
1035
+ case "array-row-table":
1036
+ return { shape: "array-row-table", data: arrayRows, schema };
1037
+ case "object-row-table":
1038
+ return { shape: "object-row-table", data: objectRows, schema };
1039
+ case "geojson-table":
1040
+ return { shape: "geojson-table", type: "FeatureCollection", features, schema };
1041
+ default:
1042
+ return null;
1043
+ }
1044
+ }
1045
+
987
1046
  // src/lib/table/simple-table/table-column.ts
988
1047
  function makeColumnFromField(field, length) {
989
1048
  const ArrayType = getArrayTypeFromDataType(field.type, field.nullable);
@@ -1007,7 +1066,7 @@ function convertTable(table, shape) {
1007
1066
  }
1008
1067
  function makeArrowTable(table) {
1009
1068
  var _a;
1010
- const _makeArrowTable = (_a = globalThis.__luma) == null ? void 0 : _a._makeArrowTable;
1069
+ const _makeArrowTable = (_a = globalThis.__loaders) == null ? void 0 : _a._makeArrowTable;
1011
1070
  if (!_makeArrowTable) {
1012
1071
  throw new Error("");
1013
1072
  }
package/dist/index.d.ts CHANGED
@@ -10,6 +10,7 @@ export { ColumnarTableBatchAggregator } from './lib/table/batches/columnar-table
10
10
  export { getTableLength, getTableNumCols, getTableCell, getTableRowShape, getTableColumnIndex, getTableColumnName, getTableRowAsObject, getTableRowAsArray, makeRowIterator, makeArrayRowIterator, makeObjectRowIterator } from './lib/table/simple-table/table-accessors';
11
11
  export { ArrowLikeTable } from './lib/table/arrow-api/arrow-like-table';
12
12
  export { makeTableFromData } from './lib/table/simple-table/make-table';
13
+ export { makeTableFromBatches, makeBatchesFromTable } from './lib/table/simple-table/make-table-from-batches';
13
14
  export { convertTable } from './lib/table/simple-table/convert-table';
14
15
  export { deduceTableSchema } from './lib/table/simple-table/table-schema';
15
16
  export { convertToObjectRow, convertToArrayRow } from './lib/table/simple-table/row-utils';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -4,6 +4,7 @@ export { ColumnarTableBatchAggregator } from "./lib/table/batches/columnar-table
4
4
  export { getTableLength, getTableNumCols, getTableCell, getTableRowShape, getTableColumnIndex, getTableColumnName, getTableRowAsObject, getTableRowAsArray, makeRowIterator, makeArrayRowIterator, makeObjectRowIterator } from "./lib/table/simple-table/table-accessors.js";
5
5
  export { ArrowLikeTable } from "./lib/table/arrow-api/arrow-like-table.js";
6
6
  export { makeTableFromData } from "./lib/table/simple-table/make-table.js";
7
+ export { makeTableFromBatches, makeBatchesFromTable } from "./lib/table/simple-table/make-table-from-batches.js";
7
8
  export { convertTable } from "./lib/table/simple-table/convert-table.js";
8
9
  export { deduceTableSchema } from "./lib/table/simple-table/table-schema.js";
9
10
  export { convertToObjectRow, convertToArrayRow } from "./lib/table/simple-table/row-utils.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["TableBatchBuilder","RowTableBatchAggregator","ColumnarTableBatchAggregator","getTableLength","getTableNumCols","getTableCell","getTableRowShape","getTableColumnIndex","getTableColumnName","getTableRowAsObject","getTableRowAsArray","makeRowIterator","makeArrayRowIterator","makeObjectRowIterator","ArrowLikeTable","makeTableFromData","convertTable","deduceTableSchema","convertToObjectRow","convertToArrayRow","getDataTypeFromArray","getMeshSize","getMeshBoundingBox","deduceMeshSchema","deduceMeshField","makeMeshAttributeMetadata","Schema","ArrowLikeSchema","Field","ArrowLikeField","DataType","ArrowLikeDataType","Null","Binary","Bool","Int","Int8","Int16","Int32","Int64","Uint8","Uint16","Uint32","Uint64","Float","Float16","Float32","Float64","Utf8","Date","DateDay","DateMillisecond","Time","TimeMillisecond","TimeSecond","Timestamp","TimestampSecond","TimestampMillisecond","TimestampMicrosecond","TimestampNanosecond","Interval","IntervalDayTime","IntervalYearMonth","FixedSizeList","Struct","getTypeInfo","default","AsyncQueue"],"sources":["../src/index.ts"],"sourcesContent":["// COMMON CATEGORY\nexport type {\n TypedArray,\n BigTypedArray,\n TypedArrayConstructor,\n BigTypedArrayConstructor,\n NumberArray,\n ArrayType,\n AnyArray\n} from './types/types';\n\nexport type {Schema, Field, DataType, SchemaMetadata, FieldMetadata} from './types/schema';\n\nexport type {Batch} from './types/batch';\n\n// TABLE CATEGORY TYPES\nexport type {\n Table,\n RowTable,\n ArrayRowTable,\n ObjectRowTable,\n GeoJSONTable,\n ColumnarTable,\n ArrowTable,\n Tables\n} from './types/category-table';\nexport type {\n TableBatch,\n ArrayRowTableBatch,\n ObjectRowTableBatch,\n GeoJSONTableBatch,\n ColumnarTableBatch,\n ArrowTableBatch\n} from './types/category-table';\n\n// TABLE CATEGORY UTILS\nexport {TableBatchBuilder} from './lib/table/batches/table-batch-builder';\nexport type {TableBatchAggregator} from './lib/table/batches/table-batch-aggregator';\nexport {RowTableBatchAggregator} from './lib/table/batches/row-table-batch-aggregator';\nexport {ColumnarTableBatchAggregator} from './lib/table/batches/columnar-table-batch-aggregator';\n\nexport {\n getTableLength,\n getTableNumCols,\n getTableCell,\n getTableRowShape,\n getTableColumnIndex,\n getTableColumnName,\n getTableRowAsObject,\n getTableRowAsArray,\n makeRowIterator,\n makeArrayRowIterator,\n makeObjectRowIterator\n} from './lib/table/simple-table/table-accessors';\n\nexport {ArrowLikeTable} from './lib/table/arrow-api/arrow-like-table';\n\nexport {makeTableFromData} from './lib/table/simple-table/make-table';\nexport {convertTable} from './lib/table/simple-table/convert-table';\nexport {deduceTableSchema} from './lib/table/simple-table/table-schema';\nexport {convertToObjectRow, convertToArrayRow} from './lib/table/simple-table/row-utils';\nexport {getDataTypeFromArray} from './lib/table/simple-table/data-type';\n\n// MESH CATEGORY\nexport type {\n MeshTable,\n MeshArrowTable,\n Mesh,\n MeshGeometry,\n MeshAttribute,\n MeshAttributes\n} from './types/category-mesh';\n\nexport {getMeshSize, getMeshBoundingBox} from './lib/mesh/mesh-utils';\n// Commented out due to https://github.com/visgl/deck.gl/issues/6906 and https://github.com/visgl/loaders.gl/issues/2177\n// export {convertMesh} from './category/mesh/convert-mesh';\nexport {\n deduceMeshSchema,\n deduceMeshField,\n makeMeshAttributeMetadata\n} from './lib/mesh/deduce-mesh-schema';\n\n// TEXTURES\nexport type {TextureLevel, GPUTextureFormat} from './types/category-texture';\n\n// IMAGES\nexport type {ImageDataType, ImageType, ImageTypeEnum} from './types/category-image';\n\n// TYPES\n// GIS CATEGORY - GEOJSON\nexport type {\n GeoJSON,\n Feature,\n FeatureCollection,\n Geometry,\n Position,\n GeoJsonProperties,\n Point,\n MultiPoint,\n LineString,\n MultiLineString,\n Polygon,\n MultiPolygon,\n GeometryCollection\n} from './types/category-gis';\n\nexport type {GeojsonGeometryInfo} from './types/category-gis';\n\n// GIS CATEGORY - FLAT GEOJSON\nexport type {\n FlatFeature,\n FlatIndexedGeometry,\n FlatGeometry,\n FlatGeometryType,\n FlatPoint,\n FlatLineString,\n FlatPolygon\n} from './types/category-gis';\n\n// GIS CATEGORY - BINARY\nexport type {\n BinaryGeometryType,\n BinaryGeometry,\n BinaryPointGeometry,\n BinaryLineGeometry,\n BinaryPolygonGeometry,\n BinaryAttribute\n} from './types/category-gis';\nexport type {\n BinaryFeatureCollection,\n BinaryFeature,\n BinaryPointFeature,\n BinaryLineFeature,\n BinaryPolygonFeature\n} from './types/category-gis';\n\n// SCHEMA\nexport {\n Schema as ArrowLikeSchema,\n Field as ArrowLikeField,\n DataType as ArrowLikeDataType,\n Null,\n Binary,\n Bool,\n Int,\n Int8,\n Int16,\n Int32,\n Int64,\n Uint8,\n Uint16,\n Uint32,\n Uint64,\n Float,\n Float16,\n Float32,\n Float64,\n Utf8,\n Date,\n DateDay,\n DateMillisecond,\n Time,\n TimeMillisecond,\n TimeSecond,\n Timestamp,\n TimestampSecond,\n TimestampMillisecond,\n TimestampMicrosecond,\n TimestampNanosecond,\n Interval,\n IntervalDayTime,\n IntervalYearMonth,\n FixedSizeList,\n Struct\n} from './lib/table/arrow-api';\n\n// EXPERIMENTAL APIs\n\n// SCHEMA UTILS\nexport {getTypeInfo} from './lib/table/arrow-api/get-type-info';\n\nexport {default as AsyncQueue} from './lib/utils/async-queue';\n"],"mappings":"SAoCQA,iBAAiB;AAAA,SAEjBC,uBAAuB;AAAA,SACvBC,4BAA4B;AAAA,SAGlCC,cAAc,EACdC,eAAe,EACfC,YAAY,EACZC,gBAAgB,EAChBC,mBAAmB,EACnBC,kBAAkB,EAClBC,mBAAmB,EACnBC,kBAAkB,EAClBC,eAAe,EACfC,oBAAoB,EACpBC,qBAAqB;AAAA,SAGfC,cAAc;AAAA,SAEdC,iBAAiB;AAAA,SACjBC,YAAY;AAAA,SACZC,iBAAiB;AAAA,SACjBC,kBAAkB,EAAEC,iBAAiB;AAAA,SACrCC,oBAAoB;AAAA,SAYpBC,WAAW,EAAEC,kBAAkB;AAAA,SAIrCC,gBAAgB,EAChBC,eAAe,EACfC,yBAAyB;AAAA,SA2DzBC,MAAM,IAAIC,eAAe,EACzBC,KAAK,IAAIC,cAAc,EACvBC,QAAQ,IAAIC,iBAAiB,EAC7BC,IAAI,EACJC,MAAM,EACNC,IAAI,EACJC,GAAG,EACHC,IAAI,EACJC,KAAK,EACLC,KAAK,EACLC,KAAK,EACLC,KAAK,EACLC,MAAM,EACNC,MAAM,EACNC,MAAM,EACNC,KAAK,EACLC,OAAO,EACPC,OAAO,EACPC,OAAO,EACPC,IAAI,EACJC,IAAI,EACJC,OAAO,EACPC,eAAe,EACfC,IAAI,EACJC,eAAe,EACfC,UAAU,EACVC,SAAS,EACTC,eAAe,EACfC,oBAAoB,EACpBC,oBAAoB,EACpBC,mBAAmB,EACnBC,QAAQ,EACRC,eAAe,EACfC,iBAAiB,EACjBC,aAAa,EACbC,MAAM;AAAA,SAMAC,WAAW;AAAA,SAEXC,OAAO,IAAIC,UAAU"}
1
+ {"version":3,"file":"index.js","names":["TableBatchBuilder","RowTableBatchAggregator","ColumnarTableBatchAggregator","getTableLength","getTableNumCols","getTableCell","getTableRowShape","getTableColumnIndex","getTableColumnName","getTableRowAsObject","getTableRowAsArray","makeRowIterator","makeArrayRowIterator","makeObjectRowIterator","ArrowLikeTable","makeTableFromData","makeTableFromBatches","makeBatchesFromTable","convertTable","deduceTableSchema","convertToObjectRow","convertToArrayRow","getDataTypeFromArray","getMeshSize","getMeshBoundingBox","deduceMeshSchema","deduceMeshField","makeMeshAttributeMetadata","Schema","ArrowLikeSchema","Field","ArrowLikeField","DataType","ArrowLikeDataType","Null","Binary","Bool","Int","Int8","Int16","Int32","Int64","Uint8","Uint16","Uint32","Uint64","Float","Float16","Float32","Float64","Utf8","Date","DateDay","DateMillisecond","Time","TimeMillisecond","TimeSecond","Timestamp","TimestampSecond","TimestampMillisecond","TimestampMicrosecond","TimestampNanosecond","Interval","IntervalDayTime","IntervalYearMonth","FixedSizeList","Struct","getTypeInfo","default","AsyncQueue"],"sources":["../src/index.ts"],"sourcesContent":["// loaders.gl, MIT license\n// Copyright (c) vis.gl contributors\n\n// COMMON CATEGORY\nexport type {\n TypedArray,\n BigTypedArray,\n TypedArrayConstructor,\n BigTypedArrayConstructor,\n NumberArray,\n ArrayType,\n AnyArray\n} from './types/types';\n\nexport type {Schema, Field, DataType, SchemaMetadata, FieldMetadata} from './types/schema';\n\nexport type {Batch} from './types/batch';\n\n// TABLE CATEGORY TYPES\nexport type {\n Table,\n RowTable,\n ArrayRowTable,\n ObjectRowTable,\n GeoJSONTable,\n ColumnarTable,\n ArrowTable,\n Tables\n} from './types/category-table';\nexport type {\n TableBatch,\n ArrayRowTableBatch,\n ObjectRowTableBatch,\n GeoJSONTableBatch,\n ColumnarTableBatch,\n ArrowTableBatch\n} from './types/category-table';\n\n// TABLE CATEGORY UTILS\nexport {TableBatchBuilder} from './lib/table/batches/table-batch-builder';\nexport type {TableBatchAggregator} from './lib/table/batches/table-batch-aggregator';\nexport {RowTableBatchAggregator} from './lib/table/batches/row-table-batch-aggregator';\nexport {ColumnarTableBatchAggregator} from './lib/table/batches/columnar-table-batch-aggregator';\n\nexport {\n getTableLength,\n getTableNumCols,\n getTableCell,\n getTableRowShape,\n getTableColumnIndex,\n getTableColumnName,\n getTableRowAsObject,\n getTableRowAsArray,\n makeRowIterator,\n makeArrayRowIterator,\n makeObjectRowIterator\n} from './lib/table/simple-table/table-accessors';\n\nexport {ArrowLikeTable} from './lib/table/arrow-api/arrow-like-table';\n\nexport {makeTableFromData} from './lib/table/simple-table/make-table';\nexport {\n makeTableFromBatches,\n makeBatchesFromTable\n} from './lib/table/simple-table/make-table-from-batches';\nexport {convertTable} from './lib/table/simple-table/convert-table';\nexport {deduceTableSchema} from './lib/table/simple-table/table-schema';\nexport {convertToObjectRow, convertToArrayRow} from './lib/table/simple-table/row-utils';\nexport {getDataTypeFromArray} from './lib/table/simple-table/data-type';\n\n// MESH CATEGORY\nexport type {\n MeshTable,\n MeshArrowTable,\n Mesh,\n MeshGeometry,\n MeshAttribute,\n MeshAttributes\n} from './types/category-mesh';\n\nexport {getMeshSize, getMeshBoundingBox} from './lib/mesh/mesh-utils';\n// Commented out due to https://github.com/visgl/deck.gl/issues/6906 and https://github.com/visgl/loaders.gl/issues/2177\n// export {convertMesh} from './category/mesh/convert-mesh';\nexport {\n deduceMeshSchema,\n deduceMeshField,\n makeMeshAttributeMetadata\n} from './lib/mesh/deduce-mesh-schema';\n\n// TEXTURES\nexport type {TextureLevel, GPUTextureFormat} from './types/category-texture';\n\n// IMAGES\nexport type {ImageDataType, ImageType, ImageTypeEnum} from './types/category-image';\n\n// TYPES\n// GIS CATEGORY - GEOJSON\nexport type {\n GeoJSON,\n Feature,\n FeatureCollection,\n Geometry,\n Position,\n GeoJsonProperties,\n Point,\n MultiPoint,\n LineString,\n MultiLineString,\n Polygon,\n MultiPolygon,\n GeometryCollection\n} from './types/category-gis';\n\nexport type {GeojsonGeometryInfo} from './types/category-gis';\n\n// GIS CATEGORY - FLAT GEOJSON\nexport type {\n FlatFeature,\n FlatIndexedGeometry,\n FlatGeometry,\n FlatGeometryType,\n FlatPoint,\n FlatLineString,\n FlatPolygon\n} from './types/category-gis';\n\n// GIS CATEGORY - BINARY\nexport type {\n BinaryGeometryType,\n BinaryGeometry,\n BinaryPointGeometry,\n BinaryLineGeometry,\n BinaryPolygonGeometry,\n BinaryAttribute\n} from './types/category-gis';\nexport type {\n BinaryFeatureCollection,\n BinaryFeature,\n BinaryPointFeature,\n BinaryLineFeature,\n BinaryPolygonFeature\n} from './types/category-gis';\n\n// SCHEMA\nexport {\n Schema as ArrowLikeSchema,\n Field as ArrowLikeField,\n DataType as ArrowLikeDataType,\n Null,\n Binary,\n Bool,\n Int,\n Int8,\n Int16,\n Int32,\n Int64,\n Uint8,\n Uint16,\n Uint32,\n Uint64,\n Float,\n Float16,\n Float32,\n Float64,\n Utf8,\n Date,\n DateDay,\n DateMillisecond,\n Time,\n TimeMillisecond,\n TimeSecond,\n Timestamp,\n TimestampSecond,\n TimestampMillisecond,\n TimestampMicrosecond,\n TimestampNanosecond,\n Interval,\n IntervalDayTime,\n IntervalYearMonth,\n FixedSizeList,\n Struct\n} from './lib/table/arrow-api';\n\n// EXPERIMENTAL APIs\n\n// SCHEMA UTILS\nexport {getTypeInfo} from './lib/table/arrow-api/get-type-info';\n\nexport {default as AsyncQueue} from './lib/utils/async-queue';\n"],"mappings":"SAuCQA,iBAAiB;AAAA,SAEjBC,uBAAuB;AAAA,SACvBC,4BAA4B;AAAA,SAGlCC,cAAc,EACdC,eAAe,EACfC,YAAY,EACZC,gBAAgB,EAChBC,mBAAmB,EACnBC,kBAAkB,EAClBC,mBAAmB,EACnBC,kBAAkB,EAClBC,eAAe,EACfC,oBAAoB,EACpBC,qBAAqB;AAAA,SAGfC,cAAc;AAAA,SAEdC,iBAAiB;AAAA,SAEvBC,oBAAoB,EACpBC,oBAAoB;AAAA,SAEdC,YAAY;AAAA,SACZC,iBAAiB;AAAA,SACjBC,kBAAkB,EAAEC,iBAAiB;AAAA,SACrCC,oBAAoB;AAAA,SAYpBC,WAAW,EAAEC,kBAAkB;AAAA,SAIrCC,gBAAgB,EAChBC,eAAe,EACfC,yBAAyB;AAAA,SA2DzBC,MAAM,IAAIC,eAAe,EACzBC,KAAK,IAAIC,cAAc,EACvBC,QAAQ,IAAIC,iBAAiB,EAC7BC,IAAI,EACJC,MAAM,EACNC,IAAI,EACJC,GAAG,EACHC,IAAI,EACJC,KAAK,EACLC,KAAK,EACLC,KAAK,EACLC,KAAK,EACLC,MAAM,EACNC,MAAM,EACNC,MAAM,EACNC,KAAK,EACLC,OAAO,EACPC,OAAO,EACPC,OAAO,EACPC,IAAI,EACJC,IAAI,EACJC,OAAO,EACPC,eAAe,EACfC,IAAI,EACJC,eAAe,EACfC,UAAU,EACVC,SAAS,EACTC,eAAe,EACfC,oBAAoB,EACpBC,oBAAoB,EACpBC,mBAAmB,EACnBC,QAAQ,EACRC,eAAe,EACfC,iBAAiB,EACjBC,aAAa,EACbC,MAAM;AAAA,SAMAC,WAAW;AAAA,SAEXC,OAAO,IAAIC,UAAU"}
@@ -1 +1 @@
1
- {"version":3,"file":"mesh-to-arrow-table.js","names":[],"sources":["../../../src/lib/mesh/mesh-to-arrow-table.ts"],"sourcesContent":["/* Problem with arrow dependency...\nimport {\n Table,\n Schema,\n RecordBatch,\n FixedSizeList,\n Field,\n Data,\n FixedSizeListVector\n} from 'apache-arrow';\nimport {AbstractVector} from 'apache-arrow/vector';\nimport {getArrowType, getArrowVector} from '../table/arrow/arrow-type-utils';\nimport type {Mesh} from './mesh-types';\nimport {makeMeshAttributeMetadata} from './deduce-mesh-schema';\n\n/**\n * * Convert a loaders.gl Mesh to an Apache Arrow Table\n * @param mesh\n * @param metadata\n * @param batchSize\n * @returns\n *\nexport function convertMeshToArrowTable(mesh: Mesh, batchSize?: number): Table {\n const vectors: AbstractVector[] = [];\n const fields: Field[] = [];\n for (const attributeKey in mesh.attributes) {\n const attribute = mesh.attributes[attributeKey];\n const {value, size = 1} = attribute;\n const type = getArrowType(value);\n const vector = getArrowVector(value);\n const listType = new FixedSizeList(size, new Field('value', type));\n const field = new Field(attributeKey, listType, false, makeMeshAttributeMetadata(attribute));\n const data = new Data(listType, 0, value.length / size, 0, undefined, [vector]);\n const listVector = new FixedSizeListVector(data);\n vectors.push(listVector);\n fields.push(field);\n }\n const schema = new Schema(fields, mesh?.schema?.metadata || new Map<string, string>());\n const recordBatch = new RecordBatch(schema, vectors[0].length, vectors);\n const table = new Table(schema, recordBatch);\n return table;\n}\n*/\n"],"mappings":""}
1
+ {"version":3,"file":"mesh-to-arrow-table.js","names":[],"sources":["../../../src/lib/mesh/mesh-to-arrow-table.ts"],"sourcesContent":["// loaders.gl, MIT license\n// Copyright (c) vis.gl contributors\n\n/* Problem with arrow dependency...\nimport {\n Table,\n Schema,\n RecordBatch,\n FixedSizeList,\n Field,\n Data,\n FixedSizeListVector\n} from 'apache-arrow';\nimport {AbstractVector} from 'apache-arrow/vector';\nimport {getArrowType, getArrowVector} from '../table/arrow/arrow-type-utils';\nimport type {Mesh} from './mesh-types';\nimport {makeMeshAttributeMetadata} from './deduce-mesh-schema';\n\n/**\n * * Convert a loaders.gl Mesh to an Apache Arrow Table\n * @param mesh\n * @param metadata\n * @param batchSize\n * @returns\n *\nexport function convertMeshToArrowTable(mesh: Mesh, batchSize?: number): Table {\n const vectors: AbstractVector[] = [];\n const fields: Field[] = [];\n for (const attributeKey in mesh.attributes) {\n const attribute = mesh.attributes[attributeKey];\n const {value, size = 1} = attribute;\n const type = getArrowType(value);\n const vector = getArrowVector(value);\n const listType = new FixedSizeList(size, new Field('value', type));\n const field = new Field(attributeKey, listType, false, makeMeshAttributeMetadata(attribute));\n const data = new Data(listType, 0, value.length / size, 0, undefined, [vector]);\n const listVector = new FixedSizeListVector(data);\n vectors.push(listVector);\n fields.push(field);\n }\n const schema = new Schema(fields, mesh?.schema?.metadata || new Map<string, string>());\n const recordBatch = new RecordBatch(schema, vectors[0].length, vectors);\n const table = new Table(schema, recordBatch);\n return table;\n}\n*/\n"],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"arrow-like-type.d.ts","sourceRoot":"","sources":["../../../../src/lib/table/arrow-api/arrow-like-type.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"arrow-like-type.d.ts","sourceRoot":"","sources":["../../../../src/lib/table/arrow-api/arrow-like-type.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"arrow-like-type.js","names":["Type","DataType","isNull","x","typeId","Null","isInt","Int","isFloat","Float","isBinary","Binary","isUtf8","Utf8","isBool","Bool","isDecimal","Decimal","isDate","Date","isTime","Time","isTimestamp","Timestamp","isInterval","Interval","isList","List","isStruct","Struct","isUnion","Union","isFixedSizeBinary","FixedSizeBinary","isFixedSizeList","FixedSizeList","isMap","Map","isDictionary","Dictionary","NONE","compareTo","other","Symbol","toStringTag","toString","_Symbol$toStringTag","constructor","isSigned","bitWidth","Int8","Int16","Int32","Int64","Uint8","Uint16","Uint32","Uint64","Precision","HALF","SINGLE","DOUBLE","_Symbol$toStringTag2","precision","Float16","Float32","Float64","DateUnit","DAY","MILLISECOND","_Symbol$toStringTag3","unit","DateDay","DateMillisecond","TimeUnit","SECOND","MICROSECOND","NANOSECOND","_Symbol$toStringTag4","TimeSecond","TimeMillisecond","_Symbol$toStringTag5","timezone","arguments","length","undefined","TimestampSecond","TimestampMillisecond","TimestampMicrosecond","TimestampNanosecond","IntervalUnit","DAY_TIME","YEAR_MONTH","_Symbol$toStringTag6","IntervalDayTime","IntervalYearMonth","_Symbol$toStringTag7","listSize","child","children","valueType","type","valueField","_Symbol$toStringTag8","map","f","name","join"],"sources":["../../../../src/lib/table/arrow-api/arrow-like-type.ts"],"sourcesContent":["// This code is adapted from ArrowJS https://github.com/apache/arrow\n// under Apache license http://www.apache.org/licenses/LICENSE-2.0\n\nimport {Type} from './enum';\n\nimport {ArrowLikeField as Field} from './arrow-like-field';\n\nexport {Type} from './enum';\n\nexport type TypedIntArray =\n | Int8Array\n | Uint8Array\n | Int16Array\n | Uint16Array\n | Int32Array\n | Uint32Array\n | Uint8ClampedArray;\n\nexport type TypedFloatArray = Float32Array | Float64Array;\n\nexport type TypedArray = TypedIntArray | TypedFloatArray;\n\nexport type AnyArrayType = Array<any> | TypedIntArray | TypedFloatArray;\n\n/** ArrowLike DataType class */\nexport class DataType {\n static isNull(x: any): boolean {\n return x && x.typeId === Type.Null;\n }\n static isInt(x: any): boolean {\n return x && x.typeId === Type.Int;\n }\n static isFloat(x: any): boolean {\n return x && x.typeId === Type.Float;\n }\n static isBinary(x: any): boolean {\n return x && x.typeId === Type.Binary;\n }\n static isUtf8(x: any): boolean {\n return x && x.typeId === Type.Utf8;\n }\n static isBool(x: any): boolean {\n return x && x.typeId === Type.Bool;\n }\n static isDecimal(x: any): boolean {\n return x && x.typeId === Type.Decimal;\n }\n static isDate(x: any): boolean {\n return x && x.typeId === Type.Date;\n }\n static isTime(x: any): boolean {\n return x && x.typeId === Type.Time;\n }\n static isTimestamp(x: any): boolean {\n return x && x.typeId === Type.Timestamp;\n }\n static isInterval(x: any): boolean {\n return x && x.typeId === Type.Interval;\n }\n static isList(x: any): boolean {\n return x && x.typeId === Type.List;\n }\n static isStruct(x: any): boolean {\n return x && x.typeId === Type.Struct;\n }\n static isUnion(x: any): boolean {\n return x && x.typeId === Type.Union;\n }\n static isFixedSizeBinary(x: any): boolean {\n return x && x.typeId === Type.FixedSizeBinary;\n }\n static isFixedSizeList(x: any): boolean {\n return x && x.typeId === Type.FixedSizeList;\n }\n static isMap(x: any): boolean {\n return x && x.typeId === Type.Map;\n }\n static isDictionary(x: any): boolean {\n return x && x.typeId === Type.Dictionary;\n }\n\n get typeId(): Type {\n return Type.NONE;\n }\n\n // get ArrayType(): AnyArrayType {\n // return Int8Array;\n // }\n\n // get ArrayType() { return Array; }\n compareTo(other: DataType): boolean {\n // TODO\n return this === other; // comparer.visit(this, other);\n }\n}\n\n// NULL\n\nexport class Null extends DataType {\n get typeId(): Type {\n return Type.Null;\n }\n get [Symbol.toStringTag](): string {\n return 'Null';\n }\n toString(): string {\n return 'Null';\n }\n}\n\n// BOOLEANS\n\nexport class Bool extends DataType {\n get typeId(): Type {\n return Type.Bool;\n }\n // get ArrayType() {\n // return Uint8Array;\n // }\n get [Symbol.toStringTag](): string {\n return 'Bool';\n }\n toString(): string {\n return 'Bool';\n }\n}\n\n// INTS\n\nexport class Int extends DataType {\n readonly isSigned: boolean;\n readonly bitWidth: number;\n constructor(isSigned, bitWidth) {\n super();\n this.isSigned = isSigned;\n this.bitWidth = bitWidth;\n }\n get typeId(): Type {\n return Type.Int;\n }\n // get ArrayType() {\n // switch (this.bitWidth) {\n // case 8:\n // return this.isSigned ? Int8Array : Uint8Array;\n // case 16:\n // return this.isSigned ? Int16Array : Uint16Array;\n // case 32:\n // return this.isSigned ? Int32Array : Uint32Array;\n // case 64:\n // return this.isSigned ? Int32Array : Uint32Array;\n // default:\n // throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`);\n // }\n // }\n get [Symbol.toStringTag](): string {\n return 'Int';\n }\n toString(): string {\n return `${this.isSigned ? 'I' : 'Ui'}nt${this.bitWidth}`;\n }\n}\n\nexport class Int8 extends Int {\n constructor() {\n super(true, 8);\n }\n}\nexport class Int16 extends Int {\n constructor() {\n super(true, 16);\n }\n}\nexport class Int32 extends Int {\n constructor() {\n super(true, 32);\n }\n}\nexport class Int64 extends Int {\n constructor() {\n super(true, 64);\n }\n}\nexport class Uint8 extends Int {\n constructor() {\n super(false, 8);\n }\n}\nexport class Uint16 extends Int {\n constructor() {\n super(false, 16);\n }\n}\nexport class Uint32 extends Int {\n constructor() {\n super(false, 32);\n }\n}\nexport class Uint64 extends Int {\n constructor() {\n super(false, 64);\n }\n}\n\n// FLOATS\n\nconst Precision = {\n HALF: 16,\n SINGLE: 32,\n DOUBLE: 64\n};\n\nexport class Float extends DataType {\n readonly precision: number;\n constructor(precision) {\n super();\n this.precision = precision;\n }\n get typeId(): Type {\n return Type.Float;\n }\n // get ArrayType() {\n // switch (this.precision) {\n // case Precision.HALF:\n // return Uint16Array;\n // case Precision.SINGLE:\n // return Float32Array;\n // case Precision.DOUBLE:\n // return Float64Array;\n // default:\n // throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`);\n // }\n // }\n get [Symbol.toStringTag](): string {\n return 'Float';\n }\n toString(): string {\n return `Float${this.precision}`;\n }\n}\n\nexport class Float16 extends Float {\n constructor() {\n super(Precision.HALF);\n }\n}\nexport class Float32 extends Float {\n constructor() {\n super(Precision.SINGLE);\n }\n}\nexport class Float64 extends Float {\n constructor() {\n super(Precision.DOUBLE);\n }\n}\n\nexport class Binary extends DataType {\n constructor() {\n super();\n }\n get typeId() {\n return Type.Binary;\n }\n toString() {\n return 'Binary';\n }\n get [Symbol.toStringTag]() {\n return 'Binary';\n }\n}\n\n// STRINGS\n\nexport class Utf8 extends DataType {\n get typeId(): Type {\n return Type.Utf8;\n }\n // get ArrayType() {\n // return Uint8Array;\n // }\n get [Symbol.toStringTag](): string {\n return 'Utf8';\n }\n toString(): string {\n return 'Utf8';\n }\n}\n\n// DATES, TIMES AND INTERVALS\n\nconst DateUnit = {\n DAY: 0,\n MILLISECOND: 1\n};\n\nexport class Date extends DataType {\n readonly unit: number;\n constructor(unit) {\n super();\n this.unit = unit;\n }\n get typeId(): Type {\n return Type.Date;\n }\n // get ArrayType() {\n // return Int32Array;\n // }\n get [Symbol.toStringTag](): string {\n return 'Date';\n }\n toString(): string {\n return `Date${(this.unit + 1) * 32}<${DateUnit[this.unit]}>`;\n }\n}\n\nexport class DateDay extends Date {\n constructor() {\n super(DateUnit.DAY);\n }\n}\nexport class DateMillisecond extends Date {\n constructor() {\n super(DateUnit.MILLISECOND);\n }\n}\n\nconst TimeUnit = {\n SECOND: 1,\n MILLISECOND: 1e3,\n MICROSECOND: 1e6,\n NANOSECOND: 1e9\n};\n\nexport class Time extends DataType {\n readonly unit: any;\n readonly bitWidth: number;\n\n constructor(unit: any, bitWidth: number) {\n super();\n this.unit = unit;\n this.bitWidth = bitWidth;\n }\n get typeId(): Type {\n return Type.Time;\n }\n toString(): string {\n return `Time${this.bitWidth}<${TimeUnit[this.unit]}>`;\n }\n get [Symbol.toStringTag](): string {\n return 'Time';\n }\n // get ArrayType() {\n // return Int32Array;\n // }\n}\n\nexport class TimeSecond extends Time {\n constructor() {\n super(TimeUnit.SECOND, 32);\n }\n}\nexport class TimeMillisecond extends Time {\n constructor() {\n super(TimeUnit.MILLISECOND, 32);\n }\n}\n// export class TimeMicrosecond extends Time { constructor() { super(TimeUnit.MICROSECOND, 64); } }\n// export class TimeNanosecond extends Time { constructor() { super(TimeUnit.NANOSECOND, 64); } }\n\nexport class Timestamp extends DataType {\n readonly unit: any;\n readonly timezone: any;\n\n constructor(unit: any, timezone = null) {\n super();\n this.unit = unit;\n this.timezone = timezone;\n }\n get typeId(): Type {\n return Type.Timestamp;\n }\n // get ArrayType() {\n // return Int32Array;\n // }\n get [Symbol.toStringTag](): string {\n return 'Timestamp';\n }\n toString(): string {\n return `Timestamp<${TimeUnit[this.unit]}${this.timezone ? `, ${this.timezone}` : ''}>`;\n }\n}\n\nexport class TimestampSecond extends Timestamp {\n constructor(timezone = null) {\n super(TimeUnit.SECOND, timezone);\n }\n}\nexport class TimestampMillisecond extends Timestamp {\n constructor(timezone = null) {\n super(TimeUnit.MILLISECOND, timezone);\n }\n}\nexport class TimestampMicrosecond extends Timestamp {\n constructor(timezone = null) {\n super(TimeUnit.MICROSECOND, timezone);\n }\n}\nexport class TimestampNanosecond extends Timestamp {\n constructor(timezone = null) {\n super(TimeUnit.NANOSECOND, timezone);\n }\n}\n\nconst IntervalUnit = {\n DAY_TIME: 0,\n YEAR_MONTH: 1\n};\n\nexport class Interval extends DataType {\n readonly unit: number;\n constructor(unit: number) {\n super();\n this.unit = unit;\n }\n get typeId(): Type {\n return Type.Interval;\n }\n // get ArrayType() {\n // return Int32Array;\n // }\n get [Symbol.toStringTag](): string {\n return 'Interval';\n }\n toString(): string {\n return `Interval<${IntervalUnit[this.unit]}>`;\n }\n}\n\nexport class IntervalDayTime extends Interval {\n constructor() {\n super(IntervalUnit.DAY_TIME);\n }\n}\nexport class IntervalYearMonth extends Interval {\n constructor() {\n super(IntervalUnit.YEAR_MONTH);\n }\n}\n\nexport class FixedSizeList extends DataType {\n readonly listSize: number;\n readonly children: Field[];\n\n constructor(listSize: number, child: Field) {\n super();\n this.listSize = listSize;\n this.children = [child];\n }\n get typeId(): Type {\n return Type.FixedSizeList;\n }\n get valueType() {\n return this.children[0].type;\n }\n get valueField() {\n return this.children[0];\n }\n // get ArrayType() {\n // return this.valueType.ArrayType;\n // }\n get [Symbol.toStringTag](): string {\n return 'FixedSizeList';\n }\n toString(): string {\n return `FixedSizeList[${this.listSize}]<${this.valueType}>`;\n }\n}\n\nexport class Struct extends DataType {\n public readonly children: Field[];\n\n constructor(children: Field[]) {\n super();\n this.children = children;\n }\n\n public get typeId() {\n return Type.Struct;\n }\n public toString() {\n return `Struct<{${this.children.map((f) => `${f.name}:${f.type}`).join(', ')}}>`;\n }\n get [Symbol.toStringTag](): string {\n return 'Struct';\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"arrow-like-type.js","names":["Type","DataType","isNull","x","typeId","Null","isInt","Int","isFloat","Float","isBinary","Binary","isUtf8","Utf8","isBool","Bool","isDecimal","Decimal","isDate","Date","isTime","Time","isTimestamp","Timestamp","isInterval","Interval","isList","List","isStruct","Struct","isUnion","Union","isFixedSizeBinary","FixedSizeBinary","isFixedSizeList","FixedSizeList","isMap","Map","isDictionary","Dictionary","NONE","compareTo","other","Symbol","toStringTag","toString","_Symbol$toStringTag","constructor","isSigned","bitWidth","Int8","Int16","Int32","Int64","Uint8","Uint16","Uint32","Uint64","Precision","HALF","SINGLE","DOUBLE","_Symbol$toStringTag2","precision","Float16","Float32","Float64","DateUnit","DAY","MILLISECOND","_Symbol$toStringTag3","unit","DateDay","DateMillisecond","TimeUnit","SECOND","MICROSECOND","NANOSECOND","_Symbol$toStringTag4","TimeSecond","TimeMillisecond","_Symbol$toStringTag5","timezone","arguments","length","undefined","TimestampSecond","TimestampMillisecond","TimestampMicrosecond","TimestampNanosecond","IntervalUnit","DAY_TIME","YEAR_MONTH","_Symbol$toStringTag6","IntervalDayTime","IntervalYearMonth","_Symbol$toStringTag7","listSize","child","children","valueType","type","valueField","_Symbol$toStringTag8","map","f","name","join"],"sources":["../../../../src/lib/table/arrow-api/arrow-like-type.ts"],"sourcesContent":["// loaders.gl, MIT license\n// Copyright (c) vis.gl contributors\n\n// This code is adapted from ArrowJS https://github.com/apache/arrow\n// under Apache license http://www.apache.org/licenses/LICENSE-2.0\n\nimport {Type} from './enum';\n\nimport {ArrowLikeField as Field} from './arrow-like-field';\n\nexport {Type} from './enum';\n\nexport type TypedIntArray =\n | Int8Array\n | Uint8Array\n | Int16Array\n | Uint16Array\n | Int32Array\n | Uint32Array\n | Uint8ClampedArray;\n\nexport type TypedFloatArray = Float32Array | Float64Array;\n\nexport type TypedArray = TypedIntArray | TypedFloatArray;\n\nexport type AnyArrayType = Array<any> | TypedIntArray | TypedFloatArray;\n\n/** ArrowLike DataType class */\nexport class DataType {\n static isNull(x: any): boolean {\n return x && x.typeId === Type.Null;\n }\n static isInt(x: any): boolean {\n return x && x.typeId === Type.Int;\n }\n static isFloat(x: any): boolean {\n return x && x.typeId === Type.Float;\n }\n static isBinary(x: any): boolean {\n return x && x.typeId === Type.Binary;\n }\n static isUtf8(x: any): boolean {\n return x && x.typeId === Type.Utf8;\n }\n static isBool(x: any): boolean {\n return x && x.typeId === Type.Bool;\n }\n static isDecimal(x: any): boolean {\n return x && x.typeId === Type.Decimal;\n }\n static isDate(x: any): boolean {\n return x && x.typeId === Type.Date;\n }\n static isTime(x: any): boolean {\n return x && x.typeId === Type.Time;\n }\n static isTimestamp(x: any): boolean {\n return x && x.typeId === Type.Timestamp;\n }\n static isInterval(x: any): boolean {\n return x && x.typeId === Type.Interval;\n }\n static isList(x: any): boolean {\n return x && x.typeId === Type.List;\n }\n static isStruct(x: any): boolean {\n return x && x.typeId === Type.Struct;\n }\n static isUnion(x: any): boolean {\n return x && x.typeId === Type.Union;\n }\n static isFixedSizeBinary(x: any): boolean {\n return x && x.typeId === Type.FixedSizeBinary;\n }\n static isFixedSizeList(x: any): boolean {\n return x && x.typeId === Type.FixedSizeList;\n }\n static isMap(x: any): boolean {\n return x && x.typeId === Type.Map;\n }\n static isDictionary(x: any): boolean {\n return x && x.typeId === Type.Dictionary;\n }\n\n get typeId(): Type {\n return Type.NONE;\n }\n\n // get ArrayType(): AnyArrayType {\n // return Int8Array;\n // }\n\n // get ArrayType() { return Array; }\n compareTo(other: DataType): boolean {\n // TODO\n return this === other; // comparer.visit(this, other);\n }\n}\n\n// NULL\n\nexport class Null extends DataType {\n get typeId(): Type {\n return Type.Null;\n }\n get [Symbol.toStringTag](): string {\n return 'Null';\n }\n toString(): string {\n return 'Null';\n }\n}\n\n// BOOLEANS\n\nexport class Bool extends DataType {\n get typeId(): Type {\n return Type.Bool;\n }\n // get ArrayType() {\n // return Uint8Array;\n // }\n get [Symbol.toStringTag](): string {\n return 'Bool';\n }\n toString(): string {\n return 'Bool';\n }\n}\n\n// INTS\n\nexport class Int extends DataType {\n readonly isSigned: boolean;\n readonly bitWidth: number;\n constructor(isSigned, bitWidth) {\n super();\n this.isSigned = isSigned;\n this.bitWidth = bitWidth;\n }\n get typeId(): Type {\n return Type.Int;\n }\n // get ArrayType() {\n // switch (this.bitWidth) {\n // case 8:\n // return this.isSigned ? Int8Array : Uint8Array;\n // case 16:\n // return this.isSigned ? Int16Array : Uint16Array;\n // case 32:\n // return this.isSigned ? Int32Array : Uint32Array;\n // case 64:\n // return this.isSigned ? Int32Array : Uint32Array;\n // default:\n // throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`);\n // }\n // }\n get [Symbol.toStringTag](): string {\n return 'Int';\n }\n toString(): string {\n return `${this.isSigned ? 'I' : 'Ui'}nt${this.bitWidth}`;\n }\n}\n\nexport class Int8 extends Int {\n constructor() {\n super(true, 8);\n }\n}\nexport class Int16 extends Int {\n constructor() {\n super(true, 16);\n }\n}\nexport class Int32 extends Int {\n constructor() {\n super(true, 32);\n }\n}\nexport class Int64 extends Int {\n constructor() {\n super(true, 64);\n }\n}\nexport class Uint8 extends Int {\n constructor() {\n super(false, 8);\n }\n}\nexport class Uint16 extends Int {\n constructor() {\n super(false, 16);\n }\n}\nexport class Uint32 extends Int {\n constructor() {\n super(false, 32);\n }\n}\nexport class Uint64 extends Int {\n constructor() {\n super(false, 64);\n }\n}\n\n// FLOATS\n\nconst Precision = {\n HALF: 16,\n SINGLE: 32,\n DOUBLE: 64\n};\n\nexport class Float extends DataType {\n readonly precision: number;\n constructor(precision) {\n super();\n this.precision = precision;\n }\n get typeId(): Type {\n return Type.Float;\n }\n // get ArrayType() {\n // switch (this.precision) {\n // case Precision.HALF:\n // return Uint16Array;\n // case Precision.SINGLE:\n // return Float32Array;\n // case Precision.DOUBLE:\n // return Float64Array;\n // default:\n // throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`);\n // }\n // }\n get [Symbol.toStringTag](): string {\n return 'Float';\n }\n toString(): string {\n return `Float${this.precision}`;\n }\n}\n\nexport class Float16 extends Float {\n constructor() {\n super(Precision.HALF);\n }\n}\nexport class Float32 extends Float {\n constructor() {\n super(Precision.SINGLE);\n }\n}\nexport class Float64 extends Float {\n constructor() {\n super(Precision.DOUBLE);\n }\n}\n\nexport class Binary extends DataType {\n constructor() {\n super();\n }\n get typeId() {\n return Type.Binary;\n }\n toString() {\n return 'Binary';\n }\n get [Symbol.toStringTag]() {\n return 'Binary';\n }\n}\n\n// STRINGS\n\nexport class Utf8 extends DataType {\n get typeId(): Type {\n return Type.Utf8;\n }\n // get ArrayType() {\n // return Uint8Array;\n // }\n get [Symbol.toStringTag](): string {\n return 'Utf8';\n }\n toString(): string {\n return 'Utf8';\n }\n}\n\n// DATES, TIMES AND INTERVALS\n\nconst DateUnit = {\n DAY: 0,\n MILLISECOND: 1\n};\n\nexport class Date extends DataType {\n readonly unit: number;\n constructor(unit) {\n super();\n this.unit = unit;\n }\n get typeId(): Type {\n return Type.Date;\n }\n // get ArrayType() {\n // return Int32Array;\n // }\n get [Symbol.toStringTag](): string {\n return 'Date';\n }\n toString(): string {\n return `Date${(this.unit + 1) * 32}<${DateUnit[this.unit]}>`;\n }\n}\n\nexport class DateDay extends Date {\n constructor() {\n super(DateUnit.DAY);\n }\n}\nexport class DateMillisecond extends Date {\n constructor() {\n super(DateUnit.MILLISECOND);\n }\n}\n\nconst TimeUnit = {\n SECOND: 1,\n MILLISECOND: 1e3,\n MICROSECOND: 1e6,\n NANOSECOND: 1e9\n};\n\nexport class Time extends DataType {\n readonly unit: any;\n readonly bitWidth: number;\n\n constructor(unit: any, bitWidth: number) {\n super();\n this.unit = unit;\n this.bitWidth = bitWidth;\n }\n get typeId(): Type {\n return Type.Time;\n }\n toString(): string {\n return `Time${this.bitWidth}<${TimeUnit[this.unit]}>`;\n }\n get [Symbol.toStringTag](): string {\n return 'Time';\n }\n // get ArrayType() {\n // return Int32Array;\n // }\n}\n\nexport class TimeSecond extends Time {\n constructor() {\n super(TimeUnit.SECOND, 32);\n }\n}\nexport class TimeMillisecond extends Time {\n constructor() {\n super(TimeUnit.MILLISECOND, 32);\n }\n}\n// export class TimeMicrosecond extends Time { constructor() { super(TimeUnit.MICROSECOND, 64); } }\n// export class TimeNanosecond extends Time { constructor() { super(TimeUnit.NANOSECOND, 64); } }\n\nexport class Timestamp extends DataType {\n readonly unit: any;\n readonly timezone: any;\n\n constructor(unit: any, timezone = null) {\n super();\n this.unit = unit;\n this.timezone = timezone;\n }\n get typeId(): Type {\n return Type.Timestamp;\n }\n // get ArrayType() {\n // return Int32Array;\n // }\n get [Symbol.toStringTag](): string {\n return 'Timestamp';\n }\n toString(): string {\n return `Timestamp<${TimeUnit[this.unit]}${this.timezone ? `, ${this.timezone}` : ''}>`;\n }\n}\n\nexport class TimestampSecond extends Timestamp {\n constructor(timezone = null) {\n super(TimeUnit.SECOND, timezone);\n }\n}\nexport class TimestampMillisecond extends Timestamp {\n constructor(timezone = null) {\n super(TimeUnit.MILLISECOND, timezone);\n }\n}\nexport class TimestampMicrosecond extends Timestamp {\n constructor(timezone = null) {\n super(TimeUnit.MICROSECOND, timezone);\n }\n}\nexport class TimestampNanosecond extends Timestamp {\n constructor(timezone = null) {\n super(TimeUnit.NANOSECOND, timezone);\n }\n}\n\nconst IntervalUnit = {\n DAY_TIME: 0,\n YEAR_MONTH: 1\n};\n\nexport class Interval extends DataType {\n readonly unit: number;\n constructor(unit: number) {\n super();\n this.unit = unit;\n }\n get typeId(): Type {\n return Type.Interval;\n }\n // get ArrayType() {\n // return Int32Array;\n // }\n get [Symbol.toStringTag](): string {\n return 'Interval';\n }\n toString(): string {\n return `Interval<${IntervalUnit[this.unit]}>`;\n }\n}\n\nexport class IntervalDayTime extends Interval {\n constructor() {\n super(IntervalUnit.DAY_TIME);\n }\n}\nexport class IntervalYearMonth extends Interval {\n constructor() {\n super(IntervalUnit.YEAR_MONTH);\n }\n}\n\nexport class FixedSizeList extends DataType {\n readonly listSize: number;\n readonly children: Field[];\n\n constructor(listSize: number, child: Field) {\n super();\n this.listSize = listSize;\n this.children = [child];\n }\n get typeId(): Type {\n return Type.FixedSizeList;\n }\n get valueType() {\n return this.children[0].type;\n }\n get valueField() {\n return this.children[0];\n }\n // get ArrayType() {\n // return this.valueType.ArrayType;\n // }\n get [Symbol.toStringTag](): string {\n return 'FixedSizeList';\n }\n toString(): string {\n return `FixedSizeList[${this.listSize}]<${this.valueType}>`;\n }\n}\n\nexport class Struct extends DataType {\n public readonly children: Field[];\n\n constructor(children: Field[]) {\n super();\n this.children = children;\n }\n\n public get typeId() {\n return Type.Struct;\n }\n public toString() {\n return `Struct<{${this.children.map((f) => `${f.name}:${f.type}`).join(', ')}}>`;\n }\n get [Symbol.toStringTag](): string {\n return 'Struct';\n }\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"enum.d.ts","sourceRoot":"","sources":["../../../../src/lib/table/arrow-api/enum.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,oBAAY,IAAI;IACd,mCAAmC;IACnC,IAAI,IAAI;IACR,6CAA6C;IAC7C,IAAI,IAAI;IACR,oEAAoE;IACpE,GAAG,IAAI;IACP,2CAA2C;IAC3C,KAAK,IAAI;IACT,wDAAwD;IACxD,MAAM,IAAI;IACV,gDAAgD;IAChD,IAAI,IAAI;IACR,gDAAgD;IAChD,IAAI,IAAI;IACR,sFAAsF;IACtF,OAAO,IAAI;IACX,gEAAgE;IAChE,IAAI,IAAI;IACR,iJAAiJ;IACjJ,IAAI,IAAI;IACR,qFAAqF;IACrF,SAAS,KAAK;IACd,mDAAmD;IACnD,QAAQ,KAAK;IACb,uCAAuC;IACvC,IAAI,KAAK;IACT,8BAA8B;IAC9B,MAAM,KAAK;IACX,6BAA6B;IAC7B,KAAK,KAAK;IACV,sEAAsE;IACtE,eAAe,KAAK;IACpB,oEAAoE;IACpE,aAAa,KAAK;IAClB,iCAAiC;IACjC,GAAG,KAAK;IAER,mCAAmC;IACnC,UAAU,KAAK;IACf,IAAI,KAAK;IACT,KAAK,KAAK;IACV,KAAK,KAAK;IACV,KAAK,KAAK;IACV,KAAK,KAAK;IACV,MAAM,KAAK;IACX,MAAM,KAAK;IACX,MAAM,KAAK;IACX,OAAO,MAAM;IACb,OAAO,MAAM;IACb,OAAO,MAAM;IACb,OAAO,MAAM;IACb,eAAe,MAAM;IACrB,eAAe,MAAM;IACrB,oBAAoB,MAAM;IAC1B,oBAAoB,MAAM;IAC1B,mBAAmB,MAAM;IACzB,UAAU,MAAM;IAChB,eAAe,MAAM;IACrB,eAAe,MAAM;IACrB,cAAc,MAAM;IACpB,UAAU,MAAM;IAChB,WAAW,MAAM;IACjB,eAAe,MAAM;IACrB,iBAAiB,MAAM;CACxB"}
1
+ {"version":3,"file":"enum.d.ts","sourceRoot":"","sources":["../../../../src/lib/table/arrow-api/enum.ts"],"names":[],"mappings":"AAMA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,oBAAY,IAAI;IACd,mCAAmC;IACnC,IAAI,IAAI;IACR,6CAA6C;IAC7C,IAAI,IAAI;IACR,oEAAoE;IACpE,GAAG,IAAI;IACP,2CAA2C;IAC3C,KAAK,IAAI;IACT,wDAAwD;IACxD,MAAM,IAAI;IACV,gDAAgD;IAChD,IAAI,IAAI;IACR,gDAAgD;IAChD,IAAI,IAAI;IACR,sFAAsF;IACtF,OAAO,IAAI;IACX,gEAAgE;IAChE,IAAI,IAAI;IACR,iJAAiJ;IACjJ,IAAI,IAAI;IACR,qFAAqF;IACrF,SAAS,KAAK;IACd,mDAAmD;IACnD,QAAQ,KAAK;IACb,uCAAuC;IACvC,IAAI,KAAK;IACT,8BAA8B;IAC9B,MAAM,KAAK;IACX,6BAA6B;IAC7B,KAAK,KAAK;IACV,sEAAsE;IACtE,eAAe,KAAK;IACpB,oEAAoE;IACpE,aAAa,KAAK;IAClB,iCAAiC;IACjC,GAAG,KAAK;IAER,mCAAmC;IACnC,UAAU,KAAK;IACf,IAAI,KAAK;IACT,KAAK,KAAK;IACV,KAAK,KAAK;IACV,KAAK,KAAK;IACV,KAAK,KAAK;IACV,MAAM,KAAK;IACX,MAAM,KAAK;IACX,MAAM,KAAK;IACX,OAAO,MAAM;IACb,OAAO,MAAM;IACb,OAAO,MAAM;IACb,OAAO,MAAM;IACb,eAAe,MAAM;IACrB,eAAe,MAAM;IACrB,oBAAoB,MAAM;IAC1B,oBAAoB,MAAM;IAC1B,mBAAmB,MAAM;IACzB,UAAU,MAAM;IAChB,eAAe,MAAM;IACrB,eAAe,MAAM;IACrB,cAAc,MAAM;IACpB,UAAU,MAAM;IAChB,WAAW,MAAM;IACjB,eAAe,MAAM;IACrB,iBAAiB,MAAM;CACxB"}
@@ -1 +1 @@
1
- {"version":3,"file":"enum.js","names":["Type"],"sources":["../../../../src/lib/table/arrow-api/enum.ts"],"sourcesContent":["// This code is adapted from ArrowJS https://github.com/apache/arrow\n// under Apache license http://www.apache.org/licenses/LICENSE-2.0\n\n/**\n * Main data type enumeration.\n *\n * Data types in this library are all *logical*. They can be expressed as\n * either a primitive physical type (bytes or bits of some fixed size), a\n * nested type consisting of other data types, or another data type (e.g. a\n * timestamp encoded as an int64).\n *\n * **Note**: Only enum values 0-17 (NONE through Map) are written to an Arrow\n * IPC payload.\n *\n * The rest of the values are specified here so TypeScript can narrow the type\n * signatures further beyond the base Arrow Types. The Arrow DataTypes include\n * metadata like `bitWidth` that impact the type signatures of the values we\n * accept and return.\n *\n * For example, the `Int8Vector` reads 1-byte numbers from an `Int8Array`, an\n * `Int32Vector` reads a 4-byte number from an `Int32Array`, and an `Int64Vector`\n * reads a pair of 4-byte lo, hi 32-bit integers as a zero-copy slice from the\n * underlying `Int32Array`.\n *\n * Library consumers benefit by knowing the narrowest type, since we can ensure\n * the types across all public methods are propagated, and never bail to `any`.\n * These values are _never_ used at runtime, and they will _never_ be written\n * to the flatbuffers metadata of serialized Arrow IPC payloads.\n */\nexport enum Type {\n /** The default placeholder type */\n NONE = 0,\n /** A NULL type having no physical storage */\n Null = 1,\n /** Signed or unsigned 8, 16, 32, or 64-bit little-endian integer */\n Int = 2,\n /** 2, 4, or 8-byte floating point value */\n Float = 3,\n /** Variable-length bytes (no guarantee of UTF8-ness) */\n Binary = 4,\n /** UTF8 variable-length string as List<Char> */\n Utf8 = 5,\n /** Boolean as 1 bit, LSB bit-packed ordering */\n Bool = 6,\n /** Precision-and-scale-based decimal type. Storage type depends on the parameters. */\n Decimal = 7,\n /** int32_t days or int64_t milliseconds since the UNIX epoch */\n Date = 8,\n /** Time as signed 32 or 64-bit integer, representing either seconds, milliseconds, microseconds, or nanoseconds since midnight since midnight */\n Time = 9,\n /** Exact timestamp encoded with int64 since UNIX epoch (Default unit millisecond) */\n Timestamp = 10,\n /** YEAR_MONTH or DAY_TIME interval in SQL style */\n Interval = 11,\n /** A list of some logical data type */\n List = 12,\n /** Struct of logical types */\n Struct = 13,\n /** Union of logical types */\n Union = 14,\n /** Fixed-size binary. Each value occupies the same number of bytes */\n FixedSizeBinary = 15,\n /** Fixed-size list. Each value occupies the same number of bytes */\n FixedSizeList = 16,\n /** Map of named logical types */\n Map = 17,\n\n /** Dictionary aka Category type */\n Dictionary = -1,\n Int8 = -2,\n Int16 = -3,\n Int32 = -4,\n Int64 = -5,\n Uint8 = -6,\n Uint16 = -7,\n Uint32 = -8,\n Uint64 = -9,\n Float16 = -10,\n Float32 = -11,\n Float64 = -12,\n DateDay = -13,\n DateMillisecond = -14,\n TimestampSecond = -15,\n TimestampMillisecond = -16,\n TimestampMicrosecond = -17,\n TimestampNanosecond = -18,\n TimeSecond = -19,\n TimeMillisecond = -20,\n TimeMicrosecond = -21,\n TimeNanosecond = -22,\n DenseUnion = -23,\n SparseUnion = -24,\n IntervalDayTime = -25,\n IntervalYearMonth = -26\n}\n"],"mappings":"AA6BA,WAAYA,IAAI,aAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAA,OAAJA,IAAI;AAAA"}
1
+ {"version":3,"file":"enum.js","names":["Type"],"sources":["../../../../src/lib/table/arrow-api/enum.ts"],"sourcesContent":["// loaders.gl, MIT license\n// Copyright (c) vis.gl contributors\n\n// This code is adapted from ArrowJS https://github.com/apache/arrow\n// under Apache license http://www.apache.org/licenses/LICENSE-2.0\n\n/**\n * Main data type enumeration.\n *\n * Data types in this library are all *logical*. They can be expressed as\n * either a primitive physical type (bytes or bits of some fixed size), a\n * nested type consisting of other data types, or another data type (e.g. a\n * timestamp encoded as an int64).\n *\n * **Note**: Only enum values 0-17 (NONE through Map) are written to an Arrow\n * IPC payload.\n *\n * The rest of the values are specified here so TypeScript can narrow the type\n * signatures further beyond the base Arrow Types. The Arrow DataTypes include\n * metadata like `bitWidth` that impact the type signatures of the values we\n * accept and return.\n *\n * For example, the `Int8Vector` reads 1-byte numbers from an `Int8Array`, an\n * `Int32Vector` reads a 4-byte number from an `Int32Array`, and an `Int64Vector`\n * reads a pair of 4-byte lo, hi 32-bit integers as a zero-copy slice from the\n * underlying `Int32Array`.\n *\n * Library consumers benefit by knowing the narrowest type, since we can ensure\n * the types across all public methods are propagated, and never bail to `any`.\n * These values are _never_ used at runtime, and they will _never_ be written\n * to the flatbuffers metadata of serialized Arrow IPC payloads.\n */\nexport enum Type {\n /** The default placeholder type */\n NONE = 0,\n /** A NULL type having no physical storage */\n Null = 1,\n /** Signed or unsigned 8, 16, 32, or 64-bit little-endian integer */\n Int = 2,\n /** 2, 4, or 8-byte floating point value */\n Float = 3,\n /** Variable-length bytes (no guarantee of UTF8-ness) */\n Binary = 4,\n /** UTF8 variable-length string as List<Char> */\n Utf8 = 5,\n /** Boolean as 1 bit, LSB bit-packed ordering */\n Bool = 6,\n /** Precision-and-scale-based decimal type. Storage type depends on the parameters. */\n Decimal = 7,\n /** int32_t days or int64_t milliseconds since the UNIX epoch */\n Date = 8,\n /** Time as signed 32 or 64-bit integer, representing either seconds, milliseconds, microseconds, or nanoseconds since midnight since midnight */\n Time = 9,\n /** Exact timestamp encoded with int64 since UNIX epoch (Default unit millisecond) */\n Timestamp = 10,\n /** YEAR_MONTH or DAY_TIME interval in SQL style */\n Interval = 11,\n /** A list of some logical data type */\n List = 12,\n /** Struct of logical types */\n Struct = 13,\n /** Union of logical types */\n Union = 14,\n /** Fixed-size binary. Each value occupies the same number of bytes */\n FixedSizeBinary = 15,\n /** Fixed-size list. Each value occupies the same number of bytes */\n FixedSizeList = 16,\n /** Map of named logical types */\n Map = 17,\n\n /** Dictionary aka Category type */\n Dictionary = -1,\n Int8 = -2,\n Int16 = -3,\n Int32 = -4,\n Int64 = -5,\n Uint8 = -6,\n Uint16 = -7,\n Uint32 = -8,\n Uint64 = -9,\n Float16 = -10,\n Float32 = -11,\n Float64 = -12,\n DateDay = -13,\n DateMillisecond = -14,\n TimestampSecond = -15,\n TimestampMillisecond = -16,\n TimestampMicrosecond = -17,\n TimestampNanosecond = -18,\n TimeSecond = -19,\n TimeMillisecond = -20,\n TimeMicrosecond = -21,\n TimeNanosecond = -22,\n DenseUnion = -23,\n SparseUnion = -24,\n IntervalDayTime = -25,\n IntervalYearMonth = -26\n}\n"],"mappings":"AAgCA,WAAYA,IAAI,aAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAA,OAAJA,IAAI;AAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"convert-table.d.ts","sourceRoot":"","sources":["../../../../src/lib/table/simple-table/convert-table.ts"],"names":[],"mappings":"AAQA,OAAO,EACL,KAAK,EACL,aAAa,EACb,cAAc,EACd,aAAa,EACb,UAAU,EACX,MAAM,+BAA+B,CAAC;AAIvC,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,kBAAkB,GAAG,cAAc,CAAC;AACtF,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,iBAAiB,GAAG,aAAa,CAAC;AACpF,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,gBAAgB,GAAG,aAAa,CAAC;AACnF,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,GAAG,UAAU,CAAC;AA0B7E;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,CAMlD;AAED,oDAAoD;AACpD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,KAAK,GAAG,aAAa,CAyB7D;AAED,8CAA8C;AAC9C,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,KAAK,GAAG,aAAa,CAc7D;AAED,+CAA+C;AAC/C,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,KAAK,GAAG,cAAc,CAc/D;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG"}
1
+ {"version":3,"file":"convert-table.d.ts","sourceRoot":"","sources":["../../../../src/lib/table/simple-table/convert-table.ts"],"names":[],"mappings":"AASA,OAAO,EACL,KAAK,EACL,aAAa,EACb,cAAc,EACd,aAAa,EACb,UAAU,EACX,MAAM,+BAA+B,CAAC;AAIvC,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,kBAAkB,GAAG,cAAc,CAAC;AACtF,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,iBAAiB,GAAG,aAAa,CAAC;AACpF,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,gBAAgB,GAAG,aAAa,CAAC;AACnF,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,GAAG,UAAU,CAAC;AA0B7E;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,CAMlD;AAED,oDAAoD;AACpD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,KAAK,GAAG,aAAa,CAyB7D;AAED,8CAA8C;AAC9C,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,KAAK,GAAG,aAAa,CAc7D;AAED,+CAA+C;AAC/C,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,KAAK,GAAG,cAAc,CAc/D;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG"}
@@ -16,8 +16,8 @@ export function convertTable(table, shape) {
16
16
  }
17
17
  }
18
18
  export function makeArrowTable(table) {
19
- var _globalThis$__luma;
20
- const _makeArrowTable = (_globalThis$__luma = globalThis.__luma) === null || _globalThis$__luma === void 0 ? void 0 : _globalThis$__luma._makeArrowTable;
19
+ var _globalThis$__loaders;
20
+ const _makeArrowTable = (_globalThis$__loaders = globalThis.__loaders) === null || _globalThis$__loaders === void 0 ? void 0 : _globalThis$__loaders._makeArrowTable;
21
21
  if (!_makeArrowTable) {
22
22
  throw new Error('');
23
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"convert-table.js","names":["getTableCell","getTableLength","getTableRowAsArray","getTableRowAsObject","deduceTableSchema","makeColumnFromField","convertTable","table","shape","makeObjectRowTable","makeArrayRowTable","makeColumnarTable","makeArrowTable","Error","_globalThis$__luma","_makeArrowTable","globalThis","__luma","_table$schema","schema","fields","length","columns","field","column","name","rowIndex","data","Array"],"sources":["../../../../src/lib/table/simple-table/convert-table.ts"],"sourcesContent":["// loaders.gl, MIT license\n// Copyright (c) vis.gl contributors\nimport {\n getTableCell,\n getTableLength,\n getTableRowAsArray,\n getTableRowAsObject\n} from './table-accessors';\nimport {\n Table,\n ArrayRowTable,\n ObjectRowTable,\n ColumnarTable,\n ArrowTable\n} from '../../../types/category-table';\nimport {deduceTableSchema} from './table-schema';\nimport {makeColumnFromField} from './table-column';\n\nexport function convertTable(table: Table, shape: 'object-row-table'): ObjectRowTable;\nexport function convertTable(table: Table, shape: 'array-row-table'): ArrayRowTable;\nexport function convertTable(table: Table, shape: 'columnar-table'): ColumnarTable;\nexport function convertTable(table: Table, shape: 'arrow-table'): ArrowTable;\n\n/**\n * Convert a table to a different shape\n * @param table\n * @param shape\n * @returns\n */\nexport function convertTable(\n table: Table,\n shape: 'object-row-table' | 'array-row-table' | 'columnar-table' | 'arrow-table'\n) {\n switch (shape) {\n case 'object-row-table':\n return makeObjectRowTable(table);\n case 'array-row-table':\n return makeArrayRowTable(table);\n case 'columnar-table':\n return makeColumnarTable(table);\n case 'arrow-table':\n return makeArrowTable(table);\n default:\n throw new Error(shape);\n }\n}\n\n/**\n * Convert a table to apache arrow format\n * @note this depends on the `@loaders.gl/arrow module being imported\n */\nexport function makeArrowTable(table: Table): Table {\n const _makeArrowTable = globalThis.__luma?._makeArrowTable;\n if (!_makeArrowTable) {\n throw new Error('');\n }\n return _makeArrowTable(table);\n}\n\n/** Convert any simple table into columnar format */\nexport function makeColumnarTable(table: Table): ColumnarTable {\n // TODO - should schema really be optional?\n const schema = table.schema || deduceTableSchema(table);\n const fields = table.schema?.fields || [];\n\n if (table.shape === 'columnar-table') {\n return {...table, schema};\n }\n\n const length = getTableLength(table);\n\n const columns: {[column: string]: ArrayLike<unknown>} = {};\n for (const field of fields) {\n const column = makeColumnFromField(field, length);\n columns[field.name] = column;\n for (let rowIndex = 0; rowIndex < length; rowIndex++) {\n column[rowIndex] = getTableCell(table, rowIndex, field.name);\n }\n }\n\n return {\n shape: 'columnar-table',\n schema,\n data: columns\n };\n}\n\n/** Convert any table into array row format */\nexport function makeArrayRowTable(table: Table): ArrayRowTable {\n if (table.shape === 'array-row-table') {\n return table;\n }\n const length = getTableLength(table);\n const data = new Array<unknown[]>(length);\n for (let rowIndex = 0; rowIndex < length; rowIndex++) {\n data[rowIndex] = getTableRowAsArray(table, rowIndex);\n }\n return {\n shape: 'array-row-table',\n schema: table.schema,\n data\n };\n}\n\n/** Convert any table into object row format */\nexport function makeObjectRowTable(table: Table): ObjectRowTable {\n if (table.shape === 'object-row-table') {\n return table;\n }\n const length = getTableLength(table);\n const data = new Array<{[key: string]: unknown}>(length);\n for (let rowIndex = 0; rowIndex < length; rowIndex++) {\n data[rowIndex] = getTableRowAsObject(table, rowIndex);\n }\n return {\n shape: 'object-row-table',\n schema: table.schema,\n data\n };\n}\n\n/**\n/**\n *\n * @note - should be part of schema module\nexport function convertColumnarToRowFormatTable(columnarTable: ColumnarTable): ObjectRowTable {\n const tableKeys = ;\n const tableRowsCount = columnarTable[tableKeys[0]].length;\n\n const objectRows: ObjectRowTable['data'] = [];\n\n for (let index = 0; index < tableRowsCount; index++) {\n const objectRow = {};\n for (const fieldName of Object.keys(columnarTable.data)) {\n objectRow[fieldName] = columnarTable[fieldName][index];\n }\n objectRows.push(objectRow);\n }\n\n return {\n shape: 'object-row-table',\n data: objectRows\n };\n}\n */\n"],"mappings":"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"}
1
+ {"version":3,"file":"convert-table.js","names":["getTableCell","getTableLength","getTableRowAsArray","getTableRowAsObject","deduceTableSchema","makeColumnFromField","convertTable","table","shape","makeObjectRowTable","makeArrayRowTable","makeColumnarTable","makeArrowTable","Error","_globalThis$__loaders","_makeArrowTable","globalThis","__loaders","_table$schema","schema","fields","length","columns","field","column","name","rowIndex","data","Array"],"sources":["../../../../src/lib/table/simple-table/convert-table.ts"],"sourcesContent":["// loaders.gl, MIT license\n// Copyright (c) vis.gl contributors\n\nimport {\n getTableCell,\n getTableLength,\n getTableRowAsArray,\n getTableRowAsObject\n} from './table-accessors';\nimport {\n Table,\n ArrayRowTable,\n ObjectRowTable,\n ColumnarTable,\n ArrowTable\n} from '../../../types/category-table';\nimport {deduceTableSchema} from './table-schema';\nimport {makeColumnFromField} from './table-column';\n\nexport function convertTable(table: Table, shape: 'object-row-table'): ObjectRowTable;\nexport function convertTable(table: Table, shape: 'array-row-table'): ArrayRowTable;\nexport function convertTable(table: Table, shape: 'columnar-table'): ColumnarTable;\nexport function convertTable(table: Table, shape: 'arrow-table'): ArrowTable;\n\n/**\n * Convert a table to a different shape\n * @param table\n * @param shape\n * @returns\n */\nexport function convertTable(\n table: Table,\n shape: 'object-row-table' | 'array-row-table' | 'columnar-table' | 'arrow-table'\n) {\n switch (shape) {\n case 'object-row-table':\n return makeObjectRowTable(table);\n case 'array-row-table':\n return makeArrayRowTable(table);\n case 'columnar-table':\n return makeColumnarTable(table);\n case 'arrow-table':\n return makeArrowTable(table);\n default:\n throw new Error(shape);\n }\n}\n\n/**\n * Convert a table to apache arrow format\n * @note this depends on the `@loaders.gl/arrow module being imported\n */\nexport function makeArrowTable(table: Table): Table {\n const _makeArrowTable = globalThis.__loaders?._makeArrowTable;\n if (!_makeArrowTable) {\n throw new Error('');\n }\n return _makeArrowTable(table);\n}\n\n/** Convert any simple table into columnar format */\nexport function makeColumnarTable(table: Table): ColumnarTable {\n // TODO - should schema really be optional?\n const schema = table.schema || deduceTableSchema(table);\n const fields = table.schema?.fields || [];\n\n if (table.shape === 'columnar-table') {\n return {...table, schema};\n }\n\n const length = getTableLength(table);\n\n const columns: {[column: string]: ArrayLike<unknown>} = {};\n for (const field of fields) {\n const column = makeColumnFromField(field, length);\n columns[field.name] = column;\n for (let rowIndex = 0; rowIndex < length; rowIndex++) {\n column[rowIndex] = getTableCell(table, rowIndex, field.name);\n }\n }\n\n return {\n shape: 'columnar-table',\n schema,\n data: columns\n };\n}\n\n/** Convert any table into array row format */\nexport function makeArrayRowTable(table: Table): ArrayRowTable {\n if (table.shape === 'array-row-table') {\n return table;\n }\n const length = getTableLength(table);\n const data = new Array<unknown[]>(length);\n for (let rowIndex = 0; rowIndex < length; rowIndex++) {\n data[rowIndex] = getTableRowAsArray(table, rowIndex);\n }\n return {\n shape: 'array-row-table',\n schema: table.schema,\n data\n };\n}\n\n/** Convert any table into object row format */\nexport function makeObjectRowTable(table: Table): ObjectRowTable {\n if (table.shape === 'object-row-table') {\n return table;\n }\n const length = getTableLength(table);\n const data = new Array<{[key: string]: unknown}>(length);\n for (let rowIndex = 0; rowIndex < length; rowIndex++) {\n data[rowIndex] = getTableRowAsObject(table, rowIndex);\n }\n return {\n shape: 'object-row-table',\n schema: table.schema,\n data\n };\n}\n\n/**\n/**\n *\n * @note - should be part of schema module\nexport function convertColumnarToRowFormatTable(columnarTable: ColumnarTable): ObjectRowTable {\n const tableKeys = ;\n const tableRowsCount = columnarTable[tableKeys[0]].length;\n\n const objectRows: ObjectRowTable['data'] = [];\n\n for (let index = 0; index < tableRowsCount; index++) {\n const objectRow = {};\n for (const fieldName of Object.keys(columnarTable.data)) {\n objectRow[fieldName] = columnarTable[fieldName][index];\n }\n objectRows.push(objectRow);\n }\n\n return {\n shape: 'object-row-table',\n data: objectRows\n };\n}\n */\n"],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import type { TableBatch, Table } from '@loaders.gl/schema';
2
+ /**
3
+ * Returns an async iterator that yields a single table as a sequence of batches.
4
+ * @note Currently only a single batch is yielded.
5
+ * @note All batches will have the same shape and schema as the original table.
6
+ * @param batchIterator
7
+ * @returns `null` if no batches are yielded by the async iterator
8
+ */
9
+ export declare function makeBatchesFromTable(table: Table): IterableIterator<TableBatch>;
10
+ /**
11
+ * Assembles all batches from an async iterator into a single table.
12
+ * @note All batches must have the same shape and schema
13
+ * @param batchIterator
14
+ * @returns `null` if no batches are yielded by the async iterator
15
+ */
16
+ export declare function makeTableFromBatches(batchIterator: AsyncIterableIterator<TableBatch> | IterableIterator<TableBatch>): Promise<Table | null>;
17
+ //# sourceMappingURL=make-table-from-batches.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"make-table-from-batches.d.ts","sourceRoot":"","sources":["../../../../src/lib/table/simple-table/make-table-from-batches.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,UAAU,EACV,KAAK,EAKN,MAAM,oBAAoB,CAAC;AAG5B;;;;;;GAMG;AACH,wBAAiB,oBAAoB,CAAC,KAAK,EAAE,KAAK,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAEhF;AAED;;;;;GAKG;AACH,wBAAsB,oBAAoB,CACxC,aAAa,EAAE,qBAAqB,CAAC,UAAU,CAAC,GAAG,gBAAgB,CAAC,UAAU,CAAC,GAC9E,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,CA4DvB"}
@@ -0,0 +1,73 @@
1
+ import { getTableLength } from '@loaders.gl/schema';
2
+ export function* makeBatchesFromTable(table) {
3
+ yield {
4
+ ...table,
5
+ length: getTableLength(table),
6
+ batchType: 'data'
7
+ };
8
+ }
9
+ export async function makeTableFromBatches(batchIterator) {
10
+ let arrayRows;
11
+ let objectRows;
12
+ let features;
13
+ let shape = null;
14
+ let schema;
15
+ for await (const batch of batchIterator) {
16
+ shape = shape || batch.shape;
17
+ schema = schema || batch.schema;
18
+ switch (batch.shape) {
19
+ case 'array-row-table':
20
+ arrayRows = arrayRows || [];
21
+ for (let rowIndex = 0; rowIndex < getTableLength(batch); rowIndex++) {
22
+ const row = batch.data[rowIndex];
23
+ arrayRows.push(row);
24
+ }
25
+ break;
26
+ case 'object-row-table':
27
+ objectRows = objectRows || [];
28
+ for (let rowIndex = 0; rowIndex < getTableLength(batch); rowIndex++) {
29
+ const row = batch.data[rowIndex];
30
+ objectRows.push(row);
31
+ }
32
+ break;
33
+ case 'geojson-table':
34
+ features = features || [];
35
+ for (let rowIndex = 0; rowIndex < getTableLength(batch); rowIndex++) {
36
+ const row = batch.features[rowIndex];
37
+ features.push(row);
38
+ }
39
+ break;
40
+ case 'columnar-table':
41
+ case 'arrow-table':
42
+ default:
43
+ throw new Error('shape');
44
+ }
45
+ }
46
+ if (!shape) {
47
+ return null;
48
+ }
49
+ switch (shape) {
50
+ case 'array-row-table':
51
+ return {
52
+ shape: 'array-row-table',
53
+ data: arrayRows,
54
+ schema
55
+ };
56
+ case 'object-row-table':
57
+ return {
58
+ shape: 'object-row-table',
59
+ data: objectRows,
60
+ schema
61
+ };
62
+ case 'geojson-table':
63
+ return {
64
+ shape: 'geojson-table',
65
+ type: 'FeatureCollection',
66
+ features: features,
67
+ schema
68
+ };
69
+ default:
70
+ return null;
71
+ }
72
+ }
73
+ //# sourceMappingURL=make-table-from-batches.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"make-table-from-batches.js","names":["getTableLength","makeBatchesFromTable","table","length","batchType","makeTableFromBatches","batchIterator","arrayRows","objectRows","features","shape","schema","batch","rowIndex","row","data","push","Error","type"],"sources":["../../../../src/lib/table/simple-table/make-table-from-batches.ts"],"sourcesContent":["// loaders.gl, MIT license\n// Copyright (c) vis.gl contributors\n\nimport type {\n TableBatch,\n Table,\n Schema,\n ObjectRowTable,\n ArrayRowTable,\n Feature\n} from '@loaders.gl/schema';\nimport {getTableLength} from '@loaders.gl/schema';\n\n/**\n * Returns an async iterator that yields a single table as a sequence of batches.\n * @note Currently only a single batch is yielded.\n * @note All batches will have the same shape and schema as the original table.\n * @param batchIterator\n * @returns `null` if no batches are yielded by the async iterator\n */\nexport function* makeBatchesFromTable(table: Table): IterableIterator<TableBatch> {\n yield {...table, length: getTableLength(table), batchType: 'data'};\n}\n\n/**\n * Assembles all batches from an async iterator into a single table.\n * @note All batches must have the same shape and schema\n * @param batchIterator\n * @returns `null` if no batches are yielded by the async iterator\n */\nexport async function makeTableFromBatches(\n batchIterator: AsyncIterableIterator<TableBatch> | IterableIterator<TableBatch>\n): Promise<Table | null> {\n let arrayRows: ArrayRowTable['data'];\n let objectRows: ObjectRowTable['data'];\n let features: Feature[];\n let shape: Table['shape'] | null = null;\n let schema: Schema | undefined;\n\n for await (const batch of batchIterator) {\n shape = shape || batch.shape;\n schema = schema || batch.schema;\n\n switch (batch.shape) {\n case 'array-row-table':\n arrayRows = arrayRows! || [];\n for (let rowIndex = 0; rowIndex < getTableLength(batch); rowIndex++) {\n const row = batch.data[rowIndex];\n arrayRows.push(row);\n }\n break;\n\n case 'object-row-table':\n objectRows = objectRows! || [];\n for (let rowIndex = 0; rowIndex < getTableLength(batch); rowIndex++) {\n const row = batch.data[rowIndex];\n objectRows.push(row);\n }\n break;\n\n case 'geojson-table':\n features = features! || [];\n for (let rowIndex = 0; rowIndex < getTableLength(batch); rowIndex++) {\n const row = batch.features[rowIndex];\n features.push(row);\n }\n break;\n\n case 'columnar-table':\n case 'arrow-table':\n default:\n throw new Error('shape');\n }\n }\n\n if (!shape) {\n return null;\n }\n\n switch (shape) {\n case 'array-row-table':\n return {shape: 'array-row-table', data: arrayRows!, schema};\n\n case 'object-row-table':\n return {shape: 'object-row-table', data: objectRows!, schema};\n\n case 'geojson-table':\n return {shape: 'geojson-table', type: 'FeatureCollection', features: features!, schema};\n\n default:\n return null;\n }\n}\n"],"mappings":"AAWA,SAAQA,cAAc,QAAO,oBAAoB;AASjD,OAAO,UAAUC,oBAAoBA,CAACC,KAAY,EAAgC;EAChF,MAAM;IAAC,GAAGA,KAAK;IAAEC,MAAM,EAAEH,cAAc,CAACE,KAAK,CAAC;IAAEE,SAAS,EAAE;EAAM,CAAC;AACpE;AAQA,OAAO,eAAeC,oBAAoBA,CACxCC,aAA+E,EACxD;EACvB,IAAIC,SAAgC;EACpC,IAAIC,UAAkC;EACtC,IAAIC,QAAmB;EACvB,IAAIC,KAA4B,GAAG,IAAI;EACvC,IAAIC,MAA0B;EAE9B,WAAW,MAAMC,KAAK,IAAIN,aAAa,EAAE;IACvCI,KAAK,GAAGA,KAAK,IAAIE,KAAK,CAACF,KAAK;IAC5BC,MAAM,GAAGA,MAAM,IAAIC,KAAK,CAACD,MAAM;IAE/B,QAAQC,KAAK,CAACF,KAAK;MACjB,KAAK,iBAAiB;QACpBH,SAAS,GAAGA,SAAS,IAAK,EAAE;QAC5B,KAAK,IAAIM,QAAQ,GAAG,CAAC,EAAEA,QAAQ,GAAGb,cAAc,CAACY,KAAK,CAAC,EAAEC,QAAQ,EAAE,EAAE;UACnE,MAAMC,GAAG,GAAGF,KAAK,CAACG,IAAI,CAACF,QAAQ,CAAC;UAChCN,SAAS,CAACS,IAAI,CAACF,GAAG,CAAC;QACrB;QACA;MAEF,KAAK,kBAAkB;QACrBN,UAAU,GAAGA,UAAU,IAAK,EAAE;QAC9B,KAAK,IAAIK,QAAQ,GAAG,CAAC,EAAEA,QAAQ,GAAGb,cAAc,CAACY,KAAK,CAAC,EAAEC,QAAQ,EAAE,EAAE;UACnE,MAAMC,GAAG,GAAGF,KAAK,CAACG,IAAI,CAACF,QAAQ,CAAC;UAChCL,UAAU,CAACQ,IAAI,CAACF,GAAG,CAAC;QACtB;QACA;MAEF,KAAK,eAAe;QAClBL,QAAQ,GAAGA,QAAQ,IAAK,EAAE;QAC1B,KAAK,IAAII,QAAQ,GAAG,CAAC,EAAEA,QAAQ,GAAGb,cAAc,CAACY,KAAK,CAAC,EAAEC,QAAQ,EAAE,EAAE;UACnE,MAAMC,GAAG,GAAGF,KAAK,CAACH,QAAQ,CAACI,QAAQ,CAAC;UACpCJ,QAAQ,CAACO,IAAI,CAACF,GAAG,CAAC;QACpB;QACA;MAEF,KAAK,gBAAgB;MACrB,KAAK,aAAa;MAClB;QACE,MAAM,IAAIG,KAAK,CAAC,OAAO,CAAC;IAC5B;EACF;EAEA,IAAI,CAACP,KAAK,EAAE;IACV,OAAO,IAAI;EACb;EAEA,QAAQA,KAAK;IACX,KAAK,iBAAiB;MACpB,OAAO;QAACA,KAAK,EAAE,iBAAiB;QAAEK,IAAI,EAAER,SAAU;QAAEI;MAAM,CAAC;IAE7D,KAAK,kBAAkB;MACrB,OAAO;QAACD,KAAK,EAAE,kBAAkB;QAAEK,IAAI,EAAEP,UAAW;QAAEG;MAAM,CAAC;IAE/D,KAAK,eAAe;MAClB,OAAO;QAACD,KAAK,EAAE,eAAe;QAAEQ,IAAI,EAAE,mBAAmB;QAAET,QAAQ,EAAEA,QAAS;QAAEE;MAAM,CAAC;IAEzF;MACE,OAAO,IAAI;EACf;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"make-table.d.ts","sourceRoot":"","sources":["../../../../src/lib/table/simple-table/make-table.ts"],"names":[],"mappings":"AAEA,OAAO,EAAQ,aAAa,EAAE,cAAc,EAAE,aAAa,EAAC,MAAM,+BAA+B,CAAC;AAGlG;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,GAAG,aAAa,CAAC;AACpE,wBAAgB,iBAAiB,CAAC,IAAI,EAAE;IAAC,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAA;CAAC,EAAE,GAAG,cAAc,CAAC;AACvF,wBAAgB,iBAAiB,CAAC,IAAI,EAAE;IAAC,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,CAAA;CAAC,GAAG,aAAa,CAAC;AA8C/F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmDE"}
1
+ {"version":3,"file":"make-table.d.ts","sourceRoot":"","sources":["../../../../src/lib/table/simple-table/make-table.ts"],"names":[],"mappings":"AAGA,OAAO,EAAQ,aAAa,EAAE,cAAc,EAAE,aAAa,EAAC,MAAM,+BAA+B,CAAC;AAGlG;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,GAAG,aAAa,CAAC;AACpE,wBAAgB,iBAAiB,CAAC,IAAI,EAAE;IAAC,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAA;CAAC,EAAE,GAAG,cAAc,CAAC;AACvF,wBAAgB,iBAAiB,CAAC,IAAI,EAAE;IAAC,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,CAAA;CAAC,GAAG,aAAa,CAAC;AA8C/F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmDE"}
@@ -1 +1 @@
1
- {"version":3,"file":"make-table.js","names":["deduceTableSchema","makeTableFromData","data","table","getTableShapeFromData","shape","Error","schema","Array","isArray","length","firstRow"],"sources":["../../../../src/lib/table/simple-table/make-table.ts"],"sourcesContent":["// loaders.gl, MIT license\n// Copyright (c) vis.gl contributors\nimport {Table, ArrayRowTable, ObjectRowTable, ColumnarTable} from '../../../types/category-table';\nimport {deduceTableSchema} from './table-schema';\n\n/**\n * Makes a typed table from data.\n * @throws Row tables must contain at least one row. Columnar tables must contain empty arrays\n */\nexport function makeTableFromData(data: unknown[][]): ArrayRowTable;\nexport function makeTableFromData(data: {[column: string]: unknown}[]): ObjectRowTable;\nexport function makeTableFromData(data: {[column: string]: ArrayLike<unknown>}): ColumnarTable;\nexport function makeTableFromData(data: unknown): Table {\n let table: Table;\n switch (getTableShapeFromData(data)) {\n case 'array-row-table':\n table = {shape: 'array-row-table', data: data as unknown[][]};\n break;\n case 'object-row-table':\n table = {shape: 'object-row-table', data: data as {[key: string]: unknown}[]};\n break;\n case 'columnar-table':\n table = {shape: 'columnar-table', data: data as {[column: string]: ArrayLike<unknown>}};\n break;\n default:\n throw new Error('table');\n }\n const schema = deduceTableSchema(table);\n return {...table, schema};\n}\n\n/** Helper function to get shape of data */\nfunction getTableShapeFromData(data) {\n if (Array.isArray(data)) {\n if (data.length === 0) {\n throw new Error('cannot deduce type of empty table');\n }\n\n // Deduce the table shape from the first row\n const firstRow = data[0];\n\n if (Array.isArray(firstRow)) {\n return 'array-row-table';\n }\n\n if (firstRow && typeof firstRow === 'object') {\n return 'object-row-table';\n }\n }\n\n if (data && typeof data === 'object') {\n return 'columnar-table';\n }\n\n throw new Error('invalid table');\n}\n\n/** Convert any table into object row format *\nexport function makeColumnarTable(table: Table): ColumnarTable {\n if (table.shape === 'columnar-table') {\n return table;\n }\n const length = getTableLength(table);\n const data = new Array<{[key: string]: unknown}>(length);\n for (let rowIndex = 0; rowIndex < length; rowIndex++) {\n data[rowIndex] = getTableRowAsObject(table, rowIndex);\n }\n return {\n shape: 'columnar-table',\n schema: table.schema,\n data\n };\n}\n\n\n/** Convert any table into array row format *\nexport function makeArrayRowTable(table: TableLike): ArrayRowTable {\n if (table.shape === 'array-row-table') {\n return table;\n }\n const length = getTableLength(table);\n const data = new Array<unknown[]>(length);\n for (let rowIndex = 0; rowIndex < length; rowIndex++) {\n data[rowIndex] = getTableRowAsArray(table, rowIndex);\n }\n return {\n shape: 'array-row-table',\n schema: table.schema,\n data\n };\n}\n\n/** Convert any table into object row format *\nexport function makeObjectRowTable(table: Table): ObjectRowTable {\n if (table.shape === 'object-row-table') {\n return table;\n }\n const length = getTableLength(table);\n const data = new Array<{[key: string]: unknown}>(length);\n for (let rowIndex = 0; rowIndex < length; rowIndex++) {\n data[rowIndex] = getTableRowAsObject(table, rowIndex);\n }\n return {\n shape: 'object-row-table',\n schema: table.schema,\n data\n };\n}\n*/\n"],"mappings":"SAGQA,iBAAiB;AASzB,OAAO,SAASC,iBAAiBA,CAACC,IAAa,EAAS;EACtD,IAAIC,KAAY;EAChB,QAAQC,qBAAqB,CAACF,IAAI,CAAC;IACjC,KAAK,iBAAiB;MACpBC,KAAK,GAAG;QAACE,KAAK,EAAE,iBAAiB;QAAEH,IAAI,EAAEA;MAAmB,CAAC;MAC7D;IACF,KAAK,kBAAkB;MACrBC,KAAK,GAAG;QAACE,KAAK,EAAE,kBAAkB;QAAEH,IAAI,EAAEA;MAAkC,CAAC;MAC7E;IACF,KAAK,gBAAgB;MACnBC,KAAK,GAAG;QAACE,KAAK,EAAE,gBAAgB;QAAEH,IAAI,EAAEA;MAA8C,CAAC;MACvF;IACF;MACE,MAAM,IAAII,KAAK,CAAC,OAAO,CAAC;EAC5B;EACA,MAAMC,MAAM,GAAGP,iBAAiB,CAACG,KAAK,CAAC;EACvC,OAAO;IAAC,GAAGA,KAAK;IAAEI;EAAM,CAAC;AAC3B;AAGA,SAASH,qBAAqBA,CAACF,IAAI,EAAE;EACnC,IAAIM,KAAK,CAACC,OAAO,CAACP,IAAI,CAAC,EAAE;IACvB,IAAIA,IAAI,CAACQ,MAAM,KAAK,CAAC,EAAE;MACrB,MAAM,IAAIJ,KAAK,CAAC,mCAAmC,CAAC;IACtD;IAGA,MAAMK,QAAQ,GAAGT,IAAI,CAAC,CAAC,CAAC;IAExB,IAAIM,KAAK,CAACC,OAAO,CAACE,QAAQ,CAAC,EAAE;MAC3B,OAAO,iBAAiB;IAC1B;IAEA,IAAIA,QAAQ,IAAI,OAAOA,QAAQ,KAAK,QAAQ,EAAE;MAC5C,OAAO,kBAAkB;IAC3B;EACF;EAEA,IAAIT,IAAI,IAAI,OAAOA,IAAI,KAAK,QAAQ,EAAE;IACpC,OAAO,gBAAgB;EACzB;EAEA,MAAM,IAAII,KAAK,CAAC,eAAe,CAAC;AAClC"}
1
+ {"version":3,"file":"make-table.js","names":["deduceTableSchema","makeTableFromData","data","table","getTableShapeFromData","shape","Error","schema","Array","isArray","length","firstRow"],"sources":["../../../../src/lib/table/simple-table/make-table.ts"],"sourcesContent":["// loaders.gl, MIT license\n// Copyright (c) vis.gl contributors\n\nimport {Table, ArrayRowTable, ObjectRowTable, ColumnarTable} from '../../../types/category-table';\nimport {deduceTableSchema} from './table-schema';\n\n/**\n * Makes a typed table from data.\n * @throws Row tables must contain at least one row. Columnar tables must contain empty arrays\n */\nexport function makeTableFromData(data: unknown[][]): ArrayRowTable;\nexport function makeTableFromData(data: {[column: string]: unknown}[]): ObjectRowTable;\nexport function makeTableFromData(data: {[column: string]: ArrayLike<unknown>}): ColumnarTable;\nexport function makeTableFromData(data: unknown): Table {\n let table: Table;\n switch (getTableShapeFromData(data)) {\n case 'array-row-table':\n table = {shape: 'array-row-table', data: data as unknown[][]};\n break;\n case 'object-row-table':\n table = {shape: 'object-row-table', data: data as {[key: string]: unknown}[]};\n break;\n case 'columnar-table':\n table = {shape: 'columnar-table', data: data as {[column: string]: ArrayLike<unknown>}};\n break;\n default:\n throw new Error('table');\n }\n const schema = deduceTableSchema(table);\n return {...table, schema};\n}\n\n/** Helper function to get shape of data */\nfunction getTableShapeFromData(data) {\n if (Array.isArray(data)) {\n if (data.length === 0) {\n throw new Error('cannot deduce type of empty table');\n }\n\n // Deduce the table shape from the first row\n const firstRow = data[0];\n\n if (Array.isArray(firstRow)) {\n return 'array-row-table';\n }\n\n if (firstRow && typeof firstRow === 'object') {\n return 'object-row-table';\n }\n }\n\n if (data && typeof data === 'object') {\n return 'columnar-table';\n }\n\n throw new Error('invalid table');\n}\n\n/** Convert any table into object row format *\nexport function makeColumnarTable(table: Table): ColumnarTable {\n if (table.shape === 'columnar-table') {\n return table;\n }\n const length = getTableLength(table);\n const data = new Array<{[key: string]: unknown}>(length);\n for (let rowIndex = 0; rowIndex < length; rowIndex++) {\n data[rowIndex] = getTableRowAsObject(table, rowIndex);\n }\n return {\n shape: 'columnar-table',\n schema: table.schema,\n data\n };\n}\n\n\n/** Convert any table into array row format *\nexport function makeArrayRowTable(table: TableLike): ArrayRowTable {\n if (table.shape === 'array-row-table') {\n return table;\n }\n const length = getTableLength(table);\n const data = new Array<unknown[]>(length);\n for (let rowIndex = 0; rowIndex < length; rowIndex++) {\n data[rowIndex] = getTableRowAsArray(table, rowIndex);\n }\n return {\n shape: 'array-row-table',\n schema: table.schema,\n data\n };\n}\n\n/** Convert any table into object row format *\nexport function makeObjectRowTable(table: Table): ObjectRowTable {\n if (table.shape === 'object-row-table') {\n return table;\n }\n const length = getTableLength(table);\n const data = new Array<{[key: string]: unknown}>(length);\n for (let rowIndex = 0; rowIndex < length; rowIndex++) {\n data[rowIndex] = getTableRowAsObject(table, rowIndex);\n }\n return {\n shape: 'object-row-table',\n schema: table.schema,\n data\n };\n}\n*/\n"],"mappings":"SAIQA,iBAAiB;AASzB,OAAO,SAASC,iBAAiBA,CAACC,IAAa,EAAS;EACtD,IAAIC,KAAY;EAChB,QAAQC,qBAAqB,CAACF,IAAI,CAAC;IACjC,KAAK,iBAAiB;MACpBC,KAAK,GAAG;QAACE,KAAK,EAAE,iBAAiB;QAAEH,IAAI,EAAEA;MAAmB,CAAC;MAC7D;IACF,KAAK,kBAAkB;MACrBC,KAAK,GAAG;QAACE,KAAK,EAAE,kBAAkB;QAAEH,IAAI,EAAEA;MAAkC,CAAC;MAC7E;IACF,KAAK,gBAAgB;MACnBC,KAAK,GAAG;QAACE,KAAK,EAAE,gBAAgB;QAAEH,IAAI,EAAEA;MAA8C,CAAC;MACvF;IACF;MACE,MAAM,IAAII,KAAK,CAAC,OAAO,CAAC;EAC5B;EACA,MAAMC,MAAM,GAAGP,iBAAiB,CAACG,KAAK,CAAC;EACvC,OAAO;IAAC,GAAGA,KAAK;IAAEI;EAAM,CAAC;AAC3B;AAGA,SAASH,qBAAqBA,CAACF,IAAI,EAAE;EACnC,IAAIM,KAAK,CAACC,OAAO,CAACP,IAAI,CAAC,EAAE;IACvB,IAAIA,IAAI,CAACQ,MAAM,KAAK,CAAC,EAAE;MACrB,MAAM,IAAIJ,KAAK,CAAC,mCAAmC,CAAC;IACtD;IAGA,MAAMK,QAAQ,GAAGT,IAAI,CAAC,CAAC,CAAC;IAExB,IAAIM,KAAK,CAACC,OAAO,CAACE,QAAQ,CAAC,EAAE;MAC3B,OAAO,iBAAiB;IAC1B;IAEA,IAAIA,QAAQ,IAAI,OAAOA,QAAQ,KAAK,QAAQ,EAAE;MAC5C,OAAO,kBAAkB;IAC3B;EACF;EAEA,IAAIT,IAAI,IAAI,OAAOA,IAAI,KAAK,QAAQ,EAAE;IACpC,OAAO,gBAAgB;EACzB;EAEA,MAAM,IAAII,KAAK,CAAC,eAAe,CAAC;AAClC"}
@@ -1 +1 @@
1
- {"version":3,"file":"row-utils.d.ts","sourceRoot":"","sources":["../../../../src/lib/table/simple-table/row-utils.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,GAAG,EAAE,EACf,OAAO,EAAE,MAAM,EAAE,GAChB;IAAC,CAAC,UAAU,EAAE,MAAM,GAAG,GAAG,CAAA;CAAC,CAY7B;AAED,4CAA4C;AAC5C,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE;IAAC,CAAC,UAAU,EAAE,MAAM,GAAG,GAAG,CAAA;CAAC,EACtC,OAAO,EAAE,MAAM,EAAE,GAChB,GAAG,EAAE,CAYP"}
1
+ {"version":3,"file":"row-utils.d.ts","sourceRoot":"","sources":["../../../../src/lib/table/simple-table/row-utils.ts"],"names":[],"mappings":"AAGA,4CAA4C;AAC5C,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,GAAG,EAAE,EACf,OAAO,EAAE,MAAM,EAAE,GAChB;IAAC,CAAC,UAAU,EAAE,MAAM,GAAG,GAAG,CAAA;CAAC,CAY7B;AAED,4CAA4C;AAC5C,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE;IAAC,CAAC,UAAU,EAAE,MAAM,GAAG,GAAG,CAAA;CAAC,EACtC,OAAO,EAAE,MAAM,EAAE,GAChB,GAAG,EAAE,CAYP"}
@@ -1 +1 @@
1
- {"version":3,"file":"row-utils.js","names":["convertToObjectRow","arrayRow","headers","Error","objectRow","i","length","convertToArrayRow","Array"],"sources":["../../../../src/lib/table/simple-table/row-utils.ts"],"sourcesContent":["/** Convert an object row to an array row */\nexport function convertToObjectRow(\n arrayRow: any[],\n headers: string[]\n): {[columnName: string]: any} {\n if (!arrayRow) {\n throw new Error('null row');\n }\n if (!headers) {\n throw new Error('no headers');\n }\n const objectRow = {};\n for (let i = 0; i < headers.length; i++) {\n objectRow[headers[i]] = arrayRow[i];\n }\n return objectRow;\n}\n\n/** Convert an object row to an array row */\nexport function convertToArrayRow(\n objectRow: {[columnName: string]: any},\n headers: string[]\n): any[] {\n if (!objectRow) {\n throw new Error('null row');\n }\n if (!headers) {\n throw new Error('no headers');\n }\n const arrayRow = new Array(headers.length);\n for (let i = 0; i < headers.length; i++) {\n arrayRow[i] = objectRow[headers[i]];\n }\n return arrayRow;\n}\n"],"mappings":"AACA,OAAO,SAASA,kBAAkBA,CAChCC,QAAe,EACfC,OAAiB,EACY;EAC7B,IAAI,CAACD,QAAQ,EAAE;IACb,MAAM,IAAIE,KAAK,CAAC,UAAU,CAAC;EAC7B;EACA,IAAI,CAACD,OAAO,EAAE;IACZ,MAAM,IAAIC,KAAK,CAAC,YAAY,CAAC;EAC/B;EACA,MAAMC,SAAS,GAAG,CAAC,CAAC;EACpB,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGH,OAAO,CAACI,MAAM,EAAED,CAAC,EAAE,EAAE;IACvCD,SAAS,CAACF,OAAO,CAACG,CAAC,CAAC,CAAC,GAAGJ,QAAQ,CAACI,CAAC,CAAC;EACrC;EACA,OAAOD,SAAS;AAClB;AAGA,OAAO,SAASG,iBAAiBA,CAC/BH,SAAsC,EACtCF,OAAiB,EACV;EACP,IAAI,CAACE,SAAS,EAAE;IACd,MAAM,IAAID,KAAK,CAAC,UAAU,CAAC;EAC7B;EACA,IAAI,CAACD,OAAO,EAAE;IACZ,MAAM,IAAIC,KAAK,CAAC,YAAY,CAAC;EAC/B;EACA,MAAMF,QAAQ,GAAG,IAAIO,KAAK,CAACN,OAAO,CAACI,MAAM,CAAC;EAC1C,KAAK,IAAID,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGH,OAAO,CAACI,MAAM,EAAED,CAAC,EAAE,EAAE;IACvCJ,QAAQ,CAACI,CAAC,CAAC,GAAGD,SAAS,CAACF,OAAO,CAACG,CAAC,CAAC,CAAC;EACrC;EACA,OAAOJ,QAAQ;AACjB"}
1
+ {"version":3,"file":"row-utils.js","names":["convertToObjectRow","arrayRow","headers","Error","objectRow","i","length","convertToArrayRow","Array"],"sources":["../../../../src/lib/table/simple-table/row-utils.ts"],"sourcesContent":["// loaders.gl, MIT license\n// Copyright (c) vis.gl contributors\n\n/** Convert an object row to an array row */\nexport function convertToObjectRow(\n arrayRow: any[],\n headers: string[]\n): {[columnName: string]: any} {\n if (!arrayRow) {\n throw new Error('null row');\n }\n if (!headers) {\n throw new Error('no headers');\n }\n const objectRow = {};\n for (let i = 0; i < headers.length; i++) {\n objectRow[headers[i]] = arrayRow[i];\n }\n return objectRow;\n}\n\n/** Convert an object row to an array row */\nexport function convertToArrayRow(\n objectRow: {[columnName: string]: any},\n headers: string[]\n): any[] {\n if (!objectRow) {\n throw new Error('null row');\n }\n if (!headers) {\n throw new Error('no headers');\n }\n const arrayRow = new Array(headers.length);\n for (let i = 0; i < headers.length; i++) {\n arrayRow[i] = objectRow[headers[i]];\n }\n return arrayRow;\n}\n"],"mappings":"AAIA,OAAO,SAASA,kBAAkBA,CAChCC,QAAe,EACfC,OAAiB,EACY;EAC7B,IAAI,CAACD,QAAQ,EAAE;IACb,MAAM,IAAIE,KAAK,CAAC,UAAU,CAAC;EAC7B;EACA,IAAI,CAACD,OAAO,EAAE;IACZ,MAAM,IAAIC,KAAK,CAAC,YAAY,CAAC;EAC/B;EACA,MAAMC,SAAS,GAAG,CAAC,CAAC;EACpB,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGH,OAAO,CAACI,MAAM,EAAED,CAAC,EAAE,EAAE;IACvCD,SAAS,CAACF,OAAO,CAACG,CAAC,CAAC,CAAC,GAAGJ,QAAQ,CAACI,CAAC,CAAC;EACrC;EACA,OAAOD,SAAS;AAClB;AAGA,OAAO,SAASG,iBAAiBA,CAC/BH,SAAsC,EACtCF,OAAiB,EACV;EACP,IAAI,CAACE,SAAS,EAAE;IACd,MAAM,IAAID,KAAK,CAAC,UAAU,CAAC;EAC7B;EACA,IAAI,CAACD,OAAO,EAAE;IACZ,MAAM,IAAIC,KAAK,CAAC,YAAY,CAAC;EAC/B;EACA,MAAMF,QAAQ,GAAG,IAAIO,KAAK,CAACN,OAAO,CAACI,MAAM,CAAC;EAC1C,KAAK,IAAID,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGH,OAAO,CAACI,MAAM,EAAED,CAAC,EAAE,EAAE;IACvCJ,QAAQ,CAACI,CAAC,CAAC,GAAGD,SAAS,CAACF,OAAO,CAACG,CAAC,CAAC,CAAC;EACrC;EACA,OAAOJ,QAAQ;AACjB"}
@@ -1 +1 @@
1
- {"version":3,"file":"table-schema.d.ts","sourceRoot":"","sources":["../../../../src/lib/table/simple-table/table-schema.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,MAAM,EAAQ,MAAM,uBAAuB,CAAC;AAEpD,OAAO,EAAC,KAAK,EAAC,MAAM,+BAA+B,CAAC;AAGpD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAatD;AAED,wBAAgB,YAAY,CAC1B,IAAI,EAAE,OAAO,EAAE,EAAE,GAAG;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAC,EAAE,GAAG;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,EAAE,CAAA;CAAC,GAC1E,MAAM,CAER"}
1
+ {"version":3,"file":"table-schema.d.ts","sourceRoot":"","sources":["../../../../src/lib/table/simple-table/table-schema.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,MAAM,EAAQ,MAAM,uBAAuB,CAAC;AAEpD,OAAO,EAAC,KAAK,EAAC,MAAM,+BAA+B,CAAC;AAGpD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAatD;AAED,wBAAgB,YAAY,CAC1B,IAAI,EAAE,OAAO,EAAE,EAAE,GAAG;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAC,EAAE,GAAG;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,EAAE,CAAA;CAAC,GAC1E,MAAM,CAER"}
@@ -1 +1 @@
1
- {"version":3,"file":"table-schema.js","names":["getDataTypeFromArray","getDataTypeFromValue","deduceTableSchema","table","shape","deduceSchemaFromRows","data","deduceSchemaFromColumns","Error","deduceSchema","Array","isArray","columnarTable","fields","columnName","column","Object","entries","field","deduceFieldFromColumn","push","metadata","rowTable","length","row0","value","deduceFieldFromValue","name","ArrayBuffer","isView","type","nullable"],"sources":["../../../../src/lib/table/simple-table/table-schema.ts"],"sourcesContent":["// Type deduction\nimport {Schema, Field} from '../../../types/schema';\nimport {ArrayType} from '../../../types/types';\nimport {Table} from '../../../types/category-table';\nimport {getDataTypeFromArray, getDataTypeFromValue} from './data-type';\n\n/**\n * SCHEMA SUPPORT - AUTODEDUCTION\n * @param {*} table\n * @param {*} schema\n * @returns\n */\nexport function deduceTableSchema(table: Table): Schema {\n switch (table.shape) {\n case 'array-row-table':\n case 'object-row-table':\n return deduceSchemaFromRows(table.data);\n\n case 'columnar-table':\n return deduceSchemaFromColumns(table.data);\n\n case 'arrow-table':\n default:\n throw new Error('Deduce schema');\n }\n}\n\nexport function deduceSchema(\n data: unknown[][] | {[key: string]: unknown}[] | {[key: string]: unknown[]}\n): Schema {\n return Array.isArray(data) ? deduceSchemaFromRows(data) : deduceSchemaFromColumns(data);\n}\n\n/** Given an object with columnar arrays, try to deduce a schema */\nfunction deduceSchemaFromColumns(columnarTable: {[key: string]: ArrayType}): Schema {\n const fields: Field[] = [];\n for (const [columnName, column] of Object.entries(columnarTable)) {\n const field = deduceFieldFromColumn(column, columnName);\n fields.push(field);\n }\n return {fields, metadata: {}};\n}\n\n/** Given an array of rows, try to deduce a schema */\nfunction deduceSchemaFromRows(rowTable: unknown[][] | {[key: string]: unknown}[]): Schema {\n if (!rowTable.length) {\n throw new Error('deduce from empty table');\n }\n const fields: Field[] = [];\n const row0 = rowTable[0];\n // TODO - fields can be nullable, false detection...\n // Could look at additional rows if nulls in first row\n // TODO - if array, column names will be numbers\n for (const [columnName, value] of Object.entries(row0)) {\n fields.push(deduceFieldFromValue(value, columnName));\n }\n\n return {fields, metadata: {}};\n}\n\n/** Given a column (i.e. array), attempt to deduce an appropriate `Field` */\nfunction deduceFieldFromColumn(column: ArrayType, name: string): Field {\n if (ArrayBuffer.isView(column)) {\n const type = getDataTypeFromArray(column);\n return {\n name,\n type: type.type || 'null',\n nullable: type.nullable\n // metadata: {}\n };\n }\n\n if (Array.isArray(column) && column.length > 0) {\n const value = column[0];\n const type = getDataTypeFromValue(value);\n // TODO - support nested schemas?\n return {\n name,\n type,\n nullable: true\n // metadata: {},\n };\n }\n\n throw new Error('empty table');\n}\n\n/** Given a value, attempt to deduce an appropriate `Field` */\nfunction deduceFieldFromValue(value: unknown, name: string): Field {\n const type = getDataTypeFromValue(value);\n return {\n name,\n type,\n nullable: true\n // metadata: {}\n };\n}\n"],"mappings":"SAIQA,oBAAoB,EAAEC,oBAAoB;AAQlD,OAAO,SAASC,iBAAiBA,CAACC,KAAY,EAAU;EACtD,QAAQA,KAAK,CAACC,KAAK;IACjB,KAAK,iBAAiB;IACtB,KAAK,kBAAkB;MACrB,OAAOC,oBAAoB,CAACF,KAAK,CAACG,IAAI,CAAC;IAEzC,KAAK,gBAAgB;MACnB,OAAOC,uBAAuB,CAACJ,KAAK,CAACG,IAAI,CAAC;IAE5C,KAAK,aAAa;IAClB;MACE,MAAM,IAAIE,KAAK,CAAC,eAAe,CAAC;EACpC;AACF;AAEA,OAAO,SAASC,YAAYA,CAC1BH,IAA2E,EACnE;EACR,OAAOI,KAAK,CAACC,OAAO,CAACL,IAAI,CAAC,GAAGD,oBAAoB,CAACC,IAAI,CAAC,GAAGC,uBAAuB,CAACD,IAAI,CAAC;AACzF;AAGA,SAASC,uBAAuBA,CAACK,aAAyC,EAAU;EAClF,MAAMC,MAAe,GAAG,EAAE;EAC1B,KAAK,MAAM,CAACC,UAAU,EAAEC,MAAM,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACL,aAAa,CAAC,EAAE;IAChE,MAAMM,KAAK,GAAGC,qBAAqB,CAACJ,MAAM,EAAED,UAAU,CAAC;IACvDD,MAAM,CAACO,IAAI,CAACF,KAAK,CAAC;EACpB;EACA,OAAO;IAACL,MAAM;IAAEQ,QAAQ,EAAE,CAAC;EAAC,CAAC;AAC/B;AAGA,SAAShB,oBAAoBA,CAACiB,QAAkD,EAAU;EACxF,IAAI,CAACA,QAAQ,CAACC,MAAM,EAAE;IACpB,MAAM,IAAIf,KAAK,CAAC,yBAAyB,CAAC;EAC5C;EACA,MAAMK,MAAe,GAAG,EAAE;EAC1B,MAAMW,IAAI,GAAGF,QAAQ,CAAC,CAAC,CAAC;EAIxB,KAAK,MAAM,CAACR,UAAU,EAAEW,KAAK,CAAC,IAAIT,MAAM,CAACC,OAAO,CAACO,IAAI,CAAC,EAAE;IACtDX,MAAM,CAACO,IAAI,CAACM,oBAAoB,CAACD,KAAK,EAAEX,UAAU,CAAC,CAAC;EACtD;EAEA,OAAO;IAACD,MAAM;IAAEQ,QAAQ,EAAE,CAAC;EAAC,CAAC;AAC/B;AAGA,SAASF,qBAAqBA,CAACJ,MAAiB,EAAEY,IAAY,EAAS;EACrE,IAAIC,WAAW,CAACC,MAAM,CAACd,MAAM,CAAC,EAAE;IAC9B,MAAMe,IAAI,GAAG9B,oBAAoB,CAACe,MAAM,CAAC;IACzC,OAAO;MACLY,IAAI;MACJG,IAAI,EAAEA,IAAI,CAACA,IAAI,IAAI,MAAM;MACzBC,QAAQ,EAAED,IAAI,CAACC;IAEjB,CAAC;EACH;EAEA,IAAIrB,KAAK,CAACC,OAAO,CAACI,MAAM,CAAC,IAAIA,MAAM,CAACQ,MAAM,GAAG,CAAC,EAAE;IAC9C,MAAME,KAAK,GAAGV,MAAM,CAAC,CAAC,CAAC;IACvB,MAAMe,IAAI,GAAG7B,oBAAoB,CAACwB,KAAK,CAAC;IAExC,OAAO;MACLE,IAAI;MACJG,IAAI;MACJC,QAAQ,EAAE;IAEZ,CAAC;EACH;EAEA,MAAM,IAAIvB,KAAK,CAAC,aAAa,CAAC;AAChC;AAGA,SAASkB,oBAAoBA,CAACD,KAAc,EAAEE,IAAY,EAAS;EACjE,MAAMG,IAAI,GAAG7B,oBAAoB,CAACwB,KAAK,CAAC;EACxC,OAAO;IACLE,IAAI;IACJG,IAAI;IACJC,QAAQ,EAAE;EAEZ,CAAC;AACH"}
1
+ {"version":3,"file":"table-schema.js","names":["getDataTypeFromArray","getDataTypeFromValue","deduceTableSchema","table","shape","deduceSchemaFromRows","data","deduceSchemaFromColumns","Error","deduceSchema","Array","isArray","columnarTable","fields","columnName","column","Object","entries","field","deduceFieldFromColumn","push","metadata","rowTable","length","row0","value","deduceFieldFromValue","name","ArrayBuffer","isView","type","nullable"],"sources":["../../../../src/lib/table/simple-table/table-schema.ts"],"sourcesContent":["// loaders.gl, MIT license\n// Copyright (c) vis.gl contributors\n\n// Type deduction\nimport {Schema, Field} from '../../../types/schema';\nimport {ArrayType} from '../../../types/types';\nimport {Table} from '../../../types/category-table';\nimport {getDataTypeFromArray, getDataTypeFromValue} from './data-type';\n\n/**\n * SCHEMA SUPPORT - AUTODEDUCTION\n * @param {*} table\n * @param {*} schema\n * @returns\n */\nexport function deduceTableSchema(table: Table): Schema {\n switch (table.shape) {\n case 'array-row-table':\n case 'object-row-table':\n return deduceSchemaFromRows(table.data);\n\n case 'columnar-table':\n return deduceSchemaFromColumns(table.data);\n\n case 'arrow-table':\n default:\n throw new Error('Deduce schema');\n }\n}\n\nexport function deduceSchema(\n data: unknown[][] | {[key: string]: unknown}[] | {[key: string]: unknown[]}\n): Schema {\n return Array.isArray(data) ? deduceSchemaFromRows(data) : deduceSchemaFromColumns(data);\n}\n\n/** Given an object with columnar arrays, try to deduce a schema */\nfunction deduceSchemaFromColumns(columnarTable: {[key: string]: ArrayType}): Schema {\n const fields: Field[] = [];\n for (const [columnName, column] of Object.entries(columnarTable)) {\n const field = deduceFieldFromColumn(column, columnName);\n fields.push(field);\n }\n return {fields, metadata: {}};\n}\n\n/** Given an array of rows, try to deduce a schema */\nfunction deduceSchemaFromRows(rowTable: unknown[][] | {[key: string]: unknown}[]): Schema {\n if (!rowTable.length) {\n throw new Error('deduce from empty table');\n }\n const fields: Field[] = [];\n const row0 = rowTable[0];\n // TODO - fields can be nullable, false detection...\n // Could look at additional rows if nulls in first row\n // TODO - if array, column names will be numbers\n for (const [columnName, value] of Object.entries(row0)) {\n fields.push(deduceFieldFromValue(value, columnName));\n }\n\n return {fields, metadata: {}};\n}\n\n/** Given a column (i.e. array), attempt to deduce an appropriate `Field` */\nfunction deduceFieldFromColumn(column: ArrayType, name: string): Field {\n if (ArrayBuffer.isView(column)) {\n const type = getDataTypeFromArray(column);\n return {\n name,\n type: type.type || 'null',\n nullable: type.nullable\n // metadata: {}\n };\n }\n\n if (Array.isArray(column) && column.length > 0) {\n const value = column[0];\n const type = getDataTypeFromValue(value);\n // TODO - support nested schemas?\n return {\n name,\n type,\n nullable: true\n // metadata: {},\n };\n }\n\n throw new Error('empty table');\n}\n\n/** Given a value, attempt to deduce an appropriate `Field` */\nfunction deduceFieldFromValue(value: unknown, name: string): Field {\n const type = getDataTypeFromValue(value);\n return {\n name,\n type,\n nullable: true\n // metadata: {}\n };\n}\n"],"mappings":"SAOQA,oBAAoB,EAAEC,oBAAoB;AAQlD,OAAO,SAASC,iBAAiBA,CAACC,KAAY,EAAU;EACtD,QAAQA,KAAK,CAACC,KAAK;IACjB,KAAK,iBAAiB;IACtB,KAAK,kBAAkB;MACrB,OAAOC,oBAAoB,CAACF,KAAK,CAACG,IAAI,CAAC;IAEzC,KAAK,gBAAgB;MACnB,OAAOC,uBAAuB,CAACJ,KAAK,CAACG,IAAI,CAAC;IAE5C,KAAK,aAAa;IAClB;MACE,MAAM,IAAIE,KAAK,CAAC,eAAe,CAAC;EACpC;AACF;AAEA,OAAO,SAASC,YAAYA,CAC1BH,IAA2E,EACnE;EACR,OAAOI,KAAK,CAACC,OAAO,CAACL,IAAI,CAAC,GAAGD,oBAAoB,CAACC,IAAI,CAAC,GAAGC,uBAAuB,CAACD,IAAI,CAAC;AACzF;AAGA,SAASC,uBAAuBA,CAACK,aAAyC,EAAU;EAClF,MAAMC,MAAe,GAAG,EAAE;EAC1B,KAAK,MAAM,CAACC,UAAU,EAAEC,MAAM,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACL,aAAa,CAAC,EAAE;IAChE,MAAMM,KAAK,GAAGC,qBAAqB,CAACJ,MAAM,EAAED,UAAU,CAAC;IACvDD,MAAM,CAACO,IAAI,CAACF,KAAK,CAAC;EACpB;EACA,OAAO;IAACL,MAAM;IAAEQ,QAAQ,EAAE,CAAC;EAAC,CAAC;AAC/B;AAGA,SAAShB,oBAAoBA,CAACiB,QAAkD,EAAU;EACxF,IAAI,CAACA,QAAQ,CAACC,MAAM,EAAE;IACpB,MAAM,IAAIf,KAAK,CAAC,yBAAyB,CAAC;EAC5C;EACA,MAAMK,MAAe,GAAG,EAAE;EAC1B,MAAMW,IAAI,GAAGF,QAAQ,CAAC,CAAC,CAAC;EAIxB,KAAK,MAAM,CAACR,UAAU,EAAEW,KAAK,CAAC,IAAIT,MAAM,CAACC,OAAO,CAACO,IAAI,CAAC,EAAE;IACtDX,MAAM,CAACO,IAAI,CAACM,oBAAoB,CAACD,KAAK,EAAEX,UAAU,CAAC,CAAC;EACtD;EAEA,OAAO;IAACD,MAAM;IAAEQ,QAAQ,EAAE,CAAC;EAAC,CAAC;AAC/B;AAGA,SAASF,qBAAqBA,CAACJ,MAAiB,EAAEY,IAAY,EAAS;EACrE,IAAIC,WAAW,CAACC,MAAM,CAACd,MAAM,CAAC,EAAE;IAC9B,MAAMe,IAAI,GAAG9B,oBAAoB,CAACe,MAAM,CAAC;IACzC,OAAO;MACLY,IAAI;MACJG,IAAI,EAAEA,IAAI,CAACA,IAAI,IAAI,MAAM;MACzBC,QAAQ,EAAED,IAAI,CAACC;IAEjB,CAAC;EACH;EAEA,IAAIrB,KAAK,CAACC,OAAO,CAACI,MAAM,CAAC,IAAIA,MAAM,CAACQ,MAAM,GAAG,CAAC,EAAE;IAC9C,MAAME,KAAK,GAAGV,MAAM,CAAC,CAAC,CAAC;IACvB,MAAMe,IAAI,GAAG7B,oBAAoB,CAACwB,KAAK,CAAC;IAExC,OAAO;MACLE,IAAI;MACJG,IAAI;MACJC,QAAQ,EAAE;IAEZ,CAAC;EACH;EAEA,MAAM,IAAIvB,KAAK,CAAC,aAAa,CAAC;AAChC;AAGA,SAASkB,oBAAoBA,CAACD,KAAc,EAAEE,IAAY,EAAS;EACjE,MAAMG,IAAI,GAAG7B,oBAAoB,CAACwB,KAAK,CAAC;EACxC,OAAO;IACLE,IAAI;IACJG,IAAI;IACJC,QAAQ,EAAE;EAEZ,CAAC;AACH"}
@@ -13,7 +13,7 @@ export type Batch = {
13
13
  /** Schema of the data in this batch */
14
14
  schema?: Schema;
15
15
  /** Data in this batch */
16
- data: unknown;
16
+ data?: unknown;
17
17
  /** If this is an arrow table. @deprecated Use `data` */
18
18
  recordBatch?: ApacheRecordBatch;
19
19
  /** Length of data in this batch */
@@ -1 +1 @@
1
- {"version":3,"file":"batch.d.ts","sourceRoot":"","sources":["../../src/types/batch.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,MAAM,EAAC,MAAM,UAAU,CAAC;AAGhC,KAAK,iBAAiB,GAAG,OAAO,CAAC;AAEjC;;;;GAIG;AACH,MAAM,MAAM,KAAK,GAAG;IAClB,iFAAiF;IACjF,SAAS,EAAE,MAAM,GAAG,UAAU,GAAG,gBAAgB,GAAG,cAAc,CAAC;IACnE,wEAAwE;IACxE,KAAK,EAAE,MAAM,CAAC;IACd,uCAAuC;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yBAAyB;IACzB,IAAI,EAAE,OAAO,CAAC;IACd,yDAAyD;IACzD,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,mCAAmC;IACnC,MAAM,EAAE,MAAM,CAAC;IAEf,kCAAkC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,kCAAkC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,wBAAwB;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qBAAqB;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,kDAAkD;IAClD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,qBAAqB;IACrB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB,CAAC"}
1
+ {"version":3,"file":"batch.d.ts","sourceRoot":"","sources":["../../src/types/batch.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,MAAM,EAAC,MAAM,UAAU,CAAC;AAGhC,KAAK,iBAAiB,GAAG,OAAO,CAAC;AAEjC;;;;GAIG;AACH,MAAM,MAAM,KAAK,GAAG;IAClB,iFAAiF;IACjF,SAAS,EAAE,MAAM,GAAG,UAAU,GAAG,gBAAgB,GAAG,cAAc,CAAC;IACnE,wEAAwE;IACxE,KAAK,EAAE,MAAM,CAAC;IACd,uCAAuC;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yBAAyB;IACzB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,yDAAyD;IACzD,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,mCAAmC;IACnC,MAAM,EAAE,MAAM,CAAC;IAEf,kCAAkC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,kCAAkC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,wBAAwB;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qBAAqB;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,kDAAkD;IAClD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,qBAAqB;IACrB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"batch.js","names":[],"sources":["../../src/types/batch.ts"],"sourcesContent":["// loaders.gl, MIT license\n// Copyright (c) vis.gl contributors\n\nimport {Schema} from './schema';\n// import type {RecordBatch} from 'apache-arrow';\n\ntype ApacheRecordBatch = unknown;\n\n/**\n * A batch of data (or metadata/schema), from a streaming loader\n * @see parseInBatches()\n * @see loadInBatches()\n */\nexport type Batch = {\n /** A batch can contain metadata, data, or in case of unstructured data (JSON) */\n batchType: 'data' | 'metadata' | 'partial-result' | 'final-result';\n /** A string identifying the shape of data in this batch (table, etc) */\n shape: string;\n /** Schema of the data in this batch */\n schema?: Schema;\n /** Data in this batch */\n data: unknown;\n /** If this is an arrow table. @deprecated Use `data` */\n recordBatch?: ApacheRecordBatch;\n /** Length of data in this batch */\n length: number;\n\n /** A count of batches received */\n batch?: number;\n\n /** A count of batches received */\n count?: number;\n\n /** Bytes used so far */\n bytesUsed?: number;\n /** cursor is the */\n cursor?: number;\n\n /** MIME type of the data generating this batch */\n mimeType?: string;\n\n /** Any other data */\n [key: string]: unknown;\n};\n"],"mappings":""}
1
+ {"version":3,"file":"batch.js","names":[],"sources":["../../src/types/batch.ts"],"sourcesContent":["// loaders.gl, MIT license\n// Copyright (c) vis.gl contributors\n\nimport {Schema} from './schema';\n// import type {RecordBatch} from 'apache-arrow';\n\ntype ApacheRecordBatch = unknown;\n\n/**\n * A batch of data (or metadata/schema), from a streaming loader\n * @see parseInBatches()\n * @see loadInBatches()\n */\nexport type Batch = {\n /** A batch can contain metadata, data, or in case of unstructured data (JSON) */\n batchType: 'data' | 'metadata' | 'partial-result' | 'final-result';\n /** A string identifying the shape of data in this batch (table, etc) */\n shape: string;\n /** Schema of the data in this batch */\n schema?: Schema;\n /** Data in this batch */\n data?: unknown;\n /** If this is an arrow table. @deprecated Use `data` */\n recordBatch?: ApacheRecordBatch;\n /** Length of data in this batch */\n length: number;\n\n /** A count of batches received */\n batch?: number;\n\n /** A count of batches received */\n count?: number;\n\n /** Bytes used so far */\n bytesUsed?: number;\n /** cursor is the */\n cursor?: number;\n\n /** MIME type of the data generating this batch */\n mimeType?: string;\n\n /** Any other data */\n [key: string]: unknown;\n};\n"],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"binary-geometries.d.ts","sourceRoot":"","sources":["../../src/types/binary-geometries.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,SAAS,CAAC;AAIxC,MAAM,MAAM,eAAe,GAAG;IAAC,KAAK,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAC,CAAC;AAChE,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,YAAY,GAAG,SAAS,CAAC;AAEpE,KAAK,YAAY,GAAG;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,CAAA;CAAC,CAAC;AACrD,KAAK,UAAU,GAAG,MAAM,EAAE,CAAC;AAE3B;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,mBAAmB,GAAG,kBAAkB,GAAG,qBAAqB,CAAC;AAE9F,mDAAmD;AACnD,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,OAAO,CAAC;IACd,SAAS,EAAE,eAAe,CAAC;CAC5B,CAAC;AAEF,qFAAqF;AACrF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,YAAY,CAAC;IACnB,SAAS,EAAE,eAAe,CAAC;IAC3B,WAAW,EAAE,eAAe,CAAC;CAC9B,CAAC;AAEF,2FAA2F;AAC3F,MAAM,MAAM,qBAAqB,GAAG;IAClC,IAAI,EAAE,SAAS,CAAC;IAChB,SAAS,EAAE,eAAe,CAAC;IAC3B,cAAc,EAAE,eAAe,CAAC;IAChC,uBAAuB,EAAE,eAAe,CAAC;IACzC,SAAS,CAAC,EAAE,eAAe,CAAC;CAC7B,CAAC;AAEF,8CAA8C;AAC9C,MAAM,MAAM,gBAAgB,GAAG;IAC7B,UAAU,EAAE,eAAe,CAAC;IAC5B,gBAAgB,EAAE,eAAe,CAAC;IAClC,YAAY,EAAE,YAAY,CAAC;IAC3B,UAAU,EAAE,UAAU,CAAC;IACvB,MAAM,CAAC,EAAE,UAAU,CAAC;CACrB,CAAC;AAEF,yCAAyC;AACzC,MAAM,MAAM,aAAa,GAAG,kBAAkB,GAAG,iBAAiB,GAAG,oBAAoB,CAAC;AAE1F,MAAM,MAAM,kBAAkB,GAAG,mBAAmB,GAAG,gBAAgB,CAAC;AACxE,MAAM,MAAM,iBAAiB,GAAG,kBAAkB,GAAG,gBAAgB,CAAC;AACtE,MAAM,MAAM,oBAAoB,GAAG,qBAAqB,GAAG,gBAAgB,CAAC;AAE5E;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG;IACpC,KAAK,EAAE,2BAA2B,CAAC;IACnC,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B,QAAQ,CAAC,EAAE,oBAAoB,CAAC;CACjC,CAAC"}
1
+ {"version":3,"file":"binary-geometries.d.ts","sourceRoot":"","sources":["../../src/types/binary-geometries.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,SAAS,CAAC;AAIxC,MAAM,MAAM,eAAe,GAAG;IAAC,KAAK,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAC,CAAC;AAChE,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,YAAY,GAAG,SAAS,CAAC;AAEpE,KAAK,YAAY,GAAG;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,CAAA;CAAC,CAAC;AACrD,KAAK,UAAU,GAAG,MAAM,EAAE,CAAC;AAE3B;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,mBAAmB,GAAG,kBAAkB,GAAG,qBAAqB,CAAC;AAE9F,mDAAmD;AACnD,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,OAAO,CAAC;IACd,SAAS,EAAE,eAAe,CAAC;CAC5B,CAAC;AAEF,qFAAqF;AACrF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,YAAY,CAAC;IACnB,SAAS,EAAE,eAAe,CAAC;IAC3B,WAAW,EAAE,eAAe,CAAC;CAC9B,CAAC;AAEF,2FAA2F;AAC3F,MAAM,MAAM,qBAAqB,GAAG;IAClC,IAAI,EAAE,SAAS,CAAC;IAChB,SAAS,EAAE,eAAe,CAAC;IAC3B,cAAc,EAAE,eAAe,CAAC;IAChC,uBAAuB,EAAE,eAAe,CAAC;IACzC,SAAS,CAAC,EAAE,eAAe,CAAC;CAC7B,CAAC;AAEF,8CAA8C;AAC9C,MAAM,MAAM,gBAAgB,GAAG;IAC7B,UAAU,EAAE,eAAe,CAAC;IAC5B,gBAAgB,EAAE,eAAe,CAAC;IAClC,YAAY,EAAE,YAAY,CAAC;IAC3B,UAAU,EAAE,UAAU,CAAC;IACvB,MAAM,CAAC,EAAE,UAAU,CAAC;CACrB,CAAC;AAEF,yCAAyC;AACzC,MAAM,MAAM,aAAa,GAAG,kBAAkB,GAAG,iBAAiB,GAAG,oBAAoB,CAAC;AAE1F,MAAM,MAAM,kBAAkB,GAAG,mBAAmB,GAAG,gBAAgB,CAAC;AACxE,MAAM,MAAM,iBAAiB,GAAG,kBAAkB,GAAG,gBAAgB,CAAC;AACtE,MAAM,MAAM,oBAAoB,GAAG,qBAAqB,GAAG,gBAAgB,CAAC;AAE5E;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG;IACpC,KAAK,EAAE,2BAA2B,CAAC;IACnC,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B,QAAQ,CAAC,EAAE,oBAAoB,CAAC;CACjC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"binary-geometries.js","names":[],"sources":["../../src/types/binary-geometries.ts"],"sourcesContent":["// GIS\nimport type {TypedArray} from './types';\n\n// BINARY FORMAT GEOMETRY\n\nexport type BinaryAttribute = {value: TypedArray; size: number};\nexport type BinaryGeometryType = 'Point' | 'LineString' | 'Polygon';\n\ntype NumericProps = {[key: string]: BinaryAttribute};\ntype Properties = object[];\n\n/**\n * Represent a single Geometry, similar to a GeoJSON Geometry\n */\nexport type BinaryGeometry = BinaryPointGeometry | BinaryLineGeometry | BinaryPolygonGeometry;\n\n/** Binary point geometry: an array of positions */\nexport type BinaryPointGeometry = {\n type: 'Point';\n positions: BinaryAttribute;\n};\n\n/** Binary line geometry, array of positions and indices to the start of each line */\nexport type BinaryLineGeometry = {\n type: 'LineString';\n positions: BinaryAttribute;\n pathIndices: BinaryAttribute;\n};\n\n/** Binary polygon geometry, an array of positions to each primitite polygon and polygon */\nexport type BinaryPolygonGeometry = {\n type: 'Polygon';\n positions: BinaryAttribute;\n polygonIndices: BinaryAttribute;\n primitivePolygonIndices: BinaryAttribute;\n triangles?: BinaryAttribute;\n};\n\n/** Common properties for binary geometries */\nexport type BinaryProperties = {\n featureIds: BinaryAttribute;\n globalFeatureIds: BinaryAttribute;\n numericProps: NumericProps;\n properties: Properties;\n fields?: Properties;\n};\n\n/** Binary feature + binary attributes */\nexport type BinaryFeature = BinaryPointFeature | BinaryLineFeature | BinaryPolygonFeature;\n\nexport type BinaryPointFeature = BinaryPointGeometry & BinaryProperties;\nexport type BinaryLineFeature = BinaryLineGeometry & BinaryProperties;\nexport type BinaryPolygonFeature = BinaryPolygonGeometry & BinaryProperties;\n\n/**\n * Represent a collection of Features, similar to a GeoJSON FeatureCollection\n */\nexport type BinaryFeatureCollection = {\n shape: 'binary-feature-collection';\n points?: BinaryPointFeature;\n lines?: BinaryLineFeature;\n polygons?: BinaryPolygonFeature;\n};\n"],"mappings":""}
1
+ {"version":3,"file":"binary-geometries.js","names":[],"sources":["../../src/types/binary-geometries.ts"],"sourcesContent":["// loaders.gl, MIT license\n// Copyright (c) vis.gl contributors\n\n// GIS\nimport type {TypedArray} from './types';\n\n// BINARY FORMAT GEOMETRY\n\nexport type BinaryAttribute = {value: TypedArray; size: number};\nexport type BinaryGeometryType = 'Point' | 'LineString' | 'Polygon';\n\ntype NumericProps = {[key: string]: BinaryAttribute};\ntype Properties = object[];\n\n/**\n * Represent a single Geometry, similar to a GeoJSON Geometry\n */\nexport type BinaryGeometry = BinaryPointGeometry | BinaryLineGeometry | BinaryPolygonGeometry;\n\n/** Binary point geometry: an array of positions */\nexport type BinaryPointGeometry = {\n type: 'Point';\n positions: BinaryAttribute;\n};\n\n/** Binary line geometry, array of positions and indices to the start of each line */\nexport type BinaryLineGeometry = {\n type: 'LineString';\n positions: BinaryAttribute;\n pathIndices: BinaryAttribute;\n};\n\n/** Binary polygon geometry, an array of positions to each primitite polygon and polygon */\nexport type BinaryPolygonGeometry = {\n type: 'Polygon';\n positions: BinaryAttribute;\n polygonIndices: BinaryAttribute;\n primitivePolygonIndices: BinaryAttribute;\n triangles?: BinaryAttribute;\n};\n\n/** Common properties for binary geometries */\nexport type BinaryProperties = {\n featureIds: BinaryAttribute;\n globalFeatureIds: BinaryAttribute;\n numericProps: NumericProps;\n properties: Properties;\n fields?: Properties;\n};\n\n/** Binary feature + binary attributes */\nexport type BinaryFeature = BinaryPointFeature | BinaryLineFeature | BinaryPolygonFeature;\n\nexport type BinaryPointFeature = BinaryPointGeometry & BinaryProperties;\nexport type BinaryLineFeature = BinaryLineGeometry & BinaryProperties;\nexport type BinaryPolygonFeature = BinaryPolygonGeometry & BinaryProperties;\n\n/**\n * Represent a collection of Features, similar to a GeoJSON FeatureCollection\n */\nexport type BinaryFeatureCollection = {\n shape: 'binary-feature-collection';\n points?: BinaryPointFeature;\n lines?: BinaryLineFeature;\n polygons?: BinaryPolygonFeature;\n};\n"],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"category-gis.d.ts","sourceRoot":"","sources":["../../src/types/category-gis.ts"],"names":[],"mappings":"AAGA,YAAY,EACV,OAAO,EACP,OAAO,EACP,iBAAiB,EACjB,QAAQ,EACR,QAAQ,EACR,iBAAiB,EAClB,MAAM,SAAS,CAAC;AAEjB,YAAY,EACV,KAAK,EACL,UAAU,EACV,UAAU,EACV,eAAe,EACf,OAAO,EACP,YAAY,EACZ,kBAAkB,EACnB,MAAM,SAAS,CAAC;AAGjB,YAAY,EACV,gBAAgB,EAChB,mBAAmB,EACnB,SAAS,EACT,cAAc,EACd,WAAW,EACX,YAAY,EACZ,WAAW,EACZ,MAAM,mBAAmB,CAAC;AAG3B,YAAY,EACV,eAAe,EACf,kBAAkB,EAClB,cAAc,EACd,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,EACrB,gBAAgB,EAChB,uBAAuB,EACvB,aAAa,EACb,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,qBAAqB,CAAC;AAE7B,sEAAsE;AACtE,MAAM,MAAM,mBAAmB,GAAG;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,oBAAoB,EAAE,MAAM,CAAC;CAC9B,CAAC"}
1
+ {"version":3,"file":"category-gis.d.ts","sourceRoot":"","sources":["../../src/types/category-gis.ts"],"names":[],"mappings":"AAMA,YAAY,EACV,OAAO,EACP,OAAO,EACP,iBAAiB,EACjB,QAAQ,EACR,QAAQ,EACR,iBAAiB,EAClB,MAAM,SAAS,CAAC;AAEjB,YAAY,EACV,KAAK,EACL,UAAU,EACV,UAAU,EACV,eAAe,EACf,OAAO,EACP,YAAY,EACZ,kBAAkB,EACnB,MAAM,SAAS,CAAC;AAGjB,YAAY,EACV,gBAAgB,EAChB,mBAAmB,EACnB,SAAS,EACT,cAAc,EACd,WAAW,EACX,YAAY,EACZ,WAAW,EACZ,MAAM,mBAAmB,CAAC;AAG3B,YAAY,EACV,eAAe,EACf,kBAAkB,EAClB,cAAc,EACd,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,EACrB,gBAAgB,EAChB,uBAAuB,EACvB,aAAa,EACb,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,qBAAqB,CAAC;AAE7B,sEAAsE;AACtE,MAAM,MAAM,mBAAmB,GAAG;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,oBAAoB,EAAE,MAAM,CAAC;CAC9B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"category-gis.js","names":[],"sources":["../../src/types/category-gis.ts"],"sourcesContent":["// GIS\n\n// NORMAL GEOJSON FORMAT GEOMETRY\nexport type {\n GeoJSON,\n Feature,\n FeatureCollection,\n Geometry,\n Position,\n GeoJsonProperties\n} from 'geojson';\n\nexport type {\n Point,\n MultiPoint,\n LineString,\n MultiLineString,\n Polygon,\n MultiPolygon,\n GeometryCollection\n} from 'geojson';\n\n// FLAT GEOJSON FORMAT GEOMETRY\nexport type {\n FlatGeometryType,\n FlatIndexedGeometry,\n FlatPoint,\n FlatLineString,\n FlatPolygon,\n FlatGeometry,\n FlatFeature\n} from './flat-geometries';\n\n// BINARY FORMAT GEOMETRY\nexport type {\n BinaryAttribute,\n BinaryGeometryType,\n BinaryGeometry,\n BinaryPointGeometry,\n BinaryLineGeometry,\n BinaryPolygonGeometry,\n BinaryProperties,\n BinaryFeatureCollection,\n BinaryFeature,\n BinaryPointFeature,\n BinaryLineFeature,\n BinaryPolygonFeature\n} from './binary-geometries';\n\n/** Aggregate information for converting GeoJSON into other formats */\nexport type GeojsonGeometryInfo = {\n coordLength: number;\n pointPositionsCount: number;\n pointFeaturesCount: number;\n linePositionsCount: number;\n linePathsCount: number;\n lineFeaturesCount: number;\n polygonPositionsCount: number;\n polygonObjectsCount: number;\n polygonRingsCount: number;\n polygonFeaturesCount: number;\n};\n"],"mappings":""}
1
+ {"version":3,"file":"category-gis.js","names":[],"sources":["../../src/types/category-gis.ts"],"sourcesContent":["// loaders.gl, MIT license\n// Copyright (c) vis.gl contributors\n\n// GIS\n\n// NORMAL GEOJSON FORMAT GEOMETRY\nexport type {\n GeoJSON,\n Feature,\n FeatureCollection,\n Geometry,\n Position,\n GeoJsonProperties\n} from 'geojson';\n\nexport type {\n Point,\n MultiPoint,\n LineString,\n MultiLineString,\n Polygon,\n MultiPolygon,\n GeometryCollection\n} from 'geojson';\n\n// FLAT GEOJSON FORMAT GEOMETRY\nexport type {\n FlatGeometryType,\n FlatIndexedGeometry,\n FlatPoint,\n FlatLineString,\n FlatPolygon,\n FlatGeometry,\n FlatFeature\n} from './flat-geometries';\n\n// BINARY FORMAT GEOMETRY\nexport type {\n BinaryAttribute,\n BinaryGeometryType,\n BinaryGeometry,\n BinaryPointGeometry,\n BinaryLineGeometry,\n BinaryPolygonGeometry,\n BinaryProperties,\n BinaryFeatureCollection,\n BinaryFeature,\n BinaryPointFeature,\n BinaryLineFeature,\n BinaryPolygonFeature\n} from './binary-geometries';\n\n/** Aggregate information for converting GeoJSON into other formats */\nexport type GeojsonGeometryInfo = {\n coordLength: number;\n pointPositionsCount: number;\n pointFeaturesCount: number;\n linePositionsCount: number;\n linePathsCount: number;\n lineFeaturesCount: number;\n polygonPositionsCount: number;\n polygonObjectsCount: number;\n polygonRingsCount: number;\n polygonFeaturesCount: number;\n};\n"],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"category-image.d.ts","sourceRoot":"","sources":["../../src/types/category-image.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,WAAW,GAAG,aAAa,GAAG,gBAAgB,CAAC;AAEvE;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,aAAa,GAAG,OAAO,GAAG,MAAM,CAAC"}
1
+ {"version":3,"file":"category-image.d.ts","sourceRoot":"","sources":["../../src/types/category-image.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,WAAW,GAAG,aAAa,GAAG,gBAAgB,CAAC;AAEvE;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,aAAa,GAAG,OAAO,GAAG,MAAM,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"category-image.js","names":[],"sources":["../../src/types/category-image.ts"],"sourcesContent":["/**\n * data images\n */\nexport type ImageDataType = {\n data: Uint8Array;\n width: number;\n height: number;\n compressed?: boolean;\n};\n\n/**\n * Supported Image Types\n */\nexport type ImageType = ImageBitmap | ImageDataType | HTMLImageElement;\n\n/**\n * Image type string used to control or determine the type of images returned from ImageLoader\n */\nexport type ImageTypeEnum = 'imagebitmap' | 'image' | 'data';\n"],"mappings":""}
1
+ {"version":3,"file":"category-image.js","names":[],"sources":["../../src/types/category-image.ts"],"sourcesContent":["// loaders.gl, MIT license\n// Copyright (c) vis.gl contributors\n\n/**\n * data images\n */\nexport type ImageDataType = {\n data: Uint8Array;\n width: number;\n height: number;\n compressed?: boolean;\n};\n\n/**\n * Supported Image Types\n */\nexport type ImageType = ImageBitmap | ImageDataType | HTMLImageElement;\n\n/**\n * Image type string used to control or determine the type of images returned from ImageLoader\n */\nexport type ImageTypeEnum = 'imagebitmap' | 'image' | 'data';\n"],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types/types.ts"],"names":[],"mappings":"AAAA,sBAAsB;AACtB,MAAM,MAAM,UAAU,GAClB,SAAS,GACT,UAAU,GACV,UAAU,GACV,WAAW,GACX,UAAU,GACV,WAAW,GACX,iBAAiB,GACjB,YAAY,GACZ,YAAY,CAAC;AAEjB,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,aAAa,GAAG,cAAc,CAAC;AAExE,MAAM,MAAM,qBAAqB,GAC7B,oBAAoB,GACpB,qBAAqB,GACrB,qBAAqB,GACrB,sBAAsB,GACtB,qBAAqB,GACrB,sBAAsB,GACtB,uBAAuB,GACvB,uBAAuB,CAAC;AAE5B,MAAM,MAAM,wBAAwB,GAChC,qBAAqB,GACrB,wBAAwB,GACxB,yBAAyB,CAAC;AAE9B,mDAAmD;AACnD,MAAM,MAAM,WAAW,GAAG,MAAM,EAAE,GAAG,UAAU,CAAC;AAEhD,MAAM,MAAM,YAAY,GAAG,MAAM,EAAE,GAAG,UAAU,CAAC;AAEjD,MAAM,WAAW,SAAS,CAAC,CAAC,GAAG,OAAO;IACpC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC;CAChB;AAED,mDAAmD;AACnD,MAAM,MAAM,QAAQ,GAAG,GAAG,EAAE,GAAG,UAAU,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types/types.ts"],"names":[],"mappings":"AAGA,sBAAsB;AACtB,MAAM,MAAM,UAAU,GAClB,SAAS,GACT,UAAU,GACV,UAAU,GACV,WAAW,GACX,UAAU,GACV,WAAW,GACX,iBAAiB,GACjB,YAAY,GACZ,YAAY,CAAC;AAEjB,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,aAAa,GAAG,cAAc,CAAC;AAExE,MAAM,MAAM,qBAAqB,GAC7B,oBAAoB,GACpB,qBAAqB,GACrB,qBAAqB,GACrB,sBAAsB,GACtB,qBAAqB,GACrB,sBAAsB,GACtB,uBAAuB,GACvB,uBAAuB,CAAC;AAE5B,MAAM,MAAM,wBAAwB,GAChC,qBAAqB,GACrB,wBAAwB,GACxB,yBAAyB,CAAC;AAE9B,mDAAmD;AACnD,MAAM,MAAM,WAAW,GAAG,MAAM,EAAE,GAAG,UAAU,CAAC;AAEhD,MAAM,MAAM,YAAY,GAAG,MAAM,EAAE,GAAG,UAAU,CAAC;AAEjD,MAAM,WAAW,SAAS,CAAC,CAAC,GAAG,OAAO;IACpC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC;CAChB;AAED,mDAAmD;AACnD,MAAM,MAAM,QAAQ,GAAG,GAAG,EAAE,GAAG,UAAU,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../src/types/types.ts"],"sourcesContent":["/** Any typed array */\nexport type TypedArray =\n | Int8Array\n | Uint8Array\n | Int16Array\n | Uint16Array\n | Int32Array\n | Uint32Array\n | Uint8ClampedArray\n | Float32Array\n | Float64Array;\n\nexport type BigTypedArray = TypedArray | BigInt64Array | BigUint64Array;\n\nexport type TypedArrayConstructor =\n | Int8ArrayConstructor\n | Uint8ArrayConstructor\n | Int16ArrayConstructor\n | Uint16ArrayConstructor\n | Int32ArrayConstructor\n | Uint32ArrayConstructor\n | Float32ArrayConstructor\n | Float64ArrayConstructor;\n\nexport type BigTypedArrayConstructor =\n | TypedArrayConstructor\n | BigInt64ArrayConstructor\n | BigUint64ArrayConstructor;\n\n/** Any numeric array: typed array or `number[]` */\nexport type NumberArray = number[] | TypedArray;\n\nexport type NumericArray = number[] | TypedArray;\n\nexport interface ArrayType<T = unknown> {\n readonly length: number;\n [n: number]: T;\n}\n\n/** Any array: typed array or js array (`any[]`) */\nexport type AnyArray = any[] | TypedArray;\n"],"mappings":""}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../src/types/types.ts"],"sourcesContent":["// loaders.gl, MIT license\n// Copyright (c) vis.gl contributors\n\n/** Any typed array */\nexport type TypedArray =\n | Int8Array\n | Uint8Array\n | Int16Array\n | Uint16Array\n | Int32Array\n | Uint32Array\n | Uint8ClampedArray\n | Float32Array\n | Float64Array;\n\nexport type BigTypedArray = TypedArray | BigInt64Array | BigUint64Array;\n\nexport type TypedArrayConstructor =\n | Int8ArrayConstructor\n | Uint8ArrayConstructor\n | Int16ArrayConstructor\n | Uint16ArrayConstructor\n | Int32ArrayConstructor\n | Uint32ArrayConstructor\n | Float32ArrayConstructor\n | Float64ArrayConstructor;\n\nexport type BigTypedArrayConstructor =\n | TypedArrayConstructor\n | BigInt64ArrayConstructor\n | BigUint64ArrayConstructor;\n\n/** Any numeric array: typed array or `number[]` */\nexport type NumberArray = number[] | TypedArray;\n\nexport type NumericArray = number[] | TypedArray;\n\nexport interface ArrayType<T = unknown> {\n readonly length: number;\n [n: number]: T;\n}\n\n/** Any array: typed array or js array (`any[]`) */\nexport type AnyArray = any[] | TypedArray;\n"],"mappings":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@loaders.gl/schema",
3
- "version": "4.0.1",
3
+ "version": "4.0.2",
4
4
  "description": "Table format APIs for JSON, CSV, etc...",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -42,5 +42,5 @@
42
42
  "dependencies": {
43
43
  "@types/geojson": "^7946.0.7"
44
44
  },
45
- "gitHead": "765e5a26a6bf3f2cc02cabffc4a1e3665ec92a53"
45
+ "gitHead": "471058d109d5652f28c32c1f296fd632f9a5c806"
46
46
  }
package/src/index.ts CHANGED
@@ -1,3 +1,6 @@
1
+ // loaders.gl, MIT license
2
+ // Copyright (c) vis.gl contributors
3
+
1
4
  // COMMON CATEGORY
2
5
  export type {
3
6
  TypedArray,
@@ -56,6 +59,10 @@ export {
56
59
  export {ArrowLikeTable} from './lib/table/arrow-api/arrow-like-table';
57
60
 
58
61
  export {makeTableFromData} from './lib/table/simple-table/make-table';
62
+ export {
63
+ makeTableFromBatches,
64
+ makeBatchesFromTable
65
+ } from './lib/table/simple-table/make-table-from-batches';
59
66
  export {convertTable} from './lib/table/simple-table/convert-table';
60
67
  export {deduceTableSchema} from './lib/table/simple-table/table-schema';
61
68
  export {convertToObjectRow, convertToArrayRow} from './lib/table/simple-table/row-utils';
@@ -1,3 +1,6 @@
1
+ // loaders.gl, MIT license
2
+ // Copyright (c) vis.gl contributors
3
+
1
4
  /* Problem with arrow dependency...
2
5
  import {
3
6
  Table,
@@ -1,3 +1,6 @@
1
+ // loaders.gl, MIT license
2
+ // Copyright (c) vis.gl contributors
3
+
1
4
  // This code is adapted from ArrowJS https://github.com/apache/arrow
2
5
  // under Apache license http://www.apache.org/licenses/LICENSE-2.0
3
6
 
@@ -1,3 +1,6 @@
1
+ // loaders.gl, MIT license
2
+ // Copyright (c) vis.gl contributors
3
+
1
4
  // This code is adapted from ArrowJS https://github.com/apache/arrow
2
5
  // under Apache license http://www.apache.org/licenses/LICENSE-2.0
3
6
 
@@ -1,5 +1,6 @@
1
1
  // loaders.gl, MIT license
2
2
  // Copyright (c) vis.gl contributors
3
+
3
4
  import {
4
5
  getTableCell,
5
6
  getTableLength,
@@ -50,7 +51,7 @@ export function convertTable(
50
51
  * @note this depends on the `@loaders.gl/arrow module being imported
51
52
  */
52
53
  export function makeArrowTable(table: Table): Table {
53
- const _makeArrowTable = globalThis.__luma?._makeArrowTable;
54
+ const _makeArrowTable = globalThis.__loaders?._makeArrowTable;
54
55
  if (!_makeArrowTable) {
55
56
  throw new Error('');
56
57
  }
@@ -0,0 +1,93 @@
1
+ // loaders.gl, MIT license
2
+ // Copyright (c) vis.gl contributors
3
+
4
+ import type {
5
+ TableBatch,
6
+ Table,
7
+ Schema,
8
+ ObjectRowTable,
9
+ ArrayRowTable,
10
+ Feature
11
+ } from '@loaders.gl/schema';
12
+ import {getTableLength} from '@loaders.gl/schema';
13
+
14
+ /**
15
+ * Returns an async iterator that yields a single table as a sequence of batches.
16
+ * @note Currently only a single batch is yielded.
17
+ * @note All batches will have the same shape and schema as the original table.
18
+ * @param batchIterator
19
+ * @returns `null` if no batches are yielded by the async iterator
20
+ */
21
+ export function* makeBatchesFromTable(table: Table): IterableIterator<TableBatch> {
22
+ yield {...table, length: getTableLength(table), batchType: 'data'};
23
+ }
24
+
25
+ /**
26
+ * Assembles all batches from an async iterator into a single table.
27
+ * @note All batches must have the same shape and schema
28
+ * @param batchIterator
29
+ * @returns `null` if no batches are yielded by the async iterator
30
+ */
31
+ export async function makeTableFromBatches(
32
+ batchIterator: AsyncIterableIterator<TableBatch> | IterableIterator<TableBatch>
33
+ ): Promise<Table | null> {
34
+ let arrayRows: ArrayRowTable['data'];
35
+ let objectRows: ObjectRowTable['data'];
36
+ let features: Feature[];
37
+ let shape: Table['shape'] | null = null;
38
+ let schema: Schema | undefined;
39
+
40
+ for await (const batch of batchIterator) {
41
+ shape = shape || batch.shape;
42
+ schema = schema || batch.schema;
43
+
44
+ switch (batch.shape) {
45
+ case 'array-row-table':
46
+ arrayRows = arrayRows! || [];
47
+ for (let rowIndex = 0; rowIndex < getTableLength(batch); rowIndex++) {
48
+ const row = batch.data[rowIndex];
49
+ arrayRows.push(row);
50
+ }
51
+ break;
52
+
53
+ case 'object-row-table':
54
+ objectRows = objectRows! || [];
55
+ for (let rowIndex = 0; rowIndex < getTableLength(batch); rowIndex++) {
56
+ const row = batch.data[rowIndex];
57
+ objectRows.push(row);
58
+ }
59
+ break;
60
+
61
+ case 'geojson-table':
62
+ features = features! || [];
63
+ for (let rowIndex = 0; rowIndex < getTableLength(batch); rowIndex++) {
64
+ const row = batch.features[rowIndex];
65
+ features.push(row);
66
+ }
67
+ break;
68
+
69
+ case 'columnar-table':
70
+ case 'arrow-table':
71
+ default:
72
+ throw new Error('shape');
73
+ }
74
+ }
75
+
76
+ if (!shape) {
77
+ return null;
78
+ }
79
+
80
+ switch (shape) {
81
+ case 'array-row-table':
82
+ return {shape: 'array-row-table', data: arrayRows!, schema};
83
+
84
+ case 'object-row-table':
85
+ return {shape: 'object-row-table', data: objectRows!, schema};
86
+
87
+ case 'geojson-table':
88
+ return {shape: 'geojson-table', type: 'FeatureCollection', features: features!, schema};
89
+
90
+ default:
91
+ return null;
92
+ }
93
+ }
@@ -1,5 +1,6 @@
1
1
  // loaders.gl, MIT license
2
2
  // Copyright (c) vis.gl contributors
3
+
3
4
  import {Table, ArrayRowTable, ObjectRowTable, ColumnarTable} from '../../../types/category-table';
4
5
  import {deduceTableSchema} from './table-schema';
5
6
 
@@ -1,3 +1,6 @@
1
+ // loaders.gl, MIT license
2
+ // Copyright (c) vis.gl contributors
3
+
1
4
  /** Convert an object row to an array row */
2
5
  export function convertToObjectRow(
3
6
  arrayRow: any[],
@@ -1,3 +1,6 @@
1
+ // loaders.gl, MIT license
2
+ // Copyright (c) vis.gl contributors
3
+
1
4
  // Type deduction
2
5
  import {Schema, Field} from '../../../types/schema';
3
6
  import {ArrayType} from '../../../types/types';
@@ -19,7 +19,7 @@ export type Batch = {
19
19
  /** Schema of the data in this batch */
20
20
  schema?: Schema;
21
21
  /** Data in this batch */
22
- data: unknown;
22
+ data?: unknown;
23
23
  /** If this is an arrow table. @deprecated Use `data` */
24
24
  recordBatch?: ApacheRecordBatch;
25
25
  /** Length of data in this batch */
@@ -1,3 +1,6 @@
1
+ // loaders.gl, MIT license
2
+ // Copyright (c) vis.gl contributors
3
+
1
4
  // GIS
2
5
  import type {TypedArray} from './types';
3
6
 
@@ -1,3 +1,6 @@
1
+ // loaders.gl, MIT license
2
+ // Copyright (c) vis.gl contributors
3
+
1
4
  // GIS
2
5
 
3
6
  // NORMAL GEOJSON FORMAT GEOMETRY
@@ -1,3 +1,6 @@
1
+ // loaders.gl, MIT license
2
+ // Copyright (c) vis.gl contributors
3
+
1
4
  /**
2
5
  * data images
3
6
  */
@@ -1,3 +1,6 @@
1
+ // loaders.gl, MIT license
2
+ // Copyright (c) vis.gl contributors
3
+
1
4
  /** Any typed array */
2
5
  export type TypedArray =
3
6
  | Int8Array