@loaders.gl/schema 4.2.0-alpha.4 → 4.2.0-alpha.6
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 +216 -147
- package/dist/dist.min.js +9 -0
- package/dist/index.cjs +128 -97
- package/dist/index.cjs.map +7 -0
- package/dist/index.d.ts +30 -30
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -1
- package/dist/lib/mesh/convert-mesh.d.ts +2 -2
- package/dist/lib/mesh/convert-mesh.d.ts.map +1 -1
- package/dist/lib/mesh/convert-mesh.js +33 -18
- package/dist/lib/mesh/deduce-mesh-schema.d.ts +2 -2
- package/dist/lib/mesh/deduce-mesh-schema.d.ts.map +1 -1
- package/dist/lib/mesh/deduce-mesh-schema.js +54 -40
- package/dist/lib/mesh/mesh-to-arrow-table.js +46 -1
- package/dist/lib/mesh/mesh-utils.d.ts +2 -2
- package/dist/lib/mesh/mesh-utils.d.ts.map +1 -1
- package/dist/lib/mesh/mesh-utils.js +41 -28
- package/dist/lib/table/arrow-api/arrow-like-field.d.ts +1 -1
- package/dist/lib/table/arrow-api/arrow-like-field.d.ts.map +1 -1
- package/dist/lib/table/arrow-api/arrow-like-field.js +34 -25
- package/dist/lib/table/arrow-api/arrow-like-schema.d.ts +2 -2
- package/dist/lib/table/arrow-api/arrow-like-schema.d.ts.map +1 -1
- package/dist/lib/table/arrow-api/arrow-like-schema.js +71 -56
- package/dist/lib/table/arrow-api/arrow-like-table.d.ts +2 -2
- package/dist/lib/table/arrow-api/arrow-like-table.d.ts.map +1 -1
- package/dist/lib/table/arrow-api/arrow-like-table.js +57 -45
- package/dist/lib/table/arrow-api/arrow-like-type.d.ts +3 -3
- package/dist/lib/table/arrow-api/arrow-like-type.d.ts.map +1 -1
- package/dist/lib/table/arrow-api/arrow-like-type.js +371 -321
- package/dist/lib/table/arrow-api/enum.js +97 -48
- package/dist/lib/table/arrow-api/get-type-info.d.ts +1 -1
- package/dist/lib/table/arrow-api/get-type-info.d.ts.map +1 -1
- package/dist/lib/table/arrow-api/get-type-info.js +20 -14
- package/dist/lib/table/arrow-api/index.d.ts +4 -4
- package/dist/lib/table/arrow-api/index.d.ts.map +1 -1
- package/dist/lib/table/arrow-api/index.js +3 -1
- package/dist/lib/table/batches/base-table-batch-aggregator.d.ts +3 -3
- package/dist/lib/table/batches/base-table-batch-aggregator.d.ts.map +1 -1
- package/dist/lib/table/batches/base-table-batch-aggregator.js +56 -52
- package/dist/lib/table/batches/columnar-table-batch-aggregator.d.ts +3 -3
- package/dist/lib/table/batches/columnar-table-batch-aggregator.d.ts.map +1 -1
- package/dist/lib/table/batches/columnar-table-batch-aggregator.js +82 -67
- package/dist/lib/table/batches/row-table-batch-aggregator.d.ts +3 -3
- package/dist/lib/table/batches/row-table-batch-aggregator.d.ts.map +1 -1
- package/dist/lib/table/batches/row-table-batch-aggregator.js +76 -67
- package/dist/lib/table/batches/table-batch-aggregator.d.ts +2 -2
- package/dist/lib/table/batches/table-batch-aggregator.d.ts.map +1 -1
- package/dist/lib/table/batches/table-batch-aggregator.js +3 -1
- package/dist/lib/table/batches/table-batch-builder.d.ts +3 -3
- package/dist/lib/table/batches/table-batch-builder.d.ts.map +1 -1
- package/dist/lib/table/batches/table-batch-builder.js +131 -116
- package/dist/lib/table/simple-table/convert-table.d.ts +1 -1
- package/dist/lib/table/simple-table/convert-table.d.ts.map +1 -1
- package/dist/lib/table/simple-table/convert-table.js +97 -62
- package/dist/lib/table/simple-table/data-type.d.ts +2 -2
- package/dist/lib/table/simple-table/data-type.d.ts.map +1 -1
- package/dist/lib/table/simple-table/data-type.js +79 -76
- package/dist/lib/table/simple-table/make-table-from-batches.js +70 -67
- package/dist/lib/table/simple-table/make-table.d.ts +1 -1
- package/dist/lib/table/simple-table/make-table.d.ts.map +1 -1
- package/dist/lib/table/simple-table/make-table.js +85 -41
- package/dist/lib/table/simple-table/row-utils.js +38 -31
- package/dist/lib/table/simple-table/table-accessors.d.ts +1 -1
- package/dist/lib/table/simple-table/table-accessors.d.ts.map +1 -1
- package/dist/lib/table/simple-table/table-accessors.js +314 -270
- package/dist/lib/table/simple-table/table-column.d.ts +1 -1
- package/dist/lib/table/simple-table/table-column.d.ts.map +1 -1
- package/dist/lib/table/simple-table/table-column.js +36 -3
- package/dist/lib/table/simple-table/table-schema.d.ts +2 -2
- package/dist/lib/table/simple-table/table-schema.d.ts.map +1 -1
- package/dist/lib/table/simple-table/table-schema.js +69 -56
- package/dist/lib/utils/assert.js +6 -4
- package/dist/lib/utils/async-queue.js +79 -82
- package/dist/types/batch.d.ts +1 -1
- package/dist/types/batch.d.ts.map +1 -1
- package/dist/types/batch.js +3 -1
- package/dist/types/binary-geometries.d.ts +1 -1
- package/dist/types/binary-geometries.d.ts.map +1 -1
- package/dist/types/binary-geometries.js +3 -1
- package/dist/types/category-gis.d.ts +2 -2
- package/dist/types/category-gis.d.ts.map +1 -1
- package/dist/types/category-gis.js +3 -1
- package/dist/types/category-image.js +3 -1
- package/dist/types/category-mesh.d.ts +3 -3
- package/dist/types/category-mesh.d.ts.map +1 -1
- package/dist/types/category-mesh.js +3 -1
- package/dist/types/category-table.d.ts +3 -3
- package/dist/types/category-table.d.ts.map +1 -1
- package/dist/types/category-table.js +3 -1
- package/dist/types/category-texture.d.ts +1 -1
- package/dist/types/category-texture.d.ts.map +1 -1
- package/dist/types/category-texture.js +3 -1
- package/dist/types/flat-geometries.js +3 -1
- package/dist/types/schema.js +3 -1
- package/dist/types/types.js +3 -1
- package/package.json +8 -4
- package/src/index.ts +1 -1
- package/src/lib/table/arrow-api/arrow-like-field.ts +2 -2
- package/src/lib/table/arrow-api/arrow-like-type.ts +4 -2
- package/dist/index.js.map +0 -1
- package/dist/lib/mesh/convert-mesh.js.map +0 -1
- package/dist/lib/mesh/deduce-mesh-schema.js.map +0 -1
- package/dist/lib/mesh/mesh-to-arrow-table.js.map +0 -1
- package/dist/lib/mesh/mesh-utils.js.map +0 -1
- package/dist/lib/table/arrow-api/arrow-like-field.js.map +0 -1
- package/dist/lib/table/arrow-api/arrow-like-schema.js.map +0 -1
- package/dist/lib/table/arrow-api/arrow-like-table.js.map +0 -1
- package/dist/lib/table/arrow-api/arrow-like-type.js.map +0 -1
- package/dist/lib/table/arrow-api/enum.js.map +0 -1
- package/dist/lib/table/arrow-api/get-type-info.js.map +0 -1
- package/dist/lib/table/arrow-api/index.js.map +0 -1
- package/dist/lib/table/batches/base-table-batch-aggregator.js.map +0 -1
- package/dist/lib/table/batches/columnar-table-batch-aggregator.js.map +0 -1
- package/dist/lib/table/batches/row-table-batch-aggregator.js.map +0 -1
- package/dist/lib/table/batches/table-batch-aggregator.js.map +0 -1
- package/dist/lib/table/batches/table-batch-builder.js.map +0 -1
- package/dist/lib/table/simple-table/convert-table.js.map +0 -1
- package/dist/lib/table/simple-table/data-type.js.map +0 -1
- package/dist/lib/table/simple-table/make-table-from-batches.js.map +0 -1
- package/dist/lib/table/simple-table/make-table.js.map +0 -1
- package/dist/lib/table/simple-table/row-utils.js.map +0 -1
- package/dist/lib/table/simple-table/table-accessors.js.map +0 -1
- package/dist/lib/table/simple-table/table-column.js.map +0 -1
- package/dist/lib/table/simple-table/table-schema.js.map +0 -1
- package/dist/lib/utils/assert.js.map +0 -1
- package/dist/lib/utils/async-queue.js.map +0 -1
- package/dist/types/batch.js.map +0 -1
- package/dist/types/binary-geometries.js.map +0 -1
- package/dist/types/category-gis.js.map +0 -1
- package/dist/types/category-image.js.map +0 -1
- package/dist/types/category-mesh.js.map +0 -1
- package/dist/types/category-table.js.map +0 -1
- package/dist/types/category-texture.js.map +0 -1
- package/dist/types/flat-geometries.js.map +0 -1
- package/dist/types/schema.js.map +0 -1
- package/dist/types/types.js.map +0 -1
|
@@ -1,392 +1,442 @@
|
|
|
1
|
-
|
|
1
|
+
// loaders.gl
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
4
|
+
// This code is adapted from ArrowJS https://github.com/apache/arrow
|
|
5
|
+
// under Apache license http://www.apache.org/licenses/LICENSE-2.0
|
|
2
6
|
import { Type } from "./enum.js";
|
|
3
7
|
export { Type } from "./enum.js";
|
|
8
|
+
/** ArrowLike DataType class */
|
|
4
9
|
export class DataType {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
return
|
|
64
|
-
|
|
65
|
-
}
|
|
10
|
+
static isNull(x) {
|
|
11
|
+
return x && x.typeId === Type.Null;
|
|
12
|
+
}
|
|
13
|
+
static isInt(x) {
|
|
14
|
+
return x && x.typeId === Type.Int;
|
|
15
|
+
}
|
|
16
|
+
static isFloat(x) {
|
|
17
|
+
return x && x.typeId === Type.Float;
|
|
18
|
+
}
|
|
19
|
+
static isBinary(x) {
|
|
20
|
+
return x && x.typeId === Type.Binary;
|
|
21
|
+
}
|
|
22
|
+
static isUtf8(x) {
|
|
23
|
+
return x && x.typeId === Type.Utf8;
|
|
24
|
+
}
|
|
25
|
+
static isBool(x) {
|
|
26
|
+
return x && x.typeId === Type.Bool;
|
|
27
|
+
}
|
|
28
|
+
static isDecimal(x) {
|
|
29
|
+
return x && x.typeId === Type.Decimal;
|
|
30
|
+
}
|
|
31
|
+
static isDate(x) {
|
|
32
|
+
return x && x.typeId === Type.Date;
|
|
33
|
+
}
|
|
34
|
+
static isTime(x) {
|
|
35
|
+
return x && x.typeId === Type.Time;
|
|
36
|
+
}
|
|
37
|
+
static isTimestamp(x) {
|
|
38
|
+
return x && x.typeId === Type.Timestamp;
|
|
39
|
+
}
|
|
40
|
+
static isInterval(x) {
|
|
41
|
+
return x && x.typeId === Type.Interval;
|
|
42
|
+
}
|
|
43
|
+
static isList(x) {
|
|
44
|
+
return x && x.typeId === Type.List;
|
|
45
|
+
}
|
|
46
|
+
static isStruct(x) {
|
|
47
|
+
return x && x.typeId === Type.Struct;
|
|
48
|
+
}
|
|
49
|
+
static isUnion(x) {
|
|
50
|
+
return x && x.typeId === Type.Union;
|
|
51
|
+
}
|
|
52
|
+
static isFixedSizeBinary(x) {
|
|
53
|
+
return x && x.typeId === Type.FixedSizeBinary;
|
|
54
|
+
}
|
|
55
|
+
static isFixedSizeList(x) {
|
|
56
|
+
return x && x.typeId === Type.FixedSizeList;
|
|
57
|
+
}
|
|
58
|
+
static isMap(x) {
|
|
59
|
+
return x && x.typeId === Type.Map;
|
|
60
|
+
}
|
|
61
|
+
static isDictionary(x) {
|
|
62
|
+
return x && x.typeId === Type.Dictionary;
|
|
63
|
+
}
|
|
64
|
+
get typeId() {
|
|
65
|
+
return Type.NONE;
|
|
66
|
+
}
|
|
67
|
+
// get ArrayType(): AnyArrayType {
|
|
68
|
+
// return Int8Array;
|
|
69
|
+
// }
|
|
70
|
+
// get ArrayType() { return Array; }
|
|
71
|
+
compareTo(other) {
|
|
72
|
+
// TODO
|
|
73
|
+
return this === other; // comparer.visit(this, other);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
// NULL
|
|
66
77
|
export class Null extends DataType {
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
}
|
|
78
|
+
get typeId() {
|
|
79
|
+
return Type.Null;
|
|
80
|
+
}
|
|
81
|
+
get [Symbol.toStringTag]() {
|
|
82
|
+
return 'Null';
|
|
83
|
+
}
|
|
84
|
+
toString() {
|
|
85
|
+
return 'Null';
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
// BOOLEANS
|
|
77
89
|
export class Bool extends DataType {
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
return
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
90
|
+
get typeId() {
|
|
91
|
+
return Type.Bool;
|
|
92
|
+
}
|
|
93
|
+
// get ArrayType() {
|
|
94
|
+
// return Uint8Array;
|
|
95
|
+
// }
|
|
96
|
+
get [Symbol.toStringTag]() {
|
|
97
|
+
return 'Bool';
|
|
98
|
+
}
|
|
99
|
+
toString() {
|
|
100
|
+
return 'Bool';
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
// INTS
|
|
89
104
|
export class Int extends DataType {
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
105
|
+
isSigned;
|
|
106
|
+
bitWidth;
|
|
107
|
+
constructor(isSigned, bitWidth) {
|
|
108
|
+
super();
|
|
109
|
+
this.isSigned = isSigned;
|
|
110
|
+
this.bitWidth = bitWidth;
|
|
111
|
+
}
|
|
112
|
+
get typeId() {
|
|
113
|
+
return Type.Int;
|
|
114
|
+
}
|
|
115
|
+
// get ArrayType() {
|
|
116
|
+
// switch (this.bitWidth) {
|
|
117
|
+
// case 8:
|
|
118
|
+
// return this.isSigned ? Int8Array : Uint8Array;
|
|
119
|
+
// case 16:
|
|
120
|
+
// return this.isSigned ? Int16Array : Uint16Array;
|
|
121
|
+
// case 32:
|
|
122
|
+
// return this.isSigned ? Int32Array : Uint32Array;
|
|
123
|
+
// case 64:
|
|
124
|
+
// return this.isSigned ? Int32Array : Uint32Array;
|
|
125
|
+
// default:
|
|
126
|
+
// throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`);
|
|
127
|
+
// }
|
|
128
|
+
// }
|
|
129
|
+
get [Symbol.toStringTag]() {
|
|
130
|
+
return 'Int';
|
|
131
|
+
}
|
|
132
|
+
toString() {
|
|
133
|
+
return `${this.isSigned ? 'I' : 'Ui'}nt${this.bitWidth}`;
|
|
134
|
+
}
|
|
106
135
|
}
|
|
107
136
|
export class Int8 extends Int {
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
137
|
+
constructor() {
|
|
138
|
+
super(true, 8);
|
|
139
|
+
}
|
|
111
140
|
}
|
|
112
141
|
export class Int16 extends Int {
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
142
|
+
constructor() {
|
|
143
|
+
super(true, 16);
|
|
144
|
+
}
|
|
116
145
|
}
|
|
117
146
|
export class Int32 extends Int {
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
147
|
+
constructor() {
|
|
148
|
+
super(true, 32);
|
|
149
|
+
}
|
|
121
150
|
}
|
|
122
151
|
export class Int64 extends Int {
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
152
|
+
constructor() {
|
|
153
|
+
super(true, 64);
|
|
154
|
+
}
|
|
126
155
|
}
|
|
127
156
|
export class Uint8 extends Int {
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
157
|
+
constructor() {
|
|
158
|
+
super(false, 8);
|
|
159
|
+
}
|
|
131
160
|
}
|
|
132
161
|
export class Uint16 extends Int {
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
162
|
+
constructor() {
|
|
163
|
+
super(false, 16);
|
|
164
|
+
}
|
|
136
165
|
}
|
|
137
166
|
export class Uint32 extends Int {
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
167
|
+
constructor() {
|
|
168
|
+
super(false, 32);
|
|
169
|
+
}
|
|
141
170
|
}
|
|
142
171
|
export class Uint64 extends Int {
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
172
|
+
constructor() {
|
|
173
|
+
super(false, 64);
|
|
174
|
+
}
|
|
146
175
|
}
|
|
176
|
+
// FLOATS
|
|
147
177
|
const Precision = {
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
178
|
+
HALF: 16,
|
|
179
|
+
SINGLE: 32,
|
|
180
|
+
DOUBLE: 64
|
|
151
181
|
};
|
|
152
|
-
_Symbol$toStringTag2 = Symbol.toStringTag;
|
|
153
182
|
export class Float extends DataType {
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
183
|
+
precision;
|
|
184
|
+
constructor(precision) {
|
|
185
|
+
super();
|
|
186
|
+
this.precision = precision;
|
|
187
|
+
}
|
|
188
|
+
get typeId() {
|
|
189
|
+
return Type.Float;
|
|
190
|
+
}
|
|
191
|
+
// get ArrayType() {
|
|
192
|
+
// switch (this.precision) {
|
|
193
|
+
// case Precision.HALF:
|
|
194
|
+
// return Uint16Array;
|
|
195
|
+
// case Precision.SINGLE:
|
|
196
|
+
// return Float32Array;
|
|
197
|
+
// case Precision.DOUBLE:
|
|
198
|
+
// return Float64Array;
|
|
199
|
+
// default:
|
|
200
|
+
// throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`);
|
|
201
|
+
// }
|
|
202
|
+
// }
|
|
203
|
+
get [Symbol.toStringTag]() {
|
|
204
|
+
return 'Float';
|
|
205
|
+
}
|
|
206
|
+
toString() {
|
|
207
|
+
return `Float${this.precision}`;
|
|
208
|
+
}
|
|
168
209
|
}
|
|
169
210
|
export class Float16 extends Float {
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
211
|
+
constructor() {
|
|
212
|
+
super(Precision.HALF);
|
|
213
|
+
}
|
|
173
214
|
}
|
|
174
215
|
export class Float32 extends Float {
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
216
|
+
constructor() {
|
|
217
|
+
super(Precision.SINGLE);
|
|
218
|
+
}
|
|
178
219
|
}
|
|
179
220
|
export class Float64 extends Float {
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
221
|
+
constructor() {
|
|
222
|
+
super(Precision.DOUBLE);
|
|
223
|
+
}
|
|
183
224
|
}
|
|
184
225
|
export class Binary extends DataType {
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
}
|
|
226
|
+
constructor() {
|
|
227
|
+
super();
|
|
228
|
+
}
|
|
229
|
+
get typeId() {
|
|
230
|
+
return Type.Binary;
|
|
231
|
+
}
|
|
232
|
+
toString() {
|
|
233
|
+
return 'Binary';
|
|
234
|
+
}
|
|
235
|
+
get [Symbol.toStringTag]() {
|
|
236
|
+
return 'Binary';
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
// STRINGS
|
|
198
240
|
export class Utf8 extends DataType {
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
return
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
241
|
+
get typeId() {
|
|
242
|
+
return Type.Utf8;
|
|
243
|
+
}
|
|
244
|
+
// get ArrayType() {
|
|
245
|
+
// return Uint8Array;
|
|
246
|
+
// }
|
|
247
|
+
get [Symbol.toStringTag]() {
|
|
248
|
+
return 'Utf8';
|
|
249
|
+
}
|
|
250
|
+
toString() {
|
|
251
|
+
return 'Utf8';
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
// DATES, TIMES AND INTERVALS
|
|
209
255
|
const DateUnit = {
|
|
210
|
-
|
|
211
|
-
|
|
256
|
+
DAY: 0,
|
|
257
|
+
MILLISECOND: 1
|
|
212
258
|
};
|
|
213
|
-
_Symbol$toStringTag3 = Symbol.toStringTag;
|
|
214
259
|
export class Date extends DataType {
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
return
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
260
|
+
unit;
|
|
261
|
+
constructor(unit) {
|
|
262
|
+
super();
|
|
263
|
+
this.unit = unit;
|
|
264
|
+
}
|
|
265
|
+
get typeId() {
|
|
266
|
+
return Type.Date;
|
|
267
|
+
}
|
|
268
|
+
// get ArrayType() {
|
|
269
|
+
// return Int32Array;
|
|
270
|
+
// }
|
|
271
|
+
get [Symbol.toStringTag]() {
|
|
272
|
+
return 'Date';
|
|
273
|
+
}
|
|
274
|
+
toString() {
|
|
275
|
+
return `Date${(this.unit + 1) * 32}<${DateUnit[this.unit]}>`;
|
|
276
|
+
}
|
|
229
277
|
}
|
|
230
278
|
export class DateDay extends Date {
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
279
|
+
constructor() {
|
|
280
|
+
super(DateUnit.DAY);
|
|
281
|
+
}
|
|
234
282
|
}
|
|
235
283
|
export class DateMillisecond extends Date {
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
284
|
+
constructor() {
|
|
285
|
+
super(DateUnit.MILLISECOND);
|
|
286
|
+
}
|
|
239
287
|
}
|
|
240
288
|
const TimeUnit = {
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
289
|
+
SECOND: 1,
|
|
290
|
+
MILLISECOND: 1e3,
|
|
291
|
+
MICROSECOND: 1e6,
|
|
292
|
+
NANOSECOND: 1e9
|
|
245
293
|
};
|
|
246
|
-
_Symbol$toStringTag4 = Symbol.toStringTag;
|
|
247
294
|
export class Time extends DataType {
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
295
|
+
unit;
|
|
296
|
+
bitWidth;
|
|
297
|
+
constructor(unit, bitWidth) {
|
|
298
|
+
super();
|
|
299
|
+
this.unit = unit;
|
|
300
|
+
this.bitWidth = bitWidth;
|
|
301
|
+
}
|
|
302
|
+
get typeId() {
|
|
303
|
+
return Type.Time;
|
|
304
|
+
}
|
|
305
|
+
toString() {
|
|
306
|
+
return `Time${this.bitWidth}<${TimeUnit[this.unit]}>`;
|
|
307
|
+
}
|
|
308
|
+
get [Symbol.toStringTag]() {
|
|
309
|
+
return 'Time';
|
|
310
|
+
}
|
|
264
311
|
}
|
|
265
312
|
export class TimeSecond extends Time {
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
313
|
+
constructor() {
|
|
314
|
+
super(TimeUnit.SECOND, 32);
|
|
315
|
+
}
|
|
269
316
|
}
|
|
270
317
|
export class TimeMillisecond extends Time {
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
318
|
+
constructor() {
|
|
319
|
+
super(TimeUnit.MILLISECOND, 32);
|
|
320
|
+
}
|
|
274
321
|
}
|
|
275
|
-
|
|
322
|
+
// export class TimeMicrosecond extends Time { constructor() { super(TimeUnit.MICROSECOND, 64); } }
|
|
323
|
+
// export class TimeNanosecond extends Time { constructor() { super(TimeUnit.NANOSECOND, 64); } }
|
|
276
324
|
export class Timestamp extends DataType {
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
325
|
+
unit;
|
|
326
|
+
timezone;
|
|
327
|
+
constructor(unit, timezone = null) {
|
|
328
|
+
super();
|
|
329
|
+
this.unit = unit;
|
|
330
|
+
this.timezone = timezone;
|
|
331
|
+
}
|
|
332
|
+
get typeId() {
|
|
333
|
+
return Type.Timestamp;
|
|
334
|
+
}
|
|
335
|
+
// get ArrayType() {
|
|
336
|
+
// return Int32Array;
|
|
337
|
+
// }
|
|
338
|
+
get [Symbol.toStringTag]() {
|
|
339
|
+
return 'Timestamp';
|
|
340
|
+
}
|
|
341
|
+
toString() {
|
|
342
|
+
return `Timestamp<${TimeUnit[this.unit]}${this.timezone ? `, ${this.timezone}` : ''}>`;
|
|
343
|
+
}
|
|
294
344
|
}
|
|
295
345
|
export class TimestampSecond extends Timestamp {
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
}
|
|
346
|
+
constructor(timezone = null) {
|
|
347
|
+
super(TimeUnit.SECOND, timezone);
|
|
348
|
+
}
|
|
300
349
|
}
|
|
301
350
|
export class TimestampMillisecond extends Timestamp {
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
}
|
|
351
|
+
constructor(timezone = null) {
|
|
352
|
+
super(TimeUnit.MILLISECOND, timezone);
|
|
353
|
+
}
|
|
306
354
|
}
|
|
307
355
|
export class TimestampMicrosecond extends Timestamp {
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
}
|
|
356
|
+
constructor(timezone = null) {
|
|
357
|
+
super(TimeUnit.MICROSECOND, timezone);
|
|
358
|
+
}
|
|
312
359
|
}
|
|
313
360
|
export class TimestampNanosecond extends Timestamp {
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
}
|
|
361
|
+
constructor(timezone = null) {
|
|
362
|
+
super(TimeUnit.NANOSECOND, timezone);
|
|
363
|
+
}
|
|
318
364
|
}
|
|
319
365
|
const IntervalUnit = {
|
|
320
|
-
|
|
321
|
-
|
|
366
|
+
DAY_TIME: 0,
|
|
367
|
+
YEAR_MONTH: 1
|
|
322
368
|
};
|
|
323
|
-
_Symbol$toStringTag6 = Symbol.toStringTag;
|
|
324
369
|
export class Interval extends DataType {
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
return
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
370
|
+
unit;
|
|
371
|
+
constructor(unit) {
|
|
372
|
+
super();
|
|
373
|
+
this.unit = unit;
|
|
374
|
+
}
|
|
375
|
+
get typeId() {
|
|
376
|
+
return Type.Interval;
|
|
377
|
+
}
|
|
378
|
+
// get ArrayType() {
|
|
379
|
+
// return Int32Array;
|
|
380
|
+
// }
|
|
381
|
+
get [Symbol.toStringTag]() {
|
|
382
|
+
return 'Interval';
|
|
383
|
+
}
|
|
384
|
+
toString() {
|
|
385
|
+
return `Interval<${IntervalUnit[this.unit]}>`;
|
|
386
|
+
}
|
|
339
387
|
}
|
|
340
388
|
export class IntervalDayTime extends Interval {
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
389
|
+
constructor() {
|
|
390
|
+
super(IntervalUnit.DAY_TIME);
|
|
391
|
+
}
|
|
344
392
|
}
|
|
345
393
|
export class IntervalYearMonth extends Interval {
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
394
|
+
constructor() {
|
|
395
|
+
super(IntervalUnit.YEAR_MONTH);
|
|
396
|
+
}
|
|
349
397
|
}
|
|
350
|
-
_Symbol$toStringTag7 = Symbol.toStringTag;
|
|
351
398
|
export class FixedSizeList extends DataType {
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
return
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
399
|
+
listSize;
|
|
400
|
+
children;
|
|
401
|
+
constructor(listSize, child) {
|
|
402
|
+
super();
|
|
403
|
+
this.listSize = listSize;
|
|
404
|
+
this.children = [child];
|
|
405
|
+
}
|
|
406
|
+
get typeId() {
|
|
407
|
+
return Type.FixedSizeList;
|
|
408
|
+
}
|
|
409
|
+
get valueType() {
|
|
410
|
+
return this.children[0].type;
|
|
411
|
+
}
|
|
412
|
+
get valueField() {
|
|
413
|
+
return this.children[0];
|
|
414
|
+
}
|
|
415
|
+
// get ArrayType() {
|
|
416
|
+
// return this.valueType.ArrayType;
|
|
417
|
+
// }
|
|
418
|
+
get [Symbol.toStringTag]() {
|
|
419
|
+
return 'FixedSizeList';
|
|
420
|
+
}
|
|
421
|
+
toString() {
|
|
422
|
+
return `FixedSizeList[${this.listSize}]<${JSON.stringify(this.valueType)}>`;
|
|
423
|
+
}
|
|
424
|
+
}
|
|
376
425
|
export class Struct extends DataType {
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
426
|
+
children;
|
|
427
|
+
constructor(children) {
|
|
428
|
+
super();
|
|
429
|
+
this.children = children;
|
|
430
|
+
}
|
|
431
|
+
get typeId() {
|
|
432
|
+
return Type.Struct;
|
|
433
|
+
}
|
|
434
|
+
toString() {
|
|
435
|
+
return `Struct<{${this.children
|
|
436
|
+
.map((f) => `${f.name}:${JSON.stringify(f.type)}`)
|
|
437
|
+
.join(', ')}}>`;
|
|
438
|
+
}
|
|
439
|
+
get [Symbol.toStringTag]() {
|
|
440
|
+
return 'Struct';
|
|
441
|
+
}
|
|
442
|
+
}
|