@loaders.gl/schema 4.0.0-alpha.9 → 4.0.0-beta.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 (112) hide show
  1. package/dist/dist.min.js +558 -943
  2. package/dist/es5/index.js +7 -0
  3. package/dist/es5/index.js.map +1 -1
  4. package/dist/es5/lib/table/arrow-api/arrow-like-table.js +4 -3
  5. package/dist/es5/lib/table/arrow-api/arrow-like-table.js.map +1 -1
  6. package/dist/es5/lib/table/batches/row-table-batch-aggregator.js.map +1 -1
  7. package/dist/es5/lib/table/simple-table/convert-table.js +24 -0
  8. package/dist/es5/lib/table/simple-table/convert-table.js.map +1 -1
  9. package/dist/es5/lib/table/simple-table/table-accessors.js +69 -42
  10. package/dist/es5/lib/table/simple-table/table-accessors.js.map +1 -1
  11. package/dist/es5/types/batch.js +2 -0
  12. package/dist/es5/types/batch.js.map +1 -0
  13. package/dist/es5/types/binary-geometries.js +2 -0
  14. package/dist/es5/types/binary-geometries.js.map +1 -0
  15. package/dist/es5/types/category-gis.js.map +1 -1
  16. package/dist/es5/types/category-image.js.map +1 -1
  17. package/dist/es5/types/category-table.js.map +1 -1
  18. package/dist/es5/types/flat-geometries.js +2 -0
  19. package/dist/es5/types/flat-geometries.js.map +1 -0
  20. package/dist/es5/types/schema.js.map +1 -1
  21. package/dist/esm/index.js +1 -0
  22. package/dist/esm/index.js.map +1 -1
  23. package/dist/esm/lib/table/arrow-api/arrow-like-table.js +4 -3
  24. package/dist/esm/lib/table/arrow-api/arrow-like-table.js.map +1 -1
  25. package/dist/esm/lib/table/batches/row-table-batch-aggregator.js.map +1 -1
  26. package/dist/esm/lib/table/simple-table/convert-table.js +22 -0
  27. package/dist/esm/lib/table/simple-table/convert-table.js.map +1 -1
  28. package/dist/esm/lib/table/simple-table/table-accessors.js +49 -22
  29. package/dist/esm/lib/table/simple-table/table-accessors.js.map +1 -1
  30. package/dist/esm/types/batch.js +2 -0
  31. package/dist/esm/types/batch.js.map +1 -0
  32. package/dist/esm/types/binary-geometries.js +2 -0
  33. package/dist/esm/types/binary-geometries.js.map +1 -0
  34. package/dist/esm/types/category-gis.js.map +1 -1
  35. package/dist/esm/types/category-image.js.map +1 -1
  36. package/dist/esm/types/category-table.js.map +1 -1
  37. package/dist/esm/types/flat-geometries.js +2 -0
  38. package/dist/esm/types/flat-geometries.js.map +1 -0
  39. package/dist/esm/types/schema.js.map +1 -1
  40. package/dist/index.d.ts +7 -5
  41. package/dist/index.d.ts.map +1 -1
  42. package/dist/lib/table/arrow-api/arrow-like-table.d.ts +1 -5
  43. package/dist/lib/table/arrow-api/arrow-like-table.d.ts.map +1 -1
  44. package/dist/lib/table/batches/row-table-batch-aggregator.d.ts +3 -3
  45. package/dist/lib/table/batches/row-table-batch-aggregator.d.ts.map +1 -1
  46. package/dist/lib/table/simple-table/convert-table.d.ts +34 -1
  47. package/dist/lib/table/simple-table/convert-table.d.ts.map +1 -1
  48. package/dist/lib/table/simple-table/table-accessors.d.ts.map +1 -1
  49. package/dist/types/batch.d.ts +34 -0
  50. package/dist/types/batch.d.ts.map +1 -0
  51. package/dist/types/binary-geometries.d.ts +56 -0
  52. package/dist/types/binary-geometries.d.ts.map +1 -0
  53. package/dist/types/category-gis.d.ts +3 -84
  54. package/dist/types/category-gis.d.ts.map +1 -1
  55. package/dist/types/category-image.d.ts +1 -1
  56. package/dist/types/category-image.d.ts.map +1 -1
  57. package/dist/types/category-table.d.ts +42 -22
  58. package/dist/types/category-table.d.ts.map +1 -1
  59. package/dist/types/flat-geometries.d.ts +30 -0
  60. package/dist/types/flat-geometries.d.ts.map +1 -0
  61. package/dist/types/schema.d.ts +0 -15
  62. package/dist/types/schema.d.ts.map +1 -1
  63. package/package.json +2 -2
  64. package/src/index.ts +13 -7
  65. package/src/lib/table/arrow-api/arrow-like-table.ts +3 -2
  66. package/src/lib/table/batches/row-table-batch-aggregator.ts +2 -2
  67. package/src/lib/table/simple-table/convert-table.ts +73 -1
  68. package/src/lib/table/simple-table/table-accessors.ts +56 -22
  69. package/src/types/batch.ts +41 -0
  70. package/src/types/binary-geometries.ts +62 -0
  71. package/src/types/category-gis.ts +30 -104
  72. package/src/types/category-image.ts +1 -1
  73. package/src/types/category-table.ts +49 -27
  74. package/src/types/flat-geometries.ts +40 -0
  75. package/src/types/schema.ts +0 -17
  76. package/dist/bundle.js +0 -5
  77. package/dist/index.js +0 -92
  78. package/dist/lib/mesh/convert-mesh.js +0 -40
  79. package/dist/lib/mesh/deduce-mesh-schema.js +0 -66
  80. package/dist/lib/mesh/mesh-to-arrow-table.js +0 -44
  81. package/dist/lib/mesh/mesh-utils.js +0 -51
  82. package/dist/lib/table/arrow/arrow-type-utils.js +0 -53
  83. package/dist/lib/table/arrow/convert-schema-arrow.js +0 -187
  84. package/dist/lib/table/arrow/convert-table-to-arrow.js +0 -57
  85. package/dist/lib/table/arrow-api/arrow-like-field.js +0 -34
  86. package/dist/lib/table/arrow-api/arrow-like-schema.js +0 -81
  87. package/dist/lib/table/arrow-api/arrow-like-table.js +0 -53
  88. package/dist/lib/table/arrow-api/arrow-like-type.js +0 -463
  89. package/dist/lib/table/arrow-api/enum.js +0 -97
  90. package/dist/lib/table/arrow-api/get-type-info.js +0 -29
  91. package/dist/lib/table/arrow-api/index.js +0 -25
  92. package/dist/lib/table/batches/base-table-batch-aggregator.js +0 -60
  93. package/dist/lib/table/batches/columnar-table-batch-aggregator.js +0 -92
  94. package/dist/lib/table/batches/row-table-batch-aggregator.js +0 -81
  95. package/dist/lib/table/batches/table-batch-aggregator.js +0 -3
  96. package/dist/lib/table/batches/table-batch-builder.js +0 -152
  97. package/dist/lib/table/simple-table/convert-table.js +0 -65
  98. package/dist/lib/table/simple-table/data-type.js +0 -93
  99. package/dist/lib/table/simple-table/make-table.js +0 -95
  100. package/dist/lib/table/simple-table/row-utils.js +0 -33
  101. package/dist/lib/table/simple-table/table-accessors.js +0 -319
  102. package/dist/lib/table/simple-table/table-column.js +0 -41
  103. package/dist/lib/table/simple-table/table-schema.js +0 -85
  104. package/dist/lib/utils/assert.js +0 -12
  105. package/dist/lib/utils/async-queue.js +0 -92
  106. package/dist/types/category-gis.js +0 -2
  107. package/dist/types/category-image.js +0 -2
  108. package/dist/types/category-mesh.js +0 -3
  109. package/dist/types/category-table.js +0 -3
  110. package/dist/types/category-texture.js +0 -3
  111. package/dist/types/schema.js +0 -3
  112. package/dist/types/types.js +0 -2
