@loaders.gl/parquet 4.0.0-alpha.24 → 4.0.0-alpha.26
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 +25 -27
- package/dist/dist.min.js.map +3 -3
- package/dist/es5/buffer-polyfill/buffer-polyfill.browser.js +23 -0
- package/dist/es5/buffer-polyfill/buffer-polyfill.browser.js.map +1 -0
- package/dist/es5/buffer-polyfill/buffer-polyfill.node.js +22 -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 +25 -0
- package/dist/es5/buffer-polyfill/index.js.map +1 -0
- package/dist/es5/buffer-polyfill/install-buffer-polyfill.js +20 -0
- package/dist/es5/buffer-polyfill/install-buffer-polyfill.js.map +1 -0
- package/dist/es5/index.js +18 -25
- package/dist/es5/index.js.map +1 -1
- package/dist/es5/lib/geo/decode-geo-column.js +52 -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 +1 -1
- package/dist/es5/parquet-wasm-writer.js +1 -1
- package/dist/es5/parquet-writer.js +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 +43 -34
- package/dist/es5/parquetjs/parser/decoders.js.map +1 -1
- package/dist/es5/parquetjs/parser/parquet-reader.js +13 -12
- 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 +5 -0
- package/dist/esm/buffer-polyfill/install-buffer-polyfill.js.map +1 -0
- package/dist/esm/index.js +3 -9
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/lib/geo/decode-geo-column.js +46 -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 +1 -1
- package/dist/esm/parquet-wasm-writer.js +1 -1
- package/dist/esm/parquet-writer.js +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 +36 -32
- package/dist/esm/parquetjs/parser/decoders.js.map +1 -1
- package/dist/esm/parquetjs/parser/parquet-reader.js +12 -11
- 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 +25 -27
- 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 +34 -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 +3 -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} +5 -9
- 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.map +1 -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 +16 -6
- package/src/buffer-polyfill/buffer-polyfill.browser.ts +11 -0
- package/src/buffer-polyfill/buffer-polyfill.node.ts +16 -0
- package/src/buffer-polyfill/buffer.ts +2207 -0
- package/src/buffer-polyfill/index.ts +9 -0
- package/src/buffer-polyfill/install-buffer-polyfill.ts +6 -0
- package/src/index.ts +29 -14
- package/src/lib/geo/decode-geo-column.ts +51 -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 +38 -11
- package/src/parquet-loader.ts +29 -16
- 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 +51 -41
- package/src/parquetjs/parser/parquet-reader.ts +16 -13
- 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/constants.d.ts.map +0 -1
- 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/lib/arrow/convert-columns-to-row-group.d.ts.map +0 -1
- package/dist/lib/arrow/convert-row-group-to-columns.d.ts.map +0 -1
- package/dist/lib/arrow/convert-schema-from-parquet.d.ts.map +0 -1
- package/dist/lib/arrow/convert-schema-to-parquet.d.ts.map +0 -1
- 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/geoparquet-schema.d.ts.map +0 -1
- 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-rows.d.ts +0 -5
- package/dist/lib/parsers/parse-parquet-to-rows.d.ts.map +0 -1
- package/dist/lib/wasm/encode-parquet-wasm.d.ts.map +0 -1
- package/dist/lib/wasm/load-wasm/index.d.ts.map +0 -1
- package/dist/lib/wasm/load-wasm/load-wasm-browser.d.ts.map +0 -1
- package/dist/lib/wasm/load-wasm/load-wasm-node.d.ts.map +0 -1
- package/dist/lib/wasm/parse-parquet-wasm.d.ts.map +0 -1
- package/dist/parquet-loader.d.ts +0 -14
- package/dist/parquet-loader.d.ts.map +0 -1
- package/dist/parquet-wasm-loader.d.ts.map +0 -1
- package/dist/parquet-wasm-writer.d.ts.map +0 -1
- package/dist/parquet-writer.d.ts.map +0 -1
- package/dist/parquetjs/codecs/declare.d.ts.map +0 -1
- package/dist/parquetjs/codecs/dictionary.d.ts.map +0 -1
- package/dist/parquetjs/codecs/index.d.ts.map +0 -1
- package/dist/parquetjs/codecs/plain.d.ts.map +0 -1
- package/dist/parquetjs/codecs/rle.d.ts.map +0 -1
- package/dist/parquetjs/compression.d.ts.map +0 -1
- package/dist/parquetjs/encoder/parquet-encoder.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/BoundaryOrder.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/BsonType.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/ColumnChunk.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/ColumnIndex.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/ColumnMetaData.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/ColumnOrder.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/CompressionCodec.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/ConvertedType.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/DataPageHeader.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/DataPageHeaderV2.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/DateType.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/DecimalType.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/DictionaryPageHeader.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/Encoding.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/EnumType.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/FieldRepetitionType.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/FileMetaData.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/IndexPageHeader.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/IntType.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/JsonType.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/KeyValue.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/ListType.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/LogicalType.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/MapType.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/MicroSeconds.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/MilliSeconds.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/NullType.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/OffsetIndex.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/PageEncodingStats.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/PageHeader.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/PageLocation.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/PageType.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/RowGroup.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/SchemaElement.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/SortingColumn.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/Statistics.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/StringType.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/TimeType.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/TimeUnit.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/TimestampType.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/Type.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/TypeDefinedOrder.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/UUIDType.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/index.d.ts.map +0 -1
- package/dist/parquetjs/parser/decoders.d.ts.map +0 -1
- package/dist/parquetjs/parser/parquet-reader.d.ts.map +0 -1
- package/dist/parquetjs/schema/declare.d.ts.map +0 -1
- package/dist/parquetjs/schema/schema.d.ts.map +0 -1
- package/dist/parquetjs/schema/shred.d.ts.map +0 -1
- package/dist/parquetjs/schema/types.d.ts.map +0 -1
- package/dist/parquetjs/utils/file-utils.d.ts.map +0 -1
- package/dist/parquetjs/utils/read-utils.d.ts.map +0 -1
- package/dist/workers/parquet-worker.d.ts.map +0 -1
- /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-wasm-loader.d.ts → src/parquet-wasm-loader.d.ts} +0 -0
- /package/dist/{parquet-wasm-writer.d.ts → src/parquet-wasm-writer.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
|
@@ -12,6 +12,9 @@ var _awaitAsyncGenerator2 = _interopRequireDefault(require("@babel/runtime/helpe
|
|
|
12
12
|
var _wrapAsyncGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapAsyncGenerator"));
|
|
13
13
|
var _loaderUtils = require("@loaders.gl/loader-utils");
|
|
14
14
|
var _parquetReader = require("../../parquetjs/parser/parquet-reader");
|
|
15
|
+
var _getParquetSchema = require("./get-parquet-schema");
|
|
16
|
+
var _bufferPolyfill = require("../../buffer-polyfill");
|
|
17
|
+
var _decodeGeoColumn = require("../geo/decode-geo-column");
|
|
15
18
|
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
|
16
19
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
17
20
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
@@ -22,26 +25,37 @@ function parseParquet(_x3, _x4) {
|
|
|
22
25
|
}
|
|
23
26
|
function _parseParquet() {
|
|
24
27
|
_parseParquet = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee2(arrayBuffer, options) {
|
|
25
|
-
var
|
|
28
|
+
var _options$parquet, _options$parquet2;
|
|
29
|
+
var blob, file, reader, schema, rows, rowBatches, _iteratorAbruptCompletion, _didIteratorError, _iteratorError, _iterator, _step, rowBatch, _iterator3, _step3, row, objectRowTable, shape;
|
|
26
30
|
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
27
31
|
while (1) switch (_context2.prev = _context2.next) {
|
|
28
32
|
case 0:
|
|
33
|
+
(0, _bufferPolyfill.installBufferPolyfill)();
|
|
29
34
|
blob = new Blob([arrayBuffer]);
|
|
35
|
+
file = (0, _loaderUtils.makeReadableFile)(blob);
|
|
36
|
+
reader = new _parquetReader.ParquetReader(file, {
|
|
37
|
+
preserveBinary: options === null || options === void 0 ? void 0 : (_options$parquet = options.parquet) === null || _options$parquet === void 0 ? void 0 : _options$parquet.preserveBinary
|
|
38
|
+
});
|
|
39
|
+
_context2.next = 6;
|
|
40
|
+
return (0, _getParquetSchema.getSchemaFromParquetReader)(reader);
|
|
41
|
+
case 6:
|
|
42
|
+
schema = _context2.sent;
|
|
30
43
|
rows = [];
|
|
44
|
+
rowBatches = reader.rowBatchIterator(options === null || options === void 0 ? void 0 : options.parquet);
|
|
31
45
|
_iteratorAbruptCompletion = false;
|
|
32
46
|
_didIteratorError = false;
|
|
33
|
-
_context2.prev =
|
|
34
|
-
_iterator = _asyncIterator(
|
|
35
|
-
case
|
|
36
|
-
_context2.next =
|
|
47
|
+
_context2.prev = 11;
|
|
48
|
+
_iterator = _asyncIterator(rowBatches);
|
|
49
|
+
case 13:
|
|
50
|
+
_context2.next = 15;
|
|
37
51
|
return _iterator.next();
|
|
38
|
-
case
|
|
52
|
+
case 15:
|
|
39
53
|
if (!(_iteratorAbruptCompletion = !(_step = _context2.sent).done)) {
|
|
40
|
-
_context2.next =
|
|
54
|
+
_context2.next = 22;
|
|
41
55
|
break;
|
|
42
56
|
}
|
|
43
|
-
|
|
44
|
-
_iterator3 = _createForOfIteratorHelper(
|
|
57
|
+
rowBatch = _step.value;
|
|
58
|
+
_iterator3 = _createForOfIteratorHelper(rowBatch);
|
|
45
59
|
try {
|
|
46
60
|
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
47
61
|
row = _step3.value;
|
|
@@ -52,48 +66,64 @@ function _parseParquet() {
|
|
|
52
66
|
} finally {
|
|
53
67
|
_iterator3.f();
|
|
54
68
|
}
|
|
55
|
-
case
|
|
69
|
+
case 19:
|
|
56
70
|
_iteratorAbruptCompletion = false;
|
|
57
|
-
_context2.next =
|
|
71
|
+
_context2.next = 13;
|
|
58
72
|
break;
|
|
59
|
-
case
|
|
60
|
-
_context2.next =
|
|
73
|
+
case 22:
|
|
74
|
+
_context2.next = 28;
|
|
61
75
|
break;
|
|
62
|
-
case
|
|
63
|
-
_context2.prev =
|
|
64
|
-
_context2.t0 = _context2["catch"](
|
|
76
|
+
case 24:
|
|
77
|
+
_context2.prev = 24;
|
|
78
|
+
_context2.t0 = _context2["catch"](11);
|
|
65
79
|
_didIteratorError = true;
|
|
66
80
|
_iteratorError = _context2.t0;
|
|
67
|
-
case
|
|
68
|
-
_context2.prev =
|
|
69
|
-
_context2.prev =
|
|
81
|
+
case 28:
|
|
82
|
+
_context2.prev = 28;
|
|
83
|
+
_context2.prev = 29;
|
|
70
84
|
if (!(_iteratorAbruptCompletion && _iterator.return != null)) {
|
|
71
|
-
_context2.next =
|
|
85
|
+
_context2.next = 33;
|
|
72
86
|
break;
|
|
73
87
|
}
|
|
74
|
-
_context2.next =
|
|
88
|
+
_context2.next = 33;
|
|
75
89
|
return _iterator.return();
|
|
76
|
-
case
|
|
77
|
-
_context2.prev =
|
|
90
|
+
case 33:
|
|
91
|
+
_context2.prev = 33;
|
|
78
92
|
if (!_didIteratorError) {
|
|
79
|
-
_context2.next =
|
|
93
|
+
_context2.next = 36;
|
|
80
94
|
break;
|
|
81
95
|
}
|
|
82
96
|
throw _iteratorError;
|
|
83
|
-
case
|
|
84
|
-
return _context2.finish(
|
|
85
|
-
case
|
|
86
|
-
return _context2.finish(
|
|
87
|
-
case
|
|
88
|
-
|
|
97
|
+
case 36:
|
|
98
|
+
return _context2.finish(33);
|
|
99
|
+
case 37:
|
|
100
|
+
return _context2.finish(28);
|
|
101
|
+
case 38:
|
|
102
|
+
objectRowTable = {
|
|
89
103
|
shape: 'object-row-table',
|
|
104
|
+
schema: schema,
|
|
90
105
|
data: rows
|
|
91
|
-
}
|
|
92
|
-
|
|
106
|
+
};
|
|
107
|
+
shape = options === null || options === void 0 ? void 0 : (_options$parquet2 = options.parquet) === null || _options$parquet2 === void 0 ? void 0 : _options$parquet2.shape;
|
|
108
|
+
_context2.t1 = shape;
|
|
109
|
+
_context2.next = _context2.t1 === 'object-row-table' ? 43 : _context2.t1 === 'geojson-table' ? 44 : 51;
|
|
110
|
+
break;
|
|
111
|
+
case 43:
|
|
112
|
+
return _context2.abrupt("return", objectRowTable);
|
|
113
|
+
case 44:
|
|
114
|
+
_context2.prev = 44;
|
|
115
|
+
return _context2.abrupt("return", (0, _decodeGeoColumn.convertWKBTableToGeoJSON)(objectRowTable, schema));
|
|
116
|
+
case 48:
|
|
117
|
+
_context2.prev = 48;
|
|
118
|
+
_context2.t2 = _context2["catch"](44);
|
|
119
|
+
return _context2.abrupt("return", objectRowTable);
|
|
120
|
+
case 51:
|
|
121
|
+
throw new Error(shape);
|
|
122
|
+
case 52:
|
|
93
123
|
case "end":
|
|
94
124
|
return _context2.stop();
|
|
95
125
|
}
|
|
96
|
-
}, _callee2, null, [[
|
|
126
|
+
}, _callee2, null, [[11, 24, 28, 38], [29,, 33, 37], [44, 48]]);
|
|
97
127
|
}));
|
|
98
128
|
return _parseParquet.apply(this, arguments);
|
|
99
129
|
}
|
|
@@ -101,71 +131,74 @@ function parseParquetFileInBatches(_x, _x2) {
|
|
|
101
131
|
return _parseParquetFileInBatches.apply(this, arguments);
|
|
102
132
|
}
|
|
103
133
|
function _parseParquetFileInBatches() {
|
|
104
|
-
_parseParquetFileInBatches = (0, _wrapAsyncGenerator2.default)(_regenerator.default.mark(function _callee(
|
|
105
|
-
var
|
|
134
|
+
_parseParquetFileInBatches = (0, _wrapAsyncGenerator2.default)(_regenerator.default.mark(function _callee(reader, options) {
|
|
135
|
+
var schema, rowBatches, _iteratorAbruptCompletion2, _didIteratorError2, _iteratorError2, _iterator2, _step2, rows;
|
|
106
136
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
107
137
|
while (1) switch (_context.prev = _context.next) {
|
|
108
138
|
case 0:
|
|
109
|
-
|
|
110
|
-
|
|
139
|
+
_context.next = 2;
|
|
140
|
+
return (0, _awaitAsyncGenerator2.default)((0, _getParquetSchema.getSchemaFromParquetReader)(reader));
|
|
141
|
+
case 2:
|
|
142
|
+
schema = _context.sent;
|
|
111
143
|
rowBatches = reader.rowBatchIterator(options === null || options === void 0 ? void 0 : options.parquet);
|
|
112
144
|
_iteratorAbruptCompletion2 = false;
|
|
113
145
|
_didIteratorError2 = false;
|
|
114
|
-
_context.prev =
|
|
146
|
+
_context.prev = 6;
|
|
115
147
|
_iterator2 = _asyncIterator(rowBatches);
|
|
116
|
-
case
|
|
117
|
-
_context.next =
|
|
148
|
+
case 8:
|
|
149
|
+
_context.next = 10;
|
|
118
150
|
return (0, _awaitAsyncGenerator2.default)(_iterator2.next());
|
|
119
|
-
case
|
|
151
|
+
case 10:
|
|
120
152
|
if (!(_iteratorAbruptCompletion2 = !(_step2 = _context.sent).done)) {
|
|
121
|
-
_context.next =
|
|
153
|
+
_context.next = 17;
|
|
122
154
|
break;
|
|
123
155
|
}
|
|
124
156
|
rows = _step2.value;
|
|
125
|
-
_context.next =
|
|
157
|
+
_context.next = 14;
|
|
126
158
|
return {
|
|
159
|
+
batchType: 'data',
|
|
127
160
|
shape: 'object-row-table',
|
|
161
|
+
schema: schema,
|
|
128
162
|
data: rows,
|
|
129
|
-
batchType: 'data',
|
|
130
163
|
length: rows.length
|
|
131
164
|
};
|
|
132
|
-
case
|
|
165
|
+
case 14:
|
|
133
166
|
_iteratorAbruptCompletion2 = false;
|
|
134
|
-
_context.next =
|
|
167
|
+
_context.next = 8;
|
|
135
168
|
break;
|
|
136
|
-
case
|
|
137
|
-
_context.next =
|
|
169
|
+
case 17:
|
|
170
|
+
_context.next = 23;
|
|
138
171
|
break;
|
|
139
|
-
case
|
|
140
|
-
_context.prev =
|
|
141
|
-
_context.t0 = _context["catch"](
|
|
172
|
+
case 19:
|
|
173
|
+
_context.prev = 19;
|
|
174
|
+
_context.t0 = _context["catch"](6);
|
|
142
175
|
_didIteratorError2 = true;
|
|
143
176
|
_iteratorError2 = _context.t0;
|
|
144
|
-
case
|
|
145
|
-
_context.prev = 22;
|
|
177
|
+
case 23:
|
|
146
178
|
_context.prev = 23;
|
|
179
|
+
_context.prev = 24;
|
|
147
180
|
if (!(_iteratorAbruptCompletion2 && _iterator2.return != null)) {
|
|
148
|
-
_context.next =
|
|
181
|
+
_context.next = 28;
|
|
149
182
|
break;
|
|
150
183
|
}
|
|
151
|
-
_context.next =
|
|
184
|
+
_context.next = 28;
|
|
152
185
|
return (0, _awaitAsyncGenerator2.default)(_iterator2.return());
|
|
153
|
-
case
|
|
154
|
-
_context.prev =
|
|
186
|
+
case 28:
|
|
187
|
+
_context.prev = 28;
|
|
155
188
|
if (!_didIteratorError2) {
|
|
156
|
-
_context.next =
|
|
189
|
+
_context.next = 31;
|
|
157
190
|
break;
|
|
158
191
|
}
|
|
159
192
|
throw _iteratorError2;
|
|
160
|
-
case 30:
|
|
161
|
-
return _context.finish(27);
|
|
162
193
|
case 31:
|
|
163
|
-
return _context.finish(
|
|
194
|
+
return _context.finish(28);
|
|
164
195
|
case 32:
|
|
196
|
+
return _context.finish(23);
|
|
197
|
+
case 33:
|
|
165
198
|
case "end":
|
|
166
199
|
return _context.stop();
|
|
167
200
|
}
|
|
168
|
-
}, _callee, null, [[
|
|
201
|
+
}, _callee, null, [[6, 19, 23, 33], [24,, 28, 32]]);
|
|
169
202
|
}));
|
|
170
203
|
return _parseParquetFileInBatches.apply(this, arguments);
|
|
171
204
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-parquet-to-rows.js","names":["_loaderUtils","require","_parquetReader","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","i","F","s","n","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","call","step","next","_e2","return","minLen","_arrayLikeToArray","Object","prototype","toString","slice","constructor","name","from","test","arr","len","arr2","_asyncIterator","iterable","method","async","sync","retry","asyncIterator","AsyncFromSyncIterator","AsyncFromSyncIteratorContinuation","r","Promise","reject","resolve","then","apply","arguments","_return","ret","throw","_throw","thr","parseParquet","_x3","_x4","_parseParquet","_asyncToGenerator2","default","_regenerator","mark","_callee2","arrayBuffer","options","blob","rows","_iteratorAbruptCompletion","_didIteratorError","_iteratorError","_iterator","_step","batch","_iterator3","_step3","row","wrap","_callee2$","_context2","prev","Blob","parseParquetFileInBatches","sent","data","push","t0","finish","abrupt","shape","stop","_x","_x2","_parseParquetFileInBatches","_wrapAsyncGenerator2","_callee","file","reader","rowBatches","_iteratorAbruptCompletion2","_didIteratorError2","_iteratorError2","_iterator2","_step2","_callee$","_context","makeReadableFile","ParquetReader","rowBatchIterator","parquet","_awaitAsyncGenerator2","batchType"],"sources":["../../../../src/lib/parsers/parse-parquet-to-rows.ts"],"sourcesContent":["// import type {LoaderWithParser, Loader, LoaderOptions} from '@loaders.gl/loader-utils';\n// import {ColumnarTableBatch} from '@loaders.gl/schema';\nimport {makeReadableFile} from '@loaders.gl/loader-utils';\nimport {ObjectRowTable, ObjectRowTableBatch} from '@loaders.gl/schema';\nimport type {ParquetLoaderOptions} from '../../parquet-loader';\nimport type {ParquetRow} from '../../parquetjs/schema/declare';\nimport {ParquetReader} from '../../parquetjs/parser/parquet-reader';\n\nexport async function parseParquet(\n arrayBuffer: ArrayBuffer,\n options?: ParquetLoaderOptions\n): Promise<ObjectRowTable> {\n const blob = new Blob([arrayBuffer]);\n\n const rows: ParquetRow[] = [];\n for await (const batch of parseParquetFileInBatches(blob, options)) {\n // we have only one input batch so return\n for (const row of batch.data) {\n rows.push(row);\n }\n }\n\n return {\n shape: 'object-row-table',\n // TODO - spread can fail for very large number of batches\n data: rows\n };\n}\n\nexport async function* parseParquetFileInBatches(\n blob: Blob,\n options?: ParquetLoaderOptions\n): AsyncIterable<ObjectRowTableBatch> {\n const file = makeReadableFile(blob);\n const reader = new ParquetReader(file);\n const rowBatches = reader.rowBatchIterator(options?.parquet);\n for await (const rows of rowBatches) {\n yield {\n shape: 'object-row-table',\n data: rows,\n batchType: 'data',\n length: rows.length\n };\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"parse-parquet-to-rows.js","names":["_loaderUtils","require","_parquetReader","_getParquetSchema","_bufferPolyfill","_decodeGeoColumn","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","i","F","s","n","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","call","step","next","_e2","return","minLen","_arrayLikeToArray","Object","prototype","toString","slice","constructor","name","from","test","arr","len","arr2","_asyncIterator","iterable","method","async","sync","retry","asyncIterator","AsyncFromSyncIterator","AsyncFromSyncIteratorContinuation","r","Promise","reject","resolve","then","apply","arguments","_return","ret","throw","_throw","thr","parseParquet","_x3","_x4","_parseParquet","_asyncToGenerator2","default","_regenerator","mark","_callee2","arrayBuffer","options","_options$parquet","_options$parquet2","blob","file","reader","schema","rows","rowBatches","_iteratorAbruptCompletion","_didIteratorError","_iteratorError","_iterator","_step","rowBatch","_iterator3","_step3","row","objectRowTable","shape","wrap","_callee2$","_context2","prev","installBufferPolyfill","Blob","makeReadableFile","ParquetReader","preserveBinary","parquet","getSchemaFromParquetReader","sent","rowBatchIterator","push","t0","finish","data","t1","abrupt","convertWKBTableToGeoJSON","t2","Error","stop","parseParquetFileInBatches","_x","_x2","_parseParquetFileInBatches","_wrapAsyncGenerator2","_callee","_iteratorAbruptCompletion2","_didIteratorError2","_iteratorError2","_iterator2","_step2","_callee$","_context","_awaitAsyncGenerator2","batchType"],"sources":["../../../../src/lib/parsers/parse-parquet-to-rows.ts"],"sourcesContent":["// import type {LoaderWithParser, Loader, LoaderOptions} from '@loaders.gl/loader-utils';\n// import {ColumnarTableBatch} from '@loaders.gl/schema';\nimport {makeReadableFile} from '@loaders.gl/loader-utils';\nimport {GeoJSONTable, ObjectRowTable, ObjectRowTableBatch} from '@loaders.gl/schema';\nimport type {ParquetLoaderOptions} from '../../parquet-loader';\nimport type {ParquetRow} from '../../parquetjs/schema/declare';\nimport {ParquetReader} from '../../parquetjs/parser/parquet-reader';\nimport {getSchemaFromParquetReader} from './get-parquet-schema';\nimport {installBufferPolyfill} from '../../buffer-polyfill';\nimport {convertWKBTableToGeoJSON} from '../geo/decode-geo-column';\n\nexport async function parseParquet(\n arrayBuffer: ArrayBuffer,\n options?: ParquetLoaderOptions\n): Promise<ObjectRowTable | GeoJSONTable> {\n installBufferPolyfill();\n const blob = new Blob([arrayBuffer]);\n const file = makeReadableFile(blob);\n const reader = new ParquetReader(file, {\n preserveBinary: options?.parquet?.preserveBinary\n });\n\n const schema = await getSchemaFromParquetReader(reader);\n\n const rows: ParquetRow[] = [];\n\n const rowBatches = reader.rowBatchIterator(options?.parquet);\n for await (const rowBatch of rowBatches) {\n // we have only one input batch so return\n for (const row of rowBatch) {\n rows.push(row);\n }\n }\n const objectRowTable: ObjectRowTable = {\n shape: 'object-row-table',\n schema,\n data: rows\n };\n\n const shape = options?.parquet?.shape;\n switch (shape) {\n case 'object-row-table':\n return objectRowTable;\n\n case 'geojson-table':\n try {\n return convertWKBTableToGeoJSON(objectRowTable, schema);\n } catch (error) {\n return objectRowTable;\n }\n\n default:\n throw new Error(shape);\n }\n}\n\nexport async function* parseParquetFileInBatches(\n reader: ParquetReader,\n options?: ParquetLoaderOptions\n): AsyncIterable<ObjectRowTableBatch> {\n const schema = await getSchemaFromParquetReader(reader);\n const rowBatches = reader.rowBatchIterator(options?.parquet);\n for await (const rows of rowBatches) {\n yield {\n batchType: 'data',\n shape: 'object-row-table',\n schema,\n data: rows,\n length: rows.length\n };\n }\n}\n"],"mappings":"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"}
|
|
@@ -3,16 +3,8 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.ParquetLoader = exports.
|
|
7
|
-
var VERSION = typeof "4.0.0-alpha.
|
|
8
|
-
var DEFAULT_PARQUET_LOADER_OPTIONS = {
|
|
9
|
-
parquet: {
|
|
10
|
-
type: 'object-row-table',
|
|
11
|
-
url: undefined,
|
|
12
|
-
columnList: [],
|
|
13
|
-
geoparquet: true
|
|
14
|
-
}
|
|
15
|
-
};
|
|
6
|
+
exports.ParquetLoader = exports.ParquetColumnnarLoader = void 0;
|
|
7
|
+
var VERSION = typeof "4.0.0-alpha.26" !== 'undefined' ? "4.0.0-alpha.26" : 'latest';
|
|
16
8
|
var ParquetLoader = {
|
|
17
9
|
name: 'Apache Parquet',
|
|
18
10
|
id: 'parquet',
|
|
@@ -24,10 +16,18 @@ var ParquetLoader = {
|
|
|
24
16
|
mimeTypes: ['application/octet-stream'],
|
|
25
17
|
binary: true,
|
|
26
18
|
tests: ['PAR1', 'PARE'],
|
|
27
|
-
options:
|
|
19
|
+
options: {
|
|
20
|
+
parquet: {
|
|
21
|
+
shape: 'object-row-table',
|
|
22
|
+
columnList: [],
|
|
23
|
+
geoparquet: true,
|
|
24
|
+
url: undefined,
|
|
25
|
+
preserveBinary: false
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
28
|
};
|
|
29
29
|
exports.ParquetLoader = ParquetLoader;
|
|
30
|
-
var
|
|
30
|
+
var ParquetColumnnarLoader = {
|
|
31
31
|
name: 'Apache Parquet',
|
|
32
32
|
id: 'parquet',
|
|
33
33
|
module: 'parquet',
|
|
@@ -38,7 +38,7 @@ var ParqueColumnnartLoader = {
|
|
|
38
38
|
mimeTypes: ['application/octet-stream'],
|
|
39
39
|
binary: true,
|
|
40
40
|
tests: ['PAR1', 'PARE'],
|
|
41
|
-
options:
|
|
41
|
+
options: ParquetLoader.options
|
|
42
42
|
};
|
|
43
|
-
exports.
|
|
43
|
+
exports.ParquetColumnnarLoader = ParquetColumnnarLoader;
|
|
44
44
|
//# sourceMappingURL=parquet-loader.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parquet-loader.js","names":["VERSION","
|
|
1
|
+
{"version":3,"file":"parquet-loader.js","names":["VERSION","ParquetLoader","name","id","module","version","worker","category","extensions","mimeTypes","binary","tests","options","parquet","shape","columnList","geoparquet","url","undefined","preserveBinary","exports","ParquetColumnnarLoader"],"sources":["../../src/parquet-loader.ts"],"sourcesContent":["// loaders.gl, MIT license\nimport type {Loader, LoaderOptions} from '@loaders.gl/loader-utils';\nimport type {\n ObjectRowTable,\n ObjectRowTableBatch,\n ColumnarTable,\n ColumnarTableBatch,\n GeoJSONTable,\n GeoJSONTableBatch\n} from '@loaders.gl/schema';\n\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';\n\n/** Options for the parquet loader */\nexport type ParquetLoaderOptions = LoaderOptions & {\n /** Options for the parquet loader */\n parquet?: {\n /** Format of returned parsed data */\n shape?: 'object-row-table' | 'geojson-table';\n /** Restrict which columns that are parsed from the table. Can save significant memory. */\n columnList?: string[] | string[][];\n /** If true, binary values are not converted to strings */\n preserveBinary?: boolean;\n /** @deprecated not used? Set to true to indicate that this is a geoparquet file. */\n geoparquet?: boolean;\n /** @deprecated URL to override loaders.gl/core parser system */\n url?: string;\n };\n};\n\n/** ParquetJS table loader */\nexport const ParquetLoader: Loader<\n ObjectRowTable | GeoJSONTable,\n ObjectRowTableBatch | GeoJSONTableBatch,\n ParquetLoaderOptions\n> = {\n name: 'Apache Parquet',\n id: 'parquet',\n module: 'parquet',\n version: VERSION,\n worker: true,\n category: 'table',\n extensions: ['parquet'],\n mimeTypes: ['application/octet-stream'],\n binary: true,\n tests: ['PAR1', 'PARE'],\n options: {\n parquet: {\n shape: 'object-row-table',\n columnList: [],\n geoparquet: true,\n url: undefined,\n preserveBinary: false\n }\n }\n};\n\nexport const ParquetColumnnarLoader: Loader<\n ColumnarTable,\n ColumnarTableBatch,\n ParquetLoaderOptions\n> = {\n name: 'Apache Parquet',\n id: 'parquet',\n module: 'parquet',\n version: VERSION,\n worker: true,\n category: 'table',\n extensions: ['parquet'],\n mimeTypes: ['application/octet-stream'],\n binary: true,\n tests: ['PAR1', 'PARE'],\n options: ParquetLoader.options\n};\n"],"mappings":";;;;;;AAaA,IAAMA,OAAO,GAAG,uBAAkB,KAAK,WAAW,sBAAiB,QAAQ;AAoBpE,IAAMC,aAIZ,GAAG;EACFC,IAAI,EAAE,gBAAgB;EACtBC,EAAE,EAAE,SAAS;EACbC,MAAM,EAAE,SAAS;EACjBC,OAAO,EAAEL,OAAO;EAChBM,MAAM,EAAE,IAAI;EACZC,QAAQ,EAAE,OAAO;EACjBC,UAAU,EAAE,CAAC,SAAS,CAAC;EACvBC,SAAS,EAAE,CAAC,0BAA0B,CAAC;EACvCC,MAAM,EAAE,IAAI;EACZC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;EACvBC,OAAO,EAAE;IACPC,OAAO,EAAE;MACPC,KAAK,EAAE,kBAAkB;MACzBC,UAAU,EAAE,EAAE;MACdC,UAAU,EAAE,IAAI;MAChBC,GAAG,EAAEC,SAAS;MACdC,cAAc,EAAE;IAClB;EACF;AACF,CAAC;AAACC,OAAA,CAAAnB,aAAA,GAAAA,aAAA;AAEK,IAAMoB,sBAIZ,GAAG;EACFnB,IAAI,EAAE,gBAAgB;EACtBC,EAAE,EAAE,SAAS;EACbC,MAAM,EAAE,SAAS;EACjBC,OAAO,EAAEL,OAAO;EAChBM,MAAM,EAAE,IAAI;EACZC,QAAQ,EAAE,OAAO;EACjBC,UAAU,EAAE,CAAC,SAAS,CAAC;EACvBC,SAAS,EAAE,CAAC,0BAA0B,CAAC;EACvCC,MAAM,EAAE,IAAI;EACZC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;EACvBC,OAAO,EAAEX,aAAa,CAACW;AACzB,CAAC;AAACQ,OAAA,CAAAC,sBAAA,GAAAA,sBAAA"}
|
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.ParquetWasmLoader = void 0;
|
|
7
|
-
var VERSION = typeof "4.0.0-alpha.
|
|
7
|
+
var VERSION = typeof "4.0.0-alpha.26" !== 'undefined' ? "4.0.0-alpha.26" : 'latest';
|
|
8
8
|
var ParquetWasmLoader = {
|
|
9
9
|
name: 'Apache Parquet',
|
|
10
10
|
id: 'parquet-wasm',
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.ParquetWasmWriter = void 0;
|
|
7
7
|
var _encodeParquetWasm = require("./lib/wasm/encode-parquet-wasm");
|
|
8
|
-
var VERSION = typeof "4.0.0-alpha.
|
|
8
|
+
var VERSION = typeof "4.0.0-alpha.26" !== 'undefined' ? "4.0.0-alpha.26" : 'latest';
|
|
9
9
|
var ParquetWasmWriter = {
|
|
10
10
|
name: 'Apache Parquet',
|
|
11
11
|
id: 'parquet-wasm',
|
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.ParquetWriter = void 0;
|
|
7
|
-
var VERSION = typeof "4.0.0-alpha.
|
|
7
|
+
var VERSION = typeof "4.0.0-alpha.26" !== 'undefined' ? "4.0.0-alpha.26" : 'latest';
|
|
8
8
|
var ParquetWriter = {
|
|
9
9
|
name: 'Apache Parquet',
|
|
10
10
|
id: 'parquet',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plain.js","names":["_int","_interopRequireDefault","require","encodeValues","type","values","opts","encodeValues_BOOLEAN","encodeValues_INT32","encodeValues_INT64","encodeValues_INT96","encodeValues_FLOAT","encodeValues_DOUBLE","encodeValues_BYTE_ARRAY","encodeValues_FIXED_LEN_BYTE_ARRAY","Error","concat","decodeValues","cursor","count","decodeValues_BOOLEAN","decodeValues_INT32","decodeValues_INT64","decodeValues_INT96","decodeValues_FLOAT","decodeValues_DOUBLE","decodeValues_BYTE_ARRAY","decodeValues_FIXED_LEN_BYTE_ARRAY","buf","Buffer","alloc","Math","ceil","length","fill","i","floor","b","buffer","offset","push","writeInt32LE","readInt32LE","INT53","writeInt64LE","readInt64LE","writeUInt32LE","low","high","readUInt32LE","writeFloatLE","readFloatLE","writeDoubleLE","readDoubleLE","buf_len","from","buf_pos","copy","len","slice","typeLength"],"sources":["../../../../src/parquetjs/codecs/plain.ts"],"sourcesContent":["// Forked from https://github.com/kbajalc/parquets under MIT license (Copyright (c) 2017 ironSource Ltd.)\n/* eslint-disable camelcase */\nimport type {PrimitiveType} from '../schema/declare';\nimport type {CursorBuffer, ParquetCodecOptions} from './declare';\nimport INT53 from 'int53';\n\nexport function encodeValues(\n type: PrimitiveType,\n values: any[],\n opts: ParquetCodecOptions\n): Buffer {\n switch (type) {\n case 'BOOLEAN':\n return encodeValues_BOOLEAN(values);\n case 'INT32':\n return encodeValues_INT32(values);\n case 'INT64':\n return encodeValues_INT64(values);\n case 'INT96':\n return encodeValues_INT96(values);\n case 'FLOAT':\n return encodeValues_FLOAT(values);\n case 'DOUBLE':\n return encodeValues_DOUBLE(values);\n case 'BYTE_ARRAY':\n return encodeValues_BYTE_ARRAY(values);\n case 'FIXED_LEN_BYTE_ARRAY':\n return encodeValues_FIXED_LEN_BYTE_ARRAY(values, opts);\n default:\n throw new Error(`unsupported type: ${type}`);\n }\n}\n\nexport function decodeValues(\n type: PrimitiveType,\n cursor: CursorBuffer,\n count: number,\n opts: ParquetCodecOptions\n): any[] {\n switch (type) {\n case 'BOOLEAN':\n return decodeValues_BOOLEAN(cursor, count);\n case 'INT32':\n return decodeValues_INT32(cursor, count);\n case 'INT64':\n return decodeValues_INT64(cursor, count);\n case 'INT96':\n return decodeValues_INT96(cursor, count);\n case 'FLOAT':\n return decodeValues_FLOAT(cursor, count);\n case 'DOUBLE':\n return decodeValues_DOUBLE(cursor, count);\n case 'BYTE_ARRAY':\n return decodeValues_BYTE_ARRAY(cursor, count);\n case 'FIXED_LEN_BYTE_ARRAY':\n return decodeValues_FIXED_LEN_BYTE_ARRAY(cursor, count, opts);\n default:\n throw new Error(`unsupported type: ${type}`);\n }\n}\n\nfunction encodeValues_BOOLEAN(values: boolean[]): Buffer {\n const buf = Buffer.alloc(Math.ceil(values.length / 8));\n buf.fill(0);\n for (let i = 0; i < values.length; i++) {\n if (values[i]) {\n buf[Math.floor(i / 8)] |= 1 << i % 8;\n }\n }\n return buf;\n}\n\nfunction decodeValues_BOOLEAN(cursor: CursorBuffer, count: number): boolean[] {\n const values: boolean[] = [];\n for (let i = 0; i < count; i++) {\n const b = cursor.buffer[cursor.offset + Math.floor(i / 8)];\n values.push((b & (1 << i % 8)) > 0);\n }\n cursor.offset += Math.ceil(count / 8);\n return values;\n}\n\nfunction encodeValues_INT32(values: number[]): Buffer {\n const buf = Buffer.alloc(4 * values.length);\n for (let i = 0; i < values.length; i++) {\n buf.writeInt32LE(values[i], i * 4);\n }\n return buf;\n}\n\nfunction decodeValues_INT32(cursor: CursorBuffer, count: number): number[] {\n const values: number[] = [];\n for (let i = 0; i < count; i++) {\n values.push(cursor.buffer.readInt32LE(cursor.offset));\n cursor.offset += 4;\n }\n return values;\n}\n\nfunction encodeValues_INT64(values: number[]): Buffer {\n const buf = Buffer.alloc(8 * values.length);\n for (let i = 0; i < values.length; i++) {\n INT53.writeInt64LE(values[i], buf, i * 8);\n }\n return buf;\n}\n\nfunction decodeValues_INT64(cursor: CursorBuffer, count: number): number[] {\n const values: number[] = [];\n for (let i = 0; i < count; i++) {\n values.push(INT53.readInt64LE(cursor.buffer, cursor.offset));\n cursor.offset += 8;\n }\n return values;\n}\n\nfunction encodeValues_INT96(values: number[]): Buffer {\n const buf = Buffer.alloc(12 * values.length);\n for (let i = 0; i < values.length; i++) {\n if (values[i] >= 0) {\n INT53.writeInt64LE(values[i], buf, i * 12);\n buf.writeUInt32LE(0, i * 12 + 8); // truncate to 64 actual precision\n } else {\n INT53.writeInt64LE(~-values[i] + 1, buf, i * 12);\n buf.writeUInt32LE(0xffffffff, i * 12 + 8); // truncate to 64 actual precision\n }\n }\n return buf;\n}\n\nfunction decodeValues_INT96(cursor: CursorBuffer, count: number): number[] {\n const values: number[] = [];\n for (let i = 0; i < count; i++) {\n const low = INT53.readInt64LE(cursor.buffer, cursor.offset);\n const high = cursor.buffer.readUInt32LE(cursor.offset + 8);\n if (high === 0xffffffff) {\n values.push(~-low + 1); // truncate to 64 actual precision\n } else {\n values.push(low); // truncate to 64 actual precision\n }\n cursor.offset += 12;\n }\n return values;\n}\n\nfunction encodeValues_FLOAT(values: number[]): Buffer {\n const buf = Buffer.alloc(4 * values.length);\n for (let i = 0; i < values.length; i++) {\n buf.writeFloatLE(values[i], i * 4);\n }\n return buf;\n}\n\nfunction decodeValues_FLOAT(cursor: CursorBuffer, count: number): number[] {\n const values: number[] = [];\n for (let i = 0; i < count; i++) {\n values.push(cursor.buffer.readFloatLE(cursor.offset));\n cursor.offset += 4;\n }\n return values;\n}\n\nfunction encodeValues_DOUBLE(values: number[]): Buffer {\n const buf = Buffer.alloc(8 * values.length);\n for (let i = 0; i < values.length; i++) {\n buf.writeDoubleLE(values[i], i * 8);\n }\n return buf;\n}\n\nfunction decodeValues_DOUBLE(cursor: CursorBuffer, count: number): number[] {\n const values: number[] = [];\n for (let i = 0; i < count; i++) {\n values.push(cursor.buffer.readDoubleLE(cursor.offset));\n cursor.offset += 8;\n }\n return values;\n}\n\nfunction encodeValues_BYTE_ARRAY(values: Buffer[]): Buffer {\n // tslint:disable-next-line:variable-name\n let buf_len = 0;\n for (let i = 0; i < values.length; i++) {\n values[i] = Buffer.from(values[i]);\n buf_len += 4 + values[i].length;\n }\n const buf = Buffer.alloc(buf_len);\n // tslint:disable-next-line:variable-name\n let buf_pos = 0;\n for (let i = 0; i < values.length; i++) {\n buf.writeUInt32LE(values[i].length, buf_pos);\n values[i].copy(buf, buf_pos + 4);\n buf_pos += 4 + values[i].length;\n }\n return buf;\n}\n\nfunction decodeValues_BYTE_ARRAY(cursor: CursorBuffer, count: number): Buffer[] {\n const values: Buffer[] = [];\n for (let i = 0; i < count; i++) {\n const len = cursor.buffer.readUInt32LE(cursor.offset);\n cursor.offset += 4;\n values.push(cursor.buffer.slice(cursor.offset, cursor.offset + len));\n cursor.offset += len;\n }\n return values;\n}\n\nfunction encodeValues_FIXED_LEN_BYTE_ARRAY(values: Buffer[], opts: ParquetCodecOptions): Buffer {\n if (!opts.typeLength) {\n throw new Error('missing option: typeLength (required for FIXED_LEN_BYTE_ARRAY)');\n }\n for (let i = 0; i < values.length; i++) {\n values[i] = Buffer.from(values[i]);\n if (values[i].length !== opts.typeLength) {\n throw new Error(`invalid value for FIXED_LEN_BYTE_ARRAY: ${values[i]}`);\n }\n }\n return Buffer.concat(values);\n}\n\nfunction decodeValues_FIXED_LEN_BYTE_ARRAY(\n cursor: CursorBuffer,\n count: number,\n opts: ParquetCodecOptions\n): Buffer[] {\n const values: Buffer[] = [];\n if (!opts.typeLength) {\n throw new Error('missing option: typeLength (required for FIXED_LEN_BYTE_ARRAY)');\n }\n for (let i = 0; i < count; i++) {\n values.push(cursor.buffer.slice(cursor.offset, cursor.offset + opts.typeLength));\n cursor.offset += opts.typeLength;\n }\n return values;\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"plain.js","names":["_int","_interopRequireDefault","require","encodeValues","type","values","opts","encodeValues_BOOLEAN","encodeValues_INT32","encodeValues_INT64","encodeValues_INT96","encodeValues_FLOAT","encodeValues_DOUBLE","encodeValues_BYTE_ARRAY","encodeValues_FIXED_LEN_BYTE_ARRAY","Error","concat","decodeValues","cursor","count","decodeValues_BOOLEAN","decodeValues_INT32","decodeValues_INT64","decodeValues_INT96","decodeValues_FLOAT","decodeValues_DOUBLE","decodeValues_BYTE_ARRAY","decodeValues_FIXED_LEN_BYTE_ARRAY","buf","Buffer","alloc","Math","ceil","length","fill","i","floor","b","buffer","offset","push","writeInt32LE","readInt32LE","INT53","writeInt64LE","readInt64LE","writeUInt32LE","low","high","readUInt32LE","writeFloatLE","readFloatLE","writeDoubleLE","readDoubleLE","buf_len","from","buf_pos","copy","len","slice","typeLength"],"sources":["../../../../src/parquetjs/codecs/plain.ts"],"sourcesContent":["// Forked from https://github.com/kbajalc/parquets under MIT license (Copyright (c) 2017 ironSource Ltd.)\n/* eslint-disable camelcase */\nimport type {PrimitiveType} from '../schema/declare';\nimport type {CursorBuffer, ParquetCodecOptions} from './declare';\nimport INT53 from 'int53';\n\nexport function encodeValues(\n type: PrimitiveType,\n values: any[],\n opts: ParquetCodecOptions\n): Buffer {\n switch (type) {\n case 'BOOLEAN':\n return encodeValues_BOOLEAN(values);\n case 'INT32':\n return encodeValues_INT32(values);\n case 'INT64':\n return encodeValues_INT64(values);\n case 'INT96':\n return encodeValues_INT96(values);\n case 'FLOAT':\n return encodeValues_FLOAT(values);\n case 'DOUBLE':\n return encodeValues_DOUBLE(values);\n case 'BYTE_ARRAY':\n return encodeValues_BYTE_ARRAY(values);\n case 'FIXED_LEN_BYTE_ARRAY':\n return encodeValues_FIXED_LEN_BYTE_ARRAY(values, opts);\n default:\n throw new Error(`unsupported type: ${type}`);\n }\n}\n\nexport function decodeValues(\n type: PrimitiveType,\n cursor: CursorBuffer,\n count: number,\n opts: ParquetCodecOptions\n): any[] {\n switch (type) {\n case 'BOOLEAN':\n return decodeValues_BOOLEAN(cursor, count);\n case 'INT32':\n return decodeValues_INT32(cursor, count);\n case 'INT64':\n return decodeValues_INT64(cursor, count);\n case 'INT96':\n return decodeValues_INT96(cursor, count);\n case 'FLOAT':\n return decodeValues_FLOAT(cursor, count);\n case 'DOUBLE':\n return decodeValues_DOUBLE(cursor, count);\n case 'BYTE_ARRAY':\n return decodeValues_BYTE_ARRAY(cursor, count);\n case 'FIXED_LEN_BYTE_ARRAY':\n return decodeValues_FIXED_LEN_BYTE_ARRAY(cursor, count, opts);\n default:\n throw new Error(`unsupported type: ${type}`);\n }\n}\n\nfunction encodeValues_BOOLEAN(values: boolean[]): Buffer {\n const buf = Buffer.alloc(Math.ceil(values.length / 8));\n buf.fill(0);\n for (let i = 0; i < values.length; i++) {\n if (values[i]) {\n buf[Math.floor(i / 8)] |= 1 << i % 8;\n }\n }\n return buf;\n}\n\nfunction decodeValues_BOOLEAN(cursor: CursorBuffer, count: number): boolean[] {\n const values: boolean[] = [];\n for (let i = 0; i < count; i++) {\n const b = cursor.buffer[cursor.offset + Math.floor(i / 8)];\n values.push((b & (1 << i % 8)) > 0);\n }\n cursor.offset += Math.ceil(count / 8);\n return values;\n}\n\nfunction encodeValues_INT32(values: number[]): Buffer {\n const buf = Buffer.alloc(4 * values.length);\n for (let i = 0; i < values.length; i++) {\n buf.writeInt32LE(values[i], i * 4);\n }\n return buf;\n}\n\nfunction decodeValues_INT32(cursor: CursorBuffer, count: number): number[] {\n const values: number[] = [];\n for (let i = 0; i < count; i++) {\n values.push(cursor.buffer.readInt32LE(cursor.offset));\n cursor.offset += 4;\n }\n return values;\n}\n\nfunction encodeValues_INT64(values: number[]): Buffer {\n const buf = Buffer.alloc(8 * values.length);\n for (let i = 0; i < values.length; i++) {\n INT53.writeInt64LE(values[i], buf, i * 8);\n }\n return buf;\n}\n\nfunction decodeValues_INT64(cursor: CursorBuffer, count: number): number[] {\n const values: number[] = [];\n for (let i = 0; i < count; i++) {\n values.push(INT53.readInt64LE(cursor.buffer, cursor.offset));\n cursor.offset += 8;\n }\n return values;\n}\n\nfunction encodeValues_INT96(values: number[]): Buffer {\n const buf = Buffer.alloc(12 * values.length);\n for (let i = 0; i < values.length; i++) {\n if (values[i] >= 0) {\n INT53.writeInt64LE(values[i], buf, i * 12);\n buf.writeUInt32LE(0, i * 12 + 8); // truncate to 64 actual precision\n } else {\n INT53.writeInt64LE(~-values[i] + 1, buf, i * 12);\n buf.writeUInt32LE(0xffffffff, i * 12 + 8); // truncate to 64 actual precision\n }\n }\n return buf;\n}\n\nfunction decodeValues_INT96(cursor: CursorBuffer, count: number): number[] {\n const values: number[] = [];\n for (let i = 0; i < count; i++) {\n const low = INT53.readInt64LE(cursor.buffer, cursor.offset);\n const high = cursor.buffer.readUInt32LE(cursor.offset + 8);\n if (high === 0xffffffff) {\n values.push(~-low + 1); // truncate to 64 actual precision\n } else {\n values.push(low); // truncate to 64 actual precision\n }\n cursor.offset += 12;\n }\n return values;\n}\n\nfunction encodeValues_FLOAT(values: number[]): Buffer {\n const buf = Buffer.alloc(4 * values.length);\n for (let i = 0; i < values.length; i++) {\n buf.writeFloatLE(values[i], i * 4);\n }\n return buf;\n}\n\nfunction decodeValues_FLOAT(cursor: CursorBuffer, count: number): number[] {\n const values: number[] = [];\n for (let i = 0; i < count; i++) {\n values.push(cursor.buffer.readFloatLE(cursor.offset));\n cursor.offset += 4;\n }\n return values;\n}\n\nfunction encodeValues_DOUBLE(values: number[]): Buffer {\n const buf = Buffer.alloc(8 * values.length);\n for (let i = 0; i < values.length; i++) {\n buf.writeDoubleLE(values[i], i * 8);\n }\n return buf;\n}\n\nfunction decodeValues_DOUBLE(cursor: CursorBuffer, count: number): number[] {\n const values: number[] = [];\n for (let i = 0; i < count; i++) {\n values.push(cursor.buffer.readDoubleLE(cursor.offset));\n cursor.offset += 8;\n }\n return values;\n}\n\nfunction encodeValues_BYTE_ARRAY(values: Buffer[]): Buffer {\n // tslint:disable-next-line:variable-name\n let buf_len = 0;\n for (let i = 0; i < values.length; i++) {\n values[i] = Buffer.from(values[i]);\n buf_len += 4 + values[i].length;\n }\n const buf = Buffer.alloc(buf_len);\n // tslint:disable-next-line:variable-name\n let buf_pos = 0;\n for (let i = 0; i < values.length; i++) {\n buf.writeUInt32LE(values[i].length, buf_pos);\n values[i].copy(buf, buf_pos + 4);\n buf_pos += 4 + values[i].length;\n }\n return buf;\n}\n\nfunction decodeValues_BYTE_ARRAY(cursor: CursorBuffer, count: number): Buffer[] {\n const values: Buffer[] = [];\n for (let i = 0; i < count; i++) {\n const len = cursor.buffer.readUInt32LE(cursor.offset);\n cursor.offset += 4;\n // values.push(cursor.buffer.buffer.slice(cursor.offset, cursor.offset + len));\n values.push(cursor.buffer.slice(cursor.offset, cursor.offset + len));\n cursor.offset += len;\n }\n return values;\n}\n\nfunction encodeValues_FIXED_LEN_BYTE_ARRAY(values: Buffer[], opts: ParquetCodecOptions): Buffer {\n if (!opts.typeLength) {\n throw new Error('missing option: typeLength (required for FIXED_LEN_BYTE_ARRAY)');\n }\n for (let i = 0; i < values.length; i++) {\n values[i] = Buffer.from(values[i]);\n if (values[i].length !== opts.typeLength) {\n throw new Error(`invalid value for FIXED_LEN_BYTE_ARRAY: ${values[i]}`);\n }\n }\n return Buffer.concat(values);\n}\n\nfunction decodeValues_FIXED_LEN_BYTE_ARRAY(\n cursor: CursorBuffer,\n count: number,\n opts: ParquetCodecOptions\n): Buffer[] {\n const values: Buffer[] = [];\n if (!opts.typeLength) {\n throw new Error('missing option: typeLength (required for FIXED_LEN_BYTE_ARRAY)');\n }\n for (let i = 0; i < count; i++) {\n values.push(cursor.buffer.slice(cursor.offset, cursor.offset + opts.typeLength));\n cursor.offset += opts.typeLength;\n }\n return values;\n}\n"],"mappings":";;;;;;;;AAIA,IAAAA,IAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEO,SAASC,YAAYA,CAC1BC,IAAmB,EACnBC,MAAa,EACbC,IAAyB,EACjB;EACR,QAAQF,IAAI;IACV,KAAK,SAAS;MACZ,OAAOG,oBAAoB,CAACF,MAAM,CAAC;IACrC,KAAK,OAAO;MACV,OAAOG,kBAAkB,CAACH,MAAM,CAAC;IACnC,KAAK,OAAO;MACV,OAAOI,kBAAkB,CAACJ,MAAM,CAAC;IACnC,KAAK,OAAO;MACV,OAAOK,kBAAkB,CAACL,MAAM,CAAC;IACnC,KAAK,OAAO;MACV,OAAOM,kBAAkB,CAACN,MAAM,CAAC;IACnC,KAAK,QAAQ;MACX,OAAOO,mBAAmB,CAACP,MAAM,CAAC;IACpC,KAAK,YAAY;MACf,OAAOQ,uBAAuB,CAACR,MAAM,CAAC;IACxC,KAAK,sBAAsB;MACzB,OAAOS,iCAAiC,CAACT,MAAM,EAAEC,IAAI,CAAC;IACxD;MACE,MAAM,IAAIS,KAAK,sBAAAC,MAAA,CAAsBZ,IAAI,CAAE,CAAC;EAChD;AACF;AAEO,SAASa,YAAYA,CAC1Bb,IAAmB,EACnBc,MAAoB,EACpBC,KAAa,EACbb,IAAyB,EAClB;EACP,QAAQF,IAAI;IACV,KAAK,SAAS;MACZ,OAAOgB,oBAAoB,CAACF,MAAM,EAAEC,KAAK,CAAC;IAC5C,KAAK,OAAO;MACV,OAAOE,kBAAkB,CAACH,MAAM,EAAEC,KAAK,CAAC;IAC1C,KAAK,OAAO;MACV,OAAOG,kBAAkB,CAACJ,MAAM,EAAEC,KAAK,CAAC;IAC1C,KAAK,OAAO;MACV,OAAOI,kBAAkB,CAACL,MAAM,EAAEC,KAAK,CAAC;IAC1C,KAAK,OAAO;MACV,OAAOK,kBAAkB,CAACN,MAAM,EAAEC,KAAK,CAAC;IAC1C,KAAK,QAAQ;MACX,OAAOM,mBAAmB,CAACP,MAAM,EAAEC,KAAK,CAAC;IAC3C,KAAK,YAAY;MACf,OAAOO,uBAAuB,CAACR,MAAM,EAAEC,KAAK,CAAC;IAC/C,KAAK,sBAAsB;MACzB,OAAOQ,iCAAiC,CAACT,MAAM,EAAEC,KAAK,EAAEb,IAAI,CAAC;IAC/D;MACE,MAAM,IAAIS,KAAK,sBAAAC,MAAA,CAAsBZ,IAAI,CAAE,CAAC;EAChD;AACF;AAEA,SAASG,oBAAoBA,CAACF,MAAiB,EAAU;EACvD,IAAMuB,GAAG,GAAGC,MAAM,CAACC,KAAK,CAACC,IAAI,CAACC,IAAI,CAAC3B,MAAM,CAAC4B,MAAM,GAAG,CAAC,CAAC,CAAC;EACtDL,GAAG,CAACM,IAAI,CAAC,CAAC,CAAC;EACX,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG9B,MAAM,CAAC4B,MAAM,EAAEE,CAAC,EAAE,EAAE;IACtC,IAAI9B,MAAM,CAAC8B,CAAC,CAAC,EAAE;MACbP,GAAG,CAACG,IAAI,CAACK,KAAK,CAACD,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAIA,CAAC,GAAG,CAAC;IACtC;EACF;EACA,OAAOP,GAAG;AACZ;AAEA,SAASR,oBAAoBA,CAACF,MAAoB,EAAEC,KAAa,EAAa;EAC5E,IAAMd,MAAiB,GAAG,EAAE;EAC5B,KAAK,IAAI8B,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGhB,KAAK,EAAEgB,CAAC,EAAE,EAAE;IAC9B,IAAME,CAAC,GAAGnB,MAAM,CAACoB,MAAM,CAACpB,MAAM,CAACqB,MAAM,GAAGR,IAAI,CAACK,KAAK,CAACD,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1D9B,MAAM,CAACmC,IAAI,CAAC,CAACH,CAAC,GAAI,CAAC,IAAIF,CAAC,GAAG,CAAE,IAAI,CAAC,CAAC;EACrC;EACAjB,MAAM,CAACqB,MAAM,IAAIR,IAAI,CAACC,IAAI,CAACb,KAAK,GAAG,CAAC,CAAC;EACrC,OAAOd,MAAM;AACf;AAEA,SAASG,kBAAkBA,CAACH,MAAgB,EAAU;EACpD,IAAMuB,GAAG,GAAGC,MAAM,CAACC,KAAK,CAAC,CAAC,GAAGzB,MAAM,CAAC4B,MAAM,CAAC;EAC3C,KAAK,IAAIE,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG9B,MAAM,CAAC4B,MAAM,EAAEE,CAAC,EAAE,EAAE;IACtCP,GAAG,CAACa,YAAY,CAACpC,MAAM,CAAC8B,CAAC,CAAC,EAAEA,CAAC,GAAG,CAAC,CAAC;EACpC;EACA,OAAOP,GAAG;AACZ;AAEA,SAASP,kBAAkBA,CAACH,MAAoB,EAAEC,KAAa,EAAY;EACzE,IAAMd,MAAgB,GAAG,EAAE;EAC3B,KAAK,IAAI8B,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGhB,KAAK,EAAEgB,CAAC,EAAE,EAAE;IAC9B9B,MAAM,CAACmC,IAAI,CAACtB,MAAM,CAACoB,MAAM,CAACI,WAAW,CAACxB,MAAM,CAACqB,MAAM,CAAC,CAAC;IACrDrB,MAAM,CAACqB,MAAM,IAAI,CAAC;EACpB;EACA,OAAOlC,MAAM;AACf;AAEA,SAASI,kBAAkBA,CAACJ,MAAgB,EAAU;EACpD,IAAMuB,GAAG,GAAGC,MAAM,CAACC,KAAK,CAAC,CAAC,GAAGzB,MAAM,CAAC4B,MAAM,CAAC;EAC3C,KAAK,IAAIE,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG9B,MAAM,CAAC4B,MAAM,EAAEE,CAAC,EAAE,EAAE;IACtCQ,YAAK,CAACC,YAAY,CAACvC,MAAM,CAAC8B,CAAC,CAAC,EAAEP,GAAG,EAAEO,CAAC,GAAG,CAAC,CAAC;EAC3C;EACA,OAAOP,GAAG;AACZ;AAEA,SAASN,kBAAkBA,CAACJ,MAAoB,EAAEC,KAAa,EAAY;EACzE,IAAMd,MAAgB,GAAG,EAAE;EAC3B,KAAK,IAAI8B,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGhB,KAAK,EAAEgB,CAAC,EAAE,EAAE;IAC9B9B,MAAM,CAACmC,IAAI,CAACG,YAAK,CAACE,WAAW,CAAC3B,MAAM,CAACoB,MAAM,EAAEpB,MAAM,CAACqB,MAAM,CAAC,CAAC;IAC5DrB,MAAM,CAACqB,MAAM,IAAI,CAAC;EACpB;EACA,OAAOlC,MAAM;AACf;AAEA,SAASK,kBAAkBA,CAACL,MAAgB,EAAU;EACpD,IAAMuB,GAAG,GAAGC,MAAM,CAACC,KAAK,CAAC,EAAE,GAAGzB,MAAM,CAAC4B,MAAM,CAAC;EAC5C,KAAK,IAAIE,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG9B,MAAM,CAAC4B,MAAM,EAAEE,CAAC,EAAE,EAAE;IACtC,IAAI9B,MAAM,CAAC8B,CAAC,CAAC,IAAI,CAAC,EAAE;MAClBQ,YAAK,CAACC,YAAY,CAACvC,MAAM,CAAC8B,CAAC,CAAC,EAAEP,GAAG,EAAEO,CAAC,GAAG,EAAE,CAAC;MAC1CP,GAAG,CAACkB,aAAa,CAAC,CAAC,EAAEX,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAClC,CAAC,MAAM;MACLQ,YAAK,CAACC,YAAY,CAAC,CAAC,CAACvC,MAAM,CAAC8B,CAAC,CAAC,GAAG,CAAC,EAAEP,GAAG,EAAEO,CAAC,GAAG,EAAE,CAAC;MAChDP,GAAG,CAACkB,aAAa,CAAC,UAAU,EAAEX,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC3C;EACF;EACA,OAAOP,GAAG;AACZ;AAEA,SAASL,kBAAkBA,CAACL,MAAoB,EAAEC,KAAa,EAAY;EACzE,IAAMd,MAAgB,GAAG,EAAE;EAC3B,KAAK,IAAI8B,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGhB,KAAK,EAAEgB,CAAC,EAAE,EAAE;IAC9B,IAAMY,GAAG,GAAGJ,YAAK,CAACE,WAAW,CAAC3B,MAAM,CAACoB,MAAM,EAAEpB,MAAM,CAACqB,MAAM,CAAC;IAC3D,IAAMS,IAAI,GAAG9B,MAAM,CAACoB,MAAM,CAACW,YAAY,CAAC/B,MAAM,CAACqB,MAAM,GAAG,CAAC,CAAC;IAC1D,IAAIS,IAAI,KAAK,UAAU,EAAE;MACvB3C,MAAM,CAACmC,IAAI,CAAC,CAAC,CAACO,GAAG,GAAG,CAAC,CAAC;IACxB,CAAC,MAAM;MACL1C,MAAM,CAACmC,IAAI,CAACO,GAAG,CAAC;IAClB;IACA7B,MAAM,CAACqB,MAAM,IAAI,EAAE;EACrB;EACA,OAAOlC,MAAM;AACf;AAEA,SAASM,kBAAkBA,CAACN,MAAgB,EAAU;EACpD,IAAMuB,GAAG,GAAGC,MAAM,CAACC,KAAK,CAAC,CAAC,GAAGzB,MAAM,CAAC4B,MAAM,CAAC;EAC3C,KAAK,IAAIE,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG9B,MAAM,CAAC4B,MAAM,EAAEE,CAAC,EAAE,EAAE;IACtCP,GAAG,CAACsB,YAAY,CAAC7C,MAAM,CAAC8B,CAAC,CAAC,EAAEA,CAAC,GAAG,CAAC,CAAC;EACpC;EACA,OAAOP,GAAG;AACZ;AAEA,SAASJ,kBAAkBA,CAACN,MAAoB,EAAEC,KAAa,EAAY;EACzE,IAAMd,MAAgB,GAAG,EAAE;EAC3B,KAAK,IAAI8B,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGhB,KAAK,EAAEgB,CAAC,EAAE,EAAE;IAC9B9B,MAAM,CAACmC,IAAI,CAACtB,MAAM,CAACoB,MAAM,CAACa,WAAW,CAACjC,MAAM,CAACqB,MAAM,CAAC,CAAC;IACrDrB,MAAM,CAACqB,MAAM,IAAI,CAAC;EACpB;EACA,OAAOlC,MAAM;AACf;AAEA,SAASO,mBAAmBA,CAACP,MAAgB,EAAU;EACrD,IAAMuB,GAAG,GAAGC,MAAM,CAACC,KAAK,CAAC,CAAC,GAAGzB,MAAM,CAAC4B,MAAM,CAAC;EAC3C,KAAK,IAAIE,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG9B,MAAM,CAAC4B,MAAM,EAAEE,CAAC,EAAE,EAAE;IACtCP,GAAG,CAACwB,aAAa,CAAC/C,MAAM,CAAC8B,CAAC,CAAC,EAAEA,CAAC,GAAG,CAAC,CAAC;EACrC;EACA,OAAOP,GAAG;AACZ;AAEA,SAASH,mBAAmBA,CAACP,MAAoB,EAAEC,KAAa,EAAY;EAC1E,IAAMd,MAAgB,GAAG,EAAE;EAC3B,KAAK,IAAI8B,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGhB,KAAK,EAAEgB,CAAC,EAAE,EAAE;IAC9B9B,MAAM,CAACmC,IAAI,CAACtB,MAAM,CAACoB,MAAM,CAACe,YAAY,CAACnC,MAAM,CAACqB,MAAM,CAAC,CAAC;IACtDrB,MAAM,CAACqB,MAAM,IAAI,CAAC;EACpB;EACA,OAAOlC,MAAM;AACf;AAEA,SAASQ,uBAAuBA,CAACR,MAAgB,EAAU;EAEzD,IAAIiD,OAAO,GAAG,CAAC;EACf,KAAK,IAAInB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG9B,MAAM,CAAC4B,MAAM,EAAEE,CAAC,EAAE,EAAE;IACtC9B,MAAM,CAAC8B,CAAC,CAAC,GAAGN,MAAM,CAAC0B,IAAI,CAAClD,MAAM,CAAC8B,CAAC,CAAC,CAAC;IAClCmB,OAAO,IAAI,CAAC,GAAGjD,MAAM,CAAC8B,CAAC,CAAC,CAACF,MAAM;EACjC;EACA,IAAML,GAAG,GAAGC,MAAM,CAACC,KAAK,CAACwB,OAAO,CAAC;EAEjC,IAAIE,OAAO,GAAG,CAAC;EACf,KAAK,IAAIrB,EAAC,GAAG,CAAC,EAAEA,EAAC,GAAG9B,MAAM,CAAC4B,MAAM,EAAEE,EAAC,EAAE,EAAE;IACtCP,GAAG,CAACkB,aAAa,CAACzC,MAAM,CAAC8B,EAAC,CAAC,CAACF,MAAM,EAAEuB,OAAO,CAAC;IAC5CnD,MAAM,CAAC8B,EAAC,CAAC,CAACsB,IAAI,CAAC7B,GAAG,EAAE4B,OAAO,GAAG,CAAC,CAAC;IAChCA,OAAO,IAAI,CAAC,GAAGnD,MAAM,CAAC8B,EAAC,CAAC,CAACF,MAAM;EACjC;EACA,OAAOL,GAAG;AACZ;AAEA,SAASF,uBAAuBA,CAACR,MAAoB,EAAEC,KAAa,EAAY;EAC9E,IAAMd,MAAgB,GAAG,EAAE;EAC3B,KAAK,IAAI8B,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGhB,KAAK,EAAEgB,CAAC,EAAE,EAAE;IAC9B,IAAMuB,GAAG,GAAGxC,MAAM,CAACoB,MAAM,CAACW,YAAY,CAAC/B,MAAM,CAACqB,MAAM,CAAC;IACrDrB,MAAM,CAACqB,MAAM,IAAI,CAAC;IAElBlC,MAAM,CAACmC,IAAI,CAACtB,MAAM,CAACoB,MAAM,CAACqB,KAAK,CAACzC,MAAM,CAACqB,MAAM,EAAErB,MAAM,CAACqB,MAAM,GAAGmB,GAAG,CAAC,CAAC;IACpExC,MAAM,CAACqB,MAAM,IAAImB,GAAG;EACtB;EACA,OAAOrD,MAAM;AACf;AAEA,SAASS,iCAAiCA,CAACT,MAAgB,EAAEC,IAAyB,EAAU;EAC9F,IAAI,CAACA,IAAI,CAACsD,UAAU,EAAE;IACpB,MAAM,IAAI7C,KAAK,CAAC,gEAAgE,CAAC;EACnF;EACA,KAAK,IAAIoB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG9B,MAAM,CAAC4B,MAAM,EAAEE,CAAC,EAAE,EAAE;IACtC9B,MAAM,CAAC8B,CAAC,CAAC,GAAGN,MAAM,CAAC0B,IAAI,CAAClD,MAAM,CAAC8B,CAAC,CAAC,CAAC;IAClC,IAAI9B,MAAM,CAAC8B,CAAC,CAAC,CAACF,MAAM,KAAK3B,IAAI,CAACsD,UAAU,EAAE;MACxC,MAAM,IAAI7C,KAAK,4CAAAC,MAAA,CAA4CX,MAAM,CAAC8B,CAAC,CAAC,CAAE,CAAC;IACzE;EACF;EACA,OAAON,MAAM,CAACb,MAAM,CAACX,MAAM,CAAC;AAC9B;AAEA,SAASsB,iCAAiCA,CACxCT,MAAoB,EACpBC,KAAa,EACbb,IAAyB,EACf;EACV,IAAMD,MAAgB,GAAG,EAAE;EAC3B,IAAI,CAACC,IAAI,CAACsD,UAAU,EAAE;IACpB,MAAM,IAAI7C,KAAK,CAAC,gEAAgE,CAAC;EACnF;EACA,KAAK,IAAIoB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGhB,KAAK,EAAEgB,CAAC,EAAE,EAAE;IAC9B9B,MAAM,CAACmC,IAAI,CAACtB,MAAM,CAACoB,MAAM,CAACqB,KAAK,CAACzC,MAAM,CAACqB,MAAM,EAAErB,MAAM,CAACqB,MAAM,GAAGjC,IAAI,CAACsD,UAAU,CAAC,CAAC;IAChF1C,MAAM,CAACqB,MAAM,IAAIjC,IAAI,CAACsD,UAAU;EAClC;EACA,OAAOvD,MAAM;AACf"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rle.js","names":["_varint","_interopRequireDefault","require","encodeValues","type","values","opts","Error","map","x","parseInt","concat","buf","Buffer","alloc","run","repeats","i","length","encodeRunBitpacked","encodeRunRepeated","push","disableEnvelope","envelope","writeUInt32LE","undefined","copy","decodeValues","cursor","count","offset","header","varint","decode","buffer","encodingLength","_values","apply","_toConsumableArray2","default","decodeRunBitpacked","_values2","decodeRunRepeated","slice","bitWidth","Array","fill","b","Math","floor","value","ceil","from","encode","writeUInt8"],"sources":["../../../../src/parquetjs/codecs/rle.ts"],"sourcesContent":["// Forked from https://github.com/kbajalc/parquets under MIT license (Copyright (c) 2017 ironSource Ltd.)\n\nimport type {PrimitiveType} from '../schema/declare';\nimport type {CursorBuffer, ParquetCodecOptions} from './declare';\nimport varint from 'varint';\n\n// eslint-disable-next-line max-statements, complexity\nexport function encodeValues(\n type: PrimitiveType,\n values: any[],\n opts: ParquetCodecOptions\n): Buffer {\n if (!('bitWidth' in opts)) {\n throw new Error('bitWidth is required');\n }\n\n switch (type) {\n case 'BOOLEAN':\n case 'INT32':\n case 'INT64':\n // tslint:disable-next-line:no-parameter-reassignment\n values = values.map((x) => parseInt(x, 10));\n break;\n\n default:\n throw new Error(`unsupported type: ${type}`);\n }\n\n let buf = Buffer.alloc(0);\n let run: any[] = [];\n let repeats = 0;\n\n for (let i = 0; i < values.length; i++) {\n // If we are at the beginning of a run and the next value is same we start\n // collecting repeated values\n if (repeats === 0 && run.length % 8 === 0 && values[i] === values[i + 1]) {\n // If we have any data in runs we need to encode them\n if (run.length) {\n buf = Buffer.concat([buf, encodeRunBitpacked(run, opts)]);\n run = [];\n }\n repeats = 1;\n } else if (repeats > 0 && values[i] === values[i - 1]) {\n repeats += 1;\n } else {\n // If values changes we need to post any previous repeated values\n if (repeats) {\n buf = Buffer.concat([buf, encodeRunRepeated(values[i - 1], repeats, opts)]);\n repeats = 0;\n }\n run.push(values[i]);\n }\n }\n\n if (repeats) {\n buf = Buffer.concat([buf, encodeRunRepeated(values[values.length - 1], repeats, opts)]);\n } else if (run.length) {\n buf = Buffer.concat([buf, encodeRunBitpacked(run, opts)]);\n }\n\n if (opts.disableEnvelope) {\n return buf;\n }\n\n const envelope = Buffer.alloc(buf.length + 4);\n envelope.writeUInt32LE(buf.length, undefined);\n buf.copy(envelope, 4);\n\n return envelope;\n}\n\nexport function decodeValues(\n type: PrimitiveType,\n cursor: CursorBuffer,\n count: number,\n opts: ParquetCodecOptions\n): number[] {\n if (!('bitWidth' in opts)) {\n throw new Error('bitWidth is required');\n }\n\n if (!opts.disableEnvelope) {\n cursor.offset += 4;\n }\n\n let values: number[] = [];\n while (values.length < count) {\n const header = varint.decode(cursor.buffer, cursor.offset);\n cursor.offset += varint.encodingLength(header);\n if (header & 1) {\n const count = (header >> 1) * 8;\n values.push(...decodeRunBitpacked(cursor, count, opts));\n } else {\n const count = header >> 1;\n values.push(...decodeRunRepeated(cursor, count, opts));\n }\n }\n values = values.slice(0, count);\n\n if (values.length !== count) {\n throw new Error('invalid RLE encoding');\n }\n\n return values;\n}\n\nfunction decodeRunBitpacked(\n cursor: CursorBuffer,\n count: number,\n opts: ParquetCodecOptions\n): number[] {\n // @ts-ignore\n const bitWidth: number = opts.bitWidth;\n\n if (count % 8 !== 0) {\n throw new Error('must be a multiple of 8');\n }\n\n // tslint:disable-next-line:prefer-array-literal\n const values = new Array(count).fill(0);\n for (let b = 0; b < bitWidth * count; b++) {\n if (cursor.buffer[cursor.offset + Math.floor(b / 8)] & (1 << b % 8)) {\n values[Math.floor(b / bitWidth)] |= 1 << b % bitWidth;\n }\n }\n\n cursor.offset += bitWidth * (count / 8);\n return values;\n}\n\nfunction decodeRunRepeated(\n cursor: CursorBuffer,\n count: number,\n opts: ParquetCodecOptions\n): number[] {\n // @ts-ignore\n const bitWidth: number = opts.bitWidth;\n\n let value = 0;\n for (let i = 0; i < Math.ceil(bitWidth / 8); i++) {\n // eslint-disable-next-line\n value << 8; // TODO - this looks wrong\n value += cursor.buffer[cursor.offset];\n cursor.offset += 1;\n }\n\n // tslint:disable-next-line:prefer-array-literal\n return new Array(count).fill(value);\n}\n\nfunction encodeRunBitpacked(values: number[], opts: ParquetCodecOptions): Buffer {\n // @ts-ignore\n const bitWidth: number = opts.bitWidth;\n\n for (let i = 0; i < values.length % 8; i++) {\n values.push(0);\n }\n\n const buf = Buffer.alloc(Math.ceil(bitWidth * (values.length / 8)));\n for (let b = 0; b < bitWidth * values.length; b++) {\n if ((values[Math.floor(b / bitWidth)] & (1 << b % bitWidth)) > 0) {\n buf[Math.floor(b / 8)] |= 1 << b % 8;\n }\n }\n\n return Buffer.concat([Buffer.from(varint.encode(((values.length / 8) << 1) | 1)), buf]);\n}\n\nfunction encodeRunRepeated(value: number, count: number, opts: ParquetCodecOptions): Buffer {\n // @ts-ignore\n const bitWidth: number = opts.bitWidth;\n\n const buf = Buffer.alloc(Math.ceil(bitWidth / 8));\n\n for (let i = 0; i < buf.length; i++) {\n buf.writeUInt8(value & 0xff, i);\n // eslint-disable-next-line\n value >> 8; // TODO - this looks wrong\n }\n\n return Buffer.concat([Buffer.from(varint.encode(count << 1)), buf]);\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"rle.js","names":["_varint","_interopRequireDefault","require","encodeValues","type","values","opts","Error","map","x","parseInt","concat","buf","Buffer","alloc","run","repeats","i","length","encodeRunBitpacked","encodeRunRepeated","push","disableEnvelope","envelope","writeUInt32LE","undefined","copy","decodeValues","cursor","count","offset","header","varint","decode","buffer","encodingLength","_values","apply","_toConsumableArray2","default","decodeRunBitpacked","_values2","decodeRunRepeated","slice","bitWidth","Array","fill","b","Math","floor","value","ceil","from","encode","writeUInt8"],"sources":["../../../../src/parquetjs/codecs/rle.ts"],"sourcesContent":["// Forked from https://github.com/kbajalc/parquets under MIT license (Copyright (c) 2017 ironSource Ltd.)\n\nimport type {PrimitiveType} from '../schema/declare';\nimport type {CursorBuffer, ParquetCodecOptions} from './declare';\nimport varint from 'varint';\n\n// eslint-disable-next-line max-statements, complexity\nexport function encodeValues(\n type: PrimitiveType,\n values: any[],\n opts: ParquetCodecOptions\n): Buffer {\n if (!('bitWidth' in opts)) {\n throw new Error('bitWidth is required');\n }\n\n switch (type) {\n case 'BOOLEAN':\n case 'INT32':\n case 'INT64':\n // tslint:disable-next-line:no-parameter-reassignment\n values = values.map((x) => parseInt(x, 10));\n break;\n\n default:\n throw new Error(`unsupported type: ${type}`);\n }\n\n let buf = Buffer.alloc(0);\n let run: any[] = [];\n let repeats = 0;\n\n for (let i = 0; i < values.length; i++) {\n // If we are at the beginning of a run and the next value is same we start\n // collecting repeated values\n if (repeats === 0 && run.length % 8 === 0 && values[i] === values[i + 1]) {\n // If we have any data in runs we need to encode them\n if (run.length) {\n buf = Buffer.concat([buf, encodeRunBitpacked(run, opts)]);\n run = [];\n }\n repeats = 1;\n } else if (repeats > 0 && values[i] === values[i - 1]) {\n repeats += 1;\n } else {\n // If values changes we need to post any previous repeated values\n if (repeats) {\n buf = Buffer.concat([buf, encodeRunRepeated(values[i - 1], repeats, opts)]);\n repeats = 0;\n }\n run.push(values[i]);\n }\n }\n\n if (repeats) {\n buf = Buffer.concat([buf, encodeRunRepeated(values[values.length - 1], repeats, opts)]);\n } else if (run.length) {\n buf = Buffer.concat([buf, encodeRunBitpacked(run, opts)]);\n }\n\n if (opts.disableEnvelope) {\n return buf;\n }\n\n const envelope = Buffer.alloc(buf.length + 4);\n\n // @ts-ignore buffer polyfill\n envelope.writeUInt32LE(buf.length, undefined);\n buf.copy(envelope, 4);\n\n return envelope;\n}\n\nexport function decodeValues(\n type: PrimitiveType,\n cursor: CursorBuffer,\n count: number,\n opts: ParquetCodecOptions\n): number[] {\n if (!('bitWidth' in opts)) {\n throw new Error('bitWidth is required');\n }\n\n if (!opts.disableEnvelope) {\n cursor.offset += 4;\n }\n\n let values: number[] = [];\n while (values.length < count) {\n const header = varint.decode(cursor.buffer, cursor.offset);\n cursor.offset += varint.encodingLength(header);\n if (header & 1) {\n const count = (header >> 1) * 8;\n values.push(...decodeRunBitpacked(cursor, count, opts));\n } else {\n const count = header >> 1;\n values.push(...decodeRunRepeated(cursor, count, opts));\n }\n }\n values = values.slice(0, count);\n\n if (values.length !== count) {\n throw new Error('invalid RLE encoding');\n }\n\n return values;\n}\n\nfunction decodeRunBitpacked(\n cursor: CursorBuffer,\n count: number,\n opts: ParquetCodecOptions\n): number[] {\n // @ts-ignore\n const bitWidth: number = opts.bitWidth;\n\n if (count % 8 !== 0) {\n throw new Error('must be a multiple of 8');\n }\n\n // tslint:disable-next-line:prefer-array-literal\n const values = new Array(count).fill(0);\n for (let b = 0; b < bitWidth * count; b++) {\n if (cursor.buffer[cursor.offset + Math.floor(b / 8)] & (1 << b % 8)) {\n values[Math.floor(b / bitWidth)] |= 1 << b % bitWidth;\n }\n }\n\n cursor.offset += bitWidth * (count / 8);\n return values;\n}\n\nfunction decodeRunRepeated(\n cursor: CursorBuffer,\n count: number,\n opts: ParquetCodecOptions\n): number[] {\n // @ts-ignore\n const bitWidth: number = opts.bitWidth;\n\n let value = 0;\n for (let i = 0; i < Math.ceil(bitWidth / 8); i++) {\n // eslint-disable-next-line\n value << 8; // TODO - this looks wrong\n value += cursor.buffer[cursor.offset];\n cursor.offset += 1;\n }\n\n // tslint:disable-next-line:prefer-array-literal\n return new Array(count).fill(value);\n}\n\nfunction encodeRunBitpacked(values: number[], opts: ParquetCodecOptions): Buffer {\n // @ts-ignore\n const bitWidth: number = opts.bitWidth;\n\n for (let i = 0; i < values.length % 8; i++) {\n values.push(0);\n }\n\n const buf = Buffer.alloc(Math.ceil(bitWidth * (values.length / 8)));\n for (let b = 0; b < bitWidth * values.length; b++) {\n if ((values[Math.floor(b / bitWidth)] & (1 << b % bitWidth)) > 0) {\n buf[Math.floor(b / 8)] |= 1 << b % 8;\n }\n }\n\n return Buffer.concat([Buffer.from(varint.encode(((values.length / 8) << 1) | 1)), buf]);\n}\n\nfunction encodeRunRepeated(value: number, count: number, opts: ParquetCodecOptions): Buffer {\n // @ts-ignore\n const bitWidth: number = opts.bitWidth;\n\n const buf = Buffer.alloc(Math.ceil(bitWidth / 8));\n\n for (let i = 0; i < buf.length; i++) {\n buf.writeUInt8(value & 0xff, i);\n // eslint-disable-next-line\n value >> 8; // TODO - this looks wrong\n }\n\n return Buffer.concat([Buffer.from(varint.encode(count << 1)), buf]);\n}\n"],"mappings":"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"}
|