@loaders.gl/schema-utils 4.4.0-alpha.1
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/LICENSE +41 -0
- package/README.md +9 -0
- package/dist/dist.dev.js +14269 -0
- package/dist/dist.min.js +18 -0
- package/dist/index.cjs +2436 -0
- package/dist/index.cjs.map +7 -0
- package/dist/index.d.ts +28 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +73 -0
- package/dist/lib/arrow-utils/arrow-fixed-size-list-utils.d.ts +11 -0
- package/dist/lib/arrow-utils/arrow-fixed-size-list-utils.d.ts.map +1 -0
- package/dist/lib/arrow-utils/arrow-fixed-size-list-utils.js +40 -0
- package/dist/lib/arrow-utils/arrow-list-of-fixed-size-list-utils.d.ts +11 -0
- package/dist/lib/arrow-utils/arrow-list-of-fixed-size-list-utils.d.ts.map +1 -0
- package/dist/lib/arrow-utils/arrow-list-of-fixed-size-list-utils.js +32 -0
- package/dist/lib/mesh/convert-mesh-to-table.d.ts +18 -0
- package/dist/lib/mesh/convert-mesh-to-table.d.ts.map +1 -0
- package/dist/lib/mesh/convert-mesh-to-table.js +60 -0
- package/dist/lib/mesh/convert-table-to-mesh.d.ts +7 -0
- package/dist/lib/mesh/convert-table-to-mesh.d.ts.map +1 -0
- package/dist/lib/mesh/convert-table-to-mesh.js +40 -0
- package/dist/lib/mesh/deduce-mesh-schema.d.ts +23 -0
- package/dist/lib/mesh/deduce-mesh-schema.d.ts.map +1 -0
- package/dist/lib/mesh/deduce-mesh-schema.js +62 -0
- package/dist/lib/mesh/mesh-utils.d.ts +23 -0
- package/dist/lib/mesh/mesh-utils.d.ts.map +1 -0
- package/dist/lib/mesh/mesh-utils.js +46 -0
- package/dist/lib/schema/convert-arrow-schema.d.ts +23 -0
- package/dist/lib/schema/convert-arrow-schema.d.ts.map +1 -0
- package/dist/lib/schema/convert-arrow-schema.js +280 -0
- package/dist/lib/schema/data-type.d.ts +16 -0
- package/dist/lib/schema/data-type.d.ts.map +1 -0
- package/dist/lib/schema/data-type.js +88 -0
- package/dist/lib/schema/deduce-table-schema.d.ts +14 -0
- package/dist/lib/schema/deduce-table-schema.d.ts.map +1 -0
- package/dist/lib/schema/deduce-table-schema.js +100 -0
- package/dist/lib/table/arrow-api/arrow-like-field.d.ts +19 -0
- package/dist/lib/table/arrow-api/arrow-like-field.d.ts.map +1 -0
- package/dist/lib/table/arrow-api/arrow-like-field.js +36 -0
- package/dist/lib/table/arrow-api/arrow-like-interface.d.ts +43 -0
- package/dist/lib/table/arrow-api/arrow-like-interface.d.ts.map +1 -0
- package/dist/lib/table/arrow-api/arrow-like-interface.js +4 -0
- package/dist/lib/table/arrow-api/arrow-like-schema.d.ts +12 -0
- package/dist/lib/table/arrow-api/arrow-like-schema.d.ts.map +1 -0
- package/dist/lib/table/arrow-api/arrow-like-schema.js +81 -0
- package/dist/lib/table/arrow-api/arrow-like-table.d.ts +28 -0
- package/dist/lib/table/arrow-api/arrow-like-table.d.ts.map +1 -0
- package/dist/lib/table/arrow-api/arrow-like-table.js +63 -0
- package/dist/lib/table/arrow-api/arrow-like-type.d.ts +177 -0
- package/dist/lib/table/arrow-api/arrow-like-type.d.ts.map +1 -0
- package/dist/lib/table/arrow-api/arrow-like-type.js +442 -0
- package/dist/lib/table/arrow-api/enum.d.ts +92 -0
- package/dist/lib/table/arrow-api/enum.d.ts.map +1 -0
- package/dist/lib/table/arrow-api/enum.js +97 -0
- package/dist/lib/table/arrow-api/get-type-info.d.ts +13 -0
- package/dist/lib/table/arrow-api/get-type-info.d.ts.map +1 -0
- package/dist/lib/table/arrow-api/get-type-info.js +27 -0
- package/dist/lib/table/arrow-api/index.d.ts +5 -0
- package/dist/lib/table/arrow-api/index.d.ts.map +1 -0
- package/dist/lib/table/arrow-api/index.js +7 -0
- package/dist/lib/table/batch-builder/arrow-table-batch-aggregator.d.ts +10 -0
- package/dist/lib/table/batch-builder/arrow-table-batch-aggregator.d.ts.map +1 -0
- package/dist/lib/table/batch-builder/arrow-table-batch-aggregator.js +67 -0
- package/dist/lib/table/batch-builder/arrow-table-builder.d.ts +25 -0
- package/dist/lib/table/batch-builder/arrow-table-builder.d.ts.map +1 -0
- package/dist/lib/table/batch-builder/arrow-table-builder.js +99 -0
- package/dist/lib/table/batch-builder/base-table-batch-aggregator.d.ts +19 -0
- package/dist/lib/table/batch-builder/base-table-batch-aggregator.d.ts.map +1 -0
- package/dist/lib/table/batch-builder/base-table-batch-aggregator.js +63 -0
- package/dist/lib/table/batch-builder/columnar-table-batch-aggregator.d.ts +20 -0
- package/dist/lib/table/batch-builder/columnar-table-batch-aggregator.d.ts.map +1 -0
- package/dist/lib/table/batch-builder/columnar-table-batch-aggregator.js +83 -0
- package/dist/lib/table/batch-builder/row-table-batch-aggregator.d.ts +21 -0
- package/dist/lib/table/batch-builder/row-table-batch-aggregator.d.ts.map +1 -0
- package/dist/lib/table/batch-builder/row-table-batch-aggregator.js +85 -0
- package/dist/lib/table/batch-builder/table-batch-aggregator.d.ts +24 -0
- package/dist/lib/table/batch-builder/table-batch-aggregator.d.ts.map +1 -0
- package/dist/lib/table/batch-builder/table-batch-aggregator.js +4 -0
- package/dist/lib/table/batch-builder/table-batch-builder.d.ts +52 -0
- package/dist/lib/table/batch-builder/table-batch-builder.d.ts.map +1 -0
- package/dist/lib/table/batch-builder/table-batch-builder.js +148 -0
- package/dist/lib/table/batches/convert-batches.d.ts +10 -0
- package/dist/lib/table/batches/convert-batches.d.ts.map +1 -0
- package/dist/lib/table/batches/convert-batches.js +45 -0
- package/dist/lib/table/batches/make-arrow-batch-iterator.d.ts +17 -0
- package/dist/lib/table/batches/make-arrow-batch-iterator.d.ts.map +1 -0
- package/dist/lib/table/batches/make-arrow-batch-iterator.js +57 -0
- package/dist/lib/table/batches/make-table-batch-iterator.d.ts +15 -0
- package/dist/lib/table/batches/make-table-batch-iterator.d.ts.map +1 -0
- package/dist/lib/table/batches/make-table-batch-iterator.js +21 -0
- package/dist/lib/table/batches/make-table-from-batches.d.ts +9 -0
- package/dist/lib/table/batches/make-table-from-batches.d.ts.map +1 -0
- package/dist/lib/table/batches/make-table-from-batches.js +62 -0
- package/dist/lib/table/tables/convert-arrow-table.d.ts +24 -0
- package/dist/lib/table/tables/convert-arrow-table.d.ts.map +1 -0
- package/dist/lib/table/tables/convert-arrow-table.js +150 -0
- package/dist/lib/table/tables/convert-table.d.ts +43 -0
- package/dist/lib/table/tables/convert-table.d.ts.map +1 -0
- package/dist/lib/table/tables/convert-table.js +120 -0
- package/dist/lib/table/tables/make-table.d.ts +67 -0
- package/dist/lib/table/tables/make-table.d.ts.map +1 -0
- package/dist/lib/table/tables/make-table.js +101 -0
- package/dist/lib/table/tables/row-utils.d.ts +15 -0
- package/dist/lib/table/tables/row-utils.d.ts.map +1 -0
- package/dist/lib/table/tables/row-utils.js +49 -0
- package/dist/lib/table/tables/table-accessors.d.ts +68 -0
- package/dist/lib/table/tables/table-accessors.d.ts.map +1 -0
- package/dist/lib/table/tables/table-accessors.js +350 -0
- package/dist/lib/table/tables/table-column.d.ts +7 -0
- package/dist/lib/table/tables/table-column.d.ts.map +1 -0
- package/dist/lib/table/tables/table-column.js +39 -0
- package/dist/lib/table/tables/table-types.d.ts +12 -0
- package/dist/lib/table/tables/table-types.d.ts.map +1 -0
- package/dist/lib/table/tables/table-types.js +23 -0
- package/dist/lib/utils/assert.d.ts +2 -0
- package/dist/lib/utils/assert.d.ts.map +1 -0
- package/dist/lib/utils/assert.js +8 -0
- package/dist/lib/utils/async-queue.d.ts +18 -0
- package/dist/lib/utils/async-queue.d.ts.map +1 -0
- package/dist/lib/utils/async-queue.js +90 -0
- package/dist/types/types.d.ts +15 -0
- package/dist/types/types.d.ts.map +1 -0
- package/dist/types/types.js +4 -0
- package/package.json +52 -0
- package/src/index.ts +134 -0
- package/src/lib/arrow-utils/arrow-fixed-size-list-utils.ts +63 -0
- package/src/lib/arrow-utils/arrow-list-of-fixed-size-list-utils.ts +48 -0
- package/src/lib/mesh/convert-mesh-to-table.ts +77 -0
- package/src/lib/mesh/convert-table-to-mesh.ts +49 -0
- package/src/lib/mesh/deduce-mesh-schema.ts +75 -0
- package/src/lib/mesh/mesh-utils.ts +64 -0
- package/src/lib/schema/convert-arrow-schema.ts +301 -0
- package/src/lib/schema/data-type.ts +103 -0
- package/src/lib/schema/deduce-table-schema.ts +119 -0
- package/src/lib/table/arrow-api/arrow-like-field.ts +53 -0
- package/src/lib/table/arrow-api/arrow-like-interface.ts +84 -0
- package/src/lib/table/arrow-api/arrow-like-schema.ts +101 -0
- package/src/lib/table/arrow-api/arrow-like-table.ts +85 -0
- package/src/lib/table/arrow-api/arrow-like-type.ts +502 -0
- package/src/lib/table/arrow-api/enum.ts +99 -0
- package/src/lib/table/arrow-api/get-type-info.ts +38 -0
- package/src/lib/table/arrow-api/index.ts +8 -0
- package/src/lib/table/batch-builder/arrow-table-batch-aggregator-builders.ts.disabled +190 -0
- package/src/lib/table/batch-builder/arrow-table-batch-aggregator.ts +82 -0
- package/src/lib/table/batch-builder/arrow-table-builder.ts +112 -0
- package/src/lib/table/batch-builder/base-table-batch-aggregator.ts +82 -0
- package/src/lib/table/batch-builder/columnar-table-batch-aggregator.ts +99 -0
- package/src/lib/table/batch-builder/row-table-batch-aggregator.ts +108 -0
- package/src/lib/table/batch-builder/table-batch-aggregator.ts +28 -0
- package/src/lib/table/batch-builder/table-batch-builder.ts +185 -0
- package/src/lib/table/batches/convert-batches.ts +83 -0
- package/src/lib/table/batches/make-arrow-batch-iterator.ts +75 -0
- package/src/lib/table/batches/make-table-batch-iterator.ts +25 -0
- package/src/lib/table/batches/make-table-from-batches.ts +84 -0
- package/src/lib/table/tables/convert-arrow-table.ts +198 -0
- package/src/lib/table/tables/convert-table.ts +151 -0
- package/src/lib/table/tables/make-table.ts +127 -0
- package/src/lib/table/tables/row-utils.ts +59 -0
- package/src/lib/table/tables/table-accessors.ts +417 -0
- package/src/lib/table/tables/table-column.ts +49 -0
- package/src/lib/table/tables/table-types.ts +37 -0
- package/src/lib/utils/assert.ts +8 -0
- package/src/lib/utils/async-queue.ts +104 -0
- package/src/types/types.ts +45 -0
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
import { Type } from "./enum.js";
|
|
2
|
+
import { ArrowLikeField as Field } from "./arrow-like-field.js";
|
|
3
|
+
export { Type } from "./enum.js";
|
|
4
|
+
export type TypedIntArray = Int8Array | Uint8Array | Int16Array | Uint16Array | Int32Array | Uint32Array | Uint8ClampedArray;
|
|
5
|
+
export type TypedFloatArray = Float32Array | Float64Array;
|
|
6
|
+
export type TypedArray = TypedIntArray | TypedFloatArray;
|
|
7
|
+
export type AnyArrayType = Array<any> | TypedIntArray | TypedFloatArray;
|
|
8
|
+
/** ArrowLike DataType class */
|
|
9
|
+
export declare class DataType {
|
|
10
|
+
static isNull(x: any): boolean;
|
|
11
|
+
static isInt(x: any): boolean;
|
|
12
|
+
static isFloat(x: any): boolean;
|
|
13
|
+
static isBinary(x: any): boolean;
|
|
14
|
+
static isUtf8(x: any): boolean;
|
|
15
|
+
static isBool(x: any): boolean;
|
|
16
|
+
static isDecimal(x: any): boolean;
|
|
17
|
+
static isDate(x: any): boolean;
|
|
18
|
+
static isTime(x: any): boolean;
|
|
19
|
+
static isTimestamp(x: any): boolean;
|
|
20
|
+
static isInterval(x: any): boolean;
|
|
21
|
+
static isList(x: any): boolean;
|
|
22
|
+
static isStruct(x: any): boolean;
|
|
23
|
+
static isUnion(x: any): boolean;
|
|
24
|
+
static isFixedSizeBinary(x: any): boolean;
|
|
25
|
+
static isFixedSizeList(x: any): boolean;
|
|
26
|
+
static isMap(x: any): boolean;
|
|
27
|
+
static isDictionary(x: any): boolean;
|
|
28
|
+
get typeId(): Type;
|
|
29
|
+
compareTo(other: DataType): boolean;
|
|
30
|
+
}
|
|
31
|
+
export declare class Null extends DataType {
|
|
32
|
+
get typeId(): Type;
|
|
33
|
+
get [Symbol.toStringTag](): string;
|
|
34
|
+
toString(): string;
|
|
35
|
+
}
|
|
36
|
+
export declare class Bool extends DataType {
|
|
37
|
+
get typeId(): Type;
|
|
38
|
+
get [Symbol.toStringTag](): string;
|
|
39
|
+
toString(): string;
|
|
40
|
+
}
|
|
41
|
+
export declare class Int extends DataType {
|
|
42
|
+
readonly isSigned: boolean;
|
|
43
|
+
readonly bitWidth: number;
|
|
44
|
+
constructor(isSigned: any, bitWidth: any);
|
|
45
|
+
get typeId(): Type;
|
|
46
|
+
get [Symbol.toStringTag](): string;
|
|
47
|
+
toString(): string;
|
|
48
|
+
}
|
|
49
|
+
export declare class Int8 extends Int {
|
|
50
|
+
constructor();
|
|
51
|
+
}
|
|
52
|
+
export declare class Int16 extends Int {
|
|
53
|
+
constructor();
|
|
54
|
+
}
|
|
55
|
+
export declare class Int32 extends Int {
|
|
56
|
+
constructor();
|
|
57
|
+
}
|
|
58
|
+
export declare class Int64 extends Int {
|
|
59
|
+
constructor();
|
|
60
|
+
}
|
|
61
|
+
export declare class Uint8 extends Int {
|
|
62
|
+
constructor();
|
|
63
|
+
}
|
|
64
|
+
export declare class Uint16 extends Int {
|
|
65
|
+
constructor();
|
|
66
|
+
}
|
|
67
|
+
export declare class Uint32 extends Int {
|
|
68
|
+
constructor();
|
|
69
|
+
}
|
|
70
|
+
export declare class Uint64 extends Int {
|
|
71
|
+
constructor();
|
|
72
|
+
}
|
|
73
|
+
export declare class Float extends DataType {
|
|
74
|
+
readonly precision: number;
|
|
75
|
+
constructor(precision: any);
|
|
76
|
+
get typeId(): Type;
|
|
77
|
+
get [Symbol.toStringTag](): string;
|
|
78
|
+
toString(): string;
|
|
79
|
+
}
|
|
80
|
+
export declare class Float16 extends Float {
|
|
81
|
+
constructor();
|
|
82
|
+
}
|
|
83
|
+
export declare class Float32 extends Float {
|
|
84
|
+
constructor();
|
|
85
|
+
}
|
|
86
|
+
export declare class Float64 extends Float {
|
|
87
|
+
constructor();
|
|
88
|
+
}
|
|
89
|
+
export declare class Binary extends DataType {
|
|
90
|
+
constructor();
|
|
91
|
+
get typeId(): Type;
|
|
92
|
+
toString(): string;
|
|
93
|
+
get [Symbol.toStringTag](): string;
|
|
94
|
+
}
|
|
95
|
+
export declare class Utf8 extends DataType {
|
|
96
|
+
get typeId(): Type;
|
|
97
|
+
get [Symbol.toStringTag](): string;
|
|
98
|
+
toString(): string;
|
|
99
|
+
}
|
|
100
|
+
export declare class Date extends DataType {
|
|
101
|
+
readonly unit: number;
|
|
102
|
+
constructor(unit: any);
|
|
103
|
+
get typeId(): Type;
|
|
104
|
+
get [Symbol.toStringTag](): string;
|
|
105
|
+
toString(): string;
|
|
106
|
+
}
|
|
107
|
+
export declare class DateDay extends Date {
|
|
108
|
+
constructor();
|
|
109
|
+
}
|
|
110
|
+
export declare class DateMillisecond extends Date {
|
|
111
|
+
constructor();
|
|
112
|
+
}
|
|
113
|
+
export declare class Time extends DataType {
|
|
114
|
+
readonly unit: any;
|
|
115
|
+
readonly bitWidth: number;
|
|
116
|
+
constructor(unit: any, bitWidth: number);
|
|
117
|
+
get typeId(): Type;
|
|
118
|
+
toString(): string;
|
|
119
|
+
get [Symbol.toStringTag](): string;
|
|
120
|
+
}
|
|
121
|
+
export declare class TimeSecond extends Time {
|
|
122
|
+
constructor();
|
|
123
|
+
}
|
|
124
|
+
export declare class TimeMillisecond extends Time {
|
|
125
|
+
constructor();
|
|
126
|
+
}
|
|
127
|
+
export declare class Timestamp extends DataType {
|
|
128
|
+
readonly unit: any;
|
|
129
|
+
readonly timezone: any;
|
|
130
|
+
constructor(unit: any, timezone?: null);
|
|
131
|
+
get typeId(): Type;
|
|
132
|
+
get [Symbol.toStringTag](): string;
|
|
133
|
+
toString(): string;
|
|
134
|
+
}
|
|
135
|
+
export declare class TimestampSecond extends Timestamp {
|
|
136
|
+
constructor(timezone?: null);
|
|
137
|
+
}
|
|
138
|
+
export declare class TimestampMillisecond extends Timestamp {
|
|
139
|
+
constructor(timezone?: null);
|
|
140
|
+
}
|
|
141
|
+
export declare class TimestampMicrosecond extends Timestamp {
|
|
142
|
+
constructor(timezone?: null);
|
|
143
|
+
}
|
|
144
|
+
export declare class TimestampNanosecond extends Timestamp {
|
|
145
|
+
constructor(timezone?: null);
|
|
146
|
+
}
|
|
147
|
+
export declare class Interval extends DataType {
|
|
148
|
+
readonly unit: number;
|
|
149
|
+
constructor(unit: number);
|
|
150
|
+
get typeId(): Type;
|
|
151
|
+
get [Symbol.toStringTag](): string;
|
|
152
|
+
toString(): string;
|
|
153
|
+
}
|
|
154
|
+
export declare class IntervalDayTime extends Interval {
|
|
155
|
+
constructor();
|
|
156
|
+
}
|
|
157
|
+
export declare class IntervalYearMonth extends Interval {
|
|
158
|
+
constructor();
|
|
159
|
+
}
|
|
160
|
+
export declare class FixedSizeList extends DataType {
|
|
161
|
+
readonly listSize: number;
|
|
162
|
+
readonly children: Field[];
|
|
163
|
+
constructor(listSize: number, child: Field);
|
|
164
|
+
get typeId(): Type;
|
|
165
|
+
get valueType(): DataType;
|
|
166
|
+
get valueField(): Field;
|
|
167
|
+
get [Symbol.toStringTag](): string;
|
|
168
|
+
toString(): string;
|
|
169
|
+
}
|
|
170
|
+
export declare class Struct extends DataType {
|
|
171
|
+
readonly children: Field[];
|
|
172
|
+
constructor(children: Field[]);
|
|
173
|
+
get typeId(): Type;
|
|
174
|
+
toString(): string;
|
|
175
|
+
get [Symbol.toStringTag](): string;
|
|
176
|
+
}
|
|
177
|
+
//# sourceMappingURL=arrow-like-type.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"arrow-like-type.d.ts","sourceRoot":"","sources":["../../../../src/lib/table/arrow-api/arrow-like-type.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,442 @@
|
|
|
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
|
|
6
|
+
import { Type } from "./enum.js";
|
|
7
|
+
export { Type } from "./enum.js";
|
|
8
|
+
/** ArrowLike DataType class */
|
|
9
|
+
export class DataType {
|
|
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
|
|
77
|
+
export class Null extends DataType {
|
|
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
|
|
89
|
+
export class Bool extends DataType {
|
|
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
|
|
104
|
+
export class Int extends DataType {
|
|
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
|
+
}
|
|
135
|
+
}
|
|
136
|
+
export class Int8 extends Int {
|
|
137
|
+
constructor() {
|
|
138
|
+
super(true, 8);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
export class Int16 extends Int {
|
|
142
|
+
constructor() {
|
|
143
|
+
super(true, 16);
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
export class Int32 extends Int {
|
|
147
|
+
constructor() {
|
|
148
|
+
super(true, 32);
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
export class Int64 extends Int {
|
|
152
|
+
constructor() {
|
|
153
|
+
super(true, 64);
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
export class Uint8 extends Int {
|
|
157
|
+
constructor() {
|
|
158
|
+
super(false, 8);
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
export class Uint16 extends Int {
|
|
162
|
+
constructor() {
|
|
163
|
+
super(false, 16);
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
export class Uint32 extends Int {
|
|
167
|
+
constructor() {
|
|
168
|
+
super(false, 32);
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
export class Uint64 extends Int {
|
|
172
|
+
constructor() {
|
|
173
|
+
super(false, 64);
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
// FLOATS
|
|
177
|
+
const Precision = {
|
|
178
|
+
HALF: 16,
|
|
179
|
+
SINGLE: 32,
|
|
180
|
+
DOUBLE: 64
|
|
181
|
+
};
|
|
182
|
+
export class Float extends DataType {
|
|
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
|
+
}
|
|
209
|
+
}
|
|
210
|
+
export class Float16 extends Float {
|
|
211
|
+
constructor() {
|
|
212
|
+
super(Precision.HALF);
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
export class Float32 extends Float {
|
|
216
|
+
constructor() {
|
|
217
|
+
super(Precision.SINGLE);
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
export class Float64 extends Float {
|
|
221
|
+
constructor() {
|
|
222
|
+
super(Precision.DOUBLE);
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
export class Binary extends DataType {
|
|
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
|
|
240
|
+
export class Utf8 extends DataType {
|
|
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
|
|
255
|
+
const DateUnit = {
|
|
256
|
+
DAY: 0,
|
|
257
|
+
MILLISECOND: 1
|
|
258
|
+
};
|
|
259
|
+
export class Date extends DataType {
|
|
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
|
+
}
|
|
277
|
+
}
|
|
278
|
+
export class DateDay extends Date {
|
|
279
|
+
constructor() {
|
|
280
|
+
super(DateUnit.DAY);
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
export class DateMillisecond extends Date {
|
|
284
|
+
constructor() {
|
|
285
|
+
super(DateUnit.MILLISECOND);
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
const TimeUnit = {
|
|
289
|
+
SECOND: 1,
|
|
290
|
+
MILLISECOND: 1e3,
|
|
291
|
+
MICROSECOND: 1e6,
|
|
292
|
+
NANOSECOND: 1e9
|
|
293
|
+
};
|
|
294
|
+
export class Time extends DataType {
|
|
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
|
+
}
|
|
311
|
+
}
|
|
312
|
+
export class TimeSecond extends Time {
|
|
313
|
+
constructor() {
|
|
314
|
+
super(TimeUnit.SECOND, 32);
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
export class TimeMillisecond extends Time {
|
|
318
|
+
constructor() {
|
|
319
|
+
super(TimeUnit.MILLISECOND, 32);
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
// export class TimeMicrosecond extends Time { constructor() { super(TimeUnit.MICROSECOND, 64); } }
|
|
323
|
+
// export class TimeNanosecond extends Time { constructor() { super(TimeUnit.NANOSECOND, 64); } }
|
|
324
|
+
export class Timestamp extends DataType {
|
|
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
|
+
}
|
|
344
|
+
}
|
|
345
|
+
export class TimestampSecond extends Timestamp {
|
|
346
|
+
constructor(timezone = null) {
|
|
347
|
+
super(TimeUnit.SECOND, timezone);
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
export class TimestampMillisecond extends Timestamp {
|
|
351
|
+
constructor(timezone = null) {
|
|
352
|
+
super(TimeUnit.MILLISECOND, timezone);
|
|
353
|
+
}
|
|
354
|
+
}
|
|
355
|
+
export class TimestampMicrosecond extends Timestamp {
|
|
356
|
+
constructor(timezone = null) {
|
|
357
|
+
super(TimeUnit.MICROSECOND, timezone);
|
|
358
|
+
}
|
|
359
|
+
}
|
|
360
|
+
export class TimestampNanosecond extends Timestamp {
|
|
361
|
+
constructor(timezone = null) {
|
|
362
|
+
super(TimeUnit.NANOSECOND, timezone);
|
|
363
|
+
}
|
|
364
|
+
}
|
|
365
|
+
const IntervalUnit = {
|
|
366
|
+
DAY_TIME: 0,
|
|
367
|
+
YEAR_MONTH: 1
|
|
368
|
+
};
|
|
369
|
+
export class Interval extends DataType {
|
|
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
|
+
}
|
|
387
|
+
}
|
|
388
|
+
export class IntervalDayTime extends Interval {
|
|
389
|
+
constructor() {
|
|
390
|
+
super(IntervalUnit.DAY_TIME);
|
|
391
|
+
}
|
|
392
|
+
}
|
|
393
|
+
export class IntervalYearMonth extends Interval {
|
|
394
|
+
constructor() {
|
|
395
|
+
super(IntervalUnit.YEAR_MONTH);
|
|
396
|
+
}
|
|
397
|
+
}
|
|
398
|
+
export class FixedSizeList extends DataType {
|
|
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
|
+
}
|
|
425
|
+
export class Struct extends DataType {
|
|
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
|
+
}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Main data type enumeration.
|
|
3
|
+
*
|
|
4
|
+
* Data types in this library are all *logical*. They can be expressed as
|
|
5
|
+
* either a primitive physical type (bytes or bits of some fixed size), a
|
|
6
|
+
* nested type consisting of other data types, or another data type (e.g. a
|
|
7
|
+
* timestamp encoded as an int64).
|
|
8
|
+
*
|
|
9
|
+
* **Note**: Only enum values 0-17 (NONE through Map) are written to an Arrow
|
|
10
|
+
* IPC payload.
|
|
11
|
+
*
|
|
12
|
+
* The rest of the values are specified here so TypeScript can narrow the type
|
|
13
|
+
* signatures further beyond the base Arrow Types. The Arrow DataTypes include
|
|
14
|
+
* metadata like `bitWidth` that impact the type signatures of the values we
|
|
15
|
+
* accept and return.
|
|
16
|
+
*
|
|
17
|
+
* For example, the `Int8Vector` reads 1-byte numbers from an `Int8Array`, an
|
|
18
|
+
* `Int32Vector` reads a 4-byte number from an `Int32Array`, and an `Int64Vector`
|
|
19
|
+
* reads a pair of 4-byte lo, hi 32-bit integers as a zero-copy slice from the
|
|
20
|
+
* underlying `Int32Array`.
|
|
21
|
+
*
|
|
22
|
+
* Library consumers benefit by knowing the narrowest type, since we can ensure
|
|
23
|
+
* the types across all public methods are propagated, and never bail to `any`.
|
|
24
|
+
* These values are _never_ used at runtime, and they will _never_ be written
|
|
25
|
+
* to the flatbuffers metadata of serialized Arrow IPC payloads.
|
|
26
|
+
*/
|
|
27
|
+
export declare enum Type {
|
|
28
|
+
/** The default placeholder type */
|
|
29
|
+
NONE = 0,
|
|
30
|
+
/** A NULL type having no physical storage */
|
|
31
|
+
Null = 1,
|
|
32
|
+
/** Signed or unsigned 8, 16, 32, or 64-bit little-endian integer */
|
|
33
|
+
Int = 2,
|
|
34
|
+
/** 2, 4, or 8-byte floating point value */
|
|
35
|
+
Float = 3,
|
|
36
|
+
/** Variable-length bytes (no guarantee of UTF8-ness) */
|
|
37
|
+
Binary = 4,
|
|
38
|
+
/** UTF8 variable-length string as List<Char> */
|
|
39
|
+
Utf8 = 5,
|
|
40
|
+
/** Boolean as 1 bit, LSB bit-packed ordering */
|
|
41
|
+
Bool = 6,
|
|
42
|
+
/** Precision-and-scale-based decimal type. Storage type depends on the parameters. */
|
|
43
|
+
Decimal = 7,
|
|
44
|
+
/** int32_t days or int64_t milliseconds since the UNIX epoch */
|
|
45
|
+
Date = 8,
|
|
46
|
+
/** Time as signed 32 or 64-bit integer, representing either seconds, milliseconds, microseconds, or nanoseconds since midnight since midnight */
|
|
47
|
+
Time = 9,
|
|
48
|
+
/** Exact timestamp encoded with int64 since UNIX epoch (Default unit millisecond) */
|
|
49
|
+
Timestamp = 10,
|
|
50
|
+
/** YEAR_MONTH or DAY_TIME interval in SQL style */
|
|
51
|
+
Interval = 11,
|
|
52
|
+
/** A list of some logical data type */
|
|
53
|
+
List = 12,
|
|
54
|
+
/** Struct of logical types */
|
|
55
|
+
Struct = 13,
|
|
56
|
+
/** Union of logical types */
|
|
57
|
+
Union = 14,
|
|
58
|
+
/** Fixed-size binary. Each value occupies the same number of bytes */
|
|
59
|
+
FixedSizeBinary = 15,
|
|
60
|
+
/** Fixed-size list. Each value occupies the same number of bytes */
|
|
61
|
+
FixedSizeList = 16,
|
|
62
|
+
/** Map of named logical types */
|
|
63
|
+
Map = 17,
|
|
64
|
+
/** Dictionary aka Category type */
|
|
65
|
+
Dictionary = -1,
|
|
66
|
+
Int8 = -2,
|
|
67
|
+
Int16 = -3,
|
|
68
|
+
Int32 = -4,
|
|
69
|
+
Int64 = -5,
|
|
70
|
+
Uint8 = -6,
|
|
71
|
+
Uint16 = -7,
|
|
72
|
+
Uint32 = -8,
|
|
73
|
+
Uint64 = -9,
|
|
74
|
+
Float16 = -10,
|
|
75
|
+
Float32 = -11,
|
|
76
|
+
Float64 = -12,
|
|
77
|
+
DateDay = -13,
|
|
78
|
+
DateMillisecond = -14,
|
|
79
|
+
TimestampSecond = -15,
|
|
80
|
+
TimestampMillisecond = -16,
|
|
81
|
+
TimestampMicrosecond = -17,
|
|
82
|
+
TimestampNanosecond = -18,
|
|
83
|
+
TimeSecond = -19,
|
|
84
|
+
TimeMillisecond = -20,
|
|
85
|
+
TimeMicrosecond = -21,
|
|
86
|
+
TimeNanosecond = -22,
|
|
87
|
+
DenseUnion = -23,
|
|
88
|
+
SparseUnion = -24,
|
|
89
|
+
IntervalDayTime = -25,
|
|
90
|
+
IntervalYearMonth = -26
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=enum.d.ts.map
|