@loaders.gl/parquet 4.0.0-alpha.24 → 4.0.0-alpha.26
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/dist.min.js +25 -27
- package/dist/dist.min.js.map +3 -3
- package/dist/es5/buffer-polyfill/buffer-polyfill.browser.js +23 -0
- package/dist/es5/buffer-polyfill/buffer-polyfill.browser.js.map +1 -0
- package/dist/es5/buffer-polyfill/buffer-polyfill.node.js +22 -0
- package/dist/es5/buffer-polyfill/buffer-polyfill.node.js.map +1 -0
- package/dist/es5/buffer-polyfill/buffer.js +1665 -0
- package/dist/es5/buffer-polyfill/buffer.js.map +1 -0
- package/dist/es5/buffer-polyfill/index.js +25 -0
- package/dist/es5/buffer-polyfill/index.js.map +1 -0
- package/dist/es5/buffer-polyfill/install-buffer-polyfill.js +20 -0
- package/dist/es5/buffer-polyfill/install-buffer-polyfill.js.map +1 -0
- package/dist/es5/index.js +18 -25
- package/dist/es5/index.js.map +1 -1
- package/dist/es5/lib/geo/decode-geo-column.js +52 -0
- package/dist/es5/lib/geo/decode-geo-column.js.map +1 -0
- package/dist/es5/lib/geo/decode-geo-metadata.js +52 -16
- package/dist/es5/lib/geo/decode-geo-metadata.js.map +1 -1
- package/dist/es5/lib/geo/{geoparquet-schema.js → geoparquet-metadata-schema.js} +4 -4
- package/dist/es5/lib/geo/geoparquet-metadata-schema.js.map +1 -0
- package/dist/es5/lib/geo/geoparquet-metadata-schema.json +60 -0
- package/dist/es5/lib/parsers/get-parquet-schema.js +41 -0
- package/dist/es5/lib/parsers/get-parquet-schema.js.map +1 -0
- package/dist/es5/lib/parsers/parse-parquet-to-columns.js +71 -72
- package/dist/es5/lib/parsers/parse-parquet-to-columns.js.map +1 -1
- package/dist/es5/lib/parsers/parse-parquet-to-rows.js +95 -62
- package/dist/es5/lib/parsers/parse-parquet-to-rows.js.map +1 -1
- package/dist/es5/parquet-loader.js +14 -14
- package/dist/es5/parquet-loader.js.map +1 -1
- package/dist/es5/parquet-wasm-loader.js +1 -1
- package/dist/es5/parquet-wasm-writer.js +1 -1
- package/dist/es5/parquet-writer.js +1 -1
- package/dist/es5/parquetjs/codecs/plain.js.map +1 -1
- package/dist/es5/parquetjs/codecs/rle.js.map +1 -1
- package/dist/es5/parquetjs/encoder/parquet-encoder.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/index.js +75 -0
- package/dist/es5/parquetjs/parquet-thrift/index.js.map +1 -1
- package/dist/es5/parquetjs/parser/decoders.js +43 -34
- package/dist/es5/parquetjs/parser/decoders.js.map +1 -1
- package/dist/es5/parquetjs/parser/parquet-reader.js +13 -12
- package/dist/es5/parquetjs/parser/parquet-reader.js.map +1 -1
- package/dist/es5/parquetjs/schema/declare.js.map +1 -1
- package/dist/es5/parquetjs/utils/read-utils.js +6 -7
- package/dist/es5/parquetjs/utils/read-utils.js.map +1 -1
- package/dist/esm/buffer-polyfill/buffer-polyfill.browser.js +6 -0
- package/dist/esm/buffer-polyfill/buffer-polyfill.browser.js.map +1 -0
- package/dist/esm/buffer-polyfill/buffer-polyfill.node.js +10 -0
- package/dist/esm/buffer-polyfill/buffer-polyfill.node.js.map +1 -0
- package/dist/esm/buffer-polyfill/buffer.js +1489 -0
- package/dist/esm/buffer-polyfill/buffer.js.map +1 -0
- package/dist/esm/buffer-polyfill/index.js +4 -0
- package/dist/esm/buffer-polyfill/index.js.map +1 -0
- package/dist/esm/buffer-polyfill/install-buffer-polyfill.js +5 -0
- package/dist/esm/buffer-polyfill/install-buffer-polyfill.js.map +1 -0
- package/dist/esm/index.js +3 -9
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/lib/geo/decode-geo-column.js +46 -0
- package/dist/esm/lib/geo/decode-geo-column.js.map +1 -0
- package/dist/esm/lib/geo/decode-geo-metadata.js +32 -5
- package/dist/esm/lib/geo/decode-geo-metadata.js.map +1 -1
- package/dist/esm/lib/geo/{geoparquet-schema.js → geoparquet-metadata-schema.js} +2 -2
- package/dist/esm/lib/geo/geoparquet-metadata-schema.js.map +1 -0
- package/dist/esm/lib/geo/geoparquet-metadata-schema.json +60 -0
- package/dist/esm/lib/parsers/get-parquet-schema.js +11 -0
- package/dist/esm/lib/parsers/get-parquet-schema.js.map +1 -0
- package/dist/esm/lib/parsers/parse-parquet-to-columns.js +10 -11
- package/dist/esm/lib/parsers/parse-parquet-to-columns.js.map +1 -1
- package/dist/esm/lib/parsers/parse-parquet-to-rows.js +32 -7
- package/dist/esm/lib/parsers/parse-parquet-to-rows.js.map +1 -1
- package/dist/esm/parquet-loader.js +12 -12
- package/dist/esm/parquet-loader.js.map +1 -1
- package/dist/esm/parquet-wasm-loader.js +1 -1
- package/dist/esm/parquet-wasm-writer.js +1 -1
- package/dist/esm/parquet-writer.js +1 -1
- package/dist/esm/parquetjs/codecs/plain.js.map +1 -1
- package/dist/esm/parquetjs/codecs/rle.js.map +1 -1
- package/dist/esm/parquetjs/encoder/parquet-encoder.js.map +1 -1
- package/dist/esm/parquetjs/parquet-thrift/index.js +2 -0
- package/dist/esm/parquetjs/parquet-thrift/index.js.map +1 -1
- package/dist/esm/parquetjs/parser/decoders.js +36 -32
- package/dist/esm/parquetjs/parser/decoders.js.map +1 -1
- package/dist/esm/parquetjs/parser/parquet-reader.js +12 -11
- package/dist/esm/parquetjs/parser/parquet-reader.js.map +1 -1
- package/dist/esm/parquetjs/schema/declare.js.map +1 -1
- package/dist/esm/parquetjs/utils/read-utils.js +1 -1
- package/dist/esm/parquetjs/utils/read-utils.js.map +1 -1
- package/dist/parquet-worker.js +25 -27
- package/dist/parquet-worker.js.map +3 -3
- package/dist/src/buffer-polyfill/buffer-polyfill.browser.d.ts +4 -0
- package/dist/src/buffer-polyfill/buffer-polyfill.browser.d.ts.map +1 -0
- package/dist/src/buffer-polyfill/buffer-polyfill.node.d.ts +34 -0
- package/dist/src/buffer-polyfill/buffer-polyfill.node.d.ts.map +1 -0
- package/dist/src/buffer-polyfill/buffer.d.ts +222 -0
- package/dist/src/buffer-polyfill/buffer.d.ts.map +1 -0
- package/dist/src/buffer-polyfill/index.d.ts +4 -0
- package/dist/src/buffer-polyfill/index.d.ts.map +1 -0
- package/dist/src/buffer-polyfill/install-buffer-polyfill.d.ts +3 -0
- package/dist/src/buffer-polyfill/install-buffer-polyfill.d.ts.map +1 -0
- package/dist/src/bundle.d.ts.map +1 -0
- package/dist/src/constants.d.ts.map +1 -0
- package/dist/{index.d.ts → src/index.d.ts} +5 -9
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/lib/arrow/convert-columns-to-row-group.d.ts.map +1 -0
- package/dist/src/lib/arrow/convert-row-group-to-columns.d.ts.map +1 -0
- package/dist/src/lib/arrow/convert-schema-from-parquet.d.ts.map +1 -0
- package/dist/src/lib/arrow/convert-schema-to-parquet.d.ts.map +1 -0
- package/dist/src/lib/geo/decode-geo-column.d.ts +4 -0
- package/dist/src/lib/geo/decode-geo-column.d.ts.map +1 -0
- package/dist/src/lib/geo/decode-geo-metadata.d.ts +44 -0
- package/dist/src/lib/geo/decode-geo-metadata.d.ts.map +1 -0
- package/dist/{lib/geo/geoparquet-schema.d.ts → src/lib/geo/geoparquet-metadata-schema.d.ts} +2 -3
- package/dist/src/lib/geo/geoparquet-metadata-schema.d.ts.map +1 -0
- package/dist/src/lib/parsers/get-parquet-schema.d.ts +4 -0
- package/dist/src/lib/parsers/get-parquet-schema.d.ts.map +1 -0
- package/dist/src/lib/parsers/parse-parquet-to-columns.d.ts +6 -0
- package/dist/src/lib/parsers/parse-parquet-to-columns.d.ts.map +1 -0
- package/dist/src/lib/parsers/parse-parquet-to-rows.d.ts +6 -0
- package/dist/src/lib/parsers/parse-parquet-to-rows.d.ts.map +1 -0
- package/dist/src/lib/wasm/encode-parquet-wasm.d.ts.map +1 -0
- package/dist/src/lib/wasm/load-wasm/index.d.ts.map +1 -0
- package/dist/src/lib/wasm/load-wasm/load-wasm-browser.d.ts.map +1 -0
- package/dist/src/lib/wasm/load-wasm/load-wasm-node.d.ts.map +1 -0
- package/dist/src/lib/wasm/parse-parquet-wasm.d.ts.map +1 -0
- package/dist/src/parquet-loader.d.ts +22 -0
- package/dist/src/parquet-loader.d.ts.map +1 -0
- package/dist/src/parquet-wasm-loader.d.ts.map +1 -0
- package/dist/src/parquet-wasm-writer.d.ts.map +1 -0
- package/dist/src/parquet-writer.d.ts.map +1 -0
- package/dist/src/parquetjs/codecs/declare.d.ts.map +1 -0
- package/dist/src/parquetjs/codecs/dictionary.d.ts.map +1 -0
- package/dist/src/parquetjs/codecs/index.d.ts.map +1 -0
- package/dist/src/parquetjs/codecs/plain.d.ts.map +1 -0
- package/dist/src/parquetjs/codecs/rle.d.ts.map +1 -0
- package/dist/src/parquetjs/compression.d.ts.map +1 -0
- package/dist/src/parquetjs/encoder/parquet-encoder.d.ts.map +1 -0
- package/dist/src/parquetjs/parquet-thrift/BoundaryOrder.d.ts.map +1 -0
- package/dist/src/parquetjs/parquet-thrift/BsonType.d.ts.map +1 -0
- package/dist/src/parquetjs/parquet-thrift/ColumnChunk.d.ts.map +1 -0
- package/dist/src/parquetjs/parquet-thrift/ColumnIndex.d.ts.map +1 -0
- package/dist/src/parquetjs/parquet-thrift/ColumnMetaData.d.ts.map +1 -0
- package/dist/src/parquetjs/parquet-thrift/ColumnOrder.d.ts.map +1 -0
- package/dist/src/parquetjs/parquet-thrift/CompressionCodec.d.ts.map +1 -0
- package/dist/src/parquetjs/parquet-thrift/ConvertedType.d.ts.map +1 -0
- package/dist/src/parquetjs/parquet-thrift/DataPageHeader.d.ts.map +1 -0
- package/dist/src/parquetjs/parquet-thrift/DataPageHeaderV2.d.ts.map +1 -0
- package/dist/src/parquetjs/parquet-thrift/DateType.d.ts.map +1 -0
- package/dist/src/parquetjs/parquet-thrift/DecimalType.d.ts.map +1 -0
- package/dist/src/parquetjs/parquet-thrift/DictionaryPageHeader.d.ts.map +1 -0
- package/dist/src/parquetjs/parquet-thrift/Encoding.d.ts.map +1 -0
- package/dist/src/parquetjs/parquet-thrift/EnumType.d.ts.map +1 -0
- package/dist/src/parquetjs/parquet-thrift/FieldRepetitionType.d.ts.map +1 -0
- package/dist/src/parquetjs/parquet-thrift/FileMetaData.d.ts.map +1 -0
- package/dist/src/parquetjs/parquet-thrift/IndexPageHeader.d.ts.map +1 -0
- package/dist/src/parquetjs/parquet-thrift/IntType.d.ts.map +1 -0
- package/dist/src/parquetjs/parquet-thrift/JsonType.d.ts.map +1 -0
- package/dist/src/parquetjs/parquet-thrift/KeyValue.d.ts.map +1 -0
- package/dist/src/parquetjs/parquet-thrift/ListType.d.ts.map +1 -0
- package/dist/src/parquetjs/parquet-thrift/LogicalType.d.ts.map +1 -0
- package/dist/src/parquetjs/parquet-thrift/MapType.d.ts.map +1 -0
- package/dist/src/parquetjs/parquet-thrift/MicroSeconds.d.ts.map +1 -0
- package/dist/src/parquetjs/parquet-thrift/MilliSeconds.d.ts.map +1 -0
- package/dist/src/parquetjs/parquet-thrift/NullType.d.ts.map +1 -0
- package/dist/src/parquetjs/parquet-thrift/OffsetIndex.d.ts.map +1 -0
- package/dist/src/parquetjs/parquet-thrift/PageEncodingStats.d.ts.map +1 -0
- package/dist/src/parquetjs/parquet-thrift/PageHeader.d.ts.map +1 -0
- package/dist/src/parquetjs/parquet-thrift/PageLocation.d.ts.map +1 -0
- package/dist/src/parquetjs/parquet-thrift/PageType.d.ts.map +1 -0
- package/dist/src/parquetjs/parquet-thrift/RowGroup.d.ts.map +1 -0
- package/dist/src/parquetjs/parquet-thrift/SchemaElement.d.ts.map +1 -0
- package/dist/src/parquetjs/parquet-thrift/SortingColumn.d.ts.map +1 -0
- package/dist/src/parquetjs/parquet-thrift/Statistics.d.ts.map +1 -0
- package/dist/src/parquetjs/parquet-thrift/StringType.d.ts.map +1 -0
- package/dist/src/parquetjs/parquet-thrift/TimeType.d.ts.map +1 -0
- package/dist/src/parquetjs/parquet-thrift/TimeUnit.d.ts.map +1 -0
- package/dist/src/parquetjs/parquet-thrift/TimestampType.d.ts.map +1 -0
- package/dist/src/parquetjs/parquet-thrift/Type.d.ts.map +1 -0
- package/dist/src/parquetjs/parquet-thrift/TypeDefinedOrder.d.ts.map +1 -0
- package/dist/src/parquetjs/parquet-thrift/UUIDType.d.ts.map +1 -0
- package/dist/{parquetjs → src/parquetjs}/parquet-thrift/index.d.ts +2 -0
- package/dist/src/parquetjs/parquet-thrift/index.d.ts.map +1 -0
- package/dist/{parquetjs → src/parquetjs}/parser/decoders.d.ts +4 -4
- package/dist/src/parquetjs/parser/decoders.d.ts.map +1 -0
- package/dist/{parquetjs → src/parquetjs}/parser/parquet-reader.d.ts +5 -3
- package/dist/src/parquetjs/parser/parquet-reader.d.ts.map +1 -0
- package/dist/{parquetjs → src/parquetjs}/schema/declare.d.ts +3 -1
- package/dist/src/parquetjs/schema/declare.d.ts.map +1 -0
- package/dist/src/parquetjs/schema/schema.d.ts.map +1 -0
- package/dist/src/parquetjs/schema/shred.d.ts.map +1 -0
- package/dist/src/parquetjs/schema/types.d.ts.map +1 -0
- package/dist/src/parquetjs/utils/file-utils.d.ts.map +1 -0
- package/dist/src/parquetjs/utils/read-utils.d.ts.map +1 -0
- package/dist/src/workers/parquet-worker.d.ts.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +16 -6
- package/src/buffer-polyfill/buffer-polyfill.browser.ts +11 -0
- package/src/buffer-polyfill/buffer-polyfill.node.ts +16 -0
- package/src/buffer-polyfill/buffer.ts +2207 -0
- package/src/buffer-polyfill/index.ts +9 -0
- package/src/buffer-polyfill/install-buffer-polyfill.ts +6 -0
- package/src/index.ts +29 -14
- package/src/lib/geo/decode-geo-column.ts +51 -0
- package/src/lib/geo/decode-geo-metadata.ts +81 -15
- package/src/lib/geo/geoparquet-metadata-schema.json +60 -0
- package/src/lib/geo/{geoparquet-schema.ts → geoparquet-metadata-schema.ts} +1 -1
- package/src/lib/parsers/get-parquet-schema.ts +14 -0
- package/src/lib/parsers/parse-parquet-to-columns.ts +15 -13
- package/src/lib/parsers/parse-parquet-to-rows.ts +38 -11
- package/src/parquet-loader.ts +29 -16
- package/src/parquetjs/codecs/plain.ts +1 -0
- package/src/parquetjs/codecs/rle.ts +2 -0
- package/src/parquetjs/encoder/parquet-encoder.ts +1 -0
- package/src/parquetjs/parquet-thrift/index.ts +4 -0
- package/src/parquetjs/parser/decoders.ts +51 -41
- package/src/parquetjs/parser/parquet-reader.ts +16 -13
- package/src/parquetjs/schema/declare.ts +3 -1
- package/src/parquetjs/utils/read-utils.ts +2 -2
- package/dist/bundle.d.ts.map +0 -1
- package/dist/constants.d.ts.map +0 -1
- package/dist/es5/lib/geo/geoparquet-schema.js.map +0 -1
- package/dist/esm/lib/geo/geoparquet-schema.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/lib/arrow/convert-columns-to-row-group.d.ts.map +0 -1
- package/dist/lib/arrow/convert-row-group-to-columns.d.ts.map +0 -1
- package/dist/lib/arrow/convert-schema-from-parquet.d.ts.map +0 -1
- package/dist/lib/arrow/convert-schema-to-parquet.d.ts.map +0 -1
- package/dist/lib/geo/decode-geo-metadata.d.ts +0 -31
- package/dist/lib/geo/decode-geo-metadata.d.ts.map +0 -1
- package/dist/lib/geo/geoparquet-schema.d.ts.map +0 -1
- package/dist/lib/parsers/parse-parquet-to-columns.d.ts +0 -5
- package/dist/lib/parsers/parse-parquet-to-columns.d.ts.map +0 -1
- package/dist/lib/parsers/parse-parquet-to-rows.d.ts +0 -5
- package/dist/lib/parsers/parse-parquet-to-rows.d.ts.map +0 -1
- package/dist/lib/wasm/encode-parquet-wasm.d.ts.map +0 -1
- package/dist/lib/wasm/load-wasm/index.d.ts.map +0 -1
- package/dist/lib/wasm/load-wasm/load-wasm-browser.d.ts.map +0 -1
- package/dist/lib/wasm/load-wasm/load-wasm-node.d.ts.map +0 -1
- package/dist/lib/wasm/parse-parquet-wasm.d.ts.map +0 -1
- package/dist/parquet-loader.d.ts +0 -14
- package/dist/parquet-loader.d.ts.map +0 -1
- package/dist/parquet-wasm-loader.d.ts.map +0 -1
- package/dist/parquet-wasm-writer.d.ts.map +0 -1
- package/dist/parquet-writer.d.ts.map +0 -1
- package/dist/parquetjs/codecs/declare.d.ts.map +0 -1
- package/dist/parquetjs/codecs/dictionary.d.ts.map +0 -1
- package/dist/parquetjs/codecs/index.d.ts.map +0 -1
- package/dist/parquetjs/codecs/plain.d.ts.map +0 -1
- package/dist/parquetjs/codecs/rle.d.ts.map +0 -1
- package/dist/parquetjs/compression.d.ts.map +0 -1
- package/dist/parquetjs/encoder/parquet-encoder.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/BoundaryOrder.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/BsonType.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/ColumnChunk.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/ColumnIndex.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/ColumnMetaData.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/ColumnOrder.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/CompressionCodec.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/ConvertedType.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/DataPageHeader.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/DataPageHeaderV2.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/DateType.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/DecimalType.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/DictionaryPageHeader.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/Encoding.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/EnumType.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/FieldRepetitionType.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/FileMetaData.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/IndexPageHeader.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/IntType.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/JsonType.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/KeyValue.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/ListType.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/LogicalType.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/MapType.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/MicroSeconds.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/MilliSeconds.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/NullType.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/OffsetIndex.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/PageEncodingStats.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/PageHeader.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/PageLocation.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/PageType.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/RowGroup.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/SchemaElement.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/SortingColumn.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/Statistics.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/StringType.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/TimeType.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/TimeUnit.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/TimestampType.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/Type.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/TypeDefinedOrder.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/UUIDType.d.ts.map +0 -1
- package/dist/parquetjs/parquet-thrift/index.d.ts.map +0 -1
- package/dist/parquetjs/parser/decoders.d.ts.map +0 -1
- package/dist/parquetjs/parser/parquet-reader.d.ts.map +0 -1
- package/dist/parquetjs/schema/declare.d.ts.map +0 -1
- package/dist/parquetjs/schema/schema.d.ts.map +0 -1
- package/dist/parquetjs/schema/shred.d.ts.map +0 -1
- package/dist/parquetjs/schema/types.d.ts.map +0 -1
- package/dist/parquetjs/utils/file-utils.d.ts.map +0 -1
- package/dist/parquetjs/utils/read-utils.d.ts.map +0 -1
- package/dist/workers/parquet-worker.d.ts.map +0 -1
- /package/dist/{bundle.d.ts → src/bundle.d.ts} +0 -0
- /package/dist/{constants.d.ts → src/constants.d.ts} +0 -0
- /package/dist/{lib → src/lib}/arrow/convert-columns-to-row-group.d.ts +0 -0
- /package/dist/{lib → src/lib}/arrow/convert-row-group-to-columns.d.ts +0 -0
- /package/dist/{lib → src/lib}/arrow/convert-schema-from-parquet.d.ts +0 -0
- /package/dist/{lib → src/lib}/arrow/convert-schema-to-parquet.d.ts +0 -0
- /package/dist/{lib → src/lib}/wasm/encode-parquet-wasm.d.ts +0 -0
- /package/dist/{lib → src/lib}/wasm/load-wasm/index.d.ts +0 -0
- /package/dist/{lib → src/lib}/wasm/load-wasm/load-wasm-browser.d.ts +0 -0
- /package/dist/{lib → src/lib}/wasm/load-wasm/load-wasm-node.d.ts +0 -0
- /package/dist/{lib → src/lib}/wasm/parse-parquet-wasm.d.ts +0 -0
- /package/dist/{parquet-wasm-loader.d.ts → src/parquet-wasm-loader.d.ts} +0 -0
- /package/dist/{parquet-wasm-writer.d.ts → src/parquet-wasm-writer.d.ts} +0 -0
- /package/dist/{parquet-writer.d.ts → src/parquet-writer.d.ts} +0 -0
- /package/dist/{parquetjs → src/parquetjs}/codecs/declare.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/codecs/dictionary.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/codecs/index.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/codecs/plain.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/codecs/rle.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/compression.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/encoder/parquet-encoder.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/BoundaryOrder.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/BsonType.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/ColumnChunk.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/ColumnIndex.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/ColumnMetaData.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/ColumnOrder.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/CompressionCodec.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/ConvertedType.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/DataPageHeader.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/DataPageHeaderV2.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/DateType.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/DecimalType.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/DictionaryPageHeader.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/Encoding.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/EnumType.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/FieldRepetitionType.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/FileMetaData.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/IndexPageHeader.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/IntType.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/JsonType.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/KeyValue.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/ListType.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/LogicalType.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/MapType.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/MicroSeconds.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/MilliSeconds.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/NullType.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/OffsetIndex.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/PageEncodingStats.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/PageHeader.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/PageLocation.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/PageType.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/RowGroup.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/SchemaElement.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/SortingColumn.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/Statistics.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/StringType.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/TimeType.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/TimeUnit.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/TimestampType.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/Type.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/TypeDefinedOrder.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/UUIDType.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/schema/schema.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/schema/shred.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/schema/types.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/utils/file-utils.d.ts +0 -0
- /package/dist/{parquetjs → src/parquetjs}/utils/read-utils.d.ts +0 -0
- /package/dist/{workers → src/workers}/parquet-worker.d.ts +0 -0
|
@@ -5,21 +5,40 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.getGeoMetadata = getGeoMetadata;
|
|
8
|
+
exports.parseJSONStringMetadata = parseJSONStringMetadata;
|
|
8
9
|
exports.setGeoMetadata = setGeoMetadata;
|
|
9
10
|
exports.unpackGeoMetadata = unpackGeoMetadata;
|
|
11
|
+
exports.unpackJSONStringMetadata = unpackJSONStringMetadata;
|
|
10
12
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
13
|
+
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
14
|
+
function parseJSONStringMetadata(schema, metadataKey) {
|
|
15
|
+
var stringifiedMetadata = schema.metadata[metadataKey];
|
|
16
|
+
if (!stringifiedMetadata) {
|
|
14
17
|
return null;
|
|
15
18
|
}
|
|
16
19
|
try {
|
|
17
|
-
var
|
|
18
|
-
|
|
20
|
+
var metadata = JSON.parse(stringifiedMetadata);
|
|
21
|
+
if (!metadata || (0, _typeof2.default)(metadata) !== 'object') {
|
|
22
|
+
return null;
|
|
23
|
+
}
|
|
24
|
+
return metadata;
|
|
19
25
|
} catch (_unused) {
|
|
20
26
|
return null;
|
|
21
27
|
}
|
|
22
28
|
}
|
|
29
|
+
function unpackJSONStringMetadata(schema, metadataKey) {
|
|
30
|
+
var json = parseJSONStringMetadata(schema, metadataKey);
|
|
31
|
+
for (var _i = 0, _Object$entries = Object.entries(json || {}); _i < _Object$entries.length; _i++) {
|
|
32
|
+
var _Object$entries$_i = (0, _slicedToArray2.default)(_Object$entries[_i], 2),
|
|
33
|
+
_key = _Object$entries$_i[0],
|
|
34
|
+
value = _Object$entries$_i[1];
|
|
35
|
+
schema.metadata["".concat(metadataKey, ".").concat(_key)] = typeof value === 'string' ? value : JSON.stringify(value);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
function getGeoMetadata(schema) {
|
|
39
|
+
var geoMetadata = parseJSONStringMetadata(schema, 'geo');
|
|
40
|
+
return geoMetadata;
|
|
41
|
+
}
|
|
23
42
|
function setGeoMetadata(schema, geoMetadata) {
|
|
24
43
|
var stringifiedGeoMetadata = JSON.stringify(geoMetadata);
|
|
25
44
|
schema.metadata.geo = stringifiedGeoMetadata;
|
|
@@ -40,9 +59,9 @@ function unpackGeoMetadata(schema) {
|
|
|
40
59
|
}
|
|
41
60
|
schema.metadata['geo.columns'] = Object.keys(columns || {}).join('');
|
|
42
61
|
var _loop = function _loop() {
|
|
43
|
-
var _Object$
|
|
44
|
-
columnName = _Object$
|
|
45
|
-
columnMetadata = _Object$
|
|
62
|
+
var _Object$entries2$_i = (0, _slicedToArray2.default)(_Object$entries2[_i2], 2),
|
|
63
|
+
columnName = _Object$entries2$_i[0],
|
|
64
|
+
columnMetadata = _Object$entries2$_i[1];
|
|
46
65
|
var field = schema.fields.find(function (field) {
|
|
47
66
|
return field.name === columnName;
|
|
48
67
|
});
|
|
@@ -53,24 +72,41 @@ function unpackGeoMetadata(schema) {
|
|
|
53
72
|
unpackGeoFieldMetadata(field, columnMetadata);
|
|
54
73
|
}
|
|
55
74
|
};
|
|
56
|
-
for (var
|
|
75
|
+
for (var _i2 = 0, _Object$entries2 = Object.entries(columns || {}); _i2 < _Object$entries2.length; _i2++) {
|
|
57
76
|
_loop();
|
|
58
77
|
}
|
|
59
78
|
}
|
|
60
79
|
function unpackGeoFieldMetadata(field, columnMetadata) {
|
|
61
|
-
for (var
|
|
62
|
-
var _Object$
|
|
63
|
-
|
|
64
|
-
value = _Object$
|
|
65
|
-
switch (
|
|
80
|
+
for (var _i3 = 0, _Object$entries3 = Object.entries(columnMetadata || {}); _i3 < _Object$entries3.length; _i3++) {
|
|
81
|
+
var _Object$entries3$_i = (0, _slicedToArray2.default)(_Object$entries3[_i3], 2),
|
|
82
|
+
_key2 = _Object$entries3$_i[0],
|
|
83
|
+
value = _Object$entries3$_i[1];
|
|
84
|
+
switch (_key2) {
|
|
66
85
|
case 'geometry_type':
|
|
67
|
-
setFieldMetadata(field, "geo.".concat(
|
|
86
|
+
setFieldMetadata(field, "geo.".concat(_key2), value.join(','));
|
|
68
87
|
break;
|
|
69
88
|
case 'bbox':
|
|
89
|
+
setFieldMetadata(field, "geo.crs.".concat(_key2), JSON.stringify(value));
|
|
90
|
+
break;
|
|
70
91
|
case 'crs':
|
|
92
|
+
for (var _i4 = 0, _Object$entries4 = Object.entries(value || {}); _i4 < _Object$entries4.length; _i4++) {
|
|
93
|
+
var _Object$entries4$_i = (0, _slicedToArray2.default)(_Object$entries4[_i4], 2),
|
|
94
|
+
crsKey = _Object$entries4$_i[0],
|
|
95
|
+
crsValue = _Object$entries4$_i[1];
|
|
96
|
+
switch (crsKey) {
|
|
97
|
+
case 'id':
|
|
98
|
+
var crsId = (0, _typeof2.default)(crsValue) === 'object' ? "".concat(crsValue === null || crsValue === void 0 ? void 0 : crsValue.authority, ":").concat(crsValue === null || crsValue === void 0 ? void 0 : crsValue.code) : JSON.stringify(crsValue);
|
|
99
|
+
setFieldMetadata(field, "geo.crs.".concat(crsKey), crsId);
|
|
100
|
+
break;
|
|
101
|
+
default:
|
|
102
|
+
setFieldMetadata(field, "geo.crs.".concat(crsKey), typeof crsValue === 'string' ? crsValue : JSON.stringify(crsValue));
|
|
103
|
+
break;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
break;
|
|
71
107
|
case 'edges':
|
|
72
108
|
default:
|
|
73
|
-
setFieldMetadata(field, "geo.".concat(
|
|
109
|
+
setFieldMetadata(field, "geo.".concat(_key2), typeof value === 'string' ? value : JSON.stringify(value));
|
|
74
110
|
}
|
|
75
111
|
}
|
|
76
112
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decode-geo-metadata.js","names":["getGeoMetadata","schema","stringifiedGeoMetadata","metadata","geo","geoMetadata","JSON","parse","_unused","setGeoMetadata","stringify","unpackGeoMetadata","version","primary_column","columns","Object","keys","join","_loop","_Object$entries$_i","_slicedToArray2","default","_Object$entries","_i","columnName","columnMetadata","field","fields","find","name","setFieldMetadata","unpackGeoFieldMetadata","entries","length","_i2","_Object$entries2","_Object$entries2$_i","key","value","concat"],"sources":["../../../../src/lib/geo/decode-geo-metadata.ts"],"sourcesContent":["// loaders.gl, MIT license\nimport {Schema, Field} from '@loaders.gl/schema';\n\n/* eslint-disable camelcase */\n\n/** A geoarrow / geoparquet geo metadata object (stored in stringified form in the top level metadata 'geo' key) */\nexport type GeoMetadata = {\n version?: string;\n primary_column?: string;\n columns: Record<string, GeoColumnMetadata>;\n [key: string]: unknown;\n};\n\n/** A geoarrow / geoparquet geo metadata for one geometry column */\nexport type GeoColumnMetadata = {\n bounding_box?:\n | [number, number, number, number]\n | [number, number, number, number, number, number];\n crs?: string;\n geometry_type?: string[];\n edges?: string;\n [key: string]: unknown;\n};\n\n/**\n * Reads the GeoMetadata object from the metadata\n * @note geoarrow / parquet schema is stringified into a single key-value pair in the parquet metadata */\nexport function getGeoMetadata(schema: Schema): GeoMetadata | null {\n const stringifiedGeoMetadata = schema.metadata.geo;\n if (!stringifiedGeoMetadata) {\n return null;\n }\n\n try {\n const geoMetadata = JSON.parse(stringifiedGeoMetadata) as GeoMetadata;\n return geoMetadata;\n } catch {\n return null;\n }\n}\n\n/**\n * Stores a geoarrow / geoparquet geo metadata object in the schema\n * @note geoarrow / geoparquet geo metadata is a single stringified JSON field\n */\nexport function setGeoMetadata(schema: Schema, geoMetadata: GeoMetadata): void {\n const stringifiedGeoMetadata = JSON.stringify(geoMetadata);\n schema.metadata.geo = stringifiedGeoMetadata;\n}\n\n/**\n * Unpacks geo metadata into separate metadata fields (parses the long JSON string)\n * @note geoarrow / parquet schema is stringified into a single key-value pair in the parquet metadata\n */\nexport function unpackGeoMetadata(schema: Schema): void {\n const geoMetadata = getGeoMetadata(schema);\n if (!geoMetadata) {\n return;\n }\n\n // Store Parquet Schema Level Metadata\n\n const {version, primary_column, columns} = geoMetadata;\n if (version) {\n schema.metadata['geo.version'] = version;\n }\n\n if (primary_column) {\n schema.metadata['geo.primary_column'] = primary_column;\n }\n\n // store column names as comma separated list\n schema.metadata['geo.columns'] = Object.keys(columns || {}).join('');\n\n for (const [columnName, columnMetadata] of Object.entries(columns || {})) {\n const field = schema.fields.find((field) => field.name === columnName);\n if (field) {\n if (field.name === primary_column) {\n setFieldMetadata(field, 'geo.primary_field', 'true');\n }\n unpackGeoFieldMetadata(field, columnMetadata);\n }\n }\n}\n\nfunction unpackGeoFieldMetadata(field: Field, columnMetadata): void {\n for (const [key, value] of Object.entries(columnMetadata || {})) {\n switch (key) {\n case 'geometry_type':\n setFieldMetadata(field, `geo.${key}`, (value as string[]).join(','));\n break;\n case 'bbox':\n case 'crs':\n case 'edges':\n default:\n setFieldMetadata(\n field,\n `geo.${key}`,\n typeof value === 'string' ? value : JSON.stringify(value)\n );\n }\n }\n}\n\nfunction setFieldMetadata(field: Field, key: string, value: string): void {\n field.metadata = field.metadata || {};\n field.metadata[key] = value;\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"decode-geo-metadata.js","names":["parseJSONStringMetadata","schema","metadataKey","stringifiedMetadata","metadata","JSON","parse","_typeof2","default","_unused","unpackJSONStringMetadata","json","_i","_Object$entries","Object","entries","length","_Object$entries$_i","_slicedToArray2","key","value","concat","stringify","getGeoMetadata","geoMetadata","setGeoMetadata","stringifiedGeoMetadata","geo","unpackGeoMetadata","version","primary_column","columns","keys","join","_loop","_Object$entries2$_i","_Object$entries2","_i2","columnName","columnMetadata","field","fields","find","name","setFieldMetadata","unpackGeoFieldMetadata","_i3","_Object$entries3","_Object$entries3$_i","_i4","_Object$entries4","_Object$entries4$_i","crsKey","crsValue","crsId","authority","code"],"sources":["../../../../src/lib/geo/decode-geo-metadata.ts"],"sourcesContent":["// loaders.gl, MIT license\nimport {Schema, Field} from '@loaders.gl/schema';\n\n/* eslint-disable camelcase */\n\ntype GeometryType =\n | 'Point'\n | 'LineString'\n | 'Polygon'\n | 'MultiPoint'\n | 'MultiLineString'\n | 'MultiPolygon'\n | 'GeometryCollection'\n | 'Point Z'\n | 'LineString Z'\n | 'Polygon Z'\n | 'MultiPoint Z'\n | 'MultiLineString Z'\n | 'MultiPolygon Z'\n | 'GeometryCollection Z';\n\n/**\n * A geoarrow / geoparquet geo metadata object\n * (stored in stringified form in the top level metadata 'geo' key)\n * @see https://github.com/opengeospatial/geoparquet/blob/main/format-specs/geoparquet.md\n * @see https://github.com/geoarrow/geoarrow/blob/main/metadata.md\n * */\nexport type GeoMetadata = {\n version?: string;\n primary_column?: string;\n columns: Record<string, GeoColumnMetadata>;\n [key: string]: unknown;\n};\n\n/** A geoarrow / geoparquet geo metadata for one geometry column */\nexport type GeoColumnMetadata = {\n encoding: 'wkb' | 'wkt';\n geometry_types: GeometryType[];\n crs?: object | null;\n orientation?: 'counterclockwise';\n bbox?: [number, number, number, number] | [number, number, number, number, number, number];\n edges?: 'planar' | 'spherical';\n epoch?: number;\n [key: string]: unknown;\n};\n\n/** Parse a key with stringified arrow metadata */\nexport function parseJSONStringMetadata(\n schema: Schema,\n metadataKey: string\n): Record<string, unknown> | null {\n const stringifiedMetadata = schema.metadata[metadataKey];\n if (!stringifiedMetadata) {\n return null;\n }\n\n try {\n const metadata = JSON.parse(stringifiedMetadata);\n if (!metadata || typeof metadata !== 'object') {\n return null;\n }\n return metadata;\n } catch {\n return null;\n }\n}\n\nexport function unpackJSONStringMetadata(schema: Schema, metadataKey: string): void {\n const json = parseJSONStringMetadata(schema, metadataKey);\n for (const [key, value] of Object.entries(json || {})) {\n schema.metadata[`${metadataKey}.${key}`] =\n typeof value === 'string' ? value : JSON.stringify(value);\n }\n}\n\n// GEO METADATA\n\n/**\n * Reads the GeoMetadata object from the metadata\n * @note geoarrow / parquet schema is stringified into a single key-value pair in the parquet metadata */\nexport function getGeoMetadata(schema: Schema): GeoMetadata | null {\n const geoMetadata = parseJSONStringMetadata(schema, 'geo') as GeoMetadata;\n return geoMetadata;\n}\n\n/**\n * Stores a geoarrow / geoparquet geo metadata object in the schema\n * @note geoarrow / geoparquet geo metadata is a single stringified JSON field\n */\nexport function setGeoMetadata(schema: Schema, geoMetadata: GeoMetadata): void {\n const stringifiedGeoMetadata = JSON.stringify(geoMetadata);\n schema.metadata.geo = stringifiedGeoMetadata;\n}\n\n/**\n * Unpacks geo metadata into separate metadata fields (parses the long JSON string)\n * @note geoarrow / parquet schema is stringified into a single key-value pair in the parquet metadata\n */\nexport function unpackGeoMetadata(schema: Schema): void {\n const geoMetadata = getGeoMetadata(schema);\n if (!geoMetadata) {\n return;\n }\n\n // Store Parquet Schema Level Metadata\n\n const {version, primary_column, columns} = geoMetadata;\n if (version) {\n schema.metadata['geo.version'] = version;\n }\n\n if (primary_column) {\n schema.metadata['geo.primary_column'] = primary_column;\n }\n\n // store column names as comma separated list\n schema.metadata['geo.columns'] = Object.keys(columns || {}).join('');\n\n for (const [columnName, columnMetadata] of Object.entries(columns || {})) {\n const field = schema.fields.find((field) => field.name === columnName);\n if (field) {\n if (field.name === primary_column) {\n setFieldMetadata(field, 'geo.primary_field', 'true');\n }\n unpackGeoFieldMetadata(field, columnMetadata);\n }\n }\n}\n\n// eslint-disable-next-line complexity\nfunction unpackGeoFieldMetadata(field: Field, columnMetadata): void {\n for (const [key, value] of Object.entries(columnMetadata || {})) {\n switch (key) {\n case 'geometry_type':\n setFieldMetadata(field, `geo.${key}`, (value as string[]).join(','));\n break;\n case 'bbox':\n setFieldMetadata(field, `geo.crs.${key}`, JSON.stringify(value));\n break;\n case 'crs':\n for (const [crsKey, crsValue] of Object.entries(value || {})) {\n switch (crsKey) {\n case 'id':\n const crsId =\n typeof crsValue === 'object'\n ? `${crsValue?.authority}:${crsValue?.code}`\n : JSON.stringify(crsValue);\n setFieldMetadata(field, `geo.crs.${crsKey}`, crsId);\n break;\n default:\n setFieldMetadata(\n field,\n `geo.crs.${crsKey}`,\n typeof crsValue === 'string' ? crsValue : JSON.stringify(crsValue)\n );\n break;\n }\n }\n break;\n case 'edges':\n default:\n setFieldMetadata(\n field,\n `geo.${key}`,\n typeof value === 'string' ? value : JSON.stringify(value)\n );\n }\n }\n}\n\nfunction setFieldMetadata(field: Field, key: string, value: string): void {\n field.metadata = field.metadata || {};\n field.metadata[key] = value;\n}\n"],"mappings":"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"}
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.
|
|
7
|
-
var
|
|
6
|
+
exports.GEOPARQUET_METADATA_JSON_SCHEMA = void 0;
|
|
7
|
+
var GEOPARQUET_METADATA_JSON_SCHEMA = {
|
|
8
8
|
$schema: 'http://json-schema.org/draft-07/schema#',
|
|
9
9
|
title: 'GeoParquet',
|
|
10
10
|
description: 'Parquet metadata included in the geo field.',
|
|
@@ -79,5 +79,5 @@ var _default = {
|
|
|
79
79
|
}
|
|
80
80
|
}
|
|
81
81
|
};
|
|
82
|
-
exports.
|
|
83
|
-
//# sourceMappingURL=geoparquet-schema.js.map
|
|
82
|
+
exports.GEOPARQUET_METADATA_JSON_SCHEMA = GEOPARQUET_METADATA_JSON_SCHEMA;
|
|
83
|
+
//# sourceMappingURL=geoparquet-metadata-schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"geoparquet-metadata-schema.js","names":["GEOPARQUET_METADATA_JSON_SCHEMA","$schema","title","description","type","required","properties","version","const","primary_column","minLength","columns","minProperties","patternProperties","encoding","geometry_types","uniqueItems","items","pattern","crs","oneOf","$ref","edges","enum","orientation","bbox","minItems","maxItems","epoch","additionalProperties","exports"],"sources":["../../../../src/lib/geo/geoparquet-metadata-schema.ts"],"sourcesContent":["// loaders.gl, MIT license\n\n/* eslint-disable camelcase */\n\n/**\n * Geoparquet JSON schema for geo metadata\n * @see https://github.com/geoarrow/geoarrow/blob/main/metadata.md\n * @see https://github.com/opengeospatial/geoparquet/blob/main/format-specs/geoparquet.md\n */\nexport const GEOPARQUET_METADATA_JSON_SCHEMA = {\n $schema: 'http://json-schema.org/draft-07/schema#',\n title: 'GeoParquet',\n description: 'Parquet metadata included in the geo field.',\n type: 'object',\n required: ['version', 'primary_column', 'columns'],\n properties: {\n version: {type: 'string', const: '1.0.0-beta.1'},\n primary_column: {type: 'string', minLength: 1},\n columns: {\n type: 'object',\n minProperties: 1,\n patternProperties: {\n '.+': {\n type: 'object',\n required: ['encoding', 'geometry_types'],\n properties: {\n encoding: {type: 'string', const: 'WKB'},\n geometry_types: {\n type: 'array',\n uniqueItems: true,\n items: {\n type: 'string',\n pattern: '^(GeometryCollection|(Multi)?(Point|LineString|Polygon))( Z)?$'\n }\n },\n crs: {\n oneOf: [\n {\n $ref: 'https://proj.org/schemas/v0.5/projjson.schema.json'\n },\n {type: 'null'}\n ]\n },\n edges: {type: 'string', enum: ['planar', 'spherical']},\n orientation: {type: 'string', const: 'counterclockwise'},\n bbox: {\n type: 'array',\n items: {type: 'number'},\n oneOf: [\n {\n description: '2D bbox consisting of (xmin, ymin, xmax, ymax)',\n minItems: 4,\n maxItems: 4\n },\n {\n description: '3D bbox consisting of (xmin, ymin, zmin, xmax, ymax, zmax)',\n minItems: 6,\n maxItems: 6\n }\n ]\n },\n epoch: {type: 'number'}\n }\n }\n },\n additionalProperties: false\n }\n }\n};\n"],"mappings":";;;;;;AASO,IAAMA,+BAA+B,GAAG;EAC7CC,OAAO,EAAE,yCAAyC;EAClDC,KAAK,EAAE,YAAY;EACnBC,WAAW,EAAE,6CAA6C;EAC1DC,IAAI,EAAE,QAAQ;EACdC,QAAQ,EAAE,CAAC,SAAS,EAAE,gBAAgB,EAAE,SAAS,CAAC;EAClDC,UAAU,EAAE;IACVC,OAAO,EAAE;MAACH,IAAI,EAAE,QAAQ;MAAEI,KAAK,EAAE;IAAc,CAAC;IAChDC,cAAc,EAAE;MAACL,IAAI,EAAE,QAAQ;MAAEM,SAAS,EAAE;IAAC,CAAC;IAC9CC,OAAO,EAAE;MACPP,IAAI,EAAE,QAAQ;MACdQ,aAAa,EAAE,CAAC;MAChBC,iBAAiB,EAAE;QACjB,IAAI,EAAE;UACJT,IAAI,EAAE,QAAQ;UACdC,QAAQ,EAAE,CAAC,UAAU,EAAE,gBAAgB,CAAC;UACxCC,UAAU,EAAE;YACVQ,QAAQ,EAAE;cAACV,IAAI,EAAE,QAAQ;cAAEI,KAAK,EAAE;YAAK,CAAC;YACxCO,cAAc,EAAE;cACdX,IAAI,EAAE,OAAO;cACbY,WAAW,EAAE,IAAI;cACjBC,KAAK,EAAE;gBACLb,IAAI,EAAE,QAAQ;gBACdc,OAAO,EAAE;cACX;YACF,CAAC;YACDC,GAAG,EAAE;cACHC,KAAK,EAAE,CACL;gBACEC,IAAI,EAAE;cACR,CAAC,EACD;gBAACjB,IAAI,EAAE;cAAM,CAAC;YAElB,CAAC;YACDkB,KAAK,EAAE;cAAClB,IAAI,EAAE,QAAQ;cAAEmB,IAAI,EAAE,CAAC,QAAQ,EAAE,WAAW;YAAC,CAAC;YACtDC,WAAW,EAAE;cAACpB,IAAI,EAAE,QAAQ;cAAEI,KAAK,EAAE;YAAkB,CAAC;YACxDiB,IAAI,EAAE;cACJrB,IAAI,EAAE,OAAO;cACba,KAAK,EAAE;gBAACb,IAAI,EAAE;cAAQ,CAAC;cACvBgB,KAAK,EAAE,CACL;gBACEjB,WAAW,EAAE,gDAAgD;gBAC7DuB,QAAQ,EAAE,CAAC;gBACXC,QAAQ,EAAE;cACZ,CAAC,EACD;gBACExB,WAAW,EAAE,4DAA4D;gBACzEuB,QAAQ,EAAE,CAAC;gBACXC,QAAQ,EAAE;cACZ,CAAC;YAEL,CAAC;YACDC,KAAK,EAAE;cAACxB,IAAI,EAAE;YAAQ;UACxB;QACF;MACF,CAAC;MACDyB,oBAAoB,EAAE;IACxB;EACF;AACF,CAAC;AAACC,OAAA,CAAA9B,+BAAA,GAAAA,+BAAA"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"title": "GeoParquet",
|
|
4
|
+
"description": "Parquet metadata included in the geo field.",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"required": ["version", "primary_column", "columns"],
|
|
7
|
+
"properties": {
|
|
8
|
+
"version": {"type": "string", "const": "1.0.0-beta.1"},
|
|
9
|
+
"primary_column": {"type": "string", "minLength": 1},
|
|
10
|
+
"columns": {
|
|
11
|
+
"type": "object",
|
|
12
|
+
"minProperties": 1,
|
|
13
|
+
"patternProperties": {
|
|
14
|
+
".+": {
|
|
15
|
+
"type": "object",
|
|
16
|
+
"required": ["encoding", "geometry_types"],
|
|
17
|
+
"properties": {
|
|
18
|
+
"encoding": {"type": "string", "const": "WKB"},
|
|
19
|
+
"geometry_types": {
|
|
20
|
+
"type": "array",
|
|
21
|
+
"uniqueItems": true,
|
|
22
|
+
"items": {
|
|
23
|
+
"type": "string",
|
|
24
|
+
"pattern": "^(GeometryCollection|(Multi)?(Point|LineString|Polygon))( Z)?$"
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
"crs": {
|
|
28
|
+
"oneOf": [
|
|
29
|
+
{
|
|
30
|
+
"$ref": "https://proj.org/schemas/v0.5/projjson.schema.json"
|
|
31
|
+
},
|
|
32
|
+
{"type": "null"}
|
|
33
|
+
]
|
|
34
|
+
},
|
|
35
|
+
"edges": {"type": "string", "enum": ["planar", "spherical"]},
|
|
36
|
+
"orientation": {"type": "string", "const": "counterclockwise"},
|
|
37
|
+
"bbox": {
|
|
38
|
+
"type": "array",
|
|
39
|
+
"items": {"type": "number"},
|
|
40
|
+
"oneOf": [
|
|
41
|
+
{
|
|
42
|
+
"description": "2D bbox consisting of (xmin, ymin, xmax, ymax)",
|
|
43
|
+
"minItems": 4,
|
|
44
|
+
"maxItems": 4
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"description": "3D bbox consisting of (xmin, ymin, zmin, xmax, ymax, zmax)",
|
|
48
|
+
"minItems": 6,
|
|
49
|
+
"maxItems": 6
|
|
50
|
+
}
|
|
51
|
+
]
|
|
52
|
+
},
|
|
53
|
+
"epoch": {"type": "number"}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
"additionalProperties": false
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.getSchemaFromParquetReader = getSchemaFromParquetReader;
|
|
8
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
9
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
10
|
+
var _convertSchemaFromParquet = require("../arrow/convert-schema-from-parquet");
|
|
11
|
+
var _decodeGeoMetadata = require("../geo/decode-geo-metadata");
|
|
12
|
+
function getSchemaFromParquetReader(_x) {
|
|
13
|
+
return _getSchemaFromParquetReader.apply(this, arguments);
|
|
14
|
+
}
|
|
15
|
+
function _getSchemaFromParquetReader() {
|
|
16
|
+
_getSchemaFromParquetReader = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(reader) {
|
|
17
|
+
var parquetSchema, parquetMetadata, schema;
|
|
18
|
+
return _regenerator.default.wrap(function _callee$(_context) {
|
|
19
|
+
while (1) switch (_context.prev = _context.next) {
|
|
20
|
+
case 0:
|
|
21
|
+
_context.next = 2;
|
|
22
|
+
return reader.getSchema();
|
|
23
|
+
case 2:
|
|
24
|
+
parquetSchema = _context.sent;
|
|
25
|
+
_context.next = 5;
|
|
26
|
+
return reader.getFileMetadata();
|
|
27
|
+
case 5:
|
|
28
|
+
parquetMetadata = _context.sent;
|
|
29
|
+
schema = (0, _convertSchemaFromParquet.convertParquetSchema)(parquetSchema, parquetMetadata);
|
|
30
|
+
(0, _decodeGeoMetadata.unpackGeoMetadata)(schema);
|
|
31
|
+
(0, _decodeGeoMetadata.unpackJSONStringMetadata)(schema, 'pandas');
|
|
32
|
+
return _context.abrupt("return", schema);
|
|
33
|
+
case 10:
|
|
34
|
+
case "end":
|
|
35
|
+
return _context.stop();
|
|
36
|
+
}
|
|
37
|
+
}, _callee);
|
|
38
|
+
}));
|
|
39
|
+
return _getSchemaFromParquetReader.apply(this, arguments);
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=get-parquet-schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-parquet-schema.js","names":["_convertSchemaFromParquet","require","_decodeGeoMetadata","getSchemaFromParquetReader","_x","_getSchemaFromParquetReader","apply","arguments","_asyncToGenerator2","default","_regenerator","mark","_callee","reader","parquetSchema","parquetMetadata","schema","wrap","_callee$","_context","prev","next","getSchema","sent","getFileMetadata","convertParquetSchema","unpackGeoMetadata","unpackJSONStringMetadata","abrupt","stop"],"sources":["../../../../src/lib/parsers/get-parquet-schema.ts"],"sourcesContent":["// loaders.gl\nimport {Schema} from '@loaders.gl/schema';\nimport {ParquetReader} from '../../parquetjs/parser/parquet-reader';\nimport {convertParquetSchema} from '../arrow/convert-schema-from-parquet';\nimport {unpackGeoMetadata, unpackJSONStringMetadata} from '../geo/decode-geo-metadata';\n\nexport async function getSchemaFromParquetReader(reader: ParquetReader): Promise<Schema> {\n const parquetSchema = await reader.getSchema();\n const parquetMetadata = await reader.getFileMetadata();\n const schema = convertParquetSchema(parquetSchema, parquetMetadata);\n unpackGeoMetadata(schema);\n unpackJSONStringMetadata(schema, 'pandas');\n return schema;\n}\n"],"mappings":";;;;;;;;;AAGA,IAAAA,yBAAA,GAAAC,OAAA;AACA,IAAAC,kBAAA,GAAAD,OAAA;AAAuF,SAEjEE,0BAA0BA,CAAAC,EAAA;EAAA,OAAAC,2BAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAAA,SAAAF,4BAAA;EAAAA,2BAAA,OAAAG,kBAAA,CAAAC,OAAA,EAAAC,YAAA,CAAAD,OAAA,CAAAE,IAAA,CAAzC,SAAAC,QAA0CC,MAAqB;IAAA,IAAAC,aAAA,EAAAC,eAAA,EAAAC,MAAA;IAAA,OAAAN,YAAA,CAAAD,OAAA,CAAAQ,IAAA,UAAAC,SAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;QAAA;UAAAF,QAAA,CAAAE,IAAA;UAAA,OACxCR,MAAM,CAACS,SAAS,CAAC,CAAC;QAAA;UAAxCR,aAAa,GAAAK,QAAA,CAAAI,IAAA;UAAAJ,QAAA,CAAAE,IAAA;UAAA,OACWR,MAAM,CAACW,eAAe,CAAC,CAAC;QAAA;UAAhDT,eAAe,GAAAI,QAAA,CAAAI,IAAA;UACfP,MAAM,GAAG,IAAAS,8CAAoB,EAACX,aAAa,EAAEC,eAAe,CAAC;UACnE,IAAAW,oCAAiB,EAACV,MAAM,CAAC;UACzB,IAAAW,2CAAwB,EAACX,MAAM,EAAE,QAAQ,CAAC;UAAC,OAAAG,QAAA,CAAAS,MAAA,WACpCZ,MAAM;QAAA;QAAA;UAAA,OAAAG,QAAA,CAAAU,IAAA;MAAA;IAAA,GAAAjB,OAAA;EAAA,CACd;EAAA,OAAAP,2BAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA"}
|
|
@@ -12,9 +12,9 @@ var _awaitAsyncGenerator2 = _interopRequireDefault(require("@babel/runtime/helpe
|
|
|
12
12
|
var _wrapAsyncGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapAsyncGenerator"));
|
|
13
13
|
var _loaderUtils = require("@loaders.gl/loader-utils");
|
|
14
14
|
var _parquetReader = require("../../parquetjs/parser/parquet-reader");
|
|
15
|
-
var _convertSchemaFromParquet = require("../arrow/convert-schema-from-parquet");
|
|
16
15
|
var _shred = require("../../parquetjs/schema/shred");
|
|
17
|
-
var
|
|
16
|
+
var _getParquetSchema = require("./get-parquet-schema");
|
|
17
|
+
var _bufferPolyfill = require("../../buffer-polyfill");
|
|
18
18
|
function _asyncIterator(iterable) { var method, async, sync, retry = 2; for ("undefined" != typeof Symbol && (async = Symbol.asyncIterator, sync = Symbol.iterator); retry--;) { if (async && null != (method = iterable[async])) return method.call(iterable); if (sync && null != (method = iterable[sync])) return new AsyncFromSyncIterator(method.call(iterable)); async = "@@asyncIterator", sync = "@@iterator"; } throw new TypeError("Object is not async iterable"); }
|
|
19
19
|
function AsyncFromSyncIterator(s) { function AsyncFromSyncIteratorContinuation(r) { if (Object(r) !== r) return Promise.reject(new TypeError(r + " is not an object.")); var done = r.done; return Promise.resolve(r.value).then(function (value) { return { value: value, done: done }; }); } return AsyncFromSyncIterator = function AsyncFromSyncIterator(s) { this.s = s, this.n = s.next; }, AsyncFromSyncIterator.prototype = { s: null, n: null, next: function next() { return AsyncFromSyncIteratorContinuation(this.n.apply(this.s, arguments)); }, return: function _return(value) { var ret = this.s.return; return void 0 === ret ? Promise.resolve({ value: value, done: !0 }) : AsyncFromSyncIteratorContinuation(ret.apply(this.s, arguments)); }, throw: function _throw(value) { var thr = this.s.return; return void 0 === thr ? Promise.reject(value) : AsyncFromSyncIteratorContinuation(thr.apply(this.s, arguments)); } }, new AsyncFromSyncIterator(s); }
|
|
20
20
|
function parseParquetInColumns(_x3, _x4) {
|
|
@@ -22,21 +22,24 @@ function parseParquetInColumns(_x3, _x4) {
|
|
|
22
22
|
}
|
|
23
23
|
function _parseParquetInColumns() {
|
|
24
24
|
_parseParquetInColumns = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee2(arrayBuffer, options) {
|
|
25
|
-
var blob, _iteratorAbruptCompletion, _didIteratorError, _iteratorError, _iterator, _step, batch;
|
|
25
|
+
var blob, file, reader, _iteratorAbruptCompletion, _didIteratorError, _iteratorError, _iterator, _step, batch;
|
|
26
26
|
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
27
27
|
while (1) switch (_context2.prev = _context2.next) {
|
|
28
28
|
case 0:
|
|
29
|
+
(0, _bufferPolyfill.installBufferPolyfill)();
|
|
29
30
|
blob = new Blob([arrayBuffer]);
|
|
31
|
+
file = (0, _loaderUtils.makeReadableFile)(blob);
|
|
32
|
+
reader = new _parquetReader.ParquetReader(file);
|
|
30
33
|
_iteratorAbruptCompletion = false;
|
|
31
34
|
_didIteratorError = false;
|
|
32
|
-
_context2.prev =
|
|
33
|
-
_iterator = _asyncIterator(parseParquetFileInColumnarBatches(
|
|
34
|
-
case
|
|
35
|
-
_context2.next =
|
|
35
|
+
_context2.prev = 6;
|
|
36
|
+
_iterator = _asyncIterator(parseParquetFileInColumnarBatches(reader, options));
|
|
37
|
+
case 8:
|
|
38
|
+
_context2.next = 10;
|
|
36
39
|
return _iterator.next();
|
|
37
|
-
case
|
|
40
|
+
case 10:
|
|
38
41
|
if (!(_iteratorAbruptCompletion = !(_step = _context2.sent).done)) {
|
|
39
|
-
_context2.next =
|
|
42
|
+
_context2.next = 16;
|
|
40
43
|
break;
|
|
41
44
|
}
|
|
42
45
|
batch = _step.value;
|
|
@@ -45,45 +48,45 @@ function _parseParquetInColumns() {
|
|
|
45
48
|
schema: batch.schema,
|
|
46
49
|
data: batch.data
|
|
47
50
|
});
|
|
48
|
-
case
|
|
51
|
+
case 13:
|
|
49
52
|
_iteratorAbruptCompletion = false;
|
|
50
|
-
_context2.next =
|
|
53
|
+
_context2.next = 8;
|
|
51
54
|
break;
|
|
52
|
-
case
|
|
53
|
-
_context2.next =
|
|
55
|
+
case 16:
|
|
56
|
+
_context2.next = 22;
|
|
54
57
|
break;
|
|
55
|
-
case
|
|
56
|
-
_context2.prev =
|
|
57
|
-
_context2.t0 = _context2["catch"](
|
|
58
|
+
case 18:
|
|
59
|
+
_context2.prev = 18;
|
|
60
|
+
_context2.t0 = _context2["catch"](6);
|
|
58
61
|
_didIteratorError = true;
|
|
59
62
|
_iteratorError = _context2.t0;
|
|
60
|
-
case
|
|
61
|
-
_context2.prev =
|
|
62
|
-
_context2.prev =
|
|
63
|
+
case 22:
|
|
64
|
+
_context2.prev = 22;
|
|
65
|
+
_context2.prev = 23;
|
|
63
66
|
if (!(_iteratorAbruptCompletion && _iterator.return != null)) {
|
|
64
|
-
_context2.next =
|
|
67
|
+
_context2.next = 27;
|
|
65
68
|
break;
|
|
66
69
|
}
|
|
67
|
-
_context2.next =
|
|
70
|
+
_context2.next = 27;
|
|
68
71
|
return _iterator.return();
|
|
69
|
-
case
|
|
70
|
-
_context2.prev =
|
|
72
|
+
case 27:
|
|
73
|
+
_context2.prev = 27;
|
|
71
74
|
if (!_didIteratorError) {
|
|
72
|
-
_context2.next =
|
|
75
|
+
_context2.next = 30;
|
|
73
76
|
break;
|
|
74
77
|
}
|
|
75
78
|
throw _iteratorError;
|
|
76
|
-
case 27:
|
|
77
|
-
return _context2.finish(24);
|
|
78
|
-
case 28:
|
|
79
|
-
return _context2.finish(19);
|
|
80
|
-
case 29:
|
|
81
|
-
throw new Error('empty table');
|
|
82
79
|
case 30:
|
|
80
|
+
return _context2.finish(27);
|
|
81
|
+
case 31:
|
|
82
|
+
return _context2.finish(22);
|
|
83
|
+
case 32:
|
|
84
|
+
throw new Error('empty table');
|
|
85
|
+
case 33:
|
|
83
86
|
case "end":
|
|
84
87
|
return _context2.stop();
|
|
85
88
|
}
|
|
86
|
-
}, _callee2, null, [[
|
|
89
|
+
}, _callee2, null, [[6, 18, 22, 32], [23,, 27, 31]]);
|
|
87
90
|
}));
|
|
88
91
|
return _parseParquetInColumns.apply(this, arguments);
|
|
89
92
|
}
|
|
@@ -91,80 +94,76 @@ function parseParquetFileInColumnarBatches(_x, _x2) {
|
|
|
91
94
|
return _parseParquetFileInColumnarBatches.apply(this, arguments);
|
|
92
95
|
}
|
|
93
96
|
function _parseParquetFileInColumnarBatches() {
|
|
94
|
-
_parseParquetFileInColumnarBatches = (0, _wrapAsyncGenerator2.default)(_regenerator.default.mark(function _callee(
|
|
95
|
-
var
|
|
97
|
+
_parseParquetFileInColumnarBatches = (0, _wrapAsyncGenerator2.default)(_regenerator.default.mark(function _callee(reader, options) {
|
|
98
|
+
var schema, parquetSchema, rowGroups, _iteratorAbruptCompletion2, _didIteratorError2, _iteratorError2, _iterator2, _step2, rowGroup;
|
|
96
99
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
97
100
|
while (1) switch (_context.prev = _context.next) {
|
|
98
101
|
case 0:
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
+
_context.next = 2;
|
|
103
|
+
return (0, _awaitAsyncGenerator2.default)((0, _getParquetSchema.getSchemaFromParquetReader)(reader));
|
|
104
|
+
case 2:
|
|
105
|
+
schema = _context.sent;
|
|
106
|
+
_context.next = 5;
|
|
102
107
|
return (0, _awaitAsyncGenerator2.default)(reader.getSchema());
|
|
103
|
-
case
|
|
108
|
+
case 5:
|
|
104
109
|
parquetSchema = _context.sent;
|
|
105
|
-
_context.next = 7;
|
|
106
|
-
return (0, _awaitAsyncGenerator2.default)(reader.getFileMetadata());
|
|
107
|
-
case 7:
|
|
108
|
-
parquetMetadata = _context.sent;
|
|
109
|
-
schema = (0, _convertSchemaFromParquet.convertParquetSchema)(parquetSchema, parquetMetadata);
|
|
110
|
-
(0, _decodeGeoMetadata.unpackGeoMetadata)(schema);
|
|
111
110
|
rowGroups = reader.rowGroupIterator(options === null || options === void 0 ? void 0 : options.parquet);
|
|
112
111
|
_iteratorAbruptCompletion2 = false;
|
|
113
112
|
_didIteratorError2 = false;
|
|
114
|
-
_context.prev =
|
|
113
|
+
_context.prev = 9;
|
|
115
114
|
_iterator2 = _asyncIterator(rowGroups);
|
|
116
|
-
case
|
|
117
|
-
_context.next =
|
|
115
|
+
case 11:
|
|
116
|
+
_context.next = 13;
|
|
118
117
|
return (0, _awaitAsyncGenerator2.default)(_iterator2.next());
|
|
119
|
-
case
|
|
118
|
+
case 13:
|
|
120
119
|
if (!(_iteratorAbruptCompletion2 = !(_step2 = _context.sent).done)) {
|
|
121
|
-
_context.next =
|
|
120
|
+
_context.next = 20;
|
|
122
121
|
break;
|
|
123
122
|
}
|
|
124
123
|
rowGroup = _step2.value;
|
|
125
|
-
_context.next =
|
|
126
|
-
return convertRowGroupToTableBatch(
|
|
127
|
-
case
|
|
124
|
+
_context.next = 17;
|
|
125
|
+
return convertRowGroupToTableBatch(rowGroup, parquetSchema, schema);
|
|
126
|
+
case 17:
|
|
128
127
|
_iteratorAbruptCompletion2 = false;
|
|
129
|
-
_context.next =
|
|
128
|
+
_context.next = 11;
|
|
130
129
|
break;
|
|
131
|
-
case
|
|
132
|
-
_context.next =
|
|
130
|
+
case 20:
|
|
131
|
+
_context.next = 26;
|
|
133
132
|
break;
|
|
134
|
-
case
|
|
135
|
-
_context.prev =
|
|
136
|
-
_context.t0 = _context["catch"](
|
|
133
|
+
case 22:
|
|
134
|
+
_context.prev = 22;
|
|
135
|
+
_context.t0 = _context["catch"](9);
|
|
137
136
|
_didIteratorError2 = true;
|
|
138
137
|
_iteratorError2 = _context.t0;
|
|
139
|
-
case
|
|
140
|
-
_context.prev =
|
|
141
|
-
_context.prev =
|
|
138
|
+
case 26:
|
|
139
|
+
_context.prev = 26;
|
|
140
|
+
_context.prev = 27;
|
|
142
141
|
if (!(_iteratorAbruptCompletion2 && _iterator2.return != null)) {
|
|
143
|
-
_context.next =
|
|
142
|
+
_context.next = 31;
|
|
144
143
|
break;
|
|
145
144
|
}
|
|
146
|
-
_context.next =
|
|
145
|
+
_context.next = 31;
|
|
147
146
|
return (0, _awaitAsyncGenerator2.default)(_iterator2.return());
|
|
148
|
-
case
|
|
149
|
-
_context.prev =
|
|
147
|
+
case 31:
|
|
148
|
+
_context.prev = 31;
|
|
150
149
|
if (!_didIteratorError2) {
|
|
151
|
-
_context.next =
|
|
150
|
+
_context.next = 34;
|
|
152
151
|
break;
|
|
153
152
|
}
|
|
154
153
|
throw _iteratorError2;
|
|
155
|
-
case
|
|
156
|
-
return _context.finish(
|
|
157
|
-
case
|
|
158
|
-
return _context.finish(
|
|
159
|
-
case
|
|
154
|
+
case 34:
|
|
155
|
+
return _context.finish(31);
|
|
156
|
+
case 35:
|
|
157
|
+
return _context.finish(26);
|
|
158
|
+
case 36:
|
|
160
159
|
case "end":
|
|
161
160
|
return _context.stop();
|
|
162
161
|
}
|
|
163
|
-
}, _callee, null, [[
|
|
162
|
+
}, _callee, null, [[9, 22, 26, 36], [27,, 31, 35]]);
|
|
164
163
|
}));
|
|
165
164
|
return _parseParquetFileInColumnarBatches.apply(this, arguments);
|
|
166
165
|
}
|
|
167
|
-
function convertRowGroupToTableBatch(
|
|
166
|
+
function convertRowGroupToTableBatch(rowGroup, parquetSchema, schema) {
|
|
168
167
|
var data = (0, _shred.materializeColumns)(parquetSchema, rowGroup);
|
|
169
168
|
return {
|
|
170
169
|
shape: 'columnar-table',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-parquet-to-columns.js","names":["_loaderUtils","require","_parquetReader","
|
|
1
|
+
{"version":3,"file":"parse-parquet-to-columns.js","names":["_loaderUtils","require","_parquetReader","_shred","_getParquetSchema","_bufferPolyfill","_asyncIterator","iterable","method","async","sync","retry","Symbol","asyncIterator","iterator","call","AsyncFromSyncIterator","TypeError","s","AsyncFromSyncIteratorContinuation","r","Object","Promise","reject","done","resolve","value","then","n","next","prototype","apply","arguments","return","_return","ret","throw","_throw","thr","parseParquetInColumns","_x3","_x4","_parseParquetInColumns","_asyncToGenerator2","default","_regenerator","mark","_callee2","arrayBuffer","options","blob","file","reader","_iteratorAbruptCompletion","_didIteratorError","_iteratorError","_iterator","_step","batch","wrap","_callee2$","_context2","prev","installBufferPolyfill","Blob","makeReadableFile","ParquetReader","parseParquetFileInColumnarBatches","sent","abrupt","shape","schema","data","t0","finish","Error","stop","_x","_x2","_parseParquetFileInColumnarBatches","_wrapAsyncGenerator2","_callee","parquetSchema","rowGroups","_iteratorAbruptCompletion2","_didIteratorError2","_iteratorError2","_iterator2","_step2","rowGroup","_callee$","_context","_awaitAsyncGenerator2","getSchemaFromParquetReader","getSchema","rowGroupIterator","parquet","convertRowGroupToTableBatch","materializeColumns","batchType","length","rowCount"],"sources":["../../../../src/lib/parsers/parse-parquet-to-columns.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport {ColumnarTable, ColumnarTableBatch, Schema} from '@loaders.gl/schema';\nimport {makeReadableFile} from '@loaders.gl/loader-utils';\nimport type {ParquetLoaderOptions} from '../../parquet-loader';\nimport {ParquetReader} from '../../parquetjs/parser/parquet-reader';\nimport {ParquetRowGroup} from '../../parquetjs/schema/declare';\nimport {ParquetSchema} from '../../parquetjs/schema/schema';\nimport {materializeColumns} from '../../parquetjs/schema/shred';\nimport {getSchemaFromParquetReader} from './get-parquet-schema';\nimport {installBufferPolyfill} from '../../buffer-polyfill';\n\nexport async function parseParquetInColumns(\n arrayBuffer: ArrayBuffer,\n options?: ParquetLoaderOptions\n): Promise<ColumnarTable> {\n installBufferPolyfill();\n const blob = new Blob([arrayBuffer]);\n const file = makeReadableFile(blob);\n const reader = new ParquetReader(file);\n\n for await (const batch of parseParquetFileInColumnarBatches(reader, options)) {\n return {\n shape: 'columnar-table',\n schema: batch.schema,\n data: batch.data\n };\n }\n throw new Error('empty table');\n}\n\nexport async function* parseParquetFileInColumnarBatches(\n reader: ParquetReader,\n options?: ParquetLoaderOptions\n): AsyncIterable<ColumnarTableBatch> {\n // Extract schema and geo metadata\n const schema = await getSchemaFromParquetReader(reader);\n\n const parquetSchema = await reader.getSchema();\n\n // Iterate over row batches\n const rowGroups = reader.rowGroupIterator(options?.parquet);\n for await (const rowGroup of rowGroups) {\n yield convertRowGroupToTableBatch(rowGroup, parquetSchema, schema);\n }\n}\n\nfunction convertRowGroupToTableBatch(\n rowGroup: ParquetRowGroup,\n parquetSchema: ParquetSchema,\n schema: Schema\n): ColumnarTableBatch {\n // const data = convertParquetRowGroupToColumns(schema, rowGroup);\n const data = materializeColumns(parquetSchema, rowGroup);\n return {\n shape: 'columnar-table',\n batchType: 'data',\n schema,\n data,\n length: rowGroup.rowCount\n };\n}\n"],"mappings":"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"}
|