@loaders.gl/parquet 4.0.0-alpha.5 → 4.0.0-alpha.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bundle.js +2 -2
- package/dist/constants.js +18 -6
- package/dist/dist.min.js +27 -25
- package/dist/dist.min.js.map +3 -3
- package/dist/es5/bundle.js +6 -0
- package/dist/es5/bundle.js.map +1 -0
- package/dist/es5/constants.js +17 -0
- package/dist/es5/constants.js.map +1 -0
- package/dist/es5/index.js +128 -0
- package/dist/es5/index.js.map +1 -0
- package/dist/es5/lib/arrow/convert-columns-to-row-group.js +2 -0
- package/dist/es5/lib/arrow/convert-columns-to-row-group.js.map +1 -0
- package/dist/es5/lib/arrow/convert-row-group-to-columns.js +19 -0
- package/dist/es5/lib/arrow/convert-row-group-to-columns.js.map +1 -0
- package/dist/es5/lib/arrow/convert-schema-from-parquet.js +114 -0
- package/dist/es5/lib/arrow/convert-schema-from-parquet.js.map +1 -0
- package/dist/es5/lib/arrow/convert-schema-to-parquet.js +47 -0
- package/dist/es5/lib/arrow/convert-schema-to-parquet.js.map +1 -0
- package/dist/es5/lib/geo/decode-geo-metadata.js +81 -0
- package/dist/es5/lib/geo/decode-geo-metadata.js.map +1 -0
- package/dist/es5/lib/geo/geoparquet-schema.js +83 -0
- package/dist/es5/lib/geo/geoparquet-schema.js.map +1 -0
- package/dist/es5/lib/parsers/parse-parquet-to-columns.js +177 -0
- package/dist/es5/lib/parsers/parse-parquet-to-columns.js.map +1 -0
- package/dist/es5/lib/parsers/parse-parquet-to-rows.js +172 -0
- package/dist/es5/lib/parsers/parse-parquet-to-rows.js.map +1 -0
- package/dist/es5/lib/wasm/encode-parquet-wasm.js +43 -0
- package/dist/es5/lib/wasm/encode-parquet-wasm.js.map +1 -0
- package/dist/es5/lib/wasm/load-wasm/index.js +13 -0
- package/dist/es5/lib/wasm/load-wasm/index.js.map +1 -0
- package/dist/es5/lib/wasm/load-wasm/load-wasm-browser.js +42 -0
- package/dist/es5/lib/wasm/load-wasm/load-wasm-browser.js.map +1 -0
- package/dist/es5/lib/wasm/load-wasm/load-wasm-node.js +31 -0
- package/dist/es5/lib/wasm/load-wasm/load-wasm-node.js.map +1 -0
- package/dist/es5/lib/wasm/parse-parquet-wasm.js +60 -0
- package/dist/es5/lib/wasm/parse-parquet-wasm.js.map +1 -0
- package/dist/es5/lib/wip/convert-schema-deep.java.disabled +910 -0
- package/dist/es5/lib/wip/convert-schema-deep.rs.disabled +976 -0
- package/dist/es5/parquet-loader.js +44 -0
- package/dist/es5/parquet-loader.js.map +1 -0
- package/dist/es5/parquet-wasm-loader.js +30 -0
- package/dist/es5/parquet-wasm-loader.js.map +1 -0
- package/dist/es5/parquet-wasm-writer.js +26 -0
- package/dist/es5/parquet-wasm-writer.js.map +1 -0
- package/dist/es5/parquet-writer.js +24 -0
- package/dist/es5/parquet-writer.js.map +1 -0
- package/dist/es5/parquetjs/codecs/declare.js +2 -0
- package/dist/es5/parquetjs/codecs/declare.js.map +1 -0
- package/dist/es5/parquetjs/codecs/dictionary.js +23 -0
- package/dist/es5/parquetjs/codecs/dictionary.js.map +1 -0
- package/dist/es5/parquetjs/codecs/index.js +47 -0
- package/dist/es5/parquetjs/codecs/index.js.map +1 -0
- package/dist/es5/parquetjs/codecs/plain.js +208 -0
- package/dist/es5/parquetjs/codecs/plain.js.map +1 -0
- package/dist/es5/parquetjs/codecs/rle.js +132 -0
- package/dist/es5/parquetjs/codecs/rle.js.map +1 -0
- package/dist/es5/parquetjs/compression.js +137 -0
- package/dist/es5/parquetjs/compression.js.map +1 -0
- package/dist/es5/parquetjs/encoder/parquet-encoder.js +625 -0
- package/dist/es5/parquetjs/encoder/parquet-encoder.js.map +1 -0
- package/dist/es5/parquetjs/parquet-thrift/BoundaryOrder.js +14 -0
- package/dist/es5/parquetjs/parquet-thrift/BoundaryOrder.js.map +1 -0
- package/dist/es5/parquetjs/parquet-thrift/BsonType.js +52 -0
- package/dist/es5/parquetjs/parquet-thrift/BsonType.js.map +1 -0
- package/dist/es5/parquetjs/parquet-thrift/ColumnChunk.js +193 -0
- package/dist/es5/parquetjs/parquet-thrift/ColumnChunk.js.map +1 -0
- package/dist/es5/parquetjs/parquet-thrift/ColumnIndex.js +198 -0
- package/dist/es5/parquetjs/parquet-thrift/ColumnIndex.js.map +1 -0
- package/dist/es5/parquetjs/parquet-thrift/ColumnMetaData.js +367 -0
- package/dist/es5/parquetjs/parquet-thrift/ColumnMetaData.js.map +1 -0
- package/dist/es5/parquetjs/parquet-thrift/ColumnOrder.js +99 -0
- package/dist/es5/parquetjs/parquet-thrift/ColumnOrder.js.map +1 -0
- package/dist/es5/parquetjs/parquet-thrift/CompressionCodec.js +19 -0
- package/dist/es5/parquetjs/parquet-thrift/CompressionCodec.js.map +1 -0
- package/dist/es5/parquetjs/parquet-thrift/ConvertedType.js +33 -0
- package/dist/es5/parquetjs/parquet-thrift/ConvertedType.js.map +1 -0
- package/dist/es5/parquetjs/parquet-thrift/DataPageHeader.js +152 -0
- package/dist/es5/parquetjs/parquet-thrift/DataPageHeader.js.map +1 -0
- package/dist/es5/parquetjs/parquet-thrift/DataPageHeaderV2.js +207 -0
- package/dist/es5/parquetjs/parquet-thrift/DataPageHeaderV2.js.map +1 -0
- package/dist/es5/parquetjs/parquet-thrift/DateType.js +52 -0
- package/dist/es5/parquetjs/parquet-thrift/DateType.js.map +1 -0
- package/dist/es5/parquetjs/parquet-thrift/DecimalType.js +96 -0
- package/dist/es5/parquetjs/parquet-thrift/DecimalType.js.map +1 -0
- package/dist/es5/parquetjs/parquet-thrift/DictionaryPageHeader.js +113 -0
- package/dist/es5/parquetjs/parquet-thrift/DictionaryPageHeader.js.map +1 -0
- package/dist/es5/parquetjs/parquet-thrift/Encoding.js +19 -0
- package/dist/es5/parquetjs/parquet-thrift/Encoding.js.map +1 -0
- package/dist/es5/parquetjs/parquet-thrift/EnumType.js +52 -0
- package/dist/es5/parquetjs/parquet-thrift/EnumType.js.map +1 -0
- package/dist/es5/parquetjs/parquet-thrift/FieldRepetitionType.js +14 -0
- package/dist/es5/parquetjs/parquet-thrift/FieldRepetitionType.js.map +1 -0
- package/dist/es5/parquetjs/parquet-thrift/FileMetaData.js +239 -0
- package/dist/es5/parquetjs/parquet-thrift/FileMetaData.js.map +1 -0
- package/dist/es5/parquetjs/parquet-thrift/IndexPageHeader.js +52 -0
- package/dist/es5/parquetjs/parquet-thrift/IndexPageHeader.js.map +1 -0
- package/dist/es5/parquetjs/parquet-thrift/IntType.js +96 -0
- package/dist/es5/parquetjs/parquet-thrift/IntType.js.map +1 -0
- package/dist/es5/parquetjs/parquet-thrift/JsonType.js +52 -0
- package/dist/es5/parquetjs/parquet-thrift/JsonType.js.map +1 -0
- package/dist/es5/parquetjs/parquet-thrift/KeyValue.js +94 -0
- package/dist/es5/parquetjs/parquet-thrift/KeyValue.js.map +1 -0
- package/dist/es5/parquetjs/parquet-thrift/ListType.js +52 -0
- package/dist/es5/parquetjs/parquet-thrift/ListType.js.map +1 -0
- package/dist/es5/parquetjs/parquet-thrift/LogicalType.js +423 -0
- package/dist/es5/parquetjs/parquet-thrift/LogicalType.js.map +1 -0
- package/dist/es5/parquetjs/parquet-thrift/MapType.js +52 -0
- package/dist/es5/parquetjs/parquet-thrift/MapType.js.map +1 -0
- package/dist/es5/parquetjs/parquet-thrift/MicroSeconds.js +52 -0
- package/dist/es5/parquetjs/parquet-thrift/MicroSeconds.js.map +1 -0
- package/dist/es5/parquetjs/parquet-thrift/MilliSeconds.js +52 -0
- package/dist/es5/parquetjs/parquet-thrift/MilliSeconds.js.map +1 -0
- package/dist/es5/parquetjs/parquet-thrift/NullType.js +52 -0
- package/dist/es5/parquetjs/parquet-thrift/NullType.js.map +1 -0
- package/dist/es5/parquetjs/parquet-thrift/OffsetIndex.js +89 -0
- package/dist/es5/parquetjs/parquet-thrift/OffsetIndex.js.map +1 -0
- package/dist/es5/parquetjs/parquet-thrift/PageEncodingStats.js +115 -0
- package/dist/es5/parquetjs/parquet-thrift/PageEncodingStats.js.map +1 -0
- package/dist/es5/parquetjs/parquet-thrift/PageHeader.js +204 -0
- package/dist/es5/parquetjs/parquet-thrift/PageHeader.js.map +1 -0
- package/dist/es5/parquetjs/parquet-thrift/PageLocation.js +124 -0
- package/dist/es5/parquetjs/parquet-thrift/PageLocation.js.map +1 -0
- package/dist/es5/parquetjs/parquet-thrift/PageType.js +15 -0
- package/dist/es5/parquetjs/parquet-thrift/PageType.js.map +1 -0
- package/dist/es5/parquetjs/parquet-thrift/RowGroup.js +165 -0
- package/dist/es5/parquetjs/parquet-thrift/RowGroup.js.map +1 -0
- package/dist/es5/parquetjs/parquet-thrift/SchemaElement.js +231 -0
- package/dist/es5/parquetjs/parquet-thrift/SchemaElement.js.map +1 -0
- package/dist/es5/parquetjs/parquet-thrift/SortingColumn.js +115 -0
- package/dist/es5/parquetjs/parquet-thrift/SortingColumn.js.map +1 -0
- package/dist/es5/parquetjs/parquet-thrift/Statistics.js +165 -0
- package/dist/es5/parquetjs/parquet-thrift/Statistics.js.map +1 -0
- package/dist/es5/parquetjs/parquet-thrift/StringType.js +52 -0
- package/dist/es5/parquetjs/parquet-thrift/StringType.js.map +1 -0
- package/dist/es5/parquetjs/parquet-thrift/TimeType.js +97 -0
- package/dist/es5/parquetjs/parquet-thrift/TimeType.js.map +1 -0
- package/dist/es5/parquetjs/parquet-thrift/TimeUnit.js +126 -0
- package/dist/es5/parquetjs/parquet-thrift/TimeUnit.js.map +1 -0
- package/dist/es5/parquetjs/parquet-thrift/TimestampType.js +97 -0
- package/dist/es5/parquetjs/parquet-thrift/TimestampType.js.map +1 -0
- package/dist/es5/parquetjs/parquet-thrift/Type.js +19 -0
- package/dist/es5/parquetjs/parquet-thrift/Type.js.map +1 -0
- package/dist/es5/parquetjs/parquet-thrift/TypeDefinedOrder.js +52 -0
- package/dist/es5/parquetjs/parquet-thrift/TypeDefinedOrder.js.map +1 -0
- package/dist/es5/parquetjs/parquet-thrift/UUIDType.js +52 -0
- package/dist/es5/parquetjs/parquet-thrift/UUIDType.js.map +1 -0
- package/dist/es5/parquetjs/parquet-thrift/index.js +479 -0
- package/dist/es5/parquetjs/parquet-thrift/index.js.map +1 -0
- package/dist/es5/parquetjs/parser/decoders.js +393 -0
- package/dist/es5/parquetjs/parser/decoders.js.map +1 -0
- package/dist/es5/parquetjs/parser/parquet-reader.js +610 -0
- package/dist/es5/parquetjs/parser/parquet-reader.js.map +1 -0
- package/dist/es5/parquetjs/schema/declare.js +21 -0
- package/dist/es5/parquetjs/schema/declare.js.map +1 -0
- package/dist/es5/parquetjs/schema/schema.js +165 -0
- package/dist/es5/parquetjs/schema/schema.js.map +1 -0
- package/dist/es5/parquetjs/schema/shred.js +282 -0
- package/dist/es5/parquetjs/schema/shred.js.map +1 -0
- package/dist/es5/parquetjs/schema/types.js +406 -0
- package/dist/es5/parquetjs/schema/types.js.map +1 -0
- package/dist/es5/parquetjs/utils/file-utils.js +47 -0
- package/dist/es5/parquetjs/utils/file-utils.js.map +1 -0
- package/dist/es5/parquetjs/utils/read-utils.js +120 -0
- package/dist/es5/parquetjs/utils/read-utils.js.map +1 -0
- package/dist/es5/workers/parquet-worker.js +6 -0
- package/dist/es5/workers/parquet-worker.js.map +1 -0
- package/dist/esm/bundle.js +4 -0
- package/dist/esm/bundle.js.map +1 -0
- package/dist/esm/constants.js +6 -0
- package/dist/esm/constants.js.map +1 -0
- package/dist/esm/index.js +31 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/lib/arrow/convert-columns-to-row-group.js +2 -0
- package/dist/esm/lib/arrow/convert-columns-to-row-group.js.map +1 -0
- package/dist/esm/lib/arrow/convert-row-group-to-columns.js +8 -0
- package/dist/esm/lib/arrow/convert-row-group-to-columns.js.map +1 -0
- package/dist/esm/lib/arrow/convert-schema-from-parquet.js +95 -0
- package/dist/esm/lib/arrow/convert-schema-from-parquet.js.map +1 -0
- package/dist/esm/lib/arrow/convert-schema-to-parquet.js +39 -0
- package/dist/esm/lib/arrow/convert-schema-to-parquet.js.map +1 -0
- package/dist/esm/lib/geo/decode-geo-metadata.js +62 -0
- package/dist/esm/lib/geo/decode-geo-metadata.js.map +1 -0
- package/dist/esm/lib/geo/geoparquet-schema.js +76 -0
- package/dist/esm/lib/geo/geoparquet-schema.js.map +1 -0
- package/dist/esm/lib/parsers/parse-parquet-to-columns.js +39 -0
- package/dist/esm/lib/parsers/parse-parquet-to-columns.js.map +1 -0
- package/dist/esm/lib/parsers/parse-parquet-to-rows.js +29 -0
- package/dist/esm/lib/parsers/parse-parquet-to-rows.js.map +1 -0
- package/dist/esm/lib/wasm/encode-parquet-wasm.js +15 -0
- package/dist/esm/lib/wasm/encode-parquet-wasm.js.map +1 -0
- package/dist/esm/lib/wasm/load-wasm/index.js +2 -0
- package/dist/esm/lib/wasm/load-wasm/index.js.map +1 -0
- package/dist/esm/lib/wasm/load-wasm/load-wasm-browser.js +11 -0
- package/dist/esm/lib/wasm/load-wasm/load-wasm-browser.js.map +1 -0
- package/dist/esm/lib/wasm/load-wasm/load-wasm-node.js +5 -0
- package/dist/esm/lib/wasm/load-wasm/load-wasm-node.js.map +1 -0
- package/dist/esm/lib/wasm/parse-parquet-wasm.js +21 -0
- package/dist/esm/lib/wasm/parse-parquet-wasm.js.map +1 -0
- package/dist/esm/lib/wip/convert-schema-deep.java.disabled +910 -0
- package/dist/esm/lib/wip/convert-schema-deep.rs.disabled +976 -0
- package/dist/esm/parquet-loader.js +36 -0
- package/dist/esm/parquet-loader.js.map +1 -0
- package/dist/esm/parquet-wasm-loader.js +22 -0
- package/dist/esm/parquet-wasm-loader.js.map +1 -0
- package/dist/esm/parquet-wasm-writer.js +19 -0
- package/dist/esm/parquet-wasm-writer.js.map +1 -0
- package/dist/esm/parquet-writer.js +17 -0
- package/dist/esm/parquet-writer.js.map +1 -0
- package/dist/esm/parquetjs/LICENSE +20 -0
- package/dist/esm/parquetjs/codecs/declare.js +2 -0
- package/dist/esm/parquetjs/codecs/declare.js.map +1 -0
- package/dist/esm/parquetjs/codecs/dictionary.js +13 -0
- package/dist/esm/parquetjs/codecs/dictionary.js.map +1 -0
- package/dist/esm/parquetjs/codecs/index.js +23 -0
- package/dist/esm/parquetjs/codecs/index.js.map +1 -0
- package/dist/esm/parquetjs/codecs/plain.js +200 -0
- package/dist/esm/parquetjs/codecs/plain.js.map +1 -0
- package/dist/esm/parquetjs/codecs/rle.js +119 -0
- package/dist/esm/parquetjs/codecs/rle.js.map +1 -0
- package/dist/esm/parquetjs/compression.js +61 -0
- package/dist/esm/parquetjs/compression.js.map +1 -0
- package/dist/{parquetjs/encoder/writer.js → esm/parquetjs/encoder/parquet-encoder.js} +8 -106
- package/dist/esm/parquetjs/encoder/parquet-encoder.js.map +1 -0
- package/dist/esm/parquetjs/modules.d.ts +21 -0
- package/dist/esm/parquetjs/parquet-thrift/BoundaryOrder.js +7 -0
- package/dist/esm/parquetjs/parquet-thrift/BoundaryOrder.js.map +1 -0
- package/dist/esm/parquetjs/parquet-thrift/BsonType.js +31 -0
- package/dist/esm/parquetjs/parquet-thrift/BsonType.js.map +1 -0
- package/dist/esm/parquetjs/parquet-thrift/ColumnChunk.js +173 -0
- package/dist/esm/parquetjs/parquet-thrift/ColumnChunk.js.map +1 -0
- package/dist/esm/parquetjs/parquet-thrift/ColumnIndex.js +176 -0
- package/dist/esm/parquetjs/parquet-thrift/ColumnIndex.js.map +1 -0
- package/dist/esm/parquetjs/parquet-thrift/ColumnMetaData.js +347 -0
- package/dist/esm/parquetjs/parquet-thrift/ColumnMetaData.js.map +1 -0
- package/dist/esm/parquetjs/parquet-thrift/ColumnOrder.js +77 -0
- package/dist/esm/parquetjs/parquet-thrift/ColumnOrder.js.map +1 -0
- package/dist/esm/parquetjs/parquet-thrift/CompressionCodec.js +12 -0
- package/dist/esm/parquetjs/parquet-thrift/CompressionCodec.js.map +1 -0
- package/dist/esm/parquetjs/parquet-thrift/ConvertedType.js +26 -0
- package/dist/esm/parquetjs/parquet-thrift/ConvertedType.js.map +1 -0
- package/dist/esm/parquetjs/parquet-thrift/DataPageHeader.js +132 -0
- package/dist/esm/parquetjs/parquet-thrift/DataPageHeader.js.map +1 -0
- package/dist/esm/parquetjs/parquet-thrift/DataPageHeaderV2.js +187 -0
- package/dist/esm/parquetjs/parquet-thrift/DataPageHeaderV2.js.map +1 -0
- package/dist/esm/parquetjs/parquet-thrift/DateType.js +31 -0
- package/dist/esm/parquetjs/parquet-thrift/DateType.js.map +1 -0
- package/dist/esm/parquetjs/parquet-thrift/DecimalType.js +76 -0
- package/dist/esm/parquetjs/parquet-thrift/DecimalType.js.map +1 -0
- package/dist/esm/parquetjs/parquet-thrift/DictionaryPageHeader.js +93 -0
- package/dist/esm/parquetjs/parquet-thrift/DictionaryPageHeader.js.map +1 -0
- package/dist/esm/parquetjs/parquet-thrift/Encoding.js +12 -0
- package/dist/esm/parquetjs/parquet-thrift/Encoding.js.map +1 -0
- package/dist/esm/parquetjs/parquet-thrift/EnumType.js +31 -0
- package/dist/esm/parquetjs/parquet-thrift/EnumType.js.map +1 -0
- package/dist/esm/parquetjs/parquet-thrift/FieldRepetitionType.js +7 -0
- package/dist/esm/parquetjs/parquet-thrift/FieldRepetitionType.js.map +1 -0
- package/dist/esm/parquetjs/parquet-thrift/FileMetaData.js +219 -0
- package/dist/esm/parquetjs/parquet-thrift/FileMetaData.js.map +1 -0
- package/dist/esm/parquetjs/parquet-thrift/IndexPageHeader.js +31 -0
- package/dist/esm/parquetjs/parquet-thrift/IndexPageHeader.js.map +1 -0
- package/dist/esm/parquetjs/parquet-thrift/IntType.js +76 -0
- package/dist/esm/parquetjs/parquet-thrift/IntType.js.map +1 -0
- package/dist/esm/parquetjs/parquet-thrift/JsonType.js +31 -0
- package/dist/esm/parquetjs/parquet-thrift/JsonType.js.map +1 -0
- package/dist/esm/parquetjs/parquet-thrift/KeyValue.js +74 -0
- package/dist/esm/parquetjs/parquet-thrift/KeyValue.js.map +1 -0
- package/dist/esm/parquetjs/parquet-thrift/ListType.js +31 -0
- package/dist/esm/parquetjs/parquet-thrift/ListType.js.map +1 -0
- package/dist/esm/parquetjs/parquet-thrift/LogicalType.js +377 -0
- package/dist/esm/parquetjs/parquet-thrift/LogicalType.js.map +1 -0
- package/dist/esm/parquetjs/parquet-thrift/MapType.js +31 -0
- package/dist/esm/parquetjs/parquet-thrift/MapType.js.map +1 -0
- package/dist/esm/parquetjs/parquet-thrift/MicroSeconds.js +31 -0
- package/dist/esm/parquetjs/parquet-thrift/MicroSeconds.js.map +1 -0
- package/dist/esm/parquetjs/parquet-thrift/MilliSeconds.js +31 -0
- package/dist/esm/parquetjs/parquet-thrift/MilliSeconds.js.map +1 -0
- package/dist/esm/parquetjs/parquet-thrift/NullType.js +31 -0
- package/dist/esm/parquetjs/parquet-thrift/NullType.js.map +1 -0
- package/dist/esm/parquetjs/parquet-thrift/OffsetIndex.js +69 -0
- package/dist/esm/parquetjs/parquet-thrift/OffsetIndex.js.map +1 -0
- package/dist/esm/parquetjs/parquet-thrift/PageEncodingStats.js +95 -0
- package/dist/esm/parquetjs/parquet-thrift/PageEncodingStats.js.map +1 -0
- package/dist/esm/parquetjs/parquet-thrift/PageHeader.js +184 -0
- package/dist/esm/parquetjs/parquet-thrift/PageHeader.js.map +1 -0
- package/dist/esm/parquetjs/parquet-thrift/PageLocation.js +104 -0
- package/dist/esm/parquetjs/parquet-thrift/PageLocation.js.map +1 -0
- package/dist/esm/parquetjs/parquet-thrift/PageType.js +8 -0
- package/dist/esm/parquetjs/parquet-thrift/PageType.js.map +1 -0
- package/dist/esm/parquetjs/parquet-thrift/RowGroup.js +145 -0
- package/dist/esm/parquetjs/parquet-thrift/RowGroup.js.map +1 -0
- package/dist/esm/parquetjs/parquet-thrift/SchemaElement.js +211 -0
- package/dist/esm/parquetjs/parquet-thrift/SchemaElement.js.map +1 -0
- package/dist/esm/parquetjs/parquet-thrift/SortingColumn.js +95 -0
- package/dist/esm/parquetjs/parquet-thrift/SortingColumn.js.map +1 -0
- package/dist/esm/parquetjs/parquet-thrift/Statistics.js +145 -0
- package/dist/esm/parquetjs/parquet-thrift/Statistics.js.map +1 -0
- package/dist/esm/parquetjs/parquet-thrift/StringType.js +31 -0
- package/dist/esm/parquetjs/parquet-thrift/StringType.js.map +1 -0
- package/dist/esm/parquetjs/parquet-thrift/TimeType.js +77 -0
- package/dist/esm/parquetjs/parquet-thrift/TimeType.js.map +1 -0
- package/dist/esm/parquetjs/parquet-thrift/TimeUnit.js +102 -0
- package/dist/esm/parquetjs/parquet-thrift/TimeUnit.js.map +1 -0
- package/dist/esm/parquetjs/parquet-thrift/TimestampType.js +77 -0
- package/dist/esm/parquetjs/parquet-thrift/TimestampType.js.map +1 -0
- package/dist/esm/parquetjs/parquet-thrift/Type.js +12 -0
- package/dist/esm/parquetjs/parquet-thrift/Type.js.map +1 -0
- package/dist/esm/parquetjs/parquet-thrift/TypeDefinedOrder.js +31 -0
- package/dist/esm/parquetjs/parquet-thrift/TypeDefinedOrder.js.map +1 -0
- package/dist/esm/parquetjs/parquet-thrift/UUIDType.js +31 -0
- package/dist/esm/parquetjs/parquet-thrift/UUIDType.js.map +1 -0
- package/dist/esm/parquetjs/parquet-thrift/index.js +44 -0
- package/dist/esm/parquetjs/parquet-thrift/index.js.map +1 -0
- package/dist/esm/parquetjs/parser/decoders.js +253 -0
- package/dist/esm/parquetjs/parser/decoders.js.map +1 -0
- package/dist/{parquetjs/parser/parquet-envelope-reader.js → esm/parquetjs/parser/parquet-reader.js} +95 -74
- package/dist/esm/parquetjs/parser/parquet-reader.js.map +1 -0
- package/dist/esm/parquetjs/schema/declare.js +12 -0
- package/dist/esm/parquetjs/schema/declare.js.map +1 -0
- package/dist/esm/parquetjs/schema/schema.js +140 -0
- package/dist/esm/parquetjs/schema/schema.js.map +1 -0
- package/dist/esm/parquetjs/schema/shred.js +228 -0
- package/dist/esm/parquetjs/schema/shred.js.map +1 -0
- package/dist/esm/parquetjs/schema/types.js +397 -0
- package/dist/esm/parquetjs/schema/types.js.map +1 -0
- package/dist/esm/parquetjs/utils/file-utils.js +34 -0
- package/dist/esm/parquetjs/utils/file-utils.js.map +1 -0
- package/dist/esm/parquetjs/utils/read-utils.js +90 -0
- package/dist/esm/parquetjs/utils/read-utils.js.map +1 -0
- package/dist/esm/workers/parquet-worker.js +4 -0
- package/dist/esm/workers/parquet-worker.js.map +1 -0
- package/dist/index.d.ts +16 -20
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +58 -15
- package/dist/lib/arrow/convert-columns-to-row-group.d.ts +1 -0
- package/dist/lib/arrow/convert-columns-to-row-group.d.ts.map +1 -0
- package/dist/lib/arrow/convert-columns-to-row-group.js +1 -0
- package/dist/lib/arrow/convert-row-group-to-columns.d.ts +4 -0
- package/dist/lib/arrow/convert-row-group-to-columns.d.ts.map +1 -0
- package/dist/lib/arrow/convert-row-group-to-columns.js +12 -0
- package/dist/lib/arrow/convert-schema-from-parquet.d.ts +9 -0
- package/dist/lib/arrow/convert-schema-from-parquet.d.ts.map +1 -0
- package/dist/lib/arrow/convert-schema-from-parquet.js +86 -0
- package/dist/lib/arrow/convert-schema-to-parquet.d.ts +7 -0
- package/dist/lib/arrow/convert-schema-to-parquet.d.ts.map +1 -0
- package/dist/lib/arrow/convert-schema-to-parquet.js +71 -0
- package/dist/lib/geo/decode-geo-metadata.d.ts +31 -0
- package/dist/lib/geo/decode-geo-metadata.d.ts.map +1 -0
- package/dist/lib/geo/decode-geo-metadata.js +77 -0
- package/dist/lib/geo/geoparquet-schema.d.ts +80 -0
- package/dist/lib/geo/geoparquet-schema.d.ts.map +1 -0
- package/dist/lib/geo/geoparquet-schema.js +69 -0
- package/dist/lib/parsers/parse-parquet-to-columns.d.ts +5 -0
- package/dist/lib/parsers/parse-parquet-to-columns.d.ts.map +1 -0
- package/dist/lib/parsers/parse-parquet-to-columns.js +46 -0
- package/dist/lib/parsers/parse-parquet-to-rows.d.ts +5 -0
- package/dist/lib/parsers/parse-parquet-to-rows.d.ts.map +1 -0
- package/dist/lib/parsers/parse-parquet-to-rows.js +37 -0
- package/dist/lib/wasm/encode-parquet-wasm.d.ts +21 -0
- package/dist/lib/wasm/encode-parquet-wasm.d.ts.map +1 -0
- package/dist/lib/wasm/encode-parquet-wasm.js +30 -0
- package/dist/lib/wasm/load-wasm/index.d.ts +2 -0
- package/dist/lib/wasm/load-wasm/index.d.ts.map +1 -0
- package/dist/lib/wasm/load-wasm/index.js +5 -0
- package/dist/lib/wasm/load-wasm/load-wasm-browser.d.ts +3 -0
- package/dist/lib/wasm/load-wasm/load-wasm-browser.d.ts.map +1 -0
- package/dist/lib/wasm/load-wasm/load-wasm-browser.js +38 -0
- package/dist/lib/wasm/load-wasm/load-wasm-node.d.ts +3 -0
- package/dist/lib/wasm/load-wasm/load-wasm-node.d.ts.map +1 -0
- package/dist/lib/wasm/load-wasm/load-wasm-node.js +31 -0
- package/dist/lib/wasm/parse-parquet-wasm.d.ts +10 -0
- package/dist/lib/wasm/parse-parquet-wasm.d.ts.map +1 -0
- package/dist/lib/wasm/parse-parquet-wasm.js +27 -0
- package/dist/parquet-loader.d.ts +6 -15
- package/dist/parquet-loader.d.ts.map +1 -1
- package/dist/parquet-loader.js +38 -19
- package/dist/parquet-wasm-loader.d.ts +23 -0
- package/dist/parquet-wasm-loader.d.ts.map +1 -0
- package/dist/parquet-wasm-loader.js +27 -0
- package/dist/parquet-wasm-writer.d.ts +3 -0
- package/dist/parquet-wasm-writer.d.ts.map +1 -0
- package/dist/parquet-wasm-writer.js +23 -0
- package/dist/parquet-worker.js +27 -25
- package/dist/parquet-worker.js.map +3 -3
- package/dist/parquet-writer.d.ts +3 -2
- package/dist/parquet-writer.d.ts.map +1 -1
- package/dist/parquet-writer.js +18 -14
- package/dist/parquetjs/codecs/declare.js +2 -2
- package/dist/parquetjs/codecs/dictionary.js +12 -10
- package/dist/parquetjs/codecs/index.js +54 -22
- package/dist/parquetjs/codecs/plain.js +173 -232
- package/dist/parquetjs/codecs/rle.js +134 -140
- package/dist/parquetjs/compression.d.ts +3 -0
- package/dist/parquetjs/compression.d.ts.map +1 -1
- package/dist/parquetjs/compression.js +169 -48
- package/dist/parquetjs/encoder/{writer.d.ts → parquet-encoder.d.ts} +15 -23
- package/dist/parquetjs/encoder/parquet-encoder.d.ts.map +1 -0
- package/dist/parquetjs/encoder/parquet-encoder.js +484 -0
- package/dist/parquetjs/parquet-thrift/BoundaryOrder.js +14 -7
- package/dist/parquetjs/parquet-thrift/BsonType.js +60 -37
- package/dist/parquetjs/parquet-thrift/ColumnChunk.js +209 -215
- package/dist/parquetjs/parquet-thrift/ColumnIndex.js +210 -211
- package/dist/parquetjs/parquet-thrift/ColumnMetaData.js +394 -421
- package/dist/parquetjs/parquet-thrift/ColumnOrder.js +102 -89
- package/dist/parquetjs/parquet-thrift/CompressionCodec.js +19 -12
- package/dist/parquetjs/parquet-thrift/ConvertedType.js +33 -26
- package/dist/parquetjs/parquet-thrift/DataPageHeader.js +165 -161
- package/dist/parquetjs/parquet-thrift/DataPageHeaderV2.js +228 -234
- package/dist/parquetjs/parquet-thrift/DateType.js +60 -37
- package/dist/parquetjs/parquet-thrift/DecimalType.js +104 -90
- package/dist/parquetjs/parquet-thrift/DictionaryPageHeader.js +121 -112
- package/dist/parquetjs/parquet-thrift/Encoding.js +19 -12
- package/dist/parquetjs/parquet-thrift/EnumType.js +60 -37
- package/dist/parquetjs/parquet-thrift/FieldRepetitionType.js +14 -7
- package/dist/parquetjs/parquet-thrift/FileMetaData.js +253 -263
- package/dist/parquetjs/parquet-thrift/IndexPageHeader.js +60 -37
- package/dist/parquetjs/parquet-thrift/IntType.js +104 -90
- package/dist/parquetjs/parquet-thrift/JsonType.js +60 -37
- package/dist/parquetjs/parquet-thrift/KeyValue.js +101 -88
- package/dist/parquetjs/parquet-thrift/ListType.js +60 -37
- package/dist/parquetjs/parquet-thrift/LogicalType.js +366 -449
- package/dist/parquetjs/parquet-thrift/MapType.js +60 -37
- package/dist/parquetjs/parquet-thrift/MicroSeconds.js +60 -37
- package/dist/parquetjs/parquet-thrift/MilliSeconds.js +60 -37
- package/dist/parquetjs/parquet-thrift/NullType.js +60 -37
- package/dist/parquetjs/parquet-thrift/OffsetIndex.js +96 -80
- package/dist/parquetjs/parquet-thrift/PageEncodingStats.js +126 -114
- package/dist/parquetjs/parquet-thrift/PageHeader.js +218 -231
- package/dist/parquetjs/parquet-thrift/PageLocation.js +140 -123
- package/dist/parquetjs/parquet-thrift/PageType.js +15 -8
- package/dist/parquetjs/parquet-thrift/RowGroup.js +179 -171
- package/dist/parquetjs/parquet-thrift/SchemaElement.js +241 -268
- package/dist/parquetjs/parquet-thrift/SortingColumn.js +126 -114
- package/dist/parquetjs/parquet-thrift/Statistics.js +175 -178
- package/dist/parquetjs/parquet-thrift/StringType.js +60 -37
- package/dist/parquetjs/parquet-thrift/TimeType.js +105 -91
- package/dist/parquetjs/parquet-thrift/TimeUnit.js +124 -119
- package/dist/parquetjs/parquet-thrift/TimestampType.js +105 -91
- package/dist/parquetjs/parquet-thrift/Type.js +19 -12
- package/dist/parquetjs/parquet-thrift/TypeDefinedOrder.js +60 -37
- package/dist/parquetjs/parquet-thrift/UUIDType.js +60 -37
- package/dist/parquetjs/parquet-thrift/index.js +65 -44
- package/dist/parquetjs/parser/decoders.d.ts +2 -2
- package/dist/parquetjs/parser/decoders.d.ts.map +1 -1
- package/dist/parquetjs/parser/decoders.js +301 -283
- package/dist/parquetjs/parser/parquet-reader.d.ts +47 -57
- package/dist/parquetjs/parser/parquet-reader.d.ts.map +1 -1
- package/dist/parquetjs/parser/parquet-reader.js +193 -113
- package/dist/parquetjs/schema/declare.d.ts +26 -18
- package/dist/parquetjs/schema/declare.d.ts.map +1 -1
- package/dist/parquetjs/schema/declare.js +11 -12
- package/dist/parquetjs/schema/schema.d.ts +4 -4
- package/dist/parquetjs/schema/schema.d.ts.map +1 -1
- package/dist/parquetjs/schema/schema.js +148 -162
- package/dist/parquetjs/schema/shred.d.ts +33 -12
- package/dist/parquetjs/schema/shred.d.ts.map +1 -1
- package/dist/parquetjs/schema/shred.js +340 -147
- package/dist/parquetjs/schema/types.d.ts +2 -2
- package/dist/parquetjs/schema/types.d.ts.map +1 -1
- package/dist/parquetjs/schema/types.js +355 -415
- package/dist/parquetjs/utils/file-utils.d.ts +5 -4
- package/dist/parquetjs/utils/file-utils.d.ts.map +1 -1
- package/dist/parquetjs/utils/file-utils.js +37 -28
- package/dist/parquetjs/utils/read-utils.js +99 -95
- package/dist/workers/parquet-worker.js +5 -4
- package/package.json +17 -12
- package/src/index.ts +58 -7
- package/src/lib/arrow/convert-columns-to-row-group.ts +0 -0
- package/src/lib/arrow/convert-row-group-to-columns.ts +15 -0
- package/src/lib/arrow/convert-schema-from-parquet.ts +104 -0
- package/src/lib/arrow/convert-schema-to-parquet.ts +90 -0
- package/src/lib/geo/decode-geo-metadata.ts +108 -0
- package/src/lib/geo/geoparquet-schema.ts +69 -0
- package/src/lib/parsers/parse-parquet-to-columns.ts +60 -0
- package/src/lib/parsers/parse-parquet-to-rows.ts +45 -0
- package/src/lib/wasm/encode-parquet-wasm.ts +40 -0
- package/src/lib/wasm/load-wasm/index.ts +1 -0
- package/src/lib/wasm/load-wasm/load-wasm-browser.ts +15 -0
- package/src/lib/wasm/load-wasm/load-wasm-node.ts +5 -0
- package/src/lib/wasm/parse-parquet-wasm.ts +42 -0
- package/src/lib/wip/convert-schema-deep.java.disabled +910 -0
- package/src/lib/wip/convert-schema-deep.rs.disabled +976 -0
- package/src/parquet-loader.ts +30 -3
- package/src/parquet-wasm-loader.ts +36 -0
- package/src/parquet-wasm-writer.ts +24 -0
- package/src/parquet-writer.ts +4 -1
- package/src/parquetjs/compression.ts +24 -7
- package/src/parquetjs/encoder/{writer.ts → parquet-encoder.ts} +33 -38
- package/src/parquetjs/parser/decoders.ts +3 -3
- package/src/parquetjs/parser/parquet-reader.ts +239 -122
- package/src/parquetjs/schema/declare.ts +22 -13
- package/src/parquetjs/schema/schema.ts +8 -8
- package/src/parquetjs/schema/shred.ts +239 -71
- package/src/parquetjs/schema/types.ts +25 -30
- package/src/parquetjs/utils/file-utils.ts +3 -4
- package/dist/bundle.js.map +0 -1
- package/dist/constants.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/lib/convert-schema.d.ts +0 -8
- package/dist/lib/convert-schema.d.ts.map +0 -1
- package/dist/lib/convert-schema.js +0 -71
- package/dist/lib/convert-schema.js.map +0 -1
- package/dist/lib/parse-parquet.d.ts +0 -4
- package/dist/lib/parse-parquet.d.ts.map +0 -1
- package/dist/lib/parse-parquet.js +0 -28
- package/dist/lib/parse-parquet.js.map +0 -1
- package/dist/lib/read-array-buffer.d.ts +0 -19
- package/dist/lib/read-array-buffer.d.ts.map +0 -1
- package/dist/lib/read-array-buffer.js +0 -9
- package/dist/lib/read-array-buffer.js.map +0 -1
- package/dist/parquet-loader.js.map +0 -1
- package/dist/parquet-writer.js.map +0 -1
- package/dist/parquetjs/codecs/declare.js.map +0 -1
- package/dist/parquetjs/codecs/dictionary.js.map +0 -1
- package/dist/parquetjs/codecs/index.js.map +0 -1
- package/dist/parquetjs/codecs/plain.js.map +0 -1
- package/dist/parquetjs/codecs/rle.js.map +0 -1
- package/dist/parquetjs/compression.js.map +0 -1
- package/dist/parquetjs/encoder/writer.d.ts.map +0 -1
- package/dist/parquetjs/encoder/writer.js.map +0 -1
- package/dist/parquetjs/file.d.ts +0 -10
- package/dist/parquetjs/file.d.ts.map +0 -1
- package/dist/parquetjs/file.js +0 -80
- package/dist/parquetjs/file.js.map +0 -1
- package/dist/parquetjs/parquet-thrift/BoundaryOrder.js.map +0 -1
- package/dist/parquetjs/parquet-thrift/BsonType.js.map +0 -1
- package/dist/parquetjs/parquet-thrift/ColumnChunk.js.map +0 -1
- package/dist/parquetjs/parquet-thrift/ColumnIndex.js.map +0 -1
- package/dist/parquetjs/parquet-thrift/ColumnMetaData.js.map +0 -1
- package/dist/parquetjs/parquet-thrift/ColumnOrder.js.map +0 -1
- package/dist/parquetjs/parquet-thrift/CompressionCodec.js.map +0 -1
- package/dist/parquetjs/parquet-thrift/ConvertedType.js.map +0 -1
- package/dist/parquetjs/parquet-thrift/DataPageHeader.js.map +0 -1
- package/dist/parquetjs/parquet-thrift/DataPageHeaderV2.js.map +0 -1
- package/dist/parquetjs/parquet-thrift/DateType.js.map +0 -1
- package/dist/parquetjs/parquet-thrift/DecimalType.js.map +0 -1
- package/dist/parquetjs/parquet-thrift/DictionaryPageHeader.js.map +0 -1
- package/dist/parquetjs/parquet-thrift/Encoding.js.map +0 -1
- package/dist/parquetjs/parquet-thrift/EnumType.js.map +0 -1
- package/dist/parquetjs/parquet-thrift/FieldRepetitionType.js.map +0 -1
- package/dist/parquetjs/parquet-thrift/FileMetaData.js.map +0 -1
- package/dist/parquetjs/parquet-thrift/IndexPageHeader.js.map +0 -1
- package/dist/parquetjs/parquet-thrift/IntType.js.map +0 -1
- package/dist/parquetjs/parquet-thrift/JsonType.js.map +0 -1
- package/dist/parquetjs/parquet-thrift/KeyValue.js.map +0 -1
- package/dist/parquetjs/parquet-thrift/ListType.js.map +0 -1
- package/dist/parquetjs/parquet-thrift/LogicalType.js.map +0 -1
- package/dist/parquetjs/parquet-thrift/MapType.js.map +0 -1
- package/dist/parquetjs/parquet-thrift/MicroSeconds.js.map +0 -1
- package/dist/parquetjs/parquet-thrift/MilliSeconds.js.map +0 -1
- package/dist/parquetjs/parquet-thrift/NullType.js.map +0 -1
- package/dist/parquetjs/parquet-thrift/OffsetIndex.js.map +0 -1
- package/dist/parquetjs/parquet-thrift/PageEncodingStats.js.map +0 -1
- package/dist/parquetjs/parquet-thrift/PageHeader.js.map +0 -1
- package/dist/parquetjs/parquet-thrift/PageLocation.js.map +0 -1
- package/dist/parquetjs/parquet-thrift/PageType.js.map +0 -1
- package/dist/parquetjs/parquet-thrift/RowGroup.js.map +0 -1
- package/dist/parquetjs/parquet-thrift/SchemaElement.js.map +0 -1
- package/dist/parquetjs/parquet-thrift/SortingColumn.js.map +0 -1
- package/dist/parquetjs/parquet-thrift/Statistics.js.map +0 -1
- package/dist/parquetjs/parquet-thrift/StringType.js.map +0 -1
- package/dist/parquetjs/parquet-thrift/TimeType.js.map +0 -1
- package/dist/parquetjs/parquet-thrift/TimeUnit.js.map +0 -1
- package/dist/parquetjs/parquet-thrift/TimestampType.js.map +0 -1
- package/dist/parquetjs/parquet-thrift/Type.js.map +0 -1
- package/dist/parquetjs/parquet-thrift/TypeDefinedOrder.js.map +0 -1
- package/dist/parquetjs/parquet-thrift/UUIDType.js.map +0 -1
- package/dist/parquetjs/parquet-thrift/index.js.map +0 -1
- package/dist/parquetjs/parser/decoders.js.map +0 -1
- package/dist/parquetjs/parser/parquet-cursor.d.ts +0 -36
- package/dist/parquetjs/parser/parquet-cursor.d.ts.map +0 -1
- package/dist/parquetjs/parser/parquet-cursor.js +0 -90
- package/dist/parquetjs/parser/parquet-cursor.js.map +0 -1
- package/dist/parquetjs/parser/parquet-envelope-reader.d.ts +0 -40
- package/dist/parquetjs/parser/parquet-envelope-reader.d.ts.map +0 -1
- package/dist/parquetjs/parser/parquet-envelope-reader.js.map +0 -1
- package/dist/parquetjs/parser/parquet-reader.js.map +0 -1
- package/dist/parquetjs/schema/declare.js.map +0 -1
- package/dist/parquetjs/schema/schema.js.map +0 -1
- package/dist/parquetjs/schema/shred.js.map +0 -1
- package/dist/parquetjs/schema/types.js.map +0 -1
- package/dist/parquetjs/utils/buffer-utils.d.ts +0 -10
- package/dist/parquetjs/utils/buffer-utils.d.ts.map +0 -1
- package/dist/parquetjs/utils/buffer-utils.js +0 -12
- package/dist/parquetjs/utils/buffer-utils.js.map +0 -1
- package/dist/parquetjs/utils/file-utils.js.map +0 -1
- package/dist/parquetjs/utils/read-utils.js.map +0 -1
- package/dist/workers/parquet-worker.js.map +0 -1
- package/src/lib/convert-schema.ts +0 -95
- package/src/lib/parse-parquet.ts +0 -27
- package/src/lib/read-array-buffer.ts +0 -31
- package/src/parquetjs/file.ts +0 -90
- package/src/parquetjs/parser/parquet-cursor.ts +0 -94
- package/src/parquetjs/parser/parquet-envelope-reader.ts +0 -199
- package/src/parquetjs/utils/buffer-utils.ts +0 -18
- /package/dist/{parquetjs → es5/parquetjs}/LICENSE +0 -0
- /package/dist/{parquetjs → es5/parquetjs}/modules.d.ts +0 -0
|
@@ -0,0 +1,393 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.decodeDataPages = decodeDataPages;
|
|
8
|
+
exports.decodePage = decodePage;
|
|
9
|
+
exports.decodeSchema = decodeSchema;
|
|
10
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
12
|
+
var _codecs = require("../codecs");
|
|
13
|
+
var _parquetThrift = require("../parquet-thrift");
|
|
14
|
+
var _compression = require("../compression");
|
|
15
|
+
var _constants = require("../../constants");
|
|
16
|
+
var _readUtils = require("../utils/read-utils");
|
|
17
|
+
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; } } }; }
|
|
18
|
+
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); }
|
|
19
|
+
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; }
|
|
20
|
+
function decodeDataPages(_x, _x2) {
|
|
21
|
+
return _decodeDataPages.apply(this, arguments);
|
|
22
|
+
}
|
|
23
|
+
function _decodeDataPages() {
|
|
24
|
+
_decodeDataPages = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(buffer, options) {
|
|
25
|
+
var cursor, data, dictionary, page, index, value;
|
|
26
|
+
return _regenerator.default.wrap(function _callee$(_context) {
|
|
27
|
+
while (1) switch (_context.prev = _context.next) {
|
|
28
|
+
case 0:
|
|
29
|
+
cursor = {
|
|
30
|
+
buffer: buffer,
|
|
31
|
+
offset: 0,
|
|
32
|
+
size: buffer.length
|
|
33
|
+
};
|
|
34
|
+
data = {
|
|
35
|
+
rlevels: [],
|
|
36
|
+
dlevels: [],
|
|
37
|
+
values: [],
|
|
38
|
+
pageHeaders: [],
|
|
39
|
+
count: 0
|
|
40
|
+
};
|
|
41
|
+
dictionary = options.dictionary || [];
|
|
42
|
+
case 3:
|
|
43
|
+
if (!(cursor.offset < cursor.size && (!options.numValues || data.dlevels.length < Number(options.numValues)))) {
|
|
44
|
+
_context.next = 16;
|
|
45
|
+
break;
|
|
46
|
+
}
|
|
47
|
+
_context.next = 6;
|
|
48
|
+
return decodePage(cursor, options);
|
|
49
|
+
case 6:
|
|
50
|
+
page = _context.sent;
|
|
51
|
+
if (!page.dictionary) {
|
|
52
|
+
_context.next = 10;
|
|
53
|
+
break;
|
|
54
|
+
}
|
|
55
|
+
dictionary = page.dictionary;
|
|
56
|
+
return _context.abrupt("continue", 3);
|
|
57
|
+
case 10:
|
|
58
|
+
if (dictionary.length) {
|
|
59
|
+
page.values = page.values.map(function (value) {
|
|
60
|
+
return dictionary[value];
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
for (index = 0; index < page.rlevels.length; index++) {
|
|
64
|
+
data.rlevels.push(page.rlevels[index]);
|
|
65
|
+
data.dlevels.push(page.dlevels[index]);
|
|
66
|
+
value = page.values[index];
|
|
67
|
+
if (value !== undefined) {
|
|
68
|
+
data.values.push(value);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
data.count += page.count;
|
|
72
|
+
data.pageHeaders.push(page.pageHeader);
|
|
73
|
+
_context.next = 3;
|
|
74
|
+
break;
|
|
75
|
+
case 16:
|
|
76
|
+
return _context.abrupt("return", data);
|
|
77
|
+
case 17:
|
|
78
|
+
case "end":
|
|
79
|
+
return _context.stop();
|
|
80
|
+
}
|
|
81
|
+
}, _callee);
|
|
82
|
+
}));
|
|
83
|
+
return _decodeDataPages.apply(this, arguments);
|
|
84
|
+
}
|
|
85
|
+
function decodePage(_x3, _x4) {
|
|
86
|
+
return _decodePage.apply(this, arguments);
|
|
87
|
+
}
|
|
88
|
+
function _decodePage() {
|
|
89
|
+
_decodePage = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee2(cursor, options) {
|
|
90
|
+
var page, _decodePageHeader, pageHeader, length, pageType;
|
|
91
|
+
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
92
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
93
|
+
case 0:
|
|
94
|
+
_decodePageHeader = (0, _readUtils.decodePageHeader)(cursor.buffer, cursor.offset), pageHeader = _decodePageHeader.pageHeader, length = _decodePageHeader.length;
|
|
95
|
+
cursor.offset += length;
|
|
96
|
+
pageType = (0, _readUtils.getThriftEnum)(_parquetThrift.PageType, pageHeader.type);
|
|
97
|
+
_context2.t0 = pageType;
|
|
98
|
+
_context2.next = _context2.t0 === 'DATA_PAGE' ? 6 : _context2.t0 === 'DATA_PAGE_V2' ? 10 : _context2.t0 === 'DICTIONARY_PAGE' ? 14 : 20;
|
|
99
|
+
break;
|
|
100
|
+
case 6:
|
|
101
|
+
_context2.next = 8;
|
|
102
|
+
return decodeDataPage(cursor, pageHeader, options);
|
|
103
|
+
case 8:
|
|
104
|
+
page = _context2.sent;
|
|
105
|
+
return _context2.abrupt("break", 21);
|
|
106
|
+
case 10:
|
|
107
|
+
_context2.next = 12;
|
|
108
|
+
return decodeDataPageV2(cursor, pageHeader, options);
|
|
109
|
+
case 12:
|
|
110
|
+
page = _context2.sent;
|
|
111
|
+
return _context2.abrupt("break", 21);
|
|
112
|
+
case 14:
|
|
113
|
+
_context2.next = 16;
|
|
114
|
+
return decodeDictionaryPage(cursor, pageHeader, options);
|
|
115
|
+
case 16:
|
|
116
|
+
_context2.t1 = _context2.sent;
|
|
117
|
+
_context2.t2 = pageHeader;
|
|
118
|
+
page = {
|
|
119
|
+
dictionary: _context2.t1,
|
|
120
|
+
pageHeader: _context2.t2
|
|
121
|
+
};
|
|
122
|
+
return _context2.abrupt("break", 21);
|
|
123
|
+
case 20:
|
|
124
|
+
throw new Error("invalid page type: ".concat(pageType));
|
|
125
|
+
case 21:
|
|
126
|
+
return _context2.abrupt("return", page);
|
|
127
|
+
case 22:
|
|
128
|
+
case "end":
|
|
129
|
+
return _context2.stop();
|
|
130
|
+
}
|
|
131
|
+
}, _callee2);
|
|
132
|
+
}));
|
|
133
|
+
return _decodePage.apply(this, arguments);
|
|
134
|
+
}
|
|
135
|
+
function decodeSchema(schemaElements, offset, len) {
|
|
136
|
+
var schema = {};
|
|
137
|
+
var next = offset;
|
|
138
|
+
for (var i = 0; i < len; i++) {
|
|
139
|
+
var schemaElement = schemaElements[next];
|
|
140
|
+
var repetitionType = next > 0 ? (0, _readUtils.getThriftEnum)(_parquetThrift.FieldRepetitionType, schemaElement.repetition_type) : 'ROOT';
|
|
141
|
+
var optional = false;
|
|
142
|
+
var repeated = false;
|
|
143
|
+
switch (repetitionType) {
|
|
144
|
+
case 'REQUIRED':
|
|
145
|
+
break;
|
|
146
|
+
case 'OPTIONAL':
|
|
147
|
+
optional = true;
|
|
148
|
+
break;
|
|
149
|
+
case 'REPEATED':
|
|
150
|
+
repeated = true;
|
|
151
|
+
break;
|
|
152
|
+
default:
|
|
153
|
+
throw new Error('parquet: unknown repetition type');
|
|
154
|
+
}
|
|
155
|
+
if (schemaElement.num_children > 0) {
|
|
156
|
+
var res = decodeSchema(schemaElements, next + 1, schemaElement.num_children);
|
|
157
|
+
next = res.next;
|
|
158
|
+
schema[schemaElement.name] = {
|
|
159
|
+
optional: optional,
|
|
160
|
+
repeated: repeated,
|
|
161
|
+
fields: res.schema
|
|
162
|
+
};
|
|
163
|
+
} else {
|
|
164
|
+
var type = (0, _readUtils.getThriftEnum)(_parquetThrift.Type, schemaElement.type);
|
|
165
|
+
var logicalType = type;
|
|
166
|
+
if (schemaElement.converted_type) {
|
|
167
|
+
logicalType = (0, _readUtils.getThriftEnum)(_parquetThrift.ConvertedType, schemaElement.converted_type);
|
|
168
|
+
}
|
|
169
|
+
switch (logicalType) {
|
|
170
|
+
case 'DECIMAL':
|
|
171
|
+
logicalType = "".concat(logicalType, "_").concat(type);
|
|
172
|
+
break;
|
|
173
|
+
default:
|
|
174
|
+
}
|
|
175
|
+
schema[schemaElement.name] = {
|
|
176
|
+
type: logicalType,
|
|
177
|
+
typeLength: schemaElement.type_length,
|
|
178
|
+
presision: schemaElement.precision,
|
|
179
|
+
scale: schemaElement.scale,
|
|
180
|
+
optional: optional,
|
|
181
|
+
repeated: repeated
|
|
182
|
+
};
|
|
183
|
+
next++;
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
return {
|
|
187
|
+
schema: schema,
|
|
188
|
+
offset: offset,
|
|
189
|
+
next: next
|
|
190
|
+
};
|
|
191
|
+
}
|
|
192
|
+
function decodeValues(type, encoding, cursor, count, opts) {
|
|
193
|
+
if (!(encoding in _codecs.PARQUET_CODECS)) {
|
|
194
|
+
throw new Error("invalid encoding: ".concat(encoding));
|
|
195
|
+
}
|
|
196
|
+
return _codecs.PARQUET_CODECS[encoding].decodeValues(type, cursor, count, opts);
|
|
197
|
+
}
|
|
198
|
+
function decodeDataPage(_x5, _x6, _x7) {
|
|
199
|
+
return _decodeDataPage.apply(this, arguments);
|
|
200
|
+
}
|
|
201
|
+
function _decodeDataPage() {
|
|
202
|
+
_decodeDataPage = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee3(cursor, header, options) {
|
|
203
|
+
var _header$data_page_hea, _header$data_page_hea2, _header$data_page_hea3, _header$data_page_hea4;
|
|
204
|
+
var cursorEnd, valueCount, dataCursor, valuesBuf, rLevelEncoding, rLevels, dLevelEncoding, dLevels, valueCountNonNull, _iterator, _step, dlvl, valueEncoding, decodeOptions, values;
|
|
205
|
+
return _regenerator.default.wrap(function _callee3$(_context3) {
|
|
206
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
207
|
+
case 0:
|
|
208
|
+
cursorEnd = cursor.offset + header.compressed_page_size;
|
|
209
|
+
valueCount = (_header$data_page_hea = header.data_page_header) === null || _header$data_page_hea === void 0 ? void 0 : _header$data_page_hea.num_values;
|
|
210
|
+
dataCursor = cursor;
|
|
211
|
+
if (!(options.compression !== 'UNCOMPRESSED')) {
|
|
212
|
+
_context3.next = 9;
|
|
213
|
+
break;
|
|
214
|
+
}
|
|
215
|
+
_context3.next = 6;
|
|
216
|
+
return (0, _compression.decompress)(options.compression, cursor.buffer.slice(cursor.offset, cursorEnd), header.uncompressed_page_size);
|
|
217
|
+
case 6:
|
|
218
|
+
valuesBuf = _context3.sent;
|
|
219
|
+
dataCursor = {
|
|
220
|
+
buffer: valuesBuf,
|
|
221
|
+
offset: 0,
|
|
222
|
+
size: valuesBuf.length
|
|
223
|
+
};
|
|
224
|
+
cursor.offset = cursorEnd;
|
|
225
|
+
case 9:
|
|
226
|
+
rLevelEncoding = (0, _readUtils.getThriftEnum)(_parquetThrift.Encoding, (_header$data_page_hea2 = header.data_page_header) === null || _header$data_page_hea2 === void 0 ? void 0 : _header$data_page_hea2.repetition_level_encoding);
|
|
227
|
+
rLevels = new Array(valueCount);
|
|
228
|
+
if (options.column.rLevelMax > 0) {
|
|
229
|
+
rLevels = decodeValues(_constants.PARQUET_RDLVL_TYPE, rLevelEncoding, dataCursor, valueCount, {
|
|
230
|
+
bitWidth: (0, _readUtils.getBitWidth)(options.column.rLevelMax),
|
|
231
|
+
disableEnvelope: false
|
|
232
|
+
});
|
|
233
|
+
} else {
|
|
234
|
+
rLevels.fill(0);
|
|
235
|
+
}
|
|
236
|
+
dLevelEncoding = (0, _readUtils.getThriftEnum)(_parquetThrift.Encoding, (_header$data_page_hea3 = header.data_page_header) === null || _header$data_page_hea3 === void 0 ? void 0 : _header$data_page_hea3.definition_level_encoding);
|
|
237
|
+
dLevels = new Array(valueCount);
|
|
238
|
+
if (options.column.dLevelMax > 0) {
|
|
239
|
+
dLevels = decodeValues(_constants.PARQUET_RDLVL_TYPE, dLevelEncoding, dataCursor, valueCount, {
|
|
240
|
+
bitWidth: (0, _readUtils.getBitWidth)(options.column.dLevelMax),
|
|
241
|
+
disableEnvelope: false
|
|
242
|
+
});
|
|
243
|
+
} else {
|
|
244
|
+
dLevels.fill(0);
|
|
245
|
+
}
|
|
246
|
+
valueCountNonNull = 0;
|
|
247
|
+
_iterator = _createForOfIteratorHelper(dLevels);
|
|
248
|
+
try {
|
|
249
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
250
|
+
dlvl = _step.value;
|
|
251
|
+
if (dlvl === options.column.dLevelMax) {
|
|
252
|
+
valueCountNonNull++;
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
} catch (err) {
|
|
256
|
+
_iterator.e(err);
|
|
257
|
+
} finally {
|
|
258
|
+
_iterator.f();
|
|
259
|
+
}
|
|
260
|
+
valueEncoding = (0, _readUtils.getThriftEnum)(_parquetThrift.Encoding, (_header$data_page_hea4 = header.data_page_header) === null || _header$data_page_hea4 === void 0 ? void 0 : _header$data_page_hea4.encoding);
|
|
261
|
+
decodeOptions = {
|
|
262
|
+
typeLength: options.column.typeLength,
|
|
263
|
+
bitWidth: options.column.typeLength
|
|
264
|
+
};
|
|
265
|
+
values = decodeValues(options.column.primitiveType, valueEncoding, dataCursor, valueCountNonNull, decodeOptions);
|
|
266
|
+
return _context3.abrupt("return", {
|
|
267
|
+
dlevels: dLevels,
|
|
268
|
+
rlevels: rLevels,
|
|
269
|
+
values: values,
|
|
270
|
+
count: valueCount,
|
|
271
|
+
pageHeader: header
|
|
272
|
+
});
|
|
273
|
+
case 22:
|
|
274
|
+
case "end":
|
|
275
|
+
return _context3.stop();
|
|
276
|
+
}
|
|
277
|
+
}, _callee3);
|
|
278
|
+
}));
|
|
279
|
+
return _decodeDataPage.apply(this, arguments);
|
|
280
|
+
}
|
|
281
|
+
function decodeDataPageV2(_x8, _x9, _x10) {
|
|
282
|
+
return _decodeDataPageV.apply(this, arguments);
|
|
283
|
+
}
|
|
284
|
+
function _decodeDataPageV() {
|
|
285
|
+
_decodeDataPageV = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee4(cursor, header, opts) {
|
|
286
|
+
var _header$data_page_hea5, _header$data_page_hea6, _header$data_page_hea7, _header$data_page_hea8;
|
|
287
|
+
var cursorEnd, valueCount, valueCountNonNull, valueEncoding, rLevels, dLevels, valuesBufCursor, valuesBuf, decodeOptions, values;
|
|
288
|
+
return _regenerator.default.wrap(function _callee4$(_context4) {
|
|
289
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
290
|
+
case 0:
|
|
291
|
+
cursorEnd = cursor.offset + header.compressed_page_size;
|
|
292
|
+
valueCount = (_header$data_page_hea5 = header.data_page_header_v2) === null || _header$data_page_hea5 === void 0 ? void 0 : _header$data_page_hea5.num_values;
|
|
293
|
+
valueCountNonNull = valueCount - ((_header$data_page_hea6 = header.data_page_header_v2) === null || _header$data_page_hea6 === void 0 ? void 0 : _header$data_page_hea6.num_nulls);
|
|
294
|
+
valueEncoding = (0, _readUtils.getThriftEnum)(_parquetThrift.Encoding, (_header$data_page_hea7 = header.data_page_header_v2) === null || _header$data_page_hea7 === void 0 ? void 0 : _header$data_page_hea7.encoding);
|
|
295
|
+
rLevels = new Array(valueCount);
|
|
296
|
+
if (opts.column.rLevelMax > 0) {
|
|
297
|
+
rLevels = decodeValues(_constants.PARQUET_RDLVL_TYPE, _constants.PARQUET_RDLVL_ENCODING, cursor, valueCount, {
|
|
298
|
+
bitWidth: (0, _readUtils.getBitWidth)(opts.column.rLevelMax),
|
|
299
|
+
disableEnvelope: true
|
|
300
|
+
});
|
|
301
|
+
} else {
|
|
302
|
+
rLevels.fill(0);
|
|
303
|
+
}
|
|
304
|
+
dLevels = new Array(valueCount);
|
|
305
|
+
if (opts.column.dLevelMax > 0) {
|
|
306
|
+
dLevels = decodeValues(_constants.PARQUET_RDLVL_TYPE, _constants.PARQUET_RDLVL_ENCODING, cursor, valueCount, {
|
|
307
|
+
bitWidth: (0, _readUtils.getBitWidth)(opts.column.dLevelMax),
|
|
308
|
+
disableEnvelope: true
|
|
309
|
+
});
|
|
310
|
+
} else {
|
|
311
|
+
dLevels.fill(0);
|
|
312
|
+
}
|
|
313
|
+
valuesBufCursor = cursor;
|
|
314
|
+
if (!((_header$data_page_hea8 = header.data_page_header_v2) !== null && _header$data_page_hea8 !== void 0 && _header$data_page_hea8.is_compressed)) {
|
|
315
|
+
_context4.next = 15;
|
|
316
|
+
break;
|
|
317
|
+
}
|
|
318
|
+
_context4.next = 12;
|
|
319
|
+
return (0, _compression.decompress)(opts.compression, cursor.buffer.slice(cursor.offset, cursorEnd), header.uncompressed_page_size);
|
|
320
|
+
case 12:
|
|
321
|
+
valuesBuf = _context4.sent;
|
|
322
|
+
valuesBufCursor = {
|
|
323
|
+
buffer: valuesBuf,
|
|
324
|
+
offset: 0,
|
|
325
|
+
size: valuesBuf.length
|
|
326
|
+
};
|
|
327
|
+
cursor.offset = cursorEnd;
|
|
328
|
+
case 15:
|
|
329
|
+
decodeOptions = {
|
|
330
|
+
typeLength: opts.column.typeLength,
|
|
331
|
+
bitWidth: opts.column.typeLength
|
|
332
|
+
};
|
|
333
|
+
values = decodeValues(opts.column.primitiveType, valueEncoding, valuesBufCursor, valueCountNonNull, decodeOptions);
|
|
334
|
+
return _context4.abrupt("return", {
|
|
335
|
+
dlevels: dLevels,
|
|
336
|
+
rlevels: rLevels,
|
|
337
|
+
values: values,
|
|
338
|
+
count: valueCount,
|
|
339
|
+
pageHeader: header
|
|
340
|
+
});
|
|
341
|
+
case 18:
|
|
342
|
+
case "end":
|
|
343
|
+
return _context4.stop();
|
|
344
|
+
}
|
|
345
|
+
}, _callee4);
|
|
346
|
+
}));
|
|
347
|
+
return _decodeDataPageV.apply(this, arguments);
|
|
348
|
+
}
|
|
349
|
+
function decodeDictionaryPage(_x11, _x12, _x13) {
|
|
350
|
+
return _decodeDictionaryPage.apply(this, arguments);
|
|
351
|
+
}
|
|
352
|
+
function _decodeDictionaryPage() {
|
|
353
|
+
_decodeDictionaryPage = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee5(cursor, pageHeader, options) {
|
|
354
|
+
var _pageHeader$dictionar;
|
|
355
|
+
var cursorEnd, dictCursor, valuesBuf, numValues;
|
|
356
|
+
return _regenerator.default.wrap(function _callee5$(_context5) {
|
|
357
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
358
|
+
case 0:
|
|
359
|
+
cursorEnd = cursor.offset + pageHeader.compressed_page_size;
|
|
360
|
+
dictCursor = {
|
|
361
|
+
offset: 0,
|
|
362
|
+
buffer: cursor.buffer.slice(cursor.offset, cursorEnd),
|
|
363
|
+
size: cursorEnd - cursor.offset
|
|
364
|
+
};
|
|
365
|
+
cursor.offset = cursorEnd;
|
|
366
|
+
if (!(options.compression !== 'UNCOMPRESSED')) {
|
|
367
|
+
_context5.next = 9;
|
|
368
|
+
break;
|
|
369
|
+
}
|
|
370
|
+
_context5.next = 6;
|
|
371
|
+
return (0, _compression.decompress)(options.compression, dictCursor.buffer.slice(dictCursor.offset, cursorEnd), pageHeader.uncompressed_page_size);
|
|
372
|
+
case 6:
|
|
373
|
+
valuesBuf = _context5.sent;
|
|
374
|
+
dictCursor = {
|
|
375
|
+
buffer: valuesBuf,
|
|
376
|
+
offset: 0,
|
|
377
|
+
size: valuesBuf.length
|
|
378
|
+
};
|
|
379
|
+
cursor.offset = cursorEnd;
|
|
380
|
+
case 9:
|
|
381
|
+
numValues = (pageHeader === null || pageHeader === void 0 ? void 0 : (_pageHeader$dictionar = pageHeader.dictionary_page_header) === null || _pageHeader$dictionar === void 0 ? void 0 : _pageHeader$dictionar.num_values) || 0;
|
|
382
|
+
return _context5.abrupt("return", decodeValues(options.column.primitiveType, options.column.encoding, dictCursor, numValues, options).map(function (d) {
|
|
383
|
+
return d.toString();
|
|
384
|
+
}));
|
|
385
|
+
case 11:
|
|
386
|
+
case "end":
|
|
387
|
+
return _context5.stop();
|
|
388
|
+
}
|
|
389
|
+
}, _callee5);
|
|
390
|
+
}));
|
|
391
|
+
return _decodeDictionaryPage.apply(this, arguments);
|
|
392
|
+
}
|
|
393
|
+
//# sourceMappingURL=decoders.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decoders.js","names":["_codecs","require","_parquetThrift","_compression","_constants","_readUtils","_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","decodeDataPages","_x","_x2","_decodeDataPages","apply","arguments","_asyncToGenerator2","default","_regenerator","mark","_callee","buffer","options","cursor","data","dictionary","page","index","wrap","_callee$","_context","prev","offset","size","rlevels","dlevels","values","pageHeaders","count","numValues","Number","decodePage","sent","abrupt","map","push","undefined","pageHeader","stop","_x3","_x4","_decodePage","_callee2","_decodePageHeader","pageType","_callee2$","_context2","decodePageHeader","getThriftEnum","PageType","type","t0","decodeDataPage","decodeDataPageV2","decodeDictionaryPage","t1","t2","Error","concat","decodeSchema","schemaElements","schema","schemaElement","repetitionType","FieldRepetitionType","repetition_type","optional","repeated","num_children","res","fields","Type","logicalType","converted_type","ConvertedType","typeLength","type_length","presision","precision","scale","decodeValues","encoding","opts","PARQUET_CODECS","_x5","_x6","_x7","_decodeDataPage","_callee3","header","_header$data_page_hea","_header$data_page_hea2","_header$data_page_hea3","_header$data_page_hea4","cursorEnd","valueCount","dataCursor","valuesBuf","rLevelEncoding","rLevels","dLevelEncoding","dLevels","valueCountNonNull","_iterator","_step","dlvl","valueEncoding","decodeOptions","_callee3$","_context3","compressed_page_size","data_page_header","num_values","compression","decompress","uncompressed_page_size","Encoding","repetition_level_encoding","column","rLevelMax","PARQUET_RDLVL_TYPE","bitWidth","getBitWidth","disableEnvelope","fill","definition_level_encoding","dLevelMax","primitiveType","_x8","_x9","_x10","_decodeDataPageV","_callee4","_header$data_page_hea5","_header$data_page_hea6","_header$data_page_hea7","_header$data_page_hea8","valuesBufCursor","_callee4$","_context4","data_page_header_v2","num_nulls","PARQUET_RDLVL_ENCODING","is_compressed","_x11","_x12","_x13","_decodeDictionaryPage","_callee5","_pageHeader$dictionar","dictCursor","_callee5$","_context5","dictionary_page_header","d"],"sources":["../../../../src/parquetjs/parser/decoders.ts"],"sourcesContent":["// Forked from https://github.com/kbajalc/parquets under MIT license (Copyright (c) 2017 ironSource Ltd.)\nimport {\n ParquetCodec,\n ParquetColumnChunk,\n ParquetOptions,\n ParquetPageData,\n ParquetType,\n PrimitiveType,\n SchemaDefinition\n} from '../schema/declare';\nimport {CursorBuffer, ParquetCodecOptions, PARQUET_CODECS} from '../codecs';\nimport {\n ConvertedType,\n Encoding,\n FieldRepetitionType,\n PageHeader,\n PageType,\n SchemaElement,\n Type\n} from '../parquet-thrift';\nimport {decompress} from '../compression';\nimport {PARQUET_RDLVL_TYPE, PARQUET_RDLVL_ENCODING} from '../../constants';\nimport {decodePageHeader, getThriftEnum, getBitWidth} from '../utils/read-utils';\n\n/**\n * Decode data pages\n * @param buffer - input data\n * @param column - parquet column\n * @param compression - compression type\n * @returns parquet data page data\n */\nexport async function decodeDataPages(\n buffer: Buffer,\n options: ParquetOptions\n): Promise<ParquetColumnChunk> {\n const cursor: CursorBuffer = {\n buffer,\n offset: 0,\n size: buffer.length\n };\n\n const data: ParquetColumnChunk = {\n rlevels: [],\n dlevels: [],\n values: [],\n pageHeaders: [],\n count: 0\n };\n\n let dictionary = options.dictionary || [];\n\n while (\n // @ts-ignore size can be undefined\n cursor.offset < cursor.size &&\n (!options.numValues || data.dlevels.length < Number(options.numValues))\n ) {\n // Looks like we have to decode these in sequence due to cursor updates?\n const page = await decodePage(cursor, options);\n\n if (page.dictionary) {\n dictionary = page.dictionary;\n // eslint-disable-next-line no-continue\n continue;\n }\n\n if (dictionary.length) {\n // eslint-disable-next-line no-loop-func\n page.values = page.values.map((value) => dictionary[value]);\n }\n\n for (let index = 0; index < page.rlevels.length; index++) {\n data.rlevels.push(page.rlevels[index]);\n data.dlevels.push(page.dlevels[index]);\n const value = page.values[index];\n\n if (value !== undefined) {\n data.values.push(value);\n }\n }\n\n data.count += page.count;\n data.pageHeaders.push(page.pageHeader);\n }\n\n return data;\n}\n\n/**\n * Decode parquet page based on page type\n * @param cursor\n * @param options\n */\nexport async function decodePage(\n cursor: CursorBuffer,\n options: ParquetOptions\n): Promise<ParquetPageData> {\n let page;\n const {pageHeader, length} = decodePageHeader(cursor.buffer, cursor.offset);\n cursor.offset += length;\n\n const pageType = getThriftEnum(PageType, pageHeader.type);\n\n switch (pageType) {\n case 'DATA_PAGE':\n page = await decodeDataPage(cursor, pageHeader, options);\n break;\n case 'DATA_PAGE_V2':\n page = await decodeDataPageV2(cursor, pageHeader, options);\n break;\n case 'DICTIONARY_PAGE':\n page = {\n dictionary: await decodeDictionaryPage(cursor, pageHeader, options),\n pageHeader\n };\n break;\n default:\n throw new Error(`invalid page type: ${pageType}`);\n }\n\n return page;\n}\n\n/**\n * Decode parquet schema\n * @param schemaElements input schema elements data\n * @param offset offset to read from\n * @param len length of data\n * @returns result.offset\n * result.next - offset at the end of function\n * result.schema - schema read from the input data\n * @todo output offset is the same as input - possibly excess output field\n */\nexport function decodeSchema(\n schemaElements: SchemaElement[],\n offset: number,\n len: number\n): {\n offset: number;\n next: number;\n schema: SchemaDefinition;\n} {\n const schema: SchemaDefinition = {};\n let next = offset;\n for (let i = 0; i < len; i++) {\n const schemaElement = schemaElements[next];\n\n const repetitionType =\n next > 0 ? getThriftEnum(FieldRepetitionType, schemaElement.repetition_type!) : 'ROOT';\n\n let optional = false;\n let repeated = false;\n switch (repetitionType) {\n case 'REQUIRED':\n break;\n case 'OPTIONAL':\n optional = true;\n break;\n case 'REPEATED':\n repeated = true;\n break;\n default:\n throw new Error('parquet: unknown repetition type');\n }\n\n if (schemaElement.num_children! > 0) {\n const res = decodeSchema(schemaElements, next + 1, schemaElement.num_children!);\n next = res.next;\n schema[schemaElement.name] = {\n // type: undefined,\n optional,\n repeated,\n fields: res.schema\n };\n } else {\n const type = getThriftEnum(Type, schemaElement.type!);\n let logicalType = type;\n\n if (schemaElement.converted_type) {\n logicalType = getThriftEnum(ConvertedType, schemaElement.converted_type);\n }\n\n switch (logicalType) {\n case 'DECIMAL':\n logicalType = `${logicalType}_${type}` as ParquetType;\n break;\n default:\n }\n\n schema[schemaElement.name] = {\n type: logicalType as ParquetType,\n typeLength: schemaElement.type_length,\n presision: schemaElement.precision,\n scale: schemaElement.scale,\n optional,\n repeated\n };\n next++;\n }\n }\n return {schema, offset, next};\n}\n\n/**\n * Decode a consecutive array of data using one of the parquet encodings\n */\nfunction decodeValues(\n type: PrimitiveType,\n encoding: ParquetCodec,\n cursor: CursorBuffer,\n count: number,\n opts: ParquetCodecOptions\n): any[] {\n if (!(encoding in PARQUET_CODECS)) {\n throw new Error(`invalid encoding: ${encoding}`);\n }\n return PARQUET_CODECS[encoding].decodeValues(type, cursor, count, opts);\n}\n\n/**\n * Do decoding of parquet dataPage from column chunk\n * @param cursor\n * @param header\n * @param options\n */\nasync function decodeDataPage(\n cursor: CursorBuffer,\n header: PageHeader,\n options: ParquetOptions\n): Promise<ParquetPageData> {\n const cursorEnd = cursor.offset + header.compressed_page_size;\n const valueCount = header.data_page_header?.num_values;\n\n /* uncompress page */\n let dataCursor = cursor;\n\n if (options.compression !== 'UNCOMPRESSED') {\n const valuesBuf = await decompress(\n options.compression,\n cursor.buffer.slice(cursor.offset, cursorEnd),\n header.uncompressed_page_size\n );\n dataCursor = {\n buffer: valuesBuf,\n offset: 0,\n size: valuesBuf.length\n };\n cursor.offset = cursorEnd;\n }\n\n /* read repetition levels */\n const rLevelEncoding = getThriftEnum(\n Encoding,\n header.data_page_header?.repetition_level_encoding!\n ) as ParquetCodec;\n // tslint:disable-next-line:prefer-array-literal\n let rLevels = new Array(valueCount);\n\n if (options.column.rLevelMax > 0) {\n rLevels = decodeValues(PARQUET_RDLVL_TYPE, rLevelEncoding, dataCursor, valueCount!, {\n bitWidth: getBitWidth(options.column.rLevelMax),\n disableEnvelope: false\n // column: opts.column\n });\n } else {\n rLevels.fill(0);\n }\n\n /* read definition levels */\n const dLevelEncoding = getThriftEnum(\n Encoding,\n header.data_page_header?.definition_level_encoding!\n ) as ParquetCodec;\n // tslint:disable-next-line:prefer-array-literal\n let dLevels = new Array(valueCount);\n if (options.column.dLevelMax > 0) {\n dLevels = decodeValues(PARQUET_RDLVL_TYPE, dLevelEncoding, dataCursor, valueCount!, {\n bitWidth: getBitWidth(options.column.dLevelMax),\n disableEnvelope: false\n // column: opts.column\n });\n } else {\n dLevels.fill(0);\n }\n let valueCountNonNull = 0;\n for (const dlvl of dLevels) {\n if (dlvl === options.column.dLevelMax) {\n valueCountNonNull++;\n }\n }\n\n /* read values */\n const valueEncoding = getThriftEnum(Encoding, header.data_page_header?.encoding!) as ParquetCodec;\n const decodeOptions = {\n typeLength: options.column.typeLength,\n bitWidth: options.column.typeLength\n };\n\n const values = decodeValues(\n options.column.primitiveType!,\n valueEncoding,\n dataCursor,\n valueCountNonNull,\n decodeOptions\n );\n\n return {\n dlevels: dLevels,\n rlevels: rLevels,\n values,\n count: valueCount!,\n pageHeader: header\n };\n}\n\n/**\n * Do decoding of parquet dataPage in version 2 from column chunk\n * @param cursor\n * @param header\n * @param opts\n * @returns\n */\nasync function decodeDataPageV2(\n cursor: CursorBuffer,\n header: PageHeader,\n opts: any\n): Promise<ParquetPageData> {\n const cursorEnd = cursor.offset + header.compressed_page_size;\n\n const valueCount = header.data_page_header_v2?.num_values;\n // @ts-ignore\n const valueCountNonNull = valueCount - header.data_page_header_v2?.num_nulls;\n const valueEncoding = getThriftEnum(\n Encoding,\n header.data_page_header_v2?.encoding!\n ) as ParquetCodec;\n\n /* read repetition levels */\n // tslint:disable-next-line:prefer-array-literal\n let rLevels = new Array(valueCount);\n if (opts.column.rLevelMax > 0) {\n rLevels = decodeValues(PARQUET_RDLVL_TYPE, PARQUET_RDLVL_ENCODING, cursor, valueCount!, {\n bitWidth: getBitWidth(opts.column.rLevelMax),\n disableEnvelope: true\n });\n } else {\n rLevels.fill(0);\n }\n\n /* read definition levels */\n // tslint:disable-next-line:prefer-array-literal\n let dLevels = new Array(valueCount);\n if (opts.column.dLevelMax > 0) {\n dLevels = decodeValues(PARQUET_RDLVL_TYPE, PARQUET_RDLVL_ENCODING, cursor, valueCount!, {\n bitWidth: getBitWidth(opts.column.dLevelMax),\n disableEnvelope: true\n });\n } else {\n dLevels.fill(0);\n }\n\n /* read values */\n let valuesBufCursor = cursor;\n\n if (header.data_page_header_v2?.is_compressed) {\n const valuesBuf = await decompress(\n opts.compression,\n cursor.buffer.slice(cursor.offset, cursorEnd),\n header.uncompressed_page_size\n );\n\n valuesBufCursor = {\n buffer: valuesBuf,\n offset: 0,\n size: valuesBuf.length\n };\n\n cursor.offset = cursorEnd;\n }\n\n const decodeOptions = {\n typeLength: opts.column.typeLength,\n bitWidth: opts.column.typeLength\n };\n\n const values = decodeValues(\n opts.column.primitiveType!,\n valueEncoding,\n valuesBufCursor,\n valueCountNonNull,\n decodeOptions\n );\n\n return {\n dlevels: dLevels,\n rlevels: rLevels,\n values,\n count: valueCount!,\n pageHeader: header\n };\n}\n\n/**\n * Do decoding of dictionary page which helps to iterate over all indexes and get dataPage values.\n * @param cursor\n * @param pageHeader\n * @param options\n */\nasync function decodeDictionaryPage(\n cursor: CursorBuffer,\n pageHeader: PageHeader,\n options: ParquetOptions\n): Promise<string[]> {\n const cursorEnd = cursor.offset + pageHeader.compressed_page_size;\n\n let dictCursor = {\n offset: 0,\n buffer: cursor.buffer.slice(cursor.offset, cursorEnd),\n size: cursorEnd - cursor.offset\n };\n\n cursor.offset = cursorEnd;\n\n if (options.compression !== 'UNCOMPRESSED') {\n const valuesBuf = await decompress(\n options.compression,\n dictCursor.buffer.slice(dictCursor.offset, cursorEnd),\n pageHeader.uncompressed_page_size\n );\n\n dictCursor = {\n buffer: valuesBuf,\n offset: 0,\n size: valuesBuf.length\n };\n\n cursor.offset = cursorEnd;\n }\n\n const numValues = pageHeader?.dictionary_page_header?.num_values || 0;\n\n return decodeValues(\n options.column.primitiveType!,\n options.column.encoding!,\n dictCursor,\n numValues,\n options as ParquetCodecOptions\n ).map((d) => d.toString());\n}\n"],"mappings":"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"}
|