@loaders.gl/schema 3.3.0-alpha.4 → 3.3.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/es5/bundle.js +0 -1
- package/dist/es5/bundle.js.map +1 -1
- package/dist/es5/category/common.js.map +1 -1
- package/dist/es5/category/gis.js.map +1 -1
- package/dist/es5/category/image/image.js.map +1 -1
- package/dist/es5/category/mesh/convert-mesh.js +2 -12
- package/dist/es5/category/mesh/convert-mesh.js.map +1 -1
- package/dist/es5/category/mesh/deduce-mesh-schema.js +1 -10
- package/dist/es5/category/mesh/deduce-mesh-schema.js.map +1 -1
- package/dist/es5/category/mesh/mesh-to-arrow-table.js +2 -9
- package/dist/es5/category/mesh/mesh-to-arrow-table.js.map +1 -1
- package/dist/es5/category/mesh/mesh-types.js.map +1 -1
- package/dist/es5/category/mesh/mesh-utils.js +1 -6
- package/dist/es5/category/mesh/mesh-utils.js.map +1 -1
- package/dist/es5/category/table/deduce-table-schema.js +0 -11
- package/dist/es5/category/table/deduce-table-schema.js.map +1 -1
- package/dist/es5/category/table/table-types.js.map +1 -1
- package/dist/es5/category/texture/texture.js.map +1 -1
- package/dist/es5/index.js +100 -112
- package/dist/es5/index.js.map +1 -1
- package/dist/es5/lib/arrow/arrow-like-type-utils.js +0 -10
- package/dist/es5/lib/arrow/arrow-like-type-utils.js.map +1 -1
- package/dist/es5/lib/arrow/arrow-type-utils.js +0 -19
- package/dist/es5/lib/arrow/arrow-type-utils.js.map +1 -1
- package/dist/es5/lib/arrow/get-type-info.js +0 -6
- package/dist/es5/lib/arrow/get-type-info.js.map +1 -1
- package/dist/es5/lib/batches/base-table-batch-aggregator.js +0 -13
- package/dist/es5/lib/batches/base-table-batch-aggregator.js.map +1 -1
- package/dist/es5/lib/batches/columnar-table-batch-aggregator.js +6 -23
- package/dist/es5/lib/batches/columnar-table-batch-aggregator.js.map +1 -1
- package/dist/es5/lib/batches/row-table-batch-aggregator.js +0 -13
- package/dist/es5/lib/batches/row-table-batch-aggregator.js.map +1 -1
- package/dist/es5/lib/batches/table-batch-aggregator.js.map +1 -1
- package/dist/es5/lib/batches/table-batch-builder.js +21 -37
- package/dist/es5/lib/batches/table-batch-builder.js.map +1 -1
- package/dist/es5/lib/schema/impl/enum.js +0 -1
- package/dist/es5/lib/schema/impl/enum.js.map +1 -1
- package/dist/es5/lib/schema/impl/field.js +0 -7
- package/dist/es5/lib/schema/impl/field.js.map +1 -1
- package/dist/es5/lib/schema/impl/schema.js +6 -35
- package/dist/es5/lib/schema/impl/schema.js.map +1 -1
- package/dist/es5/lib/schema/impl/type.js +74 -248
- package/dist/es5/lib/schema/impl/type.js.map +1 -1
- package/dist/es5/lib/schema/schema.js +70 -74
- package/dist/es5/lib/schema/schema.js.map +1 -1
- package/dist/es5/lib/schema-utils/deduce-column-type.js +0 -3
- package/dist/es5/lib/schema-utils/deduce-column-type.js.map +1 -1
- package/dist/es5/lib/utils/assert.js +0 -1
- package/dist/es5/lib/utils/assert.js.map +1 -1
- package/dist/es5/lib/utils/async-queue.js +10 -50
- package/dist/es5/lib/utils/async-queue.js.map +1 -1
- package/dist/es5/lib/utils/row-utils.js +1 -10
- package/dist/es5/lib/utils/row-utils.js.map +1 -1
- package/dist/es5/types.js.map +1 -1
- package/dist/esm/bundle.js +1 -1
- package/dist/esm/bundle.js.map +1 -1
- package/dist/esm/category/common.js.map +1 -1
- package/dist/esm/category/gis.js.map +1 -1
- package/dist/esm/category/image/image.js.map +1 -1
- package/dist/esm/category/mesh/convert-mesh.js +1 -5
- package/dist/esm/category/mesh/convert-mesh.js.map +1 -1
- package/dist/esm/category/mesh/deduce-mesh-schema.js +2 -6
- package/dist/esm/category/mesh/deduce-mesh-schema.js.map +1 -1
- package/dist/esm/category/mesh/mesh-to-arrow-table.js +1 -3
- package/dist/esm/category/mesh/mesh-to-arrow-table.js.map +1 -1
- package/dist/esm/category/mesh/mesh-types.js.map +1 -1
- package/dist/esm/category/mesh/mesh-utils.js +3 -5
- package/dist/esm/category/mesh/mesh-utils.js.map +1 -1
- package/dist/esm/category/table/deduce-table-schema.js +2 -11
- package/dist/esm/category/table/deduce-table-schema.js.map +1 -1
- package/dist/esm/category/table/table-types.js.map +1 -1
- package/dist/esm/category/texture/texture.js.map +1 -1
- package/dist/esm/index.js +5 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/lib/arrow/arrow-like-type-utils.js +0 -8
- package/dist/esm/lib/arrow/arrow-like-type-utils.js.map +1 -1
- package/dist/esm/lib/arrow/arrow-type-utils.js +0 -16
- package/dist/esm/lib/arrow/arrow-type-utils.js.map +1 -1
- package/dist/esm/lib/arrow/get-type-info.js +0 -3
- package/dist/esm/lib/arrow/get-type-info.js.map +1 -1
- package/dist/esm/lib/batches/base-table-batch-aggregator.js +0 -16
- package/dist/esm/lib/batches/base-table-batch-aggregator.js.map +1 -1
- package/dist/esm/lib/batches/columnar-table-batch-aggregator.js +0 -20
- package/dist/esm/lib/batches/columnar-table-batch-aggregator.js.map +1 -1
- package/dist/esm/lib/batches/row-table-batch-aggregator.js +0 -17
- package/dist/esm/lib/batches/row-table-batch-aggregator.js.map +1 -1
- package/dist/esm/lib/batches/table-batch-aggregator.js.map +1 -1
- package/dist/esm/lib/batches/table-batch-builder.js +4 -35
- package/dist/esm/lib/batches/table-batch-builder.js.map +1 -1
- package/dist/esm/lib/schema/impl/enum.js +2 -1
- package/dist/esm/lib/schema/impl/enum.js.map +1 -1
- package/dist/esm/lib/schema/impl/field.js +3 -10
- package/dist/esm/lib/schema/impl/field.js.map +1 -1
- package/dist/esm/lib/schema/impl/schema.js +9 -20
- package/dist/esm/lib/schema/impl/schema.js.map +1 -1
- package/dist/esm/lib/schema/impl/type.js +19 -113
- package/dist/esm/lib/schema/impl/type.js.map +1 -1
- package/dist/esm/lib/schema/schema.js +3 -1
- package/dist/esm/lib/schema/schema.js.map +1 -1
- package/dist/esm/lib/schema-utils/deduce-column-type.js +2 -2
- package/dist/esm/lib/schema-utils/deduce-column-type.js.map +1 -1
- package/dist/esm/lib/utils/assert.js +1 -0
- package/dist/esm/lib/utils/assert.js.map +1 -1
- package/dist/esm/lib/utils/async-queue.js +3 -25
- package/dist/esm/lib/utils/async-queue.js.map +1 -1
- package/dist/esm/lib/utils/row-utils.js +2 -8
- package/dist/esm/lib/utils/row-utils.js.map +1 -1
- package/dist/esm/types.js.map +1 -1
- package/package.json +3 -4
|
@@ -1,35 +1,28 @@
|
|
|
1
1
|
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
2
2
|
export default class Field {
|
|
3
|
-
constructor(name, type
|
|
3
|
+
constructor(name, type) {
|
|
4
|
+
let nullable = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
5
|
+
let metadata = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : new Map();
|
|
4
6
|
_defineProperty(this, "name", void 0);
|
|
5
|
-
|
|
6
7
|
_defineProperty(this, "type", void 0);
|
|
7
|
-
|
|
8
8
|
_defineProperty(this, "nullable", void 0);
|
|
9
|
-
|
|
10
9
|
_defineProperty(this, "metadata", void 0);
|
|
11
|
-
|
|
12
10
|
this.name = name;
|
|
13
11
|
this.type = type;
|
|
14
12
|
this.nullable = nullable;
|
|
15
13
|
this.metadata = metadata;
|
|
16
14
|
}
|
|
17
|
-
|
|
18
15
|
get typeId() {
|
|
19
16
|
return this.type && this.type.typeId;
|
|
20
17
|
}
|
|
21
|
-
|
|
22
18
|
clone() {
|
|
23
19
|
return new Field(this.name, this.type, this.nullable, this.metadata);
|
|
24
20
|
}
|
|
25
|
-
|
|
26
21
|
compareTo(other) {
|
|
27
22
|
return this.name === other.name && this.type === other.type && this.nullable === other.nullable && this.metadata === other.metadata;
|
|
28
23
|
}
|
|
29
|
-
|
|
30
24
|
toString() {
|
|
31
25
|
return "".concat(this.type).concat(this.nullable ? ', nullable' : '').concat(this.metadata ? ", metadata: ".concat(this.metadata) : '');
|
|
32
26
|
}
|
|
33
|
-
|
|
34
27
|
}
|
|
35
28
|
//# sourceMappingURL=field.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"field.js","names":["Field","constructor","name","type","nullable","metadata","Map","typeId","clone","compareTo","other","toString"],"sources":["../../../../../src/lib/schema/impl/field.ts"],"sourcesContent":["import {DataType} from './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 default class Field {\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(): Field {\n return new Field(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":";AAQA,eAAe,MAAMA,KAAK,CAAC;EAMzBC,WAAW,CACTC,IAAY,EACZC,IAAc,EAGd;IAAA,IAFAC,QAAQ,uEAAG,KAAK;IAAA,IAChBC,QAA6B,uEAAG,IAAIC,GAAG,EAAE;IAAA;IAAA;IAAA;IAAA;IAEzC,IAAI,CAACJ,IAAI,GAAGA,IAAI;IAChB,IAAI,CAACC,IAAI,GAAGA,IAAI;IAChB,IAAI,CAACC,QAAQ,GAAGA,QAAQ;IACxB,IAAI,CAACC,QAAQ,GAAGA,QAAQ;EAC1B;EAEA,IAAIE,MAAM,GAAW;IACnB,OAAO,IAAI,CAACJ,IAAI,IAAI,IAAI,CAACA,IAAI,CAACI,MAAM;EACtC;EAEAC,KAAK,GAAU;IACb,OAAO,IAAIR,KAAK,CAAC,IAAI,CAACE,IAAI,EAAE,IAAI,CAACC,IAAI,EAAE,IAAI,CAACC,QAAQ,EAAE,IAAI,CAACC,QAAQ,CAAC;EACtE;EAEAI,SAAS,CAACC,KAAW,EAAW;IAC9B,OACE,IAAI,CAACR,IAAI,KAAKQ,KAAK,CAACR,IAAI,IACxB,IAAI,CAACC,IAAI,KAAKO,KAAK,CAACP,IAAI,IACxB,IAAI,CAACC,QAAQ,KAAKM,KAAK,CAACN,QAAQ,IAChC,IAAI,CAACC,QAAQ,KAAKK,KAAK,CAACL,QAAQ;EAEpC;EAEAM,QAAQ,GAAW;IACjB,iBAAU,IAAI,CAACR,IAAI,SAAG,IAAI,CAACC,QAAQ,GAAG,YAAY,GAAG,EAAE,SACrD,IAAI,CAACC,QAAQ,yBAAkB,IAAI,CAACA,QAAQ,IAAK,EAAE;EAEvD;AACF"}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
2
2
|
import { assert } from '../../utils/assert';
|
|
3
3
|
export default class Schema {
|
|
4
|
+
|
|
4
5
|
constructor(fields, metadata) {
|
|
5
6
|
_defineProperty(this, "fields", void 0);
|
|
6
|
-
|
|
7
7
|
_defineProperty(this, "metadata", void 0);
|
|
8
|
-
|
|
9
8
|
assert(Array.isArray(fields));
|
|
10
9
|
checkNames(fields);
|
|
11
10
|
this.fields = fields;
|
|
@@ -16,40 +15,37 @@ export default class Schema {
|
|
|
16
15
|
if (this.metadata !== other.metadata) {
|
|
17
16
|
return false;
|
|
18
17
|
}
|
|
19
|
-
|
|
20
18
|
if (this.fields.length !== other.fields.length) {
|
|
21
19
|
return false;
|
|
22
20
|
}
|
|
23
|
-
|
|
24
21
|
for (let i = 0; i < this.fields.length; ++i) {
|
|
25
22
|
if (!this.fields[i].compareTo(other.fields[i])) {
|
|
26
23
|
return false;
|
|
27
24
|
}
|
|
28
25
|
}
|
|
29
|
-
|
|
30
26
|
return true;
|
|
31
27
|
}
|
|
32
|
-
|
|
33
|
-
select(...columnNames) {
|
|
28
|
+
select() {
|
|
34
29
|
const nameMap = Object.create(null);
|
|
35
|
-
|
|
30
|
+
for (var _len = arguments.length, columnNames = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
31
|
+
columnNames[_key] = arguments[_key];
|
|
32
|
+
}
|
|
36
33
|
for (const name of columnNames) {
|
|
37
34
|
nameMap[name] = true;
|
|
38
35
|
}
|
|
39
|
-
|
|
40
36
|
const selectedFields = this.fields.filter(field => nameMap[field.name]);
|
|
41
37
|
return new Schema(selectedFields, this.metadata);
|
|
42
38
|
}
|
|
43
|
-
|
|
44
|
-
|
|
39
|
+
selectAt() {
|
|
40
|
+
for (var _len2 = arguments.length, columnIndices = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
|
41
|
+
columnIndices[_key2] = arguments[_key2];
|
|
42
|
+
}
|
|
45
43
|
const selectedFields = columnIndices.map(index => this.fields[index]).filter(Boolean);
|
|
46
44
|
return new Schema(selectedFields, this.metadata);
|
|
47
45
|
}
|
|
48
|
-
|
|
49
46
|
assign(schemaOrFields) {
|
|
50
47
|
let fields;
|
|
51
48
|
let metadata = this.metadata;
|
|
52
|
-
|
|
53
49
|
if (schemaOrFields instanceof Schema) {
|
|
54
50
|
const otherSchema = schemaOrFields;
|
|
55
51
|
fields = otherSchema.fields;
|
|
@@ -59,33 +55,26 @@ export default class Schema {
|
|
|
59
55
|
}
|
|
60
56
|
|
|
61
57
|
const fieldMap = Object.create(null);
|
|
62
|
-
|
|
63
58
|
for (const field of this.fields) {
|
|
64
59
|
fieldMap[field.name] = field;
|
|
65
60
|
}
|
|
66
|
-
|
|
67
61
|
for (const field of fields) {
|
|
68
62
|
fieldMap[field.name] = field;
|
|
69
63
|
}
|
|
70
|
-
|
|
71
64
|
const mergedFields = Object.values(fieldMap);
|
|
72
65
|
return new Schema(mergedFields, metadata);
|
|
73
66
|
}
|
|
74
|
-
|
|
75
67
|
}
|
|
76
68
|
|
|
77
69
|
function checkNames(fields) {
|
|
78
70
|
const usedNames = {};
|
|
79
|
-
|
|
80
71
|
for (const field of fields) {
|
|
81
72
|
if (usedNames[field.name]) {
|
|
82
73
|
console.warn('Schema: duplicated field name', field.name, field);
|
|
83
74
|
}
|
|
84
|
-
|
|
85
75
|
usedNames[field.name] = true;
|
|
86
76
|
}
|
|
87
77
|
}
|
|
88
|
-
|
|
89
78
|
function mergeMaps(m1, m2) {
|
|
90
79
|
return new Map([...(m1 || new Map()), ...(m2 || new Map())]);
|
|
91
80
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"schema.js","names":["assert","Schema","constructor","fields","metadata","Array","isArray","checkNames","Map","compareTo","other","length","i","select","nameMap","Object","create","columnNames","name","selectedFields","filter","field","selectAt","columnIndices","map","index","Boolean","assign","schemaOrFields","otherSchema","mergeMaps","fieldMap","mergedFields","values","usedNames","console","warn","m1","m2"],"sources":["../../../../../src/lib/schema/impl/schema.ts"],"sourcesContent":["import {assert} from '../../utils/assert';\nimport Field from './field';\n\nexport type SchemaMetadata = Map<string, any>;\n\n/**\n * ArrowJS `Schema` API-compatible class for row-based tables (returned from `DataTable`)\n * https://loaders.gl/arrowjs/docs/api-reference/schema\n */\nexport default class Schema {\n fields: Field[];\n // TODO - Arrow just allows Map<string, string>\n metadata: SchemaMetadata;\n\n constructor(fields: Field[], metadata?: SchemaMetadata) {\n assert(Array.isArray(fields));\n checkNames(fields);\n // For kepler fields, create arrow compatible `Fields` that have kepler fields as `metadata`\n this.fields = fields;\n this.metadata = metadata || new Map();\n }\n\n // TODO - arrow only seems to compare fields, not metadata\n compareTo(other: Schema): 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[]): Schema {\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 Schema(selectedFields, this.metadata);\n }\n\n selectAt(...columnIndices: number[]): Schema {\n // Ensure column indices reference valid fields\n const selectedFields = columnIndices.map((index) => this.fields[index]).filter(Boolean);\n return new Schema(selectedFields, this.metadata);\n }\n\n assign(schemaOrFields: Schema | Field[]): Schema {\n let fields: Field[];\n let metadata: SchemaMetadata = this.metadata;\n\n if (schemaOrFields instanceof Schema) {\n const otherSchema = schemaOrFields;\n fields = otherSchema.fields;\n metadata = mergeMaps(mergeMaps(new Map(), this.metadata), otherSchema.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]: Field} = 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 Schema(mergedFields, metadata);\n }\n}\n\n// Warn if any duplicated field names\nfunction 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('Schema: 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,5 +1,4 @@
|
|
|
1
1
|
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
2
|
-
|
|
3
2
|
let _Symbol$toStringTag, _Symbol$toStringTag2, _Symbol$toStringTag3, _Symbol$toStringTag4, _Symbol$toStringTag5, _Symbol$toStringTag6, _Symbol$toStringTag7, _Symbol$toStringTag8;
|
|
4
3
|
|
|
5
4
|
import { Type } from './enum';
|
|
@@ -8,75 +7,57 @@ export class DataType {
|
|
|
8
7
|
static isNull(x) {
|
|
9
8
|
return x && x.typeId === Type.Null;
|
|
10
9
|
}
|
|
11
|
-
|
|
12
10
|
static isInt(x) {
|
|
13
11
|
return x && x.typeId === Type.Int;
|
|
14
12
|
}
|
|
15
|
-
|
|
16
13
|
static isFloat(x) {
|
|
17
14
|
return x && x.typeId === Type.Float;
|
|
18
15
|
}
|
|
19
|
-
|
|
20
16
|
static isBinary(x) {
|
|
21
17
|
return x && x.typeId === Type.Binary;
|
|
22
18
|
}
|
|
23
|
-
|
|
24
19
|
static isUtf8(x) {
|
|
25
20
|
return x && x.typeId === Type.Utf8;
|
|
26
21
|
}
|
|
27
|
-
|
|
28
22
|
static isBool(x) {
|
|
29
23
|
return x && x.typeId === Type.Bool;
|
|
30
24
|
}
|
|
31
|
-
|
|
32
25
|
static isDecimal(x) {
|
|
33
26
|
return x && x.typeId === Type.Decimal;
|
|
34
27
|
}
|
|
35
|
-
|
|
36
28
|
static isDate(x) {
|
|
37
29
|
return x && x.typeId === Type.Date;
|
|
38
30
|
}
|
|
39
|
-
|
|
40
31
|
static isTime(x) {
|
|
41
32
|
return x && x.typeId === Type.Time;
|
|
42
33
|
}
|
|
43
|
-
|
|
44
34
|
static isTimestamp(x) {
|
|
45
35
|
return x && x.typeId === Type.Timestamp;
|
|
46
36
|
}
|
|
47
|
-
|
|
48
37
|
static isInterval(x) {
|
|
49
38
|
return x && x.typeId === Type.Interval;
|
|
50
39
|
}
|
|
51
|
-
|
|
52
40
|
static isList(x) {
|
|
53
41
|
return x && x.typeId === Type.List;
|
|
54
42
|
}
|
|
55
|
-
|
|
56
43
|
static isStruct(x) {
|
|
57
44
|
return x && x.typeId === Type.Struct;
|
|
58
45
|
}
|
|
59
|
-
|
|
60
46
|
static isUnion(x) {
|
|
61
47
|
return x && x.typeId === Type.Union;
|
|
62
48
|
}
|
|
63
|
-
|
|
64
49
|
static isFixedSizeBinary(x) {
|
|
65
50
|
return x && x.typeId === Type.FixedSizeBinary;
|
|
66
51
|
}
|
|
67
|
-
|
|
68
52
|
static isFixedSizeList(x) {
|
|
69
53
|
return x && x.typeId === Type.FixedSizeList;
|
|
70
54
|
}
|
|
71
|
-
|
|
72
55
|
static isMap(x) {
|
|
73
56
|
return x && x.typeId === Type.Map;
|
|
74
57
|
}
|
|
75
|
-
|
|
76
58
|
static isDictionary(x) {
|
|
77
59
|
return x && x.typeId === Type.Dictionary;
|
|
78
60
|
}
|
|
79
|
-
|
|
80
61
|
get typeId() {
|
|
81
62
|
return Type.NONE;
|
|
82
63
|
}
|
|
@@ -84,110 +65,93 @@ export class DataType {
|
|
|
84
65
|
compareTo(other) {
|
|
85
66
|
return this === other;
|
|
86
67
|
}
|
|
87
|
-
|
|
88
68
|
}
|
|
69
|
+
|
|
89
70
|
export class Null extends DataType {
|
|
90
71
|
get typeId() {
|
|
91
72
|
return Type.Null;
|
|
92
73
|
}
|
|
93
|
-
|
|
94
74
|
get [Symbol.toStringTag]() {
|
|
95
75
|
return 'Null';
|
|
96
76
|
}
|
|
97
|
-
|
|
98
77
|
toString() {
|
|
99
78
|
return 'Null';
|
|
100
79
|
}
|
|
101
|
-
|
|
102
80
|
}
|
|
81
|
+
|
|
103
82
|
export class Bool extends DataType {
|
|
104
83
|
get typeId() {
|
|
105
84
|
return Type.Bool;
|
|
106
85
|
}
|
|
107
|
-
|
|
108
86
|
get [Symbol.toStringTag]() {
|
|
109
87
|
return 'Bool';
|
|
110
88
|
}
|
|
111
|
-
|
|
112
89
|
toString() {
|
|
113
90
|
return 'Bool';
|
|
114
91
|
}
|
|
115
|
-
|
|
116
92
|
}
|
|
93
|
+
|
|
117
94
|
_Symbol$toStringTag = Symbol.toStringTag;
|
|
95
|
+
|
|
118
96
|
export class Int extends DataType {
|
|
119
97
|
constructor(isSigned, bitWidth) {
|
|
120
98
|
super();
|
|
121
|
-
|
|
122
99
|
_defineProperty(this, "isSigned", void 0);
|
|
123
|
-
|
|
124
100
|
_defineProperty(this, "bitWidth", void 0);
|
|
125
|
-
|
|
126
101
|
this.isSigned = isSigned;
|
|
127
102
|
this.bitWidth = bitWidth;
|
|
128
103
|
}
|
|
129
|
-
|
|
130
104
|
get typeId() {
|
|
131
105
|
return Type.Int;
|
|
132
106
|
}
|
|
133
|
-
|
|
134
107
|
get [_Symbol$toStringTag]() {
|
|
135
108
|
return 'Int';
|
|
136
109
|
}
|
|
137
|
-
|
|
138
110
|
toString() {
|
|
139
111
|
return "".concat(this.isSigned ? 'I' : 'Ui', "nt").concat(this.bitWidth);
|
|
140
112
|
}
|
|
141
|
-
|
|
142
113
|
}
|
|
143
114
|
export class Int8 extends Int {
|
|
144
115
|
constructor() {
|
|
145
116
|
super(true, 8);
|
|
146
117
|
}
|
|
147
|
-
|
|
148
118
|
}
|
|
149
119
|
export class Int16 extends Int {
|
|
150
120
|
constructor() {
|
|
151
121
|
super(true, 16);
|
|
152
122
|
}
|
|
153
|
-
|
|
154
123
|
}
|
|
155
124
|
export class Int32 extends Int {
|
|
156
125
|
constructor() {
|
|
157
126
|
super(true, 32);
|
|
158
127
|
}
|
|
159
|
-
|
|
160
128
|
}
|
|
161
129
|
export class Int64 extends Int {
|
|
162
130
|
constructor() {
|
|
163
131
|
super(true, 64);
|
|
164
132
|
}
|
|
165
|
-
|
|
166
133
|
}
|
|
167
134
|
export class Uint8 extends Int {
|
|
168
135
|
constructor() {
|
|
169
136
|
super(false, 8);
|
|
170
137
|
}
|
|
171
|
-
|
|
172
138
|
}
|
|
173
139
|
export class Uint16 extends Int {
|
|
174
140
|
constructor() {
|
|
175
141
|
super(false, 16);
|
|
176
142
|
}
|
|
177
|
-
|
|
178
143
|
}
|
|
179
144
|
export class Uint32 extends Int {
|
|
180
145
|
constructor() {
|
|
181
146
|
super(false, 32);
|
|
182
147
|
}
|
|
183
|
-
|
|
184
148
|
}
|
|
185
149
|
export class Uint64 extends Int {
|
|
186
150
|
constructor() {
|
|
187
151
|
super(false, 64);
|
|
188
152
|
}
|
|
189
|
-
|
|
190
153
|
}
|
|
154
|
+
|
|
191
155
|
const Precision = {
|
|
192
156
|
HALF: 16,
|
|
193
157
|
SINGLE: 32,
|
|
@@ -197,75 +161,61 @@ _Symbol$toStringTag2 = Symbol.toStringTag;
|
|
|
197
161
|
export class Float extends DataType {
|
|
198
162
|
constructor(precision) {
|
|
199
163
|
super();
|
|
200
|
-
|
|
201
164
|
_defineProperty(this, "precision", void 0);
|
|
202
|
-
|
|
203
165
|
this.precision = precision;
|
|
204
166
|
}
|
|
205
|
-
|
|
206
167
|
get typeId() {
|
|
207
168
|
return Type.Float;
|
|
208
169
|
}
|
|
209
|
-
|
|
210
170
|
get [_Symbol$toStringTag2]() {
|
|
211
171
|
return 'Float';
|
|
212
172
|
}
|
|
213
|
-
|
|
214
173
|
toString() {
|
|
215
174
|
return "Float".concat(this.precision);
|
|
216
175
|
}
|
|
217
|
-
|
|
218
176
|
}
|
|
219
177
|
export class Float16 extends Float {
|
|
220
178
|
constructor() {
|
|
221
179
|
super(Precision.HALF);
|
|
222
180
|
}
|
|
223
|
-
|
|
224
181
|
}
|
|
225
182
|
export class Float32 extends Float {
|
|
226
183
|
constructor() {
|
|
227
184
|
super(Precision.SINGLE);
|
|
228
185
|
}
|
|
229
|
-
|
|
230
186
|
}
|
|
231
187
|
export class Float64 extends Float {
|
|
232
188
|
constructor() {
|
|
233
189
|
super(Precision.DOUBLE);
|
|
234
190
|
}
|
|
235
|
-
|
|
236
191
|
}
|
|
237
192
|
export class Binary extends DataType {
|
|
238
193
|
constructor() {
|
|
239
194
|
super();
|
|
240
195
|
}
|
|
241
|
-
|
|
242
196
|
get typeId() {
|
|
243
197
|
return Type.Binary;
|
|
244
198
|
}
|
|
245
|
-
|
|
246
199
|
toString() {
|
|
247
200
|
return 'Binary';
|
|
248
201
|
}
|
|
249
|
-
|
|
250
202
|
get [Symbol.toStringTag]() {
|
|
251
203
|
return 'Binary';
|
|
252
204
|
}
|
|
253
|
-
|
|
254
205
|
}
|
|
206
|
+
|
|
255
207
|
export class Utf8 extends DataType {
|
|
256
208
|
get typeId() {
|
|
257
209
|
return Type.Utf8;
|
|
258
210
|
}
|
|
259
|
-
|
|
260
211
|
get [Symbol.toStringTag]() {
|
|
261
212
|
return 'Utf8';
|
|
262
213
|
}
|
|
263
|
-
|
|
264
214
|
toString() {
|
|
265
215
|
return 'Utf8';
|
|
266
216
|
}
|
|
267
|
-
|
|
268
217
|
}
|
|
218
|
+
|
|
269
219
|
const DateUnit = {
|
|
270
220
|
DAY: 0,
|
|
271
221
|
MILLISECOND: 1
|
|
@@ -274,36 +224,28 @@ _Symbol$toStringTag3 = Symbol.toStringTag;
|
|
|
274
224
|
export class Date extends DataType {
|
|
275
225
|
constructor(unit) {
|
|
276
226
|
super();
|
|
277
|
-
|
|
278
227
|
_defineProperty(this, "unit", void 0);
|
|
279
|
-
|
|
280
228
|
this.unit = unit;
|
|
281
229
|
}
|
|
282
|
-
|
|
283
230
|
get typeId() {
|
|
284
231
|
return Type.Date;
|
|
285
232
|
}
|
|
286
|
-
|
|
287
233
|
get [_Symbol$toStringTag3]() {
|
|
288
234
|
return 'Date';
|
|
289
235
|
}
|
|
290
|
-
|
|
291
236
|
toString() {
|
|
292
237
|
return "Date".concat((this.unit + 1) * 32, "<").concat(DateUnit[this.unit], ">");
|
|
293
238
|
}
|
|
294
|
-
|
|
295
239
|
}
|
|
296
240
|
export class DateDay extends Date {
|
|
297
241
|
constructor() {
|
|
298
242
|
super(DateUnit.DAY);
|
|
299
243
|
}
|
|
300
|
-
|
|
301
244
|
}
|
|
302
245
|
export class DateMillisecond extends Date {
|
|
303
246
|
constructor() {
|
|
304
247
|
super(DateUnit.MILLISECOND);
|
|
305
248
|
}
|
|
306
|
-
|
|
307
249
|
}
|
|
308
250
|
const TimeUnit = {
|
|
309
251
|
SECOND: 1,
|
|
@@ -315,89 +257,76 @@ _Symbol$toStringTag4 = Symbol.toStringTag;
|
|
|
315
257
|
export class Time extends DataType {
|
|
316
258
|
constructor(unit, bitWidth) {
|
|
317
259
|
super();
|
|
318
|
-
|
|
319
260
|
_defineProperty(this, "unit", void 0);
|
|
320
|
-
|
|
321
261
|
_defineProperty(this, "bitWidth", void 0);
|
|
322
|
-
|
|
323
262
|
this.unit = unit;
|
|
324
263
|
this.bitWidth = bitWidth;
|
|
325
264
|
}
|
|
326
|
-
|
|
327
265
|
get typeId() {
|
|
328
266
|
return Type.Time;
|
|
329
267
|
}
|
|
330
|
-
|
|
331
268
|
toString() {
|
|
332
269
|
return "Time".concat(this.bitWidth, "<").concat(TimeUnit[this.unit], ">");
|
|
333
270
|
}
|
|
334
|
-
|
|
335
271
|
get [_Symbol$toStringTag4]() {
|
|
336
272
|
return 'Time';
|
|
337
273
|
}
|
|
338
|
-
|
|
339
274
|
}
|
|
275
|
+
|
|
340
276
|
export class TimeSecond extends Time {
|
|
341
277
|
constructor() {
|
|
342
278
|
super(TimeUnit.SECOND, 32);
|
|
343
279
|
}
|
|
344
|
-
|
|
345
280
|
}
|
|
346
281
|
export class TimeMillisecond extends Time {
|
|
347
282
|
constructor() {
|
|
348
283
|
super(TimeUnit.MILLISECOND, 32);
|
|
349
284
|
}
|
|
350
|
-
|
|
351
285
|
}
|
|
352
286
|
_Symbol$toStringTag5 = Symbol.toStringTag;
|
|
287
|
+
|
|
353
288
|
export class Timestamp extends DataType {
|
|
354
|
-
constructor(unit
|
|
289
|
+
constructor(unit) {
|
|
290
|
+
let timezone = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
|
355
291
|
super();
|
|
356
|
-
|
|
357
292
|
_defineProperty(this, "unit", void 0);
|
|
358
|
-
|
|
359
293
|
_defineProperty(this, "timezone", void 0);
|
|
360
|
-
|
|
361
294
|
this.unit = unit;
|
|
362
295
|
this.timezone = timezone;
|
|
363
296
|
}
|
|
364
|
-
|
|
365
297
|
get typeId() {
|
|
366
298
|
return Type.Timestamp;
|
|
367
299
|
}
|
|
368
|
-
|
|
369
300
|
get [_Symbol$toStringTag5]() {
|
|
370
301
|
return 'Timestamp';
|
|
371
302
|
}
|
|
372
|
-
|
|
373
303
|
toString() {
|
|
374
304
|
return "Timestamp<".concat(TimeUnit[this.unit]).concat(this.timezone ? ", ".concat(this.timezone) : '', ">");
|
|
375
305
|
}
|
|
376
|
-
|
|
377
306
|
}
|
|
378
307
|
export class TimestampSecond extends Timestamp {
|
|
379
|
-
constructor(
|
|
308
|
+
constructor() {
|
|
309
|
+
let timezone = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
|
|
380
310
|
super(TimeUnit.SECOND, timezone);
|
|
381
311
|
}
|
|
382
|
-
|
|
383
312
|
}
|
|
384
313
|
export class TimestampMillisecond extends Timestamp {
|
|
385
|
-
constructor(
|
|
314
|
+
constructor() {
|
|
315
|
+
let timezone = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
|
|
386
316
|
super(TimeUnit.MILLISECOND, timezone);
|
|
387
317
|
}
|
|
388
|
-
|
|
389
318
|
}
|
|
390
319
|
export class TimestampMicrosecond extends Timestamp {
|
|
391
|
-
constructor(
|
|
320
|
+
constructor() {
|
|
321
|
+
let timezone = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
|
|
392
322
|
super(TimeUnit.MICROSECOND, timezone);
|
|
393
323
|
}
|
|
394
|
-
|
|
395
324
|
}
|
|
396
325
|
export class TimestampNanosecond extends Timestamp {
|
|
397
|
-
constructor(
|
|
326
|
+
constructor() {
|
|
327
|
+
let timezone = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
|
|
398
328
|
super(TimeUnit.NANOSECOND, timezone);
|
|
399
329
|
}
|
|
400
|
-
|
|
401
330
|
}
|
|
402
331
|
const IntervalUnit = {
|
|
403
332
|
DAY_TIME: 0,
|
|
@@ -407,92 +336,69 @@ _Symbol$toStringTag6 = Symbol.toStringTag;
|
|
|
407
336
|
export class Interval extends DataType {
|
|
408
337
|
constructor(unit) {
|
|
409
338
|
super();
|
|
410
|
-
|
|
411
339
|
_defineProperty(this, "unit", void 0);
|
|
412
|
-
|
|
413
340
|
this.unit = unit;
|
|
414
341
|
}
|
|
415
|
-
|
|
416
342
|
get typeId() {
|
|
417
343
|
return Type.Interval;
|
|
418
344
|
}
|
|
419
|
-
|
|
420
345
|
get [_Symbol$toStringTag6]() {
|
|
421
346
|
return 'Interval';
|
|
422
347
|
}
|
|
423
|
-
|
|
424
348
|
toString() {
|
|
425
349
|
return "Interval<".concat(IntervalUnit[this.unit], ">");
|
|
426
350
|
}
|
|
427
|
-
|
|
428
351
|
}
|
|
429
352
|
export class IntervalDayTime extends Interval {
|
|
430
353
|
constructor() {
|
|
431
354
|
super(IntervalUnit.DAY_TIME);
|
|
432
355
|
}
|
|
433
|
-
|
|
434
356
|
}
|
|
435
357
|
export class IntervalYearMonth extends Interval {
|
|
436
358
|
constructor() {
|
|
437
359
|
super(IntervalUnit.YEAR_MONTH);
|
|
438
360
|
}
|
|
439
|
-
|
|
440
361
|
}
|
|
441
362
|
_Symbol$toStringTag7 = Symbol.toStringTag;
|
|
442
363
|
export class FixedSizeList extends DataType {
|
|
443
364
|
constructor(listSize, child) {
|
|
444
365
|
super();
|
|
445
|
-
|
|
446
366
|
_defineProperty(this, "listSize", void 0);
|
|
447
|
-
|
|
448
367
|
_defineProperty(this, "children", void 0);
|
|
449
|
-
|
|
450
368
|
this.listSize = listSize;
|
|
451
369
|
this.children = [child];
|
|
452
370
|
}
|
|
453
|
-
|
|
454
371
|
get typeId() {
|
|
455
372
|
return Type.FixedSizeList;
|
|
456
373
|
}
|
|
457
|
-
|
|
458
374
|
get valueType() {
|
|
459
375
|
return this.children[0].type;
|
|
460
376
|
}
|
|
461
|
-
|
|
462
377
|
get valueField() {
|
|
463
378
|
return this.children[0];
|
|
464
379
|
}
|
|
465
|
-
|
|
466
380
|
get [_Symbol$toStringTag7]() {
|
|
467
381
|
return 'FixedSizeList';
|
|
468
382
|
}
|
|
469
|
-
|
|
470
383
|
toString() {
|
|
471
384
|
return "FixedSizeList[".concat(this.listSize, "]<").concat(this.valueType, ">");
|
|
472
385
|
}
|
|
473
|
-
|
|
474
386
|
}
|
|
475
387
|
_Symbol$toStringTag8 = Symbol.toStringTag;
|
|
476
388
|
export class Struct extends DataType {
|
|
477
389
|
constructor(children) {
|
|
478
390
|
super();
|
|
479
|
-
|
|
480
391
|
_defineProperty(this, "children", void 0);
|
|
481
|
-
|
|
482
392
|
this.children = children;
|
|
483
393
|
}
|
|
484
|
-
|
|
485
394
|
get typeId() {
|
|
486
395
|
return Type.Struct;
|
|
487
396
|
}
|
|
488
|
-
|
|
489
397
|
toString() {
|
|
490
398
|
return "Struct<{".concat(this.children.map(f => "".concat(f.name, ":").concat(f.type)).join(', '), "}>");
|
|
491
399
|
}
|
|
492
|
-
|
|
493
400
|
get [_Symbol$toStringTag8]() {
|
|
494
401
|
return 'Struct';
|
|
495
402
|
}
|
|
496
|
-
|
|
497
403
|
}
|
|
498
404
|
//# sourceMappingURL=type.js.map
|