@loaders.gl/schema 4.0.0-alpha.5 → 4.0.0-alpha.7
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/bundle.js +2 -2
- package/dist/dist.min.js +11362 -13932
- package/dist/es5/bundle.js +6 -0
- package/dist/es5/bundle.js.map +1 -0
- package/dist/es5/index.js +406 -0
- package/dist/es5/index.js.map +1 -0
- package/dist/es5/lib/mesh/convert-mesh.js +34 -0
- package/dist/es5/lib/mesh/convert-mesh.js.map +1 -0
- package/dist/es5/lib/mesh/deduce-mesh-schema.js +56 -0
- package/dist/es5/lib/mesh/deduce-mesh-schema.js.map +1 -0
- package/dist/es5/lib/mesh/mesh-to-arrow-table.js +2 -0
- package/dist/es5/lib/mesh/mesh-to-arrow-table.js.map +1 -0
- package/dist/es5/lib/mesh/mesh-utils.js +40 -0
- package/dist/es5/lib/mesh/mesh-utils.js.map +1 -0
- package/dist/es5/lib/table/arrow/arrow-type-utils.js +30 -0
- package/dist/es5/lib/table/arrow/arrow-type-utils.js.map +1 -0
- package/dist/es5/lib/table/arrow/convert-schema-arrow.js +179 -0
- package/dist/es5/lib/table/arrow/convert-schema-arrow.js.map +1 -0
- package/dist/es5/lib/table/arrow/convert-table-to-arrow.js +2 -0
- package/dist/es5/lib/table/arrow/convert-table-to-arrow.js.map +1 -0
- package/dist/es5/lib/table/arrow-api/arrow-like-field.js +49 -0
- package/dist/es5/lib/table/arrow-api/arrow-like-field.js.map +1 -0
- package/dist/es5/lib/table/arrow-api/arrow-like-schema.js +118 -0
- package/dist/es5/lib/table/arrow-api/arrow-like-schema.js.map +1 -0
- package/dist/es5/lib/table/arrow-api/arrow-like-table.js +80 -0
- package/dist/es5/lib/table/arrow-api/arrow-like-table.js.map +1 -0
- package/dist/es5/lib/table/arrow-api/arrow-like-type.js +740 -0
- package/dist/es5/lib/table/arrow-api/arrow-like-type.js.map +1 -0
- package/dist/es5/lib/table/arrow-api/enum.js +55 -0
- package/dist/es5/lib/table/arrow-api/enum.js.map +1 -0
- package/dist/es5/lib/table/arrow-api/get-type-info.js +27 -0
- package/dist/es5/lib/table/arrow-api/get-type-info.js.map +1 -0
- package/dist/es5/lib/table/arrow-api/index.js +44 -0
- package/dist/es5/lib/table/arrow-api/index.js.map +1 -0
- package/dist/es5/lib/table/batches/base-table-batch-aggregator.js +78 -0
- package/dist/es5/lib/table/batches/base-table-batch-aggregator.js.map +1 -0
- package/dist/es5/lib/table/batches/columnar-table-batch-aggregator.js +106 -0
- package/dist/es5/lib/table/batches/columnar-table-batch-aggregator.js.map +1 -0
- package/dist/es5/lib/table/batches/row-table-batch-aggregator.js +96 -0
- package/dist/es5/lib/table/batches/row-table-batch-aggregator.js.map +1 -0
- package/dist/es5/lib/table/batches/table-batch-aggregator.js +2 -0
- package/dist/es5/lib/table/batches/table-batch-aggregator.js.map +1 -0
- package/dist/es5/lib/table/batches/table-batch-builder.js +173 -0
- package/dist/es5/lib/table/batches/table-batch-builder.js.map +1 -0
- package/dist/es5/lib/table/simple-table/convert-table.js +82 -0
- package/dist/es5/lib/table/simple-table/convert-table.js.map +1 -0
- package/dist/es5/lib/table/simple-table/data-type.js +94 -0
- package/dist/es5/lib/table/simple-table/data-type.js.map +1 -0
- package/dist/es5/lib/table/simple-table/make-table.js +60 -0
- package/dist/es5/lib/table/simple-table/make-table.js.map +1 -0
- package/dist/es5/lib/table/simple-table/row-utils.js +34 -0
- package/dist/es5/lib/table/simple-table/row-utils.js.map +1 -0
- package/dist/es5/lib/table/simple-table/table-accessors.js +343 -0
- package/dist/es5/lib/table/simple-table/table-accessors.js.map +1 -0
- package/dist/es5/lib/table/simple-table/table-column.js +12 -0
- package/dist/es5/lib/table/simple-table/table-column.js.map +1 -0
- package/dist/es5/lib/table/simple-table/table-schema.js +85 -0
- package/dist/es5/lib/table/simple-table/table-schema.js.map +1 -0
- package/dist/es5/lib/utils/assert.js +12 -0
- package/dist/es5/lib/utils/assert.js.map +1 -0
- package/dist/es5/lib/utils/async-queue.js +169 -0
- package/dist/es5/lib/utils/async-queue.js.map +1 -0
- package/dist/es5/types/category-gis.js +2 -0
- package/dist/es5/types/category-gis.js.map +1 -0
- package/dist/es5/types/category-image.js +2 -0
- package/dist/es5/types/category-image.js.map +1 -0
- package/dist/es5/types/category-mesh.js +2 -0
- package/dist/es5/types/category-mesh.js.map +1 -0
- package/dist/es5/types/category-table.js +2 -0
- package/dist/es5/types/category-table.js.map +1 -0
- package/dist/es5/types/category-texture.js +2 -0
- package/dist/es5/types/category-texture.js.map +1 -0
- package/dist/es5/types/schema.js +2 -0
- package/dist/es5/types/schema.js.map +1 -0
- package/dist/es5/types/types.js +2 -0
- package/dist/es5/types/types.js.map +1 -0
- package/dist/esm/bundle.js +4 -0
- package/dist/esm/bundle.js.map +1 -0
- package/dist/esm/index.js +16 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/{category → esm/lib}/mesh/convert-mesh.js +0 -11
- package/dist/esm/lib/mesh/convert-mesh.js.map +1 -0
- package/dist/esm/lib/mesh/deduce-mesh-schema.js +48 -0
- package/dist/esm/lib/mesh/deduce-mesh-schema.js.map +1 -0
- package/dist/esm/lib/mesh/mesh-to-arrow-table.js +2 -0
- package/dist/esm/lib/mesh/mesh-to-arrow-table.js.map +1 -0
- package/dist/{category → esm/lib}/mesh/mesh-utils.js +0 -5
- package/dist/esm/lib/mesh/mesh-utils.js.map +1 -0
- package/dist/{lib/arrow/arrow-like-type-utils.js → esm/lib/table/arrow/arrow-type-utils.js} +3 -11
- package/dist/esm/lib/table/arrow/arrow-type-utils.js.map +1 -0
- package/dist/esm/lib/table/arrow/convert-schema-arrow.js +158 -0
- package/dist/esm/lib/table/arrow/convert-schema-arrow.js.map +1 -0
- package/dist/esm/lib/table/arrow/convert-table-to-arrow.js +2 -0
- package/dist/esm/lib/table/arrow/convert-table-to-arrow.js.map +1 -0
- package/dist/{lib/schema/impl/field.js → esm/lib/table/arrow-api/arrow-like-field.js} +6 -13
- package/dist/esm/lib/table/arrow-api/arrow-like-field.js.map +1 -0
- package/dist/{lib/schema/impl/schema.js → esm/lib/table/arrow-api/arrow-like-schema.js} +22 -47
- package/dist/esm/lib/table/arrow-api/arrow-like-schema.js.map +1 -0
- package/dist/esm/lib/table/arrow-api/arrow-like-table.js +51 -0
- package/dist/esm/lib/table/arrow-api/arrow-like-table.js.map +1 -0
- package/dist/{lib/schema/impl/type.js → esm/lib/table/arrow-api/arrow-like-type.js} +11 -116
- package/dist/esm/lib/table/arrow-api/arrow-like-type.js.map +1 -0
- package/dist/{lib/schema/impl → esm/lib/table/arrow-api}/enum.js +3 -4
- package/dist/esm/lib/table/arrow-api/enum.js.map +1 -0
- package/dist/{lib/arrow → esm/lib/table/arrow-api}/get-type-info.js +1 -4
- package/dist/esm/lib/table/arrow-api/get-type-info.js.map +1 -0
- package/dist/esm/lib/table/arrow-api/index.js +5 -0
- package/dist/esm/lib/table/arrow-api/index.js.map +1 -0
- package/dist/{lib → esm/lib/table}/batches/base-table-batch-aggregator.js +1 -18
- package/dist/esm/lib/table/batches/base-table-batch-aggregator.js.map +1 -0
- package/dist/{lib → esm/lib/table}/batches/columnar-table-batch-aggregator.js +1 -24
- package/dist/esm/lib/table/batches/columnar-table-batch-aggregator.js.map +1 -0
- package/dist/{lib → esm/lib/table}/batches/row-table-batch-aggregator.js +2 -22
- package/dist/esm/lib/table/batches/row-table-batch-aggregator.js.map +1 -0
- package/dist/esm/lib/table/batches/table-batch-aggregator.js.map +1 -0
- package/dist/{lib → esm/lib/table}/batches/table-batch-builder.js +6 -49
- package/dist/esm/lib/table/batches/table-batch-builder.js.map +1 -0
- package/dist/esm/lib/table/simple-table/convert-table.js +59 -0
- package/dist/esm/lib/table/simple-table/convert-table.js.map +1 -0
- package/dist/esm/lib/table/simple-table/data-type.js +85 -0
- package/dist/esm/lib/table/simple-table/data-type.js.map +1 -0
- package/dist/esm/lib/table/simple-table/make-table.js +50 -0
- package/dist/esm/lib/table/simple-table/make-table.js.map +1 -0
- package/dist/{lib/utils → esm/lib/table/simple-table}/row-utils.js +0 -8
- package/dist/esm/lib/table/simple-table/row-utils.js.map +1 -0
- package/dist/esm/lib/table/simple-table/table-accessors.js +262 -0
- package/dist/esm/lib/table/simple-table/table-accessors.js.map +1 -0
- package/dist/esm/lib/table/simple-table/table-column.js +6 -0
- package/dist/esm/lib/table/simple-table/table-column.js.map +1 -0
- package/dist/esm/lib/table/simple-table/table-schema.js +70 -0
- package/dist/esm/lib/table/simple-table/table-schema.js.map +1 -0
- package/dist/esm/lib/utils/assert.js +6 -0
- package/dist/esm/lib/utils/assert.js.map +1 -0
- package/dist/esm/lib/utils/async-queue.js +94 -0
- package/dist/esm/lib/utils/async-queue.js.map +1 -0
- package/dist/esm/types/category-gis.js +2 -0
- package/dist/esm/types/category-gis.js.map +1 -0
- package/dist/esm/types/category-image.js +2 -0
- package/dist/esm/types/category-image.js.map +1 -0
- package/dist/esm/types/category-mesh.js +2 -0
- package/dist/esm/types/category-mesh.js.map +1 -0
- package/dist/esm/types/category-table.js +2 -0
- package/dist/esm/types/category-table.js.map +1 -0
- package/dist/esm/types/category-texture.js +2 -0
- package/dist/esm/types/category-texture.js.map +1 -0
- package/dist/esm/types/schema.js +2 -0
- package/dist/esm/types/schema.js.map +1 -0
- package/dist/esm/types/types.js.map +1 -0
- package/dist/index.d.ts +27 -25
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +92 -13
- package/dist/{category → lib}/mesh/convert-mesh.d.ts +3 -3
- package/dist/lib/mesh/convert-mesh.d.ts.map +1 -0
- package/dist/lib/mesh/convert-mesh.js +40 -0
- package/dist/{category → lib}/mesh/deduce-mesh-schema.d.ts +5 -5
- package/dist/lib/mesh/deduce-mesh-schema.d.ts.map +1 -0
- package/dist/lib/mesh/deduce-mesh-schema.js +66 -0
- package/dist/lib/mesh/mesh-to-arrow-table.d.ts +1 -0
- package/dist/lib/mesh/mesh-to-arrow-table.d.ts.map +1 -0
- package/dist/lib/mesh/mesh-to-arrow-table.js +44 -0
- package/dist/{category → lib}/mesh/mesh-utils.d.ts +4 -4
- package/dist/lib/mesh/mesh-utils.d.ts.map +1 -0
- package/dist/lib/mesh/mesh-utils.js +51 -0
- package/dist/lib/table/arrow/arrow-type-utils.d.ts +4 -0
- package/dist/lib/table/arrow/arrow-type-utils.d.ts.map +1 -0
- package/dist/lib/table/arrow/arrow-type-utils.js +53 -0
- package/dist/lib/table/arrow/convert-schema-arrow.d.ts +13 -0
- package/dist/lib/table/arrow/convert-schema-arrow.d.ts.map +1 -0
- package/dist/lib/table/arrow/convert-schema-arrow.js +187 -0
- package/dist/lib/table/arrow/convert-table-to-arrow.d.ts +42 -0
- package/dist/lib/table/arrow/convert-table-to-arrow.d.ts.map +1 -0
- package/dist/lib/table/arrow/convert-table-to-arrow.js +57 -0
- package/dist/lib/{schema/impl/field.d.ts → table/arrow-api/arrow-like-field.d.ts} +4 -4
- package/dist/lib/table/arrow-api/arrow-like-field.d.ts.map +1 -0
- package/dist/lib/table/arrow-api/arrow-like-field.js +34 -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 +53 -0
- package/dist/lib/{schema/impl/type.d.ts → table/arrow-api/arrow-like-type.d.ts} +7 -6
- package/dist/lib/table/arrow-api/arrow-like-type.d.ts.map +1 -0
- package/dist/lib/table/arrow-api/arrow-like-type.js +463 -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/{arrow → table/arrow-api}/get-type-info.d.ts +2 -3
- package/dist/lib/table/arrow-api/get-type-info.d.ts.map +1 -0
- package/dist/lib/table/arrow-api/get-type-info.js +29 -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 +25 -0
- package/dist/lib/{batches → table/batches}/base-table-batch-aggregator.d.ts +3 -3
- package/dist/lib/table/batches/base-table-batch-aggregator.d.ts.map +1 -0
- package/dist/lib/table/batches/base-table-batch-aggregator.js +60 -0
- package/dist/lib/{batches → table/batches}/columnar-table-batch-aggregator.d.ts +4 -4
- package/dist/lib/table/batches/columnar-table-batch-aggregator.d.ts.map +1 -0
- package/dist/lib/table/batches/columnar-table-batch-aggregator.js +92 -0
- package/dist/lib/{batches → table/batches}/row-table-batch-aggregator.d.ts +3 -3
- package/dist/lib/table/batches/row-table-batch-aggregator.d.ts.map +1 -0
- package/dist/lib/table/batches/row-table-batch-aggregator.js +81 -0
- package/dist/lib/{batches → table/batches}/table-batch-aggregator.d.ts +2 -2
- package/dist/lib/table/batches/table-batch-aggregator.d.ts.map +1 -0
- package/dist/lib/table/batches/table-batch-aggregator.js +3 -0
- package/dist/lib/{batches → table/batches}/table-batch-builder.d.ts +5 -5
- package/dist/lib/table/batches/table-batch-builder.d.ts.map +1 -0
- package/dist/lib/table/batches/table-batch-builder.js +152 -0
- package/dist/lib/table/simple-table/convert-table.d.ts +8 -0
- package/dist/lib/table/simple-table/convert-table.d.ts.map +1 -0
- package/dist/lib/table/simple-table/convert-table.js +65 -0
- package/dist/lib/table/simple-table/data-type.d.ts +17 -0
- package/dist/lib/table/simple-table/data-type.d.ts.map +1 -0
- package/dist/lib/table/simple-table/data-type.js +93 -0
- package/dist/lib/table/simple-table/make-table.d.ts +65 -0
- package/dist/lib/table/simple-table/make-table.d.ts.map +1 -0
- package/dist/lib/table/simple-table/make-table.js +95 -0
- package/dist/lib/table/simple-table/row-utils.d.ts.map +1 -0
- package/dist/lib/table/simple-table/row-utils.js +33 -0
- package/dist/lib/table/simple-table/table-accessors.d.ts +67 -0
- package/dist/lib/table/simple-table/table-accessors.d.ts.map +1 -0
- package/dist/lib/table/simple-table/table-accessors.js +319 -0
- package/dist/lib/table/simple-table/table-column.d.ts +7 -0
- package/dist/lib/table/simple-table/table-column.d.ts.map +1 -0
- package/dist/lib/table/simple-table/table-column.js +41 -0
- package/dist/lib/table/simple-table/table-schema.d.ts +15 -0
- package/dist/lib/table/simple-table/table-schema.d.ts.map +1 -0
- package/dist/lib/table/simple-table/table-schema.js +85 -0
- package/dist/lib/utils/assert.js +11 -5
- package/dist/lib/utils/async-queue.js +82 -109
- package/dist/{category/gis.d.ts → types/category-gis.d.ts} +26 -26
- package/dist/types/category-gis.d.ts.map +1 -0
- package/dist/types/category-gis.js +2 -0
- package/dist/{category/image/image.d.ts → types/category-image.d.ts} +4 -4
- package/dist/types/category-image.d.ts.map +1 -0
- package/dist/types/category-image.js +2 -0
- package/dist/{category/mesh/mesh-types.d.ts → types/category-mesh.d.ts} +8 -10
- package/dist/types/category-mesh.d.ts.map +1 -0
- package/dist/types/category-mesh.js +3 -0
- package/dist/{category/table/table-types.d.ts → types/category-table.d.ts} +44 -34
- package/dist/types/category-table.d.ts.map +1 -0
- package/dist/types/category-table.js +3 -0
- package/dist/types/category-texture.d.ts +18 -0
- package/dist/types/category-texture.d.ts.map +1 -0
- package/dist/types/category-texture.js +3 -0
- package/dist/types/schema.d.ts +77 -0
- package/dist/types/schema.d.ts.map +1 -0
- package/dist/types/schema.js +3 -0
- package/dist/types/types.d.ts +15 -0
- package/dist/types/types.d.ts.map +1 -0
- package/dist/types/types.js +2 -0
- package/package.json +5 -6
- package/src/index.ts +65 -31
- package/src/{category → lib}/mesh/convert-mesh.ts +10 -8
- package/src/{category → lib}/mesh/deduce-mesh-schema.ts +20 -19
- package/src/{category → lib}/mesh/mesh-to-arrow-table.ts +5 -3
- package/src/{category → lib}/mesh/mesh-utils.ts +2 -2
- package/src/lib/{arrow → table/arrow}/arrow-type-utils.ts +16 -12
- package/src/lib/table/arrow/convert-schema-arrow.ts +232 -0
- package/src/lib/table/arrow/convert-table-to-arrow.ts +59 -0
- package/src/lib/{schema/impl/field.ts → table/arrow-api/arrow-like-field.ts} +6 -4
- package/src/lib/table/arrow-api/arrow-like-schema.ts +99 -0
- package/src/lib/table/arrow-api/arrow-like-table.ts +83 -0
- package/src/lib/{schema/impl/type.ts → table/arrow-api/arrow-like-type.ts} +2 -1
- package/src/lib/{arrow → table/arrow-api}/get-type-info.ts +4 -3
- package/src/lib/table/arrow-api/index.ts +6 -0
- package/src/lib/{batches → table/batches}/base-table-batch-aggregator.ts +5 -3
- package/src/lib/{batches → table/batches}/columnar-table-batch-aggregator.ts +5 -3
- package/src/lib/{batches → table/batches}/row-table-batch-aggregator.ts +6 -4
- package/src/lib/{batches → table/batches}/table-batch-aggregator.ts +4 -2
- package/src/lib/{batches → table/batches}/table-batch-builder.ts +8 -6
- package/src/lib/table/simple-table/convert-table.ts +72 -0
- package/src/lib/table/simple-table/data-type.ts +102 -0
- package/src/lib/table/simple-table/make-table.ts +108 -0
- package/src/lib/table/simple-table/table-accessors.ts +360 -0
- package/src/lib/table/simple-table/table-column.ts +47 -0
- package/src/lib/table/simple-table/table-schema.ts +97 -0
- package/src/{category/gis.ts → types/category-gis.ts} +9 -2
- package/src/{category/mesh/mesh-types.ts → types/category-mesh.ts} +6 -4
- package/src/types/category-table.ts +104 -0
- package/src/{category/texture/texture.ts → types/category-texture.ts} +3 -1
- package/src/types/schema.ts +97 -0
- package/src/types/types.ts +43 -0
- package/dist/bundle.js.map +0 -1
- package/dist/category/common.d.ts +0 -19
- package/dist/category/common.d.ts.map +0 -1
- package/dist/category/common.js +0 -2
- package/dist/category/common.js.map +0 -1
- package/dist/category/gis.d.ts.map +0 -1
- package/dist/category/gis.js +0 -2
- package/dist/category/gis.js.map +0 -1
- package/dist/category/image/image.d.ts.map +0 -1
- package/dist/category/image/image.js +0 -2
- package/dist/category/image/image.js.map +0 -1
- package/dist/category/mesh/convert-mesh.d.ts.map +0 -1
- package/dist/category/mesh/convert-mesh.js.map +0 -1
- package/dist/category/mesh/deduce-mesh-schema.d.ts.map +0 -1
- package/dist/category/mesh/deduce-mesh-schema.js +0 -42
- package/dist/category/mesh/deduce-mesh-schema.js.map +0 -1
- package/dist/category/mesh/mesh-to-arrow-table.d.ts +0 -11
- package/dist/category/mesh/mesh-to-arrow-table.d.ts.map +0 -1
- package/dist/category/mesh/mesh-to-arrow-table.js +0 -31
- package/dist/category/mesh/mesh-to-arrow-table.js.map +0 -1
- package/dist/category/mesh/mesh-types.d.ts.map +0 -1
- package/dist/category/mesh/mesh-types.js +0 -2
- package/dist/category/mesh/mesh-types.js.map +0 -1
- package/dist/category/mesh/mesh-utils.d.ts.map +0 -1
- package/dist/category/mesh/mesh-utils.js.map +0 -1
- package/dist/category/table/deduce-table-schema.d.ts +0 -9
- package/dist/category/table/deduce-table-schema.d.ts.map +0 -1
- package/dist/category/table/deduce-table-schema.js +0 -51
- package/dist/category/table/deduce-table-schema.js.map +0 -1
- package/dist/category/table/table-types.d.ts.map +0 -1
- package/dist/category/table/table-types.js +0 -2
- package/dist/category/table/table-types.js.map +0 -1
- package/dist/category/texture/texture.d.ts +0 -18
- package/dist/category/texture/texture.d.ts.map +0 -1
- package/dist/category/texture/texture.js +0 -2
- package/dist/category/texture/texture.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/lib/arrow/arrow-like-type-utils.d.ts +0 -4
- package/dist/lib/arrow/arrow-like-type-utils.d.ts.map +0 -1
- package/dist/lib/arrow/arrow-like-type-utils.js.map +0 -1
- package/dist/lib/arrow/arrow-type-utils.d.ts +0 -6
- package/dist/lib/arrow/arrow-type-utils.d.ts.map +0 -1
- package/dist/lib/arrow/arrow-type-utils.js +0 -62
- package/dist/lib/arrow/arrow-type-utils.js.map +0 -1
- package/dist/lib/arrow/get-type-info.d.ts.map +0 -1
- package/dist/lib/arrow/get-type-info.js.map +0 -1
- package/dist/lib/batches/base-table-batch-aggregator.d.ts.map +0 -1
- package/dist/lib/batches/base-table-batch-aggregator.js.map +0 -1
- package/dist/lib/batches/columnar-table-batch-aggregator.d.ts.map +0 -1
- package/dist/lib/batches/columnar-table-batch-aggregator.js.map +0 -1
- package/dist/lib/batches/row-table-batch-aggregator.d.ts.map +0 -1
- package/dist/lib/batches/row-table-batch-aggregator.js.map +0 -1
- package/dist/lib/batches/table-batch-aggregator.d.ts.map +0 -1
- package/dist/lib/batches/table-batch-aggregator.js.map +0 -1
- package/dist/lib/batches/table-batch-builder.d.ts.map +0 -1
- package/dist/lib/batches/table-batch-builder.js.map +0 -1
- package/dist/lib/schema/impl/enum.d.ts.map +0 -1
- package/dist/lib/schema/impl/enum.js.map +0 -1
- package/dist/lib/schema/impl/field.d.ts.map +0 -1
- package/dist/lib/schema/impl/field.js.map +0 -1
- package/dist/lib/schema/impl/schema.d.ts +0 -16
- package/dist/lib/schema/impl/schema.d.ts.map +0 -1
- package/dist/lib/schema/impl/schema.js.map +0 -1
- package/dist/lib/schema/impl/type.d.ts.map +0 -1
- package/dist/lib/schema/impl/type.js.map +0 -1
- package/dist/lib/schema/schema.d.ts +0 -5
- package/dist/lib/schema/schema.d.ts.map +0 -1
- package/dist/lib/schema/schema.js +0 -5
- package/dist/lib/schema/schema.js.map +0 -1
- package/dist/lib/schema-utils/deduce-column-type.d.ts +0 -3
- package/dist/lib/schema-utils/deduce-column-type.d.ts.map +0 -1
- package/dist/lib/schema-utils/deduce-column-type.js +0 -23
- package/dist/lib/schema-utils/deduce-column-type.js.map +0 -1
- package/dist/lib/utils/assert.js.map +0 -1
- package/dist/lib/utils/async-queue.js.map +0 -1
- package/dist/lib/utils/row-utils.d.ts.map +0 -1
- package/dist/lib/utils/row-utils.js.map +0 -1
- package/dist/types.d.ts +0 -8
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js.map +0 -1
- package/src/category/common.ts +0 -30
- package/src/category/table/deduce-table-schema.ts +0 -123
- package/src/category/table/table-types.ts +0 -81
- package/src/lib/arrow/arrow-like-type-utils.ts +0 -35
- package/src/lib/schema/impl/schema.ts +0 -99
- package/src/lib/schema/schema.ts +0 -82
- package/src/lib/schema-utils/deduce-column-type.ts +0 -92
- package/src/types.ts +0 -19
- /package/dist/{lib → esm/lib/table}/batches/table-batch-aggregator.js +0 -0
- /package/dist/{types.js → esm/types/types.js} +0 -0
- /package/dist/lib/{schema/impl → table/arrow-api}/enum.d.ts +0 -0
- /package/dist/lib/{utils → table/simple-table}/row-utils.d.ts +0 -0
- /package/src/lib/{schema/impl → table/arrow-api}/enum.ts +0 -0
- /package/src/lib/{utils → table/simple-table}/row-utils.ts +0 -0
- /package/src/{category/image/image.ts → types/category-image.ts} +0 -0
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.TableBatchBuilder = void 0;
|
|
8
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
9
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
10
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
+
var _baseTableBatchAggregator = require("./base-table-batch-aggregator");
|
|
12
|
+
var _rowTableBatchAggregator = require("./row-table-batch-aggregator");
|
|
13
|
+
var _columnarTableBatchAggregator = require("./columnar-table-batch-aggregator");
|
|
14
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
15
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
16
|
+
var DEFAULT_OPTIONS = {
|
|
17
|
+
shape: 'array-row-table',
|
|
18
|
+
batchSize: 'auto',
|
|
19
|
+
batchDebounceMs: 0,
|
|
20
|
+
limit: 0,
|
|
21
|
+
_limitMB: 0
|
|
22
|
+
};
|
|
23
|
+
var ERR_MESSAGE = 'TableBatchBuilder';
|
|
24
|
+
var TableBatchBuilder = function () {
|
|
25
|
+
function TableBatchBuilder(schema, options) {
|
|
26
|
+
(0, _classCallCheck2.default)(this, TableBatchBuilder);
|
|
27
|
+
(0, _defineProperty2.default)(this, "schema", void 0);
|
|
28
|
+
(0, _defineProperty2.default)(this, "options", void 0);
|
|
29
|
+
(0, _defineProperty2.default)(this, "aggregator", null);
|
|
30
|
+
(0, _defineProperty2.default)(this, "batchCount", 0);
|
|
31
|
+
(0, _defineProperty2.default)(this, "bytesUsed", 0);
|
|
32
|
+
(0, _defineProperty2.default)(this, "isChunkComplete", false);
|
|
33
|
+
(0, _defineProperty2.default)(this, "lastBatchEmittedMs", Date.now());
|
|
34
|
+
(0, _defineProperty2.default)(this, "totalLength", 0);
|
|
35
|
+
(0, _defineProperty2.default)(this, "totalBytes", 0);
|
|
36
|
+
(0, _defineProperty2.default)(this, "rowBytes", 0);
|
|
37
|
+
this.schema = schema;
|
|
38
|
+
this.options = _objectSpread(_objectSpread({}, DEFAULT_OPTIONS), options);
|
|
39
|
+
}
|
|
40
|
+
(0, _createClass2.default)(TableBatchBuilder, [{
|
|
41
|
+
key: "limitReached",
|
|
42
|
+
value: function limitReached() {
|
|
43
|
+
var _this$options, _this$options2;
|
|
44
|
+
if (Boolean((_this$options = this.options) === null || _this$options === void 0 ? void 0 : _this$options.limit) && this.totalLength >= this.options.limit) {
|
|
45
|
+
return true;
|
|
46
|
+
}
|
|
47
|
+
if (Boolean((_this$options2 = this.options) === null || _this$options2 === void 0 ? void 0 : _this$options2._limitMB) && this.totalBytes / 1e6 >= this.options._limitMB) {
|
|
48
|
+
return true;
|
|
49
|
+
}
|
|
50
|
+
return false;
|
|
51
|
+
}
|
|
52
|
+
}, {
|
|
53
|
+
key: "addRow",
|
|
54
|
+
value: function addRow(row) {
|
|
55
|
+
if (this.limitReached()) {
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
this.totalLength++;
|
|
59
|
+
this.rowBytes = this.rowBytes || this._estimateRowMB(row);
|
|
60
|
+
this.totalBytes += this.rowBytes;
|
|
61
|
+
if (Array.isArray(row)) {
|
|
62
|
+
this.addArrayRow(row);
|
|
63
|
+
} else {
|
|
64
|
+
this.addObjectRow(row);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}, {
|
|
68
|
+
key: "addArrayRow",
|
|
69
|
+
value: function addArrayRow(row) {
|
|
70
|
+
if (!this.aggregator) {
|
|
71
|
+
var TableBatchType = this._getTableBatchType();
|
|
72
|
+
this.aggregator = new TableBatchType(this.schema, this.options);
|
|
73
|
+
}
|
|
74
|
+
this.aggregator.addArrayRow(row);
|
|
75
|
+
}
|
|
76
|
+
}, {
|
|
77
|
+
key: "addObjectRow",
|
|
78
|
+
value: function addObjectRow(row) {
|
|
79
|
+
if (!this.aggregator) {
|
|
80
|
+
var TableBatchType = this._getTableBatchType();
|
|
81
|
+
this.aggregator = new TableBatchType(this.schema, this.options);
|
|
82
|
+
}
|
|
83
|
+
this.aggregator.addObjectRow(row);
|
|
84
|
+
}
|
|
85
|
+
}, {
|
|
86
|
+
key: "chunkComplete",
|
|
87
|
+
value: function chunkComplete(chunk) {
|
|
88
|
+
if (chunk instanceof ArrayBuffer) {
|
|
89
|
+
this.bytesUsed += chunk.byteLength;
|
|
90
|
+
}
|
|
91
|
+
if (typeof chunk === 'string') {
|
|
92
|
+
this.bytesUsed += chunk.length;
|
|
93
|
+
}
|
|
94
|
+
this.isChunkComplete = true;
|
|
95
|
+
}
|
|
96
|
+
}, {
|
|
97
|
+
key: "getFullBatch",
|
|
98
|
+
value: function getFullBatch(options) {
|
|
99
|
+
return this._isFull() ? this._getBatch(options) : null;
|
|
100
|
+
}
|
|
101
|
+
}, {
|
|
102
|
+
key: "getFinalBatch",
|
|
103
|
+
value: function getFinalBatch(options) {
|
|
104
|
+
return this._getBatch(options);
|
|
105
|
+
}
|
|
106
|
+
}, {
|
|
107
|
+
key: "_estimateRowMB",
|
|
108
|
+
value: function _estimateRowMB(row) {
|
|
109
|
+
return Array.isArray(row) ? row.length * 8 : Object.keys(row).length * 8;
|
|
110
|
+
}
|
|
111
|
+
}, {
|
|
112
|
+
key: "_isFull",
|
|
113
|
+
value: function _isFull() {
|
|
114
|
+
if (!this.aggregator || this.aggregator.rowCount() === 0) {
|
|
115
|
+
return false;
|
|
116
|
+
}
|
|
117
|
+
if (this.options.batchSize === 'auto') {
|
|
118
|
+
if (!this.isChunkComplete) {
|
|
119
|
+
return false;
|
|
120
|
+
}
|
|
121
|
+
} else if (this.options.batchSize > this.aggregator.rowCount()) {
|
|
122
|
+
return false;
|
|
123
|
+
}
|
|
124
|
+
if (this.options.batchDebounceMs > Date.now() - this.lastBatchEmittedMs) {
|
|
125
|
+
return false;
|
|
126
|
+
}
|
|
127
|
+
this.isChunkComplete = false;
|
|
128
|
+
this.lastBatchEmittedMs = Date.now();
|
|
129
|
+
return true;
|
|
130
|
+
}
|
|
131
|
+
}, {
|
|
132
|
+
key: "_getBatch",
|
|
133
|
+
value: function _getBatch(options) {
|
|
134
|
+
if (!this.aggregator) {
|
|
135
|
+
return null;
|
|
136
|
+
}
|
|
137
|
+
if (options !== null && options !== void 0 && options.bytesUsed) {
|
|
138
|
+
this.bytesUsed = options.bytesUsed;
|
|
139
|
+
}
|
|
140
|
+
var normalizedBatch = this.aggregator.getBatch();
|
|
141
|
+
normalizedBatch.count = this.batchCount;
|
|
142
|
+
normalizedBatch.bytesUsed = this.bytesUsed;
|
|
143
|
+
Object.assign(normalizedBatch, options);
|
|
144
|
+
this.batchCount++;
|
|
145
|
+
this.aggregator = null;
|
|
146
|
+
return normalizedBatch;
|
|
147
|
+
}
|
|
148
|
+
}, {
|
|
149
|
+
key: "_getTableBatchType",
|
|
150
|
+
value: function _getTableBatchType() {
|
|
151
|
+
switch (this.options.shape) {
|
|
152
|
+
case 'row-table':
|
|
153
|
+
return _baseTableBatchAggregator.BaseTableBatchAggregator;
|
|
154
|
+
case 'array-row-table':
|
|
155
|
+
case 'object-row-table':
|
|
156
|
+
return _rowTableBatchAggregator.RowTableBatchAggregator;
|
|
157
|
+
case 'columnar-table':
|
|
158
|
+
return _columnarTableBatchAggregator.ColumnarTableBatchAggregator;
|
|
159
|
+
case 'arrow-table':
|
|
160
|
+
if (!TableBatchBuilder.ArrowBatch) {
|
|
161
|
+
throw new Error(ERR_MESSAGE);
|
|
162
|
+
}
|
|
163
|
+
return TableBatchBuilder.ArrowBatch;
|
|
164
|
+
default:
|
|
165
|
+
throw new Error(ERR_MESSAGE);
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
}]);
|
|
169
|
+
return TableBatchBuilder;
|
|
170
|
+
}();
|
|
171
|
+
exports.TableBatchBuilder = TableBatchBuilder;
|
|
172
|
+
(0, _defineProperty2.default)(TableBatchBuilder, "ArrowBatch", void 0);
|
|
173
|
+
//# sourceMappingURL=table-batch-builder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table-batch-builder.js","names":["_baseTableBatchAggregator","require","_rowTableBatchAggregator","_columnarTableBatchAggregator","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","DEFAULT_OPTIONS","shape","batchSize","batchDebounceMs","limit","_limitMB","ERR_MESSAGE","TableBatchBuilder","schema","options","_classCallCheck2","Date","now","_createClass2","value","limitReached","_this$options","_this$options2","Boolean","totalLength","totalBytes","addRow","row","rowBytes","_estimateRowMB","Array","isArray","addArrayRow","addObjectRow","aggregator","TableBatchType","_getTableBatchType","chunkComplete","chunk","ArrayBuffer","bytesUsed","byteLength","isChunkComplete","getFullBatch","_isFull","_getBatch","getFinalBatch","rowCount","lastBatchEmittedMs","normalizedBatch","getBatch","count","batchCount","assign","BaseTableBatchAggregator","RowTableBatchAggregator","ColumnarTableBatchAggregator","ArrowBatch","Error","exports"],"sources":["../../../../../src/lib/table/batches/table-batch-builder.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport type {Schema} from '../../../types/schema';\nimport type {TableBatch} from '../../../types/category-table';\nimport type {TableBatchAggregator, TableBatchConstructor} from './table-batch-aggregator';\nimport {BaseTableBatchAggregator} from './base-table-batch-aggregator';\nimport {RowTableBatchAggregator} from './row-table-batch-aggregator';\nimport {ColumnarTableBatchAggregator} from './columnar-table-batch-aggregator';\n\n// TODO define interface instead\ntype TableBatchBuilderOptions = {\n shape: 'row-table' | 'array-row-table' | 'object-row-table' | 'columnar-table' | 'arrow-table';\n batchSize?: number | 'auto';\n batchDebounceMs?: number;\n limit: number;\n _limitMB: number;\n};\n\ntype GetBatchOptions = {\n bytesUsed?: number;\n [key: string]: any;\n};\n\nconst DEFAULT_OPTIONS: Required<TableBatchBuilderOptions> = {\n shape: 'array-row-table',\n batchSize: 'auto',\n batchDebounceMs: 0,\n limit: 0,\n _limitMB: 0\n};\n\nconst ERR_MESSAGE = 'TableBatchBuilder';\n\n/** Incrementally builds batches from a stream of rows */\nexport class TableBatchBuilder {\n schema: Schema;\n options: Required<TableBatchBuilderOptions>;\n\n private aggregator: TableBatchAggregator | null = null;\n private batchCount: number = 0;\n private bytesUsed: number = 0;\n private isChunkComplete: boolean = false;\n private lastBatchEmittedMs: number = Date.now();\n private totalLength: number = 0;\n private totalBytes: number = 0;\n private rowBytes: number = 0;\n\n static ArrowBatch?: TableBatchConstructor;\n\n constructor(schema: Schema, options?: TableBatchBuilderOptions) {\n this.schema = schema;\n this.options = {...DEFAULT_OPTIONS, ...options};\n }\n\n limitReached(): boolean {\n if (Boolean(this.options?.limit) && this.totalLength >= this.options.limit) {\n return true;\n }\n if (Boolean(this.options?._limitMB) && this.totalBytes / 1e6 >= this.options._limitMB) {\n return true;\n }\n return false;\n }\n\n /** @deprecated Use addArrayRow or addObjectRow */\n addRow(row: any[] | {[columnName: string]: any}): void {\n if (this.limitReached()) {\n return;\n }\n this.totalLength++;\n this.rowBytes = this.rowBytes || this._estimateRowMB(row);\n this.totalBytes += this.rowBytes;\n if (Array.isArray(row)) {\n this.addArrayRow(row);\n } else {\n this.addObjectRow(row);\n }\n }\n\n /** Add one row to the batch */\n protected addArrayRow(row: any[]) {\n if (!this.aggregator) {\n const TableBatchType = this._getTableBatchType();\n this.aggregator = new TableBatchType(this.schema, this.options);\n }\n this.aggregator.addArrayRow(row);\n }\n\n /** Add one row to the batch */\n protected addObjectRow(row: {[columnName: string]: any}): void {\n if (!this.aggregator) {\n const TableBatchType = this._getTableBatchType();\n this.aggregator = new TableBatchType(this.schema, this.options);\n }\n this.aggregator.addObjectRow(row);\n }\n\n /** Mark an incoming raw memory chunk has completed */\n chunkComplete(chunk: ArrayBuffer | string): void {\n if (chunk instanceof ArrayBuffer) {\n this.bytesUsed += chunk.byteLength;\n }\n if (typeof chunk === 'string') {\n this.bytesUsed += chunk.length;\n }\n this.isChunkComplete = true;\n }\n\n getFullBatch(options?: GetBatchOptions): TableBatch | null {\n return this._isFull() ? this._getBatch(options) : null;\n }\n\n getFinalBatch(options?: GetBatchOptions): TableBatch | null {\n return this._getBatch(options);\n }\n\n // INTERNAL\n\n _estimateRowMB(row: any[] | object): number {\n return Array.isArray(row) ? row.length * 8 : Object.keys(row).length * 8;\n }\n\n private _isFull(): boolean {\n // No batch, not ready\n if (!this.aggregator || this.aggregator.rowCount() === 0) {\n return false;\n }\n\n // if batchSize === 'auto' we wait for chunk to complete\n // if batchSize === number, ensure we have enough rows\n if (this.options.batchSize === 'auto') {\n if (!this.isChunkComplete) {\n return false;\n }\n } else if (this.options.batchSize > this.aggregator.rowCount()) {\n return false;\n }\n\n // Debounce batches\n if (this.options.batchDebounceMs > Date.now() - this.lastBatchEmittedMs) {\n return false;\n }\n\n // Emit batch\n this.isChunkComplete = false;\n this.lastBatchEmittedMs = Date.now();\n return true;\n }\n\n /**\n * bytesUsed can be set via chunkComplete or via getBatch*\n */\n private _getBatch(options?: GetBatchOptions): TableBatch | null {\n if (!this.aggregator) {\n return null;\n }\n\n // TODO - this can overly increment bytes used?\n if (options?.bytesUsed) {\n this.bytesUsed = options.bytesUsed;\n }\n const normalizedBatch = this.aggregator.getBatch() as TableBatch;\n normalizedBatch.count = this.batchCount;\n normalizedBatch.bytesUsed = this.bytesUsed;\n Object.assign(normalizedBatch, options);\n\n this.batchCount++;\n this.aggregator = null;\n return normalizedBatch;\n }\n\n private _getTableBatchType(): TableBatchConstructor {\n switch (this.options.shape) {\n case 'row-table':\n return BaseTableBatchAggregator;\n case 'array-row-table':\n case 'object-row-table':\n return RowTableBatchAggregator;\n case 'columnar-table':\n return ColumnarTableBatchAggregator;\n case 'arrow-table':\n if (!TableBatchBuilder.ArrowBatch) {\n throw new Error(ERR_MESSAGE);\n }\n return TableBatchBuilder.ArrowBatch;\n default:\n throw new Error(ERR_MESSAGE);\n }\n }\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.makeArrayRowTable = makeArrayRowTable;
|
|
8
|
+
exports.makeColumnarTable = makeColumnarTable;
|
|
9
|
+
exports.makeObjectRowTable = makeObjectRowTable;
|
|
10
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
+
var _tableAccessors = require("./table-accessors");
|
|
12
|
+
var _tableSchema = require("./table-schema");
|
|
13
|
+
var _tableColumn = require("./table-column");
|
|
14
|
+
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
|
15
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
16
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
17
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
18
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
19
|
+
function makeColumnarTable(table) {
|
|
20
|
+
var _table$schema;
|
|
21
|
+
var schema = table.schema || (0, _tableSchema.deduceTableSchema)(table);
|
|
22
|
+
var fields = ((_table$schema = table.schema) === null || _table$schema === void 0 ? void 0 : _table$schema.fields) || [];
|
|
23
|
+
if (table.shape === 'columnar-table') {
|
|
24
|
+
return _objectSpread(_objectSpread({}, table), {}, {
|
|
25
|
+
schema: schema
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
var length = (0, _tableAccessors.getTableLength)(table);
|
|
29
|
+
var columns = {};
|
|
30
|
+
var _iterator = _createForOfIteratorHelper(fields),
|
|
31
|
+
_step;
|
|
32
|
+
try {
|
|
33
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
34
|
+
var field = _step.value;
|
|
35
|
+
var _column = (0, _tableColumn.makeColumnFromField)(field, length);
|
|
36
|
+
columns[field.name] = _column;
|
|
37
|
+
for (var rowIndex = 0; rowIndex < length; rowIndex++) {
|
|
38
|
+
_column[rowIndex] = (0, _tableAccessors.getTableCell)(table, rowIndex, field.name);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
} catch (err) {
|
|
42
|
+
_iterator.e(err);
|
|
43
|
+
} finally {
|
|
44
|
+
_iterator.f();
|
|
45
|
+
}
|
|
46
|
+
return {
|
|
47
|
+
shape: 'columnar-table',
|
|
48
|
+
schema: schema,
|
|
49
|
+
data: columns
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
function makeArrayRowTable(table) {
|
|
53
|
+
if (table.shape === 'array-row-table') {
|
|
54
|
+
return table;
|
|
55
|
+
}
|
|
56
|
+
var length = (0, _tableAccessors.getTableLength)(table);
|
|
57
|
+
var data = new Array(length);
|
|
58
|
+
for (var rowIndex = 0; rowIndex < length; rowIndex++) {
|
|
59
|
+
data[rowIndex] = (0, _tableAccessors.getTableRowAsArray)(table, rowIndex);
|
|
60
|
+
}
|
|
61
|
+
return {
|
|
62
|
+
shape: 'array-row-table',
|
|
63
|
+
schema: table.schema,
|
|
64
|
+
data: data
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
function makeObjectRowTable(table) {
|
|
68
|
+
if (table.shape === 'object-row-table') {
|
|
69
|
+
return table;
|
|
70
|
+
}
|
|
71
|
+
var length = (0, _tableAccessors.getTableLength)(table);
|
|
72
|
+
var data = new Array(length);
|
|
73
|
+
for (var rowIndex = 0; rowIndex < length; rowIndex++) {
|
|
74
|
+
data[rowIndex] = (0, _tableAccessors.getTableRowAsObject)(table, rowIndex);
|
|
75
|
+
}
|
|
76
|
+
return {
|
|
77
|
+
shape: 'object-row-table',
|
|
78
|
+
schema: table.schema,
|
|
79
|
+
data: data
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=convert-table.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"convert-table.js","names":["_tableAccessors","require","_tableSchema","_tableColumn","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","i","F","s","n","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","call","step","next","_e2","return","minLen","_arrayLikeToArray","Object","prototype","toString","slice","constructor","name","from","test","arr","len","arr2","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","arguments","source","forEach","key","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","makeColumnarTable","table","_table$schema","schema","deduceTableSchema","fields","shape","getTableLength","columns","_iterator","_step","field","column","makeColumnFromField","rowIndex","getTableCell","data","makeArrayRowTable","getTableRowAsArray","makeObjectRowTable","getTableRowAsObject"],"sources":["../../../../../src/lib/table/simple-table/convert-table.ts"],"sourcesContent":["// loaders.gl, MIT license\nimport {\n getTableCell,\n getTableLength,\n getTableRowAsArray,\n getTableRowAsObject\n} from './table-accessors';\nimport {Table, ArrayRowTable, ObjectRowTable, ColumnarTable} from '../../../types/category-table';\nimport {deduceTableSchema} from './table-schema';\nimport {makeColumnFromField} from './table-column';\n\n/** Convert any simple table into columnar format */\nexport function makeColumnarTable(table: Table): ColumnarTable {\n // TODO - should schema really be optional?\n const schema = table.schema || deduceTableSchema(table);\n const fields = table.schema?.fields || [];\n\n if (table.shape === 'columnar-table') {\n return {...table, schema};\n }\n\n const length = getTableLength(table);\n\n const columns: {[column: string]: ArrayLike<unknown>} = {};\n for (const field of fields) {\n const column = makeColumnFromField(field, length);\n columns[field.name] = column;\n for (let rowIndex = 0; rowIndex < length; rowIndex++) {\n column[rowIndex] = getTableCell(table, rowIndex, field.name);\n }\n }\n\n return {\n shape: 'columnar-table',\n schema,\n data: columns\n };\n}\n\n/** Convert any table into array row format */\nexport function makeArrayRowTable(table: Table): ArrayRowTable {\n if (table.shape === 'array-row-table') {\n return table;\n }\n const length = getTableLength(table);\n const data = new Array<unknown[]>(length);\n for (let rowIndex = 0; rowIndex < length; rowIndex++) {\n data[rowIndex] = getTableRowAsArray(table, rowIndex);\n }\n return {\n shape: 'array-row-table',\n schema: table.schema,\n data\n };\n}\n\n/** Convert any table into object row format */\nexport function makeObjectRowTable(table: Table): ObjectRowTable {\n if (table.shape === 'object-row-table') {\n return table;\n }\n const length = getTableLength(table);\n const data = new Array<{[key: string]: unknown}>(length);\n for (let rowIndex = 0; rowIndex < length; rowIndex++) {\n data[rowIndex] = getTableRowAsObject(table, rowIndex);\n }\n return {\n shape: 'object-row-table',\n schema: table.schema,\n data\n };\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getArrayTypeFromDataType = getArrayTypeFromDataType;
|
|
7
|
+
exports.getDataTypeFromArray = getDataTypeFromArray;
|
|
8
|
+
exports.getDataTypeFromTypedArray = getDataTypeFromTypedArray;
|
|
9
|
+
exports.getDataTypeFromValue = getDataTypeFromValue;
|
|
10
|
+
function getDataTypeFromValue(value) {
|
|
11
|
+
var defaultNumberType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'float32';
|
|
12
|
+
if (value instanceof Date) {
|
|
13
|
+
return 'date-millisecond';
|
|
14
|
+
}
|
|
15
|
+
if (value instanceof Number) {
|
|
16
|
+
return defaultNumberType;
|
|
17
|
+
}
|
|
18
|
+
if (typeof value === 'string') {
|
|
19
|
+
return 'utf8';
|
|
20
|
+
}
|
|
21
|
+
if (value === null || value === 'undefined') {
|
|
22
|
+
return 'null';
|
|
23
|
+
}
|
|
24
|
+
return 'null';
|
|
25
|
+
}
|
|
26
|
+
function getDataTypeFromArray(array) {
|
|
27
|
+
var type = getDataTypeFromTypedArray(array);
|
|
28
|
+
if (type !== 'null') {
|
|
29
|
+
return {
|
|
30
|
+
type: type,
|
|
31
|
+
nullable: false
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
if (array.length > 0) {
|
|
35
|
+
type = getDataTypeFromValue(array[0]);
|
|
36
|
+
return {
|
|
37
|
+
type: type,
|
|
38
|
+
nullable: true
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
return {
|
|
42
|
+
type: 'null',
|
|
43
|
+
nullable: true
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
function getDataTypeFromTypedArray(array) {
|
|
47
|
+
switch (array.constructor) {
|
|
48
|
+
case Int8Array:
|
|
49
|
+
return 'int8';
|
|
50
|
+
case Uint8Array:
|
|
51
|
+
case Uint8ClampedArray:
|
|
52
|
+
return 'uint8';
|
|
53
|
+
case Int16Array:
|
|
54
|
+
return 'int16';
|
|
55
|
+
case Uint16Array:
|
|
56
|
+
return 'uint16';
|
|
57
|
+
case Int32Array:
|
|
58
|
+
return 'int32';
|
|
59
|
+
case Uint32Array:
|
|
60
|
+
return 'uint32';
|
|
61
|
+
case Float32Array:
|
|
62
|
+
return 'float32';
|
|
63
|
+
case Float64Array:
|
|
64
|
+
return 'float64';
|
|
65
|
+
default:
|
|
66
|
+
return 'null';
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
function getArrayTypeFromDataType(type, nullable) {
|
|
70
|
+
if (!nullable) {
|
|
71
|
+
switch (type) {
|
|
72
|
+
case 'int8':
|
|
73
|
+
return Int8Array;
|
|
74
|
+
case 'uint8':
|
|
75
|
+
return Uint8Array;
|
|
76
|
+
case 'int16':
|
|
77
|
+
return Int16Array;
|
|
78
|
+
case 'uint16':
|
|
79
|
+
return Uint16Array;
|
|
80
|
+
case 'int32':
|
|
81
|
+
return Int32Array;
|
|
82
|
+
case 'uint32':
|
|
83
|
+
return Uint32Array;
|
|
84
|
+
case 'float32':
|
|
85
|
+
return Float32Array;
|
|
86
|
+
case 'float64':
|
|
87
|
+
return Float64Array;
|
|
88
|
+
default:
|
|
89
|
+
break;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
return Array;
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=data-type.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data-type.js","names":["getDataTypeFromValue","value","defaultNumberType","arguments","length","undefined","Date","Number","getDataTypeFromArray","array","type","getDataTypeFromTypedArray","nullable","constructor","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","getArrayTypeFromDataType","Array"],"sources":["../../../../../src/lib/table/simple-table/data-type.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport {DataType} from '../../../types/schema';\nimport {TypedArray, TypedArrayConstructor, ArrayType} from '../../../types/types';\n\n/** Deduce column types from values */\nexport function getDataTypeFromValue(\n value: unknown,\n defaultNumberType: 'float32' = 'float32'\n): DataType {\n if (value instanceof Date) {\n return 'date-millisecond';\n }\n if (value instanceof Number) {\n return defaultNumberType;\n }\n if (typeof value === 'string') {\n return 'utf8';\n }\n if (value === null || value === 'undefined') {\n return 'null';\n }\n return 'null';\n}\n\n/**\n * Deduces a simple data type \"descriptor from a typed array instance\n */\nexport function getDataTypeFromArray(array: ArrayType): {type: DataType; nullable: boolean} {\n let type = getDataTypeFromTypedArray(array as TypedArray);\n if (type !== 'null') {\n return {type, nullable: false};\n }\n if (array.length > 0) {\n type = getDataTypeFromValue(array[0]);\n return {type, nullable: true};\n }\n\n return {type: 'null', nullable: true};\n}\n\n/**\n * Deduces a simple data type \"descriptor from a typed array instance\n */\nexport function getDataTypeFromTypedArray(array: TypedArray): DataType {\n switch (array.constructor) {\n case Int8Array:\n return 'int8';\n case Uint8Array:\n case Uint8ClampedArray:\n return 'uint8';\n case Int16Array:\n return 'int16';\n case Uint16Array:\n return 'uint16';\n case Int32Array:\n return 'int32';\n case Uint32Array:\n return 'uint32';\n case Float32Array:\n return 'float32';\n case Float64Array:\n return 'float64';\n default:\n return 'null';\n }\n}\n\nexport function getArrayTypeFromDataType(\n type: DataType,\n nullable: boolean | undefined\n): TypedArrayConstructor | ArrayConstructor {\n if (!nullable) {\n switch (type) {\n case 'int8':\n return Int8Array;\n case 'uint8':\n return Uint8Array;\n case 'int16':\n return Int16Array;\n case 'uint16':\n return Uint16Array;\n case 'int32':\n return Int32Array;\n case 'uint32':\n return Uint32Array;\n case 'float32':\n return Float32Array;\n case 'float64':\n return Float64Array;\n default:\n break;\n }\n }\n\n // if (typeof BigInt64Array !== 'undefined') {\n // TYPED_ARRAY_TO_TYPE.BigInt64Array = new Int64();\n // TYPED_ARRAY_TO_TYPE.BigUint64Array = new Uint64();\n // }\n\n return Array;\n}\n"],"mappings":";;;;;;;;;AAMO,SAASA,oBAAoBA,CAClCC,KAAc,EAEJ;EAAA,IADVC,iBAA4B,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,SAAS;EAExC,IAAIF,KAAK,YAAYK,IAAI,EAAE;IACzB,OAAO,kBAAkB;EAC3B;EACA,IAAIL,KAAK,YAAYM,MAAM,EAAE;IAC3B,OAAOL,iBAAiB;EAC1B;EACA,IAAI,OAAOD,KAAK,KAAK,QAAQ,EAAE;IAC7B,OAAO,MAAM;EACf;EACA,IAAIA,KAAK,KAAK,IAAI,IAAIA,KAAK,KAAK,WAAW,EAAE;IAC3C,OAAO,MAAM;EACf;EACA,OAAO,MAAM;AACf;AAKO,SAASO,oBAAoBA,CAACC,KAAgB,EAAuC;EAC1F,IAAIC,IAAI,GAAGC,yBAAyB,CAACF,KAAmB,CAAC;EACzD,IAAIC,IAAI,KAAK,MAAM,EAAE;IACnB,OAAO;MAACA,IAAI,EAAJA,IAAI;MAAEE,QAAQ,EAAE;IAAK,CAAC;EAChC;EACA,IAAIH,KAAK,CAACL,MAAM,GAAG,CAAC,EAAE;IACpBM,IAAI,GAAGV,oBAAoB,CAACS,KAAK,CAAC,CAAC,CAAC,CAAC;IACrC,OAAO;MAACC,IAAI,EAAJA,IAAI;MAAEE,QAAQ,EAAE;IAAI,CAAC;EAC/B;EAEA,OAAO;IAACF,IAAI,EAAE,MAAM;IAAEE,QAAQ,EAAE;EAAI,CAAC;AACvC;AAKO,SAASD,yBAAyBA,CAACF,KAAiB,EAAY;EACrE,QAAQA,KAAK,CAACI,WAAW;IACvB,KAAKC,SAAS;MACZ,OAAO,MAAM;IACf,KAAKC,UAAU;IACf,KAAKC,iBAAiB;MACpB,OAAO,OAAO;IAChB,KAAKC,UAAU;MACb,OAAO,OAAO;IAChB,KAAKC,WAAW;MACd,OAAO,QAAQ;IACjB,KAAKC,UAAU;MACb,OAAO,OAAO;IAChB,KAAKC,WAAW;MACd,OAAO,QAAQ;IACjB,KAAKC,YAAY;MACf,OAAO,SAAS;IAClB,KAAKC,YAAY;MACf,OAAO,SAAS;IAClB;MACE,OAAO,MAAM;EACjB;AACF;AAEO,SAASC,wBAAwBA,CACtCb,IAAc,EACdE,QAA6B,EACa;EAC1C,IAAI,CAACA,QAAQ,EAAE;IACb,QAAQF,IAAI;MACV,KAAK,MAAM;QACT,OAAOI,SAAS;MAClB,KAAK,OAAO;QACV,OAAOC,UAAU;MACnB,KAAK,OAAO;QACV,OAAOE,UAAU;MACnB,KAAK,QAAQ;QACX,OAAOC,WAAW;MACpB,KAAK,OAAO;QACV,OAAOC,UAAU;MACnB,KAAK,QAAQ;QACX,OAAOC,WAAW;MACpB,KAAK,SAAS;QACZ,OAAOC,YAAY;MACrB,KAAK,SAAS;QACZ,OAAOC,YAAY;MACrB;QACE;IACJ;EACF;EAOA,OAAOE,KAAK;AACd"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.makeTableFromData = makeTableFromData;
|
|
8
|
+
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
9
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
10
|
+
var _tableSchema = require("./table-schema");
|
|
11
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
12
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
13
|
+
function makeTableFromData(data) {
|
|
14
|
+
var table;
|
|
15
|
+
switch (getTableShapeFromData(data)) {
|
|
16
|
+
case 'array-row-table':
|
|
17
|
+
table = {
|
|
18
|
+
shape: 'array-row-table',
|
|
19
|
+
data: data
|
|
20
|
+
};
|
|
21
|
+
break;
|
|
22
|
+
case 'object-row-table':
|
|
23
|
+
table = {
|
|
24
|
+
shape: 'object-row-table',
|
|
25
|
+
data: data
|
|
26
|
+
};
|
|
27
|
+
break;
|
|
28
|
+
case 'columnar-table':
|
|
29
|
+
table = {
|
|
30
|
+
shape: 'columnar-table',
|
|
31
|
+
data: data
|
|
32
|
+
};
|
|
33
|
+
break;
|
|
34
|
+
default:
|
|
35
|
+
throw new Error('table');
|
|
36
|
+
}
|
|
37
|
+
var schema = (0, _tableSchema.deduceTableSchema)(table);
|
|
38
|
+
return _objectSpread(_objectSpread({}, table), {}, {
|
|
39
|
+
schema: schema
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
function getTableShapeFromData(data) {
|
|
43
|
+
if (Array.isArray(data)) {
|
|
44
|
+
if (data.length === 0) {
|
|
45
|
+
throw new Error('cannot deduce type of empty table');
|
|
46
|
+
}
|
|
47
|
+
var firstRow = data[0];
|
|
48
|
+
if (Array.isArray(firstRow)) {
|
|
49
|
+
return 'array-row-table';
|
|
50
|
+
}
|
|
51
|
+
if (firstRow && (0, _typeof2.default)(firstRow) === 'object') {
|
|
52
|
+
return 'object-row-table';
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
if (data && (0, _typeof2.default)(data) === 'object') {
|
|
56
|
+
return 'columnar-table';
|
|
57
|
+
}
|
|
58
|
+
throw new Error('invalid table');
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=make-table.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"make-table.js","names":["_tableSchema","require","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","makeTableFromData","data","table","getTableShapeFromData","shape","Error","schema","deduceTableSchema","Array","isArray","firstRow","_typeof2"],"sources":["../../../../../src/lib/table/simple-table/make-table.ts"],"sourcesContent":["// loaders.gl, MIT license\nimport {Table, ArrayRowTable, ObjectRowTable, ColumnarTable} from '../../../types/category-table';\nimport {deduceTableSchema} from './table-schema';\n\n/**\n * Makes a typed table from data.\n * @throws Row tables must contain at least one row. Columnar tables must contain empty arrays\n */\nexport function makeTableFromData(data: unknown[][]): ArrayRowTable;\nexport function makeTableFromData(data: {[column: string]: unknown}[]): ObjectRowTable;\nexport function makeTableFromData(data: {[column: string]: ArrayLike<unknown>}): ColumnarTable;\nexport function makeTableFromData(data: unknown): Table {\n let table: Table;\n switch (getTableShapeFromData(data)) {\n case 'array-row-table':\n table = {shape: 'array-row-table', data: data as unknown[][]};\n break;\n case 'object-row-table':\n table = {shape: 'object-row-table', data: data as {[key: string]: unknown}[]};\n break;\n case 'columnar-table':\n table = {shape: 'columnar-table', data: data as {[column: string]: ArrayLike<unknown>}};\n break;\n default:\n throw new Error('table');\n }\n const schema = deduceTableSchema(table);\n return {...table, schema};\n}\n\n/** Helper function to get shape of data */\nfunction getTableShapeFromData(data) {\n if (Array.isArray(data)) {\n if (data.length === 0) {\n throw new Error('cannot deduce type of empty table');\n }\n\n // Deduce the table shape from the first row\n const firstRow = data[0];\n\n if (Array.isArray(firstRow)) {\n return 'array-row-table';\n }\n\n if (firstRow && typeof firstRow === 'object') {\n return 'object-row-table';\n }\n }\n\n if (data && typeof data === 'object') {\n return 'columnar-table';\n }\n\n throw new Error('invalid table');\n}\n\n/** Convert any table into object row format *\nexport function makeColumnarTable(table: Table): ColumnarTable {\n if (table.shape === 'columnar-table') {\n return table;\n }\n const length = getTableLength(table);\n const data = new Array<{[key: string]: unknown}>(length);\n for (let rowIndex = 0; rowIndex < length; rowIndex++) {\n data[rowIndex] = getTableRowAsObject(table, rowIndex);\n }\n return {\n shape: 'columnar-table',\n schema: table.schema,\n data\n };\n}\n\n\n/** Convert any table into array row format *\nexport function makeArrayRowTable(table: TableLike): ArrayRowTable {\n if (table.shape === 'array-row-table') {\n return table;\n }\n const length = getTableLength(table);\n const data = new Array<unknown[]>(length);\n for (let rowIndex = 0; rowIndex < length; rowIndex++) {\n data[rowIndex] = getTableRowAsArray(table, rowIndex);\n }\n return {\n shape: 'array-row-table',\n schema: table.schema,\n data\n };\n}\n\n/** Convert any table into object row format *\nexport function makeObjectRowTable(table: Table): ObjectRowTable {\n if (table.shape === 'object-row-table') {\n return table;\n }\n const length = getTableLength(table);\n const data = new Array<{[key: string]: unknown}>(length);\n for (let rowIndex = 0; rowIndex < length; rowIndex++) {\n data[rowIndex] = getTableRowAsObject(table, rowIndex);\n }\n return {\n shape: 'object-row-table',\n schema: table.schema,\n data\n };\n}\n*/\n"],"mappings":";;;;;;;;;AAEA,IAAAA,YAAA,GAAAC,OAAA;AAAiD,SAAAC,QAAAC,MAAA,EAAAC,cAAA,QAAAC,IAAA,GAAAC,MAAA,CAAAD,IAAA,CAAAF,MAAA,OAAAG,MAAA,CAAAC,qBAAA,QAAAC,OAAA,GAAAF,MAAA,CAAAC,qBAAA,CAAAJ,MAAA,GAAAC,cAAA,KAAAI,OAAA,GAAAA,OAAA,CAAAC,MAAA,WAAAC,GAAA,WAAAJ,MAAA,CAAAK,wBAAA,CAAAR,MAAA,EAAAO,GAAA,EAAAE,UAAA,OAAAP,IAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,IAAA,EAAAG,OAAA,YAAAH,IAAA;AAAA,SAAAU,cAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,WAAAF,SAAA,CAAAD,CAAA,IAAAC,SAAA,CAAAD,CAAA,QAAAA,CAAA,OAAAf,OAAA,CAAAI,MAAA,CAAAc,MAAA,OAAAC,OAAA,WAAAC,GAAA,QAAAC,gBAAA,CAAAC,OAAA,EAAAR,MAAA,EAAAM,GAAA,EAAAF,MAAA,CAAAE,GAAA,SAAAhB,MAAA,CAAAmB,yBAAA,GAAAnB,MAAA,CAAAoB,gBAAA,CAAAV,MAAA,EAAAV,MAAA,CAAAmB,yBAAA,CAAAL,MAAA,KAAAlB,OAAA,CAAAI,MAAA,CAAAc,MAAA,GAAAC,OAAA,WAAAC,GAAA,IAAAhB,MAAA,CAAAqB,cAAA,CAAAX,MAAA,EAAAM,GAAA,EAAAhB,MAAA,CAAAK,wBAAA,CAAAS,MAAA,EAAAE,GAAA,iBAAAN,MAAA;AAS1C,SAASY,iBAAiBA,CAACC,IAAa,EAAS;EACtD,IAAIC,KAAY;EAChB,QAAQC,qBAAqB,CAACF,IAAI,CAAC;IACjC,KAAK,iBAAiB;MACpBC,KAAK,GAAG;QAACE,KAAK,EAAE,iBAAiB;QAAEH,IAAI,EAAEA;MAAmB,CAAC;MAC7D;IACF,KAAK,kBAAkB;MACrBC,KAAK,GAAG;QAACE,KAAK,EAAE,kBAAkB;QAAEH,IAAI,EAAEA;MAAkC,CAAC;MAC7E;IACF,KAAK,gBAAgB;MACnBC,KAAK,GAAG;QAACE,KAAK,EAAE,gBAAgB;QAAEH,IAAI,EAAEA;MAA8C,CAAC;MACvF;IACF;MACE,MAAM,IAAII,KAAK,CAAC,OAAO,CAAC;EAC5B;EACA,IAAMC,MAAM,GAAG,IAAAC,8BAAiB,EAACL,KAAK,CAAC;EACvC,OAAAf,aAAA,CAAAA,aAAA,KAAWe,KAAK;IAAEI,MAAM,EAANA;EAAM;AAC1B;AAGA,SAASH,qBAAqBA,CAACF,IAAI,EAAE;EACnC,IAAIO,KAAK,CAACC,OAAO,CAACR,IAAI,CAAC,EAAE;IACvB,IAAIA,IAAI,CAACV,MAAM,KAAK,CAAC,EAAE;MACrB,MAAM,IAAIc,KAAK,CAAC,mCAAmC,CAAC;IACtD;IAGA,IAAMK,QAAQ,GAAGT,IAAI,CAAC,CAAC,CAAC;IAExB,IAAIO,KAAK,CAACC,OAAO,CAACC,QAAQ,CAAC,EAAE;MAC3B,OAAO,iBAAiB;IAC1B;IAEA,IAAIA,QAAQ,IAAI,IAAAC,QAAA,CAAAf,OAAA,EAAOc,QAAQ,MAAK,QAAQ,EAAE;MAC5C,OAAO,kBAAkB;IAC3B;EACF;EAEA,IAAIT,IAAI,IAAI,IAAAU,QAAA,CAAAf,OAAA,EAAOK,IAAI,MAAK,QAAQ,EAAE;IACpC,OAAO,gBAAgB;EACzB;EAEA,MAAM,IAAII,KAAK,CAAC,eAAe,CAAC;AAClC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.convertToArrayRow = convertToArrayRow;
|
|
7
|
+
exports.convertToObjectRow = convertToObjectRow;
|
|
8
|
+
function convertToObjectRow(arrayRow, headers) {
|
|
9
|
+
if (!arrayRow) {
|
|
10
|
+
throw new Error('null row');
|
|
11
|
+
}
|
|
12
|
+
if (!headers) {
|
|
13
|
+
throw new Error('no headers');
|
|
14
|
+
}
|
|
15
|
+
var objectRow = {};
|
|
16
|
+
for (var i = 0; i < headers.length; i++) {
|
|
17
|
+
objectRow[headers[i]] = arrayRow[i];
|
|
18
|
+
}
|
|
19
|
+
return objectRow;
|
|
20
|
+
}
|
|
21
|
+
function convertToArrayRow(objectRow, headers) {
|
|
22
|
+
if (!objectRow) {
|
|
23
|
+
throw new Error('null row');
|
|
24
|
+
}
|
|
25
|
+
if (!headers) {
|
|
26
|
+
throw new Error('no headers');
|
|
27
|
+
}
|
|
28
|
+
var arrayRow = new Array(headers.length);
|
|
29
|
+
for (var i = 0; i < headers.length; i++) {
|
|
30
|
+
arrayRow[i] = objectRow[headers[i]];
|
|
31
|
+
}
|
|
32
|
+
return arrayRow;
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=row-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"row-utils.js","names":["convertToObjectRow","arrayRow","headers","Error","objectRow","i","length","convertToArrayRow","Array"],"sources":["../../../../../src/lib/table/simple-table/row-utils.ts"],"sourcesContent":["/** Convert an object row to an array row */\nexport function convertToObjectRow(\n arrayRow: any[],\n headers: string[]\n): {[columnName: string]: any} {\n if (!arrayRow) {\n throw new Error('null row');\n }\n if (!headers) {\n throw new Error('no headers');\n }\n const objectRow = {};\n for (let i = 0; i < headers.length; i++) {\n objectRow[headers[i]] = arrayRow[i];\n }\n return objectRow;\n}\n\n/** Convert an object row to an array row */\nexport function convertToArrayRow(\n objectRow: {[columnName: string]: any},\n headers: string[]\n): any[] {\n if (!objectRow) {\n throw new Error('null row');\n }\n if (!headers) {\n throw new Error('no headers');\n }\n const arrayRow = new Array(headers.length);\n for (let i = 0; i < headers.length; i++) {\n arrayRow[i] = objectRow[headers[i]];\n }\n return arrayRow;\n}\n"],"mappings":";;;;;;;AACO,SAASA,kBAAkBA,CAChCC,QAAe,EACfC,OAAiB,EACY;EAC7B,IAAI,CAACD,QAAQ,EAAE;IACb,MAAM,IAAIE,KAAK,CAAC,UAAU,CAAC;EAC7B;EACA,IAAI,CAACD,OAAO,EAAE;IACZ,MAAM,IAAIC,KAAK,CAAC,YAAY,CAAC;EAC/B;EACA,IAAMC,SAAS,GAAG,CAAC,CAAC;EACpB,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGH,OAAO,CAACI,MAAM,EAAED,CAAC,EAAE,EAAE;IACvCD,SAAS,CAACF,OAAO,CAACG,CAAC,CAAC,CAAC,GAAGJ,QAAQ,CAACI,CAAC,CAAC;EACrC;EACA,OAAOD,SAAS;AAClB;AAGO,SAASG,iBAAiBA,CAC/BH,SAAsC,EACtCF,OAAiB,EACV;EACP,IAAI,CAACE,SAAS,EAAE;IACd,MAAM,IAAID,KAAK,CAAC,UAAU,CAAC;EAC7B;EACA,IAAI,CAACD,OAAO,EAAE;IACZ,MAAM,IAAIC,KAAK,CAAC,YAAY,CAAC;EAC/B;EACA,IAAMF,QAAQ,GAAG,IAAIO,KAAK,CAACN,OAAO,CAACI,MAAM,CAAC;EAC1C,KAAK,IAAID,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGH,OAAO,CAACI,MAAM,EAAED,CAAC,EAAE,EAAE;IACvCJ,QAAQ,CAACI,CAAC,CAAC,GAAGD,SAAS,CAACF,OAAO,CAACG,CAAC,CAAC,CAAC;EACrC;EACA,OAAOJ,QAAQ;AACjB"}
|