@loaders.gl/schema 4.0.0-beta.1 → 4.0.0-beta.3
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.dev.js +1745 -0
- package/dist/index.cjs +1692 -0
- package/dist/index.d.ts +0 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +16 -0
- package/dist/index.js.map +1 -0
- package/dist/{esm/lib → lib}/mesh/convert-mesh.js +1 -1
- package/dist/lib/mesh/convert-mesh.js.map +1 -0
- package/dist/{esm/lib → lib}/mesh/deduce-mesh-schema.js +1 -1
- package/dist/lib/mesh/deduce-mesh-schema.js.map +1 -0
- package/dist/lib/mesh/mesh-to-arrow-table.js.map +1 -0
- package/dist/lib/mesh/mesh-utils.js.map +1 -0
- package/dist/{esm/lib → lib}/table/arrow-api/arrow-like-field.js +5 -6
- package/dist/lib/table/arrow-api/arrow-like-field.js.map +1 -0
- package/dist/{esm/lib → lib}/table/arrow-api/arrow-like-schema.js +3 -4
- package/dist/lib/table/arrow-api/arrow-like-schema.js.map +1 -0
- package/dist/{esm/lib → lib}/table/arrow-api/arrow-like-table.js +7 -8
- package/dist/lib/table/arrow-api/arrow-like-table.js.map +1 -0
- package/dist/lib/table/arrow-api/arrow-like-type.d.ts +1 -1
- package/dist/lib/table/arrow-api/arrow-like-type.d.ts.map +1 -1
- package/dist/{esm/lib → lib}/table/arrow-api/arrow-like-type.js +22 -23
- package/dist/lib/table/arrow-api/arrow-like-type.js.map +1 -0
- package/dist/lib/table/arrow-api/enum.js.map +1 -0
- package/dist/{esm/lib → lib}/table/arrow-api/get-type-info.js +1 -1
- package/dist/lib/table/arrow-api/get-type-info.js.map +1 -0
- package/dist/lib/table/arrow-api/index.js +5 -0
- package/dist/lib/table/arrow-api/index.js.map +1 -0
- package/dist/{esm/lib → lib}/table/batches/base-table-batch-aggregator.js +6 -7
- package/dist/lib/table/batches/base-table-batch-aggregator.js.map +1 -0
- package/dist/{esm/lib → lib}/table/batches/columnar-table-batch-aggregator.js +4 -5
- package/dist/lib/table/batches/columnar-table-batch-aggregator.js.map +1 -0
- package/dist/{esm/lib → lib}/table/batches/row-table-batch-aggregator.js +8 -9
- package/dist/lib/table/batches/row-table-batch-aggregator.js.map +1 -0
- package/dist/lib/table/batches/table-batch-aggregator.js.map +1 -0
- package/dist/{esm/lib → lib}/table/batches/table-batch-builder.js +14 -15
- package/dist/lib/table/batches/table-batch-builder.js.map +1 -0
- package/dist/{esm/lib → lib}/table/simple-table/convert-table.js +3 -3
- package/dist/lib/table/simple-table/convert-table.js.map +1 -0
- package/dist/lib/table/simple-table/data-type.js.map +1 -0
- package/dist/{esm/lib → lib}/table/simple-table/make-table.js +1 -1
- package/dist/lib/table/simple-table/make-table.js.map +1 -0
- package/dist/lib/table/simple-table/row-utils.js.map +1 -0
- package/dist/{esm/lib → lib}/table/simple-table/table-accessors.js +2 -2
- package/dist/lib/table/simple-table/table-accessors.js.map +1 -0
- package/dist/{esm/lib → lib}/table/simple-table/table-column.js +1 -1
- package/dist/lib/table/simple-table/table-column.js.map +1 -0
- package/dist/{esm/lib → lib}/table/simple-table/table-schema.js +1 -1
- package/dist/lib/table/simple-table/table-schema.js.map +1 -0
- package/dist/lib/utils/assert.js.map +1 -0
- package/dist/{esm/lib → lib}/utils/async-queue.js +3 -4
- package/dist/lib/utils/async-queue.js.map +1 -0
- package/dist/types/batch.d.ts +3 -2
- package/dist/types/batch.d.ts.map +1 -1
- package/dist/types/batch.js.map +1 -0
- package/dist/types/binary-geometries.js.map +1 -0
- package/dist/types/category-gis.js.map +1 -0
- package/dist/types/category-image.js.map +1 -0
- package/dist/types/category-mesh.js.map +1 -0
- package/dist/types/category-table.js.map +1 -0
- package/dist/types/category-texture.js.map +1 -0
- package/dist/types/flat-geometries.js.map +1 -0
- package/dist/types/schema.js.map +1 -0
- package/dist/types/types.d.ts +1 -1
- package/dist/types/types.d.ts.map +1 -1
- package/dist/types/types.js.map +1 -0
- package/package.json +14 -6
- package/src/index.ts +0 -1
- package/src/lib/table/arrow-api/arrow-like-type.ts +0 -2
- package/src/types/batch.ts +4 -2
- package/src/types/types.ts +0 -2
- package/dist/bundle.d.ts +0 -2
- package/dist/bundle.d.ts.map +0 -1
- package/dist/dist.min.js +0 -13204
- package/dist/es5/bundle.js +0 -6
- package/dist/es5/bundle.js.map +0 -1
- package/dist/es5/index.js +0 -413
- package/dist/es5/index.js.map +0 -1
- package/dist/es5/lib/mesh/convert-mesh.js +0 -34
- package/dist/es5/lib/mesh/convert-mesh.js.map +0 -1
- package/dist/es5/lib/mesh/deduce-mesh-schema.js +0 -56
- package/dist/es5/lib/mesh/deduce-mesh-schema.js.map +0 -1
- package/dist/es5/lib/mesh/mesh-to-arrow-table.js +0 -2
- package/dist/es5/lib/mesh/mesh-to-arrow-table.js.map +0 -1
- package/dist/es5/lib/mesh/mesh-utils.js +0 -40
- package/dist/es5/lib/mesh/mesh-utils.js.map +0 -1
- package/dist/es5/lib/table/arrow/arrow-type-utils.js +0 -30
- package/dist/es5/lib/table/arrow/arrow-type-utils.js.map +0 -1
- package/dist/es5/lib/table/arrow/convert-schema-arrow.js +0 -179
- package/dist/es5/lib/table/arrow/convert-schema-arrow.js.map +0 -1
- package/dist/es5/lib/table/arrow/convert-table-to-arrow.js +0 -2
- package/dist/es5/lib/table/arrow/convert-table-to-arrow.js.map +0 -1
- package/dist/es5/lib/table/arrow-api/arrow-like-field.js +0 -49
- package/dist/es5/lib/table/arrow-api/arrow-like-field.js.map +0 -1
- package/dist/es5/lib/table/arrow-api/arrow-like-schema.js +0 -118
- package/dist/es5/lib/table/arrow-api/arrow-like-schema.js.map +0 -1
- package/dist/es5/lib/table/arrow-api/arrow-like-table.js +0 -81
- package/dist/es5/lib/table/arrow-api/arrow-like-table.js.map +0 -1
- package/dist/es5/lib/table/arrow-api/arrow-like-type.js +0 -740
- package/dist/es5/lib/table/arrow-api/arrow-like-type.js.map +0 -1
- package/dist/es5/lib/table/arrow-api/enum.js +0 -55
- package/dist/es5/lib/table/arrow-api/enum.js.map +0 -1
- package/dist/es5/lib/table/arrow-api/get-type-info.js +0 -27
- package/dist/es5/lib/table/arrow-api/get-type-info.js.map +0 -1
- package/dist/es5/lib/table/arrow-api/index.js +0 -44
- package/dist/es5/lib/table/arrow-api/index.js.map +0 -1
- package/dist/es5/lib/table/batches/base-table-batch-aggregator.js +0 -78
- package/dist/es5/lib/table/batches/base-table-batch-aggregator.js.map +0 -1
- package/dist/es5/lib/table/batches/columnar-table-batch-aggregator.js +0 -106
- package/dist/es5/lib/table/batches/columnar-table-batch-aggregator.js.map +0 -1
- package/dist/es5/lib/table/batches/row-table-batch-aggregator.js +0 -96
- package/dist/es5/lib/table/batches/row-table-batch-aggregator.js.map +0 -1
- package/dist/es5/lib/table/batches/table-batch-aggregator.js +0 -2
- package/dist/es5/lib/table/batches/table-batch-aggregator.js.map +0 -1
- package/dist/es5/lib/table/batches/table-batch-builder.js +0 -173
- package/dist/es5/lib/table/batches/table-batch-builder.js.map +0 -1
- package/dist/es5/lib/table/simple-table/convert-table.js +0 -106
- package/dist/es5/lib/table/simple-table/convert-table.js.map +0 -1
- package/dist/es5/lib/table/simple-table/data-type.js +0 -94
- package/dist/es5/lib/table/simple-table/data-type.js.map +0 -1
- package/dist/es5/lib/table/simple-table/make-table.js +0 -60
- package/dist/es5/lib/table/simple-table/make-table.js.map +0 -1
- package/dist/es5/lib/table/simple-table/row-utils.js +0 -34
- package/dist/es5/lib/table/simple-table/row-utils.js.map +0 -1
- package/dist/es5/lib/table/simple-table/table-accessors.js +0 -370
- package/dist/es5/lib/table/simple-table/table-accessors.js.map +0 -1
- package/dist/es5/lib/table/simple-table/table-column.js +0 -12
- package/dist/es5/lib/table/simple-table/table-column.js.map +0 -1
- package/dist/es5/lib/table/simple-table/table-schema.js +0 -85
- package/dist/es5/lib/table/simple-table/table-schema.js.map +0 -1
- package/dist/es5/lib/utils/assert.js +0 -12
- package/dist/es5/lib/utils/assert.js.map +0 -1
- package/dist/es5/lib/utils/async-queue.js +0 -169
- package/dist/es5/lib/utils/async-queue.js.map +0 -1
- package/dist/es5/types/batch.js +0 -2
- package/dist/es5/types/batch.js.map +0 -1
- package/dist/es5/types/binary-geometries.js +0 -2
- package/dist/es5/types/binary-geometries.js.map +0 -1
- package/dist/es5/types/category-gis.js +0 -2
- package/dist/es5/types/category-gis.js.map +0 -1
- package/dist/es5/types/category-image.js +0 -2
- package/dist/es5/types/category-image.js.map +0 -1
- package/dist/es5/types/category-mesh.js +0 -2
- package/dist/es5/types/category-mesh.js.map +0 -1
- package/dist/es5/types/category-table.js +0 -2
- package/dist/es5/types/category-table.js.map +0 -1
- package/dist/es5/types/category-texture.js +0 -2
- package/dist/es5/types/category-texture.js.map +0 -1
- package/dist/es5/types/flat-geometries.js +0 -2
- package/dist/es5/types/flat-geometries.js.map +0 -1
- package/dist/es5/types/schema.js +0 -2
- package/dist/es5/types/schema.js.map +0 -1
- package/dist/es5/types/types.js +0 -2
- package/dist/es5/types/types.js.map +0 -1
- package/dist/esm/bundle.js +0 -4
- package/dist/esm/bundle.js.map +0 -1
- package/dist/esm/index.js +0 -17
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/lib/mesh/convert-mesh.js.map +0 -1
- package/dist/esm/lib/mesh/deduce-mesh-schema.js.map +0 -1
- package/dist/esm/lib/mesh/mesh-to-arrow-table.js.map +0 -1
- package/dist/esm/lib/mesh/mesh-utils.js.map +0 -1
- package/dist/esm/lib/table/arrow/arrow-type-utils.js +0 -24
- package/dist/esm/lib/table/arrow/arrow-type-utils.js.map +0 -1
- package/dist/esm/lib/table/arrow/convert-schema-arrow.js +0 -158
- package/dist/esm/lib/table/arrow/convert-schema-arrow.js.map +0 -1
- package/dist/esm/lib/table/arrow/convert-table-to-arrow.js +0 -2
- package/dist/esm/lib/table/arrow/convert-table-to-arrow.js.map +0 -1
- package/dist/esm/lib/table/arrow-api/arrow-like-field.js.map +0 -1
- package/dist/esm/lib/table/arrow-api/arrow-like-schema.js.map +0 -1
- package/dist/esm/lib/table/arrow-api/arrow-like-table.js.map +0 -1
- package/dist/esm/lib/table/arrow-api/arrow-like-type.js.map +0 -1
- package/dist/esm/lib/table/arrow-api/enum.js.map +0 -1
- package/dist/esm/lib/table/arrow-api/get-type-info.js.map +0 -1
- package/dist/esm/lib/table/arrow-api/index.js +0 -5
- package/dist/esm/lib/table/arrow-api/index.js.map +0 -1
- package/dist/esm/lib/table/batches/base-table-batch-aggregator.js.map +0 -1
- package/dist/esm/lib/table/batches/columnar-table-batch-aggregator.js.map +0 -1
- package/dist/esm/lib/table/batches/row-table-batch-aggregator.js.map +0 -1
- package/dist/esm/lib/table/batches/table-batch-aggregator.js.map +0 -1
- package/dist/esm/lib/table/batches/table-batch-builder.js.map +0 -1
- package/dist/esm/lib/table/simple-table/convert-table.js.map +0 -1
- package/dist/esm/lib/table/simple-table/data-type.js.map +0 -1
- package/dist/esm/lib/table/simple-table/make-table.js.map +0 -1
- package/dist/esm/lib/table/simple-table/row-utils.js.map +0 -1
- package/dist/esm/lib/table/simple-table/table-accessors.js.map +0 -1
- package/dist/esm/lib/table/simple-table/table-column.js.map +0 -1
- package/dist/esm/lib/table/simple-table/table-schema.js.map +0 -1
- package/dist/esm/lib/utils/assert.js.map +0 -1
- package/dist/esm/lib/utils/async-queue.js.map +0 -1
- package/dist/esm/types/batch.js.map +0 -1
- package/dist/esm/types/binary-geometries.js.map +0 -1
- package/dist/esm/types/category-gis.js.map +0 -1
- package/dist/esm/types/category-image.js.map +0 -1
- package/dist/esm/types/category-mesh.js.map +0 -1
- package/dist/esm/types/category-table.js.map +0 -1
- package/dist/esm/types/category-texture.js.map +0 -1
- package/dist/esm/types/flat-geometries.js.map +0 -1
- package/dist/esm/types/schema.js.map +0 -1
- package/dist/esm/types/types.js.map +0 -1
- package/dist/lib/table/arrow/arrow-type-utils.d.ts +0 -4
- package/dist/lib/table/arrow/arrow-type-utils.d.ts.map +0 -1
- package/dist/lib/table/arrow/convert-schema-arrow.d.ts +0 -13
- package/dist/lib/table/arrow/convert-schema-arrow.d.ts.map +0 -1
- package/dist/lib/table/arrow/convert-table-to-arrow.d.ts +0 -42
- package/dist/lib/table/arrow/convert-table-to-arrow.d.ts.map +0 -1
- package/src/bundle.ts +0 -4
- package/src/lib/table/arrow/arrow-type-utils.ts +0 -71
- package/src/lib/table/arrow/convert-schema-arrow.ts +0 -232
- package/src/lib/table/arrow/convert-table-to-arrow.ts +0 -59
- /package/dist/{esm/lib → lib}/mesh/mesh-to-arrow-table.js +0 -0
- /package/dist/{esm/lib → lib}/mesh/mesh-utils.js +0 -0
- /package/dist/{esm/lib → lib}/table/arrow-api/enum.js +0 -0
- /package/dist/{esm/lib → lib}/table/batches/table-batch-aggregator.js +0 -0
- /package/dist/{esm/lib → lib}/table/simple-table/data-type.js +0 -0
- /package/dist/{esm/lib → lib}/table/simple-table/row-utils.js +0 -0
- /package/dist/{esm/lib → lib}/utils/assert.js +0 -0
- /package/dist/{esm/types → types}/batch.js +0 -0
- /package/dist/{esm/types → types}/binary-geometries.js +0 -0
- /package/dist/{esm/types → types}/category-gis.js +0 -0
- /package/dist/{esm/types → types}/category-image.js +0 -0
- /package/dist/{esm/types → types}/category-mesh.js +0 -0
- /package/dist/{esm/types → types}/category-table.js +0 -0
- /package/dist/{esm/types → types}/category-texture.js +0 -0
- /package/dist/{esm/types → types}/flat-geometries.js +0 -0
- /package/dist/{esm/types → types}/schema.js +0 -0
- /package/dist/{esm/types → types}/types.js +0 -0
|
@@ -1,173 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.TableBatchBuilder = void 0;
|
|
8
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
9
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
10
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
-
var _baseTableBatchAggregator = require("./base-table-batch-aggregator");
|
|
12
|
-
var _rowTableBatchAggregator = require("./row-table-batch-aggregator");
|
|
13
|
-
var _columnarTableBatchAggregator = require("./columnar-table-batch-aggregator");
|
|
14
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
15
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
16
|
-
var DEFAULT_OPTIONS = {
|
|
17
|
-
shape: 'array-row-table',
|
|
18
|
-
batchSize: 'auto',
|
|
19
|
-
batchDebounceMs: 0,
|
|
20
|
-
limit: 0,
|
|
21
|
-
_limitMB: 0
|
|
22
|
-
};
|
|
23
|
-
var ERR_MESSAGE = 'TableBatchBuilder';
|
|
24
|
-
var TableBatchBuilder = function () {
|
|
25
|
-
function TableBatchBuilder(schema, options) {
|
|
26
|
-
(0, _classCallCheck2.default)(this, TableBatchBuilder);
|
|
27
|
-
(0, _defineProperty2.default)(this, "schema", void 0);
|
|
28
|
-
(0, _defineProperty2.default)(this, "options", void 0);
|
|
29
|
-
(0, _defineProperty2.default)(this, "aggregator", null);
|
|
30
|
-
(0, _defineProperty2.default)(this, "batchCount", 0);
|
|
31
|
-
(0, _defineProperty2.default)(this, "bytesUsed", 0);
|
|
32
|
-
(0, _defineProperty2.default)(this, "isChunkComplete", false);
|
|
33
|
-
(0, _defineProperty2.default)(this, "lastBatchEmittedMs", Date.now());
|
|
34
|
-
(0, _defineProperty2.default)(this, "totalLength", 0);
|
|
35
|
-
(0, _defineProperty2.default)(this, "totalBytes", 0);
|
|
36
|
-
(0, _defineProperty2.default)(this, "rowBytes", 0);
|
|
37
|
-
this.schema = schema;
|
|
38
|
-
this.options = _objectSpread(_objectSpread({}, DEFAULT_OPTIONS), options);
|
|
39
|
-
}
|
|
40
|
-
(0, _createClass2.default)(TableBatchBuilder, [{
|
|
41
|
-
key: "limitReached",
|
|
42
|
-
value: function limitReached() {
|
|
43
|
-
var _this$options, _this$options2;
|
|
44
|
-
if (Boolean((_this$options = this.options) === null || _this$options === void 0 ? void 0 : _this$options.limit) && this.totalLength >= this.options.limit) {
|
|
45
|
-
return true;
|
|
46
|
-
}
|
|
47
|
-
if (Boolean((_this$options2 = this.options) === null || _this$options2 === void 0 ? void 0 : _this$options2._limitMB) && this.totalBytes / 1e6 >= this.options._limitMB) {
|
|
48
|
-
return true;
|
|
49
|
-
}
|
|
50
|
-
return false;
|
|
51
|
-
}
|
|
52
|
-
}, {
|
|
53
|
-
key: "addRow",
|
|
54
|
-
value: function addRow(row) {
|
|
55
|
-
if (this.limitReached()) {
|
|
56
|
-
return;
|
|
57
|
-
}
|
|
58
|
-
this.totalLength++;
|
|
59
|
-
this.rowBytes = this.rowBytes || this._estimateRowMB(row);
|
|
60
|
-
this.totalBytes += this.rowBytes;
|
|
61
|
-
if (Array.isArray(row)) {
|
|
62
|
-
this.addArrayRow(row);
|
|
63
|
-
} else {
|
|
64
|
-
this.addObjectRow(row);
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
}, {
|
|
68
|
-
key: "addArrayRow",
|
|
69
|
-
value: function addArrayRow(row) {
|
|
70
|
-
if (!this.aggregator) {
|
|
71
|
-
var TableBatchType = this._getTableBatchType();
|
|
72
|
-
this.aggregator = new TableBatchType(this.schema, this.options);
|
|
73
|
-
}
|
|
74
|
-
this.aggregator.addArrayRow(row);
|
|
75
|
-
}
|
|
76
|
-
}, {
|
|
77
|
-
key: "addObjectRow",
|
|
78
|
-
value: function addObjectRow(row) {
|
|
79
|
-
if (!this.aggregator) {
|
|
80
|
-
var TableBatchType = this._getTableBatchType();
|
|
81
|
-
this.aggregator = new TableBatchType(this.schema, this.options);
|
|
82
|
-
}
|
|
83
|
-
this.aggregator.addObjectRow(row);
|
|
84
|
-
}
|
|
85
|
-
}, {
|
|
86
|
-
key: "chunkComplete",
|
|
87
|
-
value: function chunkComplete(chunk) {
|
|
88
|
-
if (chunk instanceof ArrayBuffer) {
|
|
89
|
-
this.bytesUsed += chunk.byteLength;
|
|
90
|
-
}
|
|
91
|
-
if (typeof chunk === 'string') {
|
|
92
|
-
this.bytesUsed += chunk.length;
|
|
93
|
-
}
|
|
94
|
-
this.isChunkComplete = true;
|
|
95
|
-
}
|
|
96
|
-
}, {
|
|
97
|
-
key: "getFullBatch",
|
|
98
|
-
value: function getFullBatch(options) {
|
|
99
|
-
return this._isFull() ? this._getBatch(options) : null;
|
|
100
|
-
}
|
|
101
|
-
}, {
|
|
102
|
-
key: "getFinalBatch",
|
|
103
|
-
value: function getFinalBatch(options) {
|
|
104
|
-
return this._getBatch(options);
|
|
105
|
-
}
|
|
106
|
-
}, {
|
|
107
|
-
key: "_estimateRowMB",
|
|
108
|
-
value: function _estimateRowMB(row) {
|
|
109
|
-
return Array.isArray(row) ? row.length * 8 : Object.keys(row).length * 8;
|
|
110
|
-
}
|
|
111
|
-
}, {
|
|
112
|
-
key: "_isFull",
|
|
113
|
-
value: function _isFull() {
|
|
114
|
-
if (!this.aggregator || this.aggregator.rowCount() === 0) {
|
|
115
|
-
return false;
|
|
116
|
-
}
|
|
117
|
-
if (this.options.batchSize === 'auto') {
|
|
118
|
-
if (!this.isChunkComplete) {
|
|
119
|
-
return false;
|
|
120
|
-
}
|
|
121
|
-
} else if (this.options.batchSize > this.aggregator.rowCount()) {
|
|
122
|
-
return false;
|
|
123
|
-
}
|
|
124
|
-
if (this.options.batchDebounceMs > Date.now() - this.lastBatchEmittedMs) {
|
|
125
|
-
return false;
|
|
126
|
-
}
|
|
127
|
-
this.isChunkComplete = false;
|
|
128
|
-
this.lastBatchEmittedMs = Date.now();
|
|
129
|
-
return true;
|
|
130
|
-
}
|
|
131
|
-
}, {
|
|
132
|
-
key: "_getBatch",
|
|
133
|
-
value: function _getBatch(options) {
|
|
134
|
-
if (!this.aggregator) {
|
|
135
|
-
return null;
|
|
136
|
-
}
|
|
137
|
-
if (options !== null && options !== void 0 && options.bytesUsed) {
|
|
138
|
-
this.bytesUsed = options.bytesUsed;
|
|
139
|
-
}
|
|
140
|
-
var normalizedBatch = this.aggregator.getBatch();
|
|
141
|
-
normalizedBatch.count = this.batchCount;
|
|
142
|
-
normalizedBatch.bytesUsed = this.bytesUsed;
|
|
143
|
-
Object.assign(normalizedBatch, options);
|
|
144
|
-
this.batchCount++;
|
|
145
|
-
this.aggregator = null;
|
|
146
|
-
return normalizedBatch;
|
|
147
|
-
}
|
|
148
|
-
}, {
|
|
149
|
-
key: "_getTableBatchType",
|
|
150
|
-
value: function _getTableBatchType() {
|
|
151
|
-
switch (this.options.shape) {
|
|
152
|
-
case 'row-table':
|
|
153
|
-
return _baseTableBatchAggregator.BaseTableBatchAggregator;
|
|
154
|
-
case 'array-row-table':
|
|
155
|
-
case 'object-row-table':
|
|
156
|
-
return _rowTableBatchAggregator.RowTableBatchAggregator;
|
|
157
|
-
case 'columnar-table':
|
|
158
|
-
return _columnarTableBatchAggregator.ColumnarTableBatchAggregator;
|
|
159
|
-
case 'arrow-table':
|
|
160
|
-
if (!TableBatchBuilder.ArrowBatch) {
|
|
161
|
-
throw new Error(ERR_MESSAGE);
|
|
162
|
-
}
|
|
163
|
-
return TableBatchBuilder.ArrowBatch;
|
|
164
|
-
default:
|
|
165
|
-
throw new Error(ERR_MESSAGE);
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
}]);
|
|
169
|
-
return TableBatchBuilder;
|
|
170
|
-
}();
|
|
171
|
-
exports.TableBatchBuilder = TableBatchBuilder;
|
|
172
|
-
(0, _defineProperty2.default)(TableBatchBuilder, "ArrowBatch", void 0);
|
|
173
|
-
//# sourceMappingURL=table-batch-builder.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"table-batch-builder.js","names":["_baseTableBatchAggregator","require","_rowTableBatchAggregator","_columnarTableBatchAggregator","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","DEFAULT_OPTIONS","shape","batchSize","batchDebounceMs","limit","_limitMB","ERR_MESSAGE","TableBatchBuilder","schema","options","_classCallCheck2","Date","now","_createClass2","value","limitReached","_this$options","_this$options2","Boolean","totalLength","totalBytes","addRow","row","rowBytes","_estimateRowMB","Array","isArray","addArrayRow","addObjectRow","aggregator","TableBatchType","_getTableBatchType","chunkComplete","chunk","ArrayBuffer","bytesUsed","byteLength","isChunkComplete","getFullBatch","_isFull","_getBatch","getFinalBatch","rowCount","lastBatchEmittedMs","normalizedBatch","getBatch","count","batchCount","assign","BaseTableBatchAggregator","RowTableBatchAggregator","ColumnarTableBatchAggregator","ArrowBatch","Error","exports"],"sources":["../../../../../src/lib/table/batches/table-batch-builder.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport type {Schema} from '../../../types/schema';\nimport type {TableBatch} from '../../../types/category-table';\nimport type {TableBatchAggregator, TableBatchConstructor} from './table-batch-aggregator';\nimport {BaseTableBatchAggregator} from './base-table-batch-aggregator';\nimport {RowTableBatchAggregator} from './row-table-batch-aggregator';\nimport {ColumnarTableBatchAggregator} from './columnar-table-batch-aggregator';\n\n// TODO define interface instead\ntype TableBatchBuilderOptions = {\n shape: 'row-table' | 'array-row-table' | 'object-row-table' | 'columnar-table' | 'arrow-table';\n batchSize?: number | 'auto';\n batchDebounceMs?: number;\n limit: number;\n _limitMB: number;\n};\n\ntype GetBatchOptions = {\n bytesUsed?: number;\n [key: string]: any;\n};\n\nconst DEFAULT_OPTIONS: Required<TableBatchBuilderOptions> = {\n shape: 'array-row-table',\n batchSize: 'auto',\n batchDebounceMs: 0,\n limit: 0,\n _limitMB: 0\n};\n\nconst ERR_MESSAGE = 'TableBatchBuilder';\n\n/** Incrementally builds batches from a stream of rows */\nexport class TableBatchBuilder {\n schema: Schema;\n options: Required<TableBatchBuilderOptions>;\n\n private aggregator: TableBatchAggregator | null = null;\n private batchCount: number = 0;\n private bytesUsed: number = 0;\n private isChunkComplete: boolean = false;\n private lastBatchEmittedMs: number = Date.now();\n private totalLength: number = 0;\n private totalBytes: number = 0;\n private rowBytes: number = 0;\n\n static ArrowBatch?: TableBatchConstructor;\n\n constructor(schema: Schema, options?: TableBatchBuilderOptions) {\n this.schema = schema;\n this.options = {...DEFAULT_OPTIONS, ...options};\n }\n\n limitReached(): boolean {\n if (Boolean(this.options?.limit) && this.totalLength >= this.options.limit) {\n return true;\n }\n if (Boolean(this.options?._limitMB) && this.totalBytes / 1e6 >= this.options._limitMB) {\n return true;\n }\n return false;\n }\n\n /** @deprecated Use addArrayRow or addObjectRow */\n addRow(row: any[] | {[columnName: string]: any}): void {\n if (this.limitReached()) {\n return;\n }\n this.totalLength++;\n this.rowBytes = this.rowBytes || this._estimateRowMB(row);\n this.totalBytes += this.rowBytes;\n if (Array.isArray(row)) {\n this.addArrayRow(row);\n } else {\n this.addObjectRow(row);\n }\n }\n\n /** Add one row to the batch */\n protected addArrayRow(row: any[]) {\n if (!this.aggregator) {\n const TableBatchType = this._getTableBatchType();\n this.aggregator = new TableBatchType(this.schema, this.options);\n }\n this.aggregator.addArrayRow(row);\n }\n\n /** Add one row to the batch */\n protected addObjectRow(row: {[columnName: string]: any}): void {\n if (!this.aggregator) {\n const TableBatchType = this._getTableBatchType();\n this.aggregator = new TableBatchType(this.schema, this.options);\n }\n this.aggregator.addObjectRow(row);\n }\n\n /** Mark an incoming raw memory chunk has completed */\n chunkComplete(chunk: ArrayBuffer | string): void {\n if (chunk instanceof ArrayBuffer) {\n this.bytesUsed += chunk.byteLength;\n }\n if (typeof chunk === 'string') {\n this.bytesUsed += chunk.length;\n }\n this.isChunkComplete = true;\n }\n\n getFullBatch(options?: GetBatchOptions): TableBatch | null {\n return this._isFull() ? this._getBatch(options) : null;\n }\n\n getFinalBatch(options?: GetBatchOptions): TableBatch | null {\n return this._getBatch(options);\n }\n\n // INTERNAL\n\n _estimateRowMB(row: any[] | object): number {\n return Array.isArray(row) ? row.length * 8 : Object.keys(row).length * 8;\n }\n\n private _isFull(): boolean {\n // No batch, not ready\n if (!this.aggregator || this.aggregator.rowCount() === 0) {\n return false;\n }\n\n // if batchSize === 'auto' we wait for chunk to complete\n // if batchSize === number, ensure we have enough rows\n if (this.options.batchSize === 'auto') {\n if (!this.isChunkComplete) {\n return false;\n }\n } else if (this.options.batchSize > this.aggregator.rowCount()) {\n return false;\n }\n\n // Debounce batches\n if (this.options.batchDebounceMs > Date.now() - this.lastBatchEmittedMs) {\n return false;\n }\n\n // Emit batch\n this.isChunkComplete = false;\n this.lastBatchEmittedMs = Date.now();\n return true;\n }\n\n /**\n * bytesUsed can be set via chunkComplete or via getBatch*\n */\n private _getBatch(options?: GetBatchOptions): TableBatch | null {\n if (!this.aggregator) {\n return null;\n }\n\n // TODO - this can overly increment bytes used?\n if (options?.bytesUsed) {\n this.bytesUsed = options.bytesUsed;\n }\n const normalizedBatch = this.aggregator.getBatch() as TableBatch;\n normalizedBatch.count = this.batchCount;\n normalizedBatch.bytesUsed = this.bytesUsed;\n Object.assign(normalizedBatch, options);\n\n this.batchCount++;\n this.aggregator = null;\n return normalizedBatch;\n }\n\n private _getTableBatchType(): TableBatchConstructor {\n switch (this.options.shape) {\n case 'row-table':\n return BaseTableBatchAggregator;\n case 'array-row-table':\n case 'object-row-table':\n return RowTableBatchAggregator;\n case 'columnar-table':\n return ColumnarTableBatchAggregator;\n case 'arrow-table':\n if (!TableBatchBuilder.ArrowBatch) {\n throw new Error(ERR_MESSAGE);\n }\n return TableBatchBuilder.ArrowBatch;\n default:\n throw new Error(ERR_MESSAGE);\n }\n }\n}\n"],"mappings":"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"}
|
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.convertTable = convertTable;
|
|
8
|
-
exports.makeArrayRowTable = makeArrayRowTable;
|
|
9
|
-
exports.makeArrowTable = makeArrowTable;
|
|
10
|
-
exports.makeColumnarTable = makeColumnarTable;
|
|
11
|
-
exports.makeObjectRowTable = makeObjectRowTable;
|
|
12
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
13
|
-
var _tableAccessors = require("./table-accessors");
|
|
14
|
-
var _tableSchema = require("./table-schema");
|
|
15
|
-
var _tableColumn = require("./table-column");
|
|
16
|
-
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
|
17
|
-
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
18
|
-
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
19
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
20
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
21
|
-
function convertTable(table, shape) {
|
|
22
|
-
switch (shape) {
|
|
23
|
-
case 'object-row-table':
|
|
24
|
-
return makeObjectRowTable(table);
|
|
25
|
-
case 'array-row-table':
|
|
26
|
-
return makeArrayRowTable(table);
|
|
27
|
-
case 'columnar-table':
|
|
28
|
-
return makeColumnarTable(table);
|
|
29
|
-
case 'arrow-table':
|
|
30
|
-
return makeArrowTable(table);
|
|
31
|
-
default:
|
|
32
|
-
throw new Error(shape);
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
function makeArrowTable(table) {
|
|
36
|
-
var _globalThis$__luma;
|
|
37
|
-
var _makeArrowTable = (_globalThis$__luma = globalThis.__luma) === null || _globalThis$__luma === void 0 ? void 0 : _globalThis$__luma._makeArrowTable;
|
|
38
|
-
if (!_makeArrowTable) {
|
|
39
|
-
throw new Error('');
|
|
40
|
-
}
|
|
41
|
-
return _makeArrowTable(table);
|
|
42
|
-
}
|
|
43
|
-
function makeColumnarTable(table) {
|
|
44
|
-
var _table$schema;
|
|
45
|
-
var schema = table.schema || (0, _tableSchema.deduceTableSchema)(table);
|
|
46
|
-
var fields = ((_table$schema = table.schema) === null || _table$schema === void 0 ? void 0 : _table$schema.fields) || [];
|
|
47
|
-
if (table.shape === 'columnar-table') {
|
|
48
|
-
return _objectSpread(_objectSpread({}, table), {}, {
|
|
49
|
-
schema: schema
|
|
50
|
-
});
|
|
51
|
-
}
|
|
52
|
-
var length = (0, _tableAccessors.getTableLength)(table);
|
|
53
|
-
var columns = {};
|
|
54
|
-
var _iterator = _createForOfIteratorHelper(fields),
|
|
55
|
-
_step;
|
|
56
|
-
try {
|
|
57
|
-
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
58
|
-
var field = _step.value;
|
|
59
|
-
var _column = (0, _tableColumn.makeColumnFromField)(field, length);
|
|
60
|
-
columns[field.name] = _column;
|
|
61
|
-
for (var rowIndex = 0; rowIndex < length; rowIndex++) {
|
|
62
|
-
_column[rowIndex] = (0, _tableAccessors.getTableCell)(table, rowIndex, field.name);
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
} catch (err) {
|
|
66
|
-
_iterator.e(err);
|
|
67
|
-
} finally {
|
|
68
|
-
_iterator.f();
|
|
69
|
-
}
|
|
70
|
-
return {
|
|
71
|
-
shape: 'columnar-table',
|
|
72
|
-
schema: schema,
|
|
73
|
-
data: columns
|
|
74
|
-
};
|
|
75
|
-
}
|
|
76
|
-
function makeArrayRowTable(table) {
|
|
77
|
-
if (table.shape === 'array-row-table') {
|
|
78
|
-
return table;
|
|
79
|
-
}
|
|
80
|
-
var length = (0, _tableAccessors.getTableLength)(table);
|
|
81
|
-
var data = new Array(length);
|
|
82
|
-
for (var rowIndex = 0; rowIndex < length; rowIndex++) {
|
|
83
|
-
data[rowIndex] = (0, _tableAccessors.getTableRowAsArray)(table, rowIndex);
|
|
84
|
-
}
|
|
85
|
-
return {
|
|
86
|
-
shape: 'array-row-table',
|
|
87
|
-
schema: table.schema,
|
|
88
|
-
data: data
|
|
89
|
-
};
|
|
90
|
-
}
|
|
91
|
-
function makeObjectRowTable(table) {
|
|
92
|
-
if (table.shape === 'object-row-table') {
|
|
93
|
-
return table;
|
|
94
|
-
}
|
|
95
|
-
var length = (0, _tableAccessors.getTableLength)(table);
|
|
96
|
-
var data = new Array(length);
|
|
97
|
-
for (var rowIndex = 0; rowIndex < length; rowIndex++) {
|
|
98
|
-
data[rowIndex] = (0, _tableAccessors.getTableRowAsObject)(table, rowIndex);
|
|
99
|
-
}
|
|
100
|
-
return {
|
|
101
|
-
shape: 'object-row-table',
|
|
102
|
-
schema: table.schema,
|
|
103
|
-
data: data
|
|
104
|
-
};
|
|
105
|
-
}
|
|
106
|
-
//# sourceMappingURL=convert-table.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"convert-table.js","names":["_tableAccessors","require","_tableSchema","_tableColumn","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","i","F","s","n","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","call","step","next","_e2","return","minLen","_arrayLikeToArray","Object","prototype","toString","slice","constructor","name","from","test","arr","len","arr2","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","arguments","source","forEach","key","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","convertTable","table","shape","makeObjectRowTable","makeArrayRowTable","makeColumnarTable","makeArrowTable","Error","_globalThis$__luma","_makeArrowTable","globalThis","__luma","_table$schema","schema","deduceTableSchema","fields","getTableLength","columns","_iterator","_step","field","column","makeColumnFromField","rowIndex","getTableCell","data","getTableRowAsArray","getTableRowAsObject"],"sources":["../../../../../src/lib/table/simple-table/convert-table.ts"],"sourcesContent":["// loaders.gl, MIT license\nimport {\n getTableCell,\n getTableLength,\n getTableRowAsArray,\n getTableRowAsObject\n} from './table-accessors';\nimport {\n Table,\n ArrayRowTable,\n ObjectRowTable,\n ColumnarTable,\n ArrowTable\n} from '../../../types/category-table';\nimport {deduceTableSchema} from './table-schema';\nimport {makeColumnFromField} from './table-column';\n\nexport function convertTable(table: Table, shape: 'object-row-table'): ObjectRowTable;\nexport function convertTable(table: Table, shape: 'array-row-table'): ArrayRowTable;\nexport function convertTable(table: Table, shape: 'columnar-table'): ColumnarTable;\nexport function convertTable(table: Table, shape: 'arrow-table'): ArrowTable;\n\n/**\n * Convert a table to a different shape\n * @param table\n * @param shape\n * @returns\n */\nexport function convertTable(\n table: Table,\n shape: 'object-row-table' | 'array-row-table' | 'columnar-table' | 'arrow-table'\n) {\n switch (shape) {\n case 'object-row-table':\n return makeObjectRowTable(table);\n case 'array-row-table':\n return makeArrayRowTable(table);\n case 'columnar-table':\n return makeColumnarTable(table);\n case 'arrow-table':\n return makeArrowTable(table);\n default:\n throw new Error(shape);\n }\n}\n\n/**\n * Convert a table to apache arrow format\n * @note this depends on the `@loaders.gl/arrow module being imported\n */\nexport function makeArrowTable(table: Table): Table {\n const _makeArrowTable = globalThis.__luma?._makeArrowTable;\n if (!_makeArrowTable) {\n throw new Error('');\n }\n return _makeArrowTable(table);\n}\n\n/** Convert any simple table into columnar format */\nexport function makeColumnarTable(table: Table): ColumnarTable {\n // TODO - should schema really be optional?\n const schema = table.schema || deduceTableSchema(table);\n const fields = table.schema?.fields || [];\n\n if (table.shape === 'columnar-table') {\n return {...table, schema};\n }\n\n const length = getTableLength(table);\n\n const columns: {[column: string]: ArrayLike<unknown>} = {};\n for (const field of fields) {\n const column = makeColumnFromField(field, length);\n columns[field.name] = column;\n for (let rowIndex = 0; rowIndex < length; rowIndex++) {\n column[rowIndex] = getTableCell(table, rowIndex, field.name);\n }\n }\n\n return {\n shape: 'columnar-table',\n schema,\n data: columns\n };\n}\n\n/** Convert any table into array row format */\nexport function makeArrayRowTable(table: Table): ArrayRowTable {\n if (table.shape === 'array-row-table') {\n return table;\n }\n const length = getTableLength(table);\n const data = new Array<unknown[]>(length);\n for (let rowIndex = 0; rowIndex < length; rowIndex++) {\n data[rowIndex] = getTableRowAsArray(table, rowIndex);\n }\n return {\n shape: 'array-row-table',\n schema: table.schema,\n data\n };\n}\n\n/** Convert any table into object row format */\nexport function makeObjectRowTable(table: Table): ObjectRowTable {\n if (table.shape === 'object-row-table') {\n return table;\n }\n const length = getTableLength(table);\n const data = new Array<{[key: string]: unknown}>(length);\n for (let rowIndex = 0; rowIndex < length; rowIndex++) {\n data[rowIndex] = getTableRowAsObject(table, rowIndex);\n }\n return {\n shape: 'object-row-table',\n schema: table.schema,\n data\n };\n}\n\n/**\n/**\n *\n * @note - should be part of schema module\nexport function convertColumnarToRowFormatTable(columnarTable: ColumnarTable): ObjectRowTable {\n const tableKeys = ;\n const tableRowsCount = columnarTable[tableKeys[0]].length;\n\n const objectRows: ObjectRowTable['data'] = [];\n\n for (let index = 0; index < tableRowsCount; index++) {\n const objectRow = {};\n for (const fieldName of Object.keys(columnarTable.data)) {\n objectRow[fieldName] = columnarTable[fieldName][index];\n }\n objectRows.push(objectRow);\n }\n\n return {\n shape: 'object-row-table',\n data: objectRows\n };\n}\n */\n"],"mappings":"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"}
|
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.getArrayTypeFromDataType = getArrayTypeFromDataType;
|
|
7
|
-
exports.getDataTypeFromArray = getDataTypeFromArray;
|
|
8
|
-
exports.getDataTypeFromTypedArray = getDataTypeFromTypedArray;
|
|
9
|
-
exports.getDataTypeFromValue = getDataTypeFromValue;
|
|
10
|
-
function getDataTypeFromValue(value) {
|
|
11
|
-
var defaultNumberType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'float32';
|
|
12
|
-
if (value instanceof Date) {
|
|
13
|
-
return 'date-millisecond';
|
|
14
|
-
}
|
|
15
|
-
if (value instanceof Number) {
|
|
16
|
-
return defaultNumberType;
|
|
17
|
-
}
|
|
18
|
-
if (typeof value === 'string') {
|
|
19
|
-
return 'utf8';
|
|
20
|
-
}
|
|
21
|
-
if (value === null || value === 'undefined') {
|
|
22
|
-
return 'null';
|
|
23
|
-
}
|
|
24
|
-
return 'null';
|
|
25
|
-
}
|
|
26
|
-
function getDataTypeFromArray(array) {
|
|
27
|
-
var type = getDataTypeFromTypedArray(array);
|
|
28
|
-
if (type !== 'null') {
|
|
29
|
-
return {
|
|
30
|
-
type: type,
|
|
31
|
-
nullable: false
|
|
32
|
-
};
|
|
33
|
-
}
|
|
34
|
-
if (array.length > 0) {
|
|
35
|
-
type = getDataTypeFromValue(array[0]);
|
|
36
|
-
return {
|
|
37
|
-
type: type,
|
|
38
|
-
nullable: true
|
|
39
|
-
};
|
|
40
|
-
}
|
|
41
|
-
return {
|
|
42
|
-
type: 'null',
|
|
43
|
-
nullable: true
|
|
44
|
-
};
|
|
45
|
-
}
|
|
46
|
-
function getDataTypeFromTypedArray(array) {
|
|
47
|
-
switch (array.constructor) {
|
|
48
|
-
case Int8Array:
|
|
49
|
-
return 'int8';
|
|
50
|
-
case Uint8Array:
|
|
51
|
-
case Uint8ClampedArray:
|
|
52
|
-
return 'uint8';
|
|
53
|
-
case Int16Array:
|
|
54
|
-
return 'int16';
|
|
55
|
-
case Uint16Array:
|
|
56
|
-
return 'uint16';
|
|
57
|
-
case Int32Array:
|
|
58
|
-
return 'int32';
|
|
59
|
-
case Uint32Array:
|
|
60
|
-
return 'uint32';
|
|
61
|
-
case Float32Array:
|
|
62
|
-
return 'float32';
|
|
63
|
-
case Float64Array:
|
|
64
|
-
return 'float64';
|
|
65
|
-
default:
|
|
66
|
-
return 'null';
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
function getArrayTypeFromDataType(type, nullable) {
|
|
70
|
-
if (!nullable) {
|
|
71
|
-
switch (type) {
|
|
72
|
-
case 'int8':
|
|
73
|
-
return Int8Array;
|
|
74
|
-
case 'uint8':
|
|
75
|
-
return Uint8Array;
|
|
76
|
-
case 'int16':
|
|
77
|
-
return Int16Array;
|
|
78
|
-
case 'uint16':
|
|
79
|
-
return Uint16Array;
|
|
80
|
-
case 'int32':
|
|
81
|
-
return Int32Array;
|
|
82
|
-
case 'uint32':
|
|
83
|
-
return Uint32Array;
|
|
84
|
-
case 'float32':
|
|
85
|
-
return Float32Array;
|
|
86
|
-
case 'float64':
|
|
87
|
-
return Float64Array;
|
|
88
|
-
default:
|
|
89
|
-
break;
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
return Array;
|
|
93
|
-
}
|
|
94
|
-
//# sourceMappingURL=data-type.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"data-type.js","names":["getDataTypeFromValue","value","defaultNumberType","arguments","length","undefined","Date","Number","getDataTypeFromArray","array","type","getDataTypeFromTypedArray","nullable","constructor","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","getArrayTypeFromDataType","Array"],"sources":["../../../../../src/lib/table/simple-table/data-type.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport {DataType} from '../../../types/schema';\nimport {TypedArray, TypedArrayConstructor, ArrayType} from '../../../types/types';\n\n/** Deduce column types from values */\nexport function getDataTypeFromValue(\n value: unknown,\n defaultNumberType: 'float32' = 'float32'\n): DataType {\n if (value instanceof Date) {\n return 'date-millisecond';\n }\n if (value instanceof Number) {\n return defaultNumberType;\n }\n if (typeof value === 'string') {\n return 'utf8';\n }\n if (value === null || value === 'undefined') {\n return 'null';\n }\n return 'null';\n}\n\n/**\n * Deduces a simple data type \"descriptor from a typed array instance\n */\nexport function getDataTypeFromArray(array: ArrayType): {type: DataType; nullable: boolean} {\n let type = getDataTypeFromTypedArray(array as TypedArray);\n if (type !== 'null') {\n return {type, nullable: false};\n }\n if (array.length > 0) {\n type = getDataTypeFromValue(array[0]);\n return {type, nullable: true};\n }\n\n return {type: 'null', nullable: true};\n}\n\n/**\n * Deduces a simple data type \"descriptor from a typed array instance\n */\nexport function getDataTypeFromTypedArray(array: TypedArray): DataType {\n switch (array.constructor) {\n case Int8Array:\n return 'int8';\n case Uint8Array:\n case Uint8ClampedArray:\n return 'uint8';\n case Int16Array:\n return 'int16';\n case Uint16Array:\n return 'uint16';\n case Int32Array:\n return 'int32';\n case Uint32Array:\n return 'uint32';\n case Float32Array:\n return 'float32';\n case Float64Array:\n return 'float64';\n default:\n return 'null';\n }\n}\n\nexport function getArrayTypeFromDataType(\n type: DataType,\n nullable: boolean | undefined\n): TypedArrayConstructor | ArrayConstructor {\n if (!nullable) {\n switch (type) {\n case 'int8':\n return Int8Array;\n case 'uint8':\n return Uint8Array;\n case 'int16':\n return Int16Array;\n case 'uint16':\n return Uint16Array;\n case 'int32':\n return Int32Array;\n case 'uint32':\n return Uint32Array;\n case 'float32':\n return Float32Array;\n case 'float64':\n return Float64Array;\n default:\n break;\n }\n }\n\n // if (typeof BigInt64Array !== 'undefined') {\n // TYPED_ARRAY_TO_TYPE.BigInt64Array = new Int64();\n // TYPED_ARRAY_TO_TYPE.BigUint64Array = new Uint64();\n // }\n\n return Array;\n}\n"],"mappings":";;;;;;;;;AAMO,SAASA,oBAAoBA,CAClCC,KAAc,EAEJ;EAAA,IADVC,iBAA4B,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,SAAS;EAExC,IAAIF,KAAK,YAAYK,IAAI,EAAE;IACzB,OAAO,kBAAkB;EAC3B;EACA,IAAIL,KAAK,YAAYM,MAAM,EAAE;IAC3B,OAAOL,iBAAiB;EAC1B;EACA,IAAI,OAAOD,KAAK,KAAK,QAAQ,EAAE;IAC7B,OAAO,MAAM;EACf;EACA,IAAIA,KAAK,KAAK,IAAI,IAAIA,KAAK,KAAK,WAAW,EAAE;IAC3C,OAAO,MAAM;EACf;EACA,OAAO,MAAM;AACf;AAKO,SAASO,oBAAoBA,CAACC,KAAgB,EAAuC;EAC1F,IAAIC,IAAI,GAAGC,yBAAyB,CAACF,KAAmB,CAAC;EACzD,IAAIC,IAAI,KAAK,MAAM,EAAE;IACnB,OAAO;MAACA,IAAI,EAAJA,IAAI;MAAEE,QAAQ,EAAE;IAAK,CAAC;EAChC;EACA,IAAIH,KAAK,CAACL,MAAM,GAAG,CAAC,EAAE;IACpBM,IAAI,GAAGV,oBAAoB,CAACS,KAAK,CAAC,CAAC,CAAC,CAAC;IACrC,OAAO;MAACC,IAAI,EAAJA,IAAI;MAAEE,QAAQ,EAAE;IAAI,CAAC;EAC/B;EAEA,OAAO;IAACF,IAAI,EAAE,MAAM;IAAEE,QAAQ,EAAE;EAAI,CAAC;AACvC;AAKO,SAASD,yBAAyBA,CAACF,KAAiB,EAAY;EACrE,QAAQA,KAAK,CAACI,WAAW;IACvB,KAAKC,SAAS;MACZ,OAAO,MAAM;IACf,KAAKC,UAAU;IACf,KAAKC,iBAAiB;MACpB,OAAO,OAAO;IAChB,KAAKC,UAAU;MACb,OAAO,OAAO;IAChB,KAAKC,WAAW;MACd,OAAO,QAAQ;IACjB,KAAKC,UAAU;MACb,OAAO,OAAO;IAChB,KAAKC,WAAW;MACd,OAAO,QAAQ;IACjB,KAAKC,YAAY;MACf,OAAO,SAAS;IAClB,KAAKC,YAAY;MACf,OAAO,SAAS;IAClB;MACE,OAAO,MAAM;EACjB;AACF;AAEO,SAASC,wBAAwBA,CACtCb,IAAc,EACdE,QAA6B,EACa;EAC1C,IAAI,CAACA,QAAQ,EAAE;IACb,QAAQF,IAAI;MACV,KAAK,MAAM;QACT,OAAOI,SAAS;MAClB,KAAK,OAAO;QACV,OAAOC,UAAU;MACnB,KAAK,OAAO;QACV,OAAOE,UAAU;MACnB,KAAK,QAAQ;QACX,OAAOC,WAAW;MACpB,KAAK,OAAO;QACV,OAAOC,UAAU;MACnB,KAAK,QAAQ;QACX,OAAOC,WAAW;MACpB,KAAK,SAAS;QACZ,OAAOC,YAAY;MACrB,KAAK,SAAS;QACZ,OAAOC,YAAY;MACrB;QACE;IACJ;EACF;EAOA,OAAOE,KAAK;AACd"}
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.makeTableFromData = makeTableFromData;
|
|
8
|
-
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
9
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
10
|
-
var _tableSchema = require("./table-schema");
|
|
11
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
12
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
13
|
-
function makeTableFromData(data) {
|
|
14
|
-
var table;
|
|
15
|
-
switch (getTableShapeFromData(data)) {
|
|
16
|
-
case 'array-row-table':
|
|
17
|
-
table = {
|
|
18
|
-
shape: 'array-row-table',
|
|
19
|
-
data: data
|
|
20
|
-
};
|
|
21
|
-
break;
|
|
22
|
-
case 'object-row-table':
|
|
23
|
-
table = {
|
|
24
|
-
shape: 'object-row-table',
|
|
25
|
-
data: data
|
|
26
|
-
};
|
|
27
|
-
break;
|
|
28
|
-
case 'columnar-table':
|
|
29
|
-
table = {
|
|
30
|
-
shape: 'columnar-table',
|
|
31
|
-
data: data
|
|
32
|
-
};
|
|
33
|
-
break;
|
|
34
|
-
default:
|
|
35
|
-
throw new Error('table');
|
|
36
|
-
}
|
|
37
|
-
var schema = (0, _tableSchema.deduceTableSchema)(table);
|
|
38
|
-
return _objectSpread(_objectSpread({}, table), {}, {
|
|
39
|
-
schema: schema
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
function getTableShapeFromData(data) {
|
|
43
|
-
if (Array.isArray(data)) {
|
|
44
|
-
if (data.length === 0) {
|
|
45
|
-
throw new Error('cannot deduce type of empty table');
|
|
46
|
-
}
|
|
47
|
-
var firstRow = data[0];
|
|
48
|
-
if (Array.isArray(firstRow)) {
|
|
49
|
-
return 'array-row-table';
|
|
50
|
-
}
|
|
51
|
-
if (firstRow && (0, _typeof2.default)(firstRow) === 'object') {
|
|
52
|
-
return 'object-row-table';
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
if (data && (0, _typeof2.default)(data) === 'object') {
|
|
56
|
-
return 'columnar-table';
|
|
57
|
-
}
|
|
58
|
-
throw new Error('invalid table');
|
|
59
|
-
}
|
|
60
|
-
//# sourceMappingURL=make-table.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"make-table.js","names":["_tableSchema","require","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","makeTableFromData","data","table","getTableShapeFromData","shape","Error","schema","deduceTableSchema","Array","isArray","firstRow","_typeof2"],"sources":["../../../../../src/lib/table/simple-table/make-table.ts"],"sourcesContent":["// loaders.gl, MIT license\nimport {Table, ArrayRowTable, ObjectRowTable, ColumnarTable} from '../../../types/category-table';\nimport {deduceTableSchema} from './table-schema';\n\n/**\n * Makes a typed table from data.\n * @throws Row tables must contain at least one row. Columnar tables must contain empty arrays\n */\nexport function makeTableFromData(data: unknown[][]): ArrayRowTable;\nexport function makeTableFromData(data: {[column: string]: unknown}[]): ObjectRowTable;\nexport function makeTableFromData(data: {[column: string]: ArrayLike<unknown>}): ColumnarTable;\nexport function makeTableFromData(data: unknown): Table {\n let table: Table;\n switch (getTableShapeFromData(data)) {\n case 'array-row-table':\n table = {shape: 'array-row-table', data: data as unknown[][]};\n break;\n case 'object-row-table':\n table = {shape: 'object-row-table', data: data as {[key: string]: unknown}[]};\n break;\n case 'columnar-table':\n table = {shape: 'columnar-table', data: data as {[column: string]: ArrayLike<unknown>}};\n break;\n default:\n throw new Error('table');\n }\n const schema = deduceTableSchema(table);\n return {...table, schema};\n}\n\n/** Helper function to get shape of data */\nfunction getTableShapeFromData(data) {\n if (Array.isArray(data)) {\n if (data.length === 0) {\n throw new Error('cannot deduce type of empty table');\n }\n\n // Deduce the table shape from the first row\n const firstRow = data[0];\n\n if (Array.isArray(firstRow)) {\n return 'array-row-table';\n }\n\n if (firstRow && typeof firstRow === 'object') {\n return 'object-row-table';\n }\n }\n\n if (data && typeof data === 'object') {\n return 'columnar-table';\n }\n\n throw new Error('invalid table');\n}\n\n/** Convert any table into object row format *\nexport function makeColumnarTable(table: Table): ColumnarTable {\n if (table.shape === 'columnar-table') {\n return table;\n }\n const length = getTableLength(table);\n const data = new Array<{[key: string]: unknown}>(length);\n for (let rowIndex = 0; rowIndex < length; rowIndex++) {\n data[rowIndex] = getTableRowAsObject(table, rowIndex);\n }\n return {\n shape: 'columnar-table',\n schema: table.schema,\n data\n };\n}\n\n\n/** Convert any table into array row format *\nexport function makeArrayRowTable(table: TableLike): ArrayRowTable {\n if (table.shape === 'array-row-table') {\n return table;\n }\n const length = getTableLength(table);\n const data = new Array<unknown[]>(length);\n for (let rowIndex = 0; rowIndex < length; rowIndex++) {\n data[rowIndex] = getTableRowAsArray(table, rowIndex);\n }\n return {\n shape: 'array-row-table',\n schema: table.schema,\n data\n };\n}\n\n/** Convert any table into object row format *\nexport function makeObjectRowTable(table: Table): ObjectRowTable {\n if (table.shape === 'object-row-table') {\n return table;\n }\n const length = getTableLength(table);\n const data = new Array<{[key: string]: unknown}>(length);\n for (let rowIndex = 0; rowIndex < length; rowIndex++) {\n data[rowIndex] = getTableRowAsObject(table, rowIndex);\n }\n return {\n shape: 'object-row-table',\n schema: table.schema,\n data\n };\n}\n*/\n"],"mappings":";;;;;;;;;AAEA,IAAAA,YAAA,GAAAC,OAAA;AAAiD,SAAAC,QAAAC,MAAA,EAAAC,cAAA,QAAAC,IAAA,GAAAC,MAAA,CAAAD,IAAA,CAAAF,MAAA,OAAAG,MAAA,CAAAC,qBAAA,QAAAC,OAAA,GAAAF,MAAA,CAAAC,qBAAA,CAAAJ,MAAA,GAAAC,cAAA,KAAAI,OAAA,GAAAA,OAAA,CAAAC,MAAA,WAAAC,GAAA,WAAAJ,MAAA,CAAAK,wBAAA,CAAAR,MAAA,EAAAO,GAAA,EAAAE,UAAA,OAAAP,IAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,IAAA,EAAAG,OAAA,YAAAH,IAAA;AAAA,SAAAU,cAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,WAAAF,SAAA,CAAAD,CAAA,IAAAC,SAAA,CAAAD,CAAA,QAAAA,CAAA,OAAAf,OAAA,CAAAI,MAAA,CAAAc,MAAA,OAAAC,OAAA,WAAAC,GAAA,QAAAC,gBAAA,CAAAC,OAAA,EAAAR,MAAA,EAAAM,GAAA,EAAAF,MAAA,CAAAE,GAAA,SAAAhB,MAAA,CAAAmB,yBAAA,GAAAnB,MAAA,CAAAoB,gBAAA,CAAAV,MAAA,EAAAV,MAAA,CAAAmB,yBAAA,CAAAL,MAAA,KAAAlB,OAAA,CAAAI,MAAA,CAAAc,MAAA,GAAAC,OAAA,WAAAC,GAAA,IAAAhB,MAAA,CAAAqB,cAAA,CAAAX,MAAA,EAAAM,GAAA,EAAAhB,MAAA,CAAAK,wBAAA,CAAAS,MAAA,EAAAE,GAAA,iBAAAN,MAAA;AAS1C,SAASY,iBAAiBA,CAACC,IAAa,EAAS;EACtD,IAAIC,KAAY;EAChB,QAAQC,qBAAqB,CAACF,IAAI,CAAC;IACjC,KAAK,iBAAiB;MACpBC,KAAK,GAAG;QAACE,KAAK,EAAE,iBAAiB;QAAEH,IAAI,EAAEA;MAAmB,CAAC;MAC7D;IACF,KAAK,kBAAkB;MACrBC,KAAK,GAAG;QAACE,KAAK,EAAE,kBAAkB;QAAEH,IAAI,EAAEA;MAAkC,CAAC;MAC7E;IACF,KAAK,gBAAgB;MACnBC,KAAK,GAAG;QAACE,KAAK,EAAE,gBAAgB;QAAEH,IAAI,EAAEA;MAA8C,CAAC;MACvF;IACF;MACE,MAAM,IAAII,KAAK,CAAC,OAAO,CAAC;EAC5B;EACA,IAAMC,MAAM,GAAG,IAAAC,8BAAiB,EAACL,KAAK,CAAC;EACvC,OAAAf,aAAA,CAAAA,aAAA,KAAWe,KAAK;IAAEI,MAAM,EAANA;EAAM;AAC1B;AAGA,SAASH,qBAAqBA,CAACF,IAAI,EAAE;EACnC,IAAIO,KAAK,CAACC,OAAO,CAACR,IAAI,CAAC,EAAE;IACvB,IAAIA,IAAI,CAACV,MAAM,KAAK,CAAC,EAAE;MACrB,MAAM,IAAIc,KAAK,CAAC,mCAAmC,CAAC;IACtD;IAGA,IAAMK,QAAQ,GAAGT,IAAI,CAAC,CAAC,CAAC;IAExB,IAAIO,KAAK,CAACC,OAAO,CAACC,QAAQ,CAAC,EAAE;MAC3B,OAAO,iBAAiB;IAC1B;IAEA,IAAIA,QAAQ,IAAI,IAAAC,QAAA,CAAAf,OAAA,EAAOc,QAAQ,MAAK,QAAQ,EAAE;MAC5C,OAAO,kBAAkB;IAC3B;EACF;EAEA,IAAIT,IAAI,IAAI,IAAAU,QAAA,CAAAf,OAAA,EAAOK,IAAI,MAAK,QAAQ,EAAE;IACpC,OAAO,gBAAgB;EACzB;EAEA,MAAM,IAAII,KAAK,CAAC,eAAe,CAAC;AAClC"}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.convertToArrayRow = convertToArrayRow;
|
|
7
|
-
exports.convertToObjectRow = convertToObjectRow;
|
|
8
|
-
function convertToObjectRow(arrayRow, headers) {
|
|
9
|
-
if (!arrayRow) {
|
|
10
|
-
throw new Error('null row');
|
|
11
|
-
}
|
|
12
|
-
if (!headers) {
|
|
13
|
-
throw new Error('no headers');
|
|
14
|
-
}
|
|
15
|
-
var objectRow = {};
|
|
16
|
-
for (var i = 0; i < headers.length; i++) {
|
|
17
|
-
objectRow[headers[i]] = arrayRow[i];
|
|
18
|
-
}
|
|
19
|
-
return objectRow;
|
|
20
|
-
}
|
|
21
|
-
function convertToArrayRow(objectRow, headers) {
|
|
22
|
-
if (!objectRow) {
|
|
23
|
-
throw new Error('null row');
|
|
24
|
-
}
|
|
25
|
-
if (!headers) {
|
|
26
|
-
throw new Error('no headers');
|
|
27
|
-
}
|
|
28
|
-
var arrayRow = new Array(headers.length);
|
|
29
|
-
for (var i = 0; i < headers.length; i++) {
|
|
30
|
-
arrayRow[i] = objectRow[headers[i]];
|
|
31
|
-
}
|
|
32
|
-
return arrayRow;
|
|
33
|
-
}
|
|
34
|
-
//# sourceMappingURL=row-utils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"row-utils.js","names":["convertToObjectRow","arrayRow","headers","Error","objectRow","i","length","convertToArrayRow","Array"],"sources":["../../../../../src/lib/table/simple-table/row-utils.ts"],"sourcesContent":["/** Convert an object row to an array row */\nexport function convertToObjectRow(\n arrayRow: any[],\n headers: string[]\n): {[columnName: string]: any} {\n if (!arrayRow) {\n throw new Error('null row');\n }\n if (!headers) {\n throw new Error('no headers');\n }\n const objectRow = {};\n for (let i = 0; i < headers.length; i++) {\n objectRow[headers[i]] = arrayRow[i];\n }\n return objectRow;\n}\n\n/** Convert an object row to an array row */\nexport function convertToArrayRow(\n objectRow: {[columnName: string]: any},\n headers: string[]\n): any[] {\n if (!objectRow) {\n throw new Error('null row');\n }\n if (!headers) {\n throw new Error('no headers');\n }\n const arrayRow = new Array(headers.length);\n for (let i = 0; i < headers.length; i++) {\n arrayRow[i] = objectRow[headers[i]];\n }\n return arrayRow;\n}\n"],"mappings":";;;;;;;AACO,SAASA,kBAAkBA,CAChCC,QAAe,EACfC,OAAiB,EACY;EAC7B,IAAI,CAACD,QAAQ,EAAE;IACb,MAAM,IAAIE,KAAK,CAAC,UAAU,CAAC;EAC7B;EACA,IAAI,CAACD,OAAO,EAAE;IACZ,MAAM,IAAIC,KAAK,CAAC,YAAY,CAAC;EAC/B;EACA,IAAMC,SAAS,GAAG,CAAC,CAAC;EACpB,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGH,OAAO,CAACI,MAAM,EAAED,CAAC,EAAE,EAAE;IACvCD,SAAS,CAACF,OAAO,CAACG,CAAC,CAAC,CAAC,GAAGJ,QAAQ,CAACI,CAAC,CAAC;EACrC;EACA,OAAOD,SAAS;AAClB;AAGO,SAASG,iBAAiBA,CAC/BH,SAAsC,EACtCF,OAAiB,EACV;EACP,IAAI,CAACE,SAAS,EAAE;IACd,MAAM,IAAID,KAAK,CAAC,UAAU,CAAC;EAC7B;EACA,IAAI,CAACD,OAAO,EAAE;IACZ,MAAM,IAAIC,KAAK,CAAC,YAAY,CAAC;EAC/B;EACA,IAAMF,QAAQ,GAAG,IAAIO,KAAK,CAACN,OAAO,CAACI,MAAM,CAAC;EAC1C,KAAK,IAAID,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGH,OAAO,CAACI,MAAM,EAAED,CAAC,EAAE,EAAE;IACvCJ,QAAQ,CAACI,CAAC,CAAC,GAAGD,SAAS,CAACF,OAAO,CAACG,CAAC,CAAC,CAAC;EACrC;EACA,OAAOJ,QAAQ;AACjB"}
|