@loaders.gl/parquet 4.0.0-alpha.8 → 4.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/dist.min.js +21 -32
- package/dist/dist.min.js.map +3 -3
- package/dist/es5/buffer-polyfill/buffer-polyfill.browser.js +12 -0
- package/dist/es5/buffer-polyfill/buffer-polyfill.browser.js.map +1 -0
- package/dist/es5/buffer-polyfill/buffer-polyfill.node.js +16 -0
- package/dist/es5/buffer-polyfill/buffer-polyfill.node.js.map +1 -0
- package/dist/es5/buffer-polyfill/buffer.js +1665 -0
- package/dist/es5/buffer-polyfill/buffer.js.map +1 -0
- package/dist/es5/buffer-polyfill/index.js +27 -0
- package/dist/es5/buffer-polyfill/index.js.map +1 -0
- package/dist/es5/buffer-polyfill/install-buffer-polyfill.js +10 -0
- package/dist/es5/buffer-polyfill/install-buffer-polyfill.js.map +1 -0
- package/dist/es5/index.js +25 -28
- package/dist/es5/index.js.map +1 -1
- package/dist/es5/lib/geo/decode-geo-column.js +53 -0
- package/dist/es5/lib/geo/decode-geo-column.js.map +1 -0
- package/dist/es5/lib/geo/decode-geo-metadata.js +52 -16
- package/dist/es5/lib/geo/decode-geo-metadata.js.map +1 -1
- package/dist/es5/lib/geo/{geoparquet-schema.js → geoparquet-metadata-schema.js} +4 -4
- package/dist/es5/lib/geo/geoparquet-metadata-schema.js.map +1 -0
- package/dist/es5/lib/geo/geoparquet-metadata-schema.json +60 -0
- package/dist/es5/lib/parsers/get-parquet-schema.js +41 -0
- package/dist/es5/lib/parsers/get-parquet-schema.js.map +1 -0
- package/dist/es5/lib/parsers/parse-parquet-to-columns.js +71 -72
- package/dist/es5/lib/parsers/parse-parquet-to-columns.js.map +1 -1
- package/dist/es5/lib/parsers/parse-parquet-to-rows.js +95 -62
- package/dist/es5/lib/parsers/parse-parquet-to-rows.js.map +1 -1
- package/dist/es5/parquet-loader.js +14 -14
- package/dist/es5/parquet-loader.js.map +1 -1
- package/dist/es5/parquet-wasm-loader.js +8 -11
- package/dist/es5/parquet-wasm-loader.js.map +1 -1
- package/dist/es5/parquet-wasm-writer.js +6 -7
- package/dist/es5/parquet-wasm-writer.js.map +1 -1
- package/dist/es5/parquet-writer.js +2 -3
- package/dist/es5/parquet-writer.js.map +1 -1
- package/dist/es5/parquetjs/codecs/plain.js.map +1 -1
- package/dist/es5/parquetjs/codecs/rle.js.map +1 -1
- package/dist/es5/parquetjs/encoder/parquet-encoder.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/index.js +75 -0
- package/dist/es5/parquetjs/parquet-thrift/index.js.map +1 -1
- package/dist/es5/parquetjs/parser/decoders.js +53 -36
- package/dist/es5/parquetjs/parser/decoders.js.map +1 -1
- package/dist/es5/parquetjs/parser/parquet-reader.js +15 -13
- package/dist/es5/parquetjs/parser/parquet-reader.js.map +1 -1
- package/dist/es5/parquetjs/schema/declare.js.map +1 -1
- package/dist/es5/parquetjs/utils/read-utils.js +6 -7
- package/dist/es5/parquetjs/utils/read-utils.js.map +1 -1
- package/dist/esm/buffer-polyfill/buffer-polyfill.browser.js +6 -0
- package/dist/esm/buffer-polyfill/buffer-polyfill.browser.js.map +1 -0
- package/dist/esm/buffer-polyfill/buffer-polyfill.node.js +10 -0
- package/dist/esm/buffer-polyfill/buffer-polyfill.node.js.map +1 -0
- package/dist/esm/buffer-polyfill/buffer.js +1489 -0
- package/dist/esm/buffer-polyfill/buffer.js.map +1 -0
- package/dist/esm/buffer-polyfill/index.js +4 -0
- package/dist/esm/buffer-polyfill/index.js.map +1 -0
- package/dist/esm/buffer-polyfill/install-buffer-polyfill.js +3 -0
- package/dist/esm/buffer-polyfill/install-buffer-polyfill.js.map +1 -0
- package/dist/esm/index.js +4 -10
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/lib/geo/decode-geo-column.js +47 -0
- package/dist/esm/lib/geo/decode-geo-column.js.map +1 -0
- package/dist/esm/lib/geo/decode-geo-metadata.js +32 -5
- package/dist/esm/lib/geo/decode-geo-metadata.js.map +1 -1
- package/dist/esm/lib/geo/{geoparquet-schema.js → geoparquet-metadata-schema.js} +2 -2
- package/dist/esm/lib/geo/geoparquet-metadata-schema.js.map +1 -0
- package/dist/esm/lib/geo/geoparquet-metadata-schema.json +60 -0
- package/dist/esm/lib/parsers/get-parquet-schema.js +11 -0
- package/dist/esm/lib/parsers/get-parquet-schema.js.map +1 -0
- package/dist/esm/lib/parsers/parse-parquet-to-columns.js +10 -11
- package/dist/esm/lib/parsers/parse-parquet-to-columns.js.map +1 -1
- package/dist/esm/lib/parsers/parse-parquet-to-rows.js +32 -7
- package/dist/esm/lib/parsers/parse-parquet-to-rows.js.map +1 -1
- package/dist/esm/parquet-loader.js +12 -12
- package/dist/esm/parquet-loader.js.map +1 -1
- package/dist/esm/parquet-wasm-loader.js +7 -9
- package/dist/esm/parquet-wasm-loader.js.map +1 -1
- package/dist/esm/parquet-wasm-writer.js +6 -7
- package/dist/esm/parquet-wasm-writer.js.map +1 -1
- package/dist/esm/parquet-writer.js +2 -3
- package/dist/esm/parquet-writer.js.map +1 -1
- package/dist/esm/parquetjs/codecs/plain.js.map +1 -1
- package/dist/esm/parquetjs/codecs/rle.js.map +1 -1
- package/dist/esm/parquetjs/encoder/parquet-encoder.js.map +1 -1
- package/dist/esm/parquetjs/parquet-thrift/index.js +2 -0
- package/dist/esm/parquetjs/parquet-thrift/index.js.map +1 -1
- package/dist/esm/parquetjs/parser/decoders.js +48 -32
- package/dist/esm/parquetjs/parser/decoders.js.map +1 -1
- package/dist/esm/parquetjs/parser/parquet-reader.js +14 -12
- package/dist/esm/parquetjs/parser/parquet-reader.js.map +1 -1
- package/dist/esm/parquetjs/schema/declare.js.map +1 -1
- package/dist/esm/parquetjs/utils/read-utils.js +1 -1
- package/dist/esm/parquetjs/utils/read-utils.js.map +1 -1
- package/dist/parquet-worker.js +23 -34
- package/dist/parquet-worker.js.map +3 -3
- package/dist/src/buffer-polyfill/buffer-polyfill.browser.d.ts +4 -0
- package/dist/src/buffer-polyfill/buffer-polyfill.browser.d.ts.map +1 -0
- package/dist/src/buffer-polyfill/buffer-polyfill.node.d.ts +4 -0
- package/dist/src/buffer-polyfill/buffer-polyfill.node.d.ts.map +1 -0
- package/dist/src/buffer-polyfill/buffer.d.ts +222 -0
- package/dist/src/buffer-polyfill/buffer.d.ts.map +1 -0
- package/dist/src/buffer-polyfill/index.d.ts +4 -0
- package/dist/src/buffer-polyfill/index.d.ts.map +1 -0
- package/dist/src/buffer-polyfill/install-buffer-polyfill.d.ts +30 -0
- package/dist/src/buffer-polyfill/install-buffer-polyfill.d.ts.map +1 -0
- package/dist/src/bundle.d.ts.map +1 -0
- package/dist/src/constants.d.ts.map +1 -0
- package/dist/{index.d.ts → src/index.d.ts} +6 -10
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/lib/arrow/convert-columns-to-row-group.d.ts.map +1 -0
- package/dist/src/lib/arrow/convert-row-group-to-columns.d.ts.map +1 -0
- package/dist/src/lib/arrow/convert-schema-from-parquet.d.ts.map +1 -0
- package/dist/src/lib/arrow/convert-schema-to-parquet.d.ts.map +1 -0
- package/dist/src/lib/geo/decode-geo-column.d.ts +4 -0
- package/dist/src/lib/geo/decode-geo-column.d.ts.map +1 -0
- package/dist/src/lib/geo/decode-geo-metadata.d.ts +44 -0
- package/dist/src/lib/geo/decode-geo-metadata.d.ts.map +1 -0
- package/dist/{lib/geo/geoparquet-schema.d.ts → src/lib/geo/geoparquet-metadata-schema.d.ts} +2 -3
- package/dist/src/lib/geo/geoparquet-metadata-schema.d.ts.map +1 -0
- package/dist/src/lib/parsers/get-parquet-schema.d.ts +4 -0
- package/dist/src/lib/parsers/get-parquet-schema.d.ts.map +1 -0
- package/dist/src/lib/parsers/parse-parquet-to-columns.d.ts +6 -0
- package/dist/src/lib/parsers/parse-parquet-to-columns.d.ts.map +1 -0
- package/dist/src/lib/parsers/parse-parquet-to-rows.d.ts +6 -0
- package/dist/src/lib/parsers/parse-parquet-to-rows.d.ts.map +1 -0
- package/dist/src/lib/wasm/encode-parquet-wasm.d.ts.map +1 -0
- package/dist/src/lib/wasm/load-wasm/index.d.ts.map +1 -0
- package/dist/src/lib/wasm/load-wasm/load-wasm-browser.d.ts.map +1 -0
- package/dist/src/lib/wasm/load-wasm/load-wasm-node.d.ts.map +1 -0
- package/dist/src/lib/wasm/parse-parquet-wasm.d.ts.map +1 -0
- package/dist/src/parquet-loader.d.ts +22 -0
- package/dist/src/parquet-loader.d.ts.map +1 -0
- package/dist/src/parquet-wasm-loader.d.ts +12 -0
- package/dist/src/parquet-wasm-loader.d.ts.map +1 -0
- package/dist/src/parquet-wasm-writer.d.ts +6 -0
- package/dist/src/parquet-wasm-writer.d.ts.map +1 -0
- package/dist/src/parquet-writer.d.ts.map +1 -0
- package/dist/src/parquetjs/codecs/declare.d.ts.map +1 -0
- package/dist/src/parquetjs/codecs/dictionary.d.ts.map +1 -0
- package/dist/src/parquetjs/codecs/index.d.ts.map +1 -0
- package/dist/src/parquetjs/codecs/plain.d.ts.map +1 -0
- package/dist/src/parquetjs/codecs/rle.d.ts.map +1 -0
- package/dist/src/parquetjs/compression.d.ts.map +1 -0
- package/dist/src/parquetjs/encoder/parquet-encoder.d.ts.map +1 -0
- package/dist/src/parquetjs/parquet-thrift/BoundaryOrder.d.ts.map +1 -0
- package/dist/src/parquetjs/parquet-thrift/BsonType.d.ts.map +1 -0
- package/dist/src/parquetjs/parquet-thrift/ColumnChunk.d.ts.map +1 -0
- package/dist/src/parquetjs/parquet-thrift/ColumnIndex.d.ts.map +1 -0
- package/dist/src/parquetjs/parquet-thrift/ColumnMetaData.d.ts.map +1 -0
- package/dist/src/parquetjs/parquet-thrift/ColumnOrder.d.ts.map +1 -0
- package/dist/src/parquetjs/parquet-thrift/CompressionCodec.d.ts.map +1 -0
- package/dist/src/parquetjs/parquet-thrift/ConvertedType.d.ts.map +1 -0
- package/dist/src/parquetjs/parquet-thrift/DataPageHeader.d.ts.map +1 -0
- package/dist/src/parquetjs/parquet-thrift/DataPageHeaderV2.d.ts.map +1 -0
- package/dist/src/parquetjs/parquet-thrift/DateType.d.ts.map +1 -0
- package/dist/src/parquetjs/parquet-thrift/DecimalType.d.ts.map +1 -0
- package/dist/src/parquetjs/parquet-thrift/DictionaryPageHeader.d.ts.map +1 -0
- package/dist/src/parquetjs/parquet-thrift/Encoding.d.ts.map +1 -0
- package/dist/src/parquetjs/parquet-thrift/EnumType.d.ts.map +1 -0
- package/dist/src/parquetjs/parquet-thrift/FieldRepetitionType.d.ts.map +1 -0
- package/dist/src/parquetjs/parquet-thrift/FileMetaData.d.ts.map +1 -0
- package/dist/src/parquetjs/parquet-thrift/IndexPageHeader.d.ts.map +1 -0
- package/dist/src/parquetjs/parquet-thrift/IntType.d.ts.map +1 -0
- package/dist/src/parquetjs/parquet-thrift/JsonType.d.ts.map +1 -0
- package/dist/src/parquetjs/parquet-thrift/KeyValue.d.ts.map +1 -0
- package/dist/src/parquetjs/parquet-thrift/ListType.d.ts.map +1 -0
- package/dist/src/parquetjs/parquet-thrift/LogicalType.d.ts.map +1 -0
- package/dist/src/parquetjs/parquet-thrift/MapType.d.ts.map +1 -0
- package/dist/src/parquetjs/parquet-thrift/MicroSeconds.d.ts.map +1 -0
- package/dist/src/parquetjs/parquet-thrift/MilliSeconds.d.ts.map +1 -0
- package/dist/src/parquetjs/parquet-thrift/NullType.d.ts.map +1 -0
- package/dist/src/parquetjs/parquet-thrift/OffsetIndex.d.ts.map +1 -0
- package/dist/src/parquetjs/parquet-thrift/PageEncodingStats.d.ts.map +1 -0
- package/dist/src/parquetjs/parquet-thrift/PageHeader.d.ts.map +1 -0
- package/dist/src/parquetjs/parquet-thrift/PageLocation.d.ts.map +1 -0
- package/dist/src/parquetjs/parquet-thrift/PageType.d.ts.map +1 -0
- package/dist/src/parquetjs/parquet-thrift/RowGroup.d.ts.map +1 -0
- package/dist/src/parquetjs/parquet-thrift/SchemaElement.d.ts.map +1 -0
- package/dist/src/parquetjs/parquet-thrift/SortingColumn.d.ts.map +1 -0
- package/dist/src/parquetjs/parquet-thrift/Statistics.d.ts.map +1 -0
- package/dist/src/parquetjs/parquet-thrift/StringType.d.ts.map +1 -0
- package/dist/src/parquetjs/parquet-thrift/TimeType.d.ts.map +1 -0
- package/dist/src/parquetjs/parquet-thrift/TimeUnit.d.ts.map +1 -0
- package/dist/src/parquetjs/parquet-thrift/TimestampType.d.ts.map +1 -0
- package/dist/src/parquetjs/parquet-thrift/Type.d.ts.map +1 -0
- package/dist/src/parquetjs/parquet-thrift/TypeDefinedOrder.d.ts.map +1 -0
- package/dist/src/parquetjs/parquet-thrift/UUIDType.d.ts.map +1 -0
- package/dist/{parquetjs → src/parquetjs}/parquet-thrift/index.d.ts +2 -0
- package/dist/src/parquetjs/parquet-thrift/index.d.ts.map +1 -0
- package/dist/{parquetjs → src/parquetjs}/parser/decoders.d.ts +4 -4
- package/dist/src/parquetjs/parser/decoders.d.ts.map +1 -0
- package/dist/{parquetjs → src/parquetjs}/parser/parquet-reader.d.ts +5 -3
- package/dist/src/parquetjs/parser/parquet-reader.d.ts.map +1 -0
- package/dist/{parquetjs → src/parquetjs}/schema/declare.d.ts +3 -1
- package/dist/src/parquetjs/schema/declare.d.ts.map +1 -0
- package/dist/src/parquetjs/schema/schema.d.ts.map +1 -0
- package/dist/src/parquetjs/schema/shred.d.ts.map +1 -0
- package/dist/src/parquetjs/schema/types.d.ts.map +1 -0
- package/dist/src/parquetjs/utils/file-utils.d.ts.map +1 -0
- package/dist/src/parquetjs/utils/read-utils.d.ts.map +1 -0
- package/dist/src/workers/parquet-worker.d.ts.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +21 -9
- package/src/buffer-polyfill/buffer-polyfill.browser.ts +11 -0
- package/src/buffer-polyfill/buffer-polyfill.node.ts +15 -0
- package/src/buffer-polyfill/buffer.ts +2207 -0
- package/src/buffer-polyfill/index.ts +8 -0
- package/src/buffer-polyfill/install-buffer-polyfill.ts +3 -0
- package/src/index.ts +31 -17
- package/src/lib/geo/decode-geo-column.ts +54 -0
- package/src/lib/geo/decode-geo-metadata.ts +81 -15
- package/src/lib/geo/geoparquet-metadata-schema.json +60 -0
- package/src/lib/geo/{geoparquet-schema.ts → geoparquet-metadata-schema.ts} +1 -1
- package/src/lib/parsers/get-parquet-schema.ts +14 -0
- package/src/lib/parsers/parse-parquet-to-columns.ts +15 -13
- package/src/lib/parsers/parse-parquet-to-rows.ts +39 -11
- package/src/parquet-loader.ts +29 -16
- package/src/parquet-wasm-loader.ts +13 -13
- package/src/parquet-wasm-writer.ts +10 -8
- package/src/parquet-writer.ts +1 -3
- package/src/parquetjs/codecs/plain.ts +1 -0
- package/src/parquetjs/codecs/rle.ts +2 -0
- package/src/parquetjs/encoder/parquet-encoder.ts +1 -0
- package/src/parquetjs/parquet-thrift/index.ts +4 -0
- package/src/parquetjs/parser/decoders.ts +63 -41
- package/src/parquetjs/parser/parquet-reader.ts +19 -14
- package/src/parquetjs/schema/declare.ts +3 -1
- package/src/parquetjs/utils/read-utils.ts +2 -2
- package/dist/bundle.d.ts.map +0 -1
- package/dist/bundle.js +0 -5
- package/dist/constants.d.ts.map +0 -1
- package/dist/constants.js +0 -18
- package/dist/es5/lib/geo/geoparquet-schema.js.map +0 -1
- package/dist/esm/lib/geo/geoparquet-schema.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -58
- package/dist/lib/arrow/convert-columns-to-row-group.d.ts.map +0 -1
- package/dist/lib/arrow/convert-columns-to-row-group.js +0 -1
- package/dist/lib/arrow/convert-row-group-to-columns.d.ts.map +0 -1
- package/dist/lib/arrow/convert-row-group-to-columns.js +0 -12
- package/dist/lib/arrow/convert-schema-from-parquet.d.ts.map +0 -1
- package/dist/lib/arrow/convert-schema-from-parquet.js +0 -86
- package/dist/lib/arrow/convert-schema-to-parquet.d.ts.map +0 -1
- package/dist/lib/arrow/convert-schema-to-parquet.js +0 -71
- package/dist/lib/geo/decode-geo-metadata.d.ts +0 -31
- package/dist/lib/geo/decode-geo-metadata.d.ts.map +0 -1
- package/dist/lib/geo/decode-geo-metadata.js +0 -77
- package/dist/lib/geo/geoparquet-schema.d.ts.map +0 -1
- package/dist/lib/geo/geoparquet-schema.js +0 -69
- package/dist/lib/parsers/parse-parquet-to-columns.d.ts +0 -5
- package/dist/lib/parsers/parse-parquet-to-columns.d.ts.map +0 -1
- package/dist/lib/parsers/parse-parquet-to-columns.js +0 -46
- package/dist/lib/parsers/parse-parquet-to-rows.d.ts +0 -5
- package/dist/lib/parsers/parse-parquet-to-rows.d.ts.map +0 -1
- package/dist/lib/parsers/parse-parquet-to-rows.js +0 -37
- package/dist/lib/wasm/encode-parquet-wasm.d.ts.map +0 -1
- package/dist/lib/wasm/encode-parquet-wasm.js +0 -30
- package/dist/lib/wasm/load-wasm/index.d.ts.map +0 -1
- package/dist/lib/wasm/load-wasm/index.js +0 -5
- package/dist/lib/wasm/load-wasm/load-wasm-browser.d.ts.map +0 -1
- package/dist/lib/wasm/load-wasm/load-wasm-browser.js +0 -38
- package/dist/lib/wasm/load-wasm/load-wasm-node.d.ts.map +0 -1
- package/dist/lib/wasm/load-wasm/load-wasm-node.js +0 -31
- package/dist/lib/wasm/parse-parquet-wasm.d.ts.map +0 -1
- package/dist/lib/wasm/parse-parquet-wasm.js +0 -27
- package/dist/parquet-loader.d.ts +0 -14
- package/dist/parquet-loader.d.ts.map +0 -1
- package/dist/parquet-loader.js +0 -41
- package/dist/parquet-wasm-loader.d.ts +0 -23
- package/dist/parquet-wasm-loader.d.ts.map +0 -1
- package/dist/parquet-wasm-loader.js +0 -27
- package/dist/parquet-wasm-writer.d.ts +0 -3
- package/dist/parquet-wasm-writer.d.ts.map +0 -1
- package/dist/parquet-wasm-writer.js +0 -23
- package/dist/parquet-writer.d.ts.map +0 -1
- package/dist/parquet-writer.js +0 -22
- package/dist/parquetjs/codecs/declare.d.ts.map +0 -1
- package/dist/parquetjs/codecs/declare.js +0 -2
- package/dist/parquetjs/codecs/dictionary.d.ts.map +0 -1
- package/dist/parquetjs/codecs/dictionary.js +0 -14
- package/dist/parquetjs/codecs/index.d.ts.map +0 -1
- package/dist/parquetjs/codecs/index.js +0 -55
- package/dist/parquetjs/codecs/plain.d.ts.map +0 -1
- package/dist/parquetjs/codecs/plain.js +0 -211
- package/dist/parquetjs/codecs/rle.d.ts.map +0 -1
- package/dist/parquetjs/codecs/rle.js +0 -145
- package/dist/parquetjs/compression.d.ts.map +0 -1
- package/dist/parquetjs/compression.js +0 -183
- package/dist/parquetjs/encoder/parquet-encoder.d.ts.map +0 -1
- package/dist/parquetjs/encoder/parquet-encoder.js +0 -484
- package/dist/parquetjs/parquet-thrift/BoundaryOrder.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/BoundaryOrder.js +0 -15
- package/dist/parquetjs/parquet-thrift/BsonType.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/BsonType.js +0 -62
- package/dist/parquetjs/parquet-thrift/ColumnChunk.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/ColumnChunk.js +0 -211
- package/dist/parquetjs/parquet-thrift/ColumnIndex.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/ColumnIndex.js +0 -217
- package/dist/parquetjs/parquet-thrift/ColumnMetaData.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/ColumnMetaData.js +0 -402
- package/dist/parquetjs/parquet-thrift/ColumnOrder.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/ColumnOrder.js +0 -108
- package/dist/parquetjs/parquet-thrift/CompressionCodec.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/CompressionCodec.js +0 -20
- package/dist/parquetjs/parquet-thrift/ConvertedType.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/ConvertedType.js +0 -34
- package/dist/parquetjs/parquet-thrift/DataPageHeader.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/DataPageHeader.js +0 -170
- package/dist/parquetjs/parquet-thrift/DataPageHeaderV2.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/DataPageHeaderV2.js +0 -230
- package/dist/parquetjs/parquet-thrift/DateType.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/DateType.js +0 -62
- package/dist/parquetjs/parquet-thrift/DecimalType.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/DecimalType.js +0 -109
- package/dist/parquetjs/parquet-thrift/DictionaryPageHeader.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/DictionaryPageHeader.js +0 -126
- package/dist/parquetjs/parquet-thrift/Encoding.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/Encoding.js +0 -20
- package/dist/parquetjs/parquet-thrift/EnumType.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/EnumType.js +0 -62
- package/dist/parquetjs/parquet-thrift/FieldRepetitionType.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/FieldRepetitionType.js +0 -15
- package/dist/parquetjs/parquet-thrift/FileMetaData.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/FileMetaData.js +0 -260
- package/dist/parquetjs/parquet-thrift/IndexPageHeader.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/IndexPageHeader.js +0 -62
- package/dist/parquetjs/parquet-thrift/IntType.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/IntType.js +0 -109
- package/dist/parquetjs/parquet-thrift/JsonType.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/JsonType.js +0 -62
- package/dist/parquetjs/parquet-thrift/KeyValue.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/KeyValue.js +0 -106
- package/dist/parquetjs/parquet-thrift/ListType.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/ListType.js +0 -62
- package/dist/parquetjs/parquet-thrift/LogicalType.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/LogicalType.js +0 -384
- package/dist/parquetjs/parquet-thrift/MapType.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/MapType.js +0 -62
- package/dist/parquetjs/parquet-thrift/MicroSeconds.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/MicroSeconds.js +0 -62
- package/dist/parquetjs/parquet-thrift/MilliSeconds.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/MilliSeconds.js +0 -62
- package/dist/parquetjs/parquet-thrift/NullType.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/NullType.js +0 -62
- package/dist/parquetjs/parquet-thrift/OffsetIndex.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/OffsetIndex.js +0 -101
- package/dist/parquetjs/parquet-thrift/PageEncodingStats.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/PageEncodingStats.js +0 -131
- package/dist/parquetjs/parquet-thrift/PageHeader.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/PageHeader.js +0 -220
- package/dist/parquetjs/parquet-thrift/PageLocation.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/PageLocation.js +0 -145
- package/dist/parquetjs/parquet-thrift/PageType.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/PageType.js +0 -16
- package/dist/parquetjs/parquet-thrift/RowGroup.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/RowGroup.js +0 -186
- package/dist/parquetjs/parquet-thrift/SchemaElement.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/SchemaElement.js +0 -243
- package/dist/parquetjs/parquet-thrift/SortingColumn.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/SortingColumn.js +0 -131
- package/dist/parquetjs/parquet-thrift/Statistics.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/Statistics.js +0 -180
- package/dist/parquetjs/parquet-thrift/StringType.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/StringType.js +0 -62
- package/dist/parquetjs/parquet-thrift/TimeType.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/TimeType.js +0 -110
- package/dist/parquetjs/parquet-thrift/TimeUnit.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/TimeUnit.js +0 -131
- package/dist/parquetjs/parquet-thrift/TimestampType.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/TimestampType.js +0 -110
- package/dist/parquetjs/parquet-thrift/Type.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/Type.js +0 -20
- package/dist/parquetjs/parquet-thrift/TypeDefinedOrder.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/TypeDefinedOrder.js +0 -62
- package/dist/parquetjs/parquet-thrift/UUIDType.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/UUIDType.js +0 -62
- package/dist/parquetjs/parquet-thrift/index.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/index.js +0 -65
- package/dist/parquetjs/parser/decoders.d.ts.map +0 -1
- package/dist/parquetjs/parser/decoders.js +0 -318
- package/dist/parquetjs/parser/parquet-reader.d.ts.map +0 -1
- package/dist/parquetjs/parser/parquet-reader.js +0 -200
- package/dist/parquetjs/schema/declare.d.ts.map +0 -1
- package/dist/parquetjs/schema/declare.js +0 -12
- package/dist/parquetjs/schema/schema.d.ts.map +0 -1
- package/dist/parquetjs/schema/schema.js +0 -162
- package/dist/parquetjs/schema/shred.d.ts.map +0 -1
- package/dist/parquetjs/schema/shred.js +0 -355
- package/dist/parquetjs/schema/types.d.ts.map +0 -1
- package/dist/parquetjs/schema/types.js +0 -416
- package/dist/parquetjs/utils/file-utils.d.ts.map +0 -1
- package/dist/parquetjs/utils/file-utils.js +0 -43
- package/dist/parquetjs/utils/read-utils.d.ts.map +0 -1
- package/dist/parquetjs/utils/read-utils.js +0 -109
- package/dist/workers/parquet-worker.d.ts.map +0 -1
- package/dist/workers/parquet-worker.js +0 -5
- /package/dist/{bundle.d.ts → src/bundle.d.ts} +0 -0
- /package/dist/{constants.d.ts → src/constants.d.ts} +0 -0
- /package/dist/{lib → src/lib}/arrow/convert-columns-to-row-group.d.ts +0 -0
- /package/dist/{lib → src/lib}/arrow/convert-row-group-to-columns.d.ts +0 -0
- /package/dist/{lib → src/lib}/arrow/convert-schema-from-parquet.d.ts +0 -0
- /package/dist/{lib → src/lib}/arrow/convert-schema-to-parquet.d.ts +0 -0
- /package/dist/{lib → src/lib}/wasm/encode-parquet-wasm.d.ts +0 -0
- /package/dist/{lib → src/lib}/wasm/load-wasm/index.d.ts +0 -0
- /package/dist/{lib → src/lib}/wasm/load-wasm/load-wasm-browser.d.ts +0 -0
- /package/dist/{lib → src/lib}/wasm/load-wasm/load-wasm-node.d.ts +0 -0
- /package/dist/{lib → src/lib}/wasm/parse-parquet-wasm.d.ts +0 -0
- /package/dist/{parquet-writer.d.ts → src/parquet-writer.d.ts} +0 -0
- /package/dist/{parquetjs → src/parquetjs}/codecs/declare.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/codecs/dictionary.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/codecs/index.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/codecs/plain.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/codecs/rle.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/compression.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/encoder/parquet-encoder.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/BoundaryOrder.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/BsonType.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/ColumnChunk.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/ColumnIndex.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/ColumnMetaData.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/ColumnOrder.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/CompressionCodec.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/ConvertedType.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/DataPageHeader.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/DataPageHeaderV2.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/DateType.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/DecimalType.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/DictionaryPageHeader.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/Encoding.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/EnumType.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/FieldRepetitionType.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/FileMetaData.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/IndexPageHeader.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/IntType.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/JsonType.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/KeyValue.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/ListType.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/LogicalType.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/MapType.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/MicroSeconds.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/MilliSeconds.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/NullType.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/OffsetIndex.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/PageEncodingStats.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/PageHeader.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/PageLocation.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/PageType.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/RowGroup.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/SchemaElement.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/SortingColumn.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/Statistics.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/StringType.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/TimeType.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/TimeUnit.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/TimestampType.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/Type.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/TypeDefinedOrder.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/UUIDType.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/schema/schema.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/schema/shred.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/schema/types.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/utils/file-utils.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/utils/read-utils.d.ts +0 -0
- /package/dist/{workers → src/workers}/parquet-worker.d.ts +0 -0
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
// loaders.gl, MIT license
|
|
2
|
+
export {Buffer as BufferPolyfill} from './buffer';
|
|
3
|
+
export {Buffer} from './install-buffer-polyfill';
|
|
4
|
+
export {installBufferPolyfill} from './buffer-polyfill.node';
|
|
5
|
+
|
|
6
|
+
// import { installBufferPolyfill } from "./buffer-polyfill.node";
|
|
7
|
+
|
|
8
|
+
// installBufferPolyfill();
|
package/src/index.ts
CHANGED
|
@@ -1,13 +1,17 @@
|
|
|
1
1
|
// loaders.gl, MIT license
|
|
2
2
|
|
|
3
|
+
export {Buffer} from './buffer-polyfill/install-buffer-polyfill';
|
|
4
|
+
|
|
3
5
|
import type {LoaderWithParser} from '@loaders.gl/loader-utils';
|
|
4
6
|
import type {
|
|
5
7
|
ObjectRowTable,
|
|
6
8
|
ObjectRowTableBatch,
|
|
7
9
|
ColumnarTable,
|
|
8
|
-
ColumnarTableBatch
|
|
10
|
+
ColumnarTableBatch,
|
|
11
|
+
GeoJSONTable,
|
|
12
|
+
GeoJSONTableBatch
|
|
9
13
|
} from '@loaders.gl/schema';
|
|
10
|
-
import type {Table as
|
|
14
|
+
// import type {Table as ApacheArrowTable} from 'apache-arrow';
|
|
11
15
|
|
|
12
16
|
// ParquetLoader
|
|
13
17
|
|
|
@@ -22,24 +26,26 @@ import {
|
|
|
22
26
|
parseParquetFileInColumnarBatches
|
|
23
27
|
} from './lib/parsers/parse-parquet-to-columns';
|
|
24
28
|
|
|
25
|
-
import {
|
|
26
|
-
import {
|
|
29
|
+
// import type {ParquetWasmLoaderOptions} from './lib/wasm/parse-parquet-wasm';
|
|
30
|
+
// import {parseParquetWasm} from './lib/wasm/parse-parquet-wasm';
|
|
31
|
+
// import {ParquetWasmLoader as ParquetWasmWorkerLoader} from './parquet-wasm-loader';
|
|
27
32
|
|
|
28
|
-
export {ParquetWorkerLoader
|
|
33
|
+
export {ParquetWorkerLoader};
|
|
34
|
+
// export {ParquetWasmWorkerLoader};
|
|
29
35
|
|
|
30
36
|
/** ParquetJS table loader */
|
|
31
37
|
export const ParquetLoader: LoaderWithParser<
|
|
32
|
-
ObjectRowTable,
|
|
33
|
-
ObjectRowTableBatch,
|
|
38
|
+
ObjectRowTable | GeoJSONTable,
|
|
39
|
+
ObjectRowTableBatch | GeoJSONTableBatch,
|
|
34
40
|
ParquetLoaderOptions
|
|
35
41
|
> = {
|
|
36
42
|
...ParquetWorkerLoader,
|
|
37
43
|
parse: parseParquet,
|
|
44
|
+
// @ts-expect-error
|
|
38
45
|
parseFileInBatches: parseParquetFileInBatches
|
|
39
46
|
};
|
|
40
47
|
|
|
41
48
|
/** ParquetJS table loader */
|
|
42
|
-
// @ts-expect-error
|
|
43
49
|
export const ParquetColumnarLoader: LoaderWithParser<
|
|
44
50
|
ColumnarTable,
|
|
45
51
|
ColumnarTableBatch,
|
|
@@ -47,18 +53,24 @@ export const ParquetColumnarLoader: LoaderWithParser<
|
|
|
47
53
|
> = {
|
|
48
54
|
...ParquetColumnarWorkerLoader,
|
|
49
55
|
parse: parseParquetInColumns,
|
|
56
|
+
// @ts-expect-error
|
|
50
57
|
parseFileInBatches: parseParquetFileInColumnarBatches
|
|
51
58
|
};
|
|
52
59
|
|
|
53
|
-
export const ParquetWasmLoader: LoaderWithParser<
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
60
|
+
// export const ParquetWasmLoader: LoaderWithParser<
|
|
61
|
+
// ApacheArrowTable,
|
|
62
|
+
// never,
|
|
63
|
+
// ParquetWasmLoaderOptions
|
|
64
|
+
// > = {
|
|
65
|
+
// ...ParquetWasmWorkerLoader,
|
|
66
|
+
// // @ts-expect-error Getting strange errors in wasm
|
|
67
|
+
// parse: () => {} // parseParquetWasm
|
|
68
|
+
// };
|
|
57
69
|
|
|
58
70
|
// ParquetWriter
|
|
59
71
|
|
|
60
72
|
export {ParquetWriter as _ParquetWriter} from './parquet-writer';
|
|
61
|
-
export {ParquetWasmWriter} from './parquet-wasm-writer';
|
|
73
|
+
// export {ParquetWasmWriter} from './parquet-wasm-writer';
|
|
62
74
|
|
|
63
75
|
// EXPERIMENTAL - expose the internal parquetjs API
|
|
64
76
|
|
|
@@ -73,11 +85,13 @@ export {
|
|
|
73
85
|
convertParquetSchema as convertParquetToArrowSchema
|
|
74
86
|
} from './lib/arrow/convert-schema-from-parquet';
|
|
75
87
|
|
|
76
|
-
// TESTS
|
|
77
|
-
export const _typecheckParquetLoader: LoaderWithParser = ParquetLoader;
|
|
78
|
-
|
|
79
88
|
// Geo Metadata
|
|
80
|
-
|
|
89
|
+
// import {default as GEOPARQUET_METADATA_SCHEMA} from './lib/geo/geoparquet-metadata-schema.json';
|
|
90
|
+
// export {GEOPARQUET_METADATA_SCHEMA};
|
|
91
|
+
export {GEOPARQUET_METADATA_JSON_SCHEMA} from './lib/geo/geoparquet-metadata-schema';
|
|
81
92
|
|
|
82
93
|
export type {GeoMetadata} from './lib/geo/decode-geo-metadata';
|
|
83
94
|
export {getGeoMetadata, setGeoMetadata, unpackGeoMetadata} from './lib/geo/decode-geo-metadata';
|
|
95
|
+
|
|
96
|
+
// Experimental
|
|
97
|
+
export {BufferPolyfill, installBufferPolyfill} from './buffer-polyfill';
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
// loaders.gl, MIT license
|
|
2
|
+
|
|
3
|
+
import type {ArrayRowTable, GeoJSONTable, ObjectRowTable, Schema} from '@loaders.gl/schema';
|
|
4
|
+
import type {Feature, Geometry} from '@loaders.gl/schema';
|
|
5
|
+
import {getTableLength, getTableRowAsObject} from '@loaders.gl/schema';
|
|
6
|
+
// import {binaryToGeometry} from '@loaders.gl/gis';
|
|
7
|
+
import {WKBLoader, WKTLoader} from '@loaders.gl/wkt';
|
|
8
|
+
|
|
9
|
+
import {GeoColumnMetadata, getGeoMetadata} from './decode-geo-metadata';
|
|
10
|
+
|
|
11
|
+
/** TODO - move to loaders.gl/gis? */
|
|
12
|
+
export function convertWKBTableToGeoJSON(
|
|
13
|
+
table: ArrayRowTable | ObjectRowTable,
|
|
14
|
+
schema: Schema
|
|
15
|
+
): GeoJSONTable {
|
|
16
|
+
const geoMetadata = getGeoMetadata(schema);
|
|
17
|
+
const primaryColumn = geoMetadata?.primary_column;
|
|
18
|
+
if (!primaryColumn) {
|
|
19
|
+
throw new Error('no geometry column');
|
|
20
|
+
}
|
|
21
|
+
const columnMetadata = geoMetadata.columns[primaryColumn];
|
|
22
|
+
|
|
23
|
+
const features: Feature[] = [];
|
|
24
|
+
|
|
25
|
+
const length = getTableLength(table);
|
|
26
|
+
for (let rowIndex = 0; rowIndex < length; rowIndex++) {
|
|
27
|
+
const row = getTableRowAsObject(table, rowIndex);
|
|
28
|
+
const geometry = parseGeometry(row[primaryColumn], columnMetadata);
|
|
29
|
+
delete row[primaryColumn];
|
|
30
|
+
const feature: Feature = {type: 'Feature', geometry: geometry!, properties: row};
|
|
31
|
+
features.push(feature);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
return {shape: 'geojson-table', schema, type: 'FeatureCollection', features};
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
function parseGeometry(geometry: unknown, columnMetadata: GeoColumnMetadata): Geometry | null {
|
|
38
|
+
switch (columnMetadata.encoding) {
|
|
39
|
+
case 'wkt':
|
|
40
|
+
return WKTLoader.parseTextSync?.(geometry as string) || null;
|
|
41
|
+
case 'wkb':
|
|
42
|
+
default:
|
|
43
|
+
const arrayBuffer = ArrayBuffer.isView(geometry)
|
|
44
|
+
? geometry.buffer.slice(geometry.byteOffset, geometry.byteOffset + geometry.byteLength)
|
|
45
|
+
: (geometry as ArrayBuffer);
|
|
46
|
+
const geojson = WKBLoader.parseSync?.(arrayBuffer, {
|
|
47
|
+
wkb: {shape: 'geometry'}
|
|
48
|
+
}) as unknown as Geometry;
|
|
49
|
+
return geojson; // binaryGeometry ? binaryToGeometry(binaryGeometry) : null;
|
|
50
|
+
// const binaryGeometry = WKBLoader.parseSync?.(geometry);
|
|
51
|
+
// ts-ignore
|
|
52
|
+
// return binaryGeometry ? binaryToGeometry(binaryGeometry) : null;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
@@ -3,7 +3,28 @@ import {Schema, Field} from '@loaders.gl/schema';
|
|
|
3
3
|
|
|
4
4
|
/* eslint-disable camelcase */
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
type GeometryType =
|
|
7
|
+
| 'Point'
|
|
8
|
+
| 'LineString'
|
|
9
|
+
| 'Polygon'
|
|
10
|
+
| 'MultiPoint'
|
|
11
|
+
| 'MultiLineString'
|
|
12
|
+
| 'MultiPolygon'
|
|
13
|
+
| 'GeometryCollection'
|
|
14
|
+
| 'Point Z'
|
|
15
|
+
| 'LineString Z'
|
|
16
|
+
| 'Polygon Z'
|
|
17
|
+
| 'MultiPoint Z'
|
|
18
|
+
| 'MultiLineString Z'
|
|
19
|
+
| 'MultiPolygon Z'
|
|
20
|
+
| 'GeometryCollection Z';
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* A geoarrow / geoparquet geo metadata object
|
|
24
|
+
* (stored in stringified form in the top level metadata 'geo' key)
|
|
25
|
+
* @see https://github.com/opengeospatial/geoparquet/blob/main/format-specs/geoparquet.md
|
|
26
|
+
* @see https://github.com/geoarrow/geoarrow/blob/main/metadata.md
|
|
27
|
+
* */
|
|
7
28
|
export type GeoMetadata = {
|
|
8
29
|
version?: string;
|
|
9
30
|
primary_column?: string;
|
|
@@ -13,32 +34,55 @@ export type GeoMetadata = {
|
|
|
13
34
|
|
|
14
35
|
/** A geoarrow / geoparquet geo metadata for one geometry column */
|
|
15
36
|
export type GeoColumnMetadata = {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
edges?:
|
|
37
|
+
encoding: 'wkb' | 'wkt';
|
|
38
|
+
geometry_types: GeometryType[];
|
|
39
|
+
crs?: object | null;
|
|
40
|
+
orientation?: 'counterclockwise';
|
|
41
|
+
bbox?: [number, number, number, number] | [number, number, number, number, number, number];
|
|
42
|
+
edges?: 'planar' | 'spherical';
|
|
43
|
+
epoch?: number;
|
|
22
44
|
[key: string]: unknown;
|
|
23
45
|
};
|
|
24
46
|
|
|
25
|
-
/**
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
47
|
+
/** Parse a key with stringified arrow metadata */
|
|
48
|
+
export function parseJSONStringMetadata(
|
|
49
|
+
schema: Schema,
|
|
50
|
+
metadataKey: string
|
|
51
|
+
): Record<string, unknown> | null {
|
|
52
|
+
const stringifiedMetadata = schema.metadata[metadataKey];
|
|
53
|
+
if (!stringifiedMetadata) {
|
|
31
54
|
return null;
|
|
32
55
|
}
|
|
33
56
|
|
|
34
57
|
try {
|
|
35
|
-
const
|
|
36
|
-
|
|
58
|
+
const metadata = JSON.parse(stringifiedMetadata);
|
|
59
|
+
if (!metadata || typeof metadata !== 'object') {
|
|
60
|
+
return null;
|
|
61
|
+
}
|
|
62
|
+
return metadata;
|
|
37
63
|
} catch {
|
|
38
64
|
return null;
|
|
39
65
|
}
|
|
40
66
|
}
|
|
41
67
|
|
|
68
|
+
export function unpackJSONStringMetadata(schema: Schema, metadataKey: string): void {
|
|
69
|
+
const json = parseJSONStringMetadata(schema, metadataKey);
|
|
70
|
+
for (const [key, value] of Object.entries(json || {})) {
|
|
71
|
+
schema.metadata[`${metadataKey}.${key}`] =
|
|
72
|
+
typeof value === 'string' ? value : JSON.stringify(value);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
// GEO METADATA
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* Reads the GeoMetadata object from the metadata
|
|
80
|
+
* @note geoarrow / parquet schema is stringified into a single key-value pair in the parquet metadata */
|
|
81
|
+
export function getGeoMetadata(schema: Schema): GeoMetadata | null {
|
|
82
|
+
const geoMetadata = parseJSONStringMetadata(schema, 'geo') as GeoMetadata;
|
|
83
|
+
return geoMetadata;
|
|
84
|
+
}
|
|
85
|
+
|
|
42
86
|
/**
|
|
43
87
|
* Stores a geoarrow / geoparquet geo metadata object in the schema
|
|
44
88
|
* @note geoarrow / geoparquet geo metadata is a single stringified JSON field
|
|
@@ -83,6 +127,7 @@ export function unpackGeoMetadata(schema: Schema): void {
|
|
|
83
127
|
}
|
|
84
128
|
}
|
|
85
129
|
|
|
130
|
+
// eslint-disable-next-line complexity
|
|
86
131
|
function unpackGeoFieldMetadata(field: Field, columnMetadata): void {
|
|
87
132
|
for (const [key, value] of Object.entries(columnMetadata || {})) {
|
|
88
133
|
switch (key) {
|
|
@@ -90,7 +135,28 @@ function unpackGeoFieldMetadata(field: Field, columnMetadata): void {
|
|
|
90
135
|
setFieldMetadata(field, `geo.${key}`, (value as string[]).join(','));
|
|
91
136
|
break;
|
|
92
137
|
case 'bbox':
|
|
138
|
+
setFieldMetadata(field, `geo.crs.${key}`, JSON.stringify(value));
|
|
139
|
+
break;
|
|
93
140
|
case 'crs':
|
|
141
|
+
for (const [crsKey, crsValue] of Object.entries(value || {})) {
|
|
142
|
+
switch (crsKey) {
|
|
143
|
+
case 'id':
|
|
144
|
+
const crsId =
|
|
145
|
+
typeof crsValue === 'object'
|
|
146
|
+
? `${crsValue?.authority}:${crsValue?.code}`
|
|
147
|
+
: JSON.stringify(crsValue);
|
|
148
|
+
setFieldMetadata(field, `geo.crs.${crsKey}`, crsId);
|
|
149
|
+
break;
|
|
150
|
+
default:
|
|
151
|
+
setFieldMetadata(
|
|
152
|
+
field,
|
|
153
|
+
`geo.crs.${crsKey}`,
|
|
154
|
+
typeof crsValue === 'string' ? crsValue : JSON.stringify(crsValue)
|
|
155
|
+
);
|
|
156
|
+
break;
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
break;
|
|
94
160
|
case 'edges':
|
|
95
161
|
default:
|
|
96
162
|
setFieldMetadata(
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"title": "GeoParquet",
|
|
4
|
+
"description": "Parquet metadata included in the geo field.",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"required": ["version", "primary_column", "columns"],
|
|
7
|
+
"properties": {
|
|
8
|
+
"version": {"type": "string", "const": "1.0.0-beta.1"},
|
|
9
|
+
"primary_column": {"type": "string", "minLength": 1},
|
|
10
|
+
"columns": {
|
|
11
|
+
"type": "object",
|
|
12
|
+
"minProperties": 1,
|
|
13
|
+
"patternProperties": {
|
|
14
|
+
".+": {
|
|
15
|
+
"type": "object",
|
|
16
|
+
"required": ["encoding", "geometry_types"],
|
|
17
|
+
"properties": {
|
|
18
|
+
"encoding": {"type": "string", "const": "WKB"},
|
|
19
|
+
"geometry_types": {
|
|
20
|
+
"type": "array",
|
|
21
|
+
"uniqueItems": true,
|
|
22
|
+
"items": {
|
|
23
|
+
"type": "string",
|
|
24
|
+
"pattern": "^(GeometryCollection|(Multi)?(Point|LineString|Polygon))( Z)?$"
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
"crs": {
|
|
28
|
+
"oneOf": [
|
|
29
|
+
{
|
|
30
|
+
"$ref": "https://proj.org/schemas/v0.5/projjson.schema.json"
|
|
31
|
+
},
|
|
32
|
+
{"type": "null"}
|
|
33
|
+
]
|
|
34
|
+
},
|
|
35
|
+
"edges": {"type": "string", "enum": ["planar", "spherical"]},
|
|
36
|
+
"orientation": {"type": "string", "const": "counterclockwise"},
|
|
37
|
+
"bbox": {
|
|
38
|
+
"type": "array",
|
|
39
|
+
"items": {"type": "number"},
|
|
40
|
+
"oneOf": [
|
|
41
|
+
{
|
|
42
|
+
"description": "2D bbox consisting of (xmin, ymin, xmax, ymax)",
|
|
43
|
+
"minItems": 4,
|
|
44
|
+
"maxItems": 4
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"description": "3D bbox consisting of (xmin, ymin, zmin, xmax, ymax, zmax)",
|
|
48
|
+
"minItems": 6,
|
|
49
|
+
"maxItems": 6
|
|
50
|
+
}
|
|
51
|
+
]
|
|
52
|
+
},
|
|
53
|
+
"epoch": {"type": "number"}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
"additionalProperties": false
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* @see https://github.com/geoarrow/geoarrow/blob/main/metadata.md
|
|
8
8
|
* @see https://github.com/opengeospatial/geoparquet/blob/main/format-specs/geoparquet.md
|
|
9
9
|
*/
|
|
10
|
-
export
|
|
10
|
+
export const GEOPARQUET_METADATA_JSON_SCHEMA = {
|
|
11
11
|
$schema: 'http://json-schema.org/draft-07/schema#',
|
|
12
12
|
title: 'GeoParquet',
|
|
13
13
|
description: 'Parquet metadata included in the geo field.',
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
// loaders.gl
|
|
2
|
+
import {Schema} from '@loaders.gl/schema';
|
|
3
|
+
import {ParquetReader} from '../../parquetjs/parser/parquet-reader';
|
|
4
|
+
import {convertParquetSchema} from '../arrow/convert-schema-from-parquet';
|
|
5
|
+
import {unpackGeoMetadata, unpackJSONStringMetadata} from '../geo/decode-geo-metadata';
|
|
6
|
+
|
|
7
|
+
export async function getSchemaFromParquetReader(reader: ParquetReader): Promise<Schema> {
|
|
8
|
+
const parquetSchema = await reader.getSchema();
|
|
9
|
+
const parquetMetadata = await reader.getFileMetadata();
|
|
10
|
+
const schema = convertParquetSchema(parquetSchema, parquetMetadata);
|
|
11
|
+
unpackGeoMetadata(schema);
|
|
12
|
+
unpackJSONStringMetadata(schema, 'pandas');
|
|
13
|
+
return schema;
|
|
14
|
+
}
|
|
@@ -1,23 +1,25 @@
|
|
|
1
1
|
// loaders.gl, MIT license
|
|
2
2
|
|
|
3
|
-
// import type {LoaderWithParser, Loader, LoaderOptions} from '@loaders.gl/loader-utils';
|
|
4
3
|
import {ColumnarTable, ColumnarTableBatch, Schema} from '@loaders.gl/schema';
|
|
5
4
|
import {makeReadableFile} from '@loaders.gl/loader-utils';
|
|
6
5
|
import type {ParquetLoaderOptions} from '../../parquet-loader';
|
|
7
6
|
import {ParquetReader} from '../../parquetjs/parser/parquet-reader';
|
|
8
7
|
import {ParquetRowGroup} from '../../parquetjs/schema/declare';
|
|
9
8
|
import {ParquetSchema} from '../../parquetjs/schema/schema';
|
|
10
|
-
import {convertParquetSchema} from '../arrow/convert-schema-from-parquet';
|
|
11
9
|
import {materializeColumns} from '../../parquetjs/schema/shred';
|
|
12
|
-
|
|
13
|
-
import {
|
|
10
|
+
import {getSchemaFromParquetReader} from './get-parquet-schema';
|
|
11
|
+
import {installBufferPolyfill} from '../../buffer-polyfill';
|
|
14
12
|
|
|
15
13
|
export async function parseParquetInColumns(
|
|
16
14
|
arrayBuffer: ArrayBuffer,
|
|
17
15
|
options?: ParquetLoaderOptions
|
|
18
16
|
): Promise<ColumnarTable> {
|
|
17
|
+
installBufferPolyfill();
|
|
19
18
|
const blob = new Blob([arrayBuffer]);
|
|
20
|
-
|
|
19
|
+
const file = makeReadableFile(blob);
|
|
20
|
+
const reader = new ParquetReader(file);
|
|
21
|
+
|
|
22
|
+
for await (const batch of parseParquetFileInColumnarBatches(reader, options)) {
|
|
21
23
|
return {
|
|
22
24
|
shape: 'columnar-table',
|
|
23
25
|
schema: batch.schema,
|
|
@@ -28,24 +30,24 @@ export async function parseParquetInColumns(
|
|
|
28
30
|
}
|
|
29
31
|
|
|
30
32
|
export async function* parseParquetFileInColumnarBatches(
|
|
31
|
-
|
|
33
|
+
reader: ParquetReader,
|
|
32
34
|
options?: ParquetLoaderOptions
|
|
33
35
|
): AsyncIterable<ColumnarTableBatch> {
|
|
34
|
-
|
|
35
|
-
const
|
|
36
|
+
// Extract schema and geo metadata
|
|
37
|
+
const schema = await getSchemaFromParquetReader(reader);
|
|
38
|
+
|
|
36
39
|
const parquetSchema = await reader.getSchema();
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
unpackGeoMetadata(schema);
|
|
40
|
+
|
|
41
|
+
// Iterate over row batches
|
|
40
42
|
const rowGroups = reader.rowGroupIterator(options?.parquet);
|
|
41
43
|
for await (const rowGroup of rowGroups) {
|
|
42
|
-
yield convertRowGroupToTableBatch(
|
|
44
|
+
yield convertRowGroupToTableBatch(rowGroup, parquetSchema, schema);
|
|
43
45
|
}
|
|
44
46
|
}
|
|
45
47
|
|
|
46
48
|
function convertRowGroupToTableBatch(
|
|
47
|
-
parquetSchema: ParquetSchema,
|
|
48
49
|
rowGroup: ParquetRowGroup,
|
|
50
|
+
parquetSchema: ParquetSchema,
|
|
49
51
|
schema: Schema
|
|
50
52
|
): ColumnarTableBatch {
|
|
51
53
|
// const data = convertParquetRowGroupToColumns(schema, rowGroup);
|
|
@@ -1,44 +1,72 @@
|
|
|
1
1
|
// import type {LoaderWithParser, Loader, LoaderOptions} from '@loaders.gl/loader-utils';
|
|
2
2
|
// import {ColumnarTableBatch} from '@loaders.gl/schema';
|
|
3
3
|
import {makeReadableFile} from '@loaders.gl/loader-utils';
|
|
4
|
-
import {ObjectRowTable, ObjectRowTableBatch} from '@loaders.gl/schema';
|
|
4
|
+
import {GeoJSONTable, ObjectRowTable, ObjectRowTableBatch} from '@loaders.gl/schema';
|
|
5
5
|
import type {ParquetLoaderOptions} from '../../parquet-loader';
|
|
6
6
|
import type {ParquetRow} from '../../parquetjs/schema/declare';
|
|
7
7
|
import {ParquetReader} from '../../parquetjs/parser/parquet-reader';
|
|
8
|
+
import {getSchemaFromParquetReader} from './get-parquet-schema';
|
|
9
|
+
import {installBufferPolyfill} from '../../buffer-polyfill';
|
|
10
|
+
import {convertWKBTableToGeoJSON} from '../geo/decode-geo-column';
|
|
8
11
|
|
|
9
12
|
export async function parseParquet(
|
|
10
13
|
arrayBuffer: ArrayBuffer,
|
|
11
14
|
options?: ParquetLoaderOptions
|
|
12
|
-
): Promise<ObjectRowTable> {
|
|
15
|
+
): Promise<ObjectRowTable | GeoJSONTable> {
|
|
16
|
+
installBufferPolyfill();
|
|
17
|
+
|
|
13
18
|
const blob = new Blob([arrayBuffer]);
|
|
19
|
+
const file = makeReadableFile(blob);
|
|
20
|
+
const reader = new ParquetReader(file, {
|
|
21
|
+
preserveBinary: options?.parquet?.preserveBinary
|
|
22
|
+
});
|
|
23
|
+
|
|
24
|
+
const schema = await getSchemaFromParquetReader(reader);
|
|
14
25
|
|
|
15
26
|
const rows: ParquetRow[] = [];
|
|
16
|
-
|
|
27
|
+
|
|
28
|
+
const rowBatches = reader.rowBatchIterator(options?.parquet);
|
|
29
|
+
for await (const rowBatch of rowBatches) {
|
|
17
30
|
// we have only one input batch so return
|
|
18
|
-
for (const row of
|
|
31
|
+
for (const row of rowBatch) {
|
|
19
32
|
rows.push(row);
|
|
20
33
|
}
|
|
21
34
|
}
|
|
22
|
-
|
|
23
|
-
return {
|
|
35
|
+
const objectRowTable: ObjectRowTable = {
|
|
24
36
|
shape: 'object-row-table',
|
|
25
|
-
|
|
37
|
+
schema,
|
|
26
38
|
data: rows
|
|
27
39
|
};
|
|
40
|
+
|
|
41
|
+
const shape = options?.parquet?.shape;
|
|
42
|
+
switch (shape) {
|
|
43
|
+
case 'object-row-table':
|
|
44
|
+
return objectRowTable;
|
|
45
|
+
|
|
46
|
+
case 'geojson-table':
|
|
47
|
+
try {
|
|
48
|
+
return convertWKBTableToGeoJSON(objectRowTable, schema);
|
|
49
|
+
} catch (error) {
|
|
50
|
+
return objectRowTable;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
default:
|
|
54
|
+
throw new Error(shape);
|
|
55
|
+
}
|
|
28
56
|
}
|
|
29
57
|
|
|
30
58
|
export async function* parseParquetFileInBatches(
|
|
31
|
-
|
|
59
|
+
reader: ParquetReader,
|
|
32
60
|
options?: ParquetLoaderOptions
|
|
33
61
|
): AsyncIterable<ObjectRowTableBatch> {
|
|
34
|
-
const
|
|
35
|
-
const reader = new ParquetReader(file);
|
|
62
|
+
const schema = await getSchemaFromParquetReader(reader);
|
|
36
63
|
const rowBatches = reader.rowBatchIterator(options?.parquet);
|
|
37
64
|
for await (const rows of rowBatches) {
|
|
38
65
|
yield {
|
|
66
|
+
batchType: 'data',
|
|
39
67
|
shape: 'object-row-table',
|
|
68
|
+
schema,
|
|
40
69
|
data: rows,
|
|
41
|
-
batchType: 'data',
|
|
42
70
|
length: rows.length
|
|
43
71
|
};
|
|
44
72
|
}
|
package/src/parquet-loader.ts
CHANGED
|
@@ -4,33 +4,38 @@ import type {
|
|
|
4
4
|
ObjectRowTable,
|
|
5
5
|
ObjectRowTableBatch,
|
|
6
6
|
ColumnarTable,
|
|
7
|
-
ColumnarTableBatch
|
|
7
|
+
ColumnarTableBatch,
|
|
8
|
+
GeoJSONTable,
|
|
9
|
+
GeoJSONTableBatch
|
|
8
10
|
} from '@loaders.gl/schema';
|
|
9
11
|
|
|
10
12
|
// __VERSION__ is injected by babel-plugin-version-inline
|
|
11
13
|
// @ts-ignore TS2304: Cannot find name '__VERSION__'.
|
|
12
14
|
const VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';
|
|
13
15
|
|
|
16
|
+
/** Options for the parquet loader */
|
|
14
17
|
export type ParquetLoaderOptions = LoaderOptions & {
|
|
18
|
+
/** Options for the parquet loader */
|
|
15
19
|
parquet?: {
|
|
16
|
-
|
|
17
|
-
|
|
20
|
+
/** Format of returned parsed data */
|
|
21
|
+
shape?: 'object-row-table' | 'geojson-table';
|
|
22
|
+
/** Restrict which columns that are parsed from the table. Can save significant memory. */
|
|
18
23
|
columnList?: string[] | string[][];
|
|
24
|
+
/** If true, binary values are not converted to strings */
|
|
25
|
+
preserveBinary?: boolean;
|
|
26
|
+
/** @deprecated not used? Set to true to indicate that this is a geoparquet file. */
|
|
19
27
|
geoparquet?: boolean;
|
|
28
|
+
/** @deprecated URL to override loaders.gl/core parser system */
|
|
29
|
+
url?: string;
|
|
20
30
|
};
|
|
21
31
|
};
|
|
22
32
|
|
|
23
|
-
const DEFAULT_PARQUET_LOADER_OPTIONS: ParquetLoaderOptions = {
|
|
24
|
-
parquet: {
|
|
25
|
-
type: 'object-row-table',
|
|
26
|
-
url: undefined,
|
|
27
|
-
columnList: [],
|
|
28
|
-
geoparquet: true
|
|
29
|
-
}
|
|
30
|
-
};
|
|
31
|
-
|
|
32
33
|
/** ParquetJS table loader */
|
|
33
|
-
export const ParquetLoader: Loader<
|
|
34
|
+
export const ParquetLoader: Loader<
|
|
35
|
+
ObjectRowTable | GeoJSONTable,
|
|
36
|
+
ObjectRowTableBatch | GeoJSONTableBatch,
|
|
37
|
+
ParquetLoaderOptions
|
|
38
|
+
> = {
|
|
34
39
|
name: 'Apache Parquet',
|
|
35
40
|
id: 'parquet',
|
|
36
41
|
module: 'parquet',
|
|
@@ -41,10 +46,18 @@ export const ParquetLoader: Loader<ObjectRowTable, ObjectRowTableBatch, ParquetL
|
|
|
41
46
|
mimeTypes: ['application/octet-stream'],
|
|
42
47
|
binary: true,
|
|
43
48
|
tests: ['PAR1', 'PARE'],
|
|
44
|
-
options:
|
|
49
|
+
options: {
|
|
50
|
+
parquet: {
|
|
51
|
+
shape: 'object-row-table',
|
|
52
|
+
columnList: [],
|
|
53
|
+
geoparquet: true,
|
|
54
|
+
url: undefined,
|
|
55
|
+
preserveBinary: false
|
|
56
|
+
}
|
|
57
|
+
}
|
|
45
58
|
};
|
|
46
59
|
|
|
47
|
-
export const
|
|
60
|
+
export const ParquetColumnnarLoader: Loader<
|
|
48
61
|
ColumnarTable,
|
|
49
62
|
ColumnarTableBatch,
|
|
50
63
|
ParquetLoaderOptions
|
|
@@ -59,5 +72,5 @@ export const ParqueColumnnartLoader: Loader<
|
|
|
59
72
|
mimeTypes: ['application/octet-stream'],
|
|
60
73
|
binary: true,
|
|
61
74
|
tests: ['PAR1', 'PARE'],
|
|
62
|
-
options:
|
|
75
|
+
options: ParquetLoader.options
|
|
63
76
|
};
|
|
@@ -1,25 +1,22 @@
|
|
|
1
|
+
// loaders.gl, MIT license
|
|
2
|
+
|
|
1
3
|
import type {Loader, LoaderOptions} from '@loaders.gl/loader-utils';
|
|
4
|
+
import type {Table as ArrowTable} from 'apache-arrow';
|
|
2
5
|
|
|
3
6
|
// __VERSION__ is injected by babel-plugin-version-inline
|
|
4
7
|
// @ts-ignore TS2304: Cannot find name '__VERSION__'.
|
|
5
8
|
const VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';
|
|
6
9
|
|
|
7
|
-
|
|
10
|
+
/** Parquet WASM loader options */
|
|
11
|
+
export type ParquetWasmLoaderOptions = LoaderOptions & {
|
|
8
12
|
parquet?: {
|
|
9
13
|
type?: 'arrow-table';
|
|
10
14
|
wasmUrl?: string;
|
|
11
15
|
};
|
|
12
16
|
};
|
|
13
17
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
type: 'arrow-table',
|
|
17
|
-
wasmUrl: 'https://unpkg.com/parquet-wasm@0.3.1/esm2/arrow1_bg.wasm'
|
|
18
|
-
}
|
|
19
|
-
};
|
|
20
|
-
|
|
21
|
-
/** ParquetJS table loader */
|
|
22
|
-
export const ParquetWasmLoader = {
|
|
18
|
+
/** Parquet WASM table loader */
|
|
19
|
+
export const ParquetWasmLoader: Loader<ArrowTable, never, ParquetWasmLoaderOptions> = {
|
|
23
20
|
name: 'Apache Parquet',
|
|
24
21
|
id: 'parquet-wasm',
|
|
25
22
|
module: 'parquet',
|
|
@@ -30,7 +27,10 @@ export const ParquetWasmLoader = {
|
|
|
30
27
|
mimeTypes: ['application/octet-stream'],
|
|
31
28
|
binary: true,
|
|
32
29
|
tests: ['PAR1', 'PARE'],
|
|
33
|
-
options:
|
|
30
|
+
options: {
|
|
31
|
+
parquet: {
|
|
32
|
+
type: 'arrow-table',
|
|
33
|
+
wasmUrl: 'https://unpkg.com/parquet-wasm@0.3.1/esm2/arrow1_bg.wasm'
|
|
34
|
+
}
|
|
35
|
+
}
|
|
34
36
|
};
|
|
35
|
-
|
|
36
|
-
export const _typecheckParquetLoader: Loader = ParquetWasmLoader;
|