@loaders.gl/schema 4.0.0-alpha.25 → 4.0.0-alpha.26

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/dist.min.js CHANGED
@@ -410,7 +410,8 @@
410
410
  case "geojson-table":
411
411
  return table.features.length;
412
412
  case "arrow-table":
413
- return table.data.numRows;
413
+ const arrowTable = table.data;
414
+ return arrowTable.numRows;
414
415
  case "columnar-table":
415
416
  for (const column of Object.values(table.data)) {
416
417
  return column.length || 0;
@@ -437,7 +438,8 @@
437
438
  case "columnar-table":
438
439
  return Object.keys(table.data).length;
439
440
  case "arrow-table":
440
- return table.data.numCols;
441
+ const arrowTable = table.data;
442
+ return arrowTable.numCols;
441
443
  default:
442
444
  throw new Error("table");
443
445
  }
@@ -455,8 +457,9 @@
455
457
  const column = table.data[columnName];
456
458
  return column[rowIndex];
457
459
  case "arrow-table":
458
- const arrowColumnIndex = table.data.schema.fields.findIndex((field) => field.name === columnName);
459
- return table.data.getChildAt(arrowColumnIndex)?.get(rowIndex);
460
+ const arrowTable = table.data;
461
+ const arrowColumnIndex = arrowTable.schema.fields.findIndex((field) => field.name === columnName);
462
+ return arrowTable.getChildAt(arrowColumnIndex)?.get(rowIndex);
460
463
  default:
461
464
  throw new Error("todo");
462
465
  }
@@ -524,9 +527,10 @@
524
527
  return objectRow2;
525
528
  }
526
529
  case "arrow-table":
530
+ const arrowTable = table.data;
527
531
  const objectRow = target || {};
528
- const row = table.data.get(rowIndex);
529
- const schema = table.data.schema;
532
+ const row = arrowTable.get(rowIndex);
533
+ const schema = arrowTable.schema;
530
534
  for (let i = 0; i < schema.fields.length; i++) {
531
535
  objectRow[schema.fields[i].name] = row?.[schema.fields[i].name];
532
536
  }
@@ -574,9 +578,10 @@
574
578
  return arrayRow2;
575
579
  }
576
580
  case "arrow-table":
581
+ const arrowTable = table.data;
577
582
  const arrayRow = target || [];
578
- const row = table.data.get(rowIndex);
579
- const schema = table.data.schema;
583
+ const row = arrowTable.get(rowIndex);
584
+ const schema = arrowTable.schema;
580
585
  for (let i = 0; i < schema.fields.length; i++) {
581
586
  arrayRow[i] = row?.[schema.fields[i].name];
582
587
  }
@@ -868,7 +873,8 @@
868
873
  toArray() {
869
874
  switch (this.table.shape) {
870
875
  case "arrow-table":
871
- return this.table.data.getChild(this.columnName)?.toArray();
876
+ const arrowTable = this.table.data;
877
+ return arrowTable.getChild(this.columnName)?.toArray();
872
878
  case "columnar-table":
873
879
  return this.table.data[this.columnName];
874
880
  default:
@@ -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:
@@ -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","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 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.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
+ {"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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"}
@@ -31,7 +31,8 @@ function getTableLength(table) {
31
31
  case 'geojson-table':
32
32
  return table.features.length;
33
33
  case 'arrow-table':
34
- return table.data.numRows;
34
+ var arrowTable = table.data;
35
+ return arrowTable.numRows;
35
36
  case 'columnar-table':
36
37
  for (var _i = 0, _Object$values = Object.values(table.data); _i < _Object$values.length; _i++) {
37
38
  var column = _Object$values[_i];
@@ -59,13 +60,14 @@ function getTableNumCols(table) {
59
60
  case 'columnar-table':
60
61
  return Object.keys(table.data).length;
61
62
  case 'arrow-table':
62
- return table.data.numCols;
63
+ var arrowTable = table.data;
64
+ return arrowTable.numCols;
63
65
  default:
64
66
  throw new Error('table');
65
67
  }
66
68
  }
67
69
  function getTableCell(table, rowIndex, columnName) {
68
- var _table$data$getChildA;
70
+ var _arrowTable$getChildA;
69
71
  switch (table.shape) {
70
72
  case 'array-row-table':
71
73
  var columnIndex = getTableColumnIndex(table, columnName);
@@ -78,16 +80,17 @@ function getTableCell(table, rowIndex, columnName) {
78
80
  var column = table.data[columnName];
79
81
  return column[rowIndex];
80
82
  case 'arrow-table':
81
- var arrowColumnIndex = table.data.schema.fields.findIndex(function (field) {
83
+ var arrowTable = table.data;
84
+ var arrowColumnIndex = arrowTable.schema.fields.findIndex(function (field) {
82
85
  return field.name === columnName;
83
86
  });
84
- 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);
85
88
  default:
86
89
  throw new Error('todo');
87
90
  }
88
91
  }
89
92
  function getTableCellAt(table, rowIndex, columnIndex) {
90
- var _table$data$getChildA2;
93
+ var _arrowTable$getChildA2;
91
94
  switch (table.shape) {
92
95
  case 'array-row-table':
93
96
  return table.data[rowIndex][columnIndex];
@@ -102,7 +105,8 @@ function getTableCellAt(table, rowIndex, columnIndex) {
102
105
  var column = table.data[columnName3];
103
106
  return column[rowIndex];
104
107
  case 'arrow-table':
105
- 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);
106
110
  default:
107
111
  throw new Error('todo');
108
112
  }
@@ -177,9 +181,10 @@ function getTableRowAsObject(table, rowIndex, target, copy) {
177
181
  return _objectRow4;
178
182
  }
179
183
  case 'arrow-table':
184
+ var arrowTable = table.data;
180
185
  var objectRow = target || {};
181
- var row = table.data.get(rowIndex);
182
- var schema = table.data.schema;
186
+ var row = arrowTable.get(rowIndex);
187
+ var schema = arrowTable.schema;
183
188
  for (var _i5 = 0; _i5 < schema.fields.length; _i5++) {
184
189
  objectRow[schema.fields[_i5].name] = row === null || row === void 0 ? void 0 : row[schema.fields[_i5].name];
185
190
  }
@@ -228,9 +233,10 @@ function getTableRowAsArray(table, rowIndex, target, copy) {
228
233
  return _arrayRow4;
229
234
  }
230
235
  case 'arrow-table':
236
+ var arrowTable = table.data;
231
237
  var arrayRow = target || [];
232
- var row = table.data.get(rowIndex);
233
- var schema = table.data.schema;
238
+ var row = arrowTable.get(rowIndex);
239
+ var schema = arrowTable.schema;
234
240
  for (var _i10 = 0; _i10 < schema.fields.length; _i10++) {
235
241
  arrayRow[_i10] = row === null || row === void 0 ? void 0 : row[schema.fields[_i10].name];
236
242
  }
@@ -1 +1 @@
1
- {"version":3,"file":"table-accessors.js","names":["makeRowIterator","getTableLength","table","shape","data","length","features","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","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 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 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 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 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 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 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 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-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 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 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 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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"category-table.js","names":[],"sources":["../../../src/types/category-table.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport type {Table as ApacheArrowTable} from 'apache-arrow';\nimport type {Schema} from './schema';\nimport type {Batch} from './batch';\nimport type {Feature} from './category-gis';\n\n// Idea was to just import types, but it seems\n// Seems this triggers more bundling and build issues than it is worth...\n// import type {Table as ApacheArrowTable, RecordBatch} from 'apache-arrow';\n// type ApacheArrowTable = any;\n// type RecordBatch = any;\n\n/** A general table */\nexport type Table =\n | RowTable\n | ArrayRowTable\n | ObjectRowTable\n | GeoJSONTable\n | ColumnarTable\n | ArrowTable;\n\n/** A table organized as an array of rows */\nexport type RowTable = ArrayRowTable | ObjectRowTable | GeoJSONTable;\n\n/** A table organized as an array of rows, each row is an array of values */\nexport type ArrayRowTable = {\n shape: 'array-row-table';\n schema?: Schema;\n data: any[][];\n};\n\n/** A table organized as an array of rows, each row is an object mapping columns to values */\nexport type ObjectRowTable = {\n shape: 'object-row-table';\n schema?: Schema;\n data: {[columnName: string]: any}[];\n};\n\n/**\n * A table organized as an array of rows, each row is a GeoJSON Feature\n * @note For compatibility with GeoJSON, rows are stored in `table.features` instead of `table.data`\n */\nexport type GeoJSONTable = {\n shape: 'geojson-table';\n schema?: Schema;\n /** For compatibility with GeoJSON, the type field must always be set to `FeatureCollection` */\n type: 'FeatureCollection';\n /** For compatibility with GeoJSON, rows are stored in `table.features` instead of `table.data` */\n features: Feature[];\n};\n\n/** A table organized as a map of columns, each column is an array of value */\nexport type ColumnarTable = {\n shape: 'columnar-table';\n schema?: Schema;\n data: {[columnName: string]: ArrayLike<unknown>};\n};\n\n/** A table organized as an Apache Arrow table */\nexport type ArrowTable = {\n shape: 'arrow-table';\n schema?: Schema;\n data: ApacheArrowTable;\n};\n\n/** A collection of tables */\nexport type Tables<TableType = Table> = {\n shape: 'tables';\n tables: {name: string; table: TableType}[];\n};\n\n// Batches\n\n/** Batch for a general table */\nexport type TableBatch =\n | ArrayRowTableBatch\n | ObjectRowTableBatch\n | GeoJSONTableBatch\n | ColumnarTableBatch\n | ArrowTableBatch;\n\n/** Batch for a table organized as an array of rows, each row is an array of values */\nexport type ArrayRowTableBatch = Batch & {\n shape: 'array-row-table';\n schema?: Schema;\n schemaType?: 'explicit' | 'deduced';\n data: any[][];\n length: number;\n};\n\n/** Batch for a table organized as an array of rows, each row is an object mapping columns to values */\nexport type ObjectRowTableBatch = Batch & {\n shape: 'object-row-table';\n schema?: Schema;\n schemaType?: 'explicit' | 'deduced';\n data: {[columnName: string]: any}[];\n length: number;\n};\n\n/** Batch for a table organized as an array of rows, each row is an array of values */\nexport type GeoJSONTableBatch = Batch & {\n shape: 'geojson-table';\n schema?: Schema;\n schemaType?: 'explicit' | 'deduced';\n type: 'FeatureCollection';\n features: Feature[];\n length: number;\n};\n\n/** Batch for a table organized as a map of columns, each column is an array of value */\nexport type ColumnarTableBatch = Batch & {\n shape: 'columnar-table';\n schemaType?: 'explicit' | 'deduced';\n schema?: Schema;\n data: {[columnName: string]: ArrayLike<unknown>};\n length: number;\n};\n\n/** Batch for a table organized as an Apache Arrow table */\nexport type ArrowTableBatch = Batch & {\n shape: 'arrow-table';\n schemaType?: 'explicit' | 'deduced';\n schema?: Schema;\n data: ApacheArrowTable;\n // recordBatch: RecordBatch;\n length: number;\n};\n"],"mappings":""}
1
+ {"version":3,"file":"category-table.js","names":[],"sources":["../../../src/types/category-table.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport type {Schema} from './schema';\nimport type {Batch} from './batch';\nimport type {Feature} from './category-gis';\n\n// Avoid a big dependency, apparently even a type import can pull in a lot of code\n// import type {Table as ApacheArrowTable} from 'apache-arrow';\n\ntype ApacheArrowTable = unknown;\ntype ApacheRecordBatch = unknown;\n\n/** A general table */\nexport type Table =\n | RowTable\n | ArrayRowTable\n | ObjectRowTable\n | GeoJSONTable\n | ColumnarTable\n | ArrowTable;\n\n/** A table organized as an array of rows */\nexport type RowTable = ArrayRowTable | ObjectRowTable | GeoJSONTable;\n\n/** A table organized as an array of rows, each row is an array of values */\nexport type ArrayRowTable = {\n shape: 'array-row-table';\n schema?: Schema;\n data: any[][];\n};\n\n/** A table organized as an array of rows, each row is an object mapping columns to values */\nexport type ObjectRowTable = {\n shape: 'object-row-table';\n schema?: Schema;\n data: {[columnName: string]: any}[];\n};\n\n/**\n * A table organized as an array of rows, each row is a GeoJSON Feature\n * @note For compatibility with GeoJSON, rows are stored in `table.features` instead of `table.data`\n */\nexport type GeoJSONTable = {\n shape: 'geojson-table';\n schema?: Schema;\n /** For compatibility with GeoJSON, the type field must always be set to `FeatureCollection` */\n type: 'FeatureCollection';\n /** For compatibility with GeoJSON, rows are stored in `table.features` instead of `table.data` */\n features: Feature[];\n};\n\n/** A table organized as a map of columns, each column is an array of value */\nexport type ColumnarTable = {\n shape: 'columnar-table';\n schema?: Schema;\n data: {[columnName: string]: ArrayLike<unknown>};\n};\n\n/** A table organized as an Apache Arrow table */\nexport type ArrowTable = {\n shape: 'arrow-table';\n schema?: Schema;\n data: ApacheArrowTable;\n};\n\n/** A collection of tables */\nexport type Tables<TableType = Table> = {\n shape: 'tables';\n tables: {name: string; table: TableType}[];\n};\n\n// Batches\n\n/** Batch for a general table */\nexport type TableBatch =\n | ArrayRowTableBatch\n | ObjectRowTableBatch\n | GeoJSONTableBatch\n | ColumnarTableBatch\n | ArrowTableBatch;\n\n/** Batch for a table organized as an array of rows, each row is an array of values */\nexport type ArrayRowTableBatch = Batch & {\n shape: 'array-row-table';\n schema?: Schema;\n schemaType?: 'explicit' | 'deduced';\n data: any[][];\n length: number;\n};\n\n/** Batch for a table organized as an array of rows, each row is an object mapping columns to values */\nexport type ObjectRowTableBatch = Batch & {\n shape: 'object-row-table';\n schema?: Schema;\n schemaType?: 'explicit' | 'deduced';\n data: {[columnName: string]: any}[];\n length: number;\n};\n\n/** Batch for a table organized as an array of rows, each row is an array of values */\nexport type GeoJSONTableBatch = Batch & {\n shape: 'geojson-table';\n schema?: Schema;\n schemaType?: 'explicit' | 'deduced';\n type: 'FeatureCollection';\n features: Feature[];\n length: number;\n};\n\n/** Batch for a table organized as a map of columns, each column is an array of value */\nexport type ColumnarTableBatch = Batch & {\n shape: 'columnar-table';\n schemaType?: 'explicit' | 'deduced';\n schema?: Schema;\n data: {[columnName: string]: ArrayLike<unknown>};\n length: number;\n};\n\n/** Batch for a table organized as an Apache Arrow table */\nexport type ArrowTableBatch = Batch & {\n shape: 'arrow-table';\n schemaType?: 'explicit' | 'deduced';\n schema?: Schema;\n data: ApacheRecordBatch;\n length: number;\n};\n"],"mappings":""}
@@ -13,10 +13,11 @@ class ArrowLikeVector {
13
13
  return getTableCell(this.table, rowIndex, this.columnName);
14
14
  }
15
15
  toArray() {
16
- var _this$table$data$getC;
16
+ var _arrowTable$getChild;
17
17
  switch (this.table.shape) {
18
18
  case 'arrow-table':
19
- 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();
19
+ const arrowTable = this.table.data;
20
+ return (_arrowTable$getChild = arrowTable.getChild(this.columnName)) === null || _arrowTable$getChild === void 0 ? void 0 : _arrowTable$getChild.toArray();
20
21
  case 'columnar-table':
21
22
  return this.table.data[this.columnName];
22
23
  default:
@@ -1 +1 @@
1
- {"version":3,"file":"arrow-like-table.js","names":["ArrowLikeSchema","deduceTableSchema","getTableCell","getTableLength","getTableNumCols","ArrowLikeVector","constructor","table","columnName","_defineProperty","get","rowIndex","toArray","_this$table$data$getC","shape","data","getChild","Error","ArrowLikeTable","schema","fields","metadata","features","numCols","length"],"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.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":";AAIA,SAAQA,eAAe,QAAO,qBAAqB;AAEnD,SAAQC,iBAAiB,QAAO,8BAA8B;AAE9D,SACEC,YAAY,EACZC,cAAc,EACdC,eAAe,QAOV,iCAAiC;AAExC,MAAMC,eAAe,CAAC;EAIpBC,WAAWA,CAACC,KAAY,EAAEC,UAAkB,EAAE;IAAAC,eAAA;IAAAA,eAAA;IAC5C,IAAI,CAACF,KAAK,GAAGA,KAAK;IAClB,IAAI,CAACC,UAAU,GAAGA,UAAU;EAC9B;EAEAE,GAAGA,CAACC,QAAgB,EAAW;IAC7B,OAAOT,YAAY,CAAC,IAAI,CAACK,KAAK,EAAEI,QAAQ,EAAE,IAAI,CAACH,UAAU,CAAC;EAC5D;EAEAI,OAAOA,CAAA,EAAuB;IAAA,IAAAC,qBAAA;IAC5B,QAAQ,IAAI,CAACN,KAAK,CAACO,KAAK;MACtB,KAAK,aAAa;QAChB,QAAAD,qBAAA,GAAO,IAAI,CAACN,KAAK,CAACQ,IAAI,CAACC,QAAQ,CAAC,IAAI,CAACR,UAAU,CAAC,cAAAK,qBAAA,uBAAzCA,qBAAA,CAA2CD,OAAO,CAAC,CAAC;MAC7D,KAAK,gBAAgB;QACnB,OAAO,IAAI,CAACL,KAAK,CAACQ,IAAI,CAAC,IAAI,CAACP,UAAU,CAAC;MACzC;QACE,MAAM,IAAIS,KAAK,CAAC,IAAI,CAACV,KAAK,CAACO,KAAK,CAAC;IACrC;EACF;AACF;AAMA,OAAO,MAAMI,cAAc,CAAC;EAI1BZ,WAAWA,CAACC,KAAY,EAAE;IAAAE,eAAA;IAAAA,eAAA;IACxB,MAAMU,MAAM,GAAGZ,KAAK,CAACY,MAAM,IAAIlB,iBAAiB,CAACM,KAAK,CAAC;IACvD,IAAI,CAACY,MAAM,GAAG,IAAInB,eAAe,CAACmB,MAAM,CAACC,MAAM,EAAED,MAAM,CAACE,QAAQ,CAAC;IACjE,IAAI,CAACd,KAAK,GAAG;MAAC,GAAGA,KAAK;MAAEY;IAAM,CAAC;EACjC;EAMA,IAAIJ,IAAIA,CAAA,EAAG;IACT,OAAO,IAAI,CAACR,KAAK,CAACO,KAAK,KAAK,eAAe,GAAG,IAAI,CAACP,KAAK,CAACe,QAAQ,GAAG,IAAI,CAACf,KAAK,CAACQ,IAAI;EACrF;EAEA,IAAIQ,OAAOA,CAAA,EAAW;IACpB,OAAOnB,eAAe,CAAC,IAAI,CAACG,KAAK,CAAC;EACpC;EAEA,IAAIiB,MAAMA,CAAA,EAAW;IACnB,OAAOrB,cAAc,CAAC,IAAI,CAACI,KAAK,CAAC;EACnC;EAEAS,QAAQA,CAACR,UAAkB,EAAmB;IAC5C,OAAO,IAAIH,eAAe,CAAC,IAAI,CAACE,KAAK,EAAEC,UAAU,CAAC;EACpD;AAKF"}
1
+ {"version":3,"file":"arrow-like-table.js","names":["ArrowLikeSchema","deduceTableSchema","getTableCell","getTableLength","getTableNumCols","ArrowLikeVector","constructor","table","columnName","_defineProperty","get","rowIndex","toArray","_arrowTable$getChild","shape","arrowTable","data","getChild","Error","ArrowLikeTable","schema","fields","metadata","features","numCols","length"],"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":";AAIA,SAAQA,eAAe,QAAO,qBAAqB;AAEnD,SAAQC,iBAAiB,QAAO,8BAA8B;AAE9D,SACEC,YAAY,EACZC,cAAc,EACdC,eAAe,QAOV,iCAAiC;AAExC,MAAMC,eAAe,CAAC;EAIpBC,WAAWA,CAACC,KAAY,EAAEC,UAAkB,EAAE;IAAAC,eAAA;IAAAA,eAAA;IAC5C,IAAI,CAACF,KAAK,GAAGA,KAAK;IAClB,IAAI,CAACC,UAAU,GAAGA,UAAU;EAC9B;EAEAE,GAAGA,CAACC,QAAgB,EAAW;IAC7B,OAAOT,YAAY,CAAC,IAAI,CAACK,KAAK,EAAEI,QAAQ,EAAE,IAAI,CAACH,UAAU,CAAC;EAC5D;EAEAI,OAAOA,CAAA,EAAuB;IAAA,IAAAC,oBAAA;IAC5B,QAAQ,IAAI,CAACN,KAAK,CAACO,KAAK;MACtB,KAAK,aAAa;QAChB,MAAMC,UAAU,GAAG,IAAI,CAACR,KAAK,CAACS,IAAW;QACzC,QAAAH,oBAAA,GAAOE,UAAU,CAACE,QAAQ,CAAC,IAAI,CAACT,UAAU,CAAC,cAAAK,oBAAA,uBAApCA,oBAAA,CAAsCD,OAAO,CAAC,CAAC;MACxD,KAAK,gBAAgB;QACnB,OAAO,IAAI,CAACL,KAAK,CAACS,IAAI,CAAC,IAAI,CAACR,UAAU,CAAC;MACzC;QACE,MAAM,IAAIU,KAAK,CAAC,IAAI,CAACX,KAAK,CAACO,KAAK,CAAC;IACrC;EACF;AACF;AAMA,OAAO,MAAMK,cAAc,CAAC;EAI1Bb,WAAWA,CAACC,KAAY,EAAE;IAAAE,eAAA;IAAAA,eAAA;IACxB,MAAMW,MAAM,GAAGb,KAAK,CAACa,MAAM,IAAInB,iBAAiB,CAACM,KAAK,CAAC;IACvD,IAAI,CAACa,MAAM,GAAG,IAAIpB,eAAe,CAACoB,MAAM,CAACC,MAAM,EAAED,MAAM,CAACE,QAAQ,CAAC;IACjE,IAAI,CAACf,KAAK,GAAG;MAAC,GAAGA,KAAK;MAAEa;IAAM,CAAC;EACjC;EAMA,IAAIJ,IAAIA,CAAA,EAAG;IACT,OAAO,IAAI,CAACT,KAAK,CAACO,KAAK,KAAK,eAAe,GAAG,IAAI,CAACP,KAAK,CAACgB,QAAQ,GAAG,IAAI,CAAChB,KAAK,CAACS,IAAI;EACrF;EAEA,IAAIQ,OAAOA,CAAA,EAAW;IACpB,OAAOpB,eAAe,CAAC,IAAI,CAACG,KAAK,CAAC;EACpC;EAEA,IAAIkB,MAAMA,CAAA,EAAW;IACnB,OAAOtB,cAAc,CAAC,IAAI,CAACI,KAAK,CAAC;EACnC;EAEAU,QAAQA,CAACT,UAAkB,EAAmB;IAC5C,OAAO,IAAIH,eAAe,CAAC,IAAI,CAACE,KAAK,EAAEC,UAAU,CAAC;EACpD;AAKF"}
@@ -6,7 +6,8 @@ export function getTableLength(table) {
6
6
  case 'geojson-table':
7
7
  return table.features.length;
8
8
  case 'arrow-table':
9
- return table.data.numRows;
9
+ const arrowTable = table.data;
10
+ return arrowTable.numRows;
10
11
  case 'columnar-table':
11
12
  for (const column of Object.values(table.data)) {
12
13
  return column.length || 0;
@@ -33,13 +34,14 @@ export function getTableNumCols(table) {
33
34
  case 'columnar-table':
34
35
  return Object.keys(table.data).length;
35
36
  case 'arrow-table':
36
- return table.data.numCols;
37
+ const arrowTable = table.data;
38
+ return arrowTable.numCols;
37
39
  default:
38
40
  throw new Error('table');
39
41
  }
40
42
  }
41
43
  export function getTableCell(table, rowIndex, columnName) {
42
- var _table$data$getChildA;
44
+ var _arrowTable$getChildA;
43
45
  switch (table.shape) {
44
46
  case 'array-row-table':
45
47
  const columnIndex = getTableColumnIndex(table, columnName);
@@ -52,14 +54,15 @@ export function getTableCell(table, rowIndex, columnName) {
52
54
  const column = table.data[columnName];
53
55
  return column[rowIndex];
54
56
  case 'arrow-table':
55
- const arrowColumnIndex = table.data.schema.fields.findIndex(field => field.name === columnName);
56
- return (_table$data$getChildA = table.data.getChildAt(arrowColumnIndex)) === null || _table$data$getChildA === void 0 ? void 0 : _table$data$getChildA.get(rowIndex);
57
+ const arrowTable = table.data;
58
+ const arrowColumnIndex = arrowTable.schema.fields.findIndex(field => field.name === columnName);
59
+ return (_arrowTable$getChildA = arrowTable.getChildAt(arrowColumnIndex)) === null || _arrowTable$getChildA === void 0 ? void 0 : _arrowTable$getChildA.get(rowIndex);
57
60
  default:
58
61
  throw new Error('todo');
59
62
  }
60
63
  }
61
64
  export function getTableCellAt(table, rowIndex, columnIndex) {
62
- var _table$data$getChildA2;
65
+ var _arrowTable$getChildA2;
63
66
  switch (table.shape) {
64
67
  case 'array-row-table':
65
68
  return table.data[rowIndex][columnIndex];
@@ -74,7 +77,8 @@ export function getTableCellAt(table, rowIndex, columnIndex) {
74
77
  const column = table.data[columnName3];
75
78
  return column[rowIndex];
76
79
  case 'arrow-table':
77
- return (_table$data$getChildA2 = table.data.getChildAt(columnIndex)) === null || _table$data$getChildA2 === void 0 ? void 0 : _table$data$getChildA2.get(rowIndex);
80
+ const arrowTable = table.data;
81
+ return (_arrowTable$getChildA2 = arrowTable.getChildAt(columnIndex)) === null || _arrowTable$getChildA2 === void 0 ? void 0 : _arrowTable$getChildA2.get(rowIndex);
78
82
  default:
79
83
  throw new Error('todo');
80
84
  }
@@ -144,9 +148,10 @@ export function getTableRowAsObject(table, rowIndex, target, copy) {
144
148
  return objectRow;
145
149
  }
146
150
  case 'arrow-table':
151
+ const arrowTable = table.data;
147
152
  const objectRow = target || {};
148
- const row = table.data.get(rowIndex);
149
- const schema = table.data.schema;
153
+ const row = arrowTable.get(rowIndex);
154
+ const schema = arrowTable.schema;
150
155
  for (let i = 0; i < schema.fields.length; i++) {
151
156
  objectRow[schema.fields[i].name] = row === null || row === void 0 ? void 0 : row[schema.fields[i].name];
152
157
  }
@@ -194,9 +199,10 @@ export function getTableRowAsArray(table, rowIndex, target, copy) {
194
199
  return arrayRow;
195
200
  }
196
201
  case 'arrow-table':
202
+ const arrowTable = table.data;
197
203
  const arrayRow = target || [];
198
- const row = table.data.get(rowIndex);
199
- const schema = table.data.schema;
204
+ const row = arrowTable.get(rowIndex);
205
+ const schema = arrowTable.schema;
200
206
  for (let i = 0; i < schema.fields.length; i++) {
201
207
  arrayRow[i] = row === null || row === void 0 ? void 0 : row[schema.fields[i].name];
202
208
  }
@@ -1 +1 @@
1
- {"version":3,"file":"table-accessors.js","names":["getTableLength","table","shape","data","length","features","numRows","column","Object","values","Error","getTableNumCols","schema","fields","keys","numCols","getTableCell","rowIndex","columnName","_table$data$getChildA","columnIndex","getTableColumnIndex","arrowColumnIndex","findIndex","field","name","getChildAt","get","getTableCellAt","_table$data$getChildA2","columnName1","getTableColumnName","columnName2","columnName3","getTableRowShape","_table$schema","undefined","_table$schema2","_table$schema2$fields","concat","getTableRowAsObject","target","copy","fromEntries","entries","objectRow","i","row","getTableRowAsArray","Array","from","arrayRow","makeArrayRowTable","makeObjectRowTable","makeColumnarTable","makeRowIterator","makeArrayRowIterator","makeObjectRowIterator","arguments"],"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 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 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 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 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 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 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 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-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 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 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 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":["getTableLength","table","shape","data","length","features","arrowTable","numRows","column","Object","values","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","row","getTableRowAsArray","Array","from","arrayRow","makeArrayRowTable","makeObjectRowTable","makeColumnarTable","makeRowIterator","makeArrayRowIterator","makeObjectRowIterator","arguments"],"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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"category-table.js","names":[],"sources":["../../../src/types/category-table.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport type {Table as ApacheArrowTable} from 'apache-arrow';\nimport type {Schema} from './schema';\nimport type {Batch} from './batch';\nimport type {Feature} from './category-gis';\n\n// Idea was to just import types, but it seems\n// Seems this triggers more bundling and build issues than it is worth...\n// import type {Table as ApacheArrowTable, RecordBatch} from 'apache-arrow';\n// type ApacheArrowTable = any;\n// type RecordBatch = any;\n\n/** A general table */\nexport type Table =\n | RowTable\n | ArrayRowTable\n | ObjectRowTable\n | GeoJSONTable\n | ColumnarTable\n | ArrowTable;\n\n/** A table organized as an array of rows */\nexport type RowTable = ArrayRowTable | ObjectRowTable | GeoJSONTable;\n\n/** A table organized as an array of rows, each row is an array of values */\nexport type ArrayRowTable = {\n shape: 'array-row-table';\n schema?: Schema;\n data: any[][];\n};\n\n/** A table organized as an array of rows, each row is an object mapping columns to values */\nexport type ObjectRowTable = {\n shape: 'object-row-table';\n schema?: Schema;\n data: {[columnName: string]: any}[];\n};\n\n/**\n * A table organized as an array of rows, each row is a GeoJSON Feature\n * @note For compatibility with GeoJSON, rows are stored in `table.features` instead of `table.data`\n */\nexport type GeoJSONTable = {\n shape: 'geojson-table';\n schema?: Schema;\n /** For compatibility with GeoJSON, the type field must always be set to `FeatureCollection` */\n type: 'FeatureCollection';\n /** For compatibility with GeoJSON, rows are stored in `table.features` instead of `table.data` */\n features: Feature[];\n};\n\n/** A table organized as a map of columns, each column is an array of value */\nexport type ColumnarTable = {\n shape: 'columnar-table';\n schema?: Schema;\n data: {[columnName: string]: ArrayLike<unknown>};\n};\n\n/** A table organized as an Apache Arrow table */\nexport type ArrowTable = {\n shape: 'arrow-table';\n schema?: Schema;\n data: ApacheArrowTable;\n};\n\n/** A collection of tables */\nexport type Tables<TableType = Table> = {\n shape: 'tables';\n tables: {name: string; table: TableType}[];\n};\n\n// Batches\n\n/** Batch for a general table */\nexport type TableBatch =\n | ArrayRowTableBatch\n | ObjectRowTableBatch\n | GeoJSONTableBatch\n | ColumnarTableBatch\n | ArrowTableBatch;\n\n/** Batch for a table organized as an array of rows, each row is an array of values */\nexport type ArrayRowTableBatch = Batch & {\n shape: 'array-row-table';\n schema?: Schema;\n schemaType?: 'explicit' | 'deduced';\n data: any[][];\n length: number;\n};\n\n/** Batch for a table organized as an array of rows, each row is an object mapping columns to values */\nexport type ObjectRowTableBatch = Batch & {\n shape: 'object-row-table';\n schema?: Schema;\n schemaType?: 'explicit' | 'deduced';\n data: {[columnName: string]: any}[];\n length: number;\n};\n\n/** Batch for a table organized as an array of rows, each row is an array of values */\nexport type GeoJSONTableBatch = Batch & {\n shape: 'geojson-table';\n schema?: Schema;\n schemaType?: 'explicit' | 'deduced';\n type: 'FeatureCollection';\n features: Feature[];\n length: number;\n};\n\n/** Batch for a table organized as a map of columns, each column is an array of value */\nexport type ColumnarTableBatch = Batch & {\n shape: 'columnar-table';\n schemaType?: 'explicit' | 'deduced';\n schema?: Schema;\n data: {[columnName: string]: ArrayLike<unknown>};\n length: number;\n};\n\n/** Batch for a table organized as an Apache Arrow table */\nexport type ArrowTableBatch = Batch & {\n shape: 'arrow-table';\n schemaType?: 'explicit' | 'deduced';\n schema?: Schema;\n data: ApacheArrowTable;\n // recordBatch: RecordBatch;\n length: number;\n};\n"],"mappings":""}
1
+ {"version":3,"file":"category-table.js","names":[],"sources":["../../../src/types/category-table.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport type {Schema} from './schema';\nimport type {Batch} from './batch';\nimport type {Feature} from './category-gis';\n\n// Avoid a big dependency, apparently even a type import can pull in a lot of code\n// import type {Table as ApacheArrowTable} from 'apache-arrow';\n\ntype ApacheArrowTable = unknown;\ntype ApacheRecordBatch = unknown;\n\n/** A general table */\nexport type Table =\n | RowTable\n | ArrayRowTable\n | ObjectRowTable\n | GeoJSONTable\n | ColumnarTable\n | ArrowTable;\n\n/** A table organized as an array of rows */\nexport type RowTable = ArrayRowTable | ObjectRowTable | GeoJSONTable;\n\n/** A table organized as an array of rows, each row is an array of values */\nexport type ArrayRowTable = {\n shape: 'array-row-table';\n schema?: Schema;\n data: any[][];\n};\n\n/** A table organized as an array of rows, each row is an object mapping columns to values */\nexport type ObjectRowTable = {\n shape: 'object-row-table';\n schema?: Schema;\n data: {[columnName: string]: any}[];\n};\n\n/**\n * A table organized as an array of rows, each row is a GeoJSON Feature\n * @note For compatibility with GeoJSON, rows are stored in `table.features` instead of `table.data`\n */\nexport type GeoJSONTable = {\n shape: 'geojson-table';\n schema?: Schema;\n /** For compatibility with GeoJSON, the type field must always be set to `FeatureCollection` */\n type: 'FeatureCollection';\n /** For compatibility with GeoJSON, rows are stored in `table.features` instead of `table.data` */\n features: Feature[];\n};\n\n/** A table organized as a map of columns, each column is an array of value */\nexport type ColumnarTable = {\n shape: 'columnar-table';\n schema?: Schema;\n data: {[columnName: string]: ArrayLike<unknown>};\n};\n\n/** A table organized as an Apache Arrow table */\nexport type ArrowTable = {\n shape: 'arrow-table';\n schema?: Schema;\n data: ApacheArrowTable;\n};\n\n/** A collection of tables */\nexport type Tables<TableType = Table> = {\n shape: 'tables';\n tables: {name: string; table: TableType}[];\n};\n\n// Batches\n\n/** Batch for a general table */\nexport type TableBatch =\n | ArrayRowTableBatch\n | ObjectRowTableBatch\n | GeoJSONTableBatch\n | ColumnarTableBatch\n | ArrowTableBatch;\n\n/** Batch for a table organized as an array of rows, each row is an array of values */\nexport type ArrayRowTableBatch = Batch & {\n shape: 'array-row-table';\n schema?: Schema;\n schemaType?: 'explicit' | 'deduced';\n data: any[][];\n length: number;\n};\n\n/** Batch for a table organized as an array of rows, each row is an object mapping columns to values */\nexport type ObjectRowTableBatch = Batch & {\n shape: 'object-row-table';\n schema?: Schema;\n schemaType?: 'explicit' | 'deduced';\n data: {[columnName: string]: any}[];\n length: number;\n};\n\n/** Batch for a table organized as an array of rows, each row is an array of values */\nexport type GeoJSONTableBatch = Batch & {\n shape: 'geojson-table';\n schema?: Schema;\n schemaType?: 'explicit' | 'deduced';\n type: 'FeatureCollection';\n features: Feature[];\n length: number;\n};\n\n/** Batch for a table organized as a map of columns, each column is an array of value */\nexport type ColumnarTableBatch = Batch & {\n shape: 'columnar-table';\n schemaType?: 'explicit' | 'deduced';\n schema?: Schema;\n data: {[columnName: string]: ArrayLike<unknown>};\n length: number;\n};\n\n/** Batch for a table organized as an Apache Arrow table */\nexport type ArrowTableBatch = Batch & {\n shape: 'arrow-table';\n schemaType?: 'explicit' | 'deduced';\n schema?: Schema;\n data: ApacheRecordBatch;\n length: number;\n};\n"],"mappings":""}
@@ -15,11 +15,7 @@ export declare class ArrowLikeTable {
15
15
  schema: ArrowLikeSchema;
16
16
  table: Table;
17
17
  constructor(table: Table);
18
- get data(): any[][] | {
19
- [columnName: string]: any;
20
- }[] | import("geojson").Feature<import("geojson").Geometry, import("geojson").GeoJsonProperties>[] | {
21
- [columnName: string]: ArrayLike<unknown>;
22
- } | import("apache-arrow").Table<any>;
18
+ get data(): unknown;
23
19
  get numCols(): number;
24
20
  get length(): number;
25
21
  getChild(columnName: string): ArrowLikeVector;
@@ -1 +1 @@
1
- {"version":3,"file":"arrow-like-table.d.ts","sourceRoot":"","sources":["../../../../src/lib/table/arrow-api/arrow-like-table.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,KAAK,EAAC,MAAM,+BAA+B,CAAC;AAEpD,OAAO,EAAC,eAAe,EAAC,MAAM,qBAAqB,CAAC;AAgBpD,cAAM,eAAe;IACnB,KAAK,EAAE,KAAK,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;gBAEP,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM;IAK5C,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAI9B,OAAO,IAAI,SAAS,CAAC,OAAO,CAAC;CAU9B;AAED;;;GAGG;AACH,qBAAa,cAAc;IACzB,MAAM,EAAE,eAAe,CAAC;IACxB,KAAK,EAAE,KAAK,CAAC;gBAED,KAAK,EAAE,KAAK;IAUxB,IAAI,IAAI;;;;0CAEP;IAED,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,eAAe;CAO9C"}
1
+ {"version":3,"file":"arrow-like-table.d.ts","sourceRoot":"","sources":["../../../../src/lib/table/arrow-api/arrow-like-table.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,KAAK,EAAC,MAAM,+BAA+B,CAAC;AAEpD,OAAO,EAAC,eAAe,EAAC,MAAM,qBAAqB,CAAC;AAgBpD,cAAM,eAAe;IACnB,KAAK,EAAE,KAAK,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;gBAEP,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM;IAK5C,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAI9B,OAAO,IAAI,SAAS,CAAC,OAAO,CAAC;CAW9B;AAED;;;GAGG;AACH,qBAAa,cAAc;IACzB,MAAM,EAAE,eAAe,CAAC;IACxB,KAAK,EAAE,KAAK,CAAC;gBAED,KAAK,EAAE,KAAK;IAUxB,IAAI,IAAI,YAEP;IAED,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,eAAe;CAO9C"}
@@ -1 +1 @@
1
- {"version":3,"file":"table-accessors.d.ts","sourceRoot":"","sources":["../../../../src/lib/table/simple-table/table-accessors.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,KAAK,EAAE,aAAa,EAAE,cAAc,EAAC,MAAM,+BAA+B,CAAC;AAEnF;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAoBnD;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAqBpD;AAED,0DAA0D;AAC1D,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAyBxF;AAED,0DAA0D;AAC1D,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAwB3F;AAED,iCAAiC;AACjC,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,KAAK,GAAG,iBAAiB,GAAG,kBAAkB,CAcrF;AAED,iFAAiF;AACjF,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAM5E;AAED,mFAAmF;AACnF,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAM5E;AAED;;;;GAIG;AAEH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE;IAAC,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAA;CAAC,EACxC,IAAI,CAAC,EAAE,MAAM,GACZ;IAAC,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAA;CAAC,CAuDjC;AAED;;;;GAIG;AAEH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,OAAO,EAAE,EAClB,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,EAAE,CA0DX;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,+CAA+C;AAC/C,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,KAAK,GAAG,cAAc,CAc9D;AAID;;;;GAIG;AACH,wBAAiB,eAAe,CAC9B,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,kBAAkB,GAAG,iBAAiB,GAC5C,QAAQ,CAAC,OAAO,EAAE,GAAG;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAC,CAAC,CAYhD;AAED;;;;GAIG;AACH,wBAAiB,oBAAoB,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,GAAE,OAAO,EAAO,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC,CAK/F;AAED;;;;GAIG;AACH,wBAAiB,qBAAqB,CACpC,KAAK,EAAE,KAAK,EACZ,MAAM,GAAE;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAM,GACpC,QAAQ,CAAC;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAC,CAAC,CAKpC"}
1
+ {"version":3,"file":"table-accessors.d.ts","sourceRoot":"","sources":["../../../../src/lib/table/simple-table/table-accessors.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,KAAK,EAAE,aAAa,EAAE,cAAc,EAAC,MAAM,+BAA+B,CAAC;AAEnF;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAqBnD;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAsBpD;AAED,0DAA0D;AAC1D,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CA0BxF;AAED,0DAA0D;AAC1D,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAyB3F;AAED,iCAAiC;AACjC,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,KAAK,GAAG,iBAAiB,GAAG,kBAAkB,CAcrF;AAED,iFAAiF;AACjF,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAM5E;AAED,mFAAmF;AACnF,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAM5E;AAED;;;;GAIG;AAEH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE;IAAC,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAA;CAAC,EACxC,IAAI,CAAC,EAAE,MAAM,GACZ;IAAC,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAA;CAAC,CAwDjC;AAED;;;;GAIG;AAEH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,OAAO,EAAE,EAClB,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,EAAE,CA2DX;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,+CAA+C;AAC/C,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,KAAK,GAAG,cAAc,CAc9D;AAID;;;;GAIG;AACH,wBAAiB,eAAe,CAC9B,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,kBAAkB,GAAG,iBAAiB,GAC5C,QAAQ,CAAC,OAAO,EAAE,GAAG;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAC,CAAC,CAYhD;AAED;;;;GAIG;AACH,wBAAiB,oBAAoB,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,GAAE,OAAO,EAAO,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC,CAK/F;AAED;;;;GAIG;AACH,wBAAiB,qBAAqB,CACpC,KAAK,EAAE,KAAK,EACZ,MAAM,GAAE;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAM,GACpC,QAAQ,CAAC;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAC,CAAC,CAKpC"}
@@ -1,7 +1,8 @@
1
- import type { Table as ApacheArrowTable } from 'apache-arrow';
2
1
  import type { Schema } from './schema';
3
2
  import type { Batch } from './batch';
4
3
  import type { Feature } from './category-gis';
4
+ type ApacheArrowTable = unknown;
5
+ type ApacheRecordBatch = unknown;
5
6
  /** A general table */
6
7
  export type Table = RowTable | ArrayRowTable | ObjectRowTable | GeoJSONTable | ColumnarTable | ArrowTable;
7
8
  /** A table organized as an array of rows */
@@ -98,7 +99,8 @@ export type ArrowTableBatch = Batch & {
98
99
  shape: 'arrow-table';
99
100
  schemaType?: 'explicit' | 'deduced';
100
101
  schema?: Schema;
101
- data: ApacheArrowTable;
102
+ data: ApacheRecordBatch;
102
103
  length: number;
103
104
  };
105
+ export {};
104
106
  //# sourceMappingURL=category-table.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"category-table.d.ts","sourceRoot":"","sources":["../../src/types/category-table.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"category-table.d.ts","sourceRoot":"","sources":["../../src/types/category-table.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@loaders.gl/schema",
3
- "version": "4.0.0-alpha.25",
3
+ "version": "4.0.0-alpha.26",
4
4
  "description": "Table format APIs for JSON, CSV, etc...",
5
5
  "license": "MIT",
6
6
  "publishConfig": {
@@ -34,5 +34,5 @@
34
34
  "dependencies": {
35
35
  "@types/geojson": "^7946.0.7"
36
36
  },
37
- "gitHead": "40135f391b869388dbbcd615bbe51178d0c370be"
37
+ "gitHead": "91adce71f74dacc7c8bfc379f0d122f2beae70d9"
38
38
  }
@@ -34,7 +34,8 @@ class ArrowLikeVector {
34
34
  toArray(): ArrayLike<unknown> {
35
35
  switch (this.table.shape) {
36
36
  case 'arrow-table':
37
- return this.table.data.getChild(this.columnName)?.toArray();
37
+ const arrowTable = this.table.data as any;
38
+ return arrowTable.getChild(this.columnName)?.toArray();
38
39
  case 'columnar-table':
39
40
  return this.table.data[this.columnName];
40
41
  default:
@@ -17,7 +17,8 @@ export function getTableLength(table: Table): number {
17
17
  return table.features.length;
18
18
 
19
19
  case 'arrow-table':
20
- return table.data.numRows;
20
+ const arrowTable = table.data as any;
21
+ return arrowTable.numRows;
21
22
 
22
23
  case 'columnar-table':
23
24
  for (const column of Object.values(table.data)) {
@@ -50,7 +51,8 @@ export function getTableNumCols(table: Table): number {
50
51
  case 'columnar-table':
51
52
  return Object.keys(table.data).length;
52
53
  case 'arrow-table':
53
- return table.data.numCols;
54
+ const arrowTable = table.data as any;
55
+ return arrowTable.numCols;
54
56
  default:
55
57
  throw new Error('table');
56
58
  }
@@ -74,10 +76,11 @@ export function getTableCell(table: Table, rowIndex: number, columnName: string)
74
76
  return column[rowIndex];
75
77
 
76
78
  case 'arrow-table':
77
- const arrowColumnIndex = table.data.schema.fields.findIndex(
79
+ const arrowTable = table.data as any;
80
+ const arrowColumnIndex = arrowTable.schema.fields.findIndex(
78
81
  (field) => field.name === columnName
79
82
  );
80
- return table.data.getChildAt(arrowColumnIndex)?.get(rowIndex);
83
+ return arrowTable.getChildAt(arrowColumnIndex)?.get(rowIndex);
81
84
 
82
85
  default:
83
86
  throw new Error('todo');
@@ -104,7 +107,8 @@ export function getTableCellAt(table: Table, rowIndex: number, columnIndex: numb
104
107
  return column[rowIndex];
105
108
 
106
109
  case 'arrow-table':
107
- return table.data.getChildAt(columnIndex)?.get(rowIndex);
110
+ const arrowTable = table.data as any;
111
+ return arrowTable.getChildAt(columnIndex)?.get(rowIndex);
108
112
 
109
113
  default:
110
114
  throw new Error('todo');
@@ -201,9 +205,10 @@ export function getTableRowAsObject(
201
205
  }
202
206
 
203
207
  case 'arrow-table':
208
+ const arrowTable = table.data as any;
204
209
  const objectRow: {[columnName: string]: unknown} = target || {};
205
- const row = table.data.get(rowIndex);
206
- const schema = table.data.schema;
210
+ const row = arrowTable.get(rowIndex);
211
+ const schema = arrowTable.schema;
207
212
  for (let i = 0; i < schema.fields.length; i++) {
208
213
  objectRow[schema.fields[i].name] = row?.[schema.fields[i].name];
209
214
  }
@@ -272,9 +277,10 @@ export function getTableRowAsArray(
272
277
  }
273
278
 
274
279
  case 'arrow-table':
280
+ const arrowTable = table.data as any;
275
281
  const arrayRow: unknown[] = target || [];
276
- const row = table.data.get(rowIndex);
277
- const schema = table.data.schema;
282
+ const row = arrowTable.get(rowIndex);
283
+ const schema = arrowTable.schema;
278
284
  for (let i = 0; i < schema.fields.length; i++) {
279
285
  arrayRow[i] = row?.[schema.fields[i].name];
280
286
  }
@@ -1,15 +1,14 @@
1
1
  // loaders.gl, MIT license
2
2
 
3
- import type {Table as ApacheArrowTable} from 'apache-arrow';
4
3
  import type {Schema} from './schema';
5
4
  import type {Batch} from './batch';
6
5
  import type {Feature} from './category-gis';
7
6
 
8
- // Idea was to just import types, but it seems
9
- // Seems this triggers more bundling and build issues than it is worth...
10
- // import type {Table as ApacheArrowTable, RecordBatch} from 'apache-arrow';
11
- // type ApacheArrowTable = any;
12
- // type RecordBatch = any;
7
+ // Avoid a big dependency, apparently even a type import can pull in a lot of code
8
+ // import type {Table as ApacheArrowTable} from 'apache-arrow';
9
+
10
+ type ApacheArrowTable = unknown;
11
+ type ApacheRecordBatch = unknown;
13
12
 
14
13
  /** A general table */
15
14
  export type Table =
@@ -122,7 +121,6 @@ export type ArrowTableBatch = Batch & {
122
121
  shape: 'arrow-table';
123
122
  schemaType?: 'explicit' | 'deduced';
124
123
  schema?: Schema;
125
- data: ApacheArrowTable;
126
- // recordBatch: RecordBatch;
124
+ data: ApacheRecordBatch;
127
125
  length: number;
128
126
  };