package/dist/es5/index.js CHANGED
@@ -250,6 +250,12 @@ Object.defineProperty(exports, "Utf8", {
250
250
  return _arrowApi.Utf8;
251
251
  }
252
252
  });
253
+ Object.defineProperty(exports, "convertTable", {
254
+ enumerable: true,
255
+ get: function get() {
256
+ return _convertTable.convertTable;
257
+ }
258
+ });
253
259
  Object.defineProperty(exports, "convertToArrayRow", {
254
260
  enumerable: true,
255
261
  get: function get() {
@@ -394,6 +400,7 @@ var _columnarTableBatchAggregator = require("./lib/table/batches/columnar-table-
394
400
  var _tableAccessors = require("./lib/table/simple-table/table-accessors");
395
401
  var _arrowLikeTable = require("./lib/table/arrow-api/arrow-like-table");
396
402
  var _makeTable = require("./lib/table/simple-table/make-table");
403
+ var _convertTable = require("./lib/table/simple-table/convert-table");
397
404
  var _tableSchema = require("./lib/table/simple-table/table-schema");
398
405
  var _rowUtils = require("./lib/table/simple-table/row-utils");
399
406
  var _dataType = require("./lib/table/simple-table/data-type");
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_tableBatchBuilder","require","_rowTableBatchAggregator","_columnarTableBatchAggregator","_tableAccessors","_arrowLikeTable","_makeTable","_tableSchema","_rowUtils","_dataType","_meshUtils","_deduceMeshSchema","_arrowApi","_getTypeInfo","_arrowTypeUtils","_asyncQueue","_interopRequireDefault"],"sources":["../../src/index.ts"],"sourcesContent":["// COMMON CATEGORY\nexport type {\n TypedArray,\n TypedArrayConstructor,\n NumberArray,\n ArrayType,\n AnyArray\n} from './types/types';\n\nexport type {Schema, Field, DataType, Batch, SchemaMetadata, FieldMetadata} from './types/schema';\n\n// TABLE CATEGORY TYPES\nexport type {\n Table,\n RowTable,\n ArrayRowTable,\n ObjectRowTable,\n GeoJSONRowTable,\n ColumnarTable,\n ArrowTable,\n Tables\n} from './types/category-table';\nexport type {\n TableBatch,\n ArrayRowTableBatch,\n ObjectRowTableBatch,\n GeoJSONRowTableBatch,\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 {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 BinaryFeatures,\n BinaryPointFeatures,\n BinaryLineFeatures,\n BinaryPolygonFeatures\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';\nexport {getArrowType} from './lib/table/arrow/arrow-type-utils';\n\nexport {default as AsyncQueue} from './lib/utils/async-queue';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgCA,IAAAA,kBAAA,GAAAC,OAAA;AAEA,IAAAC,wBAAA,GAAAD,OAAA;AACA,IAAAE,6BAAA,GAAAF,OAAA;AAEA,IAAAG,eAAA,GAAAH,OAAA;AAcA,IAAAI,eAAA,GAAAJ,OAAA;AAEA,IAAAK,UAAA,GAAAL,OAAA;AACA,IAAAM,YAAA,GAAAN,OAAA;AACA,IAAAO,SAAA,GAAAP,OAAA;AACA,IAAAQ,SAAA,GAAAR,OAAA;AAYA,IAAAS,UAAA,GAAAT,OAAA;AAGA,IAAAU,iBAAA,GAAAV,OAAA;AA4DA,IAAAW,SAAA,GAAAX,OAAA;AA0CA,IAAAY,YAAA,GAAAZ,OAAA;AACA,IAAAa,eAAA,GAAAb,OAAA;AAEA,IAAAc,WAAA,GAAAC,sBAAA,CAAAf,OAAA"}
1
+ {"version":3,"file":"index.js","names":["_tableBatchBuilder","require","_rowTableBatchAggregator","_columnarTableBatchAggregator","_tableAccessors","_arrowLikeTable","_makeTable","_convertTable","_tableSchema","_rowUtils","_dataType","_meshUtils","_deduceMeshSchema","_arrowApi","_getTypeInfo","_arrowTypeUtils","_asyncQueue","_interopRequireDefault"],"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';\nexport {getArrowType} from './lib/table/arrow/arrow-type-utils';\n\nexport {default as AsyncQueue} from './lib/utils/async-queue';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoCA,IAAAA,kBAAA,GAAAC,OAAA;AAEA,IAAAC,wBAAA,GAAAD,OAAA;AACA,IAAAE,6BAAA,GAAAF,OAAA;AAEA,IAAAG,eAAA,GAAAH,OAAA;AAcA,IAAAI,eAAA,GAAAJ,OAAA;AAEA,IAAAK,UAAA,GAAAL,OAAA;AACA,IAAAM,aAAA,GAAAN,OAAA;AACA,IAAAO,YAAA,GAAAP,OAAA;AACA,IAAAQ,SAAA,GAAAR,OAAA;AACA,IAAAS,SAAA,GAAAT,OAAA;AAYA,IAAAU,UAAA,GAAAV,OAAA;AAGA,IAAAW,iBAAA,GAAAX,OAAA;AA6DA,IAAAY,SAAA,GAAAZ,OAAA;AA0CA,IAAAa,YAAA,GAAAb,OAAA;AACA,IAAAc,eAAA,GAAAd,OAAA;AAEA,IAAAe,WAAA,GAAAC,sBAAA,CAAAhB,OAAA"}
@@ -29,10 +29,11 @@ var ArrowLikeVector = function () {
29
29
  }, {
30
30
  key: "toArray",
31
31
  value: function toArray() {
32
- var _this$table$data$getC;
32
+ var _arrowTable$getChild;
33
33
  switch (this.table.shape) {
34
34
  case 'arrow-table':
35
- return (_this$table$data$getC = this.table.data.getChild(this.columnName)) === null || _this$table$data$getC === void 0 ? void 0 : _this$table$data$getC.toArray();
35
+ var arrowTable = this.table.data;
36
+ return (_arrowTable$getChild = arrowTable.getChild(this.columnName)) === null || _arrowTable$getChild === void 0 ? void 0 : _arrowTable$getChild.toArray();
36
37
  case 'columnar-table':
37
38
  return this.table.data[this.columnName];
38
39
  default:
@@ -56,7 +57,7 @@ var ArrowLikeTable = function () {
56
57
  (0, _createClass2.default)(ArrowLikeTable, [{
57
58
  key: "data",
58
59
  get: function get() {
59
- return this.table.data;
60
+ return this.table.shape === 'geojson-table' ? this.table.features : this.table.data;
60
61
  }
61
62
  }, {
62
63
  key: "numCols",
@@ -1 +1 @@
1
- {"version":3,"file":"arrow-like-table.js","names":["_arrowLikeSchema","require","_tableSchema","_tableAccessors","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","ArrowLikeVector","table","columnName","_classCallCheck2","_createClass2","value","get","rowIndex","getTableCell","toArray","_this$table$data$getC","shape","data","getChild","Error","ArrowLikeTable","schema","deduceTableSchema","ArrowLikeSchema","fields","metadata","getTableNumCols","getTableLength","exports"],"sources":["../../../../../src/lib/table/arrow-api/arrow-like-table.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport {Table} from '../../../types/category-table';\n\nimport {ArrowLikeSchema} from './arrow-like-schema';\n\nimport {deduceTableSchema} from '../simple-table/table-schema';\n\nimport {\n getTableCell,\n getTableLength,\n getTableNumCols\n // getTableCell,\n // getTableRowShape,\n // getTableColumnIndex,\n // getTableColumnName,\n // getTableRowAsObject,\n // getTableRowAsArray\n} from '../simple-table/table-accessors';\n\nclass ArrowLikeVector {\n table: Table;\n columnName: string;\n\n constructor(table: Table, columnName: string) {\n this.table = table;\n this.columnName = columnName;\n }\n\n get(rowIndex: number): unknown {\n return getTableCell(this.table, rowIndex, this.columnName);\n }\n\n toArray(): ArrayLike<unknown> {\n switch (this.table.shape) {\n case 'arrow-table':\n return this.table.data.getChild(this.columnName)?.toArray();\n case 'columnar-table':\n return this.table.data[this.columnName];\n default:\n throw new Error(this.table.shape);\n }\n }\n}\n\n/**\n * Class that provides an API similar to Apache Arrow Table class\n * Forwards methods directly if the underlying table is Arrow, otherwise calls accessor functions\n */\nexport class ArrowLikeTable {\n schema: ArrowLikeSchema;\n table: Table;\n\n constructor(table: Table) {\n const schema = table.schema || deduceTableSchema(table);\n this.schema = new ArrowLikeSchema(schema.fields, schema.metadata);\n this.table = {...table, schema};\n }\n\n // get schema() {\n // return this.table.schema;\n // }\n\n get data() {\n return this.table.data;\n }\n\n get numCols(): number {\n return getTableNumCols(this.table);\n }\n\n get length(): number {\n return getTableLength(this.table);\n }\n\n getChild(columnName: string): ArrowLikeVector {\n return new ArrowLikeVector(this.table, columnName);\n }\n\n // getChildAt(columnIndex: number): ArrowLikeVector {\n // return\n // }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"arrow-like-table.js","names":["_arrowLikeSchema","require","_tableSchema","_tableAccessors","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","ArrowLikeVector","table","columnName","_classCallCheck2","_createClass2","value","get","rowIndex","getTableCell","toArray","_arrowTable$getChild","shape","arrowTable","data","getChild","Error","ArrowLikeTable","schema","deduceTableSchema","ArrowLikeSchema","fields","metadata","features","getTableNumCols","getTableLength","exports"],"sources":["../../../../../src/lib/table/arrow-api/arrow-like-table.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport {Table} from '../../../types/category-table';\n\nimport {ArrowLikeSchema} from './arrow-like-schema';\n\nimport {deduceTableSchema} from '../simple-table/table-schema';\n\nimport {\n getTableCell,\n getTableLength,\n getTableNumCols\n // getTableCell,\n // getTableRowShape,\n // getTableColumnIndex,\n // getTableColumnName,\n // getTableRowAsObject,\n // getTableRowAsArray\n} from '../simple-table/table-accessors';\n\nclass ArrowLikeVector {\n table: Table;\n columnName: string;\n\n constructor(table: Table, columnName: string) {\n this.table = table;\n this.columnName = columnName;\n }\n\n get(rowIndex: number): unknown {\n return getTableCell(this.table, rowIndex, this.columnName);\n }\n\n toArray(): ArrayLike<unknown> {\n switch (this.table.shape) {\n case 'arrow-table':\n const arrowTable = this.table.data as any;\n return arrowTable.getChild(this.columnName)?.toArray();\n case 'columnar-table':\n return this.table.data[this.columnName];\n default:\n throw new Error(this.table.shape);\n }\n }\n}\n\n/**\n * Class that provides an API similar to Apache Arrow Table class\n * Forwards methods directly if the underlying table is Arrow, otherwise calls accessor functions\n */\nexport class ArrowLikeTable {\n schema: ArrowLikeSchema;\n table: Table;\n\n constructor(table: Table) {\n const schema = table.schema || deduceTableSchema(table);\n this.schema = new ArrowLikeSchema(schema.fields, schema.metadata);\n this.table = {...table, schema};\n }\n\n // get schema() {\n // return this.table.schema;\n // }\n\n get data() {\n return this.table.shape === 'geojson-table' ? this.table.features : this.table.data;\n }\n\n get numCols(): number {\n return getTableNumCols(this.table);\n }\n\n get length(): number {\n return getTableLength(this.table);\n }\n\n getChild(columnName: string): ArrowLikeVector {\n return new ArrowLikeVector(this.table, columnName);\n }\n\n // getChildAt(columnIndex: number): ArrowLikeVector {\n // return\n // }\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"row-table-batch-aggregator.js","names":["_rowUtils","require","DEFAULT_ROW_COUNT","RowTableBatchAggregator","schema","options","_classCallCheck2","default","_defineProperty2","Array","isArray","_headers","key","index","name","_createClass2","value","rowCount","length","addArrayRow","row","cursor","Number","isFinite","shape","rowObject","convertToObjectRow","addObjectRow","arrayRows","rowArray","convertToArrayRow","objectRows","getBatch","rows","slice","batchType","data","exports"],"sources":["../../../../../src/lib/table/batches/row-table-batch-aggregator.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport type {Schema} from '../../../types/schema';\nimport type {TableBatch} from '../../../types/category-table';\n// import type {ArrayRowTableBatch, ObjectRowTableBatch} from '../../category/table';\nimport {convertToArrayRow, convertToObjectRow} from '../simple-table/row-utils';\nimport {TableBatchAggregator, TableBatchOptions} from './table-batch-aggregator';\n\nconst DEFAULT_ROW_COUNT = 100;\n\nexport class RowTableBatchAggregator implements TableBatchAggregator {\n schema: Schema;\n options: TableBatchOptions;\n\n length: number = 0;\n objectRows: {[columnName: string]: any} | null = null;\n arrayRows: any[] | null = null;\n cursor: number = 0;\n private _headers: string[] = [];\n\n constructor(schema: Schema, options: TableBatchOptions) {\n this.options = options;\n this.schema = schema;\n\n // schema is an array if there're no headers\n // object if there are headers\n if (!Array.isArray(schema)) {\n this._headers = [];\n for (const key in schema) {\n this._headers[schema[key].index] = schema[key].name;\n }\n }\n }\n\n rowCount(): number {\n return this.length;\n }\n\n addArrayRow(row: any[], cursor?: number): void {\n if (Number.isFinite(cursor)) {\n this.cursor = cursor as number;\n }\n\n // eslint-disable-next-line default-case\n switch (this.options.shape) {\n case 'object-row-table':\n const rowObject = convertToObjectRow(row, this._headers);\n this.addObjectRow(rowObject, cursor);\n break;\n case 'array-row-table':\n this.arrayRows = this.arrayRows || new Array(DEFAULT_ROW_COUNT);\n this.arrayRows[this.length] = row;\n this.length++;\n break;\n }\n }\n\n addObjectRow(row: {[columnName: string]: any}, cursor?: number): void {\n if (Number.isFinite(cursor)) {\n this.cursor = cursor as number;\n }\n\n // eslint-disable-next-line default-case\n switch (this.options.shape) {\n case 'array-row-table':\n const rowArray = convertToArrayRow(row, this._headers);\n this.addArrayRow(rowArray, cursor);\n break;\n case 'object-row-table':\n this.objectRows = this.objectRows || new Array(DEFAULT_ROW_COUNT);\n this.objectRows[this.length] = row;\n this.length++;\n break;\n }\n }\n\n getBatch(): TableBatch | null {\n let rows = this.arrayRows || this.objectRows;\n if (!rows) {\n return null;\n }\n\n rows = rows.slice(0, this.length);\n this.arrayRows = null;\n this.objectRows = null;\n\n return {\n shape: this.options.shape,\n batchType: 'data',\n data: rows,\n length: this.length,\n schema: this.schema,\n cursor: this.cursor\n };\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"row-table-batch-aggregator.js","names":["_rowUtils","require","DEFAULT_ROW_COUNT","RowTableBatchAggregator","schema","options","_classCallCheck2","default","_defineProperty2","Array","isArray","_headers","key","index","name","_createClass2","value","rowCount","length","addArrayRow","row","cursor","Number","isFinite","shape","rowObject","convertToObjectRow","addObjectRow","arrayRows","rowArray","convertToArrayRow","objectRows","getBatch","rows","slice","batchType","data","exports"],"sources":["../../../../../src/lib/table/batches/row-table-batch-aggregator.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport type {Schema} from '../../../types/schema';\nimport type {TableBatch} from '../../../types/category-table';\n// import type {ArrayRowTableBatch, ObjectRowTableBatch} from '../../category/table';\nimport {convertToArrayRow, convertToObjectRow} from '../simple-table/row-utils';\nimport {TableBatchAggregator, TableBatchOptions} from './table-batch-aggregator';\n\nconst DEFAULT_ROW_COUNT = 100;\n\nexport class RowTableBatchAggregator implements TableBatchAggregator {\n schema: Schema;\n options: TableBatchOptions;\n\n length: number = 0;\n objectRows: {[columnName: string]: unknown}[] | null = null;\n arrayRows: unknown[][] | null = null;\n cursor: number = 0;\n private _headers: string[] = [];\n\n constructor(schema: Schema, options: TableBatchOptions) {\n this.options = options;\n this.schema = schema;\n\n // schema is an array if there're no headers\n // object if there are headers\n if (!Array.isArray(schema)) {\n this._headers = [];\n for (const key in schema) {\n this._headers[schema[key].index] = schema[key].name;\n }\n }\n }\n\n rowCount(): number {\n return this.length;\n }\n\n addArrayRow(row: any[], cursor?: number): void {\n if (Number.isFinite(cursor)) {\n this.cursor = cursor as number;\n }\n\n // eslint-disable-next-line default-case\n switch (this.options.shape) {\n case 'object-row-table':\n const rowObject = convertToObjectRow(row, this._headers);\n this.addObjectRow(rowObject, cursor);\n break;\n case 'array-row-table':\n this.arrayRows = this.arrayRows || new Array(DEFAULT_ROW_COUNT);\n this.arrayRows[this.length] = row;\n this.length++;\n break;\n }\n }\n\n addObjectRow(row: {[columnName: string]: any}, cursor?: number): void {\n if (Number.isFinite(cursor)) {\n this.cursor = cursor as number;\n }\n\n // eslint-disable-next-line default-case\n switch (this.options.shape) {\n case 'array-row-table':\n const rowArray = convertToArrayRow(row, this._headers);\n this.addArrayRow(rowArray, cursor);\n break;\n case 'object-row-table':\n this.objectRows = this.objectRows || new Array(DEFAULT_ROW_COUNT);\n this.objectRows[this.length] = row;\n this.length++;\n break;\n }\n }\n\n getBatch(): TableBatch | null {\n let rows = this.arrayRows || this.objectRows;\n if (!rows) {\n return null;\n }\n\n rows = rows.slice(0, this.length);\n this.arrayRows = null;\n this.objectRows = null;\n\n return {\n shape: this.options.shape,\n batchType: 'data',\n data: rows,\n length: this.length,\n schema: this.schema,\n cursor: this.cursor\n };\n }\n}\n"],"mappings":"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"}
@@ -4,7 +4,9 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
+ exports.convertTable = convertTable;
7
8
  exports.makeArrayRowTable = makeArrayRowTable;
9
+ exports.makeArrowTable = makeArrowTable;
8
10
  exports.makeColumnarTable = makeColumnarTable;
9
11
  exports.makeObjectRowTable = makeObjectRowTable;
10
12
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
@@ -16,6 +18,28 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
16
18
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
17
19
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
18
20
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
21
+ function convertTable(table, shape) {
22
+ switch (shape) {
23
+ case 'object-row-table':
24
+ return makeObjectRowTable(table);
25
+ case 'array-row-table':
26
+ return makeArrayRowTable(table);
27
+ case 'columnar-table':
28
+ return makeColumnarTable(table);
29
+ case 'arrow-table':
30
+ return makeArrowTable(table);
31
+ default:
32
+ throw new Error(shape);
33
+ }
34
+ }
35
+ function makeArrowTable(table) {
36
+ var _globalThis$__luma;
37
+ var _makeArrowTable = (_globalThis$__luma = globalThis.__luma) === null || _globalThis$__luma === void 0 ? void 0 : _globalThis$__luma._makeArrowTable;
38
+ if (!_makeArrowTable) {
39
+ throw new Error('');
40
+ }
41
+ return _makeArrowTable(table);
42
+ }
19
43
  function makeColumnarTable(table) {
20
44
  var _table$schema;
21
45
  var schema = table.schema || (0, _tableSchema.deduceTableSchema)(table);
@@ -1 +1 @@
1
- {"version":3,"file":"convert-table.js","names":["_tableAccessors","require","_tableSchema","_tableColumn","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","i","F","s","n","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","call","step","next","_e2","return","minLen","_arrayLikeToArray","Object","prototype","toString","slice","constructor","name","from","test","arr","len","arr2","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","arguments","source","forEach","key","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","makeColumnarTable","table","_table$schema","schema","deduceTableSchema","fields","shape","getTableLength","columns","_iterator","_step","field","column","makeColumnFromField","rowIndex","getTableCell","data","makeArrayRowTable","getTableRowAsArray","makeObjectRowTable","getTableRowAsObject"],"sources":["../../../../../src/lib/table/simple-table/convert-table.ts"],"sourcesContent":["// loaders.gl, MIT license\nimport {\n getTableCell,\n getTableLength,\n getTableRowAsArray,\n getTableRowAsObject\n} from './table-accessors';\nimport {Table, ArrayRowTable, ObjectRowTable, ColumnarTable} from '../../../types/category-table';\nimport {deduceTableSchema} from './table-schema';\nimport {makeColumnFromField} from './table-column';\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"],"mappings":"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"}
1
+ {"version":3,"file":"convert-table.js","names":["_tableAccessors","require","_tableSchema","_tableColumn","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","i","F","s","n","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","call","step","next","_e2","return","minLen","_arrayLikeToArray","Object","prototype","toString","slice","constructor","name","from","test","arr","len","arr2","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","arguments","source","forEach","key","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","convertTable","table","shape","makeObjectRowTable","makeArrayRowTable","makeColumnarTable","makeArrowTable","Error","_globalThis$__luma","_makeArrowTable","globalThis","__luma","_table$schema","schema","deduceTableSchema","fields","getTableLength","columns","_iterator","_step","field","column","makeColumnFromField","rowIndex","getTableCell","data","getTableRowAsArray","getTableRowAsObject"],"sources":["../../../../../src/lib/table/simple-table/convert-table.ts"],"sourcesContent":["// loaders.gl, MIT license\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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"}
@@ -27,10 +27,12 @@ function getTableLength(table) {
27
27
  switch (table.shape) {
28
28
  case 'array-row-table':
29
29
  case 'object-row-table':
30
- case 'geojson-row-table':
31
30
  return table.data.length;
31
+ case 'geojson-table':
32
+ return table.features.length;
32
33
  case 'arrow-table':
33
- return table.data.numRows;
34
+ var arrowTable = table.data;
35
+ return arrowTable.numRows;
34
36
  case 'columnar-table':
35
37
  for (var _i = 0, _Object$values = Object.values(table.data); _i < _Object$values.length; _i++) {
36
38
  var column = _Object$values[_i];
@@ -52,52 +54,59 @@ function getTableNumCols(table) {
52
54
  case 'array-row-table':
53
55
  return table.data[0].length;
54
56
  case 'object-row-table':
55
- case 'geojson-row-table':
56
57
  return Object.keys(table.data[0]).length;
58
+ case 'geojson-table':
59
+ return Object.keys(table.features[0]).length;
57
60
  case 'columnar-table':
58
61
  return Object.keys(table.data).length;
59
62
  case 'arrow-table':
60
- return table.data.numCols;
63
+ var arrowTable = table.data;
64
+ return arrowTable.numCols;
61
65
  default:
62
66
  throw new Error('table');
63
67
  }
64
68
  }
65
69
  function getTableCell(table, rowIndex, columnName) {
66
- var _table$data$getChildA;
70
+ var _arrowTable$getChildA;
67
71
  switch (table.shape) {
68
72
  case 'array-row-table':
69
73
  var columnIndex = getTableColumnIndex(table, columnName);
70
74
  return table.data[rowIndex][columnIndex];
71
75
  case 'object-row-table':
72
- case 'geojson-row-table':
73
76
  return table.data[rowIndex][columnName];
77
+ case 'geojson-table':
78
+ return table.features[rowIndex][columnName];
74
79
  case 'columnar-table':
75
80
  var column = table.data[columnName];
76
81
  return column[rowIndex];
77
82
  case 'arrow-table':
78
- var arrowColumnIndex = table.data.schema.fields.findIndex(function (field) {
83
+ var arrowTable = table.data;
84
+ var arrowColumnIndex = arrowTable.schema.fields.findIndex(function (field) {
79
85
  return field.name === columnName;
80
86
  });
81
- return (_table$data$getChildA = table.data.getChildAt(arrowColumnIndex)) === null || _table$data$getChildA === void 0 ? void 0 : _table$data$getChildA.get(rowIndex);
87
+ return (_arrowTable$getChildA = arrowTable.getChildAt(arrowColumnIndex)) === null || _arrowTable$getChildA === void 0 ? void 0 : _arrowTable$getChildA.get(rowIndex);
82
88
  default:
83
89
  throw new Error('todo');
84
90
  }
85
91
  }
86
92
  function getTableCellAt(table, rowIndex, columnIndex) {
87
- var _table$data$getChildA2;
93
+ var _arrowTable$getChildA2;
88
94
  switch (table.shape) {
89
95
  case 'array-row-table':
90
96
  return table.data[rowIndex][columnIndex];
91
97
  case 'object-row-table':
92
- case 'geojson-row-table':
93
- var _columnName = getTableColumnName(table, columnIndex);
94
- return table.data[rowIndex][_columnName];
98
+ var columnName1 = getTableColumnName(table, columnIndex);
99
+ return table.data[rowIndex][columnName1];
100
+ case 'geojson-table':
101
+ var columnName2 = getTableColumnName(table, columnIndex);
102
+ return table.features[rowIndex][columnName2];
95
103
  case 'columnar-table':
96
- _columnName = getTableColumnName(table, columnIndex);
97
- var column = table.data[_columnName];
104
+ var columnName3 = getTableColumnName(table, columnIndex);
105
+ var column = table.data[columnName3];
98
106
  return column[rowIndex];
99
107
  case 'arrow-table':
100
- return (_table$data$getChildA2 = table.data.getChildAt(columnIndex)) === null || _table$data$getChildA2 === void 0 ? void 0 : _table$data$getChildA2.get(rowIndex);
108
+ var arrowTable = table.data;
109
+ return (_arrowTable$getChildA2 = arrowTable.getChildAt(columnIndex)) === null || _arrowTable$getChildA2 === void 0 ? void 0 : _arrowTable$getChildA2.get(rowIndex);
101
110
  default:
102
111
  throw new Error('todo');
103
112
  }
@@ -107,7 +116,7 @@ function getTableRowShape(table) {
107
116
  case 'array-row-table':
108
117
  case 'object-row-table':
109
118
  return table.shape;
110
- case 'geojson-row-table':
119
+ case 'geojson-table':
111
120
  return 'object-row-table';
112
121
  case 'columnar-table':
113
122
  default:
@@ -137,7 +146,6 @@ function getTableRowAsObject(table, rowIndex, target, copy) {
137
146
  case 'object-row-table':
138
147
  return copy ? Object.fromEntries(Object.entries(table.data[rowIndex])) : table.data[rowIndex];
139
148
  case 'array-row-table':
140
- case 'geojson-row-table':
141
149
  if (table.schema) {
142
150
  var _objectRow = target || {};
143
151
  for (var i = 0; i < table.schema.fields.length; i++) {
@@ -146,29 +154,39 @@ function getTableRowAsObject(table, rowIndex, target, copy) {
146
154
  return _objectRow;
147
155
  }
148
156
  throw new Error('no schema');
149
- case 'columnar-table':
157
+ case 'geojson-table':
150
158
  if (table.schema) {
151
159
  var _objectRow2 = target || {};
152
160
  for (var _i2 = 0; _i2 < table.schema.fields.length; _i2++) {
153
- _objectRow2[table.schema.fields[_i2].name] = table.data[table.schema.fields[_i2].name][rowIndex];
161
+ _objectRow2[table.schema.fields[_i2].name] = table.features[rowIndex][_i2];
154
162
  }
155
163
  return _objectRow2;
156
- } else {
164
+ }
165
+ throw new Error('no schema');
166
+ case 'columnar-table':
167
+ if (table.schema) {
157
168
  var _objectRow3 = target || {};
158
- for (var _i3 = 0, _Object$entries = Object.entries(table.data); _i3 < _Object$entries.length; _i3++) {
159
- var _Object$entries$_i = (0, _slicedToArray2.default)(_Object$entries[_i3], 2),
169
+ for (var _i3 = 0; _i3 < table.schema.fields.length; _i3++) {
170
+ _objectRow3[table.schema.fields[_i3].name] = table.data[table.schema.fields[_i3].name][rowIndex];
171
+ }
172
+ return _objectRow3;
173
+ } else {
174
+ var _objectRow4 = target || {};
175
+ for (var _i4 = 0, _Object$entries = Object.entries(table.data); _i4 < _Object$entries.length; _i4++) {
176
+ var _Object$entries$_i = (0, _slicedToArray2.default)(_Object$entries[_i4], 2),
160
177
  name = _Object$entries$_i[0],
161
178
  column = _Object$entries$_i[1];
162
- _objectRow3[name] = column[rowIndex];
179
+ _objectRow4[name] = column[rowIndex];
163
180
  }
164
- return _objectRow3;
181
+ return _objectRow4;
165
182
  }
166
183
  case 'arrow-table':
184
+ var arrowTable = table.data;
167
185
  var objectRow = target || {};
168
- var row = table.data.get(rowIndex);
169
- var schema = table.data.schema;
170
- for (var _i4 = 0; _i4 < schema.fields.length; _i4++) {
171
- objectRow[schema.fields[_i4].name] = row === null || row === void 0 ? void 0 : row[schema.fields[_i4].name];
186
+ var row = arrowTable.get(rowIndex);
187
+ var schema = arrowTable.schema;
188
+ for (var _i5 = 0; _i5 < schema.fields.length; _i5++) {
189
+ objectRow[schema.fields[_i5].name] = row === null || row === void 0 ? void 0 : row[schema.fields[_i5].name];
172
190
  }
173
191
  return objectRow;
174
192
  default:
@@ -180,7 +198,6 @@ function getTableRowAsArray(table, rowIndex, target, copy) {
180
198
  case 'array-row-table':
181
199
  return copy ? Array.from(table.data[rowIndex]) : table.data[rowIndex];
182
200
  case 'object-row-table':
183
- case 'geojson-row-table':
184
201
  if (table.schema) {
185
202
  var _arrayRow = target || [];
186
203
  for (var i = 0; i < table.schema.fields.length; i++) {
@@ -189,29 +206,39 @@ function getTableRowAsArray(table, rowIndex, target, copy) {
189
206
  return _arrayRow;
190
207
  }
191
208
  return Object.values(table.data[rowIndex]);
192
- case 'columnar-table':
209
+ case 'geojson-table':
193
210
  if (table.schema) {
194
211
  var _arrayRow2 = target || [];
195
- for (var _i5 = 0; _i5 < table.schema.fields.length; _i5++) {
196
- _arrayRow2[_i5] = table.data[table.schema.fields[_i5].name][rowIndex];
212
+ for (var _i6 = 0; _i6 < table.schema.fields.length; _i6++) {
213
+ _arrayRow2[_i6] = table.features[rowIndex][table.schema.fields[_i6].name];
197
214
  }
198
215
  return _arrayRow2;
199
- } else {
216
+ }
217
+ return Object.values(table.features[rowIndex]);
218
+ case 'columnar-table':
219
+ if (table.schema) {
200
220
  var _arrayRow3 = target || [];
201
- var _i6 = 0;
202
- for (var _i7 = 0, _Object$values2 = Object.values(table.data); _i7 < _Object$values2.length; _i7++) {
203
- var column = _Object$values2[_i7];
204
- _arrayRow3[_i6] = column[rowIndex];
205
- _i6++;
221
+ for (var _i7 = 0; _i7 < table.schema.fields.length; _i7++) {
222
+ _arrayRow3[_i7] = table.data[table.schema.fields[_i7].name][rowIndex];
206
223
  }
207
224
  return _arrayRow3;
225
+ } else {
226
+ var _arrayRow4 = target || [];
227
+ var _i8 = 0;
228
+ for (var _i9 = 0, _Object$values2 = Object.values(table.data); _i9 < _Object$values2.length; _i9++) {
229
+ var column = _Object$values2[_i9];
230
+ _arrayRow4[_i8] = column[rowIndex];
231
+ _i8++;
232
+ }
233
+ return _arrayRow4;
208
234
  }
209
235
  case 'arrow-table':
236
+ var arrowTable = table.data;
210
237
  var arrayRow = target || [];
211
- var row = table.data.get(rowIndex);
212
- var schema = table.data.schema;
213
- for (var _i8 = 0; _i8 < schema.fields.length; _i8++) {
214
- arrayRow[_i8] = row === null || row === void 0 ? void 0 : row[schema.fields[_i8].name];
238
+ var row = arrowTable.get(rowIndex);
239
+ var schema = arrowTable.schema;
240
+ for (var _i10 = 0; _i10 < schema.fields.length; _i10++) {
241
+ arrayRow[_i10] = row === null || row === void 0 ? void 0 : row[schema.fields[_i10].name];
215
242
  }
216
243
  return arrayRow;
217
244
  default:
@@ -1 +1 @@
1
- {"version":3,"file":"table-accessors.js","names":["makeRowIterator","getTableLength","table","shape","data","length","numRows","_i","_Object$values","Object","values","column","Error","getTableNumCols","schema","fields","keys","numCols","getTableCell","rowIndex","columnName","_table$data$getChildA","columnIndex","getTableColumnIndex","arrowColumnIndex","findIndex","field","name","getChildAt","get","getTableCellAt","_table$data$getChildA2","getTableColumnName","getTableRowShape","_table$schema","undefined","_table$schema2","_table$schema2$fields","concat","getTableRowAsObject","target","copy","fromEntries","entries","objectRow","i","_i3","_Object$entries","_Object$entries$_i","_slicedToArray2","default","row","getTableRowAsArray","Array","from","arrayRow","_i7","_Object$values2","makeArrayRowTable","makeObjectRowTable","makeColumnarTable","_regenerator","wrap","makeRowIterator$","_context","prev","next","t0","delegateYield","makeArrayRowIterator","abrupt","makeObjectRowIterator","stop","_marked","arguments","mark","_callee","_callee$","_context2","_callee2","_callee2$","_context3"],"sources":["../../../../../src/lib/table/simple-table/table-accessors.ts"],"sourcesContent":["// loaders.gl, MIT license\n\n/* eslint-disable no-else-return */\n\nimport {Table, ArrayRowTable, ObjectRowTable} from '../../../types/category-table';\n\n/**\n * Returns the length of the table (i.e. the number of rows)\n */\nexport function getTableLength(table: Table): number {\n switch (table.shape) {\n case 'array-row-table':\n case 'object-row-table':\n case 'geojson-row-table':\n return table.data.length;\n\n case 'arrow-table':\n return table.data.numRows;\n\n case 'columnar-table':\n for (const column of Object.values(table.data)) {\n return column.length || 0;\n }\n return 0;\n default:\n throw new Error('table');\n }\n}\n\n/**\n * Returns the number of columns in the table\n * @throws Fails to deduce number of columns if the table has no schema and is empty\n */\nexport function getTableNumCols(table: Table): number {\n if (table.schema) {\n return table.schema.fields.length;\n }\n if (getTableLength(table) === 0) {\n throw new Error('empty table');\n }\n switch (table.shape) {\n case 'array-row-table':\n return table.data[0].length;\n case 'object-row-table':\n case 'geojson-row-table':\n return Object.keys(table.data[0]).length;\n\n case 'columnar-table':\n return Object.keys(table.data).length;\n\n case 'arrow-table':\n return table.data.numCols;\n default:\n throw new Error('table');\n }\n}\n\n/** Get a table cell value at row index and column name */\nexport function getTableCell(table: Table, rowIndex: number, columnName: string): unknown {\n switch (table.shape) {\n case 'array-row-table':\n const columnIndex = getTableColumnIndex(table, columnName);\n return table.data[rowIndex][columnIndex];\n\n case 'object-row-table':\n case 'geojson-row-table':\n return table.data[rowIndex][columnName];\n\n case 'columnar-table':\n const column = table.data[columnName];\n return column[rowIndex];\n\n case 'arrow-table':\n const arrowColumnIndex = table.data.schema.fields.findIndex(\n (field) => field.name === columnName\n );\n return table.data.getChildAt(arrowColumnIndex)?.get(rowIndex);\n\n default:\n throw new Error('todo');\n }\n}\n\n/** Get a table cell value at row index and column name */\nexport function getTableCellAt(table: Table, rowIndex: number, columnIndex: number): unknown {\n switch (table.shape) {\n case 'array-row-table':\n return table.data[rowIndex][columnIndex];\n\n case 'object-row-table':\n case 'geojson-row-table':\n let columnName = getTableColumnName(table, columnIndex);\n return table.data[rowIndex][columnName];\n\n case 'columnar-table':\n columnName = getTableColumnName(table, columnIndex);\n const column = table.data[columnName];\n return column[rowIndex];\n\n case 'arrow-table':\n return table.data.getChildAt(columnIndex)?.get(rowIndex);\n\n default:\n throw new Error('todo');\n }\n}\n\n/** Deduce the table row shape */\nexport function getTableRowShape(table: Table): 'array-row-table' | 'object-row-table' {\n switch (table.shape) {\n case 'array-row-table':\n case 'object-row-table':\n return table.shape;\n\n case 'geojson-row-table':\n return 'object-row-table';\n\n case 'columnar-table':\n default:\n throw new Error('Not a row table');\n }\n}\n\n/** Get the index of a named table column. Requires the table to have a schema */\nexport function getTableColumnIndex(table: Table, columnName: string): number {\n const columnIndex = table.schema?.fields.findIndex((field) => field.name === columnName);\n if (columnIndex === undefined) {\n throw new Error(columnName);\n }\n return columnIndex;\n}\n\n/** Get the name of a table column by index. Requires the table to have a schema */\nexport function getTableColumnName(table: Table, columnIndex: number): string {\n const columnName = table.schema?.fields[columnIndex]?.name;\n if (!columnName) {\n throw new Error(`${columnIndex}`);\n }\n return columnName;\n}\n\n/**\n * Returns one row of the table in object format.\n * @param target Optional parameter will be used if needed to store the row. Can be reused between calls to improve performance\n * @returns an array representing the row. May be the original array in the row, a new object, or the target parameter\n */\n// eslint-disable-next-line complexity\nexport function getTableRowAsObject(\n table: Table,\n rowIndex: number,\n target?: {[columnName: string]: unknown},\n copy?: 'copy'\n): {[columnName: string]: unknown} {\n switch (table.shape) {\n case 'object-row-table':\n return copy ? Object.fromEntries(Object.entries(table.data[rowIndex])) : table.data[rowIndex];\n\n case 'array-row-table':\n case 'geojson-row-table':\n if (table.schema) {\n const objectRow: {[columnName: string]: unknown} = target || {};\n for (let i = 0; i < table.schema.fields.length; i++) {\n objectRow[table.schema.fields[i].name] = table.data[rowIndex][i];\n }\n return objectRow;\n }\n throw new Error('no schema');\n\n case 'columnar-table':\n if (table.schema) {\n const objectRow: {[columnName: string]: unknown} = target || {};\n for (let i = 0; i < table.schema.fields.length; i++) {\n objectRow[table.schema.fields[i].name] =\n table.data[table.schema.fields[i].name][rowIndex];\n }\n return objectRow;\n } else {\n // eslint-disable-line no-else-return\n const objectRow: {[columnName: string]: unknown} = target || {};\n for (const [name, column] of Object.entries(table.data)) {\n objectRow[name] = column[rowIndex];\n }\n return objectRow;\n }\n\n case 'arrow-table':\n const objectRow: {[columnName: string]: unknown} = target || {};\n const row = table.data.get(rowIndex);\n const schema = table.data.schema;\n for (let i = 0; i < schema.fields.length; i++) {\n objectRow[schema.fields[i].name] = row?.[schema.fields[i].name];\n }\n return objectRow;\n\n default:\n throw new Error('shape');\n }\n}\n\n/**\n * Returns one row of the table in array format.\n * @param target Optional parameter will be used if needed to store the row. Can be reused between calls to improve performance.\n * @returns an array representing the row. May be the original array in the row, a new object, or the target parameter\n */\n// eslint-disable-next-line complexity\nexport function getTableRowAsArray(\n table: Table,\n rowIndex: number,\n target?: unknown[],\n copy?: 'copy'\n): unknown[] {\n switch (table.shape) {\n case 'array-row-table':\n return copy ? Array.from(table.data[rowIndex]) : table.data[rowIndex];\n\n case 'object-row-table':\n case 'geojson-row-table':\n if (table.schema) {\n const arrayRow: unknown[] = target || [];\n for (let i = 0; i < table.schema.fields.length; i++) {\n arrayRow[i] = table.data[rowIndex][table.schema.fields[i].name];\n }\n return arrayRow;\n }\n // Warning: just slap on the values, this risks mismatches between rows\n return Object.values(table.data[rowIndex]);\n\n case 'columnar-table':\n if (table.schema) {\n const arrayRow: unknown[] = target || [];\n for (let i = 0; i < table.schema.fields.length; i++) {\n arrayRow[i] = table.data[table.schema.fields[i].name][rowIndex];\n }\n return arrayRow;\n } else {\n // eslint-disable-line no-else-return\n const arrayRow: unknown[] = target || [];\n let i = 0;\n for (const column of Object.values(table.data)) {\n arrayRow[i] = column[rowIndex];\n i++;\n }\n return arrayRow;\n }\n\n case 'arrow-table':\n const arrayRow: unknown[] = target || [];\n const row = table.data.get(rowIndex);\n const schema = table.data.schema;\n for (let i = 0; i < schema.fields.length; i++) {\n arrayRow[i] = row?.[schema.fields[i].name];\n }\n return arrayRow;\n\n default:\n throw new Error('shape');\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/** Convert any table into object row format */\nexport function makeColumnarTable(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// Row Iterators\n\n/**\n * Iterate over table rows\n * @param table\n * @param shape\n */\nexport function* makeRowIterator(\n table: Table,\n shape: 'object-row-table' | 'array-row-table'\n): Iterable<unknown[] | {[key: string]: unknown}> {\n switch (shape) {\n case 'array-row-table':\n yield* makeArrayRowIterator(table);\n break;\n case 'object-row-table':\n yield* makeObjectRowIterator(table);\n break;\n\n default:\n throw new Error(`Unknown row type ${shape}`);\n }\n}\n\n/**\n * Streaming processing: Iterate over table, yielding array rows\n * @param table\n * @param shape\n */\nexport function* makeArrayRowIterator(table: Table, target: unknown[] = []): Iterable<unknown[]> {\n const length = getTableLength(table);\n for (let rowIndex = 0; rowIndex < length; rowIndex++) {\n yield getTableRowAsArray(table, rowIndex, target);\n }\n}\n\n/**\n * Streaming processing: Iterate over table, yielding object rows\n * @param table\n * @param shape\n */\nexport function* makeObjectRowIterator(\n table: Table,\n target: {[key: string]: unknown} = {}\n): Iterable<{[key: string]: unknown}> {\n const length = getTableLength(table);\n for (let rowIndex = 0; rowIndex < length; rowIndex++) {\n yield getTableRowAsObject(table, rowIndex, target);\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"table-accessors.js","names":["makeRowIterator","getTableLength","table","shape","data","length","features","arrowTable","numRows","_i","_Object$values","Object","values","column","Error","getTableNumCols","schema","fields","keys","numCols","getTableCell","rowIndex","columnName","_arrowTable$getChildA","columnIndex","getTableColumnIndex","arrowColumnIndex","findIndex","field","name","getChildAt","get","getTableCellAt","_arrowTable$getChildA2","columnName1","getTableColumnName","columnName2","columnName3","getTableRowShape","_table$schema","undefined","_table$schema2","_table$schema2$fields","concat","getTableRowAsObject","target","copy","fromEntries","entries","objectRow","i","_i4","_Object$entries","_Object$entries$_i","_slicedToArray2","default","row","getTableRowAsArray","Array","from","arrayRow","_i9","_Object$values2","makeArrayRowTable","makeObjectRowTable","makeColumnarTable","_regenerator","wrap","makeRowIterator$","_context","prev","next","t0","delegateYield","makeArrayRowIterator","abrupt","makeObjectRowIterator","stop","_marked","arguments","mark","_callee","_callee$","_context2","_callee2","_callee2$","_context3"],"sources":["../../../../../src/lib/table/simple-table/table-accessors.ts"],"sourcesContent":["// loaders.gl, MIT license\n\n/* eslint-disable no-else-return */\n\nimport {Table, ArrayRowTable, ObjectRowTable} from '../../../types/category-table';\n\n/**\n * Returns the length of the table (i.e. the number of rows)\n */\nexport function getTableLength(table: Table): number {\n switch (table.shape) {\n case 'array-row-table':\n case 'object-row-table':\n return table.data.length;\n\n case 'geojson-table':\n return table.features.length;\n\n case 'arrow-table':\n const arrowTable = table.data as any;\n return arrowTable.numRows;\n\n case 'columnar-table':\n for (const column of Object.values(table.data)) {\n return column.length || 0;\n }\n return 0;\n default:\n throw new Error('table');\n }\n}\n\n/**\n * Returns the number of columns in the table\n * @throws Fails to deduce number of columns if the table has no schema and is empty\n */\nexport function getTableNumCols(table: Table): number {\n if (table.schema) {\n return table.schema.fields.length;\n }\n if (getTableLength(table) === 0) {\n throw new Error('empty table');\n }\n switch (table.shape) {\n case 'array-row-table':\n return table.data[0].length;\n case 'object-row-table':\n return Object.keys(table.data[0]).length;\n case 'geojson-table':\n return Object.keys(table.features[0]).length;\n case 'columnar-table':\n return Object.keys(table.data).length;\n case 'arrow-table':\n const arrowTable = table.data as any;\n return arrowTable.numCols;\n default:\n throw new Error('table');\n }\n}\n\n/** Get a table cell value at row index and column name */\nexport function getTableCell(table: Table, rowIndex: number, columnName: string): unknown {\n switch (table.shape) {\n case 'array-row-table':\n const columnIndex = getTableColumnIndex(table, columnName);\n return table.data[rowIndex][columnIndex];\n\n case 'object-row-table':\n return table.data[rowIndex][columnName];\n\n case 'geojson-table':\n return table.features[rowIndex][columnName];\n\n case 'columnar-table':\n const column = table.data[columnName];\n return column[rowIndex];\n\n case 'arrow-table':\n const arrowTable = table.data as any;\n const arrowColumnIndex = arrowTable.schema.fields.findIndex(\n (field) => field.name === columnName\n );\n return arrowTable.getChildAt(arrowColumnIndex)?.get(rowIndex);\n\n default:\n throw new Error('todo');\n }\n}\n\n/** Get a table cell value at row index and column name */\nexport function getTableCellAt(table: Table, rowIndex: number, columnIndex: number): unknown {\n switch (table.shape) {\n case 'array-row-table':\n return table.data[rowIndex][columnIndex];\n\n case 'object-row-table':\n const columnName1 = getTableColumnName(table, columnIndex);\n return table.data[rowIndex][columnName1];\n\n case 'geojson-table':\n const columnName2 = getTableColumnName(table, columnIndex);\n return table.features[rowIndex][columnName2];\n\n case 'columnar-table':\n const columnName3 = getTableColumnName(table, columnIndex);\n const column = table.data[columnName3];\n return column[rowIndex];\n\n case 'arrow-table':\n const arrowTable = table.data as any;\n return arrowTable.getChildAt(columnIndex)?.get(rowIndex);\n\n default:\n throw new Error('todo');\n }\n}\n\n/** Deduce the table row shape */\nexport function getTableRowShape(table: Table): 'array-row-table' | 'object-row-table' {\n switch (table.shape) {\n case 'array-row-table':\n case 'object-row-table':\n return table.shape;\n\n case 'geojson-table':\n // TODO - this is not correct, geojson-table is not a row table\n return 'object-row-table';\n\n case 'columnar-table':\n default:\n throw new Error('Not a row table');\n }\n}\n\n/** Get the index of a named table column. Requires the table to have a schema */\nexport function getTableColumnIndex(table: Table, columnName: string): number {\n const columnIndex = table.schema?.fields.findIndex((field) => field.name === columnName);\n if (columnIndex === undefined) {\n throw new Error(columnName);\n }\n return columnIndex;\n}\n\n/** Get the name of a table column by index. Requires the table to have a schema */\nexport function getTableColumnName(table: Table, columnIndex: number): string {\n const columnName = table.schema?.fields[columnIndex]?.name;\n if (!columnName) {\n throw new Error(`${columnIndex}`);\n }\n return columnName;\n}\n\n/**\n * Returns one row of the table in object format.\n * @param target Optional parameter will be used if needed to store the row. Can be reused between calls to improve performance\n * @returns an array representing the row. May be the original array in the row, a new object, or the target parameter\n */\n// eslint-disable-next-line complexity\nexport function getTableRowAsObject(\n table: Table,\n rowIndex: number,\n target?: {[columnName: string]: unknown},\n copy?: 'copy'\n): {[columnName: string]: unknown} {\n switch (table.shape) {\n case 'object-row-table':\n return copy ? Object.fromEntries(Object.entries(table.data[rowIndex])) : table.data[rowIndex];\n\n case 'array-row-table':\n if (table.schema) {\n const objectRow: {[columnName: string]: unknown} = target || {};\n for (let i = 0; i < table.schema.fields.length; i++) {\n objectRow[table.schema.fields[i].name] = table.data[rowIndex][i];\n }\n return objectRow;\n }\n throw new Error('no schema');\n\n case 'geojson-table':\n if (table.schema) {\n const objectRow: {[columnName: string]: unknown} = target || {};\n // TODO - should lift properties to top level\n for (let i = 0; i < table.schema.fields.length; i++) {\n objectRow[table.schema.fields[i].name] = table.features[rowIndex][i];\n }\n return objectRow;\n }\n throw new Error('no schema');\n\n case 'columnar-table':\n if (table.schema) {\n const objectRow: {[columnName: string]: unknown} = target || {};\n for (let i = 0; i < table.schema.fields.length; i++) {\n objectRow[table.schema.fields[i].name] =\n table.data[table.schema.fields[i].name][rowIndex];\n }\n return objectRow;\n } else {\n // eslint-disable-line no-else-return\n const objectRow: {[columnName: string]: unknown} = target || {};\n for (const [name, column] of Object.entries(table.data)) {\n objectRow[name] = column[rowIndex];\n }\n return objectRow;\n }\n\n case 'arrow-table':\n const arrowTable = table.data as any;\n const objectRow: {[columnName: string]: unknown} = target || {};\n const row = arrowTable.get(rowIndex);\n const schema = arrowTable.schema;\n for (let i = 0; i < schema.fields.length; i++) {\n objectRow[schema.fields[i].name] = row?.[schema.fields[i].name];\n }\n return objectRow;\n\n default:\n throw new Error('shape');\n }\n}\n\n/**\n * Returns one row of the table in array format.\n * @param target Optional parameter will be used if needed to store the row. Can be reused between calls to improve performance.\n * @returns an array representing the row. May be the original array in the row, a new object, or the target parameter\n */\n// eslint-disable-next-line complexity\nexport function getTableRowAsArray(\n table: Table,\n rowIndex: number,\n target?: unknown[],\n copy?: 'copy'\n): unknown[] {\n switch (table.shape) {\n case 'array-row-table':\n return copy ? Array.from(table.data[rowIndex]) : table.data[rowIndex];\n\n case 'object-row-table':\n if (table.schema) {\n const arrayRow: unknown[] = target || [];\n for (let i = 0; i < table.schema.fields.length; i++) {\n arrayRow[i] = table.data[rowIndex][table.schema.fields[i].name];\n }\n return arrayRow;\n }\n // Warning: just slap on the values, this risks mismatches between rows\n return Object.values(table.data[rowIndex]);\n\n case 'geojson-table':\n if (table.schema) {\n const arrayRow: unknown[] = target || [];\n // TODO - should lift properties to top level\n for (let i = 0; i < table.schema.fields.length; i++) {\n arrayRow[i] = table.features[rowIndex][table.schema.fields[i].name];\n }\n return arrayRow;\n }\n // Warning: just slap on the values, this risks mismatches between rows\n return Object.values(table.features[rowIndex]);\n\n case 'columnar-table':\n if (table.schema) {\n const arrayRow: unknown[] = target || [];\n for (let i = 0; i < table.schema.fields.length; i++) {\n arrayRow[i] = table.data[table.schema.fields[i].name][rowIndex];\n }\n return arrayRow;\n } else {\n // eslint-disable-line no-else-return\n const arrayRow: unknown[] = target || [];\n let i = 0;\n for (const column of Object.values(table.data)) {\n arrayRow[i] = column[rowIndex];\n i++;\n }\n return arrayRow;\n }\n\n case 'arrow-table':\n const arrowTable = table.data as any;\n const arrayRow: unknown[] = target || [];\n const row = arrowTable.get(rowIndex);\n const schema = arrowTable.schema;\n for (let i = 0; i < schema.fields.length; i++) {\n arrayRow[i] = row?.[schema.fields[i].name];\n }\n return arrayRow;\n\n default:\n throw new Error('shape');\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/** Convert any table into object row format */\nexport function makeColumnarTable(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// Row Iterators\n\n/**\n * Iterate over table rows\n * @param table\n * @param shape\n */\nexport function* makeRowIterator(\n table: Table,\n shape: 'object-row-table' | 'array-row-table'\n): Iterable<unknown[] | {[key: string]: unknown}> {\n switch (shape) {\n case 'array-row-table':\n yield* makeArrayRowIterator(table);\n break;\n case 'object-row-table':\n yield* makeObjectRowIterator(table);\n break;\n\n default:\n throw new Error(`Unknown row type ${shape}`);\n }\n}\n\n/**\n * Streaming processing: Iterate over table, yielding array rows\n * @param table\n * @param shape\n */\nexport function* makeArrayRowIterator(table: Table, target: unknown[] = []): Iterable<unknown[]> {\n const length = getTableLength(table);\n for (let rowIndex = 0; rowIndex < length; rowIndex++) {\n yield getTableRowAsArray(table, rowIndex, target);\n }\n}\n\n/**\n * Streaming processing: Iterate over table, yielding object rows\n * @param table\n * @param shape\n */\nexport function* makeObjectRowIterator(\n table: Table,\n target: {[key: string]: unknown} = {}\n): Iterable<{[key: string]: unknown}> {\n const length = getTableLength(table);\n for (let rowIndex = 0; rowIndex < length; rowIndex++) {\n yield getTableRowAsObject(table, rowIndex, target);\n }\n}\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=batch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"batch.js","names":[],"sources":["../../../src/types/batch.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport {Schema} from './schema';\nimport type {RecordBatch} from 'apache-arrow';\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?: RecordBatch;\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":""}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=binary-geometries.js.map
@@ -0,0 +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 points?: BinaryPointFeature;\n lines?: BinaryLineFeature;\n polygons?: BinaryPolygonFeature;\n};\n"],"mappings":""}