@loaders.gl/schema 4.0.0-beta.2 → 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,179 +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.deserializeArrowField = deserializeArrowField;
|
|
8
|
-
exports.deserializeArrowMetadata = deserializeArrowMetadata;
|
|
9
|
-
exports.deserializeArrowSchema = deserializeArrowSchema;
|
|
10
|
-
exports.deserializeArrowType = deserializeArrowType;
|
|
11
|
-
exports.serializeArrowField = serializeArrowField;
|
|
12
|
-
exports.serializeArrowMetadata = serializeArrowMetadata;
|
|
13
|
-
exports.serializeArrowSchema = serializeArrowSchema;
|
|
14
|
-
exports.serializeArrowType = serializeArrowType;
|
|
15
|
-
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
16
|
-
var _Arrow = require("apache-arrow/Arrow.dom");
|
|
17
|
-
function serializeArrowSchema(arrowSchema) {
|
|
18
|
-
return {
|
|
19
|
-
fields: arrowSchema.fields.map(function (arrowField) {
|
|
20
|
-
return serializeArrowField(arrowField);
|
|
21
|
-
}),
|
|
22
|
-
metadata: serializeArrowMetadata(arrowSchema.metadata)
|
|
23
|
-
};
|
|
24
|
-
}
|
|
25
|
-
function deserializeArrowSchema(schema) {
|
|
26
|
-
return new _Arrow.Schema(schema.fields.map(function (field) {
|
|
27
|
-
return deserializeArrowField(field);
|
|
28
|
-
}), deserializeArrowMetadata(schema.metadata));
|
|
29
|
-
}
|
|
30
|
-
function serializeArrowMetadata(arrowMetadata) {
|
|
31
|
-
return Object.fromEntries(arrowMetadata);
|
|
32
|
-
}
|
|
33
|
-
function deserializeArrowMetadata(metadata) {
|
|
34
|
-
return metadata ? new Map(Object.entries(metadata)) : new Map();
|
|
35
|
-
}
|
|
36
|
-
function serializeArrowField(field) {
|
|
37
|
-
return {
|
|
38
|
-
name: field.name,
|
|
39
|
-
type: serializeArrowType(field.type),
|
|
40
|
-
nullable: field.nullable,
|
|
41
|
-
metadata: serializeArrowMetadata(field.metadata)
|
|
42
|
-
};
|
|
43
|
-
}
|
|
44
|
-
function deserializeArrowField(field) {
|
|
45
|
-
return new _Arrow.Field(field.name, deserializeArrowType(field.type), field.nullable, deserializeArrowMetadata(field.metadata));
|
|
46
|
-
}
|
|
47
|
-
function serializeArrowType(arrowType) {
|
|
48
|
-
switch (arrowType.constructor) {
|
|
49
|
-
case _Arrow.Null:
|
|
50
|
-
return 'null';
|
|
51
|
-
case _Arrow.Binary:
|
|
52
|
-
return 'binary';
|
|
53
|
-
case _Arrow.Bool:
|
|
54
|
-
return 'bool';
|
|
55
|
-
case _Arrow.Int8:
|
|
56
|
-
return 'int8';
|
|
57
|
-
case _Arrow.Int16:
|
|
58
|
-
return 'int16';
|
|
59
|
-
case _Arrow.Int32:
|
|
60
|
-
return 'int32';
|
|
61
|
-
case _Arrow.Int64:
|
|
62
|
-
return 'int64';
|
|
63
|
-
case _Arrow.Uint8:
|
|
64
|
-
return 'uint8';
|
|
65
|
-
case _Arrow.Uint16:
|
|
66
|
-
return 'uint16';
|
|
67
|
-
case _Arrow.Uint32:
|
|
68
|
-
return 'uint32';
|
|
69
|
-
case _Arrow.Uint64:
|
|
70
|
-
return 'uint64';
|
|
71
|
-
case _Arrow.Float16:
|
|
72
|
-
return 'float16';
|
|
73
|
-
case _Arrow.Float32:
|
|
74
|
-
return 'float32';
|
|
75
|
-
case _Arrow.Float64:
|
|
76
|
-
return 'float64';
|
|
77
|
-
case _Arrow.Utf8:
|
|
78
|
-
return 'utf8';
|
|
79
|
-
case _Arrow.DateDay:
|
|
80
|
-
return 'date-day';
|
|
81
|
-
case _Arrow.DateMillisecond:
|
|
82
|
-
return 'date-millisecond';
|
|
83
|
-
case _Arrow.TimeMillisecond:
|
|
84
|
-
return 'time-millisecond';
|
|
85
|
-
case _Arrow.TimeSecond:
|
|
86
|
-
return 'time-second';
|
|
87
|
-
case _Arrow.TimestampSecond:
|
|
88
|
-
return 'timestamp-second';
|
|
89
|
-
case _Arrow.TimestampMillisecond:
|
|
90
|
-
return 'timestamp-millisecond';
|
|
91
|
-
case _Arrow.TimestampMicrosecond:
|
|
92
|
-
return 'timestamp-microsecond';
|
|
93
|
-
case _Arrow.TimestampNanosecond:
|
|
94
|
-
return 'timestamp-nanosecond';
|
|
95
|
-
case _Arrow.IntervalDayTime:
|
|
96
|
-
return 'interval-daytime';
|
|
97
|
-
case _Arrow.IntervalYearMonth:
|
|
98
|
-
return 'interval-yearmonth';
|
|
99
|
-
case _Arrow.FixedSizeList:
|
|
100
|
-
return {
|
|
101
|
-
type: 'fixed-size-list',
|
|
102
|
-
listSize: arrowType.listSize,
|
|
103
|
-
children: [serializeArrowField(arrowType.children[0])]
|
|
104
|
-
};
|
|
105
|
-
default:
|
|
106
|
-
throw new Error('array type not supported');
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
function deserializeArrowType(dataType) {
|
|
110
|
-
if ((0, _typeof2.default)(dataType) === 'object') {
|
|
111
|
-
switch (dataType.type) {
|
|
112
|
-
case 'fixed-size-list':
|
|
113
|
-
var child = deserializeArrowField(dataType.children[0]);
|
|
114
|
-
return new _Arrow.FixedSizeList(dataType.listSize, child);
|
|
115
|
-
case 'struct':
|
|
116
|
-
var children = dataType.children.map(function (arrowField) {
|
|
117
|
-
return deserializeArrowField(arrowField);
|
|
118
|
-
});
|
|
119
|
-
return new _Arrow.Struct(children);
|
|
120
|
-
default:
|
|
121
|
-
throw new Error('array type not supported');
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
switch (dataType) {
|
|
125
|
-
case 'null':
|
|
126
|
-
return new _Arrow.Null();
|
|
127
|
-
case 'binary':
|
|
128
|
-
return new _Arrow.Binary();
|
|
129
|
-
case 'bool':
|
|
130
|
-
return new _Arrow.Bool();
|
|
131
|
-
case 'int8':
|
|
132
|
-
return new _Arrow.Int8();
|
|
133
|
-
case 'int16':
|
|
134
|
-
return new _Arrow.Int16();
|
|
135
|
-
case 'int32':
|
|
136
|
-
return new _Arrow.Int32();
|
|
137
|
-
case 'int64':
|
|
138
|
-
return new _Arrow.Int64();
|
|
139
|
-
case 'uint8':
|
|
140
|
-
return new _Arrow.Uint8();
|
|
141
|
-
case 'uint16':
|
|
142
|
-
return new _Arrow.Uint16();
|
|
143
|
-
case 'uint32':
|
|
144
|
-
return new _Arrow.Uint32();
|
|
145
|
-
case 'uint64':
|
|
146
|
-
return new _Arrow.Uint64();
|
|
147
|
-
case 'float16':
|
|
148
|
-
return new _Arrow.Float16();
|
|
149
|
-
case 'float32':
|
|
150
|
-
return new _Arrow.Float32();
|
|
151
|
-
case 'float64':
|
|
152
|
-
return new _Arrow.Float64();
|
|
153
|
-
case 'utf8':
|
|
154
|
-
return new _Arrow.Utf8();
|
|
155
|
-
case 'date-day':
|
|
156
|
-
return new _Arrow.DateDay();
|
|
157
|
-
case 'date-millisecond':
|
|
158
|
-
return new _Arrow.DateMillisecond();
|
|
159
|
-
case 'time-millisecond':
|
|
160
|
-
return new _Arrow.TimeMillisecond();
|
|
161
|
-
case 'time-second':
|
|
162
|
-
return new _Arrow.TimeSecond();
|
|
163
|
-
case 'timestamp-second':
|
|
164
|
-
return new _Arrow.TimestampSecond();
|
|
165
|
-
case 'timestamp-millisecond':
|
|
166
|
-
return new _Arrow.TimestampMillisecond();
|
|
167
|
-
case 'timestamp-microsecond':
|
|
168
|
-
return new _Arrow.TimestampMicrosecond();
|
|
169
|
-
case 'timestamp-nanosecond':
|
|
170
|
-
return new _Arrow.TimestampNanosecond();
|
|
171
|
-
case 'interval-daytime':
|
|
172
|
-
return new _Arrow.IntervalDayTime();
|
|
173
|
-
case 'interval-yearmonth':
|
|
174
|
-
return new _Arrow.IntervalYearMonth();
|
|
175
|
-
default:
|
|
176
|
-
throw new Error('array type not supported');
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
|
-
//# sourceMappingURL=convert-schema-arrow.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"convert-schema-arrow.js","names":["_Arrow","require","serializeArrowSchema","arrowSchema","fields","map","arrowField","serializeArrowField","metadata","serializeArrowMetadata","deserializeArrowSchema","schema","ArrowSchema","field","deserializeArrowField","deserializeArrowMetadata","arrowMetadata","Object","fromEntries","Map","entries","name","type","serializeArrowType","nullable","ArrowField","deserializeArrowType","arrowType","constructor","Null","Binary","Bool","Int8","Int16","Int32","Int64","Uint8","Uint16","Uint32","Uint64","Float16","Float32","Float64","Utf8","DateDay","DateMillisecond","TimeMillisecond","TimeSecond","TimestampSecond","TimestampMillisecond","TimestampMicrosecond","TimestampNanosecond","IntervalDayTime","IntervalYearMonth","FixedSizeList","listSize","children","Error","dataType","_typeof2","default","child","Struct"],"sources":["../../../../../src/lib/table/arrow/convert-schema-arrow.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport type {DataType, Field, Schema, SchemaMetadata} from '../../../types/schema';\nimport {\n Field as ArrowField,\n Schema as ArrowSchema,\n DataType as ArrowDataType,\n Null,\n Binary,\n Bool,\n // Int,\n Int8,\n Int16,\n Int32,\n Int64,\n Uint8,\n Uint16,\n Uint32,\n Uint64,\n // Float,\n Float16,\n Float32,\n Float64,\n Utf8,\n // Date,\n DateDay,\n DateMillisecond,\n // Time,\n TimeMillisecond,\n TimeSecond,\n // Timestamp,\n TimestampSecond,\n TimestampMillisecond,\n TimestampMicrosecond,\n TimestampNanosecond,\n // Interval,\n IntervalDayTime,\n IntervalYearMonth,\n FixedSizeList,\n Struct\n} from 'apache-arrow/Arrow.dom';\n\nexport function serializeArrowSchema(arrowSchema: ArrowSchema): Schema {\n return {\n fields: arrowSchema.fields.map((arrowField) => serializeArrowField(arrowField)),\n metadata: serializeArrowMetadata(arrowSchema.metadata)\n };\n}\n\nexport function deserializeArrowSchema(schema: Schema): ArrowSchema {\n return new ArrowSchema(\n schema.fields.map((field) => deserializeArrowField(field)),\n deserializeArrowMetadata(schema.metadata)\n );\n}\n\nexport function serializeArrowMetadata(arrowMetadata: Map<string, string>): SchemaMetadata {\n return Object.fromEntries(arrowMetadata);\n}\n\nexport function deserializeArrowMetadata(metadata?: SchemaMetadata): Map<string, string> {\n return metadata ? new Map(Object.entries(metadata)) : new Map<string, string>();\n}\n\nexport function serializeArrowField(field: ArrowField): Field {\n return {\n name: field.name,\n type: serializeArrowType(field.type),\n nullable: field.nullable,\n metadata: serializeArrowMetadata(field.metadata)\n };\n}\n\nexport function deserializeArrowField(field: Field): ArrowField {\n return new ArrowField(\n field.name,\n deserializeArrowType(field.type),\n field.nullable,\n deserializeArrowMetadata(field.metadata)\n );\n}\n\n/** Converts a serializable loaders.gl data type to hydrated arrow data type */\n// eslint-disable-next-line complexity\nexport function serializeArrowType(arrowType: ArrowDataType): DataType {\n switch (arrowType.constructor) {\n case Null:\n return 'null';\n case Binary:\n return 'binary';\n case Bool:\n return 'bool';\n // case Int: return 'int';\n case Int8:\n return 'int8';\n case Int16:\n return 'int16';\n case Int32:\n return 'int32';\n case Int64:\n return 'int64';\n case Uint8:\n return 'uint8';\n case Uint16:\n return 'uint16';\n case Uint32:\n return 'uint32';\n case Uint64:\n return 'uint64';\n // case Float: return 'float';\n case Float16:\n return 'float16';\n case Float32:\n return 'float32';\n case Float64:\n return 'float64';\n case Utf8:\n return 'utf8';\n // case Date: return 'date';\n case DateDay:\n return 'date-day';\n case DateMillisecond:\n return 'date-millisecond';\n // case Time: return 'time';\n case TimeMillisecond:\n return 'time-millisecond';\n case TimeSecond:\n return 'time-second';\n // case Timestamp: return 'timestamp';\n case TimestampSecond:\n return 'timestamp-second';\n case TimestampMillisecond:\n return 'timestamp-millisecond';\n case TimestampMicrosecond:\n return 'timestamp-microsecond';\n case TimestampNanosecond:\n return 'timestamp-nanosecond';\n // case Interval: return 'interval';\n case IntervalDayTime:\n return 'interval-daytime';\n case IntervalYearMonth:\n return 'interval-yearmonth';\n case FixedSizeList:\n return {\n type: 'fixed-size-list',\n listSize: (arrowType as FixedSizeList).listSize,\n children: [serializeArrowField((arrowType as FixedSizeList).children[0])]\n };\n // case Struct:\n // return {type: 'struct', children: (arrowType as Struct).children};\n default:\n throw new Error('array type not supported');\n }\n}\n\n/** Converts a serializable loaders.gl data type to hydrated arrow data type */\n// eslint-disable-next-line complexity\nexport function deserializeArrowType(dataType: DataType): ArrowDataType {\n if (typeof dataType === 'object') {\n switch (dataType.type) {\n case 'fixed-size-list':\n const child = deserializeArrowField(dataType.children[0]);\n return new FixedSizeList(dataType.listSize, child);\n case 'struct':\n const children = dataType.children.map((arrowField) => deserializeArrowField(arrowField));\n return new Struct(children);\n default:\n throw new Error('array type not supported');\n }\n }\n\n switch (dataType) {\n case 'null':\n return new Null();\n case 'binary':\n return new Binary();\n case 'bool':\n return new Bool();\n // case 'int': return new Int();\n case 'int8':\n return new Int8();\n case 'int16':\n return new Int16();\n case 'int32':\n return new Int32();\n case 'int64':\n return new Int64();\n case 'uint8':\n return new Uint8();\n case 'uint16':\n return new Uint16();\n case 'uint32':\n return new Uint32();\n case 'uint64':\n return new Uint64();\n // case 'float': return new Float();\n case 'float16':\n return new Float16();\n case 'float32':\n return new Float32();\n case 'float64':\n return new Float64();\n case 'utf8':\n return new Utf8();\n // case 'date': return new Date();\n case 'date-day':\n return new DateDay();\n case 'date-millisecond':\n return new DateMillisecond();\n // case 'time': return new Time();\n case 'time-millisecond':\n return new TimeMillisecond();\n case 'time-second':\n return new TimeSecond();\n // case 'timestamp': return new Timestamp();\n case 'timestamp-second':\n return new TimestampSecond();\n case 'timestamp-millisecond':\n return new TimestampMillisecond();\n case 'timestamp-microsecond':\n return new TimestampMicrosecond();\n case 'timestamp-nanosecond':\n return new TimestampNanosecond();\n // case 'interval': return new Interval();\n case 'interval-daytime':\n return new IntervalDayTime();\n case 'interval-yearmonth':\n return new IntervalYearMonth();\n default:\n throw new Error('array type not supported');\n }\n}\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"convert-table-to-arrow.js","names":[],"sources":["../../../../../src/lib/table/arrow/convert-table-to-arrow.ts"],"sourcesContent":["// loaders.gl, MIT license\n\n// import {\n// Table as ApacheArrowTable,\n// Schema as ApacheArrowSchema,\n// RecordBatch,\n// FixedSizeList,\n// Field,\n// Data,\n// FixedSizeListVector\n// } from 'apache-arrow/Arrow.dom';\n// import {AbstractVector} from 'apache-arrow/vector';\n\n// import {Table} from '../../types/category-table';\n// import {getArrowType, getArrowVector} from './arrow-type-utils';\n// import {makeMeshAttributeMetadata} from './deduce-mesh-schema';\n// import {getTableLength, getTableNumCols} from './table-accessors';\n\n/**\n * * Convert a loaders.gl Mesh to an Apache Arrow Table\n * @param mesh\n * @param metadata\n * @param batchSize\n * @returns\n *\nexport function convertTableToArrow(table: Table, options?: {batchSize?: number}): ArrowTable {\n const vectors: AbstractVector[] = [];\n const fields: Field[] = [];\n\n const length = getTableLength(table);\n const batchSize = options?.batchSize || length;\n\n const recordBatches: RecordBatch[] = [];\n for (let i = 0; i < length; i += batchSize) {\n for (let columnIndex = 0; columnIndex < getTableNumCols(table); ++columnIndex) {\n const field_ = table.schema.fields[columnIndex];\n const column = getTableColumnAt(table, columnIndex, i, batchSize);\n const type = getArrowType(column);\n const vector = getArrowVector(column);\n const listType = new FixedSizeList(size, new Field('value', type));\n const field = new Field(field_.name, listType, false, makeMeshAttributeMetadata(attribute));\n const data = new Data(listType, 0, value.length / size, 0, undefined, [vector]);\n const listVector = new FixedSizeListVector(data);\n vectors.push(listVector);\n fields.push(field);\n }\n\n for (const attributeKey in table.columns) {\n const attribute = mesh.attributes[attributeKey];\n const {value, size = 1} = attribute;\n }\n\n const schema = new ApacheArrowSchema(fields, table?.schema?.metadata || new Map<string, string>());\n const recordBatch = new RecordBatch(schema, vectors[0].length, vectors);\n const apacheArrowTable = new ApacheArrowTable(schema, recordBatch);\n\n return apacheArrowTable;\n}\n*/\n"],"mappings":""}
|
|
@@ -1,49 +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.ArrowLikeField = 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 ArrowLikeField = function () {
|
|
12
|
-
function ArrowLikeField(name, type) {
|
|
13
|
-
var nullable = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
14
|
-
var metadata = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : new Map();
|
|
15
|
-
(0, _classCallCheck2.default)(this, ArrowLikeField);
|
|
16
|
-
(0, _defineProperty2.default)(this, "name", void 0);
|
|
17
|
-
(0, _defineProperty2.default)(this, "type", void 0);
|
|
18
|
-
(0, _defineProperty2.default)(this, "nullable", void 0);
|
|
19
|
-
(0, _defineProperty2.default)(this, "metadata", void 0);
|
|
20
|
-
this.name = name;
|
|
21
|
-
this.type = type;
|
|
22
|
-
this.nullable = nullable;
|
|
23
|
-
this.metadata = metadata;
|
|
24
|
-
}
|
|
25
|
-
(0, _createClass2.default)(ArrowLikeField, [{
|
|
26
|
-
key: "typeId",
|
|
27
|
-
get: function get() {
|
|
28
|
-
return this.type && this.type.typeId;
|
|
29
|
-
}
|
|
30
|
-
}, {
|
|
31
|
-
key: "clone",
|
|
32
|
-
value: function clone() {
|
|
33
|
-
return new ArrowLikeField(this.name, this.type, this.nullable, this.metadata);
|
|
34
|
-
}
|
|
35
|
-
}, {
|
|
36
|
-
key: "compareTo",
|
|
37
|
-
value: function compareTo(other) {
|
|
38
|
-
return this.name === other.name && this.type === other.type && this.nullable === other.nullable && this.metadata === other.metadata;
|
|
39
|
-
}
|
|
40
|
-
}, {
|
|
41
|
-
key: "toString",
|
|
42
|
-
value: function toString() {
|
|
43
|
-
return "".concat(this.type).concat(this.nullable ? ', nullable' : '').concat(this.metadata ? ", metadata: ".concat(this.metadata) : '');
|
|
44
|
-
}
|
|
45
|
-
}]);
|
|
46
|
-
return ArrowLikeField;
|
|
47
|
-
}();
|
|
48
|
-
exports.ArrowLikeField = ArrowLikeField;
|
|
49
|
-
//# sourceMappingURL=arrow-like-field.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"arrow-like-field.js","names":["ArrowLikeField","name","type","nullable","arguments","length","undefined","metadata","Map","_classCallCheck2","default","_defineProperty2","_createClass2","key","get","typeId","value","clone","compareTo","other","toString","concat","exports"],"sources":["../../../../../src/lib/table/arrow-api/arrow-like-field.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport {DataType} from './arrow-like-type';\n\n/**\n * ArrowJS `Field` API-compatible class for row-based tables\n * https://loaders.gl/arrowjs/docs/api-reference/field\n * A field holds name, nullable, and metadata information about a table \"column\"\n * A Schema is essentially a list of fields\n */\nexport class ArrowLikeField {\n name: string;\n type: DataType;\n nullable: boolean;\n metadata: Map<string, string>;\n\n constructor(\n name: string,\n type: DataType,\n nullable = false,\n metadata: Map<string, string> = new Map()\n ) {\n this.name = name;\n this.type = type;\n this.nullable = nullable;\n this.metadata = metadata;\n }\n\n get typeId(): number {\n return this.type && this.type.typeId;\n }\n\n clone(): ArrowLikeField {\n return new ArrowLikeField(this.name, this.type, this.nullable, this.metadata);\n }\n\n compareTo(other: this): boolean {\n return (\n this.name === other.name &&\n this.type === other.type &&\n this.nullable === other.nullable &&\n this.metadata === other.metadata\n );\n }\n\n toString(): string {\n return `${this.type}${this.nullable ? ', nullable' : ''}${\n this.metadata ? `, metadata: ${this.metadata}` : ''\n }`;\n }\n}\n"],"mappings":";;;;;;;;;;IAUaA,cAAc;EAMzB,SAAAA,eACEC,IAAY,EACZC,IAAc,EAGd;IAAA,IAFAC,QAAQ,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,KAAK;IAAA,IAChBG,QAA6B,GAAAH,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,IAAII,GAAG,CAAC,CAAC;IAAA,IAAAC,gBAAA,CAAAC,OAAA,QAAAV,cAAA;IAAA,IAAAW,gBAAA,CAAAD,OAAA;IAAA,IAAAC,gBAAA,CAAAD,OAAA;IAAA,IAAAC,gBAAA,CAAAD,OAAA;IAAA,IAAAC,gBAAA,CAAAD,OAAA;IAEzC,IAAI,CAACT,IAAI,GAAGA,IAAI;IAChB,IAAI,CAACC,IAAI,GAAGA,IAAI;IAChB,IAAI,CAACC,QAAQ,GAAGA,QAAQ;IACxB,IAAI,CAACI,QAAQ,GAAGA,QAAQ;EAC1B;EAAC,IAAAK,aAAA,CAAAF,OAAA,EAAAV,cAAA;IAAAa,GAAA;IAAAC,GAAA,EAED,SAAAA,IAAA,EAAqB;MACnB,OAAO,IAAI,CAACZ,IAAI,IAAI,IAAI,CAACA,IAAI,CAACa,MAAM;IACtC;EAAC;IAAAF,GAAA;IAAAG,KAAA,EAED,SAAAC,MAAA,EAAwB;MACtB,OAAO,IAAIjB,cAAc,CAAC,IAAI,CAACC,IAAI,EAAE,IAAI,CAACC,IAAI,EAAE,IAAI,CAACC,QAAQ,EAAE,IAAI,CAACI,QAAQ,CAAC;IAC/E;EAAC;IAAAM,GAAA;IAAAG,KAAA,EAED,SAAAE,UAAUC,KAAW,EAAW;MAC9B,OACE,IAAI,CAAClB,IAAI,KAAKkB,KAAK,CAAClB,IAAI,IACxB,IAAI,CAACC,IAAI,KAAKiB,KAAK,CAACjB,IAAI,IACxB,IAAI,CAACC,QAAQ,KAAKgB,KAAK,CAAChB,QAAQ,IAChC,IAAI,CAACI,QAAQ,KAAKY,KAAK,CAACZ,QAAQ;IAEpC;EAAC;IAAAM,GAAA;IAAAG,KAAA,EAED,SAAAI,SAAA,EAAmB;MACjB,UAAAC,MAAA,CAAU,IAAI,CAACnB,IAAI,EAAAmB,MAAA,CAAG,IAAI,CAAClB,QAAQ,GAAG,YAAY,GAAG,EAAE,EAAAkB,MAAA,CACrD,IAAI,CAACd,QAAQ,kBAAAc,MAAA,CAAkB,IAAI,CAACd,QAAQ,IAAK,EAAE;IAEvD;EAAC;EAAA,OAAAP,cAAA;AAAA;AAAAsB,OAAA,CAAAtB,cAAA,GAAAA,cAAA"}
|
|
@@ -1,118 +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.ArrowLikeSchema = void 0;
|
|
8
|
-
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
9
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
10
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
11
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
12
|
-
var _arrowLikeField = require("./arrow-like-field");
|
|
13
|
-
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; } } }; }
|
|
14
|
-
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); }
|
|
15
|
-
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; }
|
|
16
|
-
var ArrowLikeSchema = function () {
|
|
17
|
-
function ArrowLikeSchema(fields) {
|
|
18
|
-
var metadata = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : new Map();
|
|
19
|
-
(0, _classCallCheck2.default)(this, ArrowLikeSchema);
|
|
20
|
-
(0, _defineProperty2.default)(this, "fields", void 0);
|
|
21
|
-
(0, _defineProperty2.default)(this, "metadata", void 0);
|
|
22
|
-
this.fields = fields.map(function (field) {
|
|
23
|
-
return new _arrowLikeField.ArrowLikeField(field.name, field.type, field.nullable, field.metadata);
|
|
24
|
-
});
|
|
25
|
-
this.metadata = metadata instanceof Map ? metadata : new Map(Object.entries(metadata));
|
|
26
|
-
}
|
|
27
|
-
(0, _createClass2.default)(ArrowLikeSchema, [{
|
|
28
|
-
key: "compareTo",
|
|
29
|
-
value: function compareTo(other) {
|
|
30
|
-
if (this.metadata !== other.metadata) {
|
|
31
|
-
return false;
|
|
32
|
-
}
|
|
33
|
-
if (this.fields.length !== other.fields.length) {
|
|
34
|
-
return false;
|
|
35
|
-
}
|
|
36
|
-
for (var i = 0; i < this.fields.length; ++i) {
|
|
37
|
-
if (!this.fields[i].compareTo(other.fields[i])) {
|
|
38
|
-
return false;
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
return true;
|
|
42
|
-
}
|
|
43
|
-
}, {
|
|
44
|
-
key: "select",
|
|
45
|
-
value: function select() {
|
|
46
|
-
var nameMap = Object.create(null);
|
|
47
|
-
for (var _len = arguments.length, columnNames = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
48
|
-
columnNames[_key] = arguments[_key];
|
|
49
|
-
}
|
|
50
|
-
for (var _i = 0, _columnNames = columnNames; _i < _columnNames.length; _i++) {
|
|
51
|
-
var name = _columnNames[_i];
|
|
52
|
-
nameMap[name] = true;
|
|
53
|
-
}
|
|
54
|
-
var selectedFields = this.fields.filter(function (field) {
|
|
55
|
-
return nameMap[field.name];
|
|
56
|
-
});
|
|
57
|
-
return new ArrowLikeSchema(selectedFields, this.metadata);
|
|
58
|
-
}
|
|
59
|
-
}, {
|
|
60
|
-
key: "selectAt",
|
|
61
|
-
value: function selectAt() {
|
|
62
|
-
var _this = this;
|
|
63
|
-
for (var _len2 = arguments.length, columnIndices = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
|
64
|
-
columnIndices[_key2] = arguments[_key2];
|
|
65
|
-
}
|
|
66
|
-
var selectedFields = columnIndices.map(function (index) {
|
|
67
|
-
return _this.fields[index];
|
|
68
|
-
}).filter(Boolean);
|
|
69
|
-
return new ArrowLikeSchema(selectedFields, this.metadata);
|
|
70
|
-
}
|
|
71
|
-
}, {
|
|
72
|
-
key: "assign",
|
|
73
|
-
value: function assign(schemaOrFields) {
|
|
74
|
-
var fields;
|
|
75
|
-
var metadata = this.metadata;
|
|
76
|
-
if (schemaOrFields instanceof ArrowLikeSchema) {
|
|
77
|
-
var otherArrowLikeSchema = schemaOrFields;
|
|
78
|
-
fields = otherArrowLikeSchema.fields;
|
|
79
|
-
metadata = mergeMaps(mergeMaps(new Map(), this.metadata), otherArrowLikeSchema.metadata);
|
|
80
|
-
} else {
|
|
81
|
-
fields = schemaOrFields;
|
|
82
|
-
}
|
|
83
|
-
var fieldMap = Object.create(null);
|
|
84
|
-
var _iterator = _createForOfIteratorHelper(this.fields),
|
|
85
|
-
_step;
|
|
86
|
-
try {
|
|
87
|
-
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
88
|
-
var field = _step.value;
|
|
89
|
-
fieldMap[field.name] = field;
|
|
90
|
-
}
|
|
91
|
-
} catch (err) {
|
|
92
|
-
_iterator.e(err);
|
|
93
|
-
} finally {
|
|
94
|
-
_iterator.f();
|
|
95
|
-
}
|
|
96
|
-
var _iterator2 = _createForOfIteratorHelper(fields),
|
|
97
|
-
_step2;
|
|
98
|
-
try {
|
|
99
|
-
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
100
|
-
var _field = _step2.value;
|
|
101
|
-
fieldMap[_field.name] = _field;
|
|
102
|
-
}
|
|
103
|
-
} catch (err) {
|
|
104
|
-
_iterator2.e(err);
|
|
105
|
-
} finally {
|
|
106
|
-
_iterator2.f();
|
|
107
|
-
}
|
|
108
|
-
var mergedFields = Object.values(fieldMap);
|
|
109
|
-
return new ArrowLikeSchema(mergedFields, metadata);
|
|
110
|
-
}
|
|
111
|
-
}]);
|
|
112
|
-
return ArrowLikeSchema;
|
|
113
|
-
}();
|
|
114
|
-
exports.ArrowLikeSchema = ArrowLikeSchema;
|
|
115
|
-
function mergeMaps(m1, m2) {
|
|
116
|
-
return new Map([].concat((0, _toConsumableArray2.default)(m1 || new Map()), (0, _toConsumableArray2.default)(m2 || new Map())));
|
|
117
|
-
}
|
|
118
|
-
//# sourceMappingURL=arrow-like-schema.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"arrow-like-schema.js","names":["_arrowLikeField","require","_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","ArrowLikeSchema","fields","metadata","arguments","undefined","Map","_classCallCheck2","default","_defineProperty2","map","field","ArrowLikeField","type","nullable","entries","_createClass2","key","compareTo","other","select","nameMap","create","_len","columnNames","_key","_i","_columnNames","selectedFields","filter","selectAt","_this","_len2","columnIndices","_key2","index","Boolean","assign","schemaOrFields","otherArrowLikeSchema","mergeMaps","fieldMap","_iterator","_step","_iterator2","_step2","mergedFields","values","exports","m1","m2","concat","_toConsumableArray2"],"sources":["../../../../../src/lib/table/arrow-api/arrow-like-schema.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport {SchemaMetadata, Field} from '../../../types/schema';\nimport {ArrowLikeField} from './arrow-like-field';\n\nexport class ArrowLikeSchema {\n fields: ArrowLikeField[];\n metadata: Map<string, string>;\n\n constructor(\n fields: ArrowLikeField[] | Field[],\n metadata: SchemaMetadata | Map<string, string> = new Map<string, string>()\n ) {\n // checkNames(fields);\n // For kepler fields, create arrow compatible `Fields` that have kepler fields as `metadata`\n this.fields = fields.map(\n (field) => new ArrowLikeField(field.name, field.type, field.nullable, field.metadata)\n );\n this.metadata =\n metadata instanceof Map ? metadata : new Map<string, string>(Object.entries(metadata));\n }\n\n // TODO - arrow only seems to compare fields, not metadata\n compareTo(other: ArrowLikeSchema): boolean {\n if (this.metadata !== other.metadata) {\n return false;\n }\n if (this.fields.length !== other.fields.length) {\n return false;\n }\n for (let i = 0; i < this.fields.length; ++i) {\n if (!this.fields[i].compareTo(other.fields[i])) {\n return false;\n }\n }\n return true;\n }\n\n select(...columnNames: string[]): ArrowLikeSchema {\n // Ensure column names reference valid fields\n const nameMap = Object.create(null);\n for (const name of columnNames) {\n nameMap[name] = true;\n }\n const selectedFields = this.fields.filter((field) => nameMap[field.name]);\n return new ArrowLikeSchema(selectedFields, this.metadata);\n }\n\n selectAt(...columnIndices: number[]): ArrowLikeSchema {\n // Ensure column indices reference valid fields\n const selectedFields = columnIndices.map((index) => this.fields[index]).filter(Boolean);\n return new ArrowLikeSchema(selectedFields, this.metadata);\n }\n\n assign(schemaOrFields: ArrowLikeSchema | ArrowLikeField[]): ArrowLikeSchema {\n let fields: ArrowLikeField[];\n let metadata = this.metadata;\n\n if (schemaOrFields instanceof ArrowLikeSchema) {\n const otherArrowLikeSchema = schemaOrFields;\n fields = otherArrowLikeSchema.fields;\n metadata = mergeMaps(mergeMaps(new Map(), this.metadata), otherArrowLikeSchema.metadata);\n } else {\n fields = schemaOrFields;\n }\n\n // Create a merged list of fields, overwrite fields in place, new fields at end\n const fieldMap: {[key: string]: ArrowLikeField} = Object.create(null);\n\n for (const field of this.fields) {\n fieldMap[field.name] = field;\n }\n\n for (const field of fields) {\n fieldMap[field.name] = field;\n }\n\n const mergedFields = Object.values(fieldMap);\n\n return new ArrowLikeSchema(mergedFields, metadata);\n }\n}\n\n// Warn if any duplicated field names\n// function checkNames(fields: Field[]): void {\n// const usedNames: Record<string, boolean> = {};\n// for (const field of fields) {\n// if (usedNames[field.name]) {\n// // eslint-disable-next-line\n// console.warn('ArrowLikeSchema: duplicated field name', field.name, field);\n// }\n// usedNames[field.name] = true;\n// }\n// }\n\nfunction mergeMaps<T>(m1: T, m2: T): T {\n // @ts-ignore\n return new Map([...(m1 || new Map()), ...(m2 || new Map())]);\n}\n"],"mappings":"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"}
|
|
@@ -1,81 +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.ArrowLikeTable = 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 _arrowLikeSchema = require("./arrow-like-schema");
|
|
12
|
-
var _tableSchema = require("../simple-table/table-schema");
|
|
13
|
-
var _tableAccessors = require("../simple-table/table-accessors");
|
|
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 ArrowLikeVector = function () {
|
|
17
|
-
function ArrowLikeVector(table, columnName) {
|
|
18
|
-
(0, _classCallCheck2.default)(this, ArrowLikeVector);
|
|
19
|
-
(0, _defineProperty2.default)(this, "table", void 0);
|
|
20
|
-
(0, _defineProperty2.default)(this, "columnName", void 0);
|
|
21
|
-
this.table = table;
|
|
22
|
-
this.columnName = columnName;
|
|
23
|
-
}
|
|
24
|
-
(0, _createClass2.default)(ArrowLikeVector, [{
|
|
25
|
-
key: "get",
|
|
26
|
-
value: function get(rowIndex) {
|
|
27
|
-
return (0, _tableAccessors.getTableCell)(this.table, rowIndex, this.columnName);
|
|
28
|
-
}
|
|
29
|
-
}, {
|
|
30
|
-
key: "toArray",
|
|
31
|
-
value: function toArray() {
|
|
32
|
-
var _arrowTable$getChild;
|
|
33
|
-
switch (this.table.shape) {
|
|
34
|
-
case 'arrow-table':
|
|
35
|
-
var arrowTable = this.table.data;
|
|
36
|
-
return (_arrowTable$getChild = arrowTable.getChild(this.columnName)) === null || _arrowTable$getChild === void 0 ? void 0 : _arrowTable$getChild.toArray();
|
|
37
|
-
case 'columnar-table':
|
|
38
|
-
return this.table.data[this.columnName];
|
|
39
|
-
default:
|
|
40
|
-
throw new Error(this.table.shape);
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
}]);
|
|
44
|
-
return ArrowLikeVector;
|
|
45
|
-
}();
|
|
46
|
-
var ArrowLikeTable = function () {
|
|
47
|
-
function ArrowLikeTable(table) {
|
|
48
|
-
(0, _classCallCheck2.default)(this, ArrowLikeTable);
|
|
49
|
-
(0, _defineProperty2.default)(this, "schema", void 0);
|
|
50
|
-
(0, _defineProperty2.default)(this, "table", void 0);
|
|
51
|
-
var schema = table.schema || (0, _tableSchema.deduceTableSchema)(table);
|
|
52
|
-
this.schema = new _arrowLikeSchema.ArrowLikeSchema(schema.fields, schema.metadata);
|
|
53
|
-
this.table = _objectSpread(_objectSpread({}, table), {}, {
|
|
54
|
-
schema: schema
|
|
55
|
-
});
|
|
56
|
-
}
|
|
57
|
-
(0, _createClass2.default)(ArrowLikeTable, [{
|
|
58
|
-
key: "data",
|
|
59
|
-
get: function get() {
|
|
60
|
-
return this.table.shape === 'geojson-table' ? this.table.features : this.table.data;
|
|
61
|
-
}
|
|
62
|
-
}, {
|
|
63
|
-
key: "numCols",
|
|
64
|
-
get: function get() {
|
|
65
|
-
return (0, _tableAccessors.getTableNumCols)(this.table);
|
|
66
|
-
}
|
|
67
|
-
}, {
|
|
68
|
-
key: "length",
|
|
69
|
-
get: function get() {
|
|
70
|
-
return (0, _tableAccessors.getTableLength)(this.table);
|
|
71
|
-
}
|
|
72
|
-
}, {
|
|
73
|
-
key: "getChild",
|
|
74
|
-
value: function getChild(columnName) {
|
|
75
|
-
return new ArrowLikeVector(this.table, columnName);
|
|
76
|
-
}
|
|
77
|
-
}]);
|
|
78
|
-
return ArrowLikeTable;
|
|
79
|
-
}();
|
|
80
|
-
exports.ArrowLikeTable = ArrowLikeTable;
|
|
81
|
-
//# sourceMappingURL=arrow-like-table.js.map
|
|
@@ -1 +0,0 @@
|
|
|
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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"}
|