@loaders.gl/schema 3.3.0-alpha.1 → 3.3.0-alpha.11

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.
Files changed (138) hide show
  1. package/dist/category/common.d.ts +3 -3
  2. package/dist/category/common.d.ts.map +1 -1
  3. package/dist/category/gis.d.ts +23 -23
  4. package/dist/category/gis.d.ts.map +1 -1
  5. package/dist/category/image/image.d.ts +3 -3
  6. package/dist/category/image/image.d.ts.map +1 -1
  7. package/dist/category/mesh/convert-mesh.d.ts +1 -1
  8. package/dist/category/mesh/convert-mesh.d.ts.map +1 -1
  9. package/dist/category/mesh/mesh-types.d.ts +4 -4
  10. package/dist/category/mesh/mesh-types.d.ts.map +1 -1
  11. package/dist/category/mesh/mesh-utils.d.ts +2 -2
  12. package/dist/category/mesh/mesh-utils.d.ts.map +1 -1
  13. package/dist/category/table/table-types.d.ts +8 -8
  14. package/dist/category/table/table-types.d.ts.map +1 -1
  15. package/dist/category/texture/texture.d.ts +3 -3
  16. package/dist/category/texture/texture.d.ts.map +1 -1
  17. package/dist/es5/bundle.js +0 -1
  18. package/dist/es5/bundle.js.map +1 -1
  19. package/dist/es5/category/common.js.map +1 -1
  20. package/dist/es5/category/gis.js.map +1 -1
  21. package/dist/es5/category/image/image.js.map +1 -1
  22. package/dist/es5/category/mesh/convert-mesh.js +2 -12
  23. package/dist/es5/category/mesh/convert-mesh.js.map +1 -1
  24. package/dist/es5/category/mesh/deduce-mesh-schema.js +1 -10
  25. package/dist/es5/category/mesh/deduce-mesh-schema.js.map +1 -1
  26. package/dist/es5/category/mesh/mesh-to-arrow-table.js +2 -9
  27. package/dist/es5/category/mesh/mesh-to-arrow-table.js.map +1 -1
  28. package/dist/es5/category/mesh/mesh-types.js.map +1 -1
  29. package/dist/es5/category/mesh/mesh-utils.js +1 -6
  30. package/dist/es5/category/mesh/mesh-utils.js.map +1 -1
  31. package/dist/es5/category/table/deduce-table-schema.js +0 -11
  32. package/dist/es5/category/table/deduce-table-schema.js.map +1 -1
  33. package/dist/es5/category/table/table-types.js.map +1 -1
  34. package/dist/es5/category/texture/texture.js.map +1 -1
  35. package/dist/es5/index.js +100 -112
  36. package/dist/es5/index.js.map +1 -1
  37. package/dist/es5/lib/arrow/arrow-like-type-utils.js +0 -10
  38. package/dist/es5/lib/arrow/arrow-like-type-utils.js.map +1 -1
  39. package/dist/es5/lib/arrow/arrow-type-utils.js +0 -19
  40. package/dist/es5/lib/arrow/arrow-type-utils.js.map +1 -1
  41. package/dist/es5/lib/arrow/get-type-info.js +0 -6
  42. package/dist/es5/lib/arrow/get-type-info.js.map +1 -1
  43. package/dist/es5/lib/batches/base-table-batch-aggregator.js +0 -13
  44. package/dist/es5/lib/batches/base-table-batch-aggregator.js.map +1 -1
  45. package/dist/es5/lib/batches/columnar-table-batch-aggregator.js +6 -23
  46. package/dist/es5/lib/batches/columnar-table-batch-aggregator.js.map +1 -1
  47. package/dist/es5/lib/batches/row-table-batch-aggregator.js +0 -13
  48. package/dist/es5/lib/batches/row-table-batch-aggregator.js.map +1 -1
  49. package/dist/es5/lib/batches/table-batch-aggregator.js.map +1 -1
  50. package/dist/es5/lib/batches/table-batch-builder.js +21 -37
  51. package/dist/es5/lib/batches/table-batch-builder.js.map +1 -1
  52. package/dist/es5/lib/schema/impl/enum.js +0 -1
  53. package/dist/es5/lib/schema/impl/enum.js.map +1 -1
  54. package/dist/es5/lib/schema/impl/field.js +0 -7
  55. package/dist/es5/lib/schema/impl/field.js.map +1 -1
  56. package/dist/es5/lib/schema/impl/schema.js +6 -35
  57. package/dist/es5/lib/schema/impl/schema.js.map +1 -1
  58. package/dist/es5/lib/schema/impl/type.js +74 -248
  59. package/dist/es5/lib/schema/impl/type.js.map +1 -1
  60. package/dist/es5/lib/schema/schema.js +70 -74
  61. package/dist/es5/lib/schema/schema.js.map +1 -1
  62. package/dist/es5/lib/schema-utils/deduce-column-type.js +0 -3
  63. package/dist/es5/lib/schema-utils/deduce-column-type.js.map +1 -1
  64. package/dist/es5/lib/utils/assert.js +0 -1
  65. package/dist/es5/lib/utils/assert.js.map +1 -1
  66. package/dist/es5/lib/utils/async-queue.js +10 -50
  67. package/dist/es5/lib/utils/async-queue.js.map +1 -1
  68. package/dist/es5/lib/utils/row-utils.js +1 -10
  69. package/dist/es5/lib/utils/row-utils.js.map +1 -1
  70. package/dist/es5/types.js.map +1 -1
  71. package/dist/esm/bundle.js +1 -1
  72. package/dist/esm/bundle.js.map +1 -1
  73. package/dist/esm/category/common.js.map +1 -1
  74. package/dist/esm/category/gis.js.map +1 -1
  75. package/dist/esm/category/image/image.js.map +1 -1
  76. package/dist/esm/category/mesh/convert-mesh.js +1 -5
  77. package/dist/esm/category/mesh/convert-mesh.js.map +1 -1
  78. package/dist/esm/category/mesh/deduce-mesh-schema.js +2 -6
  79. package/dist/esm/category/mesh/deduce-mesh-schema.js.map +1 -1
  80. package/dist/esm/category/mesh/mesh-to-arrow-table.js +1 -3
  81. package/dist/esm/category/mesh/mesh-to-arrow-table.js.map +1 -1
  82. package/dist/esm/category/mesh/mesh-types.js.map +1 -1
  83. package/dist/esm/category/mesh/mesh-utils.js +3 -5
  84. package/dist/esm/category/mesh/mesh-utils.js.map +1 -1
  85. package/dist/esm/category/table/deduce-table-schema.js +2 -11
  86. package/dist/esm/category/table/deduce-table-schema.js.map +1 -1
  87. package/dist/esm/category/table/table-types.js.map +1 -1
  88. package/dist/esm/category/texture/texture.js.map +1 -1
  89. package/dist/esm/index.js +5 -0
  90. package/dist/esm/index.js.map +1 -1
  91. package/dist/esm/lib/arrow/arrow-like-type-utils.js +0 -8
  92. package/dist/esm/lib/arrow/arrow-like-type-utils.js.map +1 -1
  93. package/dist/esm/lib/arrow/arrow-type-utils.js +0 -16
  94. package/dist/esm/lib/arrow/arrow-type-utils.js.map +1 -1
  95. package/dist/esm/lib/arrow/get-type-info.js +0 -3
  96. package/dist/esm/lib/arrow/get-type-info.js.map +1 -1
  97. package/dist/esm/lib/batches/base-table-batch-aggregator.js +0 -16
  98. package/dist/esm/lib/batches/base-table-batch-aggregator.js.map +1 -1
  99. package/dist/esm/lib/batches/columnar-table-batch-aggregator.js +0 -20
  100. package/dist/esm/lib/batches/columnar-table-batch-aggregator.js.map +1 -1
  101. package/dist/esm/lib/batches/row-table-batch-aggregator.js +0 -17
  102. package/dist/esm/lib/batches/row-table-batch-aggregator.js.map +1 -1
  103. package/dist/esm/lib/batches/table-batch-aggregator.js.map +1 -1
  104. package/dist/esm/lib/batches/table-batch-builder.js +4 -35
  105. package/dist/esm/lib/batches/table-batch-builder.js.map +1 -1
  106. package/dist/esm/lib/schema/impl/enum.js +2 -1
  107. package/dist/esm/lib/schema/impl/enum.js.map +1 -1
  108. package/dist/esm/lib/schema/impl/field.js +3 -10
  109. package/dist/esm/lib/schema/impl/field.js.map +1 -1
  110. package/dist/esm/lib/schema/impl/schema.js +9 -20
  111. package/dist/esm/lib/schema/impl/schema.js.map +1 -1
  112. package/dist/esm/lib/schema/impl/type.js +19 -113
  113. package/dist/esm/lib/schema/impl/type.js.map +1 -1
  114. package/dist/esm/lib/schema/schema.js +3 -1
  115. package/dist/esm/lib/schema/schema.js.map +1 -1
  116. package/dist/esm/lib/schema-utils/deduce-column-type.js +2 -2
  117. package/dist/esm/lib/schema-utils/deduce-column-type.js.map +1 -1
  118. package/dist/esm/lib/utils/assert.js +1 -0
  119. package/dist/esm/lib/utils/assert.js.map +1 -1
  120. package/dist/esm/lib/utils/async-queue.js +3 -25
  121. package/dist/esm/lib/utils/async-queue.js.map +1 -1
  122. package/dist/esm/lib/utils/row-utils.js +2 -8
  123. package/dist/esm/lib/utils/row-utils.js.map +1 -1
  124. package/dist/esm/types.js.map +1 -1
  125. package/dist/index.js +1 -1
  126. package/dist/lib/batches/columnar-table-batch-aggregator.d.ts +1 -1
  127. package/dist/lib/batches/columnar-table-batch-aggregator.d.ts.map +1 -1
  128. package/dist/lib/batches/row-table-batch-aggregator.js +1 -1
  129. package/dist/lib/batches/table-batch-builder.d.ts +2 -2
  130. package/dist/lib/batches/table-batch-builder.d.ts.map +1 -1
  131. package/dist/lib/schema/impl/schema.d.ts +1 -1
  132. package/dist/lib/schema/impl/schema.d.ts.map +1 -1
  133. package/dist/lib/schema/impl/type.d.ts +4 -4
  134. package/dist/lib/schema/impl/type.d.ts.map +1 -1
  135. package/dist/lib/schema-utils/deduce-column-type.js +1 -1
  136. package/dist/types.d.ts +4 -4
  137. package/dist/types.d.ts.map +1 -1
  138. 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, nullable = false, metadata = new Map()) {
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,"sources":["../../../../../src/lib/schema/impl/field.ts"],"names":["Field","constructor","name","type","nullable","metadata","Map","typeId","clone","compareTo","other","toString"],"mappings":";AAQA,eAAe,MAAMA,KAAN,CAAY;AAMzBC,EAAAA,WAAW,CACTC,IADS,EAETC,IAFS,EAGTC,QAAQ,GAAG,KAHF,EAITC,QAA6B,GAAG,IAAIC,GAAJ,EAJvB,EAKT;AAAA;;AAAA;;AAAA;;AAAA;;AACA,SAAKJ,IAAL,GAAYA,IAAZ;AACA,SAAKC,IAAL,GAAYA,IAAZ;AACA,SAAKC,QAAL,GAAgBA,QAAhB;AACA,SAAKC,QAAL,GAAgBA,QAAhB;AACD;;AAES,MAANE,MAAM,GAAW;AACnB,WAAO,KAAKJ,IAAL,IAAa,KAAKA,IAAL,CAAUI,MAA9B;AACD;;AAEDC,EAAAA,KAAK,GAAU;AACb,WAAO,IAAIR,KAAJ,CAAU,KAAKE,IAAf,EAAqB,KAAKC,IAA1B,EAAgC,KAAKC,QAArC,EAA+C,KAAKC,QAApD,CAAP;AACD;;AAEDI,EAAAA,SAAS,CAACC,KAAD,EAAuB;AAC9B,WACE,KAAKR,IAAL,KAAcQ,KAAK,CAACR,IAApB,IACA,KAAKC,IAAL,KAAcO,KAAK,CAACP,IADpB,IAEA,KAAKC,QAAL,KAAkBM,KAAK,CAACN,QAFxB,IAGA,KAAKC,QAAL,KAAkBK,KAAK,CAACL,QAJ1B;AAMD;;AAEDM,EAAAA,QAAQ,GAAW;AACjB,qBAAU,KAAKR,IAAf,SAAsB,KAAKC,QAAL,GAAgB,YAAhB,GAA+B,EAArD,SACE,KAAKC,QAAL,yBAA+B,KAAKA,QAApC,IAAiD,EADnD;AAGD;;AAvCwB","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"],"file":"field.js"}
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
- selectAt(...columnIndices) {
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,"sources":["../../../../../src/lib/schema/impl/schema.ts"],"names":["assert","Schema","constructor","fields","metadata","Array","isArray","checkNames","Map","compareTo","other","length","i","select","columnNames","nameMap","Object","create","name","selectedFields","filter","field","selectAt","columnIndices","map","index","Boolean","assign","schemaOrFields","otherSchema","mergeMaps","fieldMap","mergedFields","values","usedNames","console","warn","m1","m2"],"mappings":"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","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"],"file":"schema.js"}
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, timezone = null) {
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(timezone = null) {
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(timezone = null) {
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(timezone = null) {
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(timezone = null) {
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