@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
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
// Forked from https://github.com/kbajalc/parquets under MIT license (Copyright (c) 2017 ironSource Ltd.)
|
|
2
2
|
|
|
3
|
-
import {
|
|
3
|
+
import {ArrayType} from '@loaders.gl/schema';
|
|
4
|
+
import {ParquetRowGroup, ParquetColumnChunk, ParquetField, ParquetRow} from './declare';
|
|
4
5
|
import {ParquetSchema} from './schema';
|
|
5
6
|
import * as Types from './types';
|
|
6
7
|
|
|
7
|
-
export {
|
|
8
|
+
export {ParquetRowGroup};
|
|
8
9
|
|
|
9
|
-
export function shredBuffer(schema: ParquetSchema):
|
|
10
|
-
const columnData: Record<string,
|
|
10
|
+
export function shredBuffer(schema: ParquetSchema): ParquetRowGroup {
|
|
11
|
+
const columnData: Record<string, ParquetColumnChunk> = {};
|
|
11
12
|
for (const field of schema.fieldList) {
|
|
12
13
|
columnData[field.key] = {
|
|
13
14
|
dlevels: [],
|
|
@@ -24,14 +25,14 @@ export function shredBuffer(schema: ParquetSchema): ParquetBuffer {
|
|
|
24
25
|
* 'Shred' a record into a list of <value, repetition_level, definition_level>
|
|
25
26
|
* tuples per column using the Google Dremel Algorithm..
|
|
26
27
|
*
|
|
27
|
-
* The
|
|
28
|
-
* will be returned. You may re-use the
|
|
29
|
-
* to append to an existing
|
|
28
|
+
* The rowGroup argument must point to an object into which the shredded record
|
|
29
|
+
* will be returned. You may re-use the rowGroup for repeated calls to this function
|
|
30
|
+
* to append to an existing rowGroup, as long as the schema is unchanged.
|
|
30
31
|
*
|
|
31
|
-
* The format in which the shredded records will be stored in the
|
|
32
|
+
* The format in which the shredded records will be stored in the rowGroup is as
|
|
32
33
|
* follows:
|
|
33
34
|
*
|
|
34
|
-
*
|
|
35
|
+
* rowGroup = {
|
|
35
36
|
* columnData: [
|
|
36
37
|
* 'my_col': {
|
|
37
38
|
* dlevels: [d1, d2, .. dN],
|
|
@@ -42,32 +43,36 @@ export function shredBuffer(schema: ParquetSchema): ParquetBuffer {
|
|
|
42
43
|
* rowCount: X,
|
|
43
44
|
* }
|
|
44
45
|
*/
|
|
45
|
-
export function shredRecord(
|
|
46
|
+
export function shredRecord(
|
|
47
|
+
schema: ParquetSchema,
|
|
48
|
+
record: ParquetRow,
|
|
49
|
+
rowGroup: ParquetRowGroup
|
|
50
|
+
): void {
|
|
46
51
|
/* shred the record, this may raise an exception */
|
|
47
52
|
const data = shredBuffer(schema).columnData;
|
|
48
53
|
|
|
49
54
|
shredRecordFields(schema.fields, record, data, 0, 0);
|
|
50
55
|
|
|
51
|
-
/* if no error during shredding, add the shredded record to the
|
|
52
|
-
if (
|
|
53
|
-
|
|
54
|
-
|
|
56
|
+
/* if no error during shredding, add the shredded record to the rowGroup */
|
|
57
|
+
if (rowGroup.rowCount === 0) {
|
|
58
|
+
rowGroup.rowCount = 1;
|
|
59
|
+
rowGroup.columnData = data;
|
|
55
60
|
return;
|
|
56
61
|
}
|
|
57
|
-
|
|
62
|
+
rowGroup.rowCount += 1;
|
|
58
63
|
for (const field of schema.fieldList) {
|
|
59
|
-
Array.prototype.push.apply(
|
|
60
|
-
Array.prototype.push.apply(
|
|
61
|
-
Array.prototype.push.apply(
|
|
62
|
-
|
|
64
|
+
Array.prototype.push.apply(rowGroup.columnData[field.key].rlevels, data[field.key].rlevels);
|
|
65
|
+
Array.prototype.push.apply(rowGroup.columnData[field.key].dlevels, data[field.key].dlevels);
|
|
66
|
+
Array.prototype.push.apply(rowGroup.columnData[field.key].values, data[field.key].values);
|
|
67
|
+
rowGroup.columnData[field.key].count += data[field.key].count;
|
|
63
68
|
}
|
|
64
69
|
}
|
|
65
70
|
|
|
66
71
|
// eslint-disable-next-line max-statements, complexity
|
|
67
72
|
function shredRecordFields(
|
|
68
73
|
fields: Record<string, ParquetField>,
|
|
69
|
-
record:
|
|
70
|
-
data: Record<string,
|
|
74
|
+
record: ParquetRow,
|
|
75
|
+
data: Record<string, ParquetColumnChunk>,
|
|
71
76
|
rLevel: number,
|
|
72
77
|
dLevel: number
|
|
73
78
|
) {
|
|
@@ -99,7 +104,7 @@ function shredRecordFields(
|
|
|
99
104
|
// push null
|
|
100
105
|
if (values.length === 0) {
|
|
101
106
|
if (field.isNested) {
|
|
102
|
-
shredRecordFields(field.fields!, null
|
|
107
|
+
shredRecordFields(field.fields!, null!, data, rLevel, dLevel);
|
|
103
108
|
} else {
|
|
104
109
|
data[field.key].count += 1;
|
|
105
110
|
data[field.key].rlevels.push(rLevel);
|
|
@@ -130,10 +135,10 @@ function shredRecordFields(
|
|
|
130
135
|
* tuples back to nested records (objects/arrays) using the Google Dremel
|
|
131
136
|
* Algorithm..
|
|
132
137
|
*
|
|
133
|
-
* The
|
|
138
|
+
* The rowGroup argument must point to an object with the following structure (i.e.
|
|
134
139
|
* the same structure that is returned by shredRecords):
|
|
135
140
|
*
|
|
136
|
-
*
|
|
141
|
+
* rowGroup = {
|
|
137
142
|
* columnData: [
|
|
138
143
|
* 'my_col': {
|
|
139
144
|
* dlevels: [d1, d2, .. dN],
|
|
@@ -144,84 +149,247 @@ function shredRecordFields(
|
|
|
144
149
|
* rowCount: X,
|
|
145
150
|
* }
|
|
146
151
|
*/
|
|
147
|
-
export function
|
|
148
|
-
const
|
|
149
|
-
|
|
150
|
-
for (
|
|
151
|
-
|
|
152
|
+
export function materializeRows(schema: ParquetSchema, rowGroup: ParquetRowGroup): ParquetRow[] {
|
|
153
|
+
const rows: ParquetRow[] = [];
|
|
154
|
+
// rows = new Array(rowGroup.rowCount).fill({})'
|
|
155
|
+
for (let i = 0; i < rowGroup.rowCount; i++) {
|
|
156
|
+
rows.push({});
|
|
157
|
+
}
|
|
158
|
+
for (const key in rowGroup.columnData) {
|
|
159
|
+
const columnData = rowGroup.columnData[key];
|
|
160
|
+
if (columnData.count) {
|
|
161
|
+
materializeColumnAsRows(schema, columnData, key, rows);
|
|
162
|
+
}
|
|
152
163
|
}
|
|
153
|
-
return
|
|
164
|
+
return rows;
|
|
154
165
|
}
|
|
155
166
|
|
|
167
|
+
/** Populate record fields for one column */
|
|
156
168
|
// eslint-disable-next-line max-statements, complexity
|
|
157
|
-
function
|
|
169
|
+
function materializeColumnAsRows(
|
|
158
170
|
schema: ParquetSchema,
|
|
159
|
-
|
|
171
|
+
columnData: ParquetColumnChunk,
|
|
160
172
|
key: string,
|
|
161
|
-
|
|
173
|
+
rows: ParquetRow[]
|
|
174
|
+
): void {
|
|
175
|
+
const field = schema.findField(key);
|
|
176
|
+
const branch = schema.findFieldBranch(key);
|
|
177
|
+
|
|
178
|
+
// tslint:disable-next-line:prefer-array-literal
|
|
179
|
+
const rLevels: number[] = new Array(field.rLevelMax + 1).fill(0);
|
|
180
|
+
let vIndex = 0;
|
|
181
|
+
for (let i = 0; i < columnData.count; i++) {
|
|
182
|
+
const dLevel = columnData.dlevels[i];
|
|
183
|
+
const rLevel = columnData.rlevels[i];
|
|
184
|
+
rLevels[rLevel]++;
|
|
185
|
+
rLevels.fill(0, rLevel + 1);
|
|
186
|
+
|
|
187
|
+
let rIndex = 0;
|
|
188
|
+
let record = rows[rLevels[rIndex++] - 1];
|
|
189
|
+
|
|
190
|
+
// Internal nodes - Build a nested row object
|
|
191
|
+
for (const step of branch) {
|
|
192
|
+
if (step === field || dLevel < step.dLevelMax) {
|
|
193
|
+
break;
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
switch (step.repetitionType) {
|
|
197
|
+
case 'REPEATED':
|
|
198
|
+
if (!(step.name in record)) {
|
|
199
|
+
// eslint-disable max-depth
|
|
200
|
+
record[step.name] = [];
|
|
201
|
+
}
|
|
202
|
+
const ix = rLevels[rIndex++];
|
|
203
|
+
while (record[step.name].length <= ix) {
|
|
204
|
+
// eslint-disable max-depth
|
|
205
|
+
record[step.name].push({});
|
|
206
|
+
}
|
|
207
|
+
record = record[step.name][ix];
|
|
208
|
+
break;
|
|
209
|
+
|
|
210
|
+
default:
|
|
211
|
+
record[step.name] = record[step.name] || {};
|
|
212
|
+
record = record[step.name];
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
// Leaf node - Add the value
|
|
217
|
+
if (dLevel === field.dLevelMax) {
|
|
218
|
+
const value = Types.fromPrimitive(
|
|
219
|
+
// @ts-ignore
|
|
220
|
+
field.originalType || field.primitiveType,
|
|
221
|
+
columnData.values[vIndex],
|
|
222
|
+
field
|
|
223
|
+
);
|
|
224
|
+
vIndex++;
|
|
225
|
+
|
|
226
|
+
switch (field.repetitionType) {
|
|
227
|
+
case 'REPEATED':
|
|
228
|
+
if (!(field.name in record)) {
|
|
229
|
+
// eslint-disable max-depth
|
|
230
|
+
record[field.name] = [];
|
|
231
|
+
}
|
|
232
|
+
const ix = rLevels[rIndex];
|
|
233
|
+
while (record[field.name].length <= ix) {
|
|
234
|
+
// eslint-disable max-depth
|
|
235
|
+
record[field.name].push(null);
|
|
236
|
+
}
|
|
237
|
+
record[field.name][ix] = value;
|
|
238
|
+
break;
|
|
239
|
+
|
|
240
|
+
default:
|
|
241
|
+
record[field.name] = value;
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
// Columnar export
|
|
248
|
+
|
|
249
|
+
/**
|
|
250
|
+
* 'Materialize' a list of <value, repetition_level, definition_level>
|
|
251
|
+
* tuples back to nested records (objects/arrays) using the Google Dremel
|
|
252
|
+
* Algorithm..
|
|
253
|
+
*
|
|
254
|
+
* The rowGroup argument must point to an object with the following structure (i.e.
|
|
255
|
+
* the same structure that is returned by shredRecords):
|
|
256
|
+
*
|
|
257
|
+
* rowGroup = {
|
|
258
|
+
* columnData: [
|
|
259
|
+
* 'my_col': {
|
|
260
|
+
* dlevels: [d1, d2, .. dN],
|
|
261
|
+
* rlevels: [r1, r2, .. rN],
|
|
262
|
+
* values: [v1, v2, .. vN],
|
|
263
|
+
* }, ...
|
|
264
|
+
* ],
|
|
265
|
+
* rowCount: X,
|
|
266
|
+
* }
|
|
267
|
+
*/
|
|
268
|
+
export function materializeColumns(
|
|
269
|
+
schema: ParquetSchema,
|
|
270
|
+
rowGroup: ParquetRowGroup
|
|
271
|
+
): Record<string, ArrayType> {
|
|
272
|
+
const columns: Record<string, ArrayType> = {};
|
|
273
|
+
for (const key in rowGroup.columnData) {
|
|
274
|
+
const columnData = rowGroup.columnData[key];
|
|
275
|
+
if (columnData.count) {
|
|
276
|
+
materializeColumnAsColumnarArray(schema, columnData, rowGroup.rowCount, key, columns);
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
return columns;
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
// eslint-disable-next-line max-statements, complexity
|
|
283
|
+
function materializeColumnAsColumnarArray(
|
|
284
|
+
schema: ParquetSchema,
|
|
285
|
+
columnData: ParquetColumnChunk,
|
|
286
|
+
rowCount: number,
|
|
287
|
+
key: string,
|
|
288
|
+
columns: Record<string, ArrayType<any>>
|
|
162
289
|
) {
|
|
163
|
-
|
|
164
|
-
|
|
290
|
+
if (columnData.count <= 0) {
|
|
291
|
+
return;
|
|
292
|
+
}
|
|
165
293
|
|
|
166
294
|
const field = schema.findField(key);
|
|
167
295
|
const branch = schema.findFieldBranch(key);
|
|
168
296
|
|
|
297
|
+
const columnName = branch[0].name;
|
|
298
|
+
|
|
299
|
+
let column: ArrayType | undefined;
|
|
300
|
+
const {values} = columnData;
|
|
301
|
+
if (values.length === rowCount && branch[0].primitiveType) {
|
|
302
|
+
// if (branch[0].repetitionType === `REQUIRED`) {
|
|
303
|
+
// switch (branch[0].primitiveType) {
|
|
304
|
+
// case 'INT32': return values instanceof Int32Array ? values : new Int32Array(values);
|
|
305
|
+
// }
|
|
306
|
+
// }
|
|
307
|
+
column = values;
|
|
308
|
+
}
|
|
309
|
+
|
|
310
|
+
if (column) {
|
|
311
|
+
columns[columnName] = column;
|
|
312
|
+
return;
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
column = new Array(rowCount);
|
|
316
|
+
for (let i = 0; i < rowCount; i++) {
|
|
317
|
+
column[i] = {};
|
|
318
|
+
}
|
|
319
|
+
columns[columnName] = column;
|
|
320
|
+
|
|
169
321
|
// tslint:disable-next-line:prefer-array-literal
|
|
170
322
|
const rLevels: number[] = new Array(field.rLevelMax + 1).fill(0);
|
|
171
323
|
let vIndex = 0;
|
|
172
|
-
for (let i = 0; i <
|
|
173
|
-
const dLevel =
|
|
174
|
-
const rLevel =
|
|
324
|
+
for (let i = 0; i < columnData.count; i++) {
|
|
325
|
+
const dLevel = columnData.dlevels[i];
|
|
326
|
+
const rLevel = columnData.rlevels[i];
|
|
175
327
|
rLevels[rLevel]++;
|
|
176
328
|
rLevels.fill(0, rLevel + 1);
|
|
177
329
|
|
|
178
330
|
let rIndex = 0;
|
|
179
|
-
let record =
|
|
331
|
+
let record = column[rLevels[rIndex++] - 1] as ParquetRow;
|
|
180
332
|
|
|
181
|
-
// Internal nodes
|
|
333
|
+
// Internal nodes - Build a nested row object
|
|
182
334
|
for (const step of branch) {
|
|
183
|
-
if (step === field)
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
335
|
+
if (step === field || dLevel < step.dLevelMax) {
|
|
336
|
+
break;
|
|
337
|
+
}
|
|
338
|
+
|
|
339
|
+
switch (step.repetitionType) {
|
|
340
|
+
case 'REPEATED':
|
|
341
|
+
if (!(step.name in record)) {
|
|
342
|
+
// eslint-disable max-depth
|
|
343
|
+
record[step.name] = [];
|
|
344
|
+
}
|
|
345
|
+
const ix = rLevels[rIndex++];
|
|
346
|
+
while (record[step.name].length <= ix) {
|
|
347
|
+
// eslint-disable max-depth
|
|
348
|
+
record[step.name].push({});
|
|
349
|
+
}
|
|
350
|
+
record = record[step.name][ix];
|
|
351
|
+
break;
|
|
352
|
+
|
|
353
|
+
default:
|
|
354
|
+
record[step.name] = record[step.name] || {};
|
|
355
|
+
record = record[step.name];
|
|
199
356
|
}
|
|
200
357
|
}
|
|
201
358
|
|
|
202
|
-
// Leaf node
|
|
359
|
+
// Leaf node - Add the value
|
|
203
360
|
if (dLevel === field.dLevelMax) {
|
|
204
361
|
const value = Types.fromPrimitive(
|
|
205
362
|
// @ts-ignore
|
|
206
363
|
field.originalType || field.primitiveType,
|
|
207
|
-
|
|
364
|
+
columnData.values[vIndex],
|
|
208
365
|
field
|
|
209
366
|
);
|
|
210
367
|
vIndex++;
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
record[field.name].
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
368
|
+
|
|
369
|
+
switch (field.repetitionType) {
|
|
370
|
+
case 'REPEATED':
|
|
371
|
+
if (!(field.name in record)) {
|
|
372
|
+
// eslint-disable max-depth
|
|
373
|
+
record[field.name] = [];
|
|
374
|
+
}
|
|
375
|
+
const ix = rLevels[rIndex];
|
|
376
|
+
while (record[field.name].length <= ix) {
|
|
377
|
+
// eslint-disable max-depth
|
|
378
|
+
record[field.name].push(null);
|
|
379
|
+
}
|
|
380
|
+
record[field.name][ix] = value;
|
|
381
|
+
break;
|
|
382
|
+
|
|
383
|
+
default:
|
|
384
|
+
record[field.name] = value;
|
|
224
385
|
}
|
|
225
386
|
}
|
|
226
387
|
}
|
|
388
|
+
|
|
389
|
+
// Remove one level of nesting
|
|
390
|
+
for (let i = 0; i < rowCount; ++i) {
|
|
391
|
+
if (columnName in (column[i] as object)) {
|
|
392
|
+
column[i] = (column[i] as object)[columnName];
|
|
393
|
+
}
|
|
394
|
+
}
|
|
227
395
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// Forked from https://github.com/kbajalc/parquets under MIT license (Copyright (c) 2017 ironSource Ltd.)
|
|
2
2
|
/* eslint-disable camelcase */
|
|
3
|
-
import
|
|
3
|
+
import {BSONLoader, BSONWriter} from '@loaders.gl/bson';
|
|
4
4
|
import {OriginalType, ParquetField, ParquetType, PrimitiveType} from './declare';
|
|
5
5
|
|
|
6
6
|
export interface ParquetTypeKit {
|
|
@@ -168,7 +168,7 @@ export const PARQUET_LOGICAL_TYPES: Record<ParquetType, ParquetTypeKit> = {
|
|
|
168
168
|
* Convert a value from it's native representation to the internal/underlying
|
|
169
169
|
* primitive type
|
|
170
170
|
*/
|
|
171
|
-
export function toPrimitive(type: ParquetType, value:
|
|
171
|
+
export function toPrimitive(type: ParquetType, value: unknown, field?: ParquetField): unknown {
|
|
172
172
|
if (!(type in PARQUET_LOGICAL_TYPES)) {
|
|
173
173
|
throw new Error(`invalid type: ${type}`);
|
|
174
174
|
}
|
|
@@ -180,7 +180,7 @@ export function toPrimitive(type: ParquetType, value: any, field?: ParquetField)
|
|
|
180
180
|
* Convert a value from it's internal/underlying primitive representation to
|
|
181
181
|
* the native representation
|
|
182
182
|
*/
|
|
183
|
-
export function fromPrimitive(type: ParquetType, value:
|
|
183
|
+
export function fromPrimitive(type: ParquetType, value: unknown, field?: ParquetField) {
|
|
184
184
|
if (!(type in PARQUET_LOGICAL_TYPES)) {
|
|
185
185
|
throw new Error(`invalid type: ${type}`);
|
|
186
186
|
}
|
|
@@ -192,29 +192,27 @@ export function fromPrimitive(type: ParquetType, value: any, field?: ParquetFiel
|
|
|
192
192
|
return value;
|
|
193
193
|
}
|
|
194
194
|
|
|
195
|
-
function toPrimitive_BOOLEAN(value:
|
|
195
|
+
function toPrimitive_BOOLEAN(value: unknown): boolean {
|
|
196
196
|
return Boolean(value);
|
|
197
197
|
}
|
|
198
198
|
|
|
199
|
-
function fromPrimitive_BOOLEAN(value: any) {
|
|
199
|
+
function fromPrimitive_BOOLEAN(value: any): boolean {
|
|
200
200
|
return Boolean(value);
|
|
201
201
|
}
|
|
202
202
|
|
|
203
|
-
function toPrimitive_FLOAT(value: any) {
|
|
203
|
+
function toPrimitive_FLOAT(value: any): number {
|
|
204
204
|
const v = parseFloat(value);
|
|
205
205
|
if (isNaN(v)) {
|
|
206
206
|
throw new Error(`invalid value for FLOAT: ${value}`);
|
|
207
207
|
}
|
|
208
|
-
|
|
209
208
|
return v;
|
|
210
209
|
}
|
|
211
210
|
|
|
212
|
-
function toPrimitive_DOUBLE(value: any) {
|
|
211
|
+
function toPrimitive_DOUBLE(value: any): number {
|
|
213
212
|
const v = parseFloat(value);
|
|
214
213
|
if (isNaN(v)) {
|
|
215
214
|
throw new Error(`invalid value for DOUBLE: ${value}`);
|
|
216
215
|
}
|
|
217
|
-
|
|
218
216
|
return v;
|
|
219
217
|
}
|
|
220
218
|
|
|
@@ -263,31 +261,28 @@ function toPrimitive_INT32(value: any) {
|
|
|
263
261
|
return v;
|
|
264
262
|
}
|
|
265
263
|
|
|
266
|
-
function decimalToPrimitive_INT32(value: number, field: ParquetField) {
|
|
264
|
+
function decimalToPrimitive_INT32(value: number, field: ParquetField): number {
|
|
267
265
|
const primitiveValue = value * 10 ** (field.scale || 0);
|
|
268
266
|
const v = Math.round(((primitiveValue * 10 ** -field.presision!) % 1) * 10 ** field.presision!);
|
|
269
267
|
if (v < -0x80000000 || v > 0x7fffffff || isNaN(v)) {
|
|
270
268
|
throw new Error(`invalid value for INT32: ${value}`);
|
|
271
269
|
}
|
|
272
|
-
|
|
273
270
|
return v;
|
|
274
271
|
}
|
|
275
272
|
|
|
276
|
-
function toPrimitive_UINT32(value: any) {
|
|
273
|
+
function toPrimitive_UINT32(value: any): number {
|
|
277
274
|
const v = parseInt(value, 10);
|
|
278
275
|
if (v < 0 || v > 0xffffffffffff || isNaN(v)) {
|
|
279
276
|
throw new Error(`invalid value for UINT32: ${value}`);
|
|
280
277
|
}
|
|
281
|
-
|
|
282
278
|
return v;
|
|
283
279
|
}
|
|
284
280
|
|
|
285
|
-
function toPrimitive_INT64(value: any) {
|
|
281
|
+
function toPrimitive_INT64(value: any): number {
|
|
286
282
|
const v = parseInt(value, 10);
|
|
287
283
|
if (isNaN(v)) {
|
|
288
284
|
throw new Error(`invalid value for INT64: ${value}`);
|
|
289
285
|
}
|
|
290
|
-
|
|
291
286
|
return v;
|
|
292
287
|
}
|
|
293
288
|
|
|
@@ -319,37 +314,38 @@ function toPrimitive_INT96(value: any) {
|
|
|
319
314
|
return v;
|
|
320
315
|
}
|
|
321
316
|
|
|
322
|
-
function toPrimitive_BYTE_ARRAY(value: any) {
|
|
317
|
+
function toPrimitive_BYTE_ARRAY(value: any): Buffer {
|
|
323
318
|
return Buffer.from(value);
|
|
324
319
|
}
|
|
325
320
|
|
|
326
|
-
function decimalToPrimitive_BYTE_ARRAY(value: any) {
|
|
321
|
+
function decimalToPrimitive_BYTE_ARRAY(value: any): Buffer {
|
|
327
322
|
// TBD
|
|
328
323
|
return Buffer.from(value);
|
|
329
324
|
}
|
|
330
325
|
|
|
331
|
-
function toPrimitive_UTF8(value: any) {
|
|
326
|
+
function toPrimitive_UTF8(value: any): Buffer {
|
|
332
327
|
return Buffer.from(value, 'utf8');
|
|
333
328
|
}
|
|
334
329
|
|
|
335
|
-
function fromPrimitive_UTF8(value: any) {
|
|
330
|
+
function fromPrimitive_UTF8(value: any): string {
|
|
336
331
|
return value.toString();
|
|
337
332
|
}
|
|
338
333
|
|
|
339
|
-
function toPrimitive_JSON(value: any) {
|
|
334
|
+
function toPrimitive_JSON(value: any): Buffer {
|
|
340
335
|
return Buffer.from(JSON.stringify(value));
|
|
341
336
|
}
|
|
342
337
|
|
|
343
|
-
function fromPrimitive_JSON(value: any) {
|
|
338
|
+
function fromPrimitive_JSON(value: any): unknown {
|
|
344
339
|
return JSON.parse(value);
|
|
345
340
|
}
|
|
346
341
|
|
|
347
|
-
function toPrimitive_BSON(value: any) {
|
|
348
|
-
|
|
342
|
+
function toPrimitive_BSON(value: any): Buffer {
|
|
343
|
+
const arrayBuffer = BSONWriter.encodeSync?.(value) as ArrayBuffer;
|
|
344
|
+
return Buffer.from(arrayBuffer);
|
|
349
345
|
}
|
|
350
346
|
|
|
351
347
|
function fromPrimitive_BSON(value: any) {
|
|
352
|
-
return
|
|
348
|
+
return BSONLoader.parseSync?.(value);
|
|
353
349
|
}
|
|
354
350
|
|
|
355
351
|
function toPrimitive_TIME_MILLIS(value: any) {
|
|
@@ -361,18 +357,17 @@ function toPrimitive_TIME_MILLIS(value: any) {
|
|
|
361
357
|
return v;
|
|
362
358
|
}
|
|
363
359
|
|
|
364
|
-
function toPrimitive_TIME_MICROS(value: any) {
|
|
360
|
+
function toPrimitive_TIME_MICROS(value: any): number {
|
|
365
361
|
const v = parseInt(value, 10);
|
|
366
362
|
if (v < 0 || isNaN(v)) {
|
|
367
363
|
throw new Error(`invalid value for TIME_MICROS: ${value}`);
|
|
368
364
|
}
|
|
369
|
-
|
|
370
365
|
return v;
|
|
371
366
|
}
|
|
372
367
|
|
|
373
368
|
const kMillisPerDay = 86400000;
|
|
374
369
|
|
|
375
|
-
function toPrimitive_DATE(value: any) {
|
|
370
|
+
function toPrimitive_DATE(value: any): number {
|
|
376
371
|
/* convert from date */
|
|
377
372
|
if (value instanceof Date) {
|
|
378
373
|
return value.getTime() / kMillisPerDay;
|
|
@@ -389,11 +384,11 @@ function toPrimitive_DATE(value: any) {
|
|
|
389
384
|
}
|
|
390
385
|
}
|
|
391
386
|
|
|
392
|
-
function fromPrimitive_DATE(value: any) {
|
|
387
|
+
function fromPrimitive_DATE(value: any): Date {
|
|
393
388
|
return new Date(value * kMillisPerDay);
|
|
394
389
|
}
|
|
395
390
|
|
|
396
|
-
function toPrimitive_TIMESTAMP_MILLIS(value: any) {
|
|
391
|
+
function toPrimitive_TIMESTAMP_MILLIS(value: any): number {
|
|
397
392
|
/* convert from date */
|
|
398
393
|
if (value instanceof Date) {
|
|
399
394
|
return value.getTime();
|
|
@@ -410,7 +405,7 @@ function toPrimitive_TIMESTAMP_MILLIS(value: any) {
|
|
|
410
405
|
}
|
|
411
406
|
}
|
|
412
407
|
|
|
413
|
-
function fromPrimitive_TIMESTAMP_MILLIS(value: any) {
|
|
408
|
+
function fromPrimitive_TIMESTAMP_MILLIS(value: any): Date {
|
|
414
409
|
return new Date(value);
|
|
415
410
|
}
|
|
416
411
|
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
// Forked from https://github.com/kbajalc/parquets under MIT license (Copyright (c) 2017 ironSource Ltd.)
|
|
2
|
-
import fs from '
|
|
3
|
-
import {Writable} from 'stream';
|
|
2
|
+
import {fs, stream} from '@loaders.gl/loader-utils';
|
|
4
3
|
|
|
5
4
|
export function load(name: string): any {
|
|
6
5
|
return (module || (global as any)).require(name);
|
|
@@ -14,7 +13,7 @@ export interface WriteStreamOptions {
|
|
|
14
13
|
start?: number;
|
|
15
14
|
}
|
|
16
15
|
|
|
17
|
-
export function oswrite(os: Writable, buf: Buffer): Promise<void> {
|
|
16
|
+
export function oswrite(os: stream.Writable, buf: Buffer): Promise<void> {
|
|
18
17
|
return new Promise((resolve, reject) => {
|
|
19
18
|
os.write(buf, (err) => {
|
|
20
19
|
if (err) {
|
|
@@ -26,7 +25,7 @@ export function oswrite(os: Writable, buf: Buffer): Promise<void> {
|
|
|
26
25
|
});
|
|
27
26
|
}
|
|
28
27
|
|
|
29
|
-
export function osclose(os: Writable): Promise<void> {
|
|
28
|
+
export function osclose(os: stream.Writable): Promise<void> {
|
|
30
29
|
return new Promise((resolve, reject) => {
|
|
31
30
|
(os as any).close((err: any) => {
|
|
32
31
|
if (err) {
|
package/dist/bundle.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/bundle.ts"],"names":["moduleExports","require","globalThis","loaders","module","exports","Object","assign"],"mappings":"AACA,MAAMA,aAAa,GAAGC,OAAO,CAAC,SAAD,CAA7B;;AACAC,UAAU,CAACC,OAAX,GAAqBD,UAAU,CAACC,OAAX,IAAsB,EAA3C;AACAC,MAAM,CAACC,OAAP,GAAiBC,MAAM,CAACC,MAAP,CAAcL,UAAU,CAACC,OAAzB,EAAkCH,aAAlC,CAAjB","sourcesContent":["// @ts-nocheck\nconst moduleExports = require('./index');\nglobalThis.loaders = globalThis.loaders || {};\nmodule.exports = Object.assign(globalThis.loaders, moduleExports);\n"],"file":"bundle.js"}
|
package/dist/constants.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/constants.ts"],"names":["PARQUET_MAGIC","PARQUET_MAGIC_ENCRYPTED","PARQUET_VERSION","PARQUET_RDLVL_TYPE","PARQUET_RDLVL_ENCODING"],"mappings":"AAIA,OAAO,MAAMA,aAAa,GAAG,MAAtB;AACP,OAAO,MAAMC,uBAAuB,GAAG,MAAhC;AAKP,OAAO,MAAMC,eAAe,GAAG,CAAxB;AAKP,OAAO,MAAMC,kBAAkB,GAAG,OAA3B;AACP,OAAO,MAAMC,sBAAsB,GAAG,KAA/B","sourcesContent":["// Forked from https://github.com/kbajalc/parquets under MIT license (Copyright (c) 2017 ironSource Ltd.)\n/**\n * Parquet File Magic String\n */\nexport const PARQUET_MAGIC = 'PAR1';\nexport const PARQUET_MAGIC_ENCRYPTED = 'PARE';\n\n/**\n * Parquet File Format Version\n */\nexport const PARQUET_VERSION = 1;\n\n/**\n * Internal type used for repetition/definition levels\n */\nexport const PARQUET_RDLVL_TYPE = 'INT32';\nexport const PARQUET_RDLVL_ENCODING = 'RLE';\n"],"file":"constants.js"}
|
package/dist/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"names":["ParquetLoader","ParquetWorkerLoader","parseParquet","parseParquetFileInBatches","parse","parseFileInBatches","ParquetWriter","_ParquetWriter","preloadCompressions","ParquetSchema","ParquetReader","ParquetEnvelopeReader","convertParquetToArrowSchema","_typecheckParquetLoader"],"mappings":"AAIA,SAAQA,aAAa,IAAIC,mBAAzB,QAAmD,kBAAnD;AACA,SAAQC,YAAR,EAAsBC,yBAAtB,QAAsD,qBAAtD;AAEA,SAAQF,mBAAR;AAGA,OAAO,MAAMD,aAAa,GAAG,EAC3B,GAAGC,mBADwB;AAE3BG,EAAAA,KAAK,EAAEF,YAFoB;AAG3BG,EAAAA,kBAAkB,EAAEF;AAHO,CAAtB;AAQP,SAAQG,aAAa,IAAIC,cAAzB,QAA8C,kBAA9C;AAIA,SAAQC,mBAAR,QAAkC,yBAAlC;AAEA,SAAQC,aAAR,QAA4B,2BAA5B;AACA,SAAQC,aAAR,QAA4B,mCAA5B;AACA,SAAQC,qBAAR,QAAoC,4CAApC;AAEA,SAAQC,2BAAR,QAA0C,sBAA1C;AAGA,OAAO,MAAMC,uBAAyC,GAAGb,aAAlD","sourcesContent":["import type {LoaderWithParser} from '@loaders.gl/loader-utils';\n\n// ParquetLoader\n\nimport {ParquetLoader as ParquetWorkerLoader} from './parquet-loader';\nimport {parseParquet, parseParquetFileInBatches} from './lib/parse-parquet';\n\nexport {ParquetWorkerLoader};\n\n/** ParquetJS table loader */\nexport const ParquetLoader = {\n ...ParquetWorkerLoader,\n parse: parseParquet,\n parseFileInBatches: parseParquetFileInBatches\n};\n\n// ParquetWriter\n\nexport {ParquetWriter as _ParquetWriter} from './parquet-writer';\n\n// EXPERIMENTAL - expose the internal parquetjs API\n\nexport {preloadCompressions} from './parquetjs/compression';\n\nexport {ParquetSchema} from './parquetjs/schema/schema';\nexport {ParquetReader} from './parquetjs/parser/parquet-reader';\nexport {ParquetEnvelopeReader} from './parquetjs/parser/parquet-envelope-reader';\n// export {ParquetWriter, ParquetEnvelopeWriter, ParquetTransformer} from './parquetjs/encoder/writer';\nexport {convertParquetToArrowSchema} from './lib/convert-schema';\n\n// TESTS\nexport const _typecheckParquetLoader: LoaderWithParser = ParquetLoader;\n"],"file":"index.js"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type { ParquetSchema } from '../parquetjs/schema/schema';
|
|
2
|
-
import type { ParquetType } from '../parquetjs/schema/declare';
|
|
3
|
-
import { Schema, DataType } from '@loaders.gl/schema';
|
|
4
|
-
export declare const PARQUET_TYPE_MAPPING: {
|
|
5
|
-
[type in ParquetType]: typeof DataType;
|
|
6
|
-
};
|
|
7
|
-
export declare function convertParquetToArrowSchema(parquetSchema: ParquetSchema): Schema;
|
|
8
|
-
//# sourceMappingURL=convert-schema.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"convert-schema.d.ts","sourceRoot":"","sources":["../../src/lib/convert-schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAgC,WAAW,EAAC,MAAM,6BAA6B,CAAC;AAE5F,OAAO,EACL,MAAM,EAGN,QAAQ,EAaT,MAAM,oBAAoB,CAAC;AAE5B,eAAO,MAAM,oBAAoB,EAAE;KAAE,IAAI,IAAI,WAAW,GAAG,OAAO,QAAQ;CA+BzE,CAAC;AAEF,wBAAgB,2BAA2B,CAAC,aAAa,EAAE,aAAa,GAAG,MAAM,CAKhF"}
|