@loaders.gl/parquet 4.0.0-alpha.9 → 4.0.0-beta.2
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
|
@@ -1,17 +1,15 @@
|
|
|
1
|
+
// loaders.gl, MIT license
|
|
2
|
+
|
|
1
3
|
import type {Writer} from '@loaders.gl/loader-utils';
|
|
2
4
|
import {encode, ParquetWriterOptions} from './lib/wasm/encode-parquet-wasm';
|
|
5
|
+
import type {Table as ArrowTable} from 'apache-arrow';
|
|
3
6
|
|
|
4
7
|
// __VERSION__ is injected by babel-plugin-version-inline
|
|
5
8
|
// @ts-ignore TS2304: Cannot find name '__VERSION__'.
|
|
6
9
|
const VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';
|
|
7
10
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
wasmUrl: 'https://unpkg.com/parquet-wasm@0.3.1/esm2/arrow1_bg.wasm'
|
|
11
|
-
}
|
|
12
|
-
};
|
|
13
|
-
|
|
14
|
-
export const ParquetWasmWriter: Writer = {
|
|
11
|
+
/** Parquet WASM writer */
|
|
12
|
+
export const ParquetWasmWriter: Writer<ArrowTable, never, ParquetWriterOptions> = {
|
|
15
13
|
name: 'Apache Parquet',
|
|
16
14
|
id: 'parquet-wasm',
|
|
17
15
|
module: 'parquet',
|
|
@@ -20,5 +18,9 @@ export const ParquetWasmWriter: Writer = {
|
|
|
20
18
|
mimeTypes: ['application/octet-stream'],
|
|
21
19
|
encode,
|
|
22
20
|
binary: true,
|
|
23
|
-
options:
|
|
21
|
+
options: {
|
|
22
|
+
parquet: {
|
|
23
|
+
wasmUrl: 'https://unpkg.com/parquet-wasm@0.3.1/esm2/arrow1_bg.wasm'
|
|
24
|
+
}
|
|
25
|
+
}
|
|
24
26
|
};
|
package/src/parquet-writer.ts
CHANGED
|
@@ -9,8 +9,6 @@ const VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';
|
|
|
9
9
|
|
|
10
10
|
export type ParquetWriterOptions = {};
|
|
11
11
|
|
|
12
|
-
const DEFAULT_PARQUET_LOADER_OPTIONS = {};
|
|
13
|
-
|
|
14
12
|
export const ParquetWriter: Writer<Table, TableBatch, ParquetWriterOptions> = {
|
|
15
13
|
name: 'Apache Parquet',
|
|
16
14
|
id: 'parquet',
|
|
@@ -20,7 +18,7 @@ export const ParquetWriter: Writer<Table, TableBatch, ParquetWriterOptions> = {
|
|
|
20
18
|
mimeTypes: ['application/octet-stream'],
|
|
21
19
|
encodeSync,
|
|
22
20
|
binary: true,
|
|
23
|
-
options:
|
|
21
|
+
options: {}
|
|
24
22
|
};
|
|
25
23
|
|
|
26
24
|
function encodeSync(data, options?: ParquetWriterOptions) {
|
|
@@ -200,6 +200,7 @@ function decodeValues_BYTE_ARRAY(cursor: CursorBuffer, count: number): Buffer[]
|
|
|
200
200
|
for (let i = 0; i < count; i++) {
|
|
201
201
|
const len = cursor.buffer.readUInt32LE(cursor.offset);
|
|
202
202
|
cursor.offset += 4;
|
|
203
|
+
// values.push(cursor.buffer.buffer.slice(cursor.offset, cursor.offset + len));
|
|
203
204
|
values.push(cursor.buffer.slice(cursor.offset, cursor.offset + len));
|
|
204
205
|
cursor.offset += len;
|
|
205
206
|
}
|
|
@@ -632,6 +632,7 @@ function encodeFooter(
|
|
|
632
632
|
|
|
633
633
|
const metadataEncoded = serializeThrift(metadata);
|
|
634
634
|
const footerEncoded = Buffer.alloc(metadataEncoded.length + 8);
|
|
635
|
+
|
|
635
636
|
metadataEncoded.copy(footerEncoded);
|
|
636
637
|
footerEncoded.writeUInt32LE(metadataEncoded.length, metadataEncoded.length);
|
|
637
638
|
footerEncoded.write(PARQUET_MAGIC, metadataEncoded.length + 4);
|
|
@@ -4,6 +4,10 @@
|
|
|
4
4
|
* Autogenerated by @creditkarma/thrift-typescript v3.7.2
|
|
5
5
|
* DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
|
|
6
6
|
*/
|
|
7
|
+
export {Buffer} from '../../buffer-polyfill/install-buffer-polyfill';
|
|
8
|
+
|
|
9
|
+
export {TBufferedTransport, TCompactProtocol, TFramedTransport} from 'thrift';
|
|
10
|
+
|
|
7
11
|
export * from './Type';
|
|
8
12
|
export * from './ConvertedType';
|
|
9
13
|
export * from './FieldRepetitionType';
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import {
|
|
3
3
|
ParquetCodec,
|
|
4
4
|
ParquetColumnChunk,
|
|
5
|
-
|
|
5
|
+
ParquetReaderContext,
|
|
6
6
|
ParquetPageData,
|
|
7
7
|
ParquetType,
|
|
8
8
|
PrimitiveType,
|
|
@@ -31,7 +31,7 @@ import {decodePageHeader, getThriftEnum, getBitWidth} from '../utils/read-utils'
|
|
|
31
31
|
*/
|
|
32
32
|
export async function decodeDataPages(
|
|
33
33
|
buffer: Buffer,
|
|
34
|
-
|
|
34
|
+
context: ParquetReaderContext
|
|
35
35
|
): Promise<ParquetColumnChunk> {
|
|
36
36
|
const cursor: CursorBuffer = {
|
|
37
37
|
buffer,
|
|
@@ -47,15 +47,15 @@ export async function decodeDataPages(
|
|
|
47
47
|
count: 0
|
|
48
48
|
};
|
|
49
49
|
|
|
50
|
-
let dictionary =
|
|
50
|
+
let dictionary = context.dictionary || [];
|
|
51
51
|
|
|
52
52
|
while (
|
|
53
53
|
// @ts-ignore size can be undefined
|
|
54
54
|
cursor.offset < cursor.size &&
|
|
55
|
-
(!
|
|
55
|
+
(!context.numValues || data.dlevels.length < Number(context.numValues))
|
|
56
56
|
) {
|
|
57
57
|
// Looks like we have to decode these in sequence due to cursor updates?
|
|
58
|
-
const page = await decodePage(cursor,
|
|
58
|
+
const page = await decodePage(cursor, context);
|
|
59
59
|
|
|
60
60
|
if (page.dictionary) {
|
|
61
61
|
dictionary = page.dictionary;
|
|
@@ -88,13 +88,14 @@ export async function decodeDataPages(
|
|
|
88
88
|
/**
|
|
89
89
|
* Decode parquet page based on page type
|
|
90
90
|
* @param cursor
|
|
91
|
-
* @param
|
|
91
|
+
* @param context
|
|
92
92
|
*/
|
|
93
93
|
export async function decodePage(
|
|
94
94
|
cursor: CursorBuffer,
|
|
95
|
-
|
|
95
|
+
context: ParquetReaderContext
|
|
96
96
|
): Promise<ParquetPageData> {
|
|
97
97
|
let page;
|
|
98
|
+
|
|
98
99
|
const {pageHeader, length} = decodePageHeader(cursor.buffer, cursor.offset);
|
|
99
100
|
cursor.offset += length;
|
|
100
101
|
|
|
@@ -102,14 +103,14 @@ export async function decodePage(
|
|
|
102
103
|
|
|
103
104
|
switch (pageType) {
|
|
104
105
|
case 'DATA_PAGE':
|
|
105
|
-
page = await decodeDataPage(cursor, pageHeader,
|
|
106
|
+
page = await decodeDataPage(cursor, pageHeader, context);
|
|
106
107
|
break;
|
|
107
108
|
case 'DATA_PAGE_V2':
|
|
108
|
-
page = await decodeDataPageV2(cursor, pageHeader,
|
|
109
|
+
page = await decodeDataPageV2(cursor, pageHeader, context);
|
|
109
110
|
break;
|
|
110
111
|
case 'DICTIONARY_PAGE':
|
|
111
112
|
page = {
|
|
112
|
-
dictionary: await decodeDictionaryPage(cursor, pageHeader,
|
|
113
|
+
dictionary: await decodeDictionaryPage(cursor, pageHeader, context),
|
|
113
114
|
pageHeader
|
|
114
115
|
};
|
|
115
116
|
break;
|
|
@@ -225,7 +226,7 @@ function decodeValues(
|
|
|
225
226
|
async function decodeDataPage(
|
|
226
227
|
cursor: CursorBuffer,
|
|
227
228
|
header: PageHeader,
|
|
228
|
-
|
|
229
|
+
context: ParquetReaderContext
|
|
229
230
|
): Promise<ParquetPageData> {
|
|
230
231
|
const cursorEnd = cursor.offset + header.compressed_page_size;
|
|
231
232
|
const valueCount = header.data_page_header?.num_values;
|
|
@@ -233,9 +234,9 @@ async function decodeDataPage(
|
|
|
233
234
|
/* uncompress page */
|
|
234
235
|
let dataCursor = cursor;
|
|
235
236
|
|
|
236
|
-
if (
|
|
237
|
+
if (context.compression !== 'UNCOMPRESSED') {
|
|
237
238
|
const valuesBuf = await decompress(
|
|
238
|
-
|
|
239
|
+
context.compression,
|
|
239
240
|
cursor.buffer.slice(cursor.offset, cursorEnd),
|
|
240
241
|
header.uncompressed_page_size
|
|
241
242
|
);
|
|
@@ -255,9 +256,9 @@ async function decodeDataPage(
|
|
|
255
256
|
// tslint:disable-next-line:prefer-array-literal
|
|
256
257
|
let rLevels = new Array(valueCount);
|
|
257
258
|
|
|
258
|
-
if (
|
|
259
|
+
if (context.column.rLevelMax > 0) {
|
|
259
260
|
rLevels = decodeValues(PARQUET_RDLVL_TYPE, rLevelEncoding, dataCursor, valueCount!, {
|
|
260
|
-
bitWidth: getBitWidth(
|
|
261
|
+
bitWidth: getBitWidth(context.column.rLevelMax),
|
|
261
262
|
disableEnvelope: false
|
|
262
263
|
// column: opts.column
|
|
263
264
|
});
|
|
@@ -272,9 +273,9 @@ async function decodeDataPage(
|
|
|
272
273
|
) as ParquetCodec;
|
|
273
274
|
// tslint:disable-next-line:prefer-array-literal
|
|
274
275
|
let dLevels = new Array(valueCount);
|
|
275
|
-
if (
|
|
276
|
+
if (context.column.dLevelMax > 0) {
|
|
276
277
|
dLevels = decodeValues(PARQUET_RDLVL_TYPE, dLevelEncoding, dataCursor, valueCount!, {
|
|
277
|
-
bitWidth: getBitWidth(
|
|
278
|
+
bitWidth: getBitWidth(context.column.dLevelMax),
|
|
278
279
|
disableEnvelope: false
|
|
279
280
|
// column: opts.column
|
|
280
281
|
});
|
|
@@ -283,20 +284,20 @@ async function decodeDataPage(
|
|
|
283
284
|
}
|
|
284
285
|
let valueCountNonNull = 0;
|
|
285
286
|
for (const dlvl of dLevels) {
|
|
286
|
-
if (dlvl ===
|
|
287
|
+
if (dlvl === context.column.dLevelMax) {
|
|
287
288
|
valueCountNonNull++;
|
|
288
289
|
}
|
|
289
290
|
}
|
|
290
291
|
|
|
291
292
|
/* read values */
|
|
292
293
|
const valueEncoding = getThriftEnum(Encoding, header.data_page_header?.encoding!) as ParquetCodec;
|
|
293
|
-
const decodeOptions = {
|
|
294
|
-
typeLength:
|
|
295
|
-
bitWidth:
|
|
294
|
+
const decodeOptions: ParquetCodecOptions = {
|
|
295
|
+
typeLength: context.column.typeLength,
|
|
296
|
+
bitWidth: context.column.typeLength
|
|
296
297
|
};
|
|
297
298
|
|
|
298
299
|
const values = decodeValues(
|
|
299
|
-
|
|
300
|
+
context.column.primitiveType!,
|
|
300
301
|
valueEncoding,
|
|
301
302
|
dataCursor,
|
|
302
303
|
valueCountNonNull,
|
|
@@ -322,7 +323,7 @@ async function decodeDataPage(
|
|
|
322
323
|
async function decodeDataPageV2(
|
|
323
324
|
cursor: CursorBuffer,
|
|
324
325
|
header: PageHeader,
|
|
325
|
-
|
|
326
|
+
context: ParquetReaderContext
|
|
326
327
|
): Promise<ParquetPageData> {
|
|
327
328
|
const cursorEnd = cursor.offset + header.compressed_page_size;
|
|
328
329
|
|
|
@@ -337,9 +338,9 @@ async function decodeDataPageV2(
|
|
|
337
338
|
/* read repetition levels */
|
|
338
339
|
// tslint:disable-next-line:prefer-array-literal
|
|
339
340
|
let rLevels = new Array(valueCount);
|
|
340
|
-
if (
|
|
341
|
+
if (context.column.rLevelMax > 0) {
|
|
341
342
|
rLevels = decodeValues(PARQUET_RDLVL_TYPE, PARQUET_RDLVL_ENCODING, cursor, valueCount!, {
|
|
342
|
-
bitWidth: getBitWidth(
|
|
343
|
+
bitWidth: getBitWidth(context.column.rLevelMax),
|
|
343
344
|
disableEnvelope: true
|
|
344
345
|
});
|
|
345
346
|
} else {
|
|
@@ -349,9 +350,9 @@ async function decodeDataPageV2(
|
|
|
349
350
|
/* read definition levels */
|
|
350
351
|
// tslint:disable-next-line:prefer-array-literal
|
|
351
352
|
let dLevels = new Array(valueCount);
|
|
352
|
-
if (
|
|
353
|
+
if (context.column.dLevelMax > 0) {
|
|
353
354
|
dLevels = decodeValues(PARQUET_RDLVL_TYPE, PARQUET_RDLVL_ENCODING, cursor, valueCount!, {
|
|
354
|
-
bitWidth: getBitWidth(
|
|
355
|
+
bitWidth: getBitWidth(context.column.dLevelMax),
|
|
355
356
|
disableEnvelope: true
|
|
356
357
|
});
|
|
357
358
|
} else {
|
|
@@ -363,7 +364,7 @@ async function decodeDataPageV2(
|
|
|
363
364
|
|
|
364
365
|
if (header.data_page_header_v2?.is_compressed) {
|
|
365
366
|
const valuesBuf = await decompress(
|
|
366
|
-
|
|
367
|
+
context.compression,
|
|
367
368
|
cursor.buffer.slice(cursor.offset, cursorEnd),
|
|
368
369
|
header.uncompressed_page_size
|
|
369
370
|
);
|
|
@@ -378,12 +379,12 @@ async function decodeDataPageV2(
|
|
|
378
379
|
}
|
|
379
380
|
|
|
380
381
|
const decodeOptions = {
|
|
381
|
-
typeLength:
|
|
382
|
-
bitWidth:
|
|
382
|
+
typeLength: context.column.typeLength,
|
|
383
|
+
bitWidth: context.column.typeLength
|
|
383
384
|
};
|
|
384
385
|
|
|
385
386
|
const values = decodeValues(
|
|
386
|
-
|
|
387
|
+
context.column.primitiveType!,
|
|
387
388
|
valueEncoding,
|
|
388
389
|
valuesBufCursor,
|
|
389
390
|
valueCountNonNull,
|
|
@@ -403,13 +404,13 @@ async function decodeDataPageV2(
|
|
|
403
404
|
* Do decoding of dictionary page which helps to iterate over all indexes and get dataPage values.
|
|
404
405
|
* @param cursor
|
|
405
406
|
* @param pageHeader
|
|
406
|
-
* @param
|
|
407
|
+
* @param context
|
|
407
408
|
*/
|
|
408
409
|
async function decodeDictionaryPage(
|
|
409
410
|
cursor: CursorBuffer,
|
|
410
411
|
pageHeader: PageHeader,
|
|
411
|
-
|
|
412
|
-
): Promise<string[]> {
|
|
412
|
+
context: ParquetReaderContext
|
|
413
|
+
): Promise<(string | ArrayBuffer)[]> {
|
|
413
414
|
const cursorEnd = cursor.offset + pageHeader.compressed_page_size;
|
|
414
415
|
|
|
415
416
|
let dictCursor = {
|
|
@@ -420,9 +421,9 @@ async function decodeDictionaryPage(
|
|
|
420
421
|
|
|
421
422
|
cursor.offset = cursorEnd;
|
|
422
423
|
|
|
423
|
-
if (
|
|
424
|
+
if (context.compression !== 'UNCOMPRESSED') {
|
|
424
425
|
const valuesBuf = await decompress(
|
|
425
|
-
|
|
426
|
+
context.compression,
|
|
426
427
|
dictCursor.buffer.slice(dictCursor.offset, cursorEnd),
|
|
427
428
|
pageHeader.uncompressed_page_size
|
|
428
429
|
);
|
|
@@ -438,11 +439,32 @@ async function decodeDictionaryPage(
|
|
|
438
439
|
|
|
439
440
|
const numValues = pageHeader?.dictionary_page_header?.num_values || 0;
|
|
440
441
|
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
442
|
+
const decodedDictionaryValues = decodeValues(
|
|
443
|
+
context.column.primitiveType!,
|
|
444
|
+
context.column.encoding!,
|
|
444
445
|
dictCursor,
|
|
445
446
|
numValues,
|
|
446
|
-
|
|
447
|
-
|
|
447
|
+
// TODO - this looks wrong?
|
|
448
|
+
context as ParquetCodecOptions
|
|
449
|
+
);
|
|
450
|
+
|
|
451
|
+
// Makes it look a little easier
|
|
452
|
+
let values: any[];
|
|
453
|
+
if (context?.preserveBinary) {
|
|
454
|
+
values = decodedDictionaryValues.map((d) => preserveBinary(d));
|
|
455
|
+
} else {
|
|
456
|
+
values = decodedDictionaryValues.map((d) => d.toString());
|
|
457
|
+
}
|
|
458
|
+
return values;
|
|
459
|
+
}
|
|
460
|
+
|
|
461
|
+
function preserveBinary(d: any): ArrayBuffer | ArrayBufferView | string {
|
|
462
|
+
if (ArrayBuffer.isView(d)) {
|
|
463
|
+
return d;
|
|
464
|
+
}
|
|
465
|
+
// Convert to ArrayBuffer
|
|
466
|
+
if (Buffer.isBuffer(d)) {
|
|
467
|
+
return d.buffer.slice(d.byteOffset, d.byteLength);
|
|
468
|
+
}
|
|
469
|
+
return d.toString();
|
|
448
470
|
}
|
|
@@ -12,13 +12,14 @@ import {
|
|
|
12
12
|
ParquetCompression,
|
|
13
13
|
ParquetColumnChunk,
|
|
14
14
|
PrimitiveType,
|
|
15
|
-
|
|
15
|
+
ParquetReaderContext
|
|
16
16
|
} from '../schema/declare';
|
|
17
17
|
import {decodeFileMetadata, getThriftEnum, fieldIndexOf} from '../utils/read-utils';
|
|
18
18
|
import {decodeDataPages, decodePage} from './decoders';
|
|
19
19
|
|
|
20
20
|
export type ParquetReaderProps = {
|
|
21
21
|
defaultDictionarySize?: number;
|
|
22
|
+
preserveBinary?: boolean;
|
|
22
23
|
};
|
|
23
24
|
|
|
24
25
|
/** Properties for initializing a ParquetRowGroupReader */
|
|
@@ -27,10 +28,6 @@ export type ParquetIterationProps = {
|
|
|
27
28
|
columnList?: string[] | string[][];
|
|
28
29
|
};
|
|
29
30
|
|
|
30
|
-
const DEFAULT_PROPS: Required<ParquetReaderProps> = {
|
|
31
|
-
defaultDictionarySize: 1e6
|
|
32
|
-
};
|
|
33
|
-
|
|
34
31
|
/**
|
|
35
32
|
* The parquet envelope reader allows direct, unbuffered access to the individual
|
|
36
33
|
* sections of the parquet file, namely the header, footer and the row groups.
|
|
@@ -38,13 +35,18 @@ const DEFAULT_PROPS: Required<ParquetReaderProps> = {
|
|
|
38
35
|
* rows from a parquet file use the ParquetReader instead
|
|
39
36
|
*/
|
|
40
37
|
export class ParquetReader {
|
|
38
|
+
static defaultProps: Required<ParquetReaderProps> = {
|
|
39
|
+
defaultDictionarySize: 1e6,
|
|
40
|
+
preserveBinary: false
|
|
41
|
+
};
|
|
42
|
+
|
|
41
43
|
props: Required<ParquetReaderProps>;
|
|
42
44
|
file: ReadableFile;
|
|
43
45
|
metadata: Promise<FileMetaData> | null = null;
|
|
44
46
|
|
|
45
47
|
constructor(file: ReadableFile, props?: ParquetReaderProps) {
|
|
46
48
|
this.file = file;
|
|
47
|
-
this.props = {...
|
|
49
|
+
this.props = {...ParquetReader.defaultProps, ...props};
|
|
48
50
|
}
|
|
49
51
|
|
|
50
52
|
close(): void {
|
|
@@ -163,6 +165,7 @@ export class ParquetReader {
|
|
|
163
165
|
const metadataBuf = await this.file.read(metadataOffset, metadataSize);
|
|
164
166
|
// let metadata = new parquet_thrift.FileMetaData();
|
|
165
167
|
// parquet_util.decodeThrift(metadata, metadataBuf);
|
|
168
|
+
|
|
166
169
|
const {metadata} = decodeFileMetadata(metadataBuf);
|
|
167
170
|
return metadata;
|
|
168
171
|
}
|
|
@@ -218,14 +221,16 @@ export class ParquetReader {
|
|
|
218
221
|
);
|
|
219
222
|
}
|
|
220
223
|
|
|
221
|
-
const
|
|
224
|
+
const context: ParquetReaderContext = {
|
|
222
225
|
type,
|
|
223
226
|
rLevelMax: field.rLevelMax,
|
|
224
227
|
dLevelMax: field.dLevelMax,
|
|
225
228
|
compression,
|
|
226
229
|
column: field,
|
|
227
230
|
numValues: colChunk.meta_data?.num_values,
|
|
228
|
-
dictionary: []
|
|
231
|
+
dictionary: [],
|
|
232
|
+
// Options - TBD is this the right place for these?
|
|
233
|
+
preserveBinary: this.props.preserveBinary
|
|
229
234
|
};
|
|
230
235
|
|
|
231
236
|
let dictionary;
|
|
@@ -235,24 +240,24 @@ export class ParquetReader {
|
|
|
235
240
|
if (dictionaryPageOffset) {
|
|
236
241
|
const dictionaryOffset = Number(dictionaryPageOffset);
|
|
237
242
|
// Getting dictionary from column chunk to iterate all over indexes to get dataPage values.
|
|
238
|
-
dictionary = await this.getDictionary(dictionaryOffset,
|
|
243
|
+
dictionary = await this.getDictionary(dictionaryOffset, context, pagesOffset);
|
|
239
244
|
}
|
|
240
245
|
|
|
241
|
-
dictionary =
|
|
246
|
+
dictionary = context.dictionary?.length ? context.dictionary : dictionary;
|
|
242
247
|
const pagesBuf = await this.file.read(pagesOffset, pagesSize);
|
|
243
|
-
return await decodeDataPages(pagesBuf, {...
|
|
248
|
+
return await decodeDataPages(pagesBuf, {...context, dictionary});
|
|
244
249
|
}
|
|
245
250
|
|
|
246
251
|
/**
|
|
247
252
|
* Getting dictionary for allows to flatten values by indices.
|
|
248
253
|
* @param dictionaryPageOffset
|
|
249
|
-
* @param
|
|
254
|
+
* @param context
|
|
250
255
|
* @param pagesOffset
|
|
251
256
|
* @returns
|
|
252
257
|
*/
|
|
253
258
|
async getDictionary(
|
|
254
259
|
dictionaryPageOffset: number,
|
|
255
|
-
|
|
260
|
+
context: ParquetReaderContext,
|
|
256
261
|
pagesOffset: number
|
|
257
262
|
): Promise<string[]> {
|
|
258
263
|
if (dictionaryPageOffset === 0) {
|
|
@@ -273,7 +278,7 @@ export class ParquetReader {
|
|
|
273
278
|
const pagesBuf = await this.file.read(dictionaryPageOffset, dictionarySize);
|
|
274
279
|
|
|
275
280
|
const cursor = {buffer: pagesBuf, offset: 0, size: pagesBuf.length};
|
|
276
|
-
const decodedPage = await decodePage(cursor,
|
|
281
|
+
const decodedPage = await decodePage(cursor, context);
|
|
277
282
|
|
|
278
283
|
return decodedPage.dictionary!;
|
|
279
284
|
}
|
|
@@ -99,7 +99,7 @@ export interface ParquetField {
|
|
|
99
99
|
}
|
|
100
100
|
|
|
101
101
|
/** @todo better name, this is an internal type? */
|
|
102
|
-
export interface
|
|
102
|
+
export interface ParquetReaderContext {
|
|
103
103
|
type: ParquetType;
|
|
104
104
|
rLevelMax: number;
|
|
105
105
|
dLevelMax: number;
|
|
@@ -107,6 +107,8 @@ export interface ParquetOptions {
|
|
|
107
107
|
column: ParquetField;
|
|
108
108
|
numValues?: Int64;
|
|
109
109
|
dictionary?: ParquetDictionary;
|
|
110
|
+
/** If true, binary values are not converted to strings */
|
|
111
|
+
preserveBinary?: boolean;
|
|
110
112
|
}
|
|
111
113
|
|
|
112
114
|
export interface ParquetPageData {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {TBufferedTransport, TCompactProtocol, TFramedTransport} from 'thrift';
|
|
1
|
+
import {TBufferedTransport, TCompactProtocol, TFramedTransport} from '../parquet-thrift';
|
|
2
2
|
import {FileMetaData, PageHeader} from '../parquet-thrift';
|
|
3
3
|
|
|
4
4
|
class UFramedTransport extends TFramedTransport {
|
|
@@ -12,7 +12,7 @@ export function serializeThrift(obj: any): Buffer {
|
|
|
12
12
|
const output: Buffer[] = [];
|
|
13
13
|
|
|
14
14
|
const transport = new TBufferedTransport(undefined, (buf) => {
|
|
15
|
-
output.push(buf as Buffer);
|
|
15
|
+
output.push(buf as unknown as Buffer);
|
|
16
16
|
});
|
|
17
17
|
|
|
18
18
|
const protocol = new TCompactProtocol(transport);
|
package/dist/bundle.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bundle.d.ts","sourceRoot":"","sources":["../src/bundle.ts"],"names":[],"mappings":"AACA,QAAA,MAAM,aAAa,KAAqB,CAAC"}
|
package/dist/bundle.js
DELETED
package/dist/constants.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AACA;;GAEG;AACH,eAAO,MAAM,aAAa,SAAS,CAAC;AACpC,eAAO,MAAM,uBAAuB,SAAS,CAAC;AAE9C;;GAEG;AACH,eAAO,MAAM,eAAe,IAAI,CAAC;AAEjC;;GAEG;AACH,eAAO,MAAM,kBAAkB,UAAU,CAAC;AAC1C,eAAO,MAAM,sBAAsB,QAAQ,CAAC"}
|
package/dist/constants.js
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.PARQUET_RDLVL_ENCODING = exports.PARQUET_RDLVL_TYPE = exports.PARQUET_VERSION = exports.PARQUET_MAGIC_ENCRYPTED = exports.PARQUET_MAGIC = void 0;
|
|
4
|
-
// Forked from https://github.com/kbajalc/parquets under MIT license (Copyright (c) 2017 ironSource Ltd.)
|
|
5
|
-
/**
|
|
6
|
-
* Parquet File Magic String
|
|
7
|
-
*/
|
|
8
|
-
exports.PARQUET_MAGIC = 'PAR1';
|
|
9
|
-
exports.PARQUET_MAGIC_ENCRYPTED = 'PARE';
|
|
10
|
-
/**
|
|
11
|
-
* Parquet File Format Version
|
|
12
|
-
*/
|
|
13
|
-
exports.PARQUET_VERSION = 1;
|
|
14
|
-
/**
|
|
15
|
-
* Internal type used for repetition/definition levels
|
|
16
|
-
*/
|
|
17
|
-
exports.PARQUET_RDLVL_TYPE = 'INT32';
|
|
18
|
-
exports.PARQUET_RDLVL_ENCODING = 'RLE';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"geoparquet-schema.js","names":["$schema","title","description","type","required","properties","version","const","primary_column","minLength","columns","minProperties","patternProperties","encoding","geometry_types","uniqueItems","items","pattern","crs","oneOf","$ref","edges","enum","orientation","bbox","minItems","maxItems","epoch","additionalProperties","exports","default","_default"],"sources":["../../../../src/lib/geo/geoparquet-schema.ts"],"sourcesContent":["// loaders.gl, MIT license\n\n/* eslint-disable camelcase */\n\n/**\n * Geoparquet JSON schema for geo metadata\n * @see https://github.com/geoarrow/geoarrow/blob/main/metadata.md\n * @see https://github.com/opengeospatial/geoparquet/blob/main/format-specs/geoparquet.md\n */\nexport default {\n $schema: 'http://json-schema.org/draft-07/schema#',\n title: 'GeoParquet',\n description: 'Parquet metadata included in the geo field.',\n type: 'object',\n required: ['version', 'primary_column', 'columns'],\n properties: {\n version: {type: 'string', const: '1.0.0-beta.1'},\n primary_column: {type: 'string', minLength: 1},\n columns: {\n type: 'object',\n minProperties: 1,\n patternProperties: {\n '.+': {\n type: 'object',\n required: ['encoding', 'geometry_types'],\n properties: {\n encoding: {type: 'string', const: 'WKB'},\n geometry_types: {\n type: 'array',\n uniqueItems: true,\n items: {\n type: 'string',\n pattern: '^(GeometryCollection|(Multi)?(Point|LineString|Polygon))( Z)?$'\n }\n },\n crs: {\n oneOf: [\n {\n $ref: 'https://proj.org/schemas/v0.5/projjson.schema.json'\n },\n {type: 'null'}\n ]\n },\n edges: {type: 'string', enum: ['planar', 'spherical']},\n orientation: {type: 'string', const: 'counterclockwise'},\n bbox: {\n type: 'array',\n items: {type: 'number'},\n oneOf: [\n {\n description: '2D bbox consisting of (xmin, ymin, xmax, ymax)',\n minItems: 4,\n maxItems: 4\n },\n {\n description: '3D bbox consisting of (xmin, ymin, zmin, xmax, ymax, zmax)',\n minItems: 6,\n maxItems: 6\n }\n ]\n },\n epoch: {type: 'number'}\n }\n }\n },\n additionalProperties: false\n }\n }\n};\n"],"mappings":";;;;;;eASe;EACbA,OAAO,EAAE,yCAAyC;EAClDC,KAAK,EAAE,YAAY;EACnBC,WAAW,EAAE,6CAA6C;EAC1DC,IAAI,EAAE,QAAQ;EACdC,QAAQ,EAAE,CAAC,SAAS,EAAE,gBAAgB,EAAE,SAAS,CAAC;EAClDC,UAAU,EAAE;IACVC,OAAO,EAAE;MAACH,IAAI,EAAE,QAAQ;MAAEI,KAAK,EAAE;IAAc,CAAC;IAChDC,cAAc,EAAE;MAACL,IAAI,EAAE,QAAQ;MAAEM,SAAS,EAAE;IAAC,CAAC;IAC9CC,OAAO,EAAE;MACPP,IAAI,EAAE,QAAQ;MACdQ,aAAa,EAAE,CAAC;MAChBC,iBAAiB,EAAE;QACjB,IAAI,EAAE;UACJT,IAAI,EAAE,QAAQ;UACdC,QAAQ,EAAE,CAAC,UAAU,EAAE,gBAAgB,CAAC;UACxCC,UAAU,EAAE;YACVQ,QAAQ,EAAE;cAACV,IAAI,EAAE,QAAQ;cAAEI,KAAK,EAAE;YAAK,CAAC;YACxCO,cAAc,EAAE;cACdX,IAAI,EAAE,OAAO;cACbY,WAAW,EAAE,IAAI;cACjBC,KAAK,EAAE;gBACLb,IAAI,EAAE,QAAQ;gBACdc,OAAO,EAAE;cACX;YACF,CAAC;YACDC,GAAG,EAAE;cACHC,KAAK,EAAE,CACL;gBACEC,IAAI,EAAE;cACR,CAAC,EACD;gBAACjB,IAAI,EAAE;cAAM,CAAC;YAElB,CAAC;YACDkB,KAAK,EAAE;cAAClB,IAAI,EAAE,QAAQ;cAAEmB,IAAI,EAAE,CAAC,QAAQ,EAAE,WAAW;YAAC,CAAC;YACtDC,WAAW,EAAE;cAACpB,IAAI,EAAE,QAAQ;cAAEI,KAAK,EAAE;YAAkB,CAAC;YACxDiB,IAAI,EAAE;cACJrB,IAAI,EAAE,OAAO;cACba,KAAK,EAAE;gBAACb,IAAI,EAAE;cAAQ,CAAC;cACvBgB,KAAK,EAAE,CACL;gBACEjB,WAAW,EAAE,gDAAgD;gBAC7DuB,QAAQ,EAAE,CAAC;gBACXC,QAAQ,EAAE;cACZ,CAAC,EACD;gBACExB,WAAW,EAAE,4DAA4D;gBACzEuB,QAAQ,EAAE,CAAC;gBACXC,QAAQ,EAAE;cACZ,CAAC;YAEL,CAAC;YACDC,KAAK,EAAE;cAACxB,IAAI,EAAE;YAAQ;UACxB;QACF;MACF,CAAC;MACDyB,oBAAoB,EAAE;IACxB;EACF;AACF,CAAC;AAAAC,OAAA,CAAAC,OAAA,GAAAC,QAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"geoparquet-schema.js","names":["$schema","title","description","type","required","properties","version","const","primary_column","minLength","columns","minProperties","patternProperties","encoding","geometry_types","uniqueItems","items","pattern","crs","oneOf","$ref","edges","enum","orientation","bbox","minItems","maxItems","epoch","additionalProperties"],"sources":["../../../../src/lib/geo/geoparquet-schema.ts"],"sourcesContent":["// loaders.gl, MIT license\n\n/* eslint-disable camelcase */\n\n/**\n * Geoparquet JSON schema for geo metadata\n * @see https://github.com/geoarrow/geoarrow/blob/main/metadata.md\n * @see https://github.com/opengeospatial/geoparquet/blob/main/format-specs/geoparquet.md\n */\nexport default {\n $schema: 'http://json-schema.org/draft-07/schema#',\n title: 'GeoParquet',\n description: 'Parquet metadata included in the geo field.',\n type: 'object',\n required: ['version', 'primary_column', 'columns'],\n properties: {\n version: {type: 'string', const: '1.0.0-beta.1'},\n primary_column: {type: 'string', minLength: 1},\n columns: {\n type: 'object',\n minProperties: 1,\n patternProperties: {\n '.+': {\n type: 'object',\n required: ['encoding', 'geometry_types'],\n properties: {\n encoding: {type: 'string', const: 'WKB'},\n geometry_types: {\n type: 'array',\n uniqueItems: true,\n items: {\n type: 'string',\n pattern: '^(GeometryCollection|(Multi)?(Point|LineString|Polygon))( Z)?$'\n }\n },\n crs: {\n oneOf: [\n {\n $ref: 'https://proj.org/schemas/v0.5/projjson.schema.json'\n },\n {type: 'null'}\n ]\n },\n edges: {type: 'string', enum: ['planar', 'spherical']},\n orientation: {type: 'string', const: 'counterclockwise'},\n bbox: {\n type: 'array',\n items: {type: 'number'},\n oneOf: [\n {\n description: '2D bbox consisting of (xmin, ymin, xmax, ymax)',\n minItems: 4,\n maxItems: 4\n },\n {\n description: '3D bbox consisting of (xmin, ymin, zmin, xmax, ymax, zmax)',\n minItems: 6,\n maxItems: 6\n }\n ]\n },\n epoch: {type: 'number'}\n }\n }\n },\n additionalProperties: false\n }\n }\n};\n"],"mappings":"AASA,eAAe;EACbA,OAAO,EAAE,yCAAyC;EAClDC,KAAK,EAAE,YAAY;EACnBC,WAAW,EAAE,6CAA6C;EAC1DC,IAAI,EAAE,QAAQ;EACdC,QAAQ,EAAE,CAAC,SAAS,EAAE,gBAAgB,EAAE,SAAS,CAAC;EAClDC,UAAU,EAAE;IACVC,OAAO,EAAE;MAACH,IAAI,EAAE,QAAQ;MAAEI,KAAK,EAAE;IAAc,CAAC;IAChDC,cAAc,EAAE;MAACL,IAAI,EAAE,QAAQ;MAAEM,SAAS,EAAE;IAAC,CAAC;IAC9CC,OAAO,EAAE;MACPP,IAAI,EAAE,QAAQ;MACdQ,aAAa,EAAE,CAAC;MAChBC,iBAAiB,EAAE;QACjB,IAAI,EAAE;UACJT,IAAI,EAAE,QAAQ;UACdC,QAAQ,EAAE,CAAC,UAAU,EAAE,gBAAgB,CAAC;UACxCC,UAAU,EAAE;YACVQ,QAAQ,EAAE;cAACV,IAAI,EAAE,QAAQ;cAAEI,KAAK,EAAE;YAAK,CAAC;YACxCO,cAAc,EAAE;cACdX,IAAI,EAAE,OAAO;cACbY,WAAW,EAAE,IAAI;cACjBC,KAAK,EAAE;gBACLb,IAAI,EAAE,QAAQ;gBACdc,OAAO,EAAE;cACX;YACF,CAAC;YACDC,GAAG,EAAE;cACHC,KAAK,EAAE,CACL;gBACEC,IAAI,EAAE;cACR,CAAC,EACD;gBAACjB,IAAI,EAAE;cAAM,CAAC;YAElB,CAAC;YACDkB,KAAK,EAAE;cAAClB,IAAI,EAAE,QAAQ;cAAEmB,IAAI,EAAE,CAAC,QAAQ,EAAE,WAAW;YAAC,CAAC;YACtDC,WAAW,EAAE;cAACpB,IAAI,EAAE,QAAQ;cAAEI,KAAK,EAAE;YAAkB,CAAC;YACxDiB,IAAI,EAAE;cACJrB,IAAI,EAAE,OAAO;cACba,KAAK,EAAE;gBAACb,IAAI,EAAE;cAAQ,CAAC;cACvBgB,KAAK,EAAE,CACL;gBACEjB,WAAW,EAAE,gDAAgD;gBAC7DuB,QAAQ,EAAE,CAAC;gBACXC,QAAQ,EAAE;cACZ,CAAC,EACD;gBACExB,WAAW,EAAE,4DAA4D;gBACzEuB,QAAQ,EAAE,CAAC;gBACXC,QAAQ,EAAE;cACZ,CAAC;YAEL,CAAC;YACDC,KAAK,EAAE;cAACxB,IAAI,EAAE;YAAQ;UACxB;QACF;MACF,CAAC;MACDyB,oBAAoB,EAAE;IACxB;EACF;AACF,CAAC"}
|
package/dist/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,EACV,cAAc,EACd,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EACnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAC,KAAK,IAAI,UAAU,EAAC,MAAM,cAAc,CAAC;AAItD,OAAO,EACL,aAAa,IAAI,mBAAmB,EAEpC,oBAAoB,EACrB,MAAM,kBAAkB,CAAC;AAO1B,OAAO,EAAmB,wBAAwB,EAAC,MAAM,+BAA+B,CAAC;AACzF,OAAO,EAAC,iBAAiB,IAAI,uBAAuB,EAAC,MAAM,uBAAuB,CAAC;AAEnF,OAAO,EAAC,mBAAmB,EAAE,uBAAuB,EAAC,CAAC;AAEtD,6BAA6B;AAC7B,eAAO,MAAM,aAAa,EAAE,gBAAgB,CAC1C,cAAc,EACd,mBAAmB,EACnB,oBAAoB,CAKrB,CAAC;AAEF,6BAA6B;AAE7B,eAAO,MAAM,qBAAqB,EAAE,gBAAgB,CAClD,aAAa,EACb,kBAAkB,EAClB,oBAAoB,CAKrB,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,gBAAgB,CAAC,UAAU,EAAE,KAAK,EAAE,wBAAwB,CAG3F,CAAC;AAIF,OAAO,EAAC,aAAa,IAAI,cAAc,EAAC,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAC,iBAAiB,EAAC,MAAM,uBAAuB,CAAC;AAIxD,OAAO,EAAC,mBAAmB,EAAC,MAAM,yBAAyB,CAAC;AAE5D,OAAO,EAAC,aAAa,EAAC,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAC,aAAa,EAAC,MAAM,mCAAmC,CAAC;AAChE,OAAO,EAAC,cAAc,EAAC,MAAM,qCAAqC,CAAC;AAEnE,OAAO,EACL,oBAAoB,EACpB,oBAAoB,IAAI,2BAA2B,EACpD,MAAM,yCAAyC,CAAC;AAGjD,eAAO,MAAM,uBAAuB,EAAE,gBAAgC,CAAC;AAGvE,OAAO,EAAC,OAAO,IAAI,aAAa,EAAC,MAAM,6BAA6B,CAAC;AAErE,YAAY,EAAC,WAAW,EAAC,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAC,cAAc,EAAE,cAAc,EAAE,iBAAiB,EAAC,MAAM,+BAA+B,CAAC"}
|
package/dist/index.js
DELETED
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// loaders.gl, MIT license
|
|
3
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
5
|
-
};
|
|
6
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.unpackGeoMetadata = exports.setGeoMetadata = exports.getGeoMetadata = exports.geoJSONSchema = exports._typecheckParquetLoader = exports.convertParquetToArrowSchema = exports.convertParquetSchema = exports.ParquetEncoder = exports.ParquetReader = exports.ParquetSchema = exports.preloadCompressions = exports.ParquetWasmWriter = exports._ParquetWriter = exports.ParquetWasmLoader = exports.ParquetColumnarLoader = exports.ParquetLoader = exports.ParquetWasmWorkerLoader = exports.ParquetWorkerLoader = void 0;
|
|
8
|
-
// ParquetLoader
|
|
9
|
-
const parquet_loader_1 = require("./parquet-loader");
|
|
10
|
-
Object.defineProperty(exports, "ParquetWorkerLoader", { enumerable: true, get: function () { return parquet_loader_1.ParquetLoader; } });
|
|
11
|
-
const parse_parquet_to_rows_1 = require("./lib/parsers/parse-parquet-to-rows");
|
|
12
|
-
const parse_parquet_to_columns_1 = require("./lib/parsers/parse-parquet-to-columns");
|
|
13
|
-
const parse_parquet_wasm_1 = require("./lib/wasm/parse-parquet-wasm");
|
|
14
|
-
const parquet_wasm_loader_1 = require("./parquet-wasm-loader");
|
|
15
|
-
Object.defineProperty(exports, "ParquetWasmWorkerLoader", { enumerable: true, get: function () { return parquet_wasm_loader_1.ParquetWasmLoader; } });
|
|
16
|
-
/** ParquetJS table loader */
|
|
17
|
-
exports.ParquetLoader = {
|
|
18
|
-
...parquet_loader_1.ParquetLoader,
|
|
19
|
-
parse: parse_parquet_to_rows_1.parseParquet,
|
|
20
|
-
parseFileInBatches: parse_parquet_to_rows_1.parseParquetFileInBatches
|
|
21
|
-
};
|
|
22
|
-
/** ParquetJS table loader */
|
|
23
|
-
// @ts-expect-error
|
|
24
|
-
exports.ParquetColumnarLoader = {
|
|
25
|
-
...parquet_loader_1.ParquetLoader,
|
|
26
|
-
parse: parse_parquet_to_columns_1.parseParquetInColumns,
|
|
27
|
-
parseFileInBatches: parse_parquet_to_columns_1.parseParquetFileInColumnarBatches
|
|
28
|
-
};
|
|
29
|
-
exports.ParquetWasmLoader = {
|
|
30
|
-
...parquet_wasm_loader_1.ParquetWasmLoader,
|
|
31
|
-
parse: parse_parquet_wasm_1.parseParquetWasm
|
|
32
|
-
};
|
|
33
|
-
// ParquetWriter
|
|
34
|
-
var parquet_writer_1 = require("./parquet-writer");
|
|
35
|
-
Object.defineProperty(exports, "_ParquetWriter", { enumerable: true, get: function () { return parquet_writer_1.ParquetWriter; } });
|
|
36
|
-
var parquet_wasm_writer_1 = require("./parquet-wasm-writer");
|
|
37
|
-
Object.defineProperty(exports, "ParquetWasmWriter", { enumerable: true, get: function () { return parquet_wasm_writer_1.ParquetWasmWriter; } });
|
|
38
|
-
// EXPERIMENTAL - expose the internal parquetjs API
|
|
39
|
-
var compression_1 = require("./parquetjs/compression");
|
|
40
|
-
Object.defineProperty(exports, "preloadCompressions", { enumerable: true, get: function () { return compression_1.preloadCompressions; } });
|
|
41
|
-
var schema_1 = require("./parquetjs/schema/schema");
|
|
42
|
-
Object.defineProperty(exports, "ParquetSchema", { enumerable: true, get: function () { return schema_1.ParquetSchema; } });
|
|
43
|
-
var parquet_reader_1 = require("./parquetjs/parser/parquet-reader");
|
|
44
|
-
Object.defineProperty(exports, "ParquetReader", { enumerable: true, get: function () { return parquet_reader_1.ParquetReader; } });
|
|
45
|
-
var parquet_encoder_1 = require("./parquetjs/encoder/parquet-encoder");
|
|
46
|
-
Object.defineProperty(exports, "ParquetEncoder", { enumerable: true, get: function () { return parquet_encoder_1.ParquetEncoder; } });
|
|
47
|
-
var convert_schema_from_parquet_1 = require("./lib/arrow/convert-schema-from-parquet");
|
|
48
|
-
Object.defineProperty(exports, "convertParquetSchema", { enumerable: true, get: function () { return convert_schema_from_parquet_1.convertParquetSchema; } });
|
|
49
|
-
Object.defineProperty(exports, "convertParquetToArrowSchema", { enumerable: true, get: function () { return convert_schema_from_parquet_1.convertParquetSchema; } });
|
|
50
|
-
// TESTS
|
|
51
|
-
exports._typecheckParquetLoader = exports.ParquetLoader;
|
|
52
|
-
// Geo Metadata
|
|
53
|
-
var geoparquet_schema_1 = require("./lib/geo/geoparquet-schema");
|
|
54
|
-
Object.defineProperty(exports, "geoJSONSchema", { enumerable: true, get: function () { return __importDefault(geoparquet_schema_1).default; } });
|
|
55
|
-
var decode_geo_metadata_1 = require("./lib/geo/decode-geo-metadata");
|
|
56
|
-
Object.defineProperty(exports, "getGeoMetadata", { enumerable: true, get: function () { return decode_geo_metadata_1.getGeoMetadata; } });
|
|
57
|
-
Object.defineProperty(exports, "setGeoMetadata", { enumerable: true, get: function () { return decode_geo_metadata_1.setGeoMetadata; } });
|
|
58
|
-
Object.defineProperty(exports, "unpackGeoMetadata", { enumerable: true, get: function () { return decode_geo_metadata_1.unpackGeoMetadata; } });
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"convert-columns-to-row-group.d.ts","sourceRoot":"","sources":["../../../src/lib/arrow/convert-columns-to-row-group.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"convert-row-group-to-columns.d.ts","sourceRoot":"","sources":["../../../src/lib/arrow/convert-row-group-to-columns.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,MAAM,EAAC,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAC,eAAe,EAAC,MAAM,8CAA8C,CAAC;AAE7E,wBAAgB,+BAA+B,CAC7C,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,eAAe,GACxB,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAMvB"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// loaders.gl, MIT license
|
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.convertParquetRowGroupToColumns = void 0;
|
|
5
|
-
function convertParquetRowGroupToColumns(schema, rowGroup) {
|
|
6
|
-
const columns = {};
|
|
7
|
-
for (const [columnName, data] of Object.entries(rowGroup.columnData)) {
|
|
8
|
-
columns[columnName] = columns[columnName] || data.values;
|
|
9
|
-
}
|
|
10
|
-
return columns;
|
|
11
|
-
}
|
|
12
|
-
exports.convertParquetRowGroupToColumns = convertParquetRowGroupToColumns;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"convert-schema-from-parquet.d.ts","sourceRoot":"","sources":["../../../src/lib/arrow/convert-schema-from-parquet.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,MAAM,EAAS,QAAQ,EAAC,MAAM,oBAAoB,CAAC;AAE3D,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,+BAA+B,CAAC;AACjE,OAAO,KAAK,EAAgC,WAAW,EAAC,MAAM,gCAAgC,CAAC;AAC/F,OAAO,EAAC,YAAY,EAAC,MAAM,gCAAgC,CAAC;AAE5D,eAAO,MAAM,oBAAoB,EAAE;KAAE,IAAI,IAAI,WAAW,GAAG,QAAQ;CA+BlE,CAAC;AAEF,wBAAgB,oBAAoB,CAClC,aAAa,EAAE,aAAa,EAC5B,eAAe,EAAE,YAAY,GAAG,IAAI,GACnC,MAAM,CAUR"}
|