@loaders.gl/parquet 4.4.5 → 5.0.0-alpha.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +14 -3
- package/dist/bundled.d.ts +9 -0
- package/dist/bundled.d.ts.map +1 -0
- package/dist/bundled.js +10 -0
- package/dist/bundled.js.map +1 -0
- package/dist/geoparquet-loader-with-parser.d.ts +33 -0
- package/dist/geoparquet-loader-with-parser.d.ts.map +1 -0
- package/dist/geoparquet-loader-with-parser.js +52 -0
- package/dist/geoparquet-loader-with-parser.js.map +1 -0
- package/dist/geoparquet-loader.d.ts +59 -0
- package/dist/geoparquet-loader.d.ts.map +1 -0
- package/dist/geoparquet-loader.js +30 -0
- package/dist/geoparquet-loader.js.map +1 -0
- package/dist/index.cjs +25873 -4776
- package/dist/index.cjs.map +3 -4
- package/dist/index.d.ts +10 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -11
- package/dist/index.js.map +1 -1
- package/dist/lib/arrow/convert-columns-to-row-group.js +3 -0
- package/dist/lib/arrow/convert-columns-to-row-group.js.map +1 -1
- package/dist/lib/arrow/convert-schema-from-parquet.d.ts.map +1 -1
- package/dist/lib/arrow/convert-schema-from-parquet.js +86 -26
- package/dist/lib/arrow/convert-schema-from-parquet.js.map +1 -1
- package/dist/lib/arrow/convert-schema-to-parquet.d.ts.map +1 -1
- package/dist/lib/arrow/convert-schema-to-parquet.js +16 -7
- package/dist/lib/arrow/convert-schema-to-parquet.js.map +1 -1
- package/dist/lib/arrow/create-nested-arrow-vector.d.ts +8 -0
- package/dist/lib/arrow/create-nested-arrow-vector.d.ts.map +1 -0
- package/dist/lib/arrow/create-nested-arrow-vector.js +396 -0
- package/dist/lib/arrow/create-nested-arrow-vector.js.map +1 -0
- package/dist/lib/constants.d.ts +0 -1
- package/dist/lib/constants.d.ts.map +1 -1
- package/dist/lib/constants.js +1 -2
- package/dist/lib/constants.js.map +1 -1
- package/dist/lib/encoders/encode-arrow-to-parquet.d.ts +2 -2
- package/dist/lib/encoders/encode-arrow-to-parquet.d.ts.map +1 -1
- package/dist/lib/encoders/encode-arrow-to-parquet.js +3 -10
- package/dist/lib/encoders/encode-arrow-to-parquet.js.map +1 -1
- package/dist/lib/encoders/encode-table-to-parquet-js.d.ts +5 -0
- package/dist/lib/encoders/encode-table-to-parquet-js.d.ts.map +1 -0
- package/dist/lib/encoders/encode-table-to-parquet-js.js +199 -0
- package/dist/lib/encoders/encode-table-to-parquet-js.js.map +1 -0
- package/dist/lib/geo/geospatial-metadata.d.ts +67 -0
- package/dist/lib/geo/geospatial-metadata.d.ts.map +1 -0
- package/dist/lib/geo/geospatial-metadata.js +338 -0
- package/dist/lib/geo/geospatial-metadata.js.map +1 -0
- package/dist/lib/parquet-page-index.d.ts +62 -0
- package/dist/lib/parquet-page-index.d.ts.map +1 -0
- package/dist/lib/parquet-page-index.js +377 -0
- package/dist/lib/parquet-page-index.js.map +1 -0
- package/dist/lib/parquet-predicate.d.ts +17 -0
- package/dist/lib/parquet-predicate.d.ts.map +1 -0
- package/dist/lib/parquet-predicate.js +300 -0
- package/dist/lib/parquet-predicate.js.map +1 -0
- package/dist/lib/parquet-source-worker-client.d.ts +6 -0
- package/dist/lib/parquet-source-worker-client.d.ts.map +1 -0
- package/dist/lib/parquet-source-worker-client.js +22 -0
- package/dist/lib/parquet-source-worker-client.js.map +1 -0
- package/dist/lib/parquet-source-worker-decoder.d.ts +4 -0
- package/dist/lib/parquet-source-worker-decoder.d.ts.map +1 -0
- package/dist/lib/parquet-source-worker-decoder.js +115 -0
- package/dist/lib/parquet-source-worker-decoder.js.map +1 -0
- package/dist/lib/parquet-source-worker-file.d.ts +24 -0
- package/dist/lib/parquet-source-worker-file.d.ts.map +1 -0
- package/dist/lib/parquet-source-worker-file.js +40 -0
- package/dist/lib/parquet-source-worker-file.js.map +1 -0
- package/dist/lib/parquet-source-worker-types.d.ts +97 -0
- package/dist/lib/parquet-source-worker-types.d.ts.map +1 -0
- package/dist/lib/parquet-source-worker-types.js +5 -0
- package/dist/lib/parquet-source-worker-types.js.map +1 -0
- package/dist/lib/parquet-worker-transport.d.ts +8 -0
- package/dist/lib/parquet-worker-transport.d.ts.map +1 -0
- package/dist/lib/parquet-worker-transport.js +40 -0
- package/dist/lib/parquet-worker-transport.js.map +1 -0
- package/dist/lib/parsers/convert-parquet-tables.d.ts +16 -0
- package/dist/lib/parsers/convert-parquet-tables.d.ts.map +1 -0
- package/dist/lib/parsers/convert-parquet-tables.js +30 -0
- package/dist/lib/parsers/convert-parquet-tables.js.map +1 -0
- package/dist/lib/parsers/get-parquet-schema.d.ts.map +1 -1
- package/dist/lib/parsers/get-parquet-schema.js +3 -1
- package/dist/lib/parsers/get-parquet-schema.js.map +1 -1
- package/dist/lib/parsers/parse-geoparquet-to-geojson.d.ts +4 -4
- package/dist/lib/parsers/parse-geoparquet-to-geojson.d.ts.map +1 -1
- package/dist/lib/parsers/parse-geoparquet-to-geojson.js +19 -6
- package/dist/lib/parsers/parse-geoparquet-to-geojson.js.map +1 -1
- package/dist/lib/parsers/parse-parquet-tables.d.ts +37 -0
- package/dist/lib/parsers/parse-parquet-tables.d.ts.map +1 -0
- package/dist/lib/parsers/parse-parquet-tables.js +50 -0
- package/dist/lib/parsers/parse-parquet-tables.js.map +1 -0
- package/dist/lib/parsers/parse-parquet-to-arrow-js.d.ts +19 -0
- package/dist/lib/parsers/parse-parquet-to-arrow-js.d.ts.map +1 -0
- package/dist/lib/parsers/parse-parquet-to-arrow-js.js +608 -0
- package/dist/lib/parsers/parse-parquet-to-arrow-js.js.map +1 -0
- package/dist/lib/parsers/parse-parquet-to-arrow.d.ts +7 -7
- package/dist/lib/parsers/parse-parquet-to-arrow.d.ts.map +1 -1
- package/dist/lib/parsers/parse-parquet-to-arrow.js +45 -32
- package/dist/lib/parsers/parse-parquet-to-arrow.js.map +1 -1
- package/dist/lib/parsers/parse-parquet-to-columns.d.ts +3 -3
- package/dist/lib/parsers/parse-parquet-to-columns.d.ts.map +1 -1
- package/dist/lib/parsers/parse-parquet-to-columns.js +1 -4
- package/dist/lib/parsers/parse-parquet-to-columns.js.map +1 -1
- package/dist/lib/parsers/parse-parquet-to-json.d.ts +3 -3
- package/dist/lib/parsers/parse-parquet-to-json.d.ts.map +1 -1
- package/dist/lib/parsers/parse-parquet-to-json.js +77 -26
- package/dist/lib/parsers/parse-parquet-to-json.js.map +1 -1
- package/dist/lib/sources/parquet-range-file.d.ts +80 -0
- package/dist/lib/sources/parquet-range-file.d.ts.map +1 -0
- package/dist/lib/sources/parquet-range-file.js +261 -0
- package/dist/lib/sources/parquet-range-file.js.map +1 -0
- package/dist/lib/sources/single-batch-queue.d.ts +24 -0
- package/dist/lib/sources/single-batch-queue.d.ts.map +1 -0
- package/dist/lib/sources/single-batch-queue.js +91 -0
- package/dist/lib/sources/single-batch-queue.js.map +1 -0
- package/dist/lib/utils/load-wasm-node.d.ts +3 -0
- package/dist/lib/utils/load-wasm-node.d.ts.map +1 -0
- package/dist/lib/utils/load-wasm-node.js +23 -0
- package/dist/lib/utils/load-wasm-node.js.map +1 -0
- package/dist/lib/utils/load-wasm.d.ts +2 -2
- package/dist/lib/utils/load-wasm.d.ts.map +1 -1
- package/dist/lib/utils/load-wasm.js +28 -12
- package/dist/lib/utils/load-wasm.js.map +1 -1
- package/dist/lib/utils/make-stream-iterator.d.ts +2 -0
- package/dist/lib/utils/make-stream-iterator.d.ts.map +1 -1
- package/dist/lib/utils/make-stream-iterator.js +123 -14
- package/dist/lib/utils/make-stream-iterator.js.map +1 -1
- package/dist/lib/utils/normalize-parquet-options.d.ts +5 -0
- package/dist/lib/utils/normalize-parquet-options.d.ts.map +1 -0
- package/dist/lib/utils/normalize-parquet-options.js +11 -0
- package/dist/lib/utils/normalize-parquet-options.js.map +1 -0
- package/dist/parquet-dataset-source.cjs +26413 -0
- package/dist/parquet-dataset-source.cjs.map +6 -0
- package/dist/parquet-dataset-source.d.ts +54 -0
- package/dist/parquet-dataset-source.d.ts.map +1 -0
- package/dist/parquet-dataset-source.js +380 -0
- package/dist/parquet-dataset-source.js.map +1 -0
- package/dist/parquet-format.d.ts +2 -0
- package/dist/parquet-format.d.ts.map +1 -1
- package/dist/parquet-format.js +2 -0
- package/dist/parquet-format.js.map +1 -1
- package/dist/parquet-js-loader-types.d.ts +57 -0
- package/dist/parquet-js-loader-types.d.ts.map +1 -0
- package/dist/parquet-js-loader-types.js +33 -0
- package/dist/parquet-js-loader-types.js.map +1 -0
- package/dist/parquet-js-loader.d.ts +32 -0
- package/dist/parquet-js-loader.d.ts.map +1 -0
- package/dist/parquet-js-loader.js +58 -0
- package/dist/parquet-js-loader.js.map +1 -0
- package/dist/parquet-js-writer.d.ts +44 -0
- package/dist/parquet-js-writer.d.ts.map +1 -0
- package/dist/parquet-js-writer.js +28 -0
- package/dist/parquet-js-writer.js.map +1 -0
- package/dist/parquet-loader-base.d.ts +25 -0
- package/dist/parquet-loader-base.d.ts.map +1 -0
- package/dist/parquet-loader-base.js +23 -0
- package/dist/parquet-loader-base.js.map +1 -0
- package/dist/parquet-loader-options.d.ts +44 -0
- package/dist/parquet-loader-options.d.ts.map +1 -0
- package/dist/parquet-loader-options.js +10 -0
- package/dist/parquet-loader-options.js.map +1 -0
- package/dist/parquet-loader-types.d.ts +61 -0
- package/dist/parquet-loader-types.d.ts.map +1 -0
- package/dist/parquet-loader-types.js +17 -0
- package/dist/parquet-loader-types.js.map +1 -0
- package/dist/parquet-loader.d.ts +42 -0
- package/dist/parquet-loader.d.ts.map +1 -0
- package/dist/parquet-loader.js +68 -0
- package/dist/parquet-loader.js.map +1 -0
- package/dist/parquet-source-capabilities.d.ts +36 -0
- package/dist/parquet-source-capabilities.d.ts.map +1 -0
- package/dist/parquet-source-capabilities.js +22 -0
- package/dist/parquet-source-capabilities.js.map +1 -0
- package/dist/parquet-source-loader-types.d.ts +72 -0
- package/dist/parquet-source-loader-types.d.ts.map +1 -0
- package/dist/parquet-source-loader-types.js +74 -0
- package/dist/parquet-source-loader-types.js.map +1 -0
- package/dist/parquet-source-loader.cjs +25975 -0
- package/dist/parquet-source-loader.cjs.map +6 -0
- package/dist/parquet-source-loader.d.ts +120 -0
- package/dist/parquet-source-loader.d.ts.map +1 -0
- package/dist/parquet-source-loader.js +812 -0
- package/dist/parquet-source-loader.js.map +1 -0
- package/dist/parquet-source-types.d.ts +384 -0
- package/dist/parquet-source-types.d.ts.map +1 -0
- package/dist/parquet-source-types.js +5 -0
- package/dist/parquet-source-types.js.map +1 -0
- package/dist/parquet-source-worker-url.d.ts +3 -0
- package/dist/parquet-source-worker-url.d.ts.map +1 -0
- package/dist/parquet-source-worker-url.js +22 -0
- package/dist/parquet-source-worker-url.js.map +1 -0
- package/dist/parquet-source-worker.js +38491 -0
- package/dist/parquet-source-worker.js.map +7 -0
- package/dist/parquet-worker-node.cjs +54779 -0
- package/dist/parquet-worker-node.cjs.map +7 -0
- package/dist/parquet-worker-url.d.ts +3 -0
- package/dist/parquet-worker-url.d.ts.map +1 -0
- package/dist/parquet-worker-url.js +15 -0
- package/dist/parquet-worker-url.js.map +1 -0
- package/dist/parquet-worker.js +19920 -0
- package/dist/parquet-worker.js.map +7 -0
- package/dist/parquet-writer.d.ts +10 -0
- package/dist/parquet-writer.d.ts.map +1 -0
- package/dist/parquet-writer.js +27 -0
- package/dist/parquet-writer.js.map +1 -0
- package/dist/parquet_wasm_bg.wasm +0 -0
- package/dist/parquetjs/codecs/byte-stream-split.d.ts +9 -0
- package/dist/parquetjs/codecs/byte-stream-split.d.ts.map +1 -0
- package/dist/parquetjs/codecs/byte-stream-split.js +159 -0
- package/dist/parquetjs/codecs/byte-stream-split.js.map +1 -0
- package/dist/parquetjs/codecs/declare.d.ts +20 -3
- package/dist/parquetjs/codecs/declare.d.ts.map +1 -1
- package/dist/parquetjs/codecs/declare.js +7 -1
- package/dist/parquetjs/codecs/declare.js.map +1 -1
- package/dist/parquetjs/codecs/delta.d.ts +17 -0
- package/dist/parquetjs/codecs/delta.d.ts.map +1 -0
- package/dist/parquetjs/codecs/delta.js +439 -0
- package/dist/parquetjs/codecs/delta.js.map +1 -0
- package/dist/parquetjs/codecs/dictionary.d.ts +5 -2
- package/dist/parquetjs/codecs/dictionary.d.ts.map +1 -1
- package/dist/parquetjs/codecs/dictionary.js +16 -4
- package/dist/parquetjs/codecs/dictionary.js.map +1 -1
- package/dist/parquetjs/codecs/index.d.ts.map +1 -1
- package/dist/parquetjs/codecs/index.js +18 -0
- package/dist/parquetjs/codecs/index.js.map +1 -1
- package/dist/parquetjs/codecs/plain.d.ts +3 -3
- package/dist/parquetjs/codecs/plain.d.ts.map +1 -1
- package/dist/parquetjs/codecs/plain.js +88 -76
- package/dist/parquetjs/codecs/plain.js.map +1 -1
- package/dist/parquetjs/codecs/rle.d.ts +3 -3
- package/dist/parquetjs/codecs/rle.d.ts.map +1 -1
- package/dist/parquetjs/codecs/rle.js +196 -68
- package/dist/parquetjs/codecs/rle.js.map +1 -1
- package/dist/parquetjs/compression.d.ts +7 -8
- package/dist/parquetjs/compression.d.ts.map +1 -1
- package/dist/parquetjs/compression.js +95 -141
- package/dist/parquetjs/compression.js.map +1 -1
- package/dist/parquetjs/encoder/dictionary-planner.d.ts +17 -0
- package/dist/parquetjs/encoder/dictionary-planner.d.ts.map +1 -0
- package/dist/parquetjs/encoder/dictionary-planner.js +64 -0
- package/dist/parquetjs/encoder/dictionary-planner.js.map +1 -0
- package/dist/parquetjs/encoder/page-planner.d.ts +11 -0
- package/dist/parquetjs/encoder/page-planner.d.ts.map +1 -0
- package/dist/parquetjs/encoder/page-planner.js +60 -0
- package/dist/parquetjs/encoder/page-planner.js.map +1 -0
- package/dist/parquetjs/encoder/parquet-encoder.d.ts +11 -4
- package/dist/parquetjs/encoder/parquet-encoder.d.ts.map +1 -1
- package/dist/parquetjs/encoder/parquet-encoder.js +259 -52
- package/dist/parquetjs/encoder/parquet-encoder.js.map +1 -1
- package/dist/parquetjs/parquet-thrift/BsonType.d.ts +1 -1
- package/dist/parquetjs/parquet-thrift/BsonType.d.ts.map +1 -1
- package/dist/parquetjs/parquet-thrift/BsonType.js +1 -1
- package/dist/parquetjs/parquet-thrift/BsonType.js.map +1 -1
- package/dist/parquetjs/parquet-thrift/ColumnChunk.d.ts +2 -2
- package/dist/parquetjs/parquet-thrift/ColumnChunk.d.ts.map +1 -1
- package/dist/parquetjs/parquet-thrift/ColumnChunk.js +2 -2
- package/dist/parquetjs/parquet-thrift/ColumnChunk.js.map +1 -1
- package/dist/parquetjs/parquet-thrift/ColumnIndex.d.ts +6 -6
- package/dist/parquetjs/parquet-thrift/ColumnIndex.d.ts.map +1 -1
- package/dist/parquetjs/parquet-thrift/ColumnIndex.js +3 -3
- package/dist/parquetjs/parquet-thrift/ColumnIndex.js.map +1 -1
- package/dist/parquetjs/parquet-thrift/ColumnMetaData.d.ts +2 -2
- package/dist/parquetjs/parquet-thrift/ColumnMetaData.d.ts.map +1 -1
- package/dist/parquetjs/parquet-thrift/ColumnMetaData.js +2 -2
- package/dist/parquetjs/parquet-thrift/ColumnMetaData.js.map +1 -1
- package/dist/parquetjs/parquet-thrift/ColumnOrder.d.ts +1 -1
- package/dist/parquetjs/parquet-thrift/ColumnOrder.d.ts.map +1 -1
- package/dist/parquetjs/parquet-thrift/ColumnOrder.js +1 -1
- package/dist/parquetjs/parquet-thrift/ColumnOrder.js.map +1 -1
- package/dist/parquetjs/parquet-thrift/DataPageHeader.d.ts +1 -1
- package/dist/parquetjs/parquet-thrift/DataPageHeader.d.ts.map +1 -1
- package/dist/parquetjs/parquet-thrift/DataPageHeader.js +1 -1
- package/dist/parquetjs/parquet-thrift/DataPageHeader.js.map +1 -1
- package/dist/parquetjs/parquet-thrift/DataPageHeaderV2.d.ts +1 -1
- package/dist/parquetjs/parquet-thrift/DataPageHeaderV2.d.ts.map +1 -1
- package/dist/parquetjs/parquet-thrift/DataPageHeaderV2.js +1 -1
- package/dist/parquetjs/parquet-thrift/DataPageHeaderV2.js.map +1 -1
- package/dist/parquetjs/parquet-thrift/DateType.d.ts +1 -1
- package/dist/parquetjs/parquet-thrift/DateType.d.ts.map +1 -1
- package/dist/parquetjs/parquet-thrift/DateType.js +1 -1
- package/dist/parquetjs/parquet-thrift/DateType.js.map +1 -1
- package/dist/parquetjs/parquet-thrift/DecimalType.d.ts +1 -1
- package/dist/parquetjs/parquet-thrift/DecimalType.d.ts.map +1 -1
- package/dist/parquetjs/parquet-thrift/DecimalType.js +1 -1
- package/dist/parquetjs/parquet-thrift/DecimalType.js.map +1 -1
- package/dist/parquetjs/parquet-thrift/DictionaryPageHeader.d.ts +1 -1
- package/dist/parquetjs/parquet-thrift/DictionaryPageHeader.d.ts.map +1 -1
- package/dist/parquetjs/parquet-thrift/DictionaryPageHeader.js +1 -1
- package/dist/parquetjs/parquet-thrift/DictionaryPageHeader.js.map +1 -1
- package/dist/parquetjs/parquet-thrift/EdgeInterpolationAlgorithm.d.ts +8 -0
- package/dist/parquetjs/parquet-thrift/EdgeInterpolationAlgorithm.d.ts.map +1 -0
- package/dist/parquetjs/parquet-thrift/EdgeInterpolationAlgorithm.js +14 -0
- package/dist/parquetjs/parquet-thrift/EdgeInterpolationAlgorithm.js.map +1 -0
- package/dist/parquetjs/parquet-thrift/Encoding.d.ts +2 -1
- package/dist/parquetjs/parquet-thrift/Encoding.d.ts.map +1 -1
- package/dist/parquetjs/parquet-thrift/Encoding.js +1 -0
- package/dist/parquetjs/parquet-thrift/Encoding.js.map +1 -1
- package/dist/parquetjs/parquet-thrift/EnumType.d.ts +1 -1
- package/dist/parquetjs/parquet-thrift/EnumType.d.ts.map +1 -1
- package/dist/parquetjs/parquet-thrift/EnumType.js +1 -1
- package/dist/parquetjs/parquet-thrift/EnumType.js.map +1 -1
- package/dist/parquetjs/parquet-thrift/FileMetaData.d.ts +2 -2
- package/dist/parquetjs/parquet-thrift/FileMetaData.d.ts.map +1 -1
- package/dist/parquetjs/parquet-thrift/FileMetaData.js +2 -2
- package/dist/parquetjs/parquet-thrift/FileMetaData.js.map +1 -1
- package/dist/parquetjs/parquet-thrift/Float16Type.d.ts +9 -0
- package/dist/parquetjs/parquet-thrift/Float16Type.d.ts.map +1 -0
- package/dist/parquetjs/parquet-thrift/Float16Type.js +27 -0
- package/dist/parquetjs/parquet-thrift/Float16Type.js.map +1 -0
- package/dist/parquetjs/parquet-thrift/GeographyType.d.ts +14 -0
- package/dist/parquetjs/parquet-thrift/GeographyType.d.ts.map +1 -0
- package/dist/parquetjs/parquet-thrift/GeographyType.js +51 -0
- package/dist/parquetjs/parquet-thrift/GeographyType.js.map +1 -0
- package/dist/parquetjs/parquet-thrift/GeometryType.d.ts +11 -0
- package/dist/parquetjs/parquet-thrift/GeometryType.d.ts.map +1 -0
- package/dist/parquetjs/parquet-thrift/GeometryType.js +41 -0
- package/dist/parquetjs/parquet-thrift/GeometryType.js.map +1 -0
- package/dist/parquetjs/parquet-thrift/IndexPageHeader.d.ts +1 -1
- package/dist/parquetjs/parquet-thrift/IndexPageHeader.d.ts.map +1 -1
- package/dist/parquetjs/parquet-thrift/IndexPageHeader.js +1 -1
- package/dist/parquetjs/parquet-thrift/IndexPageHeader.js.map +1 -1
- package/dist/parquetjs/parquet-thrift/IntType.d.ts +1 -1
- package/dist/parquetjs/parquet-thrift/IntType.d.ts.map +1 -1
- package/dist/parquetjs/parquet-thrift/IntType.js +1 -1
- package/dist/parquetjs/parquet-thrift/IntType.js.map +1 -1
- package/dist/parquetjs/parquet-thrift/JsonType.d.ts +1 -1
- package/dist/parquetjs/parquet-thrift/JsonType.d.ts.map +1 -1
- package/dist/parquetjs/parquet-thrift/JsonType.js +1 -1
- package/dist/parquetjs/parquet-thrift/JsonType.js.map +1 -1
- package/dist/parquetjs/parquet-thrift/KeyValue.d.ts +1 -1
- package/dist/parquetjs/parquet-thrift/KeyValue.d.ts.map +1 -1
- package/dist/parquetjs/parquet-thrift/KeyValue.js +1 -1
- package/dist/parquetjs/parquet-thrift/KeyValue.js.map +1 -1
- package/dist/parquetjs/parquet-thrift/ListType.d.ts +1 -1
- package/dist/parquetjs/parquet-thrift/ListType.d.ts.map +1 -1
- package/dist/parquetjs/parquet-thrift/ListType.js +1 -1
- package/dist/parquetjs/parquet-thrift/ListType.js.map +1 -1
- package/dist/parquetjs/parquet-thrift/LogicalType.d.ts +17 -1
- package/dist/parquetjs/parquet-thrift/LogicalType.d.ts.map +1 -1
- package/dist/parquetjs/parquet-thrift/LogicalType.js +97 -1
- package/dist/parquetjs/parquet-thrift/LogicalType.js.map +1 -1
- package/dist/parquetjs/parquet-thrift/MapType.d.ts +1 -1
- package/dist/parquetjs/parquet-thrift/MapType.d.ts.map +1 -1
- package/dist/parquetjs/parquet-thrift/MapType.js +1 -1
- package/dist/parquetjs/parquet-thrift/MapType.js.map +1 -1
- package/dist/parquetjs/parquet-thrift/MicroSeconds.d.ts +1 -1
- package/dist/parquetjs/parquet-thrift/MicroSeconds.d.ts.map +1 -1
- package/dist/parquetjs/parquet-thrift/MicroSeconds.js +1 -1
- package/dist/parquetjs/parquet-thrift/MicroSeconds.js.map +1 -1
- package/dist/parquetjs/parquet-thrift/MilliSeconds.d.ts +1 -1
- package/dist/parquetjs/parquet-thrift/MilliSeconds.d.ts.map +1 -1
- package/dist/parquetjs/parquet-thrift/MilliSeconds.js +1 -1
- package/dist/parquetjs/parquet-thrift/MilliSeconds.js.map +1 -1
- package/dist/parquetjs/parquet-thrift/NanoSeconds.d.ts +9 -0
- package/dist/parquetjs/parquet-thrift/NanoSeconds.d.ts.map +1 -0
- package/dist/parquetjs/parquet-thrift/NanoSeconds.js +27 -0
- package/dist/parquetjs/parquet-thrift/NanoSeconds.js.map +1 -0
- package/dist/parquetjs/parquet-thrift/NullType.d.ts +1 -1
- package/dist/parquetjs/parquet-thrift/NullType.d.ts.map +1 -1
- package/dist/parquetjs/parquet-thrift/NullType.js +1 -1
- package/dist/parquetjs/parquet-thrift/NullType.js.map +1 -1
- package/dist/parquetjs/parquet-thrift/OffsetIndex.d.ts +1 -1
- package/dist/parquetjs/parquet-thrift/OffsetIndex.d.ts.map +1 -1
- package/dist/parquetjs/parquet-thrift/OffsetIndex.js +1 -1
- package/dist/parquetjs/parquet-thrift/OffsetIndex.js.map +1 -1
- package/dist/parquetjs/parquet-thrift/PageEncodingStats.d.ts +1 -1
- package/dist/parquetjs/parquet-thrift/PageEncodingStats.d.ts.map +1 -1
- package/dist/parquetjs/parquet-thrift/PageEncodingStats.js +1 -1
- package/dist/parquetjs/parquet-thrift/PageEncodingStats.js.map +1 -1
- package/dist/parquetjs/parquet-thrift/PageHeader.d.ts +1 -1
- package/dist/parquetjs/parquet-thrift/PageHeader.d.ts.map +1 -1
- package/dist/parquetjs/parquet-thrift/PageHeader.js +1 -1
- package/dist/parquetjs/parquet-thrift/PageHeader.js.map +1 -1
- package/dist/parquetjs/parquet-thrift/PageLocation.d.ts +2 -2
- package/dist/parquetjs/parquet-thrift/PageLocation.d.ts.map +1 -1
- package/dist/parquetjs/parquet-thrift/PageLocation.js +2 -2
- package/dist/parquetjs/parquet-thrift/PageLocation.js.map +1 -1
- package/dist/parquetjs/parquet-thrift/RowGroup.d.ts +2 -2
- package/dist/parquetjs/parquet-thrift/RowGroup.d.ts.map +1 -1
- package/dist/parquetjs/parquet-thrift/RowGroup.js +2 -2
- package/dist/parquetjs/parquet-thrift/RowGroup.js.map +1 -1
- package/dist/parquetjs/parquet-thrift/SchemaElement.d.ts +1 -1
- package/dist/parquetjs/parquet-thrift/SchemaElement.d.ts.map +1 -1
- package/dist/parquetjs/parquet-thrift/SchemaElement.js +1 -1
- package/dist/parquetjs/parquet-thrift/SchemaElement.js.map +1 -1
- package/dist/parquetjs/parquet-thrift/SortingColumn.d.ts +1 -1
- package/dist/parquetjs/parquet-thrift/SortingColumn.d.ts.map +1 -1
- package/dist/parquetjs/parquet-thrift/SortingColumn.js +1 -1
- package/dist/parquetjs/parquet-thrift/SortingColumn.js.map +1 -1
- package/dist/parquetjs/parquet-thrift/Statistics.d.ts +14 -10
- package/dist/parquetjs/parquet-thrift/Statistics.d.ts.map +1 -1
- package/dist/parquetjs/parquet-thrift/Statistics.js +38 -2
- package/dist/parquetjs/parquet-thrift/Statistics.js.map +1 -1
- package/dist/parquetjs/parquet-thrift/StringType.d.ts +1 -1
- package/dist/parquetjs/parquet-thrift/StringType.d.ts.map +1 -1
- package/dist/parquetjs/parquet-thrift/StringType.js +1 -1
- package/dist/parquetjs/parquet-thrift/StringType.js.map +1 -1
- package/dist/parquetjs/parquet-thrift/TimeType.d.ts +1 -1
- package/dist/parquetjs/parquet-thrift/TimeType.d.ts.map +1 -1
- package/dist/parquetjs/parquet-thrift/TimeType.js +1 -1
- package/dist/parquetjs/parquet-thrift/TimeType.js.map +1 -1
- package/dist/parquetjs/parquet-thrift/TimeUnit.d.ts +5 -1
- package/dist/parquetjs/parquet-thrift/TimeUnit.d.ts.map +1 -1
- package/dist/parquetjs/parquet-thrift/TimeUnit.js +25 -1
- package/dist/parquetjs/parquet-thrift/TimeUnit.js.map +1 -1
- package/dist/parquetjs/parquet-thrift/TimestampType.d.ts +1 -1
- package/dist/parquetjs/parquet-thrift/TimestampType.d.ts.map +1 -1
- package/dist/parquetjs/parquet-thrift/TimestampType.js +1 -1
- package/dist/parquetjs/parquet-thrift/TimestampType.js.map +1 -1
- package/dist/parquetjs/parquet-thrift/TypeDefinedOrder.d.ts +1 -1
- package/dist/parquetjs/parquet-thrift/TypeDefinedOrder.d.ts.map +1 -1
- package/dist/parquetjs/parquet-thrift/TypeDefinedOrder.js +1 -1
- package/dist/parquetjs/parquet-thrift/TypeDefinedOrder.js.map +1 -1
- package/dist/parquetjs/parquet-thrift/UUIDType.d.ts +1 -1
- package/dist/parquetjs/parquet-thrift/UUIDType.d.ts.map +1 -1
- package/dist/parquetjs/parquet-thrift/UUIDType.js +1 -1
- package/dist/parquetjs/parquet-thrift/UUIDType.js.map +1 -1
- package/dist/parquetjs/parquet-thrift/VariantType.d.ts +11 -0
- package/dist/parquetjs/parquet-thrift/VariantType.d.ts.map +1 -0
- package/dist/parquetjs/parquet-thrift/VariantType.js +41 -0
- package/dist/parquetjs/parquet-thrift/VariantType.js.map +1 -0
- package/dist/parquetjs/parquet-thrift/index.d.ts +6 -2
- package/dist/parquetjs/parquet-thrift/index.d.ts.map +1 -1
- package/dist/parquetjs/parquet-thrift/index.js +6 -2
- package/dist/parquetjs/parquet-thrift/index.js.map +1 -1
- package/dist/parquetjs/parser/decoders.d.ts +14 -3
- package/dist/parquetjs/parser/decoders.d.ts.map +1 -1
- package/dist/parquetjs/parser/decoders.js +381 -117
- package/dist/parquetjs/parser/decoders.js.map +1 -1
- package/dist/parquetjs/parser/parquet-reader.d.ts +35 -10
- package/dist/parquetjs/parser/parquet-reader.d.ts.map +1 -1
- package/dist/parquetjs/parser/parquet-reader.js +179 -59
- package/dist/parquetjs/parser/parquet-reader.js.map +1 -1
- package/dist/parquetjs/schema/declare.d.ts +62 -8
- package/dist/parquetjs/schema/declare.d.ts.map +1 -1
- package/dist/parquetjs/schema/declare.js.map +1 -1
- package/dist/parquetjs/schema/schema.d.ts +3 -0
- package/dist/parquetjs/schema/schema.d.ts.map +1 -1
- package/dist/parquetjs/schema/schema.js +21 -3
- package/dist/parquetjs/schema/schema.js.map +1 -1
- package/dist/parquetjs/schema/shred.d.ts +2 -0
- package/dist/parquetjs/schema/shred.d.ts.map +1 -1
- package/dist/parquetjs/schema/shred.js +71 -23
- package/dist/parquetjs/schema/shred.js.map +1 -1
- package/dist/parquetjs/schema/types.d.ts.map +1 -1
- package/dist/parquetjs/schema/types.js +272 -51
- package/dist/parquetjs/schema/types.js.map +1 -1
- package/dist/parquetjs/utils/binary-utils.d.ts +41 -0
- package/dist/parquetjs/utils/binary-utils.d.ts.map +1 -0
- package/dist/parquetjs/utils/binary-utils.js +106 -0
- package/dist/parquetjs/utils/binary-utils.js.map +1 -0
- package/dist/parquetjs/utils/file-utils.d.ts +1 -1
- package/dist/parquetjs/utils/file-utils.d.ts.map +1 -1
- package/dist/parquetjs/utils/file-utils.js +3 -3
- package/dist/parquetjs/utils/file-utils.js.map +1 -1
- package/dist/parquetjs/utils/read-utils.d.ts +14 -6
- package/dist/parquetjs/utils/read-utils.d.ts.map +1 -1
- package/dist/parquetjs/utils/read-utils.js +46 -39
- package/dist/parquetjs/utils/read-utils.js.map +1 -1
- package/dist/parquetjs/utils/thrift-runtime.d.ts +106 -0
- package/dist/parquetjs/utils/thrift-runtime.d.ts.map +1 -0
- package/dist/parquetjs/utils/thrift-runtime.js +50 -0
- package/dist/parquetjs/utils/thrift-runtime.js.map +1 -0
- package/dist/parquetjs/utils/uint8-array-compact-protocol-writer.d.ts +78 -0
- package/dist/parquetjs/utils/uint8-array-compact-protocol-writer.d.ts.map +1 -0
- package/dist/parquetjs/utils/uint8-array-compact-protocol-writer.js +213 -0
- package/dist/parquetjs/utils/uint8-array-compact-protocol-writer.js.map +1 -0
- package/dist/parquetjs/utils/uint8-array-compact-protocol.d.ts +80 -0
- package/dist/parquetjs/utils/uint8-array-compact-protocol.d.ts.map +1 -0
- package/dist/parquetjs/utils/uint8-array-compact-protocol.js +276 -0
- package/dist/parquetjs/utils/uint8-array-compact-protocol.js.map +1 -0
- package/dist/parquetjs/utils/uint8-array-transport.d.ts +25 -0
- package/dist/parquetjs/utils/uint8-array-transport.d.ts.map +1 -0
- package/dist/parquetjs/utils/uint8-array-transport.js +62 -0
- package/dist/parquetjs/utils/uint8-array-transport.js.map +1 -0
- package/dist/polyfills/process.d.ts +12 -0
- package/dist/polyfills/process.d.ts.map +1 -0
- package/dist/polyfills/process.js +17 -0
- package/dist/polyfills/process.js.map +1 -0
- package/dist/unbundled.d.ts +9 -0
- package/dist/unbundled.d.ts.map +1 -0
- package/dist/unbundled.js +10 -0
- package/dist/unbundled.js.map +1 -0
- package/dist/wasm.d.ts +3 -0
- package/dist/wasm.d.ts.map +1 -0
- package/dist/wasm.js +6 -0
- package/dist/wasm.js.map +1 -0
- package/dist/workers/parquet-source-worker.d.ts +2 -0
- package/dist/workers/parquet-source-worker.d.ts.map +1 -0
- package/dist/workers/parquet-source-worker.js +17 -0
- package/dist/workers/parquet-source-worker.js.map +1 -0
- package/dist/workers/parquet-worker-node.d.ts +2 -0
- package/dist/workers/parquet-worker-node.d.ts.map +1 -0
- package/dist/workers/parquet-worker-node.js +5 -0
- package/dist/workers/parquet-worker-node.js.map +1 -0
- package/dist/workers/parquet-worker.d.ts +2 -0
- package/dist/workers/parquet-worker.d.ts.map +1 -0
- package/dist/workers/parquet-worker.js +27 -0
- package/dist/workers/parquet-worker.js.map +1 -0
- package/package.json +63 -33
- package/src/bundled.ts +33 -0
- package/src/geoparquet-loader-with-parser.ts +95 -0
- package/src/geoparquet-loader.ts +54 -0
- package/src/index.ts +49 -23
- package/src/lib/arrow/convert-columns-to-row-group.ts +3 -0
- package/src/lib/arrow/convert-schema-from-parquet.ts +97 -30
- package/src/lib/arrow/convert-schema-to-parquet.ts +16 -7
- package/src/lib/arrow/create-nested-arrow-vector.ts +589 -0
- package/src/lib/constants.ts +0 -2
- package/src/lib/encoders/encode-arrow-to-parquet.ts +10 -16
- package/src/lib/encoders/encode-table-to-parquet-js.ts +261 -0
- package/src/lib/geo/geospatial-metadata.ts +457 -0
- package/src/lib/parquet-page-index.ts +581 -0
- package/src/lib/parquet-predicate.ts +374 -0
- package/src/lib/parquet-source-worker-client.ts +39 -0
- package/src/lib/parquet-source-worker-decoder.ts +156 -0
- package/src/lib/parquet-source-worker-file.ts +56 -0
- package/src/lib/parquet-source-worker-types.ts +107 -0
- package/src/lib/parquet-worker-transport.ts +57 -0
- package/src/lib/parsers/convert-parquet-tables.ts +39 -0
- package/src/lib/parsers/get-parquet-schema.ts +3 -1
- package/src/lib/parsers/parse-geoparquet-to-geojson.ts +27 -14
- package/src/lib/parsers/parse-parquet-tables.ts +82 -0
- package/src/lib/parsers/parse-parquet-to-arrow-js.ts +829 -0
- package/src/lib/parsers/parse-parquet-to-arrow.ts +63 -36
- package/src/lib/parsers/parse-parquet-to-columns.ts +6 -7
- package/src/lib/parsers/parse-parquet-to-json.ts +101 -33
- package/src/lib/sources/parquet-range-file.ts +359 -0
- package/src/lib/sources/single-batch-queue.ts +95 -0
- package/src/lib/utils/load-wasm-node.ts +25 -0
- package/src/lib/utils/load-wasm.ts +36 -13
- package/src/lib/utils/make-stream-iterator.ts +126 -14
- package/src/lib/utils/normalize-parquet-options.ts +14 -0
- package/src/parquet-dataset-source.ts +488 -0
- package/src/parquet-format.ts +2 -0
- package/src/parquet-js-loader-types.ts +52 -0
- package/src/parquet-js-loader.ts +83 -0
- package/src/parquet-js-writer.ts +68 -0
- package/src/parquet-loader-base.ts +34 -0
- package/src/parquet-loader-options.ts +51 -0
- package/src/parquet-loader-types.ts +35 -0
- package/src/parquet-loader.ts +115 -0
- package/src/parquet-source-capabilities.ts +56 -0
- package/src/parquet-source-loader-types.ts +87 -0
- package/src/parquet-source-loader.ts +1265 -0
- package/src/parquet-source-types.ts +458 -0
- package/src/parquet-source-worker-url.ts +23 -0
- package/src/parquet-worker-url.ts +18 -0
- package/src/parquet-writer.ts +42 -0
- package/src/parquetjs/LICENSE +23 -1
- package/src/parquetjs/codecs/byte-stream-split.ts +221 -0
- package/src/parquetjs/codecs/declare.ts +35 -3
- package/src/parquetjs/codecs/delta.ts +587 -0
- package/src/parquetjs/codecs/dictionary.ts +22 -4
- package/src/parquetjs/codecs/index.ts +18 -0
- package/src/parquetjs/codecs/plain.ts +149 -87
- package/src/parquetjs/codecs/rle.ts +268 -82
- package/src/parquetjs/compression.ts +110 -155
- package/src/parquetjs/encoder/dictionary-planner.ts +99 -0
- package/src/parquetjs/encoder/page-planner.ts +83 -0
- package/src/parquetjs/encoder/parquet-encoder.ts +378 -77
- package/src/parquetjs/parquet-thrift/BsonType.ts +1 -1
- package/src/parquetjs/parquet-thrift/ColumnChunk.ts +2 -2
- package/src/parquetjs/parquet-thrift/ColumnIndex.ts +13 -13
- package/src/parquetjs/parquet-thrift/ColumnMetaData.ts +2 -2
- package/src/parquetjs/parquet-thrift/ColumnOrder.ts +1 -1
- package/src/parquetjs/parquet-thrift/DataPageHeader.ts +1 -1
- package/src/parquetjs/parquet-thrift/DataPageHeaderV2.ts +1 -1
- package/src/parquetjs/parquet-thrift/DateType.ts +1 -1
- package/src/parquetjs/parquet-thrift/DecimalType.ts +1 -1
- package/src/parquetjs/parquet-thrift/DictionaryPageHeader.ts +1 -1
- package/src/parquetjs/parquet-thrift/EdgeInterpolationAlgorithm.ts +13 -0
- package/src/parquetjs/parquet-thrift/Encoding.ts +2 -1
- package/src/parquetjs/parquet-thrift/EnumType.ts +1 -1
- package/src/parquetjs/parquet-thrift/FileMetaData.ts +2 -2
- package/src/parquetjs/parquet-thrift/Float16Type.ts +28 -0
- package/src/parquetjs/parquet-thrift/GeographyType.ts +54 -0
- package/src/parquetjs/parquet-thrift/GeometryType.ts +43 -0
- package/src/parquetjs/parquet-thrift/IndexPageHeader.ts +1 -1
- package/src/parquetjs/parquet-thrift/IntType.ts +1 -1
- package/src/parquetjs/parquet-thrift/JsonType.ts +1 -1
- package/src/parquetjs/parquet-thrift/KeyValue.ts +1 -1
- package/src/parquetjs/parquet-thrift/ListType.ts +1 -1
- package/src/parquetjs/parquet-thrift/LogicalType.ts +97 -1
- package/src/parquetjs/parquet-thrift/MapType.ts +1 -1
- package/src/parquetjs/parquet-thrift/MicroSeconds.ts +1 -1
- package/src/parquetjs/parquet-thrift/MilliSeconds.ts +1 -1
- package/src/parquetjs/parquet-thrift/NanoSeconds.ts +28 -0
- package/src/parquetjs/parquet-thrift/NullType.ts +1 -1
- package/src/parquetjs/parquet-thrift/OffsetIndex.ts +1 -1
- package/src/parquetjs/parquet-thrift/PageEncodingStats.ts +1 -1
- package/src/parquetjs/parquet-thrift/PageHeader.ts +1 -1
- package/src/parquetjs/parquet-thrift/PageLocation.ts +2 -2
- package/src/parquetjs/parquet-thrift/RowGroup.ts +2 -2
- package/src/parquetjs/parquet-thrift/SchemaElement.ts +1 -1
- package/src/parquetjs/parquet-thrift/SortingColumn.ts +1 -1
- package/src/parquetjs/parquet-thrift/Statistics.ts +50 -14
- package/src/parquetjs/parquet-thrift/StringType.ts +1 -1
- package/src/parquetjs/parquet-thrift/TimeType.ts +1 -1
- package/src/parquetjs/parquet-thrift/TimeUnit.ts +25 -1
- package/src/parquetjs/parquet-thrift/TimestampType.ts +1 -1
- package/src/parquetjs/parquet-thrift/TypeDefinedOrder.ts +1 -1
- package/src/parquetjs/parquet-thrift/UUIDType.ts +1 -1
- package/src/parquetjs/parquet-thrift/VariantType.ts +43 -0
- package/src/parquetjs/parquet-thrift/index.ts +6 -4
- package/src/parquetjs/parser/decoders.ts +487 -133
- package/src/parquetjs/parser/parquet-reader.ts +297 -71
- package/src/parquetjs/schema/declare.ts +99 -7
- package/src/parquetjs/schema/schema.ts +23 -3
- package/src/parquetjs/schema/shred.ts +112 -35
- package/src/parquetjs/schema/types.ts +294 -61
- package/src/parquetjs/utils/binary-utils.ts +132 -0
- package/src/parquetjs/utils/file-utils.ts +4 -4
- package/src/parquetjs/utils/read-utils.ts +56 -55
- package/src/parquetjs/utils/thrift-runtime.ts +109 -0
- package/src/parquetjs/utils/uint8-array-compact-protocol-writer.ts +254 -0
- package/src/parquetjs/utils/uint8-array-compact-protocol.ts +322 -0
- package/src/parquetjs/utils/uint8-array-transport.ts +79 -0
- package/src/polyfills/process.ts +17 -0
- package/src/unbundled.ts +33 -0
- package/src/wasm.ts +6 -0
- package/src/workers/parquet-source-worker.ts +21 -0
- package/src/workers/parquet-worker-node.ts +5 -0
- package/src/workers/parquet-worker.ts +31 -0
- package/dist/parquet-arrow-loader.d.ts +0 -43
- package/dist/parquet-arrow-loader.d.ts.map +0 -1
- package/dist/parquet-arrow-loader.js +0 -49
- package/dist/parquet-arrow-loader.js.map +0 -1
- package/dist/parquet-arrow-writer.d.ts +0 -9
- package/dist/parquet-arrow-writer.d.ts.map +0 -1
- package/dist/parquet-arrow-writer.js +0 -23
- package/dist/parquet-arrow-writer.js.map +0 -1
- package/dist/parquet-json-loader.d.ts +0 -148
- package/dist/parquet-json-loader.d.ts.map +0 -1
- package/dist/parquet-json-loader.js +0 -106
- package/dist/parquet-json-loader.js.map +0 -1
- package/dist/parquet-json-writer.d.ts +0 -19
- package/dist/parquet-json-writer.d.ts.map +0 -1
- package/dist/parquet-json-writer.js +0 -20
- package/dist/parquet-json-writer.js.map +0 -1
- package/dist/polyfills/buffer/buffer-polyfill.browser.d.ts +0 -3
- package/dist/polyfills/buffer/buffer-polyfill.browser.d.ts.map +0 -1
- package/dist/polyfills/buffer/buffer-polyfill.browser.js +0 -12
- package/dist/polyfills/buffer/buffer-polyfill.browser.js.map +0 -1
- package/dist/polyfills/buffer/buffer-polyfill.node.d.ts +0 -3
- package/dist/polyfills/buffer/buffer-polyfill.node.d.ts.map +0 -1
- package/dist/polyfills/buffer/buffer-polyfill.node.js +0 -17
- package/dist/polyfills/buffer/buffer-polyfill.node.js.map +0 -1
- package/dist/polyfills/buffer/buffer.d.ts +0 -222
- package/dist/polyfills/buffer/buffer.d.ts.map +0 -1
- package/dist/polyfills/buffer/buffer.js +0 -1868
- package/dist/polyfills/buffer/buffer.js.map +0 -1
- package/dist/polyfills/buffer/index.d.ts +0 -4
- package/dist/polyfills/buffer/index.d.ts.map +0 -1
- package/dist/polyfills/buffer/index.js +0 -9
- package/dist/polyfills/buffer/index.js.map +0 -1
- package/dist/polyfills/buffer/install-buffer-polyfill.d.ts +0 -2
- package/dist/polyfills/buffer/install-buffer-polyfill.d.ts.map +0 -1
- package/dist/polyfills/buffer/install-buffer-polyfill.js +0 -10
- package/dist/polyfills/buffer/install-buffer-polyfill.js.map +0 -1
- package/dist/workers/parquet-json-worker.d.ts +0 -2
- package/dist/workers/parquet-json-worker.d.ts.map +0 -1
- package/dist/workers/parquet-json-worker.js +0 -7
- package/dist/workers/parquet-json-worker.js.map +0 -1
- package/src/parquet-arrow-loader.ts +0 -74
- package/src/parquet-arrow-writer.ts +0 -33
- package/src/parquet-json-loader.ts +0 -160
- package/src/parquet-json-writer.ts +0 -27
- package/src/parquetjs/modules.d.ts +0 -25
- package/src/polyfills/buffer/buffer-polyfill.browser.ts +0 -14
- package/src/polyfills/buffer/buffer-polyfill.node.ts +0 -19
- package/src/polyfills/buffer/buffer.ts +0 -2205
- package/src/polyfills/buffer/index.ts +0 -11
- package/src/polyfills/buffer/install-buffer-polyfill.ts +0 -12
- package/src/workers/parquet-json-worker.ts +0 -8
package/dist/index.cjs.map
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../src/index.ts", "../src/polyfills/buffer/buffer.ts", "../src/polyfills/buffer/buffer-polyfill.browser.ts", "../src/polyfills/buffer/install-buffer-polyfill.ts", "../src/parquet-format.ts", "../src/parquet-json-loader.ts", "../src/lib/parsers/parse-parquet-to-json.ts", "../src/parquetjs/codecs/plain.ts", "../src/parquetjs/codecs/rle.ts", "../src/parquetjs/codecs/dictionary.ts", "../src/parquetjs/codecs/index.ts", "../src/parquetjs/compression.ts", "../src/parquetjs/schema/types.ts", "../src/parquetjs/schema/shred.ts", "../src/parquetjs/schema/schema.ts", "../src/parquetjs/parquet-thrift/index.ts", "../src/parquetjs/parquet-thrift/Type.ts", "../src/parquetjs/parquet-thrift/ConvertedType.ts", "../src/parquetjs/parquet-thrift/FieldRepetitionType.ts", "../src/parquetjs/parquet-thrift/Encoding.ts", "../src/parquetjs/parquet-thrift/CompressionCodec.ts", "../src/parquetjs/parquet-thrift/PageType.ts", "../src/parquetjs/parquet-thrift/Statistics.ts", "../src/parquetjs/parquet-thrift/StringType.ts", "../src/parquetjs/parquet-thrift/UUIDType.ts", "../src/parquetjs/parquet-thrift/MapType.ts", "../src/parquetjs/parquet-thrift/ListType.ts", "../src/parquetjs/parquet-thrift/EnumType.ts", "../src/parquetjs/parquet-thrift/DateType.ts", "../src/parquetjs/parquet-thrift/NullType.ts", "../src/parquetjs/parquet-thrift/DecimalType.ts", "../src/parquetjs/parquet-thrift/MilliSeconds.ts", "../src/parquetjs/parquet-thrift/MicroSeconds.ts", "../src/parquetjs/parquet-thrift/TimestampType.ts", "../src/parquetjs/parquet-thrift/TimeUnit.ts", "../src/parquetjs/parquet-thrift/TimeType.ts", "../src/parquetjs/parquet-thrift/IntType.ts", "../src/parquetjs/parquet-thrift/JsonType.ts", "../src/parquetjs/parquet-thrift/BsonType.ts", "../src/parquetjs/parquet-thrift/SchemaElement.ts", "../src/parquetjs/parquet-thrift/LogicalType.ts", "../src/parquetjs/parquet-thrift/DataPageHeader.ts", "../src/parquetjs/parquet-thrift/IndexPageHeader.ts", "../src/parquetjs/parquet-thrift/DictionaryPageHeader.ts", "../src/parquetjs/parquet-thrift/DataPageHeaderV2.ts", "../src/parquetjs/parquet-thrift/PageHeader.ts", "../src/parquetjs/parquet-thrift/KeyValue.ts", "../src/parquetjs/parquet-thrift/SortingColumn.ts", "../src/parquetjs/parquet-thrift/PageEncodingStats.ts", "../src/parquetjs/parquet-thrift/ColumnMetaData.ts", "../src/parquetjs/parquet-thrift/ColumnChunk.ts", "../src/parquetjs/parquet-thrift/RowGroup.ts", "../src/parquetjs/parquet-thrift/TypeDefinedOrder.ts", "../src/parquetjs/parquet-thrift/FileMetaData.ts", "../src/parquetjs/parquet-thrift/ColumnOrder.ts", "../src/lib/constants.ts", "../src/parquetjs/utils/read-utils.ts", "../src/parquetjs/parser/decoders.ts", "../src/parquetjs/parser/parquet-reader.ts", "../src/lib/parsers/get-parquet-schema.ts", "../src/lib/arrow/convert-schema-from-parquet.ts", "../src/lib/parsers/parse-geoparquet-to-geojson.ts", "../src/parquet-json-writer.ts", "../src/parquet-arrow-loader.ts", "../src/lib/parsers/parse-parquet-to-arrow.ts", "../src/lib/utils/load-wasm.ts", "../src/lib/utils/make-stream-iterator.ts", "../src/lib/encoders/encode-arrow-to-parquet.ts", "../src/parquet-arrow-writer.ts", "../src/parquetjs/utils/file-utils.ts", "../src/parquetjs/encoder/parquet-encoder.ts"],
|
|
4
|
-
"sourcesContent": ["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nexport {Buffer} from './polyfills/buffer/install-buffer-polyfill';\n\n// import {ArrowTable, ArrowTableBatch} from '@loaders.gl/arrow';\n\nexport {ParquetFormat} from './parquet-format';\n\nexport {\n ParquetJSONWorkerLoader,\n ParquetJSONLoader,\n GeoParquetWorkerLoader,\n GeoParquetLoader,\n // deprecated\n ParquetJSONWorkerLoader as ParquetWorkerLoader,\n ParquetJSONLoader as ParquetLoader\n} from './parquet-json-loader';\n\nexport {\n ParquetJSONWriter as _ParquetJSONWriter,\n // deprecated\n ParquetJSONWriter as ParquetWriter\n} from './parquet-json-writer';\n\n// EXPERIMENTAL - expose Parquet WASM loaders/writer\n\nexport type {ParquetArrowLoaderOptions} from './parquet-arrow-loader';\nexport {ParquetArrowLoader, ParquetArrowWorkerLoader} from './parquet-arrow-loader';\nexport {ParquetArrowWriter} from './parquet-arrow-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 {ParquetEncoder} from './parquetjs/encoder/parquet-encoder';\n\nexport {\n convertParquetSchema,\n convertParquetSchema as convertParquetToArrowSchema\n} from './lib/arrow/convert-schema-from-parquet';\n\n// Experimental\nexport {BufferPolyfill, installBufferPolyfill} from './polyfills/buffer/index';\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n// This file is forked from https://github.com/feross/buffer under MIT license\n\n/* !\n * The buffer module from node.js, for the browser.\n * @author Feross Aboukhadijeh <https://feross.org>\n * @license MIT\n * https://github.com/feross/buffer/blob/master/AUTHORS.md\n */\n\n/**\n * The decision to include this polyfill in loaders.gl may seem controversial.\n * \n * It is based on the following reasoning:\n * - The Buffer API is used in the parquetjs library and likely other Node.js \n * libraries we will use in the future.\n * - While the goal is to convert code from Buffer to ArrayBuffer, the Thrift \n * code in Parquet may be autogenerated.\n * - Bundlers often require a polyfill to be included, this extra step is not \n * a great experience for loaders.gl users.\n * - The forked buffer polyfill module had old and generated some type errors.\n */\n\n/* eslint-disable */ // no-proto, max-statements, max-depth, complexity, no-continue, prefer-spread, no-constant-condition, consistent-return */\n\n// @ts-nocheck - this references don't work well in prototype assignment\n\nimport base64 from 'base64-js';\nimport ieee754 from 'ieee754';\n\nexport const kMaxLength = 0x7fffffff;\nexport const INSPECT_MAX_BYTES = 50;\n\ntype BufferEncoding = string;\n\n// const customInspectSymbol =\n// typeof Symbol === 'function' && typeof Symbol['for'] === 'function' // eslint-disable-line dot-notation\n// ? Symbol['for']('nodejs.util.inspect.custom') // eslint-disable-line dot-notation\n// : null;\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\nexport class Buffer extends Uint8Array {\n static poolSize = 8192; // not used by this implementation\n\n // length: number; inherited\n\n get parent() {\n if (!Buffer.isBuffer(this)) return undefined;\n return this.buffer;\n }\n\n get offset() {\n if (!Buffer.isBuffer(this)) return undefined;\n return this.byteOffset;\n }\n\n /** This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package)\n * to detect a Buffer instance. It's not possible to use `instanceof Buffer`\n * reliably in a browserify context because there could be multiple different\n * copies of the 'buffer' package in use. This method works even for Buffer\n * instances that were created from another copy of the `buffer` package.\n * @see: https://github.com/feross/buffer/issues/154\n */\n _isBuffer = true;\n\n /**\n * Allocates a new buffer containing the given {str}.\n *\n * @param str String to store in buffer.\n * @param encoding encoding to use, optional. Default is 'utf8'\n */\n constructor(str: string, encoding?: string);\n /**\n * Allocates a new buffer of {size} octets.\n *\n * @param size count of octets to allocate.\n */\n constructor(size: number);\n /**\n * Allocates a new buffer containing the given {array} of octets.\n *\n * @param array The octets to store.\n */\n constructor(array: Uint8Array);\n /**\n * Produces a Buffer backed by the same allocated memory as\n * the given {ArrayBuffer}.\n *\n *\n * @param arrayBuffer The ArrayBuffer with which to share memory.\n */\n constructor(arrayBuffer: ArrayBuffer);\n /**\n * Allocates a new buffer containing the given {array} of octets.\n *\n * @param array The octets to store.\n */\n constructor(array: any[]);\n /**\n * Copies the passed {buffer} data onto a new {Buffer} instance.\n *\n * @param buffer The buffer to copy.\n */\n constructor(buffer: Buffer);\n\n constructor(arg, encodingOrOffset?, length?: number) {\n if (typeof arg !== 'number') {\n return Buffer.from(arg, encodingOrOffset, length);\n }\n\n // Basic case, just a length\n const size = arg;\n if (size > kMaxLength) {\n throw new RangeError(`The value \"${size}\" is invalid for option \"size\"`);\n }\n if (typeof encodingOrOffset === 'string') {\n throw new TypeError('The \"string\" argument must be of type string. Received type number');\n }\n super(size < 0 ? 0 : checked(size) | 0);\n return;\n }\n\n /**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\n\n /**\n * Allocates a new Buffer using an {array} of octets.\n *\n * @param array\n */\n static from(array: any[]): Buffer;\n /**\n * When passed a reference to the .buffer property of a TypedArray instance,\n * the newly created Buffer will share the same allocated memory as the TypedArray.\n * The optional {byteOffset} and {length} arguments specify a memory range\n * within the {arrayBuffer} that will be shared by the Buffer.\n *\n * @param arrayBuffer The .buffer property of a TypedArray or a new ArrayBuffer()\n * @param byteOffset\n * @param length\n */\n static from(arrayBuffer: ArrayBuffer, byteOffset?: number, length?: number): Buffer;\n /**\n * Copies the passed {buffer} data onto a new Buffer instance.\n *\n * @param buffer\n */\n static from(buffer: Buffer | Uint8Array): Buffer;\n /**\n * Creates a new Buffer containing the given JavaScript string {str}.\n * If provided, the {encoding} parameter identifies the character encoding.\n * If not provided, {encoding} defaults to 'utf8'.\n *\n * @param str\n */\n static from(str: string, encoding?: string): Buffer;\n\n static from(value, encodingOrOffset, length) {\n if (typeof value === 'string') {\n return fromString(value, encodingOrOffset);\n }\n\n if (ArrayBuffer.isView(value)) {\n return fromArrayView(value);\n }\n\n if (value == null) {\n throw new TypeError(\n `${\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type '\n }${typeof value}`\n );\n }\n\n if (isInstance(value, ArrayBuffer) || (value && isInstance(value.buffer, ArrayBuffer))) {\n return fromArrayBuffer(value, encodingOrOffset, length);\n }\n\n if (\n typeof SharedArrayBuffer !== 'undefined' &&\n (isInstance(value, SharedArrayBuffer) ||\n (value && isInstance(value.buffer, SharedArrayBuffer)))\n ) {\n return fromArrayBuffer(value, encodingOrOffset, length);\n }\n\n if (typeof value === 'number') {\n throw new TypeError('The \"value\" argument must not be of type number. Received type number');\n }\n\n const valueOf = value.valueOf && value.valueOf();\n if (valueOf != null && valueOf !== value) {\n return Buffer.from(valueOf, encodingOrOffset, length);\n }\n\n const b = fromObject(value);\n if (b) return b;\n\n if (\n typeof Symbol !== 'undefined' &&\n Symbol.toPrimitive != null &&\n typeof value[Symbol.toPrimitive] === 'function'\n ) {\n return Buffer.from(value[Symbol.toPrimitive]('string'), encodingOrOffset, length);\n }\n\n throw new TypeError(\n `${\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type '\n }${typeof value}`\n );\n }\n\n /**\n * Returns true if {obj} is a Buffer\n *\n * @param obj object to test.\n */\n static isBuffer(b: any): obj is Buffer {\n return b != null && b._isBuffer === true && b !== Buffer.prototype; // so Buffer.isBuffer(Buffer.prototype) will be false\n }\n\n /**\n * The same as buf1.compare(buf2).\n */\n static compare(a: Uint8Array | Buffer, b: Uint8Array | Buffer): number {\n if (!Buffer.isBuffer(a) && isInstance(a, Uint8Array)) a = Buffer.from(a, a.offset, a.byteLength);\n if (!Buffer.isBuffer(b) && isInstance(b, Uint8Array)) b = Buffer.from(b, b.offset, b.byteLength);\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array');\n }\n\n if (a === b) return 0;\n\n let x = a.length;\n let y = b.length;\n\n for (let i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i];\n y = b[i];\n break;\n }\n }\n\n if (x < y) return -1;\n if (y < x) return 1;\n return 0;\n }\n\n /**\n * Returns true if {encoding} is a valid encoding argument.\n * Valid string encodings in Node 0.12: 'ascii'|'utf8'|'utf16le'|'ucs2'(alias of 'utf16le')|'base64'|'binary'(deprecated)|'hex'\n *\n * @param encoding string to test.\n */\n static isEncoding(encoding: string): boolean {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true;\n default:\n return false;\n }\n }\n\n /**\n * Returns a buffer which is the result of concatenating all the buffers in the list together.\n *\n * If the list has no items, or if the totalLength is 0, then it returns a zero-length buffer.\n * If the list has exactly one item, then the first item of the list is returned.\n * If the list has more than one item, then a new Buffer is created.\n *\n * @param list An array of Buffer objects to concatenate\n * @param totalLength Total length of the buffers when concatenated.\n * If totalLength is not provided, it is read from the buffers in the list. However, this adds an additional loop to the function, so it is faster to provide the length explicitly.\n */\n static concat(list: (Uint8Array | Buffer)[], length?: number): Buffer {\n if (!Array.isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers');\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0);\n }\n\n let i;\n if (length === undefined) {\n length = 0;\n for (i = 0; i < list.length; ++i) {\n length += list[i].length;\n }\n }\n\n const buffer = Buffer.allocUnsafe(length);\n let pos = 0;\n for (i = 0; i < list.length; ++i) {\n let buf = list[i];\n if (isInstance(buf, Uint8Array)) {\n if (pos + buf.length > buffer.length) {\n if (!Buffer.isBuffer(buf)) {\n buf = Buffer.from(buf.buffer, buf.byteOffset, buf.byteLength);\n }\n buf.copy(buffer, pos);\n } else {\n Uint8Array.prototype.set.call(buffer, buf, pos);\n }\n } else if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers');\n } else {\n buf.copy(buffer, pos);\n }\n pos += buf.length;\n }\n return buffer;\n }\n\n /**\n * Allocates a new buffer of {size} octets.\n *\n * @param size count of octets to allocate.\n * @param fill if specified, buffer will be initialized by calling buf.fill(fill).\n * If parameter is omitted, buffer will be filled with zeros.\n * @param encoding encoding used for call to buf.fill while initializing\n */\n static alloc(size: number, fill?: string | Buffer | number, encoding?: string): Buffer {\n return alloc(size, fill, encoding);\n }\n\n /**\n * Allocates a new buffer of {size} octets, leaving memory not initialized, so the contents\n * of the newly created Buffer are unknown and may contain sensitive data.\n *\n * @param size count of octets to allocate\n */\n static allocUnsafe(size: number): Buffer {\n assertSize(size);\n return new Buffer(size);\n }\n\n /**\n * Allocates a new non-pooled buffer of {size} octets, leaving memory not initialized, so the contents\n * of the newly created Buffer are unknown and may contain sensitive data.\n *\n * @param size count of octets to allocate\n */\n static allocUnsafeSlow(size: number): Buffer {\n return allocUnsafe(size);\n }\n\n includes(val: string | number | Buffer, byteOffset?: number, encoding?: string): boolean {\n return this.indexOf(val, byteOffset, encoding) !== -1;\n }\n\n indexOf(val: string | number | Buffer, byteOffset?: number, encoding?: string): number {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true);\n }\n\n lastIndexOf(val: string | number | Buffer, byteOffset?: number, encoding?: string): number {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false);\n }\n\n readInt8(offset: number, noAssert?: boolean): number {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 1, this.length);\n if (!(this[offset] & 0x80)) return this[offset];\n return (0xff - this[offset] + 1) * -1;\n }\n\n readInt16LE(offset: number, noAssert?: boolean): number {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 2, this.length);\n const val = this[offset] | (this[offset + 1] << 8);\n return val & 0x8000 ? val | 0xffff0000 : val;\n }\n\n readInt16BE(offset: number, noAssert?: boolean): number {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 2, this.length);\n const val = this[offset + 1] | (this[offset] << 8);\n return val & 0x8000 ? val | 0xffff0000 : val;\n }\n\n readInt32LE(offset: number, noAssert?: boolean): number {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 4, this.length);\n\n return (\n this[offset] | (this[offset + 1] << 8) | (this[offset + 2] << 16) | (this[offset + 3] << 24)\n );\n }\n\n readInt32BE(offset: number, noAssert?: boolean): number {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 4, this.length);\n\n return (\n (this[offset] << 24) | (this[offset + 1] << 16) | (this[offset + 2] << 8) | this[offset + 3]\n );\n }\n\n readIntBE(offset: number, byteLength: number, noAssert?: boolean): number {\n offset = offset >>> 0;\n byteLength = byteLength >>> 0;\n if (!noAssert) checkOffset(offset, byteLength, this.length);\n\n let i = byteLength;\n let mul = 1;\n let val = this[offset + --i];\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul;\n }\n mul *= 0x80;\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength);\n\n return val;\n }\n\n readIntLE(offset: number, byteLength: number, noAssert?: boolean): number {\n offset = offset >>> 0;\n byteLength = byteLength >>> 0;\n if (!noAssert) checkOffset(offset, byteLength, this.length);\n\n let val = this[offset];\n let mul = 1;\n let i = 0;\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul;\n }\n mul *= 0x80;\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength);\n\n return val;\n }\n\n readBigInt64LE(offset: number): BigInt {\n offset = offset >>> 0;\n validateNumber(offset, 'offset');\n const first = this[offset];\n const last = this[offset + 7];\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8);\n }\n\n const val =\n this[offset + 4] + this[offset + 5] * 2 ** 8 + this[offset + 6] * 2 ** 16 + (last << 24); // Overflow\n\n return (\n (BigInt(val) << BigInt(32)) +\n BigInt(first + this[++offset] * 2 ** 8 + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 24)\n );\n }\n\n readBigInt64BE(offset: number): BigInt {\n offset = offset >>> 0;\n validateNumber(offset, 'offset');\n const first = this[offset];\n const last = this[offset + 7];\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8);\n }\n\n const val =\n (first << 24) + // Overflow\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n this[++offset];\n\n return (\n (BigInt(val) << BigInt(32)) +\n BigInt(this[++offset] * 2 ** 24 + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 8 + last)\n );\n }\n\n readUInt8(offset: number, noAssert?: boolean): number {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 1, this.length);\n return this[offset];\n }\n\n readUInt16LE(offset: number, noAssert?: boolean): number {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 2, this.length);\n return this[offset] | (this[offset + 1] << 8);\n }\n\n readUInt16BE(offset: number, noAssert?: boolean): number {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 2, this.length);\n return (this[offset] << 8) | this[offset + 1];\n }\n\n readUInt32LE(offset: number, noAssert?: boolean): number {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 4, this.length);\n\n return (\n (this[offset] | (this[offset + 1] << 8) | (this[offset + 2] << 16)) +\n this[offset + 3] * 0x1000000\n );\n }\n\n readUInt32BE(offset: number, noAssert?: boolean): number {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 4, this.length);\n\n return (\n this[offset] * 0x1000000 +\n ((this[offset + 1] << 16) | (this[offset + 2] << 8) | this[offset + 3])\n );\n }\n\n readUIntLE(offset, byteLength, noAssert) {\n offset = offset >>> 0;\n byteLength = byteLength >>> 0;\n if (!noAssert) checkOffset(offset, byteLength, this.length);\n\n let val = this[offset];\n let mul = 1;\n let i = 0;\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul;\n }\n\n return val;\n }\n\n readUIntBE(offset, byteLength, noAssert) {\n offset = offset >>> 0;\n byteLength = byteLength >>> 0;\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length);\n }\n\n let val = this[offset + --byteLength];\n let mul = 1;\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul;\n }\n\n return val;\n }\n\n readBigUInt64LE(offset: number): BigInt {\n offset = offset >>> 0;\n validateNumber(offset, 'offset');\n const first = this[offset];\n const last = this[offset + 7];\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8);\n }\n\n const lo =\n first + this[++offset] * 2 ** 8 + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 24;\n\n const hi = this[++offset] + this[++offset] * 2 ** 8 + this[++offset] * 2 ** 16 + last * 2 ** 24;\n\n return BigInt(lo) + (BigInt(hi) << BigInt(32));\n }\n\n readBigUInt64BE(offset: number): BigInt {\n offset = offset >>> 0;\n validateNumber(offset, 'offset');\n const first = this[offset];\n const last = this[offset + 7];\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8);\n }\n\n const hi =\n first * 2 ** 24 + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 8 + this[++offset];\n\n const lo = this[++offset] * 2 ** 24 + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 8 + last;\n\n return (BigInt(hi) << BigInt(32)) + BigInt(lo);\n }\n\n readFloatLE(offset: number, noAssert?: boolean): number {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 4, this.length);\n return ieee754.read(this, offset, true, 23, 4);\n }\n\n readFloatBE(offset: number, noAssert?: boolean): number {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 4, this.length);\n return ieee754.read(this, offset, false, 23, 4);\n }\n\n readDoubleLE(offset: number, noAssert?: boolean): number {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 8, this.length);\n return ieee754.read(this, offset, true, 52, 8);\n }\n\n readDoubleBE(offset: number, noAssert?: boolean): number {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 8, this.length);\n return ieee754.read(this, offset, false, 52, 8);\n }\n\n writeUInt8(value: number, offset: number, noAssert?: boolean): number {\n value = Number(value);\n offset = offset >>> 0;\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0);\n this[offset] = value & 0xff;\n return offset + 1;\n }\n\n writeUInt16LE(value: number, offset: number, noAssert?: boolean): number {\n value = Number(value);\n offset = offset >>> 0;\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0);\n this[offset] = value & 0xff;\n this[offset + 1] = value >>> 8;\n return offset + 2;\n }\n\n writeUInt16BE(value: number, offset: number, noAssert?: boolean): number {\n value = Number(value);\n offset = offset >>> 0;\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0);\n this[offset] = value >>> 8;\n this[offset + 1] = value & 0xff;\n return offset + 2;\n }\n\n writeUInt32LE(value: number, offset: number, noAssert?: boolean): number {\n value = Number(value);\n offset = offset >>> 0;\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0);\n this[offset + 3] = value >>> 24;\n this[offset + 2] = value >>> 16;\n this[offset + 1] = value >>> 8;\n this[offset] = value & 0xff;\n return offset + 4;\n }\n\n writeUInt32BE(value: number, offset: number, noAssert?: boolean): number {\n value = Number(value);\n offset = offset >>> 0;\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0);\n this[offset] = value >>> 24;\n this[offset + 1] = value >>> 16;\n this[offset + 2] = value >>> 8;\n this[offset + 3] = value & 0xff;\n return offset + 4;\n }\n\n writeUIntLE(value, offset, byteLength, noAssert) {\n value = Number(value);\n offset = offset >>> 0;\n byteLength = byteLength >>> 0;\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength) - 1;\n checkInt(this, value, offset, byteLength, maxBytes, 0);\n }\n\n let mul = 1;\n let i = 0;\n this[offset] = value & 0xff;\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xff;\n }\n\n return offset + byteLength;\n }\n\n writeUIntBE(value, offset, byteLength, noAssert) {\n value = Number(value);\n offset = offset >>> 0;\n byteLength = byteLength >>> 0;\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength) - 1;\n checkInt(this, value, offset, byteLength, maxBytes, 0);\n }\n\n let i = byteLength - 1;\n let mul = 1;\n this[offset + i] = value & 0xff;\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xff;\n }\n\n return offset + byteLength;\n }\n\n writeBigUInt64LE(value: number, offset: number = 0): BigInt {\n return wrtBigUInt64LE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'));\n }\n\n writeBigUInt64BE(value: number, offset: number = 0): BigInt {\n return wrtBigUInt64BE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'));\n }\n\n writeIntLE(value, offset, byteLength, noAssert) {\n value = Number(value);\n offset = offset >>> 0;\n if (!noAssert) {\n const limit = Math.pow(2, 8 * byteLength - 1);\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit);\n }\n\n let i = 0;\n let mul = 1;\n let sub = 0;\n this[offset] = value & 0xff;\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1;\n }\n this[offset + i] = (((value / mul) >> 0) - sub) & 0xff;\n }\n\n return offset + byteLength;\n }\n\n writeIntBE(value, offset, byteLength, noAssert) {\n value = Number(value);\n offset = offset >>> 0;\n if (!noAssert) {\n const limit = Math.pow(2, 8 * byteLength - 1);\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit);\n }\n\n let i = byteLength - 1;\n let mul = 1;\n let sub = 0;\n this[offset + i] = value & 0xff;\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1;\n }\n this[offset + i] = (((value / mul) >> 0) - sub) & 0xff;\n }\n\n return offset + byteLength;\n }\n\n writeInt8(value: number, offset: number, noAssert?: boolean): number {\n value = Number(value);\n offset = offset >>> 0;\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80);\n if (value < 0) value = 0xff + value + 1;\n this[offset] = value & 0xff;\n return offset + 1;\n }\n\n writeInt16LE(value: number, offset: number, noAssert?: boolean): number {\n value = Number(value);\n offset = offset >>> 0;\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000);\n this[offset] = value & 0xff;\n this[offset + 1] = value >>> 8;\n return offset + 2;\n }\n\n writeInt16BE(value: number, offset: number, noAssert?: boolean): number {\n value = Number(value);\n offset = offset >>> 0;\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000);\n this[offset] = value >>> 8;\n this[offset + 1] = value & 0xff;\n return offset + 2;\n }\n\n writeInt32LE(value: number, offset: number, noAssert?: boolean): number {\n value = Number(value);\n offset = offset >>> 0;\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000);\n this[offset] = value & 0xff;\n this[offset + 1] = value >>> 8;\n this[offset + 2] = value >>> 16;\n this[offset + 3] = value >>> 24;\n return offset + 4;\n }\n\n writeInt32BE(value: number, offset: number, noAssert?: boolean): number {\n value = Number(value);\n offset = offset >>> 0;\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000);\n if (value < 0) value = 0xffffffff + value + 1;\n this[offset] = value >>> 24;\n this[offset + 1] = value >>> 16;\n this[offset + 2] = value >>> 8;\n this[offset + 3] = value & 0xff;\n return offset + 4;\n }\n\n writeBigInt64LE(value: number, offset: number = 0): BigInt {\n return wrtBigUInt64LE(\n this,\n value,\n offset,\n -BigInt('0x8000000000000000'),\n BigInt('0x7fffffffffffffff')\n );\n }\n\n writeBigInt64BE(value: number, offset: number = 0): BigInt {\n return wrtBigUInt64BE(\n this,\n value,\n offset,\n -BigInt('0x8000000000000000'),\n BigInt('0x7fffffffffffffff')\n );\n }\n\n writeFloatLE(value: number, offset: number, noAssert?: boolean): number {\n return writeFloat(this, value, offset, true, noAssert);\n }\n\n writeFloatBE(value: number, offset: number, noAssert?: boolean): number {\n return writeFloat(this, value, offset, false, noAssert);\n }\n\n writeDoubleLE(value: number, offset: number, noAssert?: boolean): number {\n return writeDouble(this, value, offset, true, noAssert);\n }\n\n writeDoubleBE(value: number, offset: number, noAssert?: boolean): number {\n return writeDouble(this, value, offset, false, noAssert);\n }\n\n write(string: string, encoding?: BufferEncoding): number;\n write(string: string, offset: number, encoding?: BufferEncoding): number;\n write(string: string, offset: number, length: number, encoding?: BufferEncoding): number;\n write(string: string, offset, length, encoding): number {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8';\n length = this.length;\n offset = 0;\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset;\n length = this.length;\n offset = 0;\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset >>> 0;\n if (isFinite(length)) {\n length = length >>> 0;\n if (encoding === undefined) encoding = 'utf8';\n } else {\n encoding = length;\n length = undefined;\n }\n } else {\n throw new Error('Buffer.write(string, encoding, offset[, length]) is no longer supported');\n }\n\n const remaining = this.length - offset;\n if (length === undefined || length > remaining) length = remaining;\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds');\n }\n\n if (!encoding) encoding = 'utf8';\n\n let loweredCase = false;\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length);\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length);\n\n case 'ascii':\n case 'latin1':\n case 'binary':\n return asciiWrite(this, string, offset, length);\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length);\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length);\n\n default:\n if (loweredCase) throw new TypeError(`Unknown encoding: ${encoding}`);\n encoding = `${encoding}`.toLowerCase();\n loweredCase = true;\n }\n }\n }\n\n // copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\n copy(target: Buffer, targetStart?: number, start?: number, end?: number): number {\n if (!Buffer.isBuffer(target)) throw new TypeError('argument should be a Buffer');\n if (!start) start = 0;\n if (!end && end !== 0) end = this.length;\n if (targetStart >= target.length) targetStart = target.length;\n if (!targetStart) targetStart = 0;\n if (end > 0 && end < start) end = start;\n\n // Copy 0 bytes; we're done\n if (end === start) return 0;\n if (target.length === 0 || this.length === 0) return 0;\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds');\n }\n if (start < 0 || start >= this.length) throw new RangeError('Index out of range');\n if (end < 0) throw new RangeError('sourceEnd out of bounds');\n\n // Are we oob?\n if (end > this.length) end = this.length;\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start;\n }\n\n const len = end - start;\n\n if (this === target && typeof Uint8Array.prototype.copyWithin === 'function') {\n // Use built-in when available, missing from IE11\n this.copyWithin(targetStart, start, end);\n } else {\n Uint8Array.prototype.set.call(target, this.subarray(start, end), targetStart);\n }\n\n return len;\n }\n\n // Usage:\n // buffer.fill(number[, offset[, end]])\n // buffer.fill(buffer[, offset[, end]])\n // buffer.fill(string[, offset[, end]][, encoding])\n fill(val: any, start?: number, end?: number, encoding?): this {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start;\n start = 0;\n end = this.length;\n } else if (typeof end === 'string') {\n encoding = end;\n end = this.length;\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string');\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError(`Unknown encoding: ${encoding}`);\n }\n if (val.length === 1) {\n const code = val.charCodeAt(0);\n if ((encoding === 'utf8' && code < 128) || encoding === 'latin1') {\n // Fast path: If `val` fits into a single byte, use that numeric value.\n val = code;\n }\n }\n } else if (typeof val === 'number') {\n val = val & 255;\n } else if (typeof val === 'boolean') {\n val = Number(val);\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index');\n }\n\n if (end <= start) {\n return this;\n }\n\n start = start >>> 0;\n end = end === undefined ? this.length : end >>> 0;\n\n if (!val) val = 0;\n\n let i;\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val;\n }\n } else {\n const bytes = Buffer.isBuffer(val) ? val : Buffer.from(val, encoding);\n const len = bytes.length;\n if (len === 0) {\n throw new TypeError(`The value \"${val}\" is invalid for argument \"value\"`);\n }\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len];\n }\n }\n\n return this;\n }\n\n swap16() {\n const len = this.length;\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits');\n }\n for (let i = 0; i < len; i += 2) {\n swap(this, i, i + 1);\n }\n return this;\n }\n\n swap32() {\n const len = this.length;\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits');\n }\n for (let i = 0; i < len; i += 4) {\n swap(this, i, i + 3);\n swap(this, i + 1, i + 2);\n }\n return this;\n }\n\n swap64() {\n const len = this.length;\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits');\n }\n for (let i = 0; i < len; i += 8) {\n swap(this, i, i + 7);\n swap(this, i + 1, i + 6);\n swap(this, i + 2, i + 5);\n swap(this, i + 3, i + 4);\n }\n return this;\n }\n\n toString(encoding?: string, start?: number, end?: number): string {\n const length = this.length;\n if (length === 0) return '';\n if (arguments.length === 0) return utf8Slice(this, 0, length);\n return this._slowToString(...arguments);\n }\n\n // toLocaleString(b) {\n // if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer');\n // if (this === b) return true;\n // return Buffer.compare(this, b) === 0;\n // }\n\n inspect() {\n let str = '';\n const max = INSPECT_MAX_BYTES;\n str = this.toString('hex', 0, max)\n .replace(/(.{2})/g, '$1 ')\n .trim();\n if (this.length > max) str += ' ... ';\n return `<Buffer ${str}>`;\n }\n // if (customInspectSymbol) {\n // Buffer.prototype[customInspectSymbol] = Buffer.prototype.inspect;\n // }\n // }\n\n equals(b: Buffer): boolean {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer');\n if (this === b) return true;\n return Buffer.compare(this, b) === 0;\n }\n\n compare(\n target: Buffer | Uint8Array,\n start?: number,\n end?: number,\n thisStart?: number,\n thisEnd?: number\n ): number {\n if (!Buffer.isBuffer(target) && isInstance(target, Uint8Array)) {\n target = Buffer.from(target, target.offset, target.byteLength);\n }\n if (!Buffer.isBuffer(target)) {\n throw new TypeError(\n `${\n 'The \"target\" argument must be one of type Buffer or Uint8Array. ' + 'Received type '\n }${typeof target}`\n );\n }\n\n if (start === undefined) {\n start = 0;\n }\n if (end === undefined) {\n end = target ? target.length : 0;\n }\n if (thisStart === undefined) {\n thisStart = 0;\n }\n if (thisEnd === undefined) {\n thisEnd = this.length;\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index');\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0;\n }\n if (thisStart >= thisEnd) {\n return -1;\n }\n if (start >= end) {\n return 1;\n }\n\n start >>>= 0;\n end >>>= 0;\n thisStart >>>= 0;\n thisEnd >>>= 0;\n\n if (this === target) return 0;\n\n let x = thisEnd - thisStart;\n let y = end - start;\n const len = Math.min(x, y);\n\n const thisCopy = this.slice(thisStart, thisEnd);\n const targetCopy = target.slice(start, end);\n\n for (let i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i];\n y = targetCopy[i];\n break;\n }\n }\n\n if (x < y) return -1;\n if (y < x) return 1;\n return 0;\n }\n\n toJSON(): {type: 'Buffer'; data: any[]} {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n };\n }\n\n slice(start?: number, end?: number): this {\n const len = this.length;\n start = ~~start;\n end = end === undefined ? len : ~~end;\n\n if (start < 0) {\n start += len;\n if (start < 0) start = 0;\n } else if (start > len) {\n start = len;\n }\n\n if (end < 0) {\n end += len;\n if (end < 0) end = 0;\n } else if (end > len) {\n end = len;\n }\n\n if (end < start) end = start;\n\n const newBuf = this.subarray(start, end);\n\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(newBuf, Buffer.prototype);\n\n return newBuf as unknown as Buffer;\n }\n\n // Typo support?\n\n // readUint8(offset: number, noAssert?: boolean): number {\n // return this.readUInt8(...arguments);\n // }\n\n // readUint16LE(offset: number, noAssert?: boolean): number {\n // return this.readUInt16LE(...arguments);\n // }\n\n // readUint16BE(offset: number, noAssert?: boolean): number {\n // return this.readUInt16BE(...arguments);\n // }\n\n // readUint32LE(offset: number, noAssert?: boolean): number {\n // return this.readUInt32LE(...arguments);\n // }\n\n // readUint32BE(offset: number, noAssert?: boolean): number {\n // return this.readUInt32BE(...arguments);\n // }\n\n // writeUint8() {\n // return this.writeUInt8(...arguments);\n // }\n\n // writeUint16LE\n // writeUint16LE\n // writeUint32LE = Buffer.prototype.\n // Buffer.prototype.writeUint32BE\n\n protected _slowToString(encoding, start, end) {\n let loweredCase = false;\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0;\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return '';\n }\n\n if (end === undefined || end > this.length) {\n end = this.length;\n }\n\n if (end <= 0) {\n return '';\n }\n\n // Force coercion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0;\n start >>>= 0;\n\n if (end <= start) {\n return '';\n }\n\n if (!encoding) encoding = 'utf8';\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end);\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end);\n\n case 'ascii':\n return asciiSlice(this, start, end);\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end);\n\n case 'base64':\n return base64Slice(this, start, end);\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end);\n\n default:\n if (loweredCase) throw new TypeError(`Unknown encoding: ${encoding}`);\n encoding = `${encoding}`.toLowerCase();\n loweredCase = true;\n }\n }\n }\n}\n\nfunction checkInt(buf: Buffer, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance');\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds');\n if (offset + ext > buf.length) throw new RangeError('Index out of range');\n}\n\nfunction wrtBigUInt64LE(buf: Buffer, value, offset, min, max) {\n checkIntBI(value, min, max, buf, offset, 7);\n\n let lo = Number(value & BigInt(0xffffffff));\n buf[offset++] = lo;\n lo = lo >> 8;\n buf[offset++] = lo;\n lo = lo >> 8;\n buf[offset++] = lo;\n lo = lo >> 8;\n buf[offset++] = lo;\n let hi = Number((value >> BigInt(32)) & BigInt(0xffffffff));\n buf[offset++] = hi;\n hi = hi >> 8;\n buf[offset++] = hi;\n hi = hi >> 8;\n buf[offset++] = hi;\n hi = hi >> 8;\n buf[offset++] = hi;\n return offset;\n}\n\nfunction wrtBigUInt64BE(buf: Buffer, value, offset, min, max) {\n checkIntBI(value, min, max, buf, offset, 7);\n\n let lo = Number(value & BigInt(0xffffffff));\n buf[offset + 7] = lo;\n lo = lo >> 8;\n buf[offset + 6] = lo;\n lo = lo >> 8;\n buf[offset + 5] = lo;\n lo = lo >> 8;\n buf[offset + 4] = lo;\n let hi = Number((value >> BigInt(32)) & BigInt(0xffffffff));\n buf[offset + 3] = hi;\n hi = hi >> 8;\n buf[offset + 2] = hi;\n hi = hi >> 8;\n buf[offset + 1] = hi;\n hi = hi >> 8;\n buf[offset] = hi;\n return offset + 8;\n}\n\n// Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug:\n// https://github.com/feross/buffer/pull/148\n// Object.setPrototypeOf(Buffer.prototype, Uint8Array.prototype);\n// Object.setPrototypeOf(Buffer, Uint8Array);\n\nfunction assertSize(size: number): void {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be of type number');\n } else if (size < 0) {\n throw new RangeError(`The value \"${size}\" is invalid for option \"size\"`);\n }\n}\n\nfunction alloc(size, fill, encoding): Buffer {\n assertSize(size);\n if (size <= 0) {\n return new Buffer(size);\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpreted as a start offset.\n return typeof encoding === 'string'\n ? new Buffer(size).fill(fill, encoding)\n : new Buffer(size).fill(fill);\n }\n return new Buffer(size);\n}\n\nfunction fromString(string: string, encoding: BufferEncoding): Buffer {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8';\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError(`Unknown encoding: ${encoding}`);\n }\n\n const length = byteLength(string, encoding) | 0;\n let buf = new Buffer(length);\n\n const actual = buf.write(string, encoding);\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n buf = buf.slice(0, actual);\n }\n\n return buf;\n}\n\nfunction fromArrayLike(array: ArrayLike<any>): Buffer {\n const length = array.length < 0 ? 0 : checked(array.length) | 0;\n const buf = new Buffer(length);\n for (let i = 0; i < length; i += 1) {\n buf[i] = array[i] & 255;\n }\n return buf;\n}\n\nfunction fromArrayView(arrayView): Buffer {\n if (isInstance(arrayView, Uint8Array)) {\n const copy = new Uint8Array(arrayView);\n return fromArrayBuffer(copy.buffer, copy.byteOffset, copy.byteLength);\n }\n return fromArrayLike(arrayView);\n}\n\nfunction fromArrayBuffer(array: ArrayBuffer, byteOffset: number, length: number): Buffer {\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\"offset\" is outside of buffer bounds');\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\"length\" is outside of buffer bounds');\n }\n\n let buf;\n if (byteOffset === undefined && length === undefined) {\n buf = new Uint8Array(array);\n } else if (length === undefined) {\n buf = new Uint8Array(array, byteOffset);\n } else {\n buf = new Uint8Array(array, byteOffset, length);\n }\n\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(buf, Buffer.prototype);\n\n return buf;\n}\n\nfunction fromObject(obj) {\n if (Buffer.isBuffer(obj)) {\n const len = checked(obj.length) | 0;\n const buf = new Buffer(len);\n\n if (buf.length === 0) {\n return buf;\n }\n\n obj.copy(buf, 0, 0, len);\n return buf;\n }\n\n if (obj.length !== undefined) {\n if (typeof obj.length !== 'number' || numberIsNaN(obj.length)) {\n return new Buffer(0);\n }\n return fromArrayLike(obj);\n }\n\n if (obj.type === 'Buffer' && Array.isArray(obj.data)) {\n return fromArrayLike(obj.data);\n }\n}\n\nfunction checked(length) {\n // Note: cannot use `length < kMaxLength` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength) {\n throw new RangeError(\n `${'Attempt to allocate Buffer larger than maximum ' + 'size: 0x'}${kMaxLength.toString(\n 16\n )} bytes`\n );\n }\n return length | 0;\n}\n\nfunction byteLength(string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length;\n }\n if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) {\n return string.byteLength;\n }\n if (typeof string !== 'string') {\n throw new TypeError(\n `${\n 'The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. ' +\n 'Received type '\n }${typeof string}`\n );\n }\n\n const len = string.length;\n const mustMatch = arguments.length > 2 && arguments[2] === true;\n if (!mustMatch && len === 0) return 0;\n\n // Use a for loop to avoid recursion\n let loweredCase = false;\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len;\n case 'utf8':\n case 'utf-8':\n return utf8ToBytes(string).length;\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2;\n case 'hex':\n return len >>> 1;\n case 'base64':\n return base64ToBytes(string).length;\n default:\n if (loweredCase) {\n return mustMatch ? -1 : utf8ToBytes(string).length; // assume utf8\n }\n encoding = `${encoding}`.toLowerCase();\n loweredCase = true;\n }\n }\n}\n\n// Buffer.byteLength = byteLength;\n\nfunction swap(b, n, m) {\n const i = b[n];\n b[n] = b[m];\n b[m] = i;\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf(buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1;\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset;\n byteOffset = 0;\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff;\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000;\n }\n byteOffset = Number(byteOffset); // Coerce to Number.\n if (numberIsNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : buffer.length - 1;\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset;\n if (byteOffset >= buffer.length) {\n if (dir) return -1;\n byteOffset = buffer.length - 1;\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0;\n else return -1;\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding);\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1;\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir);\n } else if (typeof val === 'number') {\n val = val & 0xff; // Search for a byte value [0-255]\n if (typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset);\n }\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset);\n }\n return arrayIndexOf(buffer, [val], byteOffset, encoding, dir);\n }\n\n throw new TypeError('val must be string, number or Buffer');\n}\n\nfunction arrayIndexOf(arr, val, byteOffset, encoding, dir) {\n let indexSize = 1;\n let arrLength = arr.length;\n let valLength = val.length;\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase();\n if (\n encoding === 'ucs2' ||\n encoding === 'ucs-2' ||\n encoding === 'utf16le' ||\n encoding === 'utf-16le'\n ) {\n if (arr.length < 2 || val.length < 2) {\n return -1;\n }\n indexSize = 2;\n arrLength /= 2;\n valLength /= 2;\n byteOffset /= 2;\n }\n }\n\n function read(buf, i) {\n if (indexSize === 1) {\n return buf[i];\n }\n return buf.readUInt16BE(i * indexSize);\n }\n\n let i;\n if (dir) {\n let foundIndex = -1;\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i;\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize;\n } else {\n if (foundIndex !== -1) i -= i - foundIndex;\n foundIndex = -1;\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength;\n for (i = byteOffset; i >= 0; i--) {\n let found = true;\n for (let j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false;\n break;\n }\n }\n if (found) return i;\n }\n }\n\n return -1;\n}\n\nfunction hexWrite(buf: Buffer, string, offset, length): number {\n offset = Number(offset) || 0;\n const remaining = buf.length - offset;\n if (!length) {\n length = remaining;\n } else {\n length = Number(length);\n if (length > remaining) {\n length = remaining;\n }\n }\n\n const strLen = string.length;\n\n if (length > strLen / 2) {\n length = strLen / 2;\n }\n let i;\n for (i = 0; i < length; ++i) {\n const parsed = parseInt(string.substr(i * 2, 2), 16);\n if (numberIsNaN(parsed)) return i;\n buf[offset + i] = parsed;\n }\n return i;\n}\n\nfunction utf8Write(buf: Buffer, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length);\n}\n\nfunction asciiWrite(buf: Buffer, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length);\n}\n\nfunction base64Write(buf: Buffer, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length);\n}\n\nfunction ucs2Write(buf: Buffer, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length);\n}\n\nfunction base64Slice(buf: Buffer, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf);\n }\n return base64.fromByteArray(buf.slice(start, end));\n}\n\nfunction utf8Slice(buf: Buffer, start, end) {\n end = Math.min(buf.length, end);\n const res: number[] = [];\n\n let i = start;\n while (i < end) {\n const firstByte = buf[i];\n let codePoint: number | null = null;\n let bytesPerSequence = firstByte > 0xef ? 4 : firstByte > 0xdf ? 3 : firstByte > 0xbf ? 2 : 1;\n\n if (i + bytesPerSequence <= end) {\n let fourthByte;\n let secondByte;\n let tempCodePoint;\n let thirdByte;\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte;\n }\n break;\n case 2:\n secondByte = buf[i + 1];\n if ((secondByte & 0xc0) === 0x80) {\n tempCodePoint = ((firstByte & 0x1f) << 0x6) | (secondByte & 0x3f);\n if (tempCodePoint > 0x7f) {\n codePoint = tempCodePoint;\n }\n }\n break;\n case 3:\n secondByte = buf[i + 1];\n thirdByte = buf[i + 2];\n if ((secondByte & 0xc0) === 0x80 && (thirdByte & 0xc0) === 0x80) {\n tempCodePoint =\n ((firstByte & 0xf) << 0xc) | ((secondByte & 0x3f) << 0x6) | (thirdByte & 0x3f);\n if (tempCodePoint > 0x7ff && (tempCodePoint < 0xd800 || tempCodePoint > 0xdfff)) {\n codePoint = tempCodePoint;\n }\n }\n break;\n case 4:\n secondByte = buf[i + 1];\n thirdByte = buf[i + 2];\n fourthByte = buf[i + 3];\n if (\n (secondByte & 0xc0) === 0x80 &&\n (thirdByte & 0xc0) === 0x80 &&\n (fourthByte & 0xc0) === 0x80\n ) {\n tempCodePoint =\n ((firstByte & 0xf) << 0x12) |\n ((secondByte & 0x3f) << 0xc) |\n ((thirdByte & 0x3f) << 0x6) |\n (fourthByte & 0x3f);\n if (tempCodePoint > 0xffff && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint;\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xfffd;\n bytesPerSequence = 1;\n } else if (codePoint > 0xffff) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000;\n res.push(((codePoint >>> 10) & 0x3ff) | 0xd800);\n codePoint = 0xdc00 | (codePoint & 0x3ff);\n }\n\n res.push(codePoint);\n i += bytesPerSequence;\n }\n\n return decodeCodePointsArray(res);\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nconst MAX_ARGUMENTS_LENGTH = 0x1000;\n\nfunction decodeCodePointsArray(codePoints: number[]): string {\n const len = codePoints.length;\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints); // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n let res = '';\n let i = 0;\n while (i < len) {\n res += String.fromCharCode.apply(String, codePoints.slice(i, (i += MAX_ARGUMENTS_LENGTH)));\n }\n return res;\n}\n\nfunction asciiSlice(buf: Buffer, start, end): string {\n let ret = '';\n end = Math.min(buf.length, end);\n\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7f);\n }\n return ret;\n}\n\nfunction latin1Slice(buf: Buffer, start, end): string {\n let ret = '';\n end = Math.min(buf.length, end);\n\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i]);\n }\n return ret;\n}\n\nfunction hexSlice(buf: Buffer, start, end): string {\n const len = buf.length;\n\n if (!start || start < 0) start = 0;\n if (!end || end < 0 || end > len) end = len;\n\n let out = '';\n for (let i = start; i < end; ++i) {\n out += hexSliceLookupTable[buf[i]];\n }\n return out;\n}\n\nfunction utf16leSlice(buf: Buffer, start, end): string {\n const bytes = buf.slice(start, end);\n let res = '';\n // If bytes.length is odd, the last 8 bits must be ignored (same as node.js)\n for (let i = 0; i < bytes.length - 1; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256);\n }\n return res;\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset(offset, ext, length): void {\n if (offset % 1 !== 0 || offset < 0) throw new RangeError('offset is not uint');\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length');\n}\n\nfunction checkIEEE754(buf: Buffer, value, offset, ext, max, min): void {\n if (offset + ext > buf.length) throw new RangeError('Index out of range');\n if (offset < 0) throw new RangeError('Index out of range');\n}\n\nfunction writeFloat(buf: Buffer, value, offset, littleEndian, noAssert): number {\n value = Number(value);\n offset = offset >>> 0;\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e38, -3.4028234663852886e38);\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4);\n return offset + 4;\n}\n\nfunction writeDouble(buf: Buffer, value, offset, littleEndian, noAssert): number {\n value = Number(value);\n offset = offset >>> 0;\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157e308, -1.7976931348623157e308);\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8);\n return offset + 8;\n}\n\n// CUSTOM ERRORS\n\n// Simplified versions from Node, changed for Buffer-only usage\nconst errors: Record<string, any> = {};\nfunction E(sym, getMessage, Base) {\n errors[sym] = class NodeError extends Base {\n constructor() {\n super();\n\n Object.defineProperty(this, 'message', {\n value: getMessage.apply(this, arguments),\n writable: true,\n configurable: true\n });\n\n // Add the error code to the name to include it in the stack trace.\n this.name = `${this.name} [${sym}]`;\n // Access the stack to generate the error message including the error code\n // from the name.\n this.stack; // eslint-disable-line no-unused-expressions\n // Reset the name to the actual name.\n delete this.name;\n }\n\n get code() {\n return sym;\n }\n\n set code(value) {\n Object.defineProperty(this, 'code', {\n configurable: true,\n enumerable: true,\n value,\n writable: true\n });\n }\n\n toString() {\n return `${this.name} [${sym}]: ${this.message}`;\n }\n };\n}\n\nE(\n 'ERR_BUFFER_OUT_OF_BOUNDS',\n function (name) {\n if (name) {\n return `${name} is outside of buffer bounds`;\n }\n\n return 'Attempt to access memory outside buffer bounds';\n },\n RangeError\n);\nE(\n 'ERR_INVALID_ARG_TYPE',\n function (name, actual) {\n return `The \"${name}\" argument must be of type number. Received type ${typeof actual}`;\n },\n TypeError\n);\nE(\n 'ERR_OUT_OF_RANGE',\n function (str, range, input) {\n let msg = `The value of \"${str}\" is out of range.`;\n let received = input;\n if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) {\n received = addNumericalSeparator(String(input));\n } else if (typeof input === 'bigint') {\n received = String(input);\n if (input > BigInt(2) ** BigInt(32) || input < -(BigInt(2) ** BigInt(32))) {\n received = addNumericalSeparator(received);\n }\n received += 'n';\n }\n msg += ` It must be ${range}. Received ${received}`;\n return msg;\n },\n RangeError\n);\n\nfunction addNumericalSeparator(val) {\n let res = '';\n let i = val.length;\n const start = val[0] === '-' ? 1 : 0;\n for (; i >= start + 4; i -= 3) {\n res = `_${val.slice(i - 3, i)}${res}`;\n }\n return `${val.slice(0, i)}${res}`;\n}\n\n// CHECK FUNCTIONS\n\nfunction checkBounds(buf, offset, byteLength) {\n validateNumber(offset, 'offset');\n if (buf[offset] === undefined || buf[offset + byteLength] === undefined) {\n boundsError(offset, buf.length - (byteLength + 1));\n }\n}\n\nfunction checkIntBI(value, min, max, buf, offset, byteLength) {\n if (value > max || value < min) {\n const n = typeof min === 'bigint' ? 'n' : '';\n let range;\n if (byteLength > 3) {\n if (min === 0 || min === BigInt(0)) {\n range = `>= 0${n} and < 2${n} ** ${(byteLength + 1) * 8}${n}`;\n } else {\n range =\n `>= -(2${n} ** ${(byteLength + 1) * 8 - 1}${n}) and < 2 ** ` +\n `${(byteLength + 1) * 8 - 1}${n}`;\n }\n } else {\n range = `>= ${min}${n} and <= ${max}${n}`;\n }\n throw new errors.ERR_OUT_OF_RANGE('value', range, value);\n }\n checkBounds(buf, offset, byteLength);\n}\n\nfunction validateNumber(value, name) {\n if (typeof value !== 'number') {\n throw new errors.ERR_INVALID_ARG_TYPE(name, 'number', value);\n }\n}\n\nfunction boundsError(value, length, type?) {\n if (Math.floor(value) !== value) {\n validateNumber(value, type);\n throw new errors.ERR_OUT_OF_RANGE(type || 'offset', 'an integer', value);\n }\n\n if (length < 0) {\n throw new errors.ERR_BUFFER_OUT_OF_BOUNDS();\n }\n\n throw new errors.ERR_OUT_OF_RANGE(type || 'offset', `>= ${type ? 1 : 0} and <= ${length}`, value);\n}\n\n// HELPER FUNCTIONS\n\nconst INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g;\n\nfunction base64clean(str: string): string {\n // Node takes equal signs as end of the Base64 encoding\n str = str.split('=')[0];\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = str.trim().replace(INVALID_BASE64_RE, '');\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return '';\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = `${str}=`;\n }\n return str;\n}\n\nfunction utf8ToBytes(string: string, units?: number): number[] {\n units = units || Infinity;\n let codePoint;\n const length = string.length;\n let leadSurrogate = null;\n const bytes: number[] = [];\n\n for (let i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i);\n\n // is surrogate component\n if (codePoint > 0xd7ff && codePoint < 0xe000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xdbff) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xef, 0xbf, 0xbd);\n continue;\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xef, 0xbf, 0xbd);\n continue;\n }\n\n // valid lead\n leadSurrogate = codePoint;\n\n continue;\n }\n\n // 2 leads in a row\n if (codePoint < 0xdc00) {\n if ((units -= 3) > -1) bytes.push(0xef, 0xbf, 0xbd);\n leadSurrogate = codePoint;\n continue;\n }\n\n // valid surrogate pair\n codePoint = (((leadSurrogate - 0xd800) << 10) | (codePoint - 0xdc00)) + 0x10000;\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xef, 0xbf, 0xbd);\n }\n\n leadSurrogate = null;\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break;\n bytes.push(codePoint);\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break;\n bytes.push((codePoint >> 0x6) | 0xc0, (codePoint & 0x3f) | 0x80);\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break;\n bytes.push(\n (codePoint >> 0xc) | 0xe0,\n ((codePoint >> 0x6) & 0x3f) | 0x80,\n (codePoint & 0x3f) | 0x80\n );\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break;\n bytes.push(\n (codePoint >> 0x12) | 0xf0,\n ((codePoint >> 0xc) & 0x3f) | 0x80,\n ((codePoint >> 0x6) & 0x3f) | 0x80,\n (codePoint & 0x3f) | 0x80\n );\n } else {\n throw new Error('Invalid code point');\n }\n }\n\n return bytes;\n}\n\nfunction asciiToBytes(str: string): number[] {\n const byteArray: number[] = [];\n for (let i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xff);\n }\n return byteArray;\n}\n\nfunction utf16leToBytes(str: string, units: number): number[] {\n let c;\n let hi;\n let lo;\n const byteArray: number[] = [];\n for (let i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break;\n\n c = str.charCodeAt(i);\n hi = c >> 8;\n lo = c % 256;\n byteArray.push(lo);\n byteArray.push(hi);\n }\n\n return byteArray;\n}\n\nfunction base64ToBytes(str: string): Uint8Array {\n return base64.toByteArray(base64clean(str));\n}\n\nfunction blitBuffer(src, dst, offset, length): number {\n let i;\n for (i = 0; i < length; ++i) {\n if (i + offset >= dst.length || i >= src.length) break;\n dst[i + offset] = src[i];\n }\n return i;\n}\n\n// ArrayBuffer or Uint8Array objects from other contexts (i.e. iframes) do not pass\n// the `instanceof` check but they should be treated as of that type.\n// See: https://github.com/feross/buffer/issues/166\nfunction isInstance(obj, type): boolean {\n return (\n obj instanceof type ||\n (obj != null &&\n obj.constructor != null &&\n obj.constructor.name != null &&\n obj.constructor.name === type.name)\n );\n}\nfunction numberIsNaN(obj): boolean {\n // For IE11 support\n return obj !== obj; // eslint-disable-line no-self-compare\n}\n\n// Create lookup table for `toString('hex')`\n// See: https://github.com/feross/buffer/issues/219\nconst hexSliceLookupTable = (function () {\n const alphabet = '0123456789abcdef';\n const table = new Array(256);\n for (let i = 0; i < 16; ++i) {\n const i16 = i * 16;\n for (let j = 0; j < 16; ++j) {\n table[i16 + j] = alphabet[i] + alphabet[j];\n }\n }\n return table;\n})();\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright vis.gl contributors\n\nimport {Buffer as BufferPolyfill} from './buffer';\n\n/** Install Node.js Buffer polyfill (NO-OP in Node.js) */\nexport function installBufferPolyfill(): typeof Buffer {\n // @ts-ignore\n globalThis.Buffer = globalThis.Buffer || BufferPolyfill;\n\n // @ts-ignore\n return globalThis.Buffer;\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport {installBufferPolyfill} from './buffer-polyfill.node';\n\n// @ts-ignore\nglobalThis.process = globalThis.process || {};\n// @ts-ignore\nglobalThis.process.env = globalThis.process.env || {};\n\nexport const Buffer = installBufferPolyfill();\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport type {Format} from '@loaders.gl/loader-utils';\n\nexport const ParquetFormat = {\n name: 'Apache Parquet',\n category: 'table',\n extensions: ['parquet'],\n mimeTypes: ['application/octet-stream'],\n binary: true,\n tests: ['PAR1', 'PARE']\n} as const satisfies Partial<Format>;\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport type {Loader, LoaderWithParser, LoaderOptions} from '@loaders.gl/loader-utils';\nimport type {\n ObjectRowTable,\n ObjectRowTableBatch,\n GeoJSONTable,\n GeoJSONTableBatch\n // ColumnarTable,\n // ColumnarTableBatch\n} from '@loaders.gl/schema';\nimport {BlobFile} from '@loaders.gl/loader-utils';\n\nimport {parseParquetFile, parseParquetFileInBatches} from './lib/parsers/parse-parquet-to-json';\nimport {\n parseGeoParquetFile,\n parseGeoParquetFileInBatches\n} from './lib/parsers/parse-geoparquet-to-geojson';\n// import {\n// parseParquetFileInColumns,\n// parseParquetFileInColumnarBatches\n// } from './lib/parsers/parse-parquet-to-columns';\nimport {ParquetFormat} from './parquet-format';\n\n// Note: The Buffer polyfill is quite fragile\n// For some reason, just exporting directly fails with some bundlers\n// export {Buffer} from './polyfills/buffer/install-buffer-polyfill';\nimport {Buffer} from './polyfills/buffer/install-buffer-polyfill';\nexport {Buffer};\n\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';\n\n/** Options for the parquet loader */\nexport type ParquetJSONLoaderOptions = LoaderOptions & {\n /** Options for the parquet loader */\n parquet?: {\n /** Restrict which columns that are parsed from the table. Can save significant memory. */\n columnList?: string[] | string[][];\n /** If true, binary values are not converted to strings */\n preserveBinary?: boolean;\n /** @deprecated not used? Set to true to indicate that this is a geoparquet file. */\n geoparquet?: boolean;\n /** @deprecated URL to override loaders.gl/core parser system */\n url?: string;\n };\n};\n\n/**\n * ParquetJS table loader\n */\nexport const ParquetJSONWorkerLoader = {\n ...ParquetFormat,\n\n dataType: null as unknown as ObjectRowTable,\n batchType: null as unknown as ObjectRowTableBatch,\n\n id: 'parquet',\n module: 'parquet',\n version: VERSION,\n worker: false,\n options: {\n parquet: {\n columnList: [],\n geoparquet: true,\n url: undefined,\n preserveBinary: false\n }\n }\n} as const satisfies Loader<ObjectRowTable, ObjectRowTableBatch, ParquetJSONLoaderOptions>;\n\n/** ParquetJS table loader */\nexport const ParquetJSONLoader = {\n ...ParquetJSONWorkerLoader,\n\n dataType: null as unknown as ObjectRowTable,\n batchType: null as unknown as ObjectRowTableBatch,\n\n parse: (arrayBuffer: ArrayBuffer, options?: ParquetJSONLoaderOptions) =>\n parseParquetFile(new BlobFile(arrayBuffer), options),\n\n parseFile: parseParquetFile,\n parseFileInBatches: parseParquetFileInBatches\n} as const satisfies LoaderWithParser<\n ObjectRowTable,\n ObjectRowTableBatch,\n ParquetJSONLoaderOptions\n>;\n\n// Defeat tree shaking\n// @ts-ignore\nParquetJSONLoader.Buffer = Buffer;\n\nexport const GeoParquetWorkerLoader = {\n ...ParquetFormat,\n\n dataType: null as unknown as GeoJSONTable,\n batchType: null as unknown as GeoJSONTableBatch,\n\n id: 'parquet',\n module: 'parquet',\n version: VERSION,\n worker: true,\n\n options: {\n parquet: {\n columnList: [],\n geoparquet: true,\n url: undefined,\n preserveBinary: false\n }\n }\n} as const satisfies Loader<GeoJSONTable, GeoJSONTableBatch, ParquetJSONLoaderOptions>;\n\n/** ParquetJS table loader */\nexport const GeoParquetLoader = {\n ...GeoParquetWorkerLoader,\n\n parse(arrayBuffer: ArrayBuffer, options?: ParquetJSONLoaderOptions) {\n return parseGeoParquetFile(new BlobFile(arrayBuffer), options);\n },\n parseFile: parseGeoParquetFile,\n parseFileInBatches: parseGeoParquetFileInBatches\n} as const satisfies LoaderWithParser<\n ObjectRowTable | GeoJSONTable,\n ObjectRowTableBatch | GeoJSONTableBatch,\n ParquetJSONLoaderOptions\n>;\n\n/** @deprecated Test to see if we can improve perf of parquetjs loader *\nexport const ParquetJSONColumnarWorkerLoader = {\n dataType: null as any as ColumnarTable,\n batchType: null as any as ColumnarTableBatch,\n\n name: 'Apache Parquet',\n id: 'parquet',\n module: 'parquet',\n version: VERSION,\n worker: true,\n category: 'table',\n extensions: ['parquet'],\n mimeTypes: ['application/octet-stream'],\n binary: true,\n tests: ['PAR1', 'PARE'],\n options: ParquetJSONLoader.options\n} as const satisfies Loader<ColumnarTable, ColumnarTableBatch, ParquetJSONLoaderOptions>;\n\n/** @deprecated Test to see if we can improve perf of parquetjs loader *\nexport const ParquetJSONColumnarLoader = {\n ...ParquetJSONColumnarWorkerLoader,\n parse(arrayBuffer: ArrayBuffer, options?: ParquetJSONLoaderOptions) {\n return parseParquetFileInColumns(new BlobFile(arrayBuffer), options);\n },\n parseFile: parseParquetFileInColumns,\n parseFileInBatches: parseParquetFileInColumnarBatches\n} as const satisfies LoaderWithParser<ColumnarTable, ColumnarTableBatch, ParquetJSONLoaderOptions>;\n*/\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport {default as log} from '@probe.gl/log';\nimport type {ReadableFile} from '@loaders.gl/loader-utils';\nimport type {ObjectRowTable, ObjectRowTableBatch} from '@loaders.gl/schema';\n\nimport type {ParquetJSONLoaderOptions} from '../../parquet-json-loader';\nimport type {ParquetRow} from '../../parquetjs/schema/declare';\nimport {ParquetReader} from '../../parquetjs/parser/parquet-reader';\nimport {getSchemaFromParquetReader} from './get-parquet-schema';\nimport {installBufferPolyfill} from '../../polyfills/buffer/index';\nimport {preloadCompressions} from '../../parquetjs/compression';\n\n/**\n * * Parse a parquet file using parquetjs\n * @param file\n * @param options\n * @returns\n */\nexport async function parseParquetFile(\n file: ReadableFile,\n options?: ParquetJSONLoaderOptions\n): Promise<ObjectRowTable> {\n installBufferPolyfill();\n await preloadCompressions(options);\n\n const reader = new ParquetReader(file, {\n preserveBinary: options?.parquet?.preserveBinary\n });\n\n const schema = await getSchemaFromParquetReader(reader);\n\n const rows: ParquetRow[] = [];\n\n const rowBatches = reader.rowBatchIterator(options?.parquet);\n for await (const rowBatch of rowBatches) {\n let limitHasReached = false;\n // we have only one input batch so return\n for (const row of rowBatch) {\n if (options?.limit && rows.length >= options?.core?.limit!) {\n limitHasReached = true;\n break;\n }\n rows.push(row);\n }\n if (limitHasReached) {\n log.warn(\n `Rows number limit has been reached. Only first ${options?.core?.limit} are loaded`\n )();\n break;\n }\n }\n const objectRowTable: ObjectRowTable = {\n shape: 'object-row-table',\n schema,\n data: rows\n };\n\n return objectRowTable;\n}\n\n/**\n * Parse a parquet file in batches using parquetjs\n * @param file\n * @param options\n */\nexport async function* parseParquetFileInBatches(\n file: ReadableFile,\n options?: ParquetJSONLoaderOptions\n): AsyncIterable<ObjectRowTableBatch> {\n installBufferPolyfill();\n await preloadCompressions(options);\n\n const reader = new ParquetReader(file, {\n preserveBinary: options?.parquet?.preserveBinary\n });\n\n const schema = await getSchemaFromParquetReader(reader);\n const rowBatches = reader.rowBatchIterator(options?.parquet);\n for await (const rows of rowBatches) {\n const objectRowTable: ObjectRowTable = {\n shape: 'object-row-table',\n schema,\n data: rows\n };\n\n yield {\n batchType: 'data',\n schema,\n ...objectRowTable,\n length: rows.length\n };\n }\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n// Copyright (c) 2017 ironSource Ltd.\n// Forked from https://github.com/kbajalc/parquets under MIT license\n\n/* eslint-disable camelcase */\nimport type {PrimitiveType} from '../schema/declare';\nimport type {CursorBuffer, ParquetCodecOptions} from './declare';\nimport INT53 from 'int53';\n\nexport function encodeValues(\n type: PrimitiveType,\n values: any[],\n opts: ParquetCodecOptions\n): Buffer {\n switch (type) {\n case 'BOOLEAN':\n return encodeValues_BOOLEAN(values);\n case 'INT32':\n return encodeValues_INT32(values);\n case 'INT64':\n return encodeValues_INT64(values);\n case 'INT96':\n return encodeValues_INT96(values);\n case 'FLOAT':\n return encodeValues_FLOAT(values);\n case 'DOUBLE':\n return encodeValues_DOUBLE(values);\n case 'BYTE_ARRAY':\n return encodeValues_BYTE_ARRAY(values);\n case 'FIXED_LEN_BYTE_ARRAY':\n return encodeValues_FIXED_LEN_BYTE_ARRAY(values, opts);\n default:\n throw new Error(`unsupported type: ${type}`);\n }\n}\n\nexport function decodeValues(\n type: PrimitiveType,\n cursor: CursorBuffer,\n count: number,\n opts: ParquetCodecOptions\n): any[] {\n switch (type) {\n case 'BOOLEAN':\n return decodeValues_BOOLEAN(cursor, count);\n case 'INT32':\n return decodeValues_INT32(cursor, count);\n case 'INT64':\n return decodeValues_INT64(cursor, count);\n case 'INT96':\n return decodeValues_INT96(cursor, count);\n case 'FLOAT':\n return decodeValues_FLOAT(cursor, count);\n case 'DOUBLE':\n return decodeValues_DOUBLE(cursor, count);\n case 'BYTE_ARRAY':\n return decodeValues_BYTE_ARRAY(cursor, count);\n case 'FIXED_LEN_BYTE_ARRAY':\n return decodeValues_FIXED_LEN_BYTE_ARRAY(cursor, count, opts);\n default:\n throw new Error(`unsupported type: ${type}`);\n }\n}\n\nfunction encodeValues_BOOLEAN(values: boolean[]): Buffer {\n const buf = Buffer.alloc(Math.ceil(values.length / 8));\n buf.fill(0);\n for (let i = 0; i < values.length; i++) {\n if (values[i]) {\n buf[Math.floor(i / 8)] |= 1 << (i % 8);\n }\n }\n return buf;\n}\n\nfunction decodeValues_BOOLEAN(cursor: CursorBuffer, count: number): boolean[] {\n const values: boolean[] = [];\n for (let i = 0; i < count; i++) {\n const b = cursor.buffer[cursor.offset + Math.floor(i / 8)];\n values.push((b & (1 << (i % 8))) > 0);\n }\n cursor.offset += Math.ceil(count / 8);\n return values;\n}\n\nfunction encodeValues_INT32(values: number[]): Buffer {\n const buf = Buffer.alloc(4 * values.length);\n for (let i = 0; i < values.length; i++) {\n buf.writeInt32LE(values[i], i * 4);\n }\n return buf;\n}\n\nfunction decodeValues_INT32(cursor: CursorBuffer, count: number): number[] {\n const values: number[] = [];\n for (let i = 0; i < count; i++) {\n values.push(cursor.buffer.readInt32LE(cursor.offset));\n cursor.offset += 4;\n }\n return values;\n}\n\nfunction encodeValues_INT64(values: number[]): Buffer {\n const buf = Buffer.alloc(8 * values.length);\n for (let i = 0; i < values.length; i++) {\n INT53.writeInt64LE(values[i], buf, i * 8);\n }\n return buf;\n}\n\nfunction decodeValues_INT64(cursor: CursorBuffer, count: number): number[] {\n const values: number[] = [];\n for (let i = 0; i < count; i++) {\n values.push(INT53.readInt64LE(cursor.buffer, cursor.offset));\n cursor.offset += 8;\n }\n return values;\n}\n\nfunction encodeValues_INT96(values: number[]): Buffer {\n const buf = Buffer.alloc(12 * values.length);\n for (let i = 0; i < values.length; i++) {\n if (values[i] >= 0) {\n INT53.writeInt64LE(values[i], buf, i * 12);\n buf.writeUInt32LE(0, i * 12 + 8); // truncate to 64 actual precision\n } else {\n INT53.writeInt64LE(~-values[i] + 1, buf, i * 12);\n buf.writeUInt32LE(0xffffffff, i * 12 + 8); // truncate to 64 actual precision\n }\n }\n return buf;\n}\n\nfunction decodeValues_INT96(cursor: CursorBuffer, count: number): number[] {\n const values: number[] = [];\n for (let i = 0; i < count; i++) {\n const low = INT53.readInt64LE(cursor.buffer, cursor.offset);\n const high = cursor.buffer.readUInt32LE(cursor.offset + 8);\n if (high === 0xffffffff) {\n values.push(~-low + 1); // truncate to 64 actual precision\n } else {\n values.push(low); // truncate to 64 actual precision\n }\n cursor.offset += 12;\n }\n return values;\n}\n\nfunction encodeValues_FLOAT(values: number[]): Buffer {\n const buf = Buffer.alloc(4 * values.length);\n for (let i = 0; i < values.length; i++) {\n buf.writeFloatLE(values[i], i * 4);\n }\n return buf;\n}\n\nfunction decodeValues_FLOAT(cursor: CursorBuffer, count: number): number[] {\n const values: number[] = [];\n for (let i = 0; i < count; i++) {\n values.push(cursor.buffer.readFloatLE(cursor.offset));\n cursor.offset += 4;\n }\n return values;\n}\n\nfunction encodeValues_DOUBLE(values: number[]): Buffer {\n const buf = Buffer.alloc(8 * values.length);\n for (let i = 0; i < values.length; i++) {\n buf.writeDoubleLE(values[i], i * 8);\n }\n return buf;\n}\n\nfunction decodeValues_DOUBLE(cursor: CursorBuffer, count: number): number[] {\n const values: number[] = [];\n for (let i = 0; i < count; i++) {\n values.push(cursor.buffer.readDoubleLE(cursor.offset));\n cursor.offset += 8;\n }\n return values;\n}\n\nfunction encodeValues_BYTE_ARRAY(values: Buffer[]): Buffer {\n // tslint:disable-next-line:variable-name\n let buf_len = 0;\n for (let i = 0; i < values.length; i++) {\n values[i] = Buffer.from(values[i]);\n buf_len += 4 + values[i].length;\n }\n const buf = Buffer.alloc(buf_len);\n // tslint:disable-next-line:variable-name\n let buf_pos = 0;\n for (let i = 0; i < values.length; i++) {\n buf.writeUInt32LE(values[i].length, buf_pos);\n values[i].copy(buf as Uint8Array, buf_pos + 4);\n buf_pos += 4 + values[i].length;\n }\n return buf;\n}\n\nfunction decodeValues_BYTE_ARRAY(cursor: CursorBuffer, count: number): Buffer[] {\n const values: Buffer[] = [];\n for (let i = 0; i < count; i++) {\n const len = cursor.buffer.readUInt32LE(cursor.offset);\n cursor.offset += 4;\n // values.push(cursor.buffer.buffer.slice(cursor.offset, cursor.offset + len));\n values.push(cursor.buffer.slice(cursor.offset, cursor.offset + len));\n cursor.offset += len;\n }\n return values;\n}\n\nfunction encodeValues_FIXED_LEN_BYTE_ARRAY(values: Buffer[], opts: ParquetCodecOptions): Buffer {\n if (!opts.typeLength) {\n throw new Error('missing option: typeLength (required for FIXED_LEN_BYTE_ARRAY)');\n }\n for (let i = 0; i < values.length; i++) {\n values[i] = Buffer.from(values[i]);\n if (values[i].length !== opts.typeLength) {\n throw new Error(`invalid value for FIXED_LEN_BYTE_ARRAY: ${values[i]}`);\n }\n }\n return Buffer.concat(values as Uint8Array[]);\n}\n\nfunction decodeValues_FIXED_LEN_BYTE_ARRAY(\n cursor: CursorBuffer,\n count: number,\n opts: ParquetCodecOptions\n): Buffer[] {\n const values: Buffer[] = [];\n if (!opts.typeLength) {\n throw new Error('missing option: typeLength (required for FIXED_LEN_BYTE_ARRAY)');\n }\n for (let i = 0; i < count; i++) {\n values.push(cursor.buffer.slice(cursor.offset, cursor.offset + opts.typeLength));\n cursor.offset += opts.typeLength;\n }\n return values;\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n// Copyright (c) 2017 ironSource Ltd.\n// Forked from https://github.com/kbajalc/parquets under MIT license\n\nimport type {PrimitiveType} from '../schema/declare';\nimport type {CursorBuffer, ParquetCodecOptions} from './declare';\nimport varint from 'varint';\n\n// eslint-disable-next-line max-statements, complexity\nexport function encodeValues(\n type: PrimitiveType,\n values: any[],\n opts: ParquetCodecOptions\n): Buffer {\n if (!('bitWidth' in opts)) {\n throw new Error('bitWidth is required');\n }\n\n switch (type) {\n case 'BOOLEAN':\n case 'INT32':\n case 'INT64':\n // tslint:disable-next-line:no-parameter-reassignment\n values = values.map((x) => parseInt(x, 10));\n break;\n\n default:\n throw new Error(`unsupported type: ${type}`);\n }\n\n let buf = Buffer.alloc(0);\n let run: any[] = [];\n let repeats = 0;\n\n for (let i = 0; i < values.length; i++) {\n // If we are at the beginning of a run and the next value is same we start\n // collecting repeated values\n if (repeats === 0 && run.length % 8 === 0 && values[i] === values[i + 1]) {\n // If we have any data in runs we need to encode them\n if (run.length) {\n buf = Buffer.concat([buf, encodeRunBitpacked(run, opts)] as Uint8Array[]);\n run = [];\n }\n repeats = 1;\n } else if (repeats > 0 && values[i] === values[i - 1]) {\n repeats += 1;\n } else {\n // If values changes we need to post any previous repeated values\n if (repeats) {\n buf = Buffer.concat([buf, encodeRunRepeated(values[i - 1], repeats, opts)] as Uint8Array[]);\n repeats = 0;\n }\n run.push(values[i]);\n }\n }\n\n if (repeats) {\n buf = Buffer.concat([\n buf,\n encodeRunRepeated(values[values.length - 1], repeats, opts)\n ] as Uint8Array[]);\n } else if (run.length) {\n buf = Buffer.concat([buf, encodeRunBitpacked(run, opts)] as Uint8Array[]);\n }\n\n if (opts.disableEnvelope) {\n return buf;\n }\n\n const envelope = Buffer.alloc(buf.length + 4);\n\n // @ts-ignore buffer polyfill\n envelope.writeUInt32LE(buf.length, undefined);\n buf.copy(envelope as Uint8Array, 4);\n\n return envelope;\n}\n\nexport function decodeValues(\n type: PrimitiveType,\n cursor: CursorBuffer,\n count: number,\n opts: ParquetCodecOptions\n): number[] {\n if (!('bitWidth' in opts)) {\n throw new Error('bitWidth is required');\n }\n\n if (!opts.disableEnvelope) {\n cursor.offset += 4;\n }\n\n let values: number[] = [];\n while (values.length < count) {\n const header = varint.decode(cursor.buffer, cursor.offset);\n cursor.offset += varint.encodingLength(header);\n let decodedValues: number[];\n if (header & 1) {\n const count = (header >> 1) * 8;\n decodedValues = decodeRunBitpacked(cursor, count, opts);\n } else {\n const count = header >> 1;\n decodedValues = decodeRunRepeated(cursor, count, opts);\n }\n\n // strange failure in docusaurus / webpack if we don't cast the type here\n for (const value of decodedValues as any[]) {\n values.push(value);\n }\n }\n values = values.slice(0, count);\n\n if (values.length !== count) {\n throw new Error('invalid RLE encoding');\n }\n\n return values;\n}\n\nfunction decodeRunBitpacked(\n cursor: CursorBuffer,\n count: number,\n opts: ParquetCodecOptions\n): number[] {\n // @ts-ignore\n const bitWidth: number = opts.bitWidth;\n\n if (count % 8 !== 0) {\n throw new Error('must be a multiple of 8');\n }\n\n // tslint:disable-next-line:prefer-array-literal\n const values = new Array(count).fill(0);\n for (let b = 0; b < bitWidth * count; b++) {\n if (cursor.buffer[cursor.offset + Math.floor(b / 8)] & (1 << (b % 8))) {\n values[Math.floor(b / bitWidth)] |= 1 << (b % bitWidth);\n }\n }\n\n cursor.offset += bitWidth * (count / 8);\n return values;\n}\n\nfunction decodeRunRepeated(\n cursor: CursorBuffer,\n count: number,\n opts: ParquetCodecOptions\n): number[] {\n // @ts-ignore\n const bitWidth: number = opts.bitWidth;\n\n let value = 0;\n for (let i = 0; i < Math.ceil(bitWidth / 8); i++) {\n // eslint-disable-next-line\n value << 8; // TODO - this looks wrong\n value += cursor.buffer[cursor.offset];\n cursor.offset += 1;\n }\n\n // tslint:disable-next-line:prefer-array-literal\n return new Array(count).fill(value);\n}\n\nfunction encodeRunBitpacked(values: number[], opts: ParquetCodecOptions): Buffer {\n // @ts-ignore\n const bitWidth: number = opts.bitWidth;\n\n for (let i = 0; i < values.length % 8; i++) {\n values.push(0);\n }\n\n const buf = Buffer.alloc(Math.ceil(bitWidth * (values.length / 8)));\n for (let b = 0; b < bitWidth * values.length; b++) {\n if ((values[Math.floor(b / bitWidth)] & (1 << (b % bitWidth))) > 0) {\n buf[Math.floor(b / 8)] |= 1 << (b % 8);\n }\n }\n\n return Buffer.concat([\n Buffer.from(varint.encode(((values.length / 8) << 1) | 1)),\n buf\n ] as Uint8Array[]);\n}\n\nfunction encodeRunRepeated(value: number, count: number, opts: ParquetCodecOptions): Buffer {\n // @ts-ignore\n const bitWidth: number = opts.bitWidth;\n\n const buf = Buffer.alloc(Math.ceil(bitWidth / 8));\n\n for (let i = 0; i < buf.length; i++) {\n buf.writeUInt8(value & 0xff, i);\n // eslint-disable-next-line\n value >> 8; // TODO - this looks wrong\n }\n\n return Buffer.concat([Buffer.from(varint.encode(count << 1)), buf] as Uint8Array[]);\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n// Copyright (c) 2017 ironSource Ltd.\n// Forked from https://github.com/kbajalc/parquets under MIT license\n\nimport {decodeValues as decodeRleValues} from './rle';\n\nexport function decodeValues(type, cursor, count, opts) {\n opts.bitWidth = cursor.buffer.slice(cursor.offset, cursor.offset + 1).readInt8(0);\n cursor.offset += 1;\n return decodeRleValues(type, cursor, count, {...opts, disableEnvelope: true});\n}\n\nexport function encodeValues(type, cursor, count, opts) {\n throw new Error('Encode dictionary functionality is not supported');\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n// Copyright (c) 2017 ironSource Ltd.\n// Forked from https://github.com/kbajalc/parquets under MIT license\n\nimport type {ParquetCodec} from '../schema/declare';\nimport type {ParquetCodecKit} from './declare';\nimport * as PLAIN from './plain';\nimport * as RLE from './rle';\nimport * as DICTIONARY from './dictionary';\n\nexport * from './declare';\n\nexport const PARQUET_CODECS: Record<ParquetCodec, ParquetCodecKit> = {\n PLAIN: {\n encodeValues: PLAIN.encodeValues,\n decodeValues: PLAIN.decodeValues\n },\n RLE: {\n encodeValues: RLE.encodeValues,\n decodeValues: RLE.decodeValues\n },\n // Using the PLAIN_DICTIONARY enum value is deprecated in the Parquet 2.0 specification.\n PLAIN_DICTIONARY: {\n // @ts-ignore\n encodeValues: DICTIONARY.encodeValues,\n decodeValues: DICTIONARY.decodeValues\n },\n // Prefer using RLE_DICTIONARY in a data page and PLAIN in a dictionary page for Parquet 2.0+ files.\n RLE_DICTIONARY: {\n // @ts-ignore\n encodeValues: DICTIONARY.encodeValues,\n decodeValues: DICTIONARY.decodeValues\n }\n};\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n// Copyright (c) 2017 ironSource Ltd.\n// Forked from https://github.com/kbajalc/parquets under MIT license\n// Forked from https://github.com/ironSource/parquetjs under MIT license\n\nimport {\n Compression,\n NoCompression,\n GZipCompression,\n SnappyCompression,\n BrotliCompression,\n // LZOCompression,\n LZ4Compression,\n ZstdCompression\n} from '@loaders.gl/compression';\nimport {registerJSModules} from '@loaders.gl/loader-utils';\n\nimport {ParquetCompression} from './schema/declare';\n\n/** We can't use loaders-util buffer handling since we are dependent on buffers even in the browser */\nfunction toBuffer(arrayBuffer: ArrayBuffer): Buffer {\n return Buffer.from(arrayBuffer);\n}\n\nfunction toArrayBuffer(buffer: Buffer): ArrayBuffer {\n // TODO - per docs we should just be able to call buffer.buffer, but there are issues\n if (Buffer.isBuffer(buffer)) {\n const typedArray = new Uint8Array(buffer.buffer, buffer.byteOffset, buffer.length);\n return typedArray.slice().buffer;\n }\n return buffer;\n}\n\n// TODO switch to worker compression to avoid bundling...\n\n// import brotli from 'brotli'; - brotli has problems with decompress in browsers\n// import brotliDecompress from 'brotli/decompress';\nimport lz4js from 'lz4js';\n// import lzo from 'lzo';\n// import {ZstdCodec} from 'zstd-codec';\n\n// Inject large dependencies through Compression constructor options\nconst modules = {\n // brotli has problems with decompress in browsers\n // brotli: {\n // decompress: brotliDecompress,\n // compress: () => {\n // throw new Error('brotli compress');\n // }\n // },\n lz4js\n // lzo\n // 'zstd-codec': ZstdCodec\n};\n\n/**\n * See https://github.com/apache/parquet-format/blob/master/Compression.md\n */\n// @ts-expect-error\nexport const PARQUET_COMPRESSION_METHODS: Record<ParquetCompression, Compression> = {\n UNCOMPRESSED: new NoCompression(),\n GZIP: new GZipCompression(),\n SNAPPY: new SnappyCompression(),\n BROTLI: new BrotliCompression({modules}),\n // TODO: Understand difference between LZ4 and LZ4_RAW\n LZ4: new LZ4Compression({modules}),\n LZ4_RAW: new LZ4Compression({modules}),\n //\n // LZO: new LZOCompression({modules}),\n ZSTD: new ZstdCompression({modules})\n};\n\n/**\n * Register compressions that have big external libraries\n * @param options.modules External library dependencies\n */\nexport async function preloadCompressions(options?: {modules?: {[key: string]: any}}) {\n registerJSModules(options?.modules);\n const compressions = Object.values(PARQUET_COMPRESSION_METHODS);\n return await Promise.all(\n compressions.map((compression) => compression.preload(options?.modules))\n );\n}\n\n/**\n * Deflate a value using compression method `method`\n */\nexport async function deflate(method: ParquetCompression, value: Buffer): Promise<Buffer> {\n const compression = PARQUET_COMPRESSION_METHODS[method];\n if (!compression) {\n throw new Error(`parquet: invalid compression method: ${method}`);\n }\n const inputArrayBuffer = toArrayBuffer(value);\n const compressedArrayBuffer = await compression.compress(inputArrayBuffer);\n return toBuffer(compressedArrayBuffer);\n}\n\n/**\n * Inflate a value using compression method `method`\n */\nexport async function decompress(\n method: ParquetCompression,\n value: Buffer,\n size: number\n): Promise<Buffer> {\n const compression = PARQUET_COMPRESSION_METHODS[method];\n if (!compression) {\n throw new Error(`parquet: invalid compression method: ${method}`);\n }\n const inputArrayBuffer = toArrayBuffer(value);\n const compressedArrayBuffer = await compression.decompress(inputArrayBuffer, size);\n return toBuffer(compressedArrayBuffer);\n}\n\n/*\n * Inflate a value using compression method `method`\n */\nexport function inflate(method: ParquetCompression, value: Buffer, size: number): Buffer {\n if (!(method in PARQUET_COMPRESSION_METHODS)) {\n throw new Error(`invalid compression method: ${method}`);\n }\n // @ts-ignore\n return PARQUET_COMPRESSION_METHODS[method].inflate(value, size);\n}\n\n/*\nfunction deflate_identity(value: Buffer): Buffer {\n return value;\n}\n\nfunction deflate_gzip(value: Buffer): Buffer {\n return zlib.gzipSync(value);\n}\n\nfunction deflate_snappy(value: Buffer): Buffer {\n return snappyjs.compress(value);\n}\n\nfunction deflate_lzo(value: Buffer): Buffer {\n lzo = lzo || Util.load('lzo');\n return lzo.compress(value);\n}\n\nfunction deflate_brotli(value: Buffer): Buffer {\n brotli = brotli || Util.load('brotli');\n const result = brotli.compress(value, {\n mode: 0,\n quality: 8,\n lgwin: 22\n });\n return result ? Buffer.from(result) : Buffer.alloc(0);\n}\n\nfunction deflate_lz4(value: Buffer): Buffer {\n lz4js = lz4js || Util.load('lz4js');\n try {\n // let result = Buffer.alloc(lz4js.encodeBound(value.length));\n // const compressedSize = lz4.encodeBlock(value, result);\n // // remove unnecessary bytes\n // result = result.slice(0, compressedSize);\n // return result;\n return Buffer.from(lz4js.compress(value));\n } catch (err) {\n throw err;\n }\n}\nfunction inflate_identity(value: Buffer): Buffer {\n return value;\n}\n\nfunction inflate_gzip(value: Buffer): Buffer {\n return zlib.gunzipSync(value);\n}\n\nfunction inflate_snappy(value: Buffer): Buffer {\n return snappyjs.uncompress(value);\n}\n\nfunction inflate_lzo(value: Buffer, size: number): Buffer {\n lzo = lzo || Util.load('lzo');\n return lzo.decompress(value, size);\n}\n\nfunction inflate_lz4(value: Buffer, size: number): Buffer {\n lz4js = lz4js || Util.load('lz4js');\n try {\n // let result = Buffer.alloc(size);\n // const uncompressedSize = lz4js.decodeBlock(value, result);\n // // remove unnecessary bytes\n // result = result.slice(0, uncompressedSize);\n // return result;\n return Buffer.from(lz4js.decompress(value, size));\n } catch (err) {\n throw err;\n }\n}\n\nfunction inflate_brotli(value: Buffer): Buffer {\n brotli = brotli || Util.load('brotli');\n if (!value.length) {\n return Buffer.alloc(0);\n }\n return Buffer.from(brotli.decompress(value));\n}\n*/\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n// Copyright (c) 2017 ironSource Ltd.\n// Forked from https://github.com/kbajalc/parquets under MIT license\n\n/* eslint-disable camelcase */\nimport {BSONLoader, BSONWriter} from '@loaders.gl/bson';\nimport {OriginalType, ParquetField, ParquetType, PrimitiveType} from './declare';\n\nexport interface ParquetTypeKit {\n primitiveType: PrimitiveType;\n originalType?: OriginalType;\n typeLength?: number;\n toPrimitive: Function;\n fromPrimitive?: Function;\n}\n\nexport const PARQUET_LOGICAL_TYPES: Record<ParquetType, ParquetTypeKit> = {\n BOOLEAN: {\n primitiveType: 'BOOLEAN',\n toPrimitive: toPrimitive_BOOLEAN,\n fromPrimitive: fromPrimitive_BOOLEAN\n },\n INT32: {\n primitiveType: 'INT32',\n toPrimitive: toPrimitive_INT32\n },\n INT64: {\n primitiveType: 'INT64',\n toPrimitive: toPrimitive_INT64\n },\n INT96: {\n primitiveType: 'INT96',\n toPrimitive: toPrimitive_INT96\n },\n FLOAT: {\n primitiveType: 'FLOAT',\n toPrimitive: toPrimitive_FLOAT\n },\n DOUBLE: {\n primitiveType: 'DOUBLE',\n toPrimitive: toPrimitive_DOUBLE\n },\n BYTE_ARRAY: {\n primitiveType: 'BYTE_ARRAY',\n toPrimitive: toPrimitive_BYTE_ARRAY\n },\n FIXED_LEN_BYTE_ARRAY: {\n primitiveType: 'FIXED_LEN_BYTE_ARRAY',\n toPrimitive: toPrimitive_BYTE_ARRAY\n },\n UTF8: {\n primitiveType: 'BYTE_ARRAY',\n originalType: 'UTF8',\n toPrimitive: toPrimitive_UTF8,\n fromPrimitive: fromPrimitive_UTF8\n },\n TIME_MILLIS: {\n primitiveType: 'INT32',\n originalType: 'TIME_MILLIS',\n toPrimitive: toPrimitive_TIME_MILLIS\n },\n TIME_MICROS: {\n primitiveType: 'INT64',\n originalType: 'TIME_MICROS',\n toPrimitive: toPrimitive_TIME_MICROS\n },\n DATE: {\n primitiveType: 'INT32',\n originalType: 'DATE',\n toPrimitive: toPrimitive_DATE,\n fromPrimitive: fromPrimitive_DATE\n },\n TIMESTAMP_MILLIS: {\n primitiveType: 'INT64',\n originalType: 'TIMESTAMP_MILLIS',\n toPrimitive: toPrimitive_TIMESTAMP_MILLIS,\n fromPrimitive: fromPrimitive_TIMESTAMP_MILLIS\n },\n TIMESTAMP_MICROS: {\n primitiveType: 'INT64',\n originalType: 'TIMESTAMP_MICROS',\n toPrimitive: toPrimitive_TIMESTAMP_MICROS,\n fromPrimitive: fromPrimitive_TIMESTAMP_MICROS\n },\n UINT_8: {\n primitiveType: 'INT32',\n originalType: 'UINT_8',\n toPrimitive: toPrimitive_UINT8\n },\n UINT_16: {\n primitiveType: 'INT32',\n originalType: 'UINT_16',\n toPrimitive: toPrimitive_UINT16\n },\n UINT_32: {\n primitiveType: 'INT32',\n originalType: 'UINT_32',\n toPrimitive: toPrimitive_UINT32\n },\n UINT_64: {\n primitiveType: 'INT64',\n originalType: 'UINT_64',\n toPrimitive: toPrimitive_UINT64\n },\n INT_8: {\n primitiveType: 'INT32',\n originalType: 'INT_8',\n toPrimitive: toPrimitive_INT8\n },\n INT_16: {\n primitiveType: 'INT32',\n originalType: 'INT_16',\n toPrimitive: toPrimitive_INT16\n },\n INT_32: {\n primitiveType: 'INT32',\n originalType: 'INT_32',\n toPrimitive: toPrimitive_INT32\n },\n INT_64: {\n primitiveType: 'INT64',\n originalType: 'INT_64',\n toPrimitive: toPrimitive_INT64\n },\n JSON: {\n primitiveType: 'BYTE_ARRAY',\n originalType: 'JSON',\n toPrimitive: toPrimitive_JSON,\n fromPrimitive: fromPrimitive_JSON\n },\n BSON: {\n primitiveType: 'BYTE_ARRAY',\n originalType: 'BSON',\n toPrimitive: toPrimitive_BSON,\n fromPrimitive: fromPrimitive_BSON\n },\n INTERVAL: {\n primitiveType: 'FIXED_LEN_BYTE_ARRAY',\n originalType: 'INTERVAL',\n typeLength: 12,\n toPrimitive: toPrimitive_INTERVAL,\n fromPrimitive: fromPrimitive_INTERVAL\n },\n DECIMAL_INT32: {\n primitiveType: 'INT32',\n originalType: 'DECIMAL_INT32',\n toPrimitive: decimalToPrimitive_INT32,\n fromPrimitive: decimalFromPrimitive_INT\n },\n DECIMAL_INT64: {\n primitiveType: 'INT64',\n originalType: 'DECIMAL_INT64',\n toPrimitive: decimalToPrimitive_INT64,\n fromPrimitive: decimalFromPrimitive_INT\n },\n DECIMAL_BYTE_ARRAY: {\n primitiveType: 'BYTE_ARRAY',\n originalType: 'DECIMAL_BYTE_ARRAY',\n toPrimitive: decimalToPrimitive_BYTE_ARRAY,\n fromPrimitive: decimalFromPrimitive_BYTE_ARRAY\n },\n DECIMAL_FIXED_LEN_BYTE_ARRAY: {\n primitiveType: 'FIXED_LEN_BYTE_ARRAY',\n originalType: 'DECIMAL_FIXED_LEN_BYTE_ARRAY',\n toPrimitive: decimalToPrimitive_BYTE_ARRAY,\n fromPrimitive: decimalFromPrimitive_BYTE_ARRAY\n }\n};\n\n/**\n * Convert a value from it's native representation to the internal/underlying\n * primitive type\n */\nexport function toPrimitive(type: ParquetType, value: unknown, field?: ParquetField): unknown {\n if (!(type in PARQUET_LOGICAL_TYPES)) {\n throw new Error(`invalid type: ${type}`);\n }\n\n return PARQUET_LOGICAL_TYPES[type].toPrimitive(value, field);\n}\n\n/**\n * Convert a value from it's internal/underlying primitive representation to\n * the native representation\n */\nexport function fromPrimitive(type: ParquetType, value: unknown, field?: ParquetField) {\n if (!(type in PARQUET_LOGICAL_TYPES)) {\n throw new Error(`invalid type: ${type}`);\n }\n\n if ('fromPrimitive' in PARQUET_LOGICAL_TYPES[type]) {\n return PARQUET_LOGICAL_TYPES[type].fromPrimitive?.(value, field);\n // tslint:disable-next-line:no-else-after-return\n }\n return value;\n}\n\nfunction toPrimitive_BOOLEAN(value: unknown): boolean {\n return Boolean(value);\n}\n\nfunction fromPrimitive_BOOLEAN(value: any): boolean {\n return Boolean(value);\n}\n\nfunction toPrimitive_FLOAT(value: any): number {\n const v = parseFloat(value);\n if (isNaN(v)) {\n throw new Error(`invalid value for FLOAT: ${value}`);\n }\n return v;\n}\n\nfunction toPrimitive_DOUBLE(value: any): number {\n const v = parseFloat(value);\n if (isNaN(v)) {\n throw new Error(`invalid value for DOUBLE: ${value}`);\n }\n return v;\n}\n\nfunction toPrimitive_INT8(value: any) {\n const v = parseInt(value, 10);\n if (v < -0x80 || v > 0x7f || isNaN(v)) {\n throw new Error(`invalid value for INT8: ${value}`);\n }\n\n return v;\n}\n\nfunction toPrimitive_UINT8(value: any) {\n const v = parseInt(value, 10);\n if (v < 0 || v > 0xff || isNaN(v)) {\n throw new Error(`invalid value for UINT8: ${value}`);\n }\n\n return v;\n}\n\nfunction toPrimitive_INT16(value: any) {\n const v = parseInt(value, 10);\n if (v < -0x8000 || v > 0x7fff || isNaN(v)) {\n throw new Error(`invalid value for INT16: ${value}`);\n }\n\n return v;\n}\n\nfunction toPrimitive_UINT16(value: any) {\n const v = parseInt(value, 10);\n if (v < 0 || v > 0xffff || isNaN(v)) {\n throw new Error(`invalid value for UINT16: ${value}`);\n }\n\n return v;\n}\n\nfunction toPrimitive_INT32(value: any) {\n const v = parseInt(value, 10);\n if (v < -0x80000000 || v > 0x7fffffff || isNaN(v)) {\n throw new Error(`invalid value for INT32: ${value}`);\n }\n\n return v;\n}\n\nfunction decimalToPrimitive_INT32(value: number, field: ParquetField): number {\n const primitiveValue = value * 10 ** (field.scale || 0);\n const v = Math.round(((primitiveValue * 10 ** -field.presision!) % 1) * 10 ** field.presision!);\n if (v < -0x80000000 || v > 0x7fffffff || isNaN(v)) {\n throw new Error(`invalid value for INT32: ${value}`);\n }\n return v;\n}\n\nfunction toPrimitive_UINT32(value: any): number {\n const v = parseInt(value, 10);\n if (v < 0 || v > 0xffffffffffff || isNaN(v)) {\n throw new Error(`invalid value for UINT32: ${value}`);\n }\n return v;\n}\n\nfunction toPrimitive_INT64(value: any): number {\n const v = parseInt(value, 10);\n if (isNaN(v)) {\n throw new Error(`invalid value for INT64: ${value}`);\n }\n return v;\n}\n\nfunction decimalToPrimitive_INT64(value: number, field: ParquetField) {\n const primitiveValue = value * 10 ** (field.scale || 0);\n const v = Math.round(((primitiveValue * 10 ** -field.presision!) % 1) * 10 ** field.presision!);\n if (isNaN(v)) {\n throw new Error(`invalid value for INT64: ${value}`);\n }\n\n return v;\n}\n\nfunction toPrimitive_UINT64(value: any) {\n const v = parseInt(value, 10);\n if (v < 0 || isNaN(v)) {\n throw new Error(`invalid value for UINT64: ${value}`);\n }\n\n return v;\n}\n\nfunction toPrimitive_INT96(value: any) {\n const v = parseInt(value, 10);\n if (isNaN(v)) {\n throw new Error(`invalid value for INT96: ${value}`);\n }\n\n return v;\n}\n\nfunction toPrimitive_BYTE_ARRAY(value: any): Buffer {\n return Buffer.from(value);\n}\n\nfunction decimalToPrimitive_BYTE_ARRAY(value: any): Buffer {\n // TBD\n return Buffer.from(value);\n}\n\nfunction toPrimitive_UTF8(value: any): Buffer {\n return Buffer.from(value, 'utf8');\n}\n\nfunction fromPrimitive_UTF8(value: any): string {\n return value.toString();\n}\n\nfunction toPrimitive_JSON(value: any): Buffer {\n return Buffer.from(JSON.stringify(value));\n}\n\nfunction fromPrimitive_JSON(value: any): unknown {\n return JSON.parse(value);\n}\n\nfunction toPrimitive_BSON(value: any): Buffer {\n // @ts-ignore\n const arrayBuffer: ArrayBuffer = BSONWriter.encodeSync?.(value);\n return Buffer.from(arrayBuffer);\n}\n\nfunction fromPrimitive_BSON(value: any) {\n return BSONLoader.parseSync?.(value);\n}\n\nfunction toPrimitive_TIME_MILLIS(value: any) {\n const v = parseInt(value, 10);\n // eslint-disable-next-line @typescript-eslint/no-loss-of-precision\n if (v < 0 || v > 0xffffffffffffffff || isNaN(v)) {\n throw new Error(`invalid value for TIME_MILLIS: ${value}`);\n }\n\n return v;\n}\n\nfunction toPrimitive_TIME_MICROS(value: any): number {\n const v = parseInt(value, 10);\n if (v < 0 || isNaN(v)) {\n throw new Error(`invalid value for TIME_MICROS: ${value}`);\n }\n return v;\n}\n\nconst kMillisPerDay = 86400000;\n\nfunction toPrimitive_DATE(value: any): number {\n /* convert from date */\n if (value instanceof Date) {\n return value.getTime() / kMillisPerDay;\n }\n\n /* convert from integer */\n {\n const v = parseInt(value, 10);\n if (v < 0 || isNaN(v)) {\n throw new Error(`invalid value for DATE: ${value}`);\n }\n\n return v;\n }\n}\n\nfunction fromPrimitive_DATE(value: any): Date {\n return new Date(value * kMillisPerDay);\n}\n\nfunction toPrimitive_TIMESTAMP_MILLIS(value: any): number {\n /* convert from date */\n if (value instanceof Date) {\n return value.getTime();\n }\n\n /* convert from integer */\n {\n const v = parseInt(value, 10);\n if (v < 0 || isNaN(v)) {\n throw new Error(`invalid value for TIMESTAMP_MILLIS: ${value}`);\n }\n\n return v;\n }\n}\n\nfunction fromPrimitive_TIMESTAMP_MILLIS(value: any): Date {\n return new Date(value);\n}\n\nfunction toPrimitive_TIMESTAMP_MICROS(value: any) {\n /* convert from date */\n if (value instanceof Date) {\n return value.getTime() * 1000;\n }\n\n /* convert from integer */\n {\n const v = parseInt(value, 10);\n if (v < 0 || isNaN(v)) {\n throw new Error(`invalid value for TIMESTAMP_MICROS: ${value}`);\n }\n\n return v;\n }\n}\n\nfunction fromPrimitive_TIMESTAMP_MICROS(value: any) {\n return new Date(value / 1000);\n}\n\nfunction toPrimitive_INTERVAL(value: any) {\n if (!value.months || !value.days || !value.milliseconds) {\n throw new Error(\n 'value for INTERVAL must be object { months: ..., days: ..., milliseconds: ... }'\n );\n }\n\n const buf = Buffer.alloc(12);\n\n buf.writeUInt32LE(value.months, 0);\n buf.writeUInt32LE(value.days, 4);\n buf.writeUInt32LE(value.milliseconds, 8);\n return buf;\n}\n\nfunction fromPrimitive_INTERVAL(value: any) {\n const buf = Buffer.from(value);\n const months = buf.readUInt32LE(0);\n const days = buf.readUInt32LE(4);\n const millis = buf.readUInt32LE(8);\n\n return {months, days, milliseconds: millis};\n}\n\nfunction decimalFromPrimitive_INT(value: any, field: ParquetField) {\n const presisionInt = Math.round(((value * 10 ** -field.presision!) % 1) * 10 ** field.presision!);\n return presisionInt * 10 ** -(field.scale || 0);\n}\n\nfunction decimalFromPrimitive_BYTE_ARRAY(value: any, field: ParquetField) {\n let number = 0;\n if (value.length <= 4) {\n // Bytewise operators faster. Use them if it is possible\n for (let i = 0; i < value.length; i++) {\n // `value.length - i - 1` bytes have reverse order (big-endian)\n const component = value[i] << (8 * (value.length - i - 1));\n number += component;\n }\n } else {\n for (let i = 0; i < value.length; i++) {\n // `value.length - i - 1` bytes have reverse order (big-endian)\n const component = value[i] * 2 ** (8 * (value.length - 1 - i));\n number += component;\n }\n }\n\n const presisionInt = Math.round(\n ((number * 10 ** -field.presision!) % 1) * 10 ** field.presision!\n );\n return presisionInt * 10 ** -(field.scale || 0);\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n// Copyright (c) 2017 ironSource Ltd.\n// Forked from https://github.com/kbajalc/parquets under MIT license\n\nimport {ArrayType} from '@loaders.gl/schema';\nimport {ParquetRowGroup, ParquetColumnChunk, ParquetField, ParquetRow} from './declare';\nimport {ParquetSchema} from './schema';\nimport * as Types from './types';\n\nexport {ParquetRowGroup};\n\nexport function shredBuffer(schema: ParquetSchema): ParquetRowGroup {\n const columnData: Record<string, ParquetColumnChunk> = {};\n for (const field of schema.fieldList) {\n columnData[field.key] = {\n dlevels: [],\n rlevels: [],\n values: [],\n pageHeaders: [],\n count: 0\n };\n }\n return {rowCount: 0, columnData};\n}\n\n/**\n * 'Shred' a record into a list of <value, repetition_level, definition_level>\n * tuples per column using the Google Dremel Algorithm..\n *\n * The rowGroup argument must point to an object into which the shredded record\n * will be returned. You may re-use the rowGroup for repeated calls to this function\n * to append to an existing rowGroup, as long as the schema is unchanged.\n *\n * The format in which the shredded records will be stored in the rowGroup is as\n * follows:\n *\n * rowGroup = {\n * columnData: [\n * 'my_col': {\n * dlevels: [d1, d2, .. dN],\n * rlevels: [r1, r2, .. rN],\n * values: [v1, v2, .. vN],\n * }, ...\n * ],\n * rowCount: X,\n * }\n */\nexport function shredRecord(\n schema: ParquetSchema,\n record: ParquetRow,\n rowGroup: ParquetRowGroup\n): void {\n /* shred the record, this may raise an exception */\n const data = shredBuffer(schema).columnData;\n\n shredRecordFields(schema.fields, record, data, 0, 0);\n\n /* if no error during shredding, add the shredded record to the rowGroup */\n if (rowGroup.rowCount === 0) {\n rowGroup.rowCount = 1;\n rowGroup.columnData = data;\n return;\n }\n rowGroup.rowCount += 1;\n for (const field of schema.fieldList) {\n Array.prototype.push.apply(rowGroup.columnData[field.key].rlevels, data[field.key].rlevels);\n Array.prototype.push.apply(rowGroup.columnData[field.key].dlevels, data[field.key].dlevels);\n Array.prototype.push.apply(rowGroup.columnData[field.key].values, data[field.key].values);\n rowGroup.columnData[field.key].count += data[field.key].count;\n }\n}\n\n// eslint-disable-next-line max-statements, complexity\nfunction shredRecordFields(\n fields: Record<string, ParquetField>,\n record: ParquetRow,\n data: Record<string, ParquetColumnChunk>,\n rLevel: number,\n dLevel: number\n) {\n for (const name in fields) {\n const field = fields[name];\n\n // fetch values\n let values: any[] = [];\n if (\n record &&\n field.name in record &&\n record[field.name] !== undefined &&\n record[field.name] !== null\n ) {\n if (record[field.name].constructor === Array) {\n values = record[field.name];\n } else {\n values.push(record[field.name]);\n }\n }\n // check values\n if (values.length === 0 && Boolean(record) && field.repetitionType === 'REQUIRED') {\n throw new Error(`missing required field: ${field.name}`);\n }\n if (values.length > 1 && field.repetitionType !== 'REPEATED') {\n throw new Error(`too many values for field: ${field.name}`);\n }\n\n // push null\n if (values.length === 0) {\n if (field.isNested) {\n shredRecordFields(field.fields!, null!, data, rLevel, dLevel);\n } else {\n data[field.key].count += 1;\n data[field.key].rlevels.push(rLevel);\n data[field.key].dlevels.push(dLevel);\n }\n continue; // eslint-disable-line no-continue\n }\n\n // push values\n for (let i = 0; i < values.length; i++) {\n const rlvl = i === 0 ? rLevel : field.rLevelMax;\n if (field.isNested) {\n shredRecordFields(field.fields!, values[i], data, rlvl, field.dLevelMax);\n } else {\n data[field.key].count += 1;\n data[field.key].rlevels.push(rlvl);\n data[field.key].dlevels.push(field.dLevelMax);\n data[field.key].values.push(\n Types.toPrimitive((field.originalType || field.primitiveType)!, values[i])\n );\n }\n }\n }\n}\n\n/**\n * 'Materialize' a list of <value, repetition_level, definition_level>\n * tuples back to nested records (objects/arrays) using the Google Dremel\n * Algorithm..\n *\n * The rowGroup argument must point to an object with the following structure (i.e.\n * the same structure that is returned by shredRecords):\n *\n * rowGroup = {\n * columnData: [\n * 'my_col': {\n * dlevels: [d1, d2, .. dN],\n * rlevels: [r1, r2, .. rN],\n * values: [v1, v2, .. vN],\n * }, ...\n * ],\n * rowCount: X,\n * }\n */\nexport function materializeRows(schema: ParquetSchema, rowGroup: ParquetRowGroup): ParquetRow[] {\n const rows: ParquetRow[] = [];\n // rows = new Array(rowGroup.rowCount).fill({})'\n for (let i = 0; i < rowGroup.rowCount; i++) {\n rows.push({});\n }\n for (const key in rowGroup.columnData) {\n const columnData = rowGroup.columnData[key];\n if (columnData.count) {\n materializeColumnAsRows(schema, columnData, key, rows);\n }\n }\n return rows;\n}\n\n/** Populate record fields for one column */\n// eslint-disable-next-line max-statements, complexity\nfunction materializeColumnAsRows(\n schema: ParquetSchema,\n columnData: ParquetColumnChunk,\n key: string,\n rows: ParquetRow[]\n): void {\n const field = schema.findField(key);\n const branch = schema.findFieldBranch(key);\n\n // tslint:disable-next-line:prefer-array-literal\n const rLevels: number[] = new Array(field.rLevelMax + 1).fill(0);\n let vIndex = 0;\n for (let i = 0; i < columnData.count; i++) {\n const dLevel = columnData.dlevels[i];\n const rLevel = columnData.rlevels[i];\n rLevels[rLevel]++;\n rLevels.fill(0, rLevel + 1);\n\n let rIndex = 0;\n let record = rows[rLevels[rIndex++] - 1];\n\n // Internal nodes - Build a nested row object\n for (const step of branch) {\n if (step === field || dLevel < step.dLevelMax) {\n break;\n }\n\n switch (step.repetitionType) {\n case 'REPEATED':\n if (!(step.name in record)) {\n // eslint-disable max-depth\n record[step.name] = [];\n }\n const ix = rLevels[rIndex++];\n while (record[step.name].length <= ix) {\n // eslint-disable max-depth\n record[step.name].push({});\n }\n record = record[step.name][ix];\n break;\n\n default:\n record[step.name] = record[step.name] || {};\n record = record[step.name];\n }\n }\n\n // Leaf node - Add the value\n if (dLevel === field.dLevelMax) {\n const value = Types.fromPrimitive(\n // @ts-ignore\n field.originalType || field.primitiveType,\n columnData.values[vIndex],\n field\n );\n vIndex++;\n\n switch (field.repetitionType) {\n case 'REPEATED':\n if (!(field.name in record)) {\n // eslint-disable max-depth\n record[field.name] = [];\n }\n const ix = rLevels[rIndex];\n while (record[field.name].length <= ix) {\n // eslint-disable max-depth\n record[field.name].push(null);\n }\n record[field.name][ix] = value;\n break;\n\n default:\n record[field.name] = value;\n }\n }\n }\n}\n\n// Columnar export\n\n/**\n * 'Materialize' a list of <value, repetition_level, definition_level>\n * tuples back to nested records (objects/arrays) using the Google Dremel\n * Algorithm..\n *\n * The rowGroup argument must point to an object with the following structure (i.e.\n * the same structure that is returned by shredRecords):\n *\n * rowGroup = {\n * columnData: [\n * 'my_col': {\n * dlevels: [d1, d2, .. dN],\n * rlevels: [r1, r2, .. rN],\n * values: [v1, v2, .. vN],\n * }, ...\n * ],\n * rowCount: X,\n * }\n */\nexport function materializeColumns(\n schema: ParquetSchema,\n rowGroup: ParquetRowGroup\n): Record<string, ArrayType> {\n const columns: Record<string, ArrayType> = {};\n for (const key in rowGroup.columnData) {\n const columnData = rowGroup.columnData[key];\n if (columnData.count) {\n materializeColumnAsColumnarArray(schema, columnData, rowGroup.rowCount, key, columns);\n }\n }\n return columns;\n}\n\n// eslint-disable-next-line max-statements, complexity\nfunction materializeColumnAsColumnarArray(\n schema: ParquetSchema,\n columnData: ParquetColumnChunk,\n rowCount: number,\n key: string,\n columns: Record<string, ArrayType<any>>\n) {\n if (columnData.count <= 0) {\n return;\n }\n\n const field = schema.findField(key);\n const branch = schema.findFieldBranch(key);\n\n const columnName = branch[0].name;\n\n let column: ArrayType | undefined;\n const {values} = columnData;\n if (values.length === rowCount && branch[0].primitiveType) {\n // if (branch[0].repetitionType === `REQUIRED`) {\n // switch (branch[0].primitiveType) {\n // case 'INT32': return values instanceof Int32Array ? values : new Int32Array(values);\n // }\n // }\n column = values;\n }\n\n if (column) {\n columns[columnName] = column;\n return;\n }\n\n column = new Array(rowCount);\n for (let i = 0; i < rowCount; i++) {\n column[i] = {};\n }\n columns[columnName] = column;\n\n // tslint:disable-next-line:prefer-array-literal\n const rLevels: number[] = new Array(field.rLevelMax + 1).fill(0);\n let vIndex = 0;\n for (let i = 0; i < columnData.count; i++) {\n const dLevel = columnData.dlevels[i];\n const rLevel = columnData.rlevels[i];\n rLevels[rLevel]++;\n rLevels.fill(0, rLevel + 1);\n\n let rIndex = 0;\n let record = column[rLevels[rIndex++] - 1] as ParquetRow;\n\n // Internal nodes - Build a nested row object\n for (const step of branch) {\n if (step === field || dLevel < step.dLevelMax) {\n break;\n }\n\n switch (step.repetitionType) {\n case 'REPEATED':\n if (!(step.name in record)) {\n // eslint-disable max-depth\n record[step.name] = [];\n }\n const ix = rLevels[rIndex++];\n while (record[step.name].length <= ix) {\n // eslint-disable max-depth\n record[step.name].push({});\n }\n record = record[step.name][ix];\n break;\n\n default:\n record[step.name] = record[step.name] || {};\n record = record[step.name];\n }\n }\n\n // Leaf node - Add the value\n if (dLevel === field.dLevelMax) {\n const value = Types.fromPrimitive(\n // @ts-ignore\n field.originalType || field.primitiveType,\n columnData.values[vIndex],\n field\n );\n vIndex++;\n\n switch (field.repetitionType) {\n case 'REPEATED':\n if (!(field.name in record)) {\n // eslint-disable max-depth\n record[field.name] = [];\n }\n const ix = rLevels[rIndex];\n while (record[field.name].length <= ix) {\n // eslint-disable max-depth\n record[field.name].push(null);\n }\n record[field.name][ix] = value;\n break;\n\n default:\n record[field.name] = value;\n }\n }\n }\n\n // Remove one level of nesting\n for (let i = 0; i < rowCount; ++i) {\n if (columnName in (column[i] as object)) {\n column[i] = (column[i] as object)[columnName];\n }\n }\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n// Copyright (c) 2017 ironSource Ltd.\n// Forked from https://github.com/kbajalc/parquets under MIT license\n\nimport {PARQUET_CODECS} from '../codecs/index';\nimport {PARQUET_COMPRESSION_METHODS} from '../compression';\nimport {\n FieldDefinition,\n ParquetRowGroup,\n ParquetCompression,\n ParquetField,\n ParquetRow,\n RepetitionType,\n SchemaDefinition\n} from './declare';\nimport {materializeRows, shredBuffer, shredRecord} from './shred';\nimport {PARQUET_LOGICAL_TYPES} from './types';\n\n/**\n * A parquet file schema\n */\nexport class ParquetSchema {\n public schema: Record<string, FieldDefinition>;\n public fields: Record<string, ParquetField>;\n public fieldList: ParquetField[];\n\n /**\n * Create a new schema from a JSON schema definition\n */\n constructor(schema: SchemaDefinition) {\n this.schema = schema;\n this.fields = buildFields(schema, 0, 0, []);\n this.fieldList = listFields(this.fields);\n }\n\n /**\n * Retrieve a field definition\n */\n findField(path: string | string[]): ParquetField {\n if (typeof path === 'string') {\n // tslint:disable-next-line:no-parameter-reassignment\n path = path.split(',');\n } else {\n // tslint:disable-next-line:no-parameter-reassignment\n path = path.slice(0); // clone array\n }\n\n let n = this.fields;\n for (; path.length > 1; path.shift()) {\n n = n[path[0]].fields as Record<string, ParquetField>;\n }\n\n return n[path[0]];\n }\n\n /**\n * Retrieve a field definition and all the field's ancestors\n */\n findFieldBranch(path: string | string[]): ParquetField[] {\n if (typeof path === 'string') {\n // tslint:disable-next-line:no-parameter-reassignment\n path = path.split(',');\n }\n const branch: ParquetField[] = [];\n let n = this.fields;\n for (; path.length > 0; path.shift()) {\n branch.push(n[path[0]]);\n if (path.length > 1) {\n n = n[path[0]].fields as Record<string, ParquetField>;\n }\n }\n return branch;\n }\n\n shredRecord(row: ParquetRow, rowGroup: ParquetRowGroup): void {\n shredRecord(this, row, rowGroup);\n }\n\n materializeRows(rowGroup: ParquetRowGroup): ParquetRow[] {\n return materializeRows(this, rowGroup);\n }\n\n compress(type: ParquetCompression): this {\n setCompress(this.schema, type);\n setCompress(this.fields, type);\n return this;\n }\n\n rowGroup(): ParquetRowGroup {\n return shredBuffer(this);\n }\n}\n\nfunction setCompress(schema: any, type: ParquetCompression) {\n for (const name in schema) {\n const node = schema[name];\n if (node.fields) {\n setCompress(node.fields, type);\n } else {\n node.compression = type;\n }\n }\n}\n\n// eslint-disable-next-line max-statements, complexity\nfunction buildFields(\n schema: SchemaDefinition,\n rLevelParentMax: number,\n dLevelParentMax: number,\n path: string[]\n): Record<string, ParquetField> {\n const fieldList: Record<string, ParquetField> = {};\n\n for (const name in schema) {\n const opts = schema[name];\n\n /* field repetition type */\n const required = !opts.optional;\n const repeated = Boolean(opts.repeated);\n let rLevelMax = rLevelParentMax;\n let dLevelMax = dLevelParentMax;\n\n let repetitionType: RepetitionType = 'REQUIRED';\n if (!required) {\n repetitionType = 'OPTIONAL';\n dLevelMax++;\n }\n if (repeated) {\n repetitionType = 'REPEATED';\n rLevelMax++;\n if (required) dLevelMax++;\n }\n\n /* nested field */\n if (opts.fields) {\n const cpath = path.concat([name]);\n fieldList[name] = {\n name,\n path: cpath,\n key: cpath.join(),\n repetitionType,\n rLevelMax,\n dLevelMax,\n isNested: true,\n fieldCount: Object.keys(opts.fields).length,\n fields: buildFields(opts.fields, rLevelMax, dLevelMax, cpath)\n };\n continue; // eslint-disable-line no-continue\n }\n\n const typeDef: any = PARQUET_LOGICAL_TYPES[opts.type!];\n if (!typeDef) {\n throw new Error(`invalid parquet type: ${opts.type}`);\n }\n\n opts.encoding = opts.encoding || 'PLAIN';\n if (!(opts.encoding in PARQUET_CODECS)) {\n throw new Error(`unsupported parquet encoding: ${opts.encoding}`);\n }\n\n opts.compression = opts.compression || 'UNCOMPRESSED';\n if (!(opts.compression in PARQUET_COMPRESSION_METHODS)) {\n throw new Error(`unsupported compression method: ${opts.compression}`);\n }\n\n /* add to schema */\n const cpath = path.concat([name]);\n fieldList[name] = {\n name,\n primitiveType: typeDef.primitiveType,\n originalType: typeDef.originalType,\n path: cpath,\n key: cpath.join(),\n repetitionType,\n encoding: opts.encoding,\n compression: opts.compression,\n typeLength: opts.typeLength || typeDef.typeLength,\n presision: opts.presision,\n scale: opts.scale,\n rLevelMax,\n dLevelMax\n };\n }\n return fieldList;\n}\n\nfunction listFields(fields: Record<string, ParquetField>): ParquetField[] {\n let list: ParquetField[] = [];\n for (const k in fields) {\n list.push(fields[k]);\n if (fields[k].isNested) {\n list = list.concat(listFields(fields[k].fields!));\n }\n }\n return list;\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n// Copyright (c) 2017 ironSource Ltd.\n// Forked from https://github.com/kbajalc/parquets under MIT license\n\n/* tslint:disable */\n/* eslint-disable */\n/*\n * Autogenerated by @creditkarma/thrift-typescript v3.7.2\n * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING\n */\nexport {Buffer} from '../../polyfills/buffer/install-buffer-polyfill';\n\nexport {TBufferedTransport, TCompactProtocol, TFramedTransport} from 'thrift';\n\nexport * from './Type';\nexport * from './ConvertedType';\nexport * from './FieldRepetitionType';\nexport * from './Encoding';\nexport * from './CompressionCodec';\nexport * from './PageType';\nexport * from './BoundaryOrder';\nexport * from './Statistics';\nexport * from './StringType';\nexport * from './UUIDType';\nexport * from './MapType';\nexport * from './ListType';\nexport * from './EnumType';\nexport * from './DateType';\nexport * from './NullType';\nexport * from './DecimalType';\nexport * from './MilliSeconds';\nexport * from './MicroSeconds';\nexport * from './TimestampType';\nexport * from './TimeType';\nexport * from './IntType';\nexport * from './JsonType';\nexport * from './BsonType';\nexport * from './SchemaElement';\nexport * from './DataPageHeader';\nexport * from './IndexPageHeader';\nexport * from './DictionaryPageHeader';\nexport * from './DataPageHeaderV2';\nexport * from './PageHeader';\nexport * from './KeyValue';\nexport * from './SortingColumn';\nexport * from './PageEncodingStats';\nexport * from './ColumnMetaData';\nexport * from './ColumnChunk';\nexport * from './RowGroup';\nexport * from './TypeDefinedOrder';\nexport * from './PageLocation';\nexport * from './OffsetIndex';\nexport * from './ColumnIndex';\nexport * from './FileMetaData';\nexport * from './TimeUnit';\nexport * from './LogicalType';\nexport * from './ColumnOrder';\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n// Copyright (c) 2017 ironSource Ltd.\n// Forked from https://github.com/kbajalc/parquets under MIT license\n\n/* tslint:disable */\n/* eslint-disable */\n/*\n * Autogenerated by @creditkarma/thrift-typescript v3.7.2\n * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING\n */\nexport enum Type {\n BOOLEAN = 0,\n INT32 = 1,\n INT64 = 2,\n INT96 = 3,\n FLOAT = 4,\n DOUBLE = 5,\n BYTE_ARRAY = 6,\n FIXED_LEN_BYTE_ARRAY = 7\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n// Copyright (c) 2017 ironSource Ltd.\n// Forked from https://github.com/kbajalc/parquets under MIT license\n\n/* tslint:disable */\n/* eslint-disable */\n/*\n * Autogenerated by @creditkarma/thrift-typescript v3.7.2\n * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING\n */\nexport enum ConvertedType {\n UTF8 = 0,\n MAP = 1,\n MAP_KEY_VALUE = 2,\n LIST = 3,\n ENUM = 4,\n DECIMAL = 5,\n DATE = 6,\n TIME_MILLIS = 7,\n TIME_MICROS = 8,\n TIMESTAMP_MILLIS = 9,\n TIMESTAMP_MICROS = 10,\n UINT_8 = 11,\n UINT_16 = 12,\n UINT_32 = 13,\n UINT_64 = 14,\n INT_8 = 15,\n INT_16 = 16,\n INT_32 = 17,\n INT_64 = 18,\n JSON = 19,\n BSON = 20,\n INTERVAL = 21\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n// Copyright (c) 2017 ironSource Ltd.\n// Forked from https://github.com/kbajalc/parquets under MIT license\n\n/* tslint:disable */\n/* eslint-disable */\n/*\n * Autogenerated by @creditkarma/thrift-typescript v3.7.2\n * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING\n */\nexport enum FieldRepetitionType {\n REQUIRED = 0,\n OPTIONAL = 1,\n REPEATED = 2\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n// Copyright (c) 2017 ironSource Ltd.\n// Forked from https://github.com/kbajalc/parquets under MIT license\n\n/* tslint:disable */\n/* eslint-disable */\n/*\n * Autogenerated by @creditkarma/thrift-typescript v3.7.2\n * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING\n */\nexport enum Encoding {\n PLAIN = 0,\n PLAIN_DICTIONARY = 2,\n RLE = 3,\n BIT_PACKED = 4,\n DELTA_BINARY_PACKED = 5,\n DELTA_LENGTH_BYTE_ARRAY = 6,\n DELTA_BYTE_ARRAY = 7,\n RLE_DICTIONARY = 8\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n// Copyright (c) 2017 ironSource Ltd.\n// Forked from https://github.com/kbajalc/parquets under MIT license\n\n/* tslint:disable */\n/* eslint-disable */\n/*\n * Autogenerated by @creditkarma/thrift-typescript v3.7.2\n * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING\n */\nexport enum CompressionCodec {\n UNCOMPRESSED = 0,\n SNAPPY = 1,\n GZIP = 2,\n LZO = 3,\n BROTLI = 4,\n LZ4 = 5,\n ZSTD = 6,\n LZ4_RAW = 7 // Added in 2.9\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n// Copyright (c) 2017 ironSource Ltd.\n// Forked from https://github.com/kbajalc/parquets under MIT license\n\n/* tslint:disable */\n/* eslint-disable */\n/*\n * Autogenerated by @creditkarma/thrift-typescript v3.7.2\n * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING\n */\nexport enum PageType {\n DATA_PAGE = 0,\n INDEX_PAGE = 1,\n DICTIONARY_PAGE = 2,\n DATA_PAGE_V2 = 3\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n// Copyright (c) 2017 ironSource Ltd.\n// Forked from https://github.com/kbajalc/parquets under MIT license\n\n/* tslint:disable */\n/* eslint-disable */\n/*\n * Autogenerated by @creditkarma/thrift-typescript v3.7.2\n * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING\n */\nimport Int64 from 'node-int64';\nimport * as thrift from 'thrift';\nexport interface IStatisticsArgs {\n max?: Buffer;\n min?: Buffer;\n null_count?: number | Int64;\n distinct_count?: number | Int64;\n max_value?: Buffer;\n min_value?: Buffer;\n}\nexport class Statistics {\n public max?: Buffer;\n public min?: Buffer;\n public null_count?: Int64;\n public distinct_count?: Int64;\n public max_value?: Buffer;\n public min_value?: Buffer;\n constructor(args?: IStatisticsArgs) {\n if (args != null && args.max != null) {\n this.max = args.max;\n }\n if (args != null && args.min != null) {\n this.min = args.min;\n }\n if (args != null && args.null_count != null) {\n if (typeof args.null_count === 'number') {\n this.null_count = new Int64(args.null_count);\n } else {\n this.null_count = args.null_count;\n }\n }\n if (args != null && args.distinct_count != null) {\n if (typeof args.distinct_count === 'number') {\n this.distinct_count = new Int64(args.distinct_count);\n } else {\n this.distinct_count = args.distinct_count;\n }\n }\n if (args != null && args.max_value != null) {\n this.max_value = args.max_value;\n }\n if (args != null && args.min_value != null) {\n this.min_value = args.min_value;\n }\n }\n public write(output: thrift.TProtocol): void {\n output.writeStructBegin('Statistics');\n if (this.max != null) {\n output.writeFieldBegin('max', thrift.Thrift.Type.STRING, 1);\n output.writeBinary(this.max);\n output.writeFieldEnd();\n }\n if (this.min != null) {\n output.writeFieldBegin('min', thrift.Thrift.Type.STRING, 2);\n output.writeBinary(this.min);\n output.writeFieldEnd();\n }\n if (this.null_count != null) {\n output.writeFieldBegin('null_count', thrift.Thrift.Type.I64, 3);\n output.writeI64(this.null_count);\n output.writeFieldEnd();\n }\n if (this.distinct_count != null) {\n output.writeFieldBegin('distinct_count', thrift.Thrift.Type.I64, 4);\n output.writeI64(this.distinct_count);\n output.writeFieldEnd();\n }\n if (this.max_value != null) {\n output.writeFieldBegin('max_value', thrift.Thrift.Type.STRING, 5);\n output.writeBinary(this.max_value);\n output.writeFieldEnd();\n }\n if (this.min_value != null) {\n output.writeFieldBegin('min_value', thrift.Thrift.Type.STRING, 6);\n output.writeBinary(this.min_value);\n output.writeFieldEnd();\n }\n output.writeFieldStop();\n output.writeStructEnd();\n return;\n }\n public static read(input: thrift.TProtocol): Statistics {\n input.readStructBegin();\n let _args: any = {};\n while (true) {\n const ret: thrift.TField = input.readFieldBegin();\n const fieldType: thrift.Thrift.Type = ret.ftype;\n const fieldId: number = ret.fid;\n if (fieldType === thrift.Thrift.Type.STOP) {\n break;\n }\n switch (fieldId) {\n case 1:\n if (fieldType === thrift.Thrift.Type.STRING) {\n const value_1: Buffer = input.readBinary();\n _args.max = value_1;\n } else {\n input.skip(fieldType);\n }\n break;\n case 2:\n if (fieldType === thrift.Thrift.Type.STRING) {\n const value_2: Buffer = input.readBinary();\n _args.min = value_2;\n } else {\n input.skip(fieldType);\n }\n break;\n case 3:\n if (fieldType === thrift.Thrift.Type.I64) {\n const value_3: Int64 = input.readI64();\n _args.null_count = value_3;\n } else {\n input.skip(fieldType);\n }\n break;\n case 4:\n if (fieldType === thrift.Thrift.Type.I64) {\n const value_4: Int64 = input.readI64();\n _args.distinct_count = value_4;\n } else {\n input.skip(fieldType);\n }\n break;\n case 5:\n if (fieldType === thrift.Thrift.Type.STRING) {\n const value_5: Buffer = input.readBinary();\n _args.max_value = value_5;\n } else {\n input.skip(fieldType);\n }\n break;\n case 6:\n if (fieldType === thrift.Thrift.Type.STRING) {\n const value_6: Buffer = input.readBinary();\n _args.min_value = value_6;\n } else {\n input.skip(fieldType);\n }\n break;\n default: {\n input.skip(fieldType);\n }\n }\n input.readFieldEnd();\n }\n input.readStructEnd();\n return new Statistics(_args);\n }\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n// Copyright (c) 2017 ironSource Ltd.\n// Forked from https://github.com/kbajalc/parquets under MIT license\n\n/* tslint:disable */\n/* eslint-disable */\n/*\n * Autogenerated by @creditkarma/thrift-typescript v3.7.2\n * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING\n */\nimport * as thrift from 'thrift';\nexport interface IStringTypeArgs {}\nexport class StringType {\n constructor() {}\n public write(output: thrift.TProtocol): void {\n output.writeStructBegin('StringType');\n output.writeFieldStop();\n output.writeStructEnd();\n return;\n }\n public static read(input: thrift.TProtocol): StringType {\n input.readStructBegin();\n while (true) {\n const ret: thrift.TField = input.readFieldBegin();\n const fieldType: thrift.Thrift.Type = ret.ftype;\n const fieldId: number = ret.fid;\n if (fieldType === thrift.Thrift.Type.STOP) {\n break;\n }\n switch (fieldId) {\n default: {\n input.skip(fieldType);\n }\n }\n input.readFieldEnd();\n }\n input.readStructEnd();\n return new StringType();\n }\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n// Copyright (c) 2017 ironSource Ltd.\n// Forked from https://github.com/kbajalc/parquets under MIT license\n\n/* tslint:disable */\n/* eslint-disable */\n/*\n * Autogenerated by @creditkarma/thrift-typescript v3.7.2\n * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING\n */\nimport * as thrift from 'thrift';\nexport interface IUUIDTypeArgs {}\nexport class UUIDType {\n constructor() {}\n public write(output: thrift.TProtocol): void {\n output.writeStructBegin('UUIDType');\n output.writeFieldStop();\n output.writeStructEnd();\n return;\n }\n public static read(input: thrift.TProtocol): UUIDType {\n input.readStructBegin();\n while (true) {\n const ret: thrift.TField = input.readFieldBegin();\n const fieldType: thrift.Thrift.Type = ret.ftype;\n const fieldId: number = ret.fid;\n if (fieldType === thrift.Thrift.Type.STOP) {\n break;\n }\n switch (fieldId) {\n default: {\n input.skip(fieldType);\n }\n }\n input.readFieldEnd();\n }\n input.readStructEnd();\n return new UUIDType();\n }\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n// Copyright (c) 2017 ironSource Ltd.\n// Forked from https://github.com/kbajalc/parquets under MIT license\n\n/* tslint:disable */\n/* eslint-disable */\n/*\n * Autogenerated by @creditkarma/thrift-typescript v3.7.2\n * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING\n */\nimport * as thrift from 'thrift';\nexport interface IMapTypeArgs {}\nexport class MapType {\n constructor() {}\n public write(output: thrift.TProtocol): void {\n output.writeStructBegin('MapType');\n output.writeFieldStop();\n output.writeStructEnd();\n return;\n }\n public static read(input: thrift.TProtocol): MapType {\n input.readStructBegin();\n while (true) {\n const ret: thrift.TField = input.readFieldBegin();\n const fieldType: thrift.Thrift.Type = ret.ftype;\n const fieldId: number = ret.fid;\n if (fieldType === thrift.Thrift.Type.STOP) {\n break;\n }\n switch (fieldId) {\n default: {\n input.skip(fieldType);\n }\n }\n input.readFieldEnd();\n }\n input.readStructEnd();\n return new MapType();\n }\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n// Copyright (c) 2017 ironSource Ltd.\n// Forked from https://github.com/kbajalc/parquets under MIT license\n\n/* tslint:disable */\n/* eslint-disable */\n/*\n * Autogenerated by @creditkarma/thrift-typescript v3.7.2\n * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING\n */\nimport * as thrift from 'thrift';\nexport interface IListTypeArgs {}\nexport class ListType {\n constructor() {}\n public write(output: thrift.TProtocol): void {\n output.writeStructBegin('ListType');\n output.writeFieldStop();\n output.writeStructEnd();\n return;\n }\n public static read(input: thrift.TProtocol): ListType {\n input.readStructBegin();\n while (true) {\n const ret: thrift.TField = input.readFieldBegin();\n const fieldType: thrift.Thrift.Type = ret.ftype;\n const fieldId: number = ret.fid;\n if (fieldType === thrift.Thrift.Type.STOP) {\n break;\n }\n switch (fieldId) {\n default: {\n input.skip(fieldType);\n }\n }\n input.readFieldEnd();\n }\n input.readStructEnd();\n return new ListType();\n }\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n// Copyright (c) 2017 ironSource Ltd.\n// Forked from https://github.com/kbajalc/parquets under MIT license\n\n/* tslint:disable */\n/* eslint-disable */\n/*\n * Autogenerated by @creditkarma/thrift-typescript v3.7.2\n * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING\n */\nimport * as thrift from 'thrift';\nexport interface IEnumTypeArgs {}\nexport class EnumType {\n constructor() {}\n public write(output: thrift.TProtocol): void {\n output.writeStructBegin('EnumType');\n output.writeFieldStop();\n output.writeStructEnd();\n return;\n }\n public static read(input: thrift.TProtocol): EnumType {\n input.readStructBegin();\n while (true) {\n const ret: thrift.TField = input.readFieldBegin();\n const fieldType: thrift.Thrift.Type = ret.ftype;\n const fieldId: number = ret.fid;\n if (fieldType === thrift.Thrift.Type.STOP) {\n break;\n }\n switch (fieldId) {\n default: {\n input.skip(fieldType);\n }\n }\n input.readFieldEnd();\n }\n input.readStructEnd();\n return new EnumType();\n }\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n// Copyright (c) 2017 ironSource Ltd.\n// Forked from https://github.com/kbajalc/parquets under MIT license\n\n/* tslint:disable */\n/* eslint-disable */\n/*\n * Autogenerated by @creditkarma/thrift-typescript v3.7.2\n * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING\n */\nimport * as thrift from 'thrift';\nexport interface IDateTypeArgs {}\nexport class DateType {\n constructor() {}\n public write(output: thrift.TProtocol): void {\n output.writeStructBegin('DateType');\n output.writeFieldStop();\n output.writeStructEnd();\n return;\n }\n public static read(input: thrift.TProtocol): DateType {\n input.readStructBegin();\n while (true) {\n const ret: thrift.TField = input.readFieldBegin();\n const fieldType: thrift.Thrift.Type = ret.ftype;\n const fieldId: number = ret.fid;\n if (fieldType === thrift.Thrift.Type.STOP) {\n break;\n }\n switch (fieldId) {\n default: {\n input.skip(fieldType);\n }\n }\n input.readFieldEnd();\n }\n input.readStructEnd();\n return new DateType();\n }\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n// Copyright (c) 2017 ironSource Ltd.\n// Forked from https://github.com/kbajalc/parquets under MIT license\n\n/* tslint:disable */\n/* eslint-disable */\n/*\n * Autogenerated by @creditkarma/thrift-typescript v3.7.2\n * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING\n */\nimport * as thrift from 'thrift';\nexport interface INullTypeArgs {}\nexport class NullType {\n constructor() {}\n public write(output: thrift.TProtocol): void {\n output.writeStructBegin('NullType');\n output.writeFieldStop();\n output.writeStructEnd();\n return;\n }\n public static read(input: thrift.TProtocol): NullType {\n input.readStructBegin();\n while (true) {\n const ret: thrift.TField = input.readFieldBegin();\n const fieldType: thrift.Thrift.Type = ret.ftype;\n const fieldId: number = ret.fid;\n if (fieldType === thrift.Thrift.Type.STOP) {\n break;\n }\n switch (fieldId) {\n default: {\n input.skip(fieldType);\n }\n }\n input.readFieldEnd();\n }\n input.readStructEnd();\n return new NullType();\n }\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n// Copyright (c) 2017 ironSource Ltd.\n// Forked from https://github.com/kbajalc/parquets under MIT license\n\n/* tslint:disable */\n/* eslint-disable */\n/*\n * Autogenerated by @creditkarma/thrift-typescript v3.7.2\n * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING\n */\nimport * as thrift from 'thrift';\nexport interface IDecimalTypeArgs {\n scale: number;\n precision: number;\n}\nexport class DecimalType {\n public scale: number;\n public precision: number;\n constructor(args: IDecimalTypeArgs) {\n if (args != null && args.scale != null) {\n this.scale = args.scale;\n } else {\n throw new thrift.Thrift.TProtocolException(\n thrift.Thrift.TProtocolExceptionType.UNKNOWN,\n 'Required field[scale] is unset!'\n );\n }\n if (args != null && args.precision != null) {\n this.precision = args.precision;\n } else {\n throw new thrift.Thrift.TProtocolException(\n thrift.Thrift.TProtocolExceptionType.UNKNOWN,\n 'Required field[precision] is unset!'\n );\n }\n }\n public write(output: thrift.TProtocol): void {\n output.writeStructBegin('DecimalType');\n if (this.scale != null) {\n output.writeFieldBegin('scale', thrift.Thrift.Type.I32, 1);\n output.writeI32(this.scale);\n output.writeFieldEnd();\n }\n if (this.precision != null) {\n output.writeFieldBegin('precision', thrift.Thrift.Type.I32, 2);\n output.writeI32(this.precision);\n output.writeFieldEnd();\n }\n output.writeFieldStop();\n output.writeStructEnd();\n return;\n }\n public static read(input: thrift.TProtocol): DecimalType {\n input.readStructBegin();\n let _args: any = {};\n while (true) {\n const ret: thrift.TField = input.readFieldBegin();\n const fieldType: thrift.Thrift.Type = ret.ftype;\n const fieldId: number = ret.fid;\n if (fieldType === thrift.Thrift.Type.STOP) {\n break;\n }\n switch (fieldId) {\n case 1:\n if (fieldType === thrift.Thrift.Type.I32) {\n const value_1: number = input.readI32();\n _args.scale = value_1;\n } else {\n input.skip(fieldType);\n }\n break;\n case 2:\n if (fieldType === thrift.Thrift.Type.I32) {\n const value_2: number = input.readI32();\n _args.precision = value_2;\n } else {\n input.skip(fieldType);\n }\n break;\n default: {\n input.skip(fieldType);\n }\n }\n input.readFieldEnd();\n }\n input.readStructEnd();\n if (_args.scale !== undefined && _args.precision !== undefined) {\n return new DecimalType(_args);\n } else {\n throw new thrift.Thrift.TProtocolException(\n thrift.Thrift.TProtocolExceptionType.UNKNOWN,\n 'Unable to read DecimalType from input'\n );\n }\n }\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n// Copyright (c) 2017 ironSource Ltd.\n// Forked from https://github.com/kbajalc/parquets under MIT license\n\n/* tslint:disable */\n/* eslint-disable */\n/*\n * Autogenerated by @creditkarma/thrift-typescript v3.7.2\n * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING\n */\nimport * as thrift from 'thrift';\nexport interface IMilliSecondsArgs {}\nexport class MilliSeconds {\n constructor() {}\n public write(output: thrift.TProtocol): void {\n output.writeStructBegin('MilliSeconds');\n output.writeFieldStop();\n output.writeStructEnd();\n return;\n }\n public static read(input: thrift.TProtocol): MilliSeconds {\n input.readStructBegin();\n while (true) {\n const ret: thrift.TField = input.readFieldBegin();\n const fieldType: thrift.Thrift.Type = ret.ftype;\n const fieldId: number = ret.fid;\n if (fieldType === thrift.Thrift.Type.STOP) {\n break;\n }\n switch (fieldId) {\n default: {\n input.skip(fieldType);\n }\n }\n input.readFieldEnd();\n }\n input.readStructEnd();\n return new MilliSeconds();\n }\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n// Copyright (c) 2017 ironSource Ltd.\n// Forked from https://github.com/kbajalc/parquets under MIT license\n\n/* tslint:disable */\n/* eslint-disable */\n/*\n * Autogenerated by @creditkarma/thrift-typescript v3.7.2\n * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING\n */\nimport * as thrift from 'thrift';\nexport interface IMicroSecondsArgs {}\nexport class MicroSeconds {\n constructor() {}\n public write(output: thrift.TProtocol): void {\n output.writeStructBegin('MicroSeconds');\n output.writeFieldStop();\n output.writeStructEnd();\n return;\n }\n public static read(input: thrift.TProtocol): MicroSeconds {\n input.readStructBegin();\n while (true) {\n const ret: thrift.TField = input.readFieldBegin();\n const fieldType: thrift.Thrift.Type = ret.ftype;\n const fieldId: number = ret.fid;\n if (fieldType === thrift.Thrift.Type.STOP) {\n break;\n }\n switch (fieldId) {\n default: {\n input.skip(fieldType);\n }\n }\n input.readFieldEnd();\n }\n input.readStructEnd();\n return new MicroSeconds();\n }\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n// Copyright (c) 2017 ironSource Ltd.\n// Forked from https://github.com/kbajalc/parquets under MIT license\n\n/* tslint:disable */\n/* eslint-disable */\n/*\n * Autogenerated by @creditkarma/thrift-typescript v3.7.2\n * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING\n */\nimport * as thrift from 'thrift';\nimport * as TimeUnit from './TimeUnit';\nexport interface ITimestampTypeArgs {\n isAdjustedToUTC: boolean;\n unit: TimeUnit.TimeUnit;\n}\nexport class TimestampType {\n public isAdjustedToUTC: boolean;\n public unit: TimeUnit.TimeUnit;\n constructor(args: ITimestampTypeArgs) {\n if (args != null && args.isAdjustedToUTC != null) {\n this.isAdjustedToUTC = args.isAdjustedToUTC;\n } else {\n throw new thrift.Thrift.TProtocolException(\n thrift.Thrift.TProtocolExceptionType.UNKNOWN,\n 'Required field[isAdjustedToUTC] is unset!'\n );\n }\n if (args != null && args.unit != null) {\n this.unit = args.unit;\n } else {\n throw new thrift.Thrift.TProtocolException(\n thrift.Thrift.TProtocolExceptionType.UNKNOWN,\n 'Required field[unit] is unset!'\n );\n }\n }\n public write(output: thrift.TProtocol): void {\n output.writeStructBegin('TimestampType');\n if (this.isAdjustedToUTC != null) {\n output.writeFieldBegin('isAdjustedToUTC', thrift.Thrift.Type.BOOL, 1);\n output.writeBool(this.isAdjustedToUTC);\n output.writeFieldEnd();\n }\n if (this.unit != null) {\n output.writeFieldBegin('unit', thrift.Thrift.Type.STRUCT, 2);\n this.unit.write(output);\n output.writeFieldEnd();\n }\n output.writeFieldStop();\n output.writeStructEnd();\n return;\n }\n public static read(input: thrift.TProtocol): TimestampType {\n input.readStructBegin();\n let _args: any = {};\n while (true) {\n const ret: thrift.TField = input.readFieldBegin();\n const fieldType: thrift.Thrift.Type = ret.ftype;\n const fieldId: number = ret.fid;\n if (fieldType === thrift.Thrift.Type.STOP) {\n break;\n }\n switch (fieldId) {\n case 1:\n if (fieldType === thrift.Thrift.Type.BOOL) {\n const value_1: boolean = input.readBool();\n _args.isAdjustedToUTC = value_1;\n } else {\n input.skip(fieldType);\n }\n break;\n case 2:\n if (fieldType === thrift.Thrift.Type.STRUCT) {\n const value_2: TimeUnit.TimeUnit = TimeUnit.TimeUnit.read(input);\n _args.unit = value_2;\n } else {\n input.skip(fieldType);\n }\n break;\n default: {\n input.skip(fieldType);\n }\n }\n input.readFieldEnd();\n }\n input.readStructEnd();\n if (_args.isAdjustedToUTC !== undefined && _args.unit !== undefined) {\n return new TimestampType(_args);\n } else {\n throw new thrift.Thrift.TProtocolException(\n thrift.Thrift.TProtocolExceptionType.UNKNOWN,\n 'Unable to read TimestampType from input'\n );\n }\n }\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n// Copyright (c) 2017 ironSource Ltd.\n// Forked from https://github.com/kbajalc/parquets under MIT license\n\n/* tslint:disable */\n/* eslint-disable */\n/*\n * Autogenerated by @creditkarma/thrift-typescript v3.7.2\n * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING\n */\nimport * as thrift from 'thrift';\nimport * as MicroSeconds from './MicroSeconds';\nimport * as MilliSeconds from './MilliSeconds';\nexport interface ITimeUnitArgs {\n MILLIS?: MilliSeconds.MilliSeconds;\n MICROS?: MicroSeconds.MicroSeconds;\n}\nexport class TimeUnit {\n public MILLIS?: MilliSeconds.MilliSeconds;\n public MICROS?: MicroSeconds.MicroSeconds;\n constructor(args?: ITimeUnitArgs) {\n let _fieldsSet: number = 0;\n if (args != null) {\n if (args.MILLIS != null) {\n _fieldsSet++;\n this.MILLIS = args.MILLIS;\n }\n if (args.MICROS != null) {\n _fieldsSet++;\n this.MICROS = args.MICROS;\n }\n if (_fieldsSet > 1) {\n throw new thrift.Thrift.TProtocolException(\n thrift.Thrift.TProtocolExceptionType.INVALID_DATA,\n 'Cannot read a TUnion with more than one set value!'\n );\n } else if (_fieldsSet < 1) {\n throw new thrift.Thrift.TProtocolException(\n thrift.Thrift.TProtocolExceptionType.INVALID_DATA,\n 'Cannot read a TUnion with no set value!'\n );\n }\n }\n }\n public static fromMILLIS(MILLIS: MilliSeconds.MilliSeconds): TimeUnit {\n return new TimeUnit({MILLIS});\n }\n public static fromMICROS(MICROS: MicroSeconds.MicroSeconds): TimeUnit {\n return new TimeUnit({MICROS});\n }\n public write(output: thrift.TProtocol): void {\n output.writeStructBegin('TimeUnit');\n if (this.MILLIS != null) {\n output.writeFieldBegin('MILLIS', thrift.Thrift.Type.STRUCT, 1);\n this.MILLIS.write(output);\n output.writeFieldEnd();\n }\n if (this.MICROS != null) {\n output.writeFieldBegin('MICROS', thrift.Thrift.Type.STRUCT, 2);\n this.MICROS.write(output);\n output.writeFieldEnd();\n }\n output.writeFieldStop();\n output.writeStructEnd();\n return;\n }\n public static read(input: thrift.TProtocol): TimeUnit {\n let _fieldsSet: number = 0;\n let _returnValue: TimeUnit | null = null;\n input.readStructBegin();\n while (true) {\n const ret: thrift.TField = input.readFieldBegin();\n const fieldType: thrift.Thrift.Type = ret.ftype;\n const fieldId: number = ret.fid;\n if (fieldType === thrift.Thrift.Type.STOP) {\n break;\n }\n switch (fieldId) {\n case 1:\n if (fieldType === thrift.Thrift.Type.STRUCT) {\n _fieldsSet++;\n const value_1: MilliSeconds.MilliSeconds = MilliSeconds.MilliSeconds.read(input);\n _returnValue = TimeUnit.fromMILLIS(value_1);\n } else {\n input.skip(fieldType);\n }\n break;\n case 2:\n if (fieldType === thrift.Thrift.Type.STRUCT) {\n _fieldsSet++;\n const value_2: MicroSeconds.MicroSeconds = MicroSeconds.MicroSeconds.read(input);\n _returnValue = TimeUnit.fromMICROS(value_2);\n } else {\n input.skip(fieldType);\n }\n break;\n default: {\n input.skip(fieldType);\n }\n }\n input.readFieldEnd();\n }\n input.readStructEnd();\n if (_fieldsSet > 1) {\n throw new thrift.Thrift.TProtocolException(\n thrift.Thrift.TProtocolExceptionType.INVALID_DATA,\n 'Cannot read a TUnion with more than one set value!'\n );\n } else if (_fieldsSet < 1) {\n throw new thrift.Thrift.TProtocolException(\n thrift.Thrift.TProtocolExceptionType.INVALID_DATA,\n 'Cannot read a TUnion with no set value!'\n );\n }\n if (_returnValue !== null) {\n return _returnValue;\n } else {\n throw new thrift.Thrift.TProtocolException(\n thrift.Thrift.TProtocolExceptionType.UNKNOWN,\n 'Unable to read data for TUnion'\n );\n }\n }\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n// Copyright (c) 2017 ironSource Ltd.\n// Forked from https://github.com/kbajalc/parquets under MIT license\n\n/* tslint:disable */\n/* eslint-disable */\n/*\n * Autogenerated by @creditkarma/thrift-typescript v3.7.2\n * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING\n */\nimport * as thrift from 'thrift';\nimport * as TimeUnit from './TimeUnit';\nexport interface ITimeTypeArgs {\n isAdjustedToUTC: boolean;\n unit: TimeUnit.TimeUnit;\n}\nexport class TimeType {\n public isAdjustedToUTC: boolean;\n public unit: TimeUnit.TimeUnit;\n constructor(args: ITimeTypeArgs) {\n if (args != null && args.isAdjustedToUTC != null) {\n this.isAdjustedToUTC = args.isAdjustedToUTC;\n } else {\n throw new thrift.Thrift.TProtocolException(\n thrift.Thrift.TProtocolExceptionType.UNKNOWN,\n 'Required field[isAdjustedToUTC] is unset!'\n );\n }\n if (args != null && args.unit != null) {\n this.unit = args.unit;\n } else {\n throw new thrift.Thrift.TProtocolException(\n thrift.Thrift.TProtocolExceptionType.UNKNOWN,\n 'Required field[unit] is unset!'\n );\n }\n }\n public write(output: thrift.TProtocol): void {\n output.writeStructBegin('TimeType');\n if (this.isAdjustedToUTC != null) {\n output.writeFieldBegin('isAdjustedToUTC', thrift.Thrift.Type.BOOL, 1);\n output.writeBool(this.isAdjustedToUTC);\n output.writeFieldEnd();\n }\n if (this.unit != null) {\n output.writeFieldBegin('unit', thrift.Thrift.Type.STRUCT, 2);\n this.unit.write(output);\n output.writeFieldEnd();\n }\n output.writeFieldStop();\n output.writeStructEnd();\n return;\n }\n public static read(input: thrift.TProtocol): TimeType {\n input.readStructBegin();\n let _args: any = {};\n while (true) {\n const ret: thrift.TField = input.readFieldBegin();\n const fieldType: thrift.Thrift.Type = ret.ftype;\n const fieldId: number = ret.fid;\n if (fieldType === thrift.Thrift.Type.STOP) {\n break;\n }\n switch (fieldId) {\n case 1:\n if (fieldType === thrift.Thrift.Type.BOOL) {\n const value_1: boolean = input.readBool();\n _args.isAdjustedToUTC = value_1;\n } else {\n input.skip(fieldType);\n }\n break;\n case 2:\n if (fieldType === thrift.Thrift.Type.STRUCT) {\n const value_2: TimeUnit.TimeUnit = TimeUnit.TimeUnit.read(input);\n _args.unit = value_2;\n } else {\n input.skip(fieldType);\n }\n break;\n default: {\n input.skip(fieldType);\n }\n }\n input.readFieldEnd();\n }\n input.readStructEnd();\n if (_args.isAdjustedToUTC !== undefined && _args.unit !== undefined) {\n return new TimeType(_args);\n } else {\n throw new thrift.Thrift.TProtocolException(\n thrift.Thrift.TProtocolExceptionType.UNKNOWN,\n 'Unable to read TimeType from input'\n );\n }\n }\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n// Copyright (c) 2017 ironSource Ltd.\n// Forked from https://github.com/kbajalc/parquets under MIT license\n\n/* tslint:disable */\n/* eslint-disable */\n/*\n * Autogenerated by @creditkarma/thrift-typescript v3.7.2\n * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING\n */\nimport * as thrift from 'thrift';\nexport interface IIntTypeArgs {\n bitWidth: number;\n isSigned: boolean;\n}\nexport class IntType {\n public bitWidth: number;\n public isSigned: boolean;\n constructor(args: IIntTypeArgs) {\n if (args != null && args.bitWidth != null) {\n this.bitWidth = args.bitWidth;\n } else {\n throw new thrift.Thrift.TProtocolException(\n thrift.Thrift.TProtocolExceptionType.UNKNOWN,\n 'Required field[bitWidth] is unset!'\n );\n }\n if (args != null && args.isSigned != null) {\n this.isSigned = args.isSigned;\n } else {\n throw new thrift.Thrift.TProtocolException(\n thrift.Thrift.TProtocolExceptionType.UNKNOWN,\n 'Required field[isSigned] is unset!'\n );\n }\n }\n public write(output: thrift.TProtocol): void {\n output.writeStructBegin('IntType');\n if (this.bitWidth != null) {\n output.writeFieldBegin('bitWidth', thrift.Thrift.Type.BYTE, 1);\n output.writeByte(this.bitWidth);\n output.writeFieldEnd();\n }\n if (this.isSigned != null) {\n output.writeFieldBegin('isSigned', thrift.Thrift.Type.BOOL, 2);\n output.writeBool(this.isSigned);\n output.writeFieldEnd();\n }\n output.writeFieldStop();\n output.writeStructEnd();\n return;\n }\n public static read(input: thrift.TProtocol): IntType {\n input.readStructBegin();\n let _args: any = {};\n while (true) {\n const ret: thrift.TField = input.readFieldBegin();\n const fieldType: thrift.Thrift.Type = ret.ftype;\n const fieldId: number = ret.fid;\n if (fieldType === thrift.Thrift.Type.STOP) {\n break;\n }\n switch (fieldId) {\n case 1:\n if (fieldType === thrift.Thrift.Type.BYTE) {\n const value_1: number = input.readByte();\n _args.bitWidth = value_1;\n } else {\n input.skip(fieldType);\n }\n break;\n case 2:\n if (fieldType === thrift.Thrift.Type.BOOL) {\n const value_2: boolean = input.readBool();\n _args.isSigned = value_2;\n } else {\n input.skip(fieldType);\n }\n break;\n default: {\n input.skip(fieldType);\n }\n }\n input.readFieldEnd();\n }\n input.readStructEnd();\n if (_args.bitWidth !== undefined && _args.isSigned !== undefined) {\n return new IntType(_args);\n } else {\n throw new thrift.Thrift.TProtocolException(\n thrift.Thrift.TProtocolExceptionType.UNKNOWN,\n 'Unable to read IntType from input'\n );\n }\n }\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n// Copyright (c) 2017 ironSource Ltd.\n// Forked from https://github.com/kbajalc/parquets under MIT license\n\n/* tslint:disable */\n/* eslint-disable */\n/*\n * Autogenerated by @creditkarma/thrift-typescript v3.7.2\n * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING\n */\nimport * as thrift from 'thrift';\nexport interface IJsonTypeArgs {}\nexport class JsonType {\n constructor() {}\n public write(output: thrift.TProtocol): void {\n output.writeStructBegin('JsonType');\n output.writeFieldStop();\n output.writeStructEnd();\n return;\n }\n public static read(input: thrift.TProtocol): JsonType {\n input.readStructBegin();\n while (true) {\n const ret: thrift.TField = input.readFieldBegin();\n const fieldType: thrift.Thrift.Type = ret.ftype;\n const fieldId: number = ret.fid;\n if (fieldType === thrift.Thrift.Type.STOP) {\n break;\n }\n switch (fieldId) {\n default: {\n input.skip(fieldType);\n }\n }\n input.readFieldEnd();\n }\n input.readStructEnd();\n return new JsonType();\n }\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n// Copyright (c) 2017 ironSource Ltd.\n// Forked from https://github.com/kbajalc/parquets under MIT license\n\n/* tslint:disable */\n/* eslint-disable */\n/*\n * Autogenerated by @creditkarma/thrift-typescript v3.7.2\n * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING\n */\nimport * as thrift from 'thrift';\nexport interface IBsonTypeArgs {}\nexport class BsonType {\n constructor() {}\n public write(output: thrift.TProtocol): void {\n output.writeStructBegin('BsonType');\n output.writeFieldStop();\n output.writeStructEnd();\n return;\n }\n public static read(input: thrift.TProtocol): BsonType {\n input.readStructBegin();\n while (true) {\n const ret: thrift.TField = input.readFieldBegin();\n const fieldType: thrift.Thrift.Type = ret.ftype;\n const fieldId: number = ret.fid;\n if (fieldType === thrift.Thrift.Type.STOP) {\n break;\n }\n switch (fieldId) {\n default: {\n input.skip(fieldType);\n }\n }\n input.readFieldEnd();\n }\n input.readStructEnd();\n return new BsonType();\n }\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n// Copyright (c) 2017 ironSource Ltd.\n// Forked from https://github.com/kbajalc/parquets under MIT license\n\n/* tslint:disable */\n/* eslint-disable */\n/*\n * Autogenerated by @creditkarma/thrift-typescript v3.7.2\n * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING\n */\nimport * as thrift from 'thrift';\nimport * as ConvertedType from './ConvertedType';\nimport * as FieldRepetitionType from './FieldRepetitionType';\nimport * as LogicalType from './LogicalType';\nimport * as Type from './Type';\nexport interface ISchemaElementArgs {\n type?: Type.Type;\n type_length?: number;\n repetition_type?: FieldRepetitionType.FieldRepetitionType;\n name: string;\n num_children?: number;\n converted_type?: ConvertedType.ConvertedType;\n scale?: number;\n precision?: number;\n field_id?: number;\n logicalType?: LogicalType.LogicalType;\n}\nexport class SchemaElement {\n public type?: Type.Type;\n public type_length?: number;\n public repetition_type?: FieldRepetitionType.FieldRepetitionType;\n public name: string;\n public num_children?: number;\n public converted_type?: ConvertedType.ConvertedType;\n public scale?: number;\n public precision?: number;\n public field_id?: number;\n public logicalType?: LogicalType.LogicalType;\n constructor(args: ISchemaElementArgs) {\n if (args != null && args.type != null) {\n this.type = args.type;\n }\n if (args != null && args.type_length != null) {\n this.type_length = args.type_length;\n }\n if (args != null && args.repetition_type != null) {\n this.repetition_type = args.repetition_type;\n }\n if (args != null && args.name != null) {\n this.name = args.name;\n } else {\n throw new thrift.Thrift.TProtocolException(\n thrift.Thrift.TProtocolExceptionType.UNKNOWN,\n 'Required field[name] is unset!'\n );\n }\n if (args != null && args.num_children != null) {\n this.num_children = args.num_children;\n }\n if (args != null && args.converted_type != null) {\n this.converted_type = args.converted_type;\n }\n if (args != null && args.scale != null) {\n this.scale = args.scale;\n }\n if (args != null && args.precision != null) {\n this.precision = args.precision;\n }\n if (args != null && args.field_id != null) {\n this.field_id = args.field_id;\n }\n if (args != null && args.logicalType != null) {\n this.logicalType = args.logicalType;\n }\n }\n public write(output: thrift.TProtocol): void {\n output.writeStructBegin('SchemaElement');\n if (this.type != null) {\n output.writeFieldBegin('type', thrift.Thrift.Type.I32, 1);\n output.writeI32(this.type);\n output.writeFieldEnd();\n }\n if (this.type_length != null) {\n output.writeFieldBegin('type_length', thrift.Thrift.Type.I32, 2);\n output.writeI32(this.type_length);\n output.writeFieldEnd();\n }\n if (this.repetition_type != null) {\n output.writeFieldBegin('repetition_type', thrift.Thrift.Type.I32, 3);\n output.writeI32(this.repetition_type);\n output.writeFieldEnd();\n }\n if (this.name != null) {\n output.writeFieldBegin('name', thrift.Thrift.Type.STRING, 4);\n output.writeString(this.name);\n output.writeFieldEnd();\n }\n if (this.num_children != null) {\n output.writeFieldBegin('num_children', thrift.Thrift.Type.I32, 5);\n output.writeI32(this.num_children);\n output.writeFieldEnd();\n }\n if (this.converted_type != null) {\n output.writeFieldBegin('converted_type', thrift.Thrift.Type.I32, 6);\n output.writeI32(this.converted_type);\n output.writeFieldEnd();\n }\n if (this.scale != null) {\n output.writeFieldBegin('scale', thrift.Thrift.Type.I32, 7);\n output.writeI32(this.scale);\n output.writeFieldEnd();\n }\n if (this.precision != null) {\n output.writeFieldBegin('precision', thrift.Thrift.Type.I32, 8);\n output.writeI32(this.precision);\n output.writeFieldEnd();\n }\n if (this.field_id != null) {\n output.writeFieldBegin('field_id', thrift.Thrift.Type.I32, 9);\n output.writeI32(this.field_id);\n output.writeFieldEnd();\n }\n if (this.logicalType != null) {\n output.writeFieldBegin('logicalType', thrift.Thrift.Type.STRUCT, 10);\n this.logicalType.write(output);\n output.writeFieldEnd();\n }\n output.writeFieldStop();\n output.writeStructEnd();\n return;\n }\n public static read(input: thrift.TProtocol): SchemaElement {\n input.readStructBegin();\n let _args: any = {};\n while (true) {\n const ret: thrift.TField = input.readFieldBegin();\n const fieldType: thrift.Thrift.Type = ret.ftype;\n const fieldId: number = ret.fid;\n if (fieldType === thrift.Thrift.Type.STOP) {\n break;\n }\n switch (fieldId) {\n case 1:\n if (fieldType === thrift.Thrift.Type.I32) {\n const value_1: Type.Type = input.readI32();\n _args.type = value_1;\n } else {\n input.skip(fieldType);\n }\n break;\n case 2:\n if (fieldType === thrift.Thrift.Type.I32) {\n const value_2: number = input.readI32();\n _args.type_length = value_2;\n } else {\n input.skip(fieldType);\n }\n break;\n case 3:\n if (fieldType === thrift.Thrift.Type.I32) {\n const value_3: FieldRepetitionType.FieldRepetitionType = input.readI32();\n _args.repetition_type = value_3;\n } else {\n input.skip(fieldType);\n }\n break;\n case 4:\n if (fieldType === thrift.Thrift.Type.STRING) {\n const value_4: string = input.readString();\n _args.name = value_4;\n } else {\n input.skip(fieldType);\n }\n break;\n case 5:\n if (fieldType === thrift.Thrift.Type.I32) {\n const value_5: number = input.readI32();\n _args.num_children = value_5;\n } else {\n input.skip(fieldType);\n }\n break;\n case 6:\n if (fieldType === thrift.Thrift.Type.I32) {\n const value_6: ConvertedType.ConvertedType = input.readI32();\n _args.converted_type = value_6;\n } else {\n input.skip(fieldType);\n }\n break;\n case 7:\n if (fieldType === thrift.Thrift.Type.I32) {\n const value_7: number = input.readI32();\n _args.scale = value_7;\n } else {\n input.skip(fieldType);\n }\n break;\n case 8:\n if (fieldType === thrift.Thrift.Type.I32) {\n const value_8: number = input.readI32();\n _args.precision = value_8;\n } else {\n input.skip(fieldType);\n }\n break;\n case 9:\n if (fieldType === thrift.Thrift.Type.I32) {\n const value_9: number = input.readI32();\n _args.field_id = value_9;\n } else {\n input.skip(fieldType);\n }\n break;\n case 10:\n if (fieldType === thrift.Thrift.Type.STRUCT) {\n const value_10: LogicalType.LogicalType = LogicalType.LogicalType.read(input);\n _args.logicalType = value_10;\n } else {\n input.skip(fieldType);\n }\n break;\n default: {\n input.skip(fieldType);\n }\n }\n input.readFieldEnd();\n }\n input.readStructEnd();\n if (_args.name !== undefined) {\n return new SchemaElement(_args);\n } else {\n throw new thrift.Thrift.TProtocolException(\n thrift.Thrift.TProtocolExceptionType.UNKNOWN,\n 'Unable to read SchemaElement from input'\n );\n }\n }\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n// Copyright (c) 2017 ironSource Ltd.\n// Forked from https://github.com/kbajalc/parquets under MIT license\n\n/* tslint:disable */\n/* eslint-disable */\n/*\n * Autogenerated by @creditkarma/thrift-typescript v3.7.2\n * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING\n */\nimport * as thrift from 'thrift';\nimport * as BsonType from './BsonType';\nimport * as DateType from './DateType';\nimport * as DecimalType from './DecimalType';\nimport * as EnumType from './EnumType';\nimport * as IntType from './IntType';\nimport * as JsonType from './JsonType';\nimport * as ListType from './ListType';\nimport * as MapType from './MapType';\nimport * as NullType from './NullType';\nimport * as StringType from './StringType';\nimport * as TimestampType from './TimestampType';\nimport * as TimeType from './TimeType';\nimport * as UUIDType from './UUIDType';\nexport interface ILogicalTypeArgs {\n STRING?: StringType.StringType;\n MAP?: MapType.MapType;\n LIST?: ListType.ListType;\n ENUM?: EnumType.EnumType;\n DECIMAL?: DecimalType.DecimalType;\n DATE?: DateType.DateType;\n TIME?: TimeType.TimeType;\n TIMESTAMP?: TimestampType.TimestampType;\n INTEGER?: IntType.IntType;\n UNKNOWN?: NullType.NullType;\n JSON?: JsonType.JsonType;\n BSON?: BsonType.BsonType;\n UUID?: UUIDType.UUIDType;\n}\nexport class LogicalType {\n public STRING?: StringType.StringType;\n public MAP?: MapType.MapType;\n public LIST?: ListType.ListType;\n public ENUM?: EnumType.EnumType;\n public DECIMAL?: DecimalType.DecimalType;\n public DATE?: DateType.DateType;\n public TIME?: TimeType.TimeType;\n public TIMESTAMP?: TimestampType.TimestampType;\n public INTEGER?: IntType.IntType;\n public UNKNOWN?: NullType.NullType;\n public JSON?: JsonType.JsonType;\n public BSON?: BsonType.BsonType;\n public UUID?: UUIDType.UUIDType;\n constructor(args?: ILogicalTypeArgs) {\n let _fieldsSet: number = 0;\n if (args != null) {\n if (args.STRING != null) {\n _fieldsSet++;\n this.STRING = args.STRING;\n }\n if (args.MAP != null) {\n _fieldsSet++;\n this.MAP = args.MAP;\n }\n if (args.LIST != null) {\n _fieldsSet++;\n this.LIST = args.LIST;\n }\n if (args.ENUM != null) {\n _fieldsSet++;\n this.ENUM = args.ENUM;\n }\n if (args.DECIMAL != null) {\n _fieldsSet++;\n this.DECIMAL = args.DECIMAL;\n }\n if (args.DATE != null) {\n _fieldsSet++;\n this.DATE = args.DATE;\n }\n if (args.TIME != null) {\n _fieldsSet++;\n this.TIME = args.TIME;\n }\n if (args.TIMESTAMP != null) {\n _fieldsSet++;\n this.TIMESTAMP = args.TIMESTAMP;\n }\n if (args.INTEGER != null) {\n _fieldsSet++;\n this.INTEGER = args.INTEGER;\n }\n if (args.UNKNOWN != null) {\n _fieldsSet++;\n this.UNKNOWN = args.UNKNOWN;\n }\n if (args.JSON != null) {\n _fieldsSet++;\n this.JSON = args.JSON;\n }\n if (args.BSON != null) {\n _fieldsSet++;\n this.BSON = args.BSON;\n }\n if (args.UUID != null) {\n _fieldsSet++;\n this.UUID = args.UUID;\n }\n if (_fieldsSet > 1) {\n throw new thrift.Thrift.TProtocolException(\n thrift.Thrift.TProtocolExceptionType.INVALID_DATA,\n 'Cannot read a TUnion with more than one set value!'\n );\n } else if (_fieldsSet < 1) {\n throw new thrift.Thrift.TProtocolException(\n thrift.Thrift.TProtocolExceptionType.INVALID_DATA,\n 'Cannot read a TUnion with no set value!'\n );\n }\n }\n }\n public static fromSTRING(STRING: StringType.StringType): LogicalType {\n return new LogicalType({STRING});\n }\n public static fromMAP(MAP: MapType.MapType): LogicalType {\n return new LogicalType({MAP});\n }\n public static fromLIST(LIST: ListType.ListType): LogicalType {\n return new LogicalType({LIST});\n }\n public static fromENUM(ENUM: EnumType.EnumType): LogicalType {\n return new LogicalType({ENUM});\n }\n public static fromDECIMAL(DECIMAL: DecimalType.DecimalType): LogicalType {\n return new LogicalType({DECIMAL});\n }\n public static fromDATE(DATE: DateType.DateType): LogicalType {\n return new LogicalType({DATE});\n }\n public static fromTIME(TIME: TimeType.TimeType): LogicalType {\n return new LogicalType({TIME});\n }\n public static fromTIMESTAMP(TIMESTAMP: TimestampType.TimestampType): LogicalType {\n return new LogicalType({TIMESTAMP});\n }\n public static fromINTEGER(INTEGER: IntType.IntType): LogicalType {\n return new LogicalType({INTEGER});\n }\n public static fromUNKNOWN(UNKNOWN: NullType.NullType): LogicalType {\n return new LogicalType({UNKNOWN});\n }\n public static fromJSON(JSON: JsonType.JsonType): LogicalType {\n return new LogicalType({JSON});\n }\n public static fromBSON(BSON: BsonType.BsonType): LogicalType {\n return new LogicalType({BSON});\n }\n public static fromUUID(UUID: UUIDType.UUIDType): LogicalType {\n return new LogicalType({UUID});\n }\n public write(output: thrift.TProtocol): void {\n output.writeStructBegin('LogicalType');\n if (this.STRING != null) {\n output.writeFieldBegin('STRING', thrift.Thrift.Type.STRUCT, 1);\n this.STRING.write(output);\n output.writeFieldEnd();\n }\n if (this.MAP != null) {\n output.writeFieldBegin('MAP', thrift.Thrift.Type.STRUCT, 2);\n this.MAP.write(output);\n output.writeFieldEnd();\n }\n if (this.LIST != null) {\n output.writeFieldBegin('LIST', thrift.Thrift.Type.STRUCT, 3);\n this.LIST.write(output);\n output.writeFieldEnd();\n }\n if (this.ENUM != null) {\n output.writeFieldBegin('ENUM', thrift.Thrift.Type.STRUCT, 4);\n this.ENUM.write(output);\n output.writeFieldEnd();\n }\n if (this.DECIMAL != null) {\n output.writeFieldBegin('DECIMAL', thrift.Thrift.Type.STRUCT, 5);\n this.DECIMAL.write(output);\n output.writeFieldEnd();\n }\n if (this.DATE != null) {\n output.writeFieldBegin('DATE', thrift.Thrift.Type.STRUCT, 6);\n this.DATE.write(output);\n output.writeFieldEnd();\n }\n if (this.TIME != null) {\n output.writeFieldBegin('TIME', thrift.Thrift.Type.STRUCT, 7);\n this.TIME.write(output);\n output.writeFieldEnd();\n }\n if (this.TIMESTAMP != null) {\n output.writeFieldBegin('TIMESTAMP', thrift.Thrift.Type.STRUCT, 8);\n this.TIMESTAMP.write(output);\n output.writeFieldEnd();\n }\n if (this.INTEGER != null) {\n output.writeFieldBegin('INTEGER', thrift.Thrift.Type.STRUCT, 10);\n this.INTEGER.write(output);\n output.writeFieldEnd();\n }\n if (this.UNKNOWN != null) {\n output.writeFieldBegin('UNKNOWN', thrift.Thrift.Type.STRUCT, 11);\n this.UNKNOWN.write(output);\n output.writeFieldEnd();\n }\n if (this.JSON != null) {\n output.writeFieldBegin('JSON', thrift.Thrift.Type.STRUCT, 12);\n this.JSON.write(output);\n output.writeFieldEnd();\n }\n if (this.BSON != null) {\n output.writeFieldBegin('BSON', thrift.Thrift.Type.STRUCT, 13);\n this.BSON.write(output);\n output.writeFieldEnd();\n }\n if (this.UUID != null) {\n output.writeFieldBegin('UUID', thrift.Thrift.Type.STRUCT, 14);\n this.UUID.write(output);\n output.writeFieldEnd();\n }\n output.writeFieldStop();\n output.writeStructEnd();\n return;\n }\n public static read(input: thrift.TProtocol): LogicalType {\n let _fieldsSet: number = 0;\n let _returnValue: LogicalType | null = null;\n input.readStructBegin();\n while (true) {\n const ret: thrift.TField = input.readFieldBegin();\n const fieldType: thrift.Thrift.Type = ret.ftype;\n const fieldId: number = ret.fid;\n if (fieldType === thrift.Thrift.Type.STOP) {\n break;\n }\n switch (fieldId) {\n case 1:\n if (fieldType === thrift.Thrift.Type.STRUCT) {\n _fieldsSet++;\n const value_1: StringType.StringType = StringType.StringType.read(input);\n _returnValue = LogicalType.fromSTRING(value_1);\n } else {\n input.skip(fieldType);\n }\n break;\n case 2:\n if (fieldType === thrift.Thrift.Type.STRUCT) {\n _fieldsSet++;\n const value_2: MapType.MapType = MapType.MapType.read(input);\n _returnValue = LogicalType.fromMAP(value_2);\n } else {\n input.skip(fieldType);\n }\n break;\n case 3:\n if (fieldType === thrift.Thrift.Type.STRUCT) {\n _fieldsSet++;\n const value_3: ListType.ListType = ListType.ListType.read(input);\n _returnValue = LogicalType.fromLIST(value_3);\n } else {\n input.skip(fieldType);\n }\n break;\n case 4:\n if (fieldType === thrift.Thrift.Type.STRUCT) {\n _fieldsSet++;\n const value_4: EnumType.EnumType = EnumType.EnumType.read(input);\n _returnValue = LogicalType.fromENUM(value_4);\n } else {\n input.skip(fieldType);\n }\n break;\n case 5:\n if (fieldType === thrift.Thrift.Type.STRUCT) {\n _fieldsSet++;\n const value_5: DecimalType.DecimalType = DecimalType.DecimalType.read(input);\n _returnValue = LogicalType.fromDECIMAL(value_5);\n } else {\n input.skip(fieldType);\n }\n break;\n case 6:\n if (fieldType === thrift.Thrift.Type.STRUCT) {\n _fieldsSet++;\n const value_6: DateType.DateType = DateType.DateType.read(input);\n _returnValue = LogicalType.fromDATE(value_6);\n } else {\n input.skip(fieldType);\n }\n break;\n case 7:\n if (fieldType === thrift.Thrift.Type.STRUCT) {\n _fieldsSet++;\n const value_7: TimeType.TimeType = TimeType.TimeType.read(input);\n _returnValue = LogicalType.fromTIME(value_7);\n } else {\n input.skip(fieldType);\n }\n break;\n case 8:\n if (fieldType === thrift.Thrift.Type.STRUCT) {\n _fieldsSet++;\n const value_8: TimestampType.TimestampType = TimestampType.TimestampType.read(input);\n _returnValue = LogicalType.fromTIMESTAMP(value_8);\n } else {\n input.skip(fieldType);\n }\n break;\n case 10:\n if (fieldType === thrift.Thrift.Type.STRUCT) {\n _fieldsSet++;\n const value_9: IntType.IntType = IntType.IntType.read(input);\n _returnValue = LogicalType.fromINTEGER(value_9);\n } else {\n input.skip(fieldType);\n }\n break;\n case 11:\n if (fieldType === thrift.Thrift.Type.STRUCT) {\n _fieldsSet++;\n const value_10: NullType.NullType = NullType.NullType.read(input);\n _returnValue = LogicalType.fromUNKNOWN(value_10);\n } else {\n input.skip(fieldType);\n }\n break;\n case 12:\n if (fieldType === thrift.Thrift.Type.STRUCT) {\n _fieldsSet++;\n const value_11: JsonType.JsonType = JsonType.JsonType.read(input);\n _returnValue = LogicalType.fromJSON(value_11);\n } else {\n input.skip(fieldType);\n }\n break;\n case 13:\n if (fieldType === thrift.Thrift.Type.STRUCT) {\n _fieldsSet++;\n const value_12: BsonType.BsonType = BsonType.BsonType.read(input);\n _returnValue = LogicalType.fromBSON(value_12);\n } else {\n input.skip(fieldType);\n }\n break;\n case 14:\n if (fieldType === thrift.Thrift.Type.STRUCT) {\n _fieldsSet++;\n const value_13: UUIDType.UUIDType = UUIDType.UUIDType.read(input);\n _returnValue = LogicalType.fromUUID(value_13);\n } else {\n input.skip(fieldType);\n }\n break;\n default: {\n input.skip(fieldType);\n }\n }\n input.readFieldEnd();\n }\n input.readStructEnd();\n if (_fieldsSet > 1) {\n throw new thrift.Thrift.TProtocolException(\n thrift.Thrift.TProtocolExceptionType.INVALID_DATA,\n 'Cannot read a TUnion with more than one set value!'\n );\n } else if (_fieldsSet < 1) {\n throw new thrift.Thrift.TProtocolException(\n thrift.Thrift.TProtocolExceptionType.INVALID_DATA,\n 'Cannot read a TUnion with no set value!'\n );\n }\n if (_returnValue !== null) {\n return _returnValue;\n } else {\n throw new thrift.Thrift.TProtocolException(\n thrift.Thrift.TProtocolExceptionType.UNKNOWN,\n 'Unable to read data for TUnion'\n );\n }\n }\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n// Copyright (c) 2017 ironSource Ltd.\n// Forked from https://github.com/kbajalc/parquets under MIT license\n\n/* tslint:disable */\n/* eslint-disable */\n/*\n * Autogenerated by @creditkarma/thrift-typescript v3.7.2\n * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING\n */\nimport * as thrift from 'thrift';\nimport * as Encoding from './Encoding';\nimport * as Statistics from './Statistics';\nexport interface IDataPageHeaderArgs {\n num_values: number;\n encoding: Encoding.Encoding;\n definition_level_encoding: Encoding.Encoding;\n repetition_level_encoding: Encoding.Encoding;\n statistics?: Statistics.Statistics;\n}\nexport class DataPageHeader {\n public num_values: number;\n public encoding: Encoding.Encoding;\n public definition_level_encoding: Encoding.Encoding;\n public repetition_level_encoding: Encoding.Encoding;\n public statistics?: Statistics.Statistics;\n constructor(args: IDataPageHeaderArgs) {\n if (args != null && args.num_values != null) {\n this.num_values = args.num_values;\n } else {\n throw new thrift.Thrift.TProtocolException(\n thrift.Thrift.TProtocolExceptionType.UNKNOWN,\n 'Required field[num_values] is unset!'\n );\n }\n if (args != null && args.encoding != null) {\n this.encoding = args.encoding;\n } else {\n throw new thrift.Thrift.TProtocolException(\n thrift.Thrift.TProtocolExceptionType.UNKNOWN,\n 'Required field[encoding] is unset!'\n );\n }\n if (args != null && args.definition_level_encoding != null) {\n this.definition_level_encoding = args.definition_level_encoding;\n } else {\n throw new thrift.Thrift.TProtocolException(\n thrift.Thrift.TProtocolExceptionType.UNKNOWN,\n 'Required field[definition_level_encoding] is unset!'\n );\n }\n if (args != null && args.repetition_level_encoding != null) {\n this.repetition_level_encoding = args.repetition_level_encoding;\n } else {\n throw new thrift.Thrift.TProtocolException(\n thrift.Thrift.TProtocolExceptionType.UNKNOWN,\n 'Required field[repetition_level_encoding] is unset!'\n );\n }\n if (args != null && args.statistics != null) {\n this.statistics = args.statistics;\n }\n }\n public write(output: thrift.TProtocol): void {\n output.writeStructBegin('DataPageHeader');\n if (this.num_values != null) {\n output.writeFieldBegin('num_values', thrift.Thrift.Type.I32, 1);\n output.writeI32(this.num_values);\n output.writeFieldEnd();\n }\n if (this.encoding != null) {\n output.writeFieldBegin('encoding', thrift.Thrift.Type.I32, 2);\n output.writeI32(this.encoding);\n output.writeFieldEnd();\n }\n if (this.definition_level_encoding != null) {\n output.writeFieldBegin('definition_level_encoding', thrift.Thrift.Type.I32, 3);\n output.writeI32(this.definition_level_encoding);\n output.writeFieldEnd();\n }\n if (this.repetition_level_encoding != null) {\n output.writeFieldBegin('repetition_level_encoding', thrift.Thrift.Type.I32, 4);\n output.writeI32(this.repetition_level_encoding);\n output.writeFieldEnd();\n }\n if (this.statistics != null) {\n output.writeFieldBegin('statistics', thrift.Thrift.Type.STRUCT, 5);\n this.statistics.write(output);\n output.writeFieldEnd();\n }\n output.writeFieldStop();\n output.writeStructEnd();\n return;\n }\n public static read(input: thrift.TProtocol): DataPageHeader {\n input.readStructBegin();\n let _args: any = {};\n while (true) {\n const ret: thrift.TField = input.readFieldBegin();\n const fieldType: thrift.Thrift.Type = ret.ftype;\n const fieldId: number = ret.fid;\n if (fieldType === thrift.Thrift.Type.STOP) {\n break;\n }\n switch (fieldId) {\n case 1:\n if (fieldType === thrift.Thrift.Type.I32) {\n const value_1: number = input.readI32();\n _args.num_values = value_1;\n } else {\n input.skip(fieldType);\n }\n break;\n case 2:\n if (fieldType === thrift.Thrift.Type.I32) {\n const value_2: Encoding.Encoding = input.readI32();\n _args.encoding = value_2;\n } else {\n input.skip(fieldType);\n }\n break;\n case 3:\n if (fieldType === thrift.Thrift.Type.I32) {\n const value_3: Encoding.Encoding = input.readI32();\n _args.definition_level_encoding = value_3;\n } else {\n input.skip(fieldType);\n }\n break;\n case 4:\n if (fieldType === thrift.Thrift.Type.I32) {\n const value_4: Encoding.Encoding = input.readI32();\n _args.repetition_level_encoding = value_4;\n } else {\n input.skip(fieldType);\n }\n break;\n case 5:\n if (fieldType === thrift.Thrift.Type.STRUCT) {\n const value_5: Statistics.Statistics = Statistics.Statistics.read(input);\n _args.statistics = value_5;\n } else {\n input.skip(fieldType);\n }\n break;\n default: {\n input.skip(fieldType);\n }\n }\n input.readFieldEnd();\n }\n input.readStructEnd();\n if (\n _args.num_values !== undefined &&\n _args.encoding !== undefined &&\n _args.definition_level_encoding !== undefined &&\n _args.repetition_level_encoding !== undefined\n ) {\n return new DataPageHeader(_args);\n } else {\n throw new thrift.Thrift.TProtocolException(\n thrift.Thrift.TProtocolExceptionType.UNKNOWN,\n 'Unable to read DataPageHeader from input'\n );\n }\n }\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n// Copyright (c) 2017 ironSource Ltd.\n// Forked from https://github.com/kbajalc/parquets under MIT license\n\n/* tslint:disable */\n/* eslint-disable */\n/*\n * Autogenerated by @creditkarma/thrift-typescript v3.7.2\n * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING\n */\nimport * as thrift from 'thrift';\nexport interface IIndexPageHeaderArgs {}\nexport class IndexPageHeader {\n constructor() {}\n public write(output: thrift.TProtocol): void {\n output.writeStructBegin('IndexPageHeader');\n output.writeFieldStop();\n output.writeStructEnd();\n return;\n }\n public static read(input: thrift.TProtocol): IndexPageHeader {\n input.readStructBegin();\n while (true) {\n const ret: thrift.TField = input.readFieldBegin();\n const fieldType: thrift.Thrift.Type = ret.ftype;\n const fieldId: number = ret.fid;\n if (fieldType === thrift.Thrift.Type.STOP) {\n break;\n }\n switch (fieldId) {\n default: {\n input.skip(fieldType);\n }\n }\n input.readFieldEnd();\n }\n input.readStructEnd();\n return new IndexPageHeader();\n }\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n// Copyright (c) 2017 ironSource Ltd.\n// Forked from https://github.com/kbajalc/parquets under MIT license\n\n/* tslint:disable */\n/* eslint-disable */\n/*\n * Autogenerated by @creditkarma/thrift-typescript v3.7.2\n * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING\n */\nimport * as thrift from 'thrift';\nimport * as Encoding from './Encoding';\nexport interface IDictionaryPageHeaderArgs {\n num_values: number;\n encoding: Encoding.Encoding;\n is_sorted?: boolean;\n}\nexport class DictionaryPageHeader {\n public num_values: number;\n public encoding: Encoding.Encoding;\n public is_sorted?: boolean;\n constructor(args: IDictionaryPageHeaderArgs) {\n if (args != null && args.num_values != null) {\n this.num_values = args.num_values;\n } else {\n throw new thrift.Thrift.TProtocolException(\n thrift.Thrift.TProtocolExceptionType.UNKNOWN,\n 'Required field[num_values] is unset!'\n );\n }\n if (args != null && args.encoding != null) {\n this.encoding = args.encoding;\n } else {\n throw new thrift.Thrift.TProtocolException(\n thrift.Thrift.TProtocolExceptionType.UNKNOWN,\n 'Required field[encoding] is unset!'\n );\n }\n if (args != null && args.is_sorted != null) {\n this.is_sorted = args.is_sorted;\n }\n }\n public write(output: thrift.TProtocol): void {\n output.writeStructBegin('DictionaryPageHeader');\n if (this.num_values != null) {\n output.writeFieldBegin('num_values', thrift.Thrift.Type.I32, 1);\n output.writeI32(this.num_values);\n output.writeFieldEnd();\n }\n if (this.encoding != null) {\n output.writeFieldBegin('encoding', thrift.Thrift.Type.I32, 2);\n output.writeI32(this.encoding);\n output.writeFieldEnd();\n }\n if (this.is_sorted != null) {\n output.writeFieldBegin('is_sorted', thrift.Thrift.Type.BOOL, 3);\n output.writeBool(this.is_sorted);\n output.writeFieldEnd();\n }\n output.writeFieldStop();\n output.writeStructEnd();\n return;\n }\n public static read(input: thrift.TProtocol): DictionaryPageHeader {\n input.readStructBegin();\n let _args: any = {};\n while (true) {\n const ret: thrift.TField = input.readFieldBegin();\n const fieldType: thrift.Thrift.Type = ret.ftype;\n const fieldId: number = ret.fid;\n if (fieldType === thrift.Thrift.Type.STOP) {\n break;\n }\n switch (fieldId) {\n case 1:\n if (fieldType === thrift.Thrift.Type.I32) {\n const value_1: number = input.readI32();\n _args.num_values = value_1;\n } else {\n input.skip(fieldType);\n }\n break;\n case 2:\n if (fieldType === thrift.Thrift.Type.I32) {\n const value_2: Encoding.Encoding = input.readI32();\n _args.encoding = value_2;\n } else {\n input.skip(fieldType);\n }\n break;\n case 3:\n if (fieldType === thrift.Thrift.Type.BOOL) {\n const value_3: boolean = input.readBool();\n _args.is_sorted = value_3;\n } else {\n input.skip(fieldType);\n }\n break;\n default: {\n input.skip(fieldType);\n }\n }\n input.readFieldEnd();\n }\n input.readStructEnd();\n if (_args.num_values !== undefined && _args.encoding !== undefined) {\n return new DictionaryPageHeader(_args);\n } else {\n throw new thrift.Thrift.TProtocolException(\n thrift.Thrift.TProtocolExceptionType.UNKNOWN,\n 'Unable to read DictionaryPageHeader from input'\n );\n }\n }\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n// Copyright (c) 2017 ironSource Ltd.\n// Forked from https://github.com/kbajalc/parquets under MIT license\n\n/* tslint:disable */\n/* eslint-disable */\n/*\n * Autogenerated by @creditkarma/thrift-typescript v3.7.2\n * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING\n */\nimport * as thrift from 'thrift';\nimport * as Encoding from './Encoding';\nimport * as Statistics from './Statistics';\nexport interface IDataPageHeaderV2Args {\n num_values: number;\n num_nulls: number;\n num_rows: number;\n encoding: Encoding.Encoding;\n definition_levels_byte_length: number;\n repetition_levels_byte_length: number;\n is_compressed?: boolean;\n statistics?: Statistics.Statistics;\n}\nexport class DataPageHeaderV2 {\n public num_values: number;\n public num_nulls: number;\n public num_rows: number;\n public encoding: Encoding.Encoding;\n public definition_levels_byte_length: number;\n public repetition_levels_byte_length: number;\n public is_compressed?: boolean = true;\n public statistics?: Statistics.Statistics;\n constructor(args: IDataPageHeaderV2Args) {\n if (args != null && args.num_values != null) {\n this.num_values = args.num_values;\n } else {\n throw new thrift.Thrift.TProtocolException(\n thrift.Thrift.TProtocolExceptionType.UNKNOWN,\n 'Required field[num_values] is unset!'\n );\n }\n if (args != null && args.num_nulls != null) {\n this.num_nulls = args.num_nulls;\n } else {\n throw new thrift.Thrift.TProtocolException(\n thrift.Thrift.TProtocolExceptionType.UNKNOWN,\n 'Required field[num_nulls] is unset!'\n );\n }\n if (args != null && args.num_rows != null) {\n this.num_rows = args.num_rows;\n } else {\n throw new thrift.Thrift.TProtocolException(\n thrift.Thrift.TProtocolExceptionType.UNKNOWN,\n 'Required field[num_rows] is unset!'\n );\n }\n if (args != null && args.encoding != null) {\n this.encoding = args.encoding;\n } else {\n throw new thrift.Thrift.TProtocolException(\n thrift.Thrift.TProtocolExceptionType.UNKNOWN,\n 'Required field[encoding] is unset!'\n );\n }\n if (args != null && args.definition_levels_byte_length != null) {\n this.definition_levels_byte_length = args.definition_levels_byte_length;\n } else {\n throw new thrift.Thrift.TProtocolException(\n thrift.Thrift.TProtocolExceptionType.UNKNOWN,\n 'Required field[definition_levels_byte_length] is unset!'\n );\n }\n if (args != null && args.repetition_levels_byte_length != null) {\n this.repetition_levels_byte_length = args.repetition_levels_byte_length;\n } else {\n throw new thrift.Thrift.TProtocolException(\n thrift.Thrift.TProtocolExceptionType.UNKNOWN,\n 'Required field[repetition_levels_byte_length] is unset!'\n );\n }\n if (args != null && args.is_compressed != null) {\n this.is_compressed = args.is_compressed;\n }\n if (args != null && args.statistics != null) {\n this.statistics = args.statistics;\n }\n }\n public write(output: thrift.TProtocol): void {\n output.writeStructBegin('DataPageHeaderV2');\n if (this.num_values != null) {\n output.writeFieldBegin('num_values', thrift.Thrift.Type.I32, 1);\n output.writeI32(this.num_values);\n output.writeFieldEnd();\n }\n if (this.num_nulls != null) {\n output.writeFieldBegin('num_nulls', thrift.Thrift.Type.I32, 2);\n output.writeI32(this.num_nulls);\n output.writeFieldEnd();\n }\n if (this.num_rows != null) {\n output.writeFieldBegin('num_rows', thrift.Thrift.Type.I32, 3);\n output.writeI32(this.num_rows);\n output.writeFieldEnd();\n }\n if (this.encoding != null) {\n output.writeFieldBegin('encoding', thrift.Thrift.Type.I32, 4);\n output.writeI32(this.encoding);\n output.writeFieldEnd();\n }\n if (this.definition_levels_byte_length != null) {\n output.writeFieldBegin('definition_levels_byte_length', thrift.Thrift.Type.I32, 5);\n output.writeI32(this.definition_levels_byte_length);\n output.writeFieldEnd();\n }\n if (this.repetition_levels_byte_length != null) {\n output.writeFieldBegin('repetition_levels_byte_length', thrift.Thrift.Type.I32, 6);\n output.writeI32(this.repetition_levels_byte_length);\n output.writeFieldEnd();\n }\n if (this.is_compressed != null) {\n output.writeFieldBegin('is_compressed', thrift.Thrift.Type.BOOL, 7);\n output.writeBool(this.is_compressed);\n output.writeFieldEnd();\n }\n if (this.statistics != null) {\n output.writeFieldBegin('statistics', thrift.Thrift.Type.STRUCT, 8);\n this.statistics.write(output);\n output.writeFieldEnd();\n }\n output.writeFieldStop();\n output.writeStructEnd();\n return;\n }\n public static read(input: thrift.TProtocol): DataPageHeaderV2 {\n input.readStructBegin();\n let _args: any = {};\n while (true) {\n const ret: thrift.TField = input.readFieldBegin();\n const fieldType: thrift.Thrift.Type = ret.ftype;\n const fieldId: number = ret.fid;\n if (fieldType === thrift.Thrift.Type.STOP) {\n break;\n }\n switch (fieldId) {\n case 1:\n if (fieldType === thrift.Thrift.Type.I32) {\n const value_1: number = input.readI32();\n _args.num_values = value_1;\n } else {\n input.skip(fieldType);\n }\n break;\n case 2:\n if (fieldType === thrift.Thrift.Type.I32) {\n const value_2: number = input.readI32();\n _args.num_nulls = value_2;\n } else {\n input.skip(fieldType);\n }\n break;\n case 3:\n if (fieldType === thrift.Thrift.Type.I32) {\n const value_3: number = input.readI32();\n _args.num_rows = value_3;\n } else {\n input.skip(fieldType);\n }\n break;\n case 4:\n if (fieldType === thrift.Thrift.Type.I32) {\n const value_4: Encoding.Encoding = input.readI32();\n _args.encoding = value_4;\n } else {\n input.skip(fieldType);\n }\n break;\n case 5:\n if (fieldType === thrift.Thrift.Type.I32) {\n const value_5: number = input.readI32();\n _args.definition_levels_byte_length = value_5;\n } else {\n input.skip(fieldType);\n }\n break;\n case 6:\n if (fieldType === thrift.Thrift.Type.I32) {\n const value_6: number = input.readI32();\n _args.repetition_levels_byte_length = value_6;\n } else {\n input.skip(fieldType);\n }\n break;\n case 7:\n if (fieldType === thrift.Thrift.Type.BOOL) {\n const value_7: boolean = input.readBool();\n _args.is_compressed = value_7;\n } else {\n input.skip(fieldType);\n }\n break;\n case 8:\n if (fieldType === thrift.Thrift.Type.STRUCT) {\n const value_8: Statistics.Statistics = Statistics.Statistics.read(input);\n _args.statistics = value_8;\n } else {\n input.skip(fieldType);\n }\n break;\n default: {\n input.skip(fieldType);\n }\n }\n input.readFieldEnd();\n }\n input.readStructEnd();\n if (\n _args.num_values !== undefined &&\n _args.num_nulls !== undefined &&\n _args.num_rows !== undefined &&\n _args.encoding !== undefined &&\n _args.definition_levels_byte_length !== undefined &&\n _args.repetition_levels_byte_length !== undefined\n ) {\n return new DataPageHeaderV2(_args);\n } else {\n throw new thrift.Thrift.TProtocolException(\n thrift.Thrift.TProtocolExceptionType.UNKNOWN,\n 'Unable to read DataPageHeaderV2 from input'\n );\n }\n }\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n// Copyright (c) 2017 ironSource Ltd.\n// Forked from https://github.com/kbajalc/parquets under MIT license\n\n/* tslint:disable */\n/* eslint-disable */\n/*\n * Autogenerated by @creditkarma/thrift-typescript v3.7.2\n * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING\n */\nimport * as thrift from 'thrift';\nimport * as DataPageHeader from './DataPageHeader';\nimport * as DataPageHeaderV2 from './DataPageHeaderV2';\nimport * as DictionaryPageHeader from './DictionaryPageHeader';\nimport * as IndexPageHeader from './IndexPageHeader';\nimport * as PageType from './PageType';\nexport interface IPageHeaderArgs {\n type: PageType.PageType;\n uncompressed_page_size: number;\n compressed_page_size: number;\n crc?: number;\n data_page_header?: DataPageHeader.DataPageHeader;\n index_page_header?: IndexPageHeader.IndexPageHeader;\n dictionary_page_header?: DictionaryPageHeader.DictionaryPageHeader;\n data_page_header_v2?: DataPageHeaderV2.DataPageHeaderV2;\n}\nexport class PageHeader {\n public type: PageType.PageType;\n public uncompressed_page_size: number;\n public compressed_page_size: number;\n public crc?: number;\n public data_page_header?: DataPageHeader.DataPageHeader;\n public index_page_header?: IndexPageHeader.IndexPageHeader;\n public dictionary_page_header?: DictionaryPageHeader.DictionaryPageHeader;\n public data_page_header_v2?: DataPageHeaderV2.DataPageHeaderV2;\n constructor(args: IPageHeaderArgs) {\n if (args != null && args.type != null) {\n this.type = args.type;\n } else {\n throw new thrift.Thrift.TProtocolException(\n thrift.Thrift.TProtocolExceptionType.UNKNOWN,\n 'Required field[type] is unset!'\n );\n }\n if (args != null && args.uncompressed_page_size != null) {\n this.uncompressed_page_size = args.uncompressed_page_size;\n } else {\n throw new thrift.Thrift.TProtocolException(\n thrift.Thrift.TProtocolExceptionType.UNKNOWN,\n 'Required field[uncompressed_page_size] is unset!'\n );\n }\n if (args != null && args.compressed_page_size != null) {\n this.compressed_page_size = args.compressed_page_size;\n } else {\n throw new thrift.Thrift.TProtocolException(\n thrift.Thrift.TProtocolExceptionType.UNKNOWN,\n 'Required field[compressed_page_size] is unset!'\n );\n }\n if (args != null && args.crc != null) {\n this.crc = args.crc;\n }\n if (args != null && args.data_page_header != null) {\n this.data_page_header = args.data_page_header;\n }\n if (args != null && args.index_page_header != null) {\n this.index_page_header = args.index_page_header;\n }\n if (args != null && args.dictionary_page_header != null) {\n this.dictionary_page_header = args.dictionary_page_header;\n }\n if (args != null && args.data_page_header_v2 != null) {\n this.data_page_header_v2 = args.data_page_header_v2;\n }\n }\n public write(output: thrift.TProtocol): void {\n output.writeStructBegin('PageHeader');\n if (this.type != null) {\n output.writeFieldBegin('type', thrift.Thrift.Type.I32, 1);\n output.writeI32(this.type);\n output.writeFieldEnd();\n }\n if (this.uncompressed_page_size != null) {\n output.writeFieldBegin('uncompressed_page_size', thrift.Thrift.Type.I32, 2);\n output.writeI32(this.uncompressed_page_size);\n output.writeFieldEnd();\n }\n if (this.compressed_page_size != null) {\n output.writeFieldBegin('compressed_page_size', thrift.Thrift.Type.I32, 3);\n output.writeI32(this.compressed_page_size);\n output.writeFieldEnd();\n }\n if (this.crc != null) {\n output.writeFieldBegin('crc', thrift.Thrift.Type.I32, 4);\n output.writeI32(this.crc);\n output.writeFieldEnd();\n }\n if (this.data_page_header != null) {\n output.writeFieldBegin('data_page_header', thrift.Thrift.Type.STRUCT, 5);\n this.data_page_header.write(output);\n output.writeFieldEnd();\n }\n if (this.index_page_header != null) {\n output.writeFieldBegin('index_page_header', thrift.Thrift.Type.STRUCT, 6);\n this.index_page_header.write(output);\n output.writeFieldEnd();\n }\n if (this.dictionary_page_header != null) {\n output.writeFieldBegin('dictionary_page_header', thrift.Thrift.Type.STRUCT, 7);\n this.dictionary_page_header.write(output);\n output.writeFieldEnd();\n }\n if (this.data_page_header_v2 != null) {\n output.writeFieldBegin('data_page_header_v2', thrift.Thrift.Type.STRUCT, 8);\n this.data_page_header_v2.write(output);\n output.writeFieldEnd();\n }\n output.writeFieldStop();\n output.writeStructEnd();\n return;\n }\n public static read(input: thrift.TProtocol): PageHeader {\n input.readStructBegin();\n let _args: any = {};\n while (true) {\n const ret: thrift.TField = input.readFieldBegin();\n const fieldType: thrift.Thrift.Type = ret.ftype;\n const fieldId: number = ret.fid;\n if (fieldType === thrift.Thrift.Type.STOP) {\n break;\n }\n switch (fieldId) {\n case 1:\n if (fieldType === thrift.Thrift.Type.I32) {\n const value_1: PageType.PageType = input.readI32();\n _args.type = value_1;\n } else {\n input.skip(fieldType);\n }\n break;\n case 2:\n if (fieldType === thrift.Thrift.Type.I32) {\n const value_2: number = input.readI32();\n _args.uncompressed_page_size = value_2;\n } else {\n input.skip(fieldType);\n }\n break;\n case 3:\n if (fieldType === thrift.Thrift.Type.I32) {\n const value_3: number = input.readI32();\n _args.compressed_page_size = value_3;\n } else {\n input.skip(fieldType);\n }\n break;\n case 4:\n if (fieldType === thrift.Thrift.Type.I32) {\n const value_4: number = input.readI32();\n _args.crc = value_4;\n } else {\n input.skip(fieldType);\n }\n break;\n case 5:\n if (fieldType === thrift.Thrift.Type.STRUCT) {\n const value_5: DataPageHeader.DataPageHeader =\n DataPageHeader.DataPageHeader.read(input);\n _args.data_page_header = value_5;\n } else {\n input.skip(fieldType);\n }\n break;\n case 6:\n if (fieldType === thrift.Thrift.Type.STRUCT) {\n const value_6: IndexPageHeader.IndexPageHeader =\n IndexPageHeader.IndexPageHeader.read(input);\n _args.index_page_header = value_6;\n } else {\n input.skip(fieldType);\n }\n break;\n case 7:\n if (fieldType === thrift.Thrift.Type.STRUCT) {\n const value_7: DictionaryPageHeader.DictionaryPageHeader =\n DictionaryPageHeader.DictionaryPageHeader.read(input);\n _args.dictionary_page_header = value_7;\n } else {\n input.skip(fieldType);\n }\n break;\n case 8:\n if (fieldType === thrift.Thrift.Type.STRUCT) {\n const value_8: DataPageHeaderV2.DataPageHeaderV2 =\n DataPageHeaderV2.DataPageHeaderV2.read(input);\n _args.data_page_header_v2 = value_8;\n } else {\n input.skip(fieldType);\n }\n break;\n default: {\n input.skip(fieldType);\n }\n }\n input.readFieldEnd();\n }\n input.readStructEnd();\n if (\n _args.type !== undefined &&\n _args.uncompressed_page_size !== undefined &&\n _args.compressed_page_size !== undefined\n ) {\n return new PageHeader(_args);\n } else {\n throw new thrift.Thrift.TProtocolException(\n thrift.Thrift.TProtocolExceptionType.UNKNOWN,\n 'Unable to read PageHeader from input'\n );\n }\n }\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n// Copyright (c) 2017 ironSource Ltd.\n// Forked from https://github.com/kbajalc/parquets under MIT license\n\n/* tslint:disable */\n/* eslint-disable */\n/*\n * Autogenerated by @creditkarma/thrift-typescript v3.7.2\n * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING\n */\nimport * as thrift from 'thrift';\nexport interface IKeyValueArgs {\n key: string;\n value?: string;\n}\nexport class KeyValue {\n public key: string;\n public value?: string;\n constructor(args: IKeyValueArgs) {\n if (args != null && args.key != null) {\n this.key = args.key;\n } else {\n throw new thrift.Thrift.TProtocolException(\n thrift.Thrift.TProtocolExceptionType.UNKNOWN,\n 'Required field[key] is unset!'\n );\n }\n if (args != null && args.value != null) {\n this.value = args.value;\n }\n }\n public write(output: thrift.TProtocol): void {\n output.writeStructBegin('KeyValue');\n if (this.key != null) {\n output.writeFieldBegin('key', thrift.Thrift.Type.STRING, 1);\n output.writeString(this.key);\n output.writeFieldEnd();\n }\n if (this.value != null) {\n output.writeFieldBegin('value', thrift.Thrift.Type.STRING, 2);\n output.writeString(this.value);\n output.writeFieldEnd();\n }\n output.writeFieldStop();\n output.writeStructEnd();\n return;\n }\n public static read(input: thrift.TProtocol): KeyValue {\n input.readStructBegin();\n let _args: any = {};\n while (true) {\n const ret: thrift.TField = input.readFieldBegin();\n const fieldType: thrift.Thrift.Type = ret.ftype;\n const fieldId: number = ret.fid;\n if (fieldType === thrift.Thrift.Type.STOP) {\n break;\n }\n switch (fieldId) {\n case 1:\n if (fieldType === thrift.Thrift.Type.STRING) {\n const value_1: string = input.readString();\n _args.key = value_1;\n } else {\n input.skip(fieldType);\n }\n break;\n case 2:\n if (fieldType === thrift.Thrift.Type.STRING) {\n const value_2: string = input.readString();\n _args.value = value_2;\n } else {\n input.skip(fieldType);\n }\n break;\n default: {\n input.skip(fieldType);\n }\n }\n input.readFieldEnd();\n }\n input.readStructEnd();\n if (_args.key !== undefined) {\n return new KeyValue(_args);\n } else {\n throw new thrift.Thrift.TProtocolException(\n thrift.Thrift.TProtocolExceptionType.UNKNOWN,\n 'Unable to read KeyValue from input'\n );\n }\n }\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n// Copyright (c) 2017 ironSource Ltd.\n// Forked from https://github.com/kbajalc/parquets under MIT license\n\n/* tslint:disable */\n/* eslint-disable */\n/*\n * Autogenerated by @creditkarma/thrift-typescript v3.7.2\n * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING\n */\nimport * as thrift from 'thrift';\nexport interface ISortingColumnArgs {\n column_idx: number;\n descending: boolean;\n nulls_first: boolean;\n}\nexport class SortingColumn {\n public column_idx: number;\n public descending: boolean;\n public nulls_first: boolean;\n constructor(args: ISortingColumnArgs) {\n if (args != null && args.column_idx != null) {\n this.column_idx = args.column_idx;\n } else {\n throw new thrift.Thrift.TProtocolException(\n thrift.Thrift.TProtocolExceptionType.UNKNOWN,\n 'Required field[column_idx] is unset!'\n );\n }\n if (args != null && args.descending != null) {\n this.descending = args.descending;\n } else {\n throw new thrift.Thrift.TProtocolException(\n thrift.Thrift.TProtocolExceptionType.UNKNOWN,\n 'Required field[descending] is unset!'\n );\n }\n if (args != null && args.nulls_first != null) {\n this.nulls_first = args.nulls_first;\n } else {\n throw new thrift.Thrift.TProtocolException(\n thrift.Thrift.TProtocolExceptionType.UNKNOWN,\n 'Required field[nulls_first] is unset!'\n );\n }\n }\n public write(output: thrift.TProtocol): void {\n output.writeStructBegin('SortingColumn');\n if (this.column_idx != null) {\n output.writeFieldBegin('column_idx', thrift.Thrift.Type.I32, 1);\n output.writeI32(this.column_idx);\n output.writeFieldEnd();\n }\n if (this.descending != null) {\n output.writeFieldBegin('descending', thrift.Thrift.Type.BOOL, 2);\n output.writeBool(this.descending);\n output.writeFieldEnd();\n }\n if (this.nulls_first != null) {\n output.writeFieldBegin('nulls_first', thrift.Thrift.Type.BOOL, 3);\n output.writeBool(this.nulls_first);\n output.writeFieldEnd();\n }\n output.writeFieldStop();\n output.writeStructEnd();\n return;\n }\n public static read(input: thrift.TProtocol): SortingColumn {\n input.readStructBegin();\n let _args: any = {};\n while (true) {\n const ret: thrift.TField = input.readFieldBegin();\n const fieldType: thrift.Thrift.Type = ret.ftype;\n const fieldId: number = ret.fid;\n if (fieldType === thrift.Thrift.Type.STOP) {\n break;\n }\n switch (fieldId) {\n case 1:\n if (fieldType === thrift.Thrift.Type.I32) {\n const value_1: number = input.readI32();\n _args.column_idx = value_1;\n } else {\n input.skip(fieldType);\n }\n break;\n case 2:\n if (fieldType === thrift.Thrift.Type.BOOL) {\n const value_2: boolean = input.readBool();\n _args.descending = value_2;\n } else {\n input.skip(fieldType);\n }\n break;\n case 3:\n if (fieldType === thrift.Thrift.Type.BOOL) {\n const value_3: boolean = input.readBool();\n _args.nulls_first = value_3;\n } else {\n input.skip(fieldType);\n }\n break;\n default: {\n input.skip(fieldType);\n }\n }\n input.readFieldEnd();\n }\n input.readStructEnd();\n if (\n _args.column_idx !== undefined &&\n _args.descending !== undefined &&\n _args.nulls_first !== undefined\n ) {\n return new SortingColumn(_args);\n } else {\n throw new thrift.Thrift.TProtocolException(\n thrift.Thrift.TProtocolExceptionType.UNKNOWN,\n 'Unable to read SortingColumn from input'\n );\n }\n }\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n// Copyright (c) 2017 ironSource Ltd.\n// Forked from https://github.com/kbajalc/parquets under MIT license\n\n/* tslint:disable */\n/* eslint-disable */\n/*\n * Autogenerated by @creditkarma/thrift-typescript v3.7.2\n * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING\n */\nimport * as thrift from 'thrift';\nimport * as Encoding from './Encoding';\nimport * as PageType from './PageType';\nexport interface IPageEncodingStatsArgs {\n page_type: PageType.PageType;\n encoding: Encoding.Encoding;\n count: number;\n}\nexport class PageEncodingStats {\n public page_type: PageType.PageType;\n public encoding: Encoding.Encoding;\n public count: number;\n constructor(args: IPageEncodingStatsArgs) {\n if (args != null && args.page_type != null) {\n this.page_type = args.page_type;\n } else {\n throw new thrift.Thrift.TProtocolException(\n thrift.Thrift.TProtocolExceptionType.UNKNOWN,\n 'Required field[page_type] is unset!'\n );\n }\n if (args != null && args.encoding != null) {\n this.encoding = args.encoding;\n } else {\n throw new thrift.Thrift.TProtocolException(\n thrift.Thrift.TProtocolExceptionType.UNKNOWN,\n 'Required field[encoding] is unset!'\n );\n }\n if (args != null && args.count != null) {\n this.count = args.count;\n } else {\n throw new thrift.Thrift.TProtocolException(\n thrift.Thrift.TProtocolExceptionType.UNKNOWN,\n 'Required field[count] is unset!'\n );\n }\n }\n public write(output: thrift.TProtocol): void {\n output.writeStructBegin('PageEncodingStats');\n if (this.page_type != null) {\n output.writeFieldBegin('page_type', thrift.Thrift.Type.I32, 1);\n output.writeI32(this.page_type);\n output.writeFieldEnd();\n }\n if (this.encoding != null) {\n output.writeFieldBegin('encoding', thrift.Thrift.Type.I32, 2);\n output.writeI32(this.encoding);\n output.writeFieldEnd();\n }\n if (this.count != null) {\n output.writeFieldBegin('count', thrift.Thrift.Type.I32, 3);\n output.writeI32(this.count);\n output.writeFieldEnd();\n }\n output.writeFieldStop();\n output.writeStructEnd();\n return;\n }\n public static read(input: thrift.TProtocol): PageEncodingStats {\n input.readStructBegin();\n let _args: any = {};\n while (true) {\n const ret: thrift.TField = input.readFieldBegin();\n const fieldType: thrift.Thrift.Type = ret.ftype;\n const fieldId: number = ret.fid;\n if (fieldType === thrift.Thrift.Type.STOP) {\n break;\n }\n switch (fieldId) {\n case 1:\n if (fieldType === thrift.Thrift.Type.I32) {\n const value_1: PageType.PageType = input.readI32();\n _args.page_type = value_1;\n } else {\n input.skip(fieldType);\n }\n break;\n case 2:\n if (fieldType === thrift.Thrift.Type.I32) {\n const value_2: Encoding.Encoding = input.readI32();\n _args.encoding = value_2;\n } else {\n input.skip(fieldType);\n }\n break;\n case 3:\n if (fieldType === thrift.Thrift.Type.I32) {\n const value_3: number = input.readI32();\n _args.count = value_3;\n } else {\n input.skip(fieldType);\n }\n break;\n default: {\n input.skip(fieldType);\n }\n }\n input.readFieldEnd();\n }\n input.readStructEnd();\n if (\n _args.page_type !== undefined &&\n _args.encoding !== undefined &&\n _args.count !== undefined\n ) {\n return new PageEncodingStats(_args);\n } else {\n throw new thrift.Thrift.TProtocolException(\n thrift.Thrift.TProtocolExceptionType.UNKNOWN,\n 'Unable to read PageEncodingStats from input'\n );\n }\n }\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n// Copyright (c) 2017 ironSource Ltd.\n// Forked from https://github.com/kbajalc/parquets under MIT license\n\n/* tslint:disable */\n/* eslint-disable */\n/*\n * Autogenerated by @creditkarma/thrift-typescript v3.7.2\n * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING\n */\nimport Int64 from 'node-int64';\nimport * as thrift from 'thrift';\nimport * as CompressionCodec from './CompressionCodec';\nimport * as Encoding from './Encoding';\nimport * as KeyValue from './KeyValue';\nimport * as PageEncodingStats from './PageEncodingStats';\nimport * as Statistics from './Statistics';\nimport * as Type from './Type';\nexport interface IColumnMetaDataArgs {\n type: Type.Type;\n encodings: Array<Encoding.Encoding>;\n path_in_schema: Array<string>;\n codec: CompressionCodec.CompressionCodec;\n num_values: number | Int64;\n total_uncompressed_size: number | Int64;\n total_compressed_size: number | Int64;\n key_value_metadata?: Array<KeyValue.KeyValue>;\n data_page_offset: number | Int64;\n index_page_offset?: number | Int64;\n dictionary_page_offset?: number | Int64;\n statistics?: Statistics.Statistics;\n encoding_stats?: Array<PageEncodingStats.PageEncodingStats>;\n}\nexport class ColumnMetaData {\n public type: Type.Type;\n public encodings: Array<Encoding.Encoding>;\n public path_in_schema: Array<string>;\n public codec: CompressionCodec.CompressionCodec;\n public num_values: Int64;\n public total_uncompressed_size: Int64;\n public total_compressed_size: Int64;\n public key_value_metadata?: Array<KeyValue.KeyValue>;\n public data_page_offset: Int64;\n public index_page_offset?: Int64;\n public dictionary_page_offset?: Int64;\n public statistics?: Statistics.Statistics;\n public encoding_stats?: Array<PageEncodingStats.PageEncodingStats>;\n constructor(args: IColumnMetaDataArgs) {\n if (args != null && args.type != null) {\n this.type = args.type;\n } else {\n throw new thrift.Thrift.TProtocolException(\n thrift.Thrift.TProtocolExceptionType.UNKNOWN,\n 'Required field[type] is unset!'\n );\n }\n if (args != null && args.encodings != null) {\n this.encodings = args.encodings;\n } else {\n throw new thrift.Thrift.TProtocolException(\n thrift.Thrift.TProtocolExceptionType.UNKNOWN,\n 'Required field[encodings] is unset!'\n );\n }\n if (args != null && args.path_in_schema != null) {\n this.path_in_schema = args.path_in_schema;\n } else {\n throw new thrift.Thrift.TProtocolException(\n thrift.Thrift.TProtocolExceptionType.UNKNOWN,\n 'Required field[path_in_schema] is unset!'\n );\n }\n if (args != null && args.codec != null) {\n this.codec = args.codec;\n } else {\n throw new thrift.Thrift.TProtocolException(\n thrift.Thrift.TProtocolExceptionType.UNKNOWN,\n 'Required field[codec] is unset!'\n );\n }\n if (args != null && args.num_values != null) {\n if (typeof args.num_values === 'number') {\n this.num_values = new Int64(args.num_values);\n } else {\n this.num_values = args.num_values;\n }\n } else {\n throw new thrift.Thrift.TProtocolException(\n thrift.Thrift.TProtocolExceptionType.UNKNOWN,\n 'Required field[num_values] is unset!'\n );\n }\n if (args != null && args.total_uncompressed_size != null) {\n if (typeof args.total_uncompressed_size === 'number') {\n this.total_uncompressed_size = new Int64(args.total_uncompressed_size);\n } else {\n this.total_uncompressed_size = args.total_uncompressed_size;\n }\n } else {\n throw new thrift.Thrift.TProtocolException(\n thrift.Thrift.TProtocolExceptionType.UNKNOWN,\n 'Required field[total_uncompressed_size] is unset!'\n );\n }\n if (args != null && args.total_compressed_size != null) {\n if (typeof args.total_compressed_size === 'number') {\n this.total_compressed_size = new Int64(args.total_compressed_size);\n } else {\n this.total_compressed_size = args.total_compressed_size;\n }\n } else {\n throw new thrift.Thrift.TProtocolException(\n thrift.Thrift.TProtocolExceptionType.UNKNOWN,\n 'Required field[total_compressed_size] is unset!'\n );\n }\n if (args != null && args.key_value_metadata != null) {\n this.key_value_metadata = args.key_value_metadata;\n }\n if (args != null && args.data_page_offset != null) {\n if (typeof args.data_page_offset === 'number') {\n this.data_page_offset = new Int64(args.data_page_offset);\n } else {\n this.data_page_offset = args.data_page_offset;\n }\n } else {\n throw new thrift.Thrift.TProtocolException(\n thrift.Thrift.TProtocolExceptionType.UNKNOWN,\n 'Required field[data_page_offset] is unset!'\n );\n }\n if (args != null && args.index_page_offset != null) {\n if (typeof args.index_page_offset === 'number') {\n this.index_page_offset = new Int64(args.index_page_offset);\n } else {\n this.index_page_offset = args.index_page_offset;\n }\n }\n if (args != null && args.dictionary_page_offset != null) {\n if (typeof args.dictionary_page_offset === 'number') {\n this.dictionary_page_offset = new Int64(args.dictionary_page_offset);\n } else {\n this.dictionary_page_offset = args.dictionary_page_offset;\n }\n }\n if (args != null && args.statistics != null) {\n this.statistics = args.statistics;\n }\n if (args != null && args.encoding_stats != null) {\n this.encoding_stats = args.encoding_stats;\n }\n }\n public write(output: thrift.TProtocol): void {\n output.writeStructBegin('ColumnMetaData');\n if (this.type != null) {\n output.writeFieldBegin('type', thrift.Thrift.Type.I32, 1);\n output.writeI32(this.type);\n output.writeFieldEnd();\n }\n if (this.encodings != null) {\n output.writeFieldBegin('encodings', thrift.Thrift.Type.LIST, 2);\n output.writeListBegin(thrift.Thrift.Type.I32, this.encodings.length);\n this.encodings.forEach((value_1: Encoding.Encoding): void => {\n output.writeI32(value_1);\n });\n output.writeListEnd();\n output.writeFieldEnd();\n }\n if (this.path_in_schema != null) {\n output.writeFieldBegin('path_in_schema', thrift.Thrift.Type.LIST, 3);\n output.writeListBegin(thrift.Thrift.Type.STRING, this.path_in_schema.length);\n this.path_in_schema.forEach((value_2: string): void => {\n output.writeString(value_2);\n });\n output.writeListEnd();\n output.writeFieldEnd();\n }\n if (this.codec != null) {\n output.writeFieldBegin('codec', thrift.Thrift.Type.I32, 4);\n output.writeI32(this.codec);\n output.writeFieldEnd();\n }\n if (this.num_values != null) {\n output.writeFieldBegin('num_values', thrift.Thrift.Type.I64, 5);\n output.writeI64(this.num_values);\n output.writeFieldEnd();\n }\n if (this.total_uncompressed_size != null) {\n output.writeFieldBegin('total_uncompressed_size', thrift.Thrift.Type.I64, 6);\n output.writeI64(this.total_uncompressed_size);\n output.writeFieldEnd();\n }\n if (this.total_compressed_size != null) {\n output.writeFieldBegin('total_compressed_size', thrift.Thrift.Type.I64, 7);\n output.writeI64(this.total_compressed_size);\n output.writeFieldEnd();\n }\n if (this.key_value_metadata != null) {\n output.writeFieldBegin('key_value_metadata', thrift.Thrift.Type.LIST, 8);\n output.writeListBegin(thrift.Thrift.Type.STRUCT, this.key_value_metadata.length);\n this.key_value_metadata.forEach((value_3: KeyValue.KeyValue): void => {\n value_3.write(output);\n });\n output.writeListEnd();\n output.writeFieldEnd();\n }\n if (this.data_page_offset != null) {\n output.writeFieldBegin('data_page_offset', thrift.Thrift.Type.I64, 9);\n output.writeI64(this.data_page_offset);\n output.writeFieldEnd();\n }\n if (this.index_page_offset != null) {\n output.writeFieldBegin('index_page_offset', thrift.Thrift.Type.I64, 10);\n output.writeI64(this.index_page_offset);\n output.writeFieldEnd();\n }\n if (this.dictionary_page_offset != null) {\n output.writeFieldBegin('dictionary_page_offset', thrift.Thrift.Type.I64, 11);\n output.writeI64(this.dictionary_page_offset);\n output.writeFieldEnd();\n }\n if (this.statistics != null) {\n output.writeFieldBegin('statistics', thrift.Thrift.Type.STRUCT, 12);\n this.statistics.write(output);\n output.writeFieldEnd();\n }\n if (this.encoding_stats != null) {\n output.writeFieldBegin('encoding_stats', thrift.Thrift.Type.LIST, 13);\n output.writeListBegin(thrift.Thrift.Type.STRUCT, this.encoding_stats.length);\n this.encoding_stats.forEach((value_4: PageEncodingStats.PageEncodingStats): void => {\n value_4.write(output);\n });\n output.writeListEnd();\n output.writeFieldEnd();\n }\n output.writeFieldStop();\n output.writeStructEnd();\n return;\n }\n public static read(input: thrift.TProtocol): ColumnMetaData {\n input.readStructBegin();\n let _args: any = {};\n while (true) {\n const ret: thrift.TField = input.readFieldBegin();\n const fieldType: thrift.Thrift.Type = ret.ftype;\n const fieldId: number = ret.fid;\n if (fieldType === thrift.Thrift.Type.STOP) {\n break;\n }\n switch (fieldId) {\n case 1:\n if (fieldType === thrift.Thrift.Type.I32) {\n const value_5: Type.Type = input.readI32();\n _args.type = value_5;\n } else {\n input.skip(fieldType);\n }\n break;\n case 2:\n if (fieldType === thrift.Thrift.Type.LIST) {\n const value_6: Array<Encoding.Encoding> = new Array<Encoding.Encoding>();\n const metadata_1: thrift.TList = input.readListBegin();\n const size_1: number = metadata_1.size;\n for (let i_1: number = 0; i_1 < size_1; i_1++) {\n const value_7: Encoding.Encoding = input.readI32();\n value_6.push(value_7);\n }\n input.readListEnd();\n _args.encodings = value_6;\n } else {\n input.skip(fieldType);\n }\n break;\n case 3:\n if (fieldType === thrift.Thrift.Type.LIST) {\n const value_8: Array<string> = new Array<string>();\n const metadata_2: thrift.TList = input.readListBegin();\n const size_2: number = metadata_2.size;\n for (let i_2: number = 0; i_2 < size_2; i_2++) {\n const value_9: string = input.readString();\n value_8.push(value_9);\n }\n input.readListEnd();\n _args.path_in_schema = value_8;\n } else {\n input.skip(fieldType);\n }\n break;\n case 4:\n if (fieldType === thrift.Thrift.Type.I32) {\n const value_10: CompressionCodec.CompressionCodec = input.readI32();\n _args.codec = value_10;\n } else {\n input.skip(fieldType);\n }\n break;\n case 5:\n if (fieldType === thrift.Thrift.Type.I64) {\n const value_11: Int64 = input.readI64();\n _args.num_values = value_11;\n } else {\n input.skip(fieldType);\n }\n break;\n case 6:\n if (fieldType === thrift.Thrift.Type.I64) {\n const value_12: Int64 = input.readI64();\n _args.total_uncompressed_size = value_12;\n } else {\n input.skip(fieldType);\n }\n break;\n case 7:\n if (fieldType === thrift.Thrift.Type.I64) {\n const value_13: Int64 = input.readI64();\n _args.total_compressed_size = value_13;\n } else {\n input.skip(fieldType);\n }\n break;\n case 8:\n if (fieldType === thrift.Thrift.Type.LIST) {\n const value_14: Array<KeyValue.KeyValue> = new Array<KeyValue.KeyValue>();\n const metadata_3: thrift.TList = input.readListBegin();\n const size_3: number = metadata_3.size;\n for (let i_3: number = 0; i_3 < size_3; i_3++) {\n const value_15: KeyValue.KeyValue = KeyValue.KeyValue.read(input);\n value_14.push(value_15);\n }\n input.readListEnd();\n _args.key_value_metadata = value_14;\n } else {\n input.skip(fieldType);\n }\n break;\n case 9:\n if (fieldType === thrift.Thrift.Type.I64) {\n const value_16: Int64 = input.readI64();\n _args.data_page_offset = value_16;\n } else {\n input.skip(fieldType);\n }\n break;\n case 10:\n if (fieldType === thrift.Thrift.Type.I64) {\n const value_17: Int64 = input.readI64();\n _args.index_page_offset = value_17;\n } else {\n input.skip(fieldType);\n }\n break;\n case 11:\n if (fieldType === thrift.Thrift.Type.I64) {\n const value_18: Int64 = input.readI64();\n _args.dictionary_page_offset = value_18;\n } else {\n input.skip(fieldType);\n }\n break;\n case 12:\n if (fieldType === thrift.Thrift.Type.STRUCT) {\n const value_19: Statistics.Statistics = Statistics.Statistics.read(input);\n _args.statistics = value_19;\n } else {\n input.skip(fieldType);\n }\n break;\n case 13:\n if (fieldType === thrift.Thrift.Type.LIST) {\n const value_20: Array<PageEncodingStats.PageEncodingStats> =\n new Array<PageEncodingStats.PageEncodingStats>();\n const metadata_4: thrift.TList = input.readListBegin();\n const size_4: number = metadata_4.size;\n for (let i_4: number = 0; i_4 < size_4; i_4++) {\n const value_21: PageEncodingStats.PageEncodingStats =\n PageEncodingStats.PageEncodingStats.read(input);\n value_20.push(value_21);\n }\n input.readListEnd();\n _args.encoding_stats = value_20;\n } else {\n input.skip(fieldType);\n }\n break;\n default: {\n input.skip(fieldType);\n }\n }\n input.readFieldEnd();\n }\n input.readStructEnd();\n if (\n _args.type !== undefined &&\n _args.encodings !== undefined &&\n _args.path_in_schema !== undefined &&\n _args.codec !== undefined &&\n _args.num_values !== undefined &&\n _args.total_uncompressed_size !== undefined &&\n _args.total_compressed_size !== undefined &&\n _args.data_page_offset !== undefined\n ) {\n return new ColumnMetaData(_args);\n } else {\n throw new thrift.Thrift.TProtocolException(\n thrift.Thrift.TProtocolExceptionType.UNKNOWN,\n 'Unable to read ColumnMetaData from input'\n );\n }\n }\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n// Copyright (c) 2017 ironSource Ltd.\n// Forked from https://github.com/kbajalc/parquets under MIT license\n\n/* tslint:disable */\n/* eslint-disable */\n/*\n * Autogenerated by @creditkarma/thrift-typescript v3.7.2\n * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING\n */\nimport Int64 from 'node-int64';\nimport * as thrift from 'thrift';\nimport * as ColumnMetaData from './ColumnMetaData';\nexport interface IColumnChunkArgs {\n file_path?: string;\n file_offset: number | Int64;\n meta_data?: ColumnMetaData.ColumnMetaData;\n offset_index_offset?: number | Int64;\n offset_index_length?: number;\n column_index_offset?: number | Int64;\n column_index_length?: number;\n}\nexport class ColumnChunk {\n public file_path?: string;\n public file_offset: Int64;\n public meta_data?: ColumnMetaData.ColumnMetaData;\n public offset_index_offset?: Int64;\n public offset_index_length?: number;\n public column_index_offset?: Int64;\n public column_index_length?: number;\n constructor(args: IColumnChunkArgs) {\n if (args != null && args.file_path != null) {\n this.file_path = args.file_path;\n }\n if (args != null && args.file_offset != null) {\n if (typeof args.file_offset === 'number') {\n this.file_offset = new Int64(args.file_offset);\n } else {\n this.file_offset = args.file_offset;\n }\n } else {\n throw new thrift.Thrift.TProtocolException(\n thrift.Thrift.TProtocolExceptionType.UNKNOWN,\n 'Required field[file_offset] is unset!'\n );\n }\n if (args != null && args.meta_data != null) {\n this.meta_data = args.meta_data;\n }\n if (args != null && args.offset_index_offset != null) {\n if (typeof args.offset_index_offset === 'number') {\n this.offset_index_offset = new Int64(args.offset_index_offset);\n } else {\n this.offset_index_offset = args.offset_index_offset;\n }\n }\n if (args != null && args.offset_index_length != null) {\n this.offset_index_length = args.offset_index_length;\n }\n if (args != null && args.column_index_offset != null) {\n if (typeof args.column_index_offset === 'number') {\n this.column_index_offset = new Int64(args.column_index_offset);\n } else {\n this.column_index_offset = args.column_index_offset;\n }\n }\n if (args != null && args.column_index_length != null) {\n this.column_index_length = args.column_index_length;\n }\n }\n public write(output: thrift.TProtocol): void {\n output.writeStructBegin('ColumnChunk');\n if (this.file_path != null) {\n output.writeFieldBegin('file_path', thrift.Thrift.Type.STRING, 1);\n output.writeString(this.file_path);\n output.writeFieldEnd();\n }\n if (this.file_offset != null) {\n output.writeFieldBegin('file_offset', thrift.Thrift.Type.I64, 2);\n output.writeI64(this.file_offset);\n output.writeFieldEnd();\n }\n if (this.meta_data != null) {\n output.writeFieldBegin('meta_data', thrift.Thrift.Type.STRUCT, 3);\n this.meta_data.write(output);\n output.writeFieldEnd();\n }\n if (this.offset_index_offset != null) {\n output.writeFieldBegin('offset_index_offset', thrift.Thrift.Type.I64, 4);\n output.writeI64(this.offset_index_offset);\n output.writeFieldEnd();\n }\n if (this.offset_index_length != null) {\n output.writeFieldBegin('offset_index_length', thrift.Thrift.Type.I32, 5);\n output.writeI32(this.offset_index_length);\n output.writeFieldEnd();\n }\n if (this.column_index_offset != null) {\n output.writeFieldBegin('column_index_offset', thrift.Thrift.Type.I64, 6);\n output.writeI64(this.column_index_offset);\n output.writeFieldEnd();\n }\n if (this.column_index_length != null) {\n output.writeFieldBegin('column_index_length', thrift.Thrift.Type.I32, 7);\n output.writeI32(this.column_index_length);\n output.writeFieldEnd();\n }\n output.writeFieldStop();\n output.writeStructEnd();\n return;\n }\n public static read(input: thrift.TProtocol): ColumnChunk {\n input.readStructBegin();\n let _args: any = {};\n while (true) {\n const ret: thrift.TField = input.readFieldBegin();\n const fieldType: thrift.Thrift.Type = ret.ftype;\n const fieldId: number = ret.fid;\n if (fieldType === thrift.Thrift.Type.STOP) {\n break;\n }\n switch (fieldId) {\n case 1:\n if (fieldType === thrift.Thrift.Type.STRING) {\n const value_1: string = input.readString();\n _args.file_path = value_1;\n } else {\n input.skip(fieldType);\n }\n break;\n case 2:\n if (fieldType === thrift.Thrift.Type.I64) {\n const value_2: Int64 = input.readI64();\n _args.file_offset = value_2;\n } else {\n input.skip(fieldType);\n }\n break;\n case 3:\n if (fieldType === thrift.Thrift.Type.STRUCT) {\n const value_3: ColumnMetaData.ColumnMetaData =\n ColumnMetaData.ColumnMetaData.read(input);\n _args.meta_data = value_3;\n } else {\n input.skip(fieldType);\n }\n break;\n case 4:\n if (fieldType === thrift.Thrift.Type.I64) {\n const value_4: Int64 = input.readI64();\n _args.offset_index_offset = value_4;\n } else {\n input.skip(fieldType);\n }\n break;\n case 5:\n if (fieldType === thrift.Thrift.Type.I32) {\n const value_5: number = input.readI32();\n _args.offset_index_length = value_5;\n } else {\n input.skip(fieldType);\n }\n break;\n case 6:\n if (fieldType === thrift.Thrift.Type.I64) {\n const value_6: Int64 = input.readI64();\n _args.column_index_offset = value_6;\n } else {\n input.skip(fieldType);\n }\n break;\n case 7:\n if (fieldType === thrift.Thrift.Type.I32) {\n const value_7: number = input.readI32();\n _args.column_index_length = value_7;\n } else {\n input.skip(fieldType);\n }\n break;\n default: {\n input.skip(fieldType);\n }\n }\n input.readFieldEnd();\n }\n input.readStructEnd();\n if (_args.file_offset !== undefined) {\n return new ColumnChunk(_args);\n } else {\n throw new thrift.Thrift.TProtocolException(\n thrift.Thrift.TProtocolExceptionType.UNKNOWN,\n 'Unable to read ColumnChunk from input'\n );\n }\n }\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n// Copyright (c) 2017 ironSource Ltd.\n// Forked from https://github.com/kbajalc/parquets under MIT license\n\n/* tslint:disable */\n/* eslint-disable */\n/*\n * Autogenerated by @creditkarma/thrift-typescript v3.7.2\n * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING\n */\nimport Int64 from 'node-int64';\nimport * as thrift from 'thrift';\nimport * as ColumnChunk from './ColumnChunk';\nimport * as SortingColumn from './SortingColumn';\nexport interface IRowGroupArgs {\n columns: Array<ColumnChunk.ColumnChunk>;\n total_byte_size: number | Int64;\n num_rows: number | Int64;\n sorting_columns?: Array<SortingColumn.SortingColumn>;\n}\nexport class RowGroup {\n public columns: Array<ColumnChunk.ColumnChunk>;\n public total_byte_size: Int64;\n public num_rows: Int64;\n public sorting_columns?: Array<SortingColumn.SortingColumn>;\n constructor(args: IRowGroupArgs) {\n if (args != null && args.columns != null) {\n this.columns = args.columns;\n } else {\n throw new thrift.Thrift.TProtocolException(\n thrift.Thrift.TProtocolExceptionType.UNKNOWN,\n 'Required field[columns] is unset!'\n );\n }\n if (args != null && args.total_byte_size != null) {\n if (typeof args.total_byte_size === 'number') {\n this.total_byte_size = new Int64(args.total_byte_size);\n } else {\n this.total_byte_size = args.total_byte_size;\n }\n } else {\n throw new thrift.Thrift.TProtocolException(\n thrift.Thrift.TProtocolExceptionType.UNKNOWN,\n 'Required field[total_byte_size] is unset!'\n );\n }\n if (args != null && args.num_rows != null) {\n if (typeof args.num_rows === 'number') {\n this.num_rows = new Int64(args.num_rows);\n } else {\n this.num_rows = args.num_rows;\n }\n } else {\n throw new thrift.Thrift.TProtocolException(\n thrift.Thrift.TProtocolExceptionType.UNKNOWN,\n 'Required field[num_rows] is unset!'\n );\n }\n if (args != null && args.sorting_columns != null) {\n this.sorting_columns = args.sorting_columns;\n }\n }\n public write(output: thrift.TProtocol): void {\n output.writeStructBegin('RowGroup');\n if (this.columns != null) {\n output.writeFieldBegin('columns', thrift.Thrift.Type.LIST, 1);\n output.writeListBegin(thrift.Thrift.Type.STRUCT, this.columns.length);\n this.columns.forEach((value_1: ColumnChunk.ColumnChunk): void => {\n value_1.write(output);\n });\n output.writeListEnd();\n output.writeFieldEnd();\n }\n if (this.total_byte_size != null) {\n output.writeFieldBegin('total_byte_size', thrift.Thrift.Type.I64, 2);\n output.writeI64(this.total_byte_size);\n output.writeFieldEnd();\n }\n if (this.num_rows != null) {\n output.writeFieldBegin('num_rows', thrift.Thrift.Type.I64, 3);\n output.writeI64(this.num_rows);\n output.writeFieldEnd();\n }\n if (this.sorting_columns != null) {\n output.writeFieldBegin('sorting_columns', thrift.Thrift.Type.LIST, 4);\n output.writeListBegin(thrift.Thrift.Type.STRUCT, this.sorting_columns.length);\n this.sorting_columns.forEach((value_2: SortingColumn.SortingColumn): void => {\n value_2.write(output);\n });\n output.writeListEnd();\n output.writeFieldEnd();\n }\n output.writeFieldStop();\n output.writeStructEnd();\n return;\n }\n public static read(input: thrift.TProtocol): RowGroup {\n input.readStructBegin();\n let _args: any = {};\n while (true) {\n const ret: thrift.TField = input.readFieldBegin();\n const fieldType: thrift.Thrift.Type = ret.ftype;\n const fieldId: number = ret.fid;\n if (fieldType === thrift.Thrift.Type.STOP) {\n break;\n }\n switch (fieldId) {\n case 1:\n if (fieldType === thrift.Thrift.Type.LIST) {\n const value_3: Array<ColumnChunk.ColumnChunk> = new Array<ColumnChunk.ColumnChunk>();\n const metadata_1: thrift.TList = input.readListBegin();\n const size_1: number = metadata_1.size;\n for (let i_1: number = 0; i_1 < size_1; i_1++) {\n const value_4: ColumnChunk.ColumnChunk = ColumnChunk.ColumnChunk.read(input);\n value_3.push(value_4);\n }\n input.readListEnd();\n _args.columns = value_3;\n } else {\n input.skip(fieldType);\n }\n break;\n case 2:\n if (fieldType === thrift.Thrift.Type.I64) {\n const value_5: Int64 = input.readI64();\n _args.total_byte_size = value_5;\n } else {\n input.skip(fieldType);\n }\n break;\n case 3:\n if (fieldType === thrift.Thrift.Type.I64) {\n const value_6: Int64 = input.readI64();\n _args.num_rows = value_6;\n } else {\n input.skip(fieldType);\n }\n break;\n case 4:\n if (fieldType === thrift.Thrift.Type.LIST) {\n const value_7: Array<SortingColumn.SortingColumn> =\n new Array<SortingColumn.SortingColumn>();\n const metadata_2: thrift.TList = input.readListBegin();\n const size_2: number = metadata_2.size;\n for (let i_2: number = 0; i_2 < size_2; i_2++) {\n const value_8: SortingColumn.SortingColumn = SortingColumn.SortingColumn.read(input);\n value_7.push(value_8);\n }\n input.readListEnd();\n _args.sorting_columns = value_7;\n } else {\n input.skip(fieldType);\n }\n break;\n default: {\n input.skip(fieldType);\n }\n }\n input.readFieldEnd();\n }\n input.readStructEnd();\n if (\n _args.columns !== undefined &&\n _args.total_byte_size !== undefined &&\n _args.num_rows !== undefined\n ) {\n return new RowGroup(_args);\n } else {\n throw new thrift.Thrift.TProtocolException(\n thrift.Thrift.TProtocolExceptionType.UNKNOWN,\n 'Unable to read RowGroup from input'\n );\n }\n }\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n// Copyright (c) 2017 ironSource Ltd.\n// Forked from https://github.com/kbajalc/parquets under MIT license\n\n/* tslint:disable */\n/* eslint-disable */\n/*\n * Autogenerated by @creditkarma/thrift-typescript v3.7.2\n * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING\n */\nimport * as thrift from 'thrift';\nexport interface ITypeDefinedOrderArgs {}\nexport class TypeDefinedOrder {\n constructor() {}\n public write(output: thrift.TProtocol): void {\n output.writeStructBegin('TypeDefinedOrder');\n output.writeFieldStop();\n output.writeStructEnd();\n return;\n }\n public static read(input: thrift.TProtocol): TypeDefinedOrder {\n input.readStructBegin();\n while (true) {\n const ret: thrift.TField = input.readFieldBegin();\n const fieldType: thrift.Thrift.Type = ret.ftype;\n const fieldId: number = ret.fid;\n if (fieldType === thrift.Thrift.Type.STOP) {\n break;\n }\n switch (fieldId) {\n default: {\n input.skip(fieldType);\n }\n }\n input.readFieldEnd();\n }\n input.readStructEnd();\n return new TypeDefinedOrder();\n }\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n// Copyright (c) 2017 ironSource Ltd.\n// Forked from https://github.com/kbajalc/parquets under MIT license\n\n/* tslint:disable */\n/* eslint-disable */\n/*\n * Autogenerated by @creditkarma/thrift-typescript v3.7.2\n * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING\n */\nimport Int64 from 'node-int64';\nimport * as thrift from 'thrift';\nimport * as ColumnOrder from './ColumnOrder';\nimport * as KeyValue from './KeyValue';\nimport * as RowGroup from './RowGroup';\nimport * as SchemaElement from './SchemaElement';\nexport interface IFileMetaDataArgs {\n version: number;\n schema: Array<SchemaElement.SchemaElement>;\n num_rows: number | Int64;\n row_groups: Array<RowGroup.RowGroup>;\n key_value_metadata?: Array<KeyValue.KeyValue>;\n created_by?: string;\n column_orders?: Array<ColumnOrder.ColumnOrder>;\n}\nexport class FileMetaData {\n public version: number;\n public schema: Array<SchemaElement.SchemaElement>;\n public num_rows: Int64;\n public row_groups: Array<RowGroup.RowGroup>;\n public key_value_metadata?: Array<KeyValue.KeyValue>;\n public created_by?: string;\n public column_orders?: Array<ColumnOrder.ColumnOrder>;\n constructor(args: IFileMetaDataArgs | null = null) {\n if (args != null && args.version != null) {\n this.version = args.version;\n } else {\n throw new thrift.Thrift.TProtocolException(\n thrift.Thrift.TProtocolExceptionType.UNKNOWN,\n 'Required field[version] is unset!'\n );\n }\n if (args != null && args.schema != null) {\n this.schema = args.schema;\n } else {\n throw new thrift.Thrift.TProtocolException(\n thrift.Thrift.TProtocolExceptionType.UNKNOWN,\n 'Required field[schema] is unset!'\n );\n }\n if (args != null && args.num_rows != null) {\n if (typeof args.num_rows === 'number') {\n this.num_rows = new Int64(args.num_rows);\n } else {\n this.num_rows = args.num_rows;\n }\n } else {\n throw new thrift.Thrift.TProtocolException(\n thrift.Thrift.TProtocolExceptionType.UNKNOWN,\n 'Required field[num_rows] is unset!'\n );\n }\n if (args != null && args.row_groups != null) {\n this.row_groups = args.row_groups;\n } else {\n throw new thrift.Thrift.TProtocolException(\n thrift.Thrift.TProtocolExceptionType.UNKNOWN,\n 'Required field[row_groups] is unset!'\n );\n }\n if (args != null && args.key_value_metadata != null) {\n this.key_value_metadata = args.key_value_metadata;\n }\n if (args != null && args.created_by != null) {\n this.created_by = args.created_by;\n }\n if (args != null && args.column_orders != null) {\n this.column_orders = args.column_orders;\n }\n }\n public write(output: thrift.TProtocol): void {\n output.writeStructBegin('FileMetaData');\n if (this.version != null) {\n output.writeFieldBegin('version', thrift.Thrift.Type.I32, 1);\n output.writeI32(this.version);\n output.writeFieldEnd();\n }\n if (this.schema != null) {\n output.writeFieldBegin('schema', thrift.Thrift.Type.LIST, 2);\n output.writeListBegin(thrift.Thrift.Type.STRUCT, this.schema.length);\n this.schema.forEach((value_1: SchemaElement.SchemaElement): void => {\n value_1.write(output);\n });\n output.writeListEnd();\n output.writeFieldEnd();\n }\n if (this.num_rows != null) {\n output.writeFieldBegin('num_rows', thrift.Thrift.Type.I64, 3);\n output.writeI64(this.num_rows);\n output.writeFieldEnd();\n }\n if (this.row_groups != null) {\n output.writeFieldBegin('row_groups', thrift.Thrift.Type.LIST, 4);\n output.writeListBegin(thrift.Thrift.Type.STRUCT, this.row_groups.length);\n this.row_groups.forEach((value_2: RowGroup.RowGroup): void => {\n value_2.write(output);\n });\n output.writeListEnd();\n output.writeFieldEnd();\n }\n if (this.key_value_metadata != null) {\n output.writeFieldBegin('key_value_metadata', thrift.Thrift.Type.LIST, 5);\n output.writeListBegin(thrift.Thrift.Type.STRUCT, this.key_value_metadata.length);\n this.key_value_metadata.forEach((value_3: KeyValue.KeyValue): void => {\n value_3.write(output);\n });\n output.writeListEnd();\n output.writeFieldEnd();\n }\n if (this.created_by != null) {\n output.writeFieldBegin('created_by', thrift.Thrift.Type.STRING, 6);\n output.writeString(this.created_by);\n output.writeFieldEnd();\n }\n if (this.column_orders != null) {\n output.writeFieldBegin('column_orders', thrift.Thrift.Type.LIST, 7);\n output.writeListBegin(thrift.Thrift.Type.STRUCT, this.column_orders.length);\n this.column_orders.forEach((value_4: ColumnOrder.ColumnOrder): void => {\n value_4.write(output);\n });\n output.writeListEnd();\n output.writeFieldEnd();\n }\n output.writeFieldStop();\n output.writeStructEnd();\n return;\n }\n public static read(input: thrift.TProtocol): FileMetaData {\n input.readStructBegin();\n let _args: any = {};\n while (true) {\n const ret: thrift.TField = input.readFieldBegin();\n const fieldType: thrift.Thrift.Type = ret.ftype;\n const fieldId: number = ret.fid;\n if (fieldType === thrift.Thrift.Type.STOP) {\n break;\n }\n switch (fieldId) {\n case 1:\n if (fieldType === thrift.Thrift.Type.I32) {\n const value_5: number = input.readI32();\n _args.version = value_5;\n } else {\n input.skip(fieldType);\n }\n break;\n case 2:\n if (fieldType === thrift.Thrift.Type.LIST) {\n const value_6: Array<SchemaElement.SchemaElement> =\n new Array<SchemaElement.SchemaElement>();\n const metadata_1: thrift.TList = input.readListBegin();\n const size_1: number = metadata_1.size;\n for (let i_1: number = 0; i_1 < size_1; i_1++) {\n const value_7: SchemaElement.SchemaElement = SchemaElement.SchemaElement.read(input);\n value_6.push(value_7);\n }\n input.readListEnd();\n _args.schema = value_6;\n } else {\n input.skip(fieldType);\n }\n break;\n case 3:\n if (fieldType === thrift.Thrift.Type.I64) {\n const value_8: Int64 = input.readI64();\n _args.num_rows = value_8;\n } else {\n input.skip(fieldType);\n }\n break;\n case 4:\n if (fieldType === thrift.Thrift.Type.LIST) {\n const value_9: Array<RowGroup.RowGroup> = new Array<RowGroup.RowGroup>();\n const metadata_2: thrift.TList = input.readListBegin();\n const size_2: number = metadata_2.size;\n for (let i_2: number = 0; i_2 < size_2; i_2++) {\n const value_10: RowGroup.RowGroup = RowGroup.RowGroup.read(input);\n value_9.push(value_10);\n }\n input.readListEnd();\n _args.row_groups = value_9;\n } else {\n input.skip(fieldType);\n }\n break;\n case 5:\n if (fieldType === thrift.Thrift.Type.LIST) {\n const value_11: Array<KeyValue.KeyValue> = new Array<KeyValue.KeyValue>();\n const metadata_3: thrift.TList = input.readListBegin();\n const size_3: number = metadata_3.size;\n for (let i_3: number = 0; i_3 < size_3; i_3++) {\n const value_12: KeyValue.KeyValue = KeyValue.KeyValue.read(input);\n value_11.push(value_12);\n }\n input.readListEnd();\n _args.key_value_metadata = value_11;\n } else {\n input.skip(fieldType);\n }\n break;\n case 6:\n if (fieldType === thrift.Thrift.Type.STRING) {\n const value_13: string = input.readString();\n _args.created_by = value_13;\n } else {\n input.skip(fieldType);\n }\n break;\n case 7:\n if (fieldType === thrift.Thrift.Type.LIST) {\n const value_14: Array<ColumnOrder.ColumnOrder> = new Array<ColumnOrder.ColumnOrder>();\n const metadata_4: thrift.TList = input.readListBegin();\n const size_4: number = metadata_4.size;\n for (let i_4: number = 0; i_4 < size_4; i_4++) {\n const value_15: ColumnOrder.ColumnOrder = ColumnOrder.ColumnOrder.read(input);\n value_14.push(value_15);\n }\n input.readListEnd();\n _args.column_orders = value_14;\n } else {\n input.skip(fieldType);\n }\n break;\n default: {\n input.skip(fieldType);\n }\n }\n input.readFieldEnd();\n }\n input.readStructEnd();\n if (\n _args.version !== undefined &&\n _args.schema !== undefined &&\n _args.num_rows !== undefined &&\n _args.row_groups !== undefined\n ) {\n return new FileMetaData(_args);\n } else {\n throw new thrift.Thrift.TProtocolException(\n thrift.Thrift.TProtocolExceptionType.UNKNOWN,\n 'Unable to read FileMetaData from input'\n );\n }\n }\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n// Copyright (c) 2017 ironSource Ltd.\n// Forked from https://github.com/kbajalc/parquets under MIT license\n\n/* tslint:disable */\n/* eslint-disable */\n/*\n * Autogenerated by @creditkarma/thrift-typescript v3.7.2\n * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING\n */\nimport * as thrift from 'thrift';\nimport * as TypeDefinedOrder from './TypeDefinedOrder';\nexport interface IColumnOrderArgs {\n TYPE_ORDER?: TypeDefinedOrder.TypeDefinedOrder;\n}\nexport class ColumnOrder {\n public TYPE_ORDER?: TypeDefinedOrder.TypeDefinedOrder;\n constructor(args?: IColumnOrderArgs) {\n let _fieldsSet: number = 0;\n if (args != null) {\n if (args.TYPE_ORDER != null) {\n _fieldsSet++;\n this.TYPE_ORDER = args.TYPE_ORDER;\n }\n if (_fieldsSet > 1) {\n throw new thrift.Thrift.TProtocolException(\n thrift.Thrift.TProtocolExceptionType.INVALID_DATA,\n 'Cannot read a TUnion with more than one set value!'\n );\n } else if (_fieldsSet < 1) {\n throw new thrift.Thrift.TProtocolException(\n thrift.Thrift.TProtocolExceptionType.INVALID_DATA,\n 'Cannot read a TUnion with no set value!'\n );\n }\n }\n }\n public static fromTYPE_ORDER(TYPE_ORDER: TypeDefinedOrder.TypeDefinedOrder): ColumnOrder {\n return new ColumnOrder({TYPE_ORDER});\n }\n public write(output: thrift.TProtocol): void {\n output.writeStructBegin('ColumnOrder');\n if (this.TYPE_ORDER != null) {\n output.writeFieldBegin('TYPE_ORDER', thrift.Thrift.Type.STRUCT, 1);\n this.TYPE_ORDER.write(output);\n output.writeFieldEnd();\n }\n output.writeFieldStop();\n output.writeStructEnd();\n return;\n }\n public static read(input: thrift.TProtocol): ColumnOrder {\n let _fieldsSet: number = 0;\n let _returnValue: ColumnOrder | null = null;\n input.readStructBegin();\n while (true) {\n const ret: thrift.TField = input.readFieldBegin();\n const fieldType: thrift.Thrift.Type = ret.ftype;\n const fieldId: number = ret.fid;\n if (fieldType === thrift.Thrift.Type.STOP) {\n break;\n }\n switch (fieldId) {\n case 1:\n if (fieldType === thrift.Thrift.Type.STRUCT) {\n _fieldsSet++;\n const value_1: TypeDefinedOrder.TypeDefinedOrder =\n TypeDefinedOrder.TypeDefinedOrder.read(input);\n _returnValue = ColumnOrder.fromTYPE_ORDER(value_1);\n } else {\n input.skip(fieldType);\n }\n break;\n default: {\n input.skip(fieldType);\n }\n }\n input.readFieldEnd();\n }\n input.readStructEnd();\n if (_fieldsSet > 1) {\n throw new thrift.Thrift.TProtocolException(\n thrift.Thrift.TProtocolExceptionType.INVALID_DATA,\n 'Cannot read a TUnion with more than one set value!'\n );\n } else if (_fieldsSet < 1) {\n throw new thrift.Thrift.TProtocolException(\n thrift.Thrift.TProtocolExceptionType.INVALID_DATA,\n 'Cannot read a TUnion with no set value!'\n );\n }\n if (_returnValue !== null) {\n return _returnValue;\n } else {\n throw new thrift.Thrift.TProtocolException(\n thrift.Thrift.TProtocolExceptionType.UNKNOWN,\n 'Unable to read data for TUnion'\n );\n }\n }\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nexport const VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';\n\nexport const PARQUET_WASM_URL = 'https://unpkg.com/parquet-wasm@0.6.1/esm/parquet_wasm_bg.wasm';\n\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", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n// Copyright (c) 2017 ironSource Ltd.\n// Forked from https://github.com/kbajalc/parquets under MIT license\n\nimport {\n TBufferedTransport,\n TCompactProtocol,\n TFramedTransport,\n FileMetaData,\n PageHeader\n} from '../parquet-thrift/index';\n\nclass UFramedTransport extends TFramedTransport {\n public readPos: number = 0;\n}\n\n/**\n * Helper function that serializes a thrift object into a buffer\n */\nexport function serializeThrift(obj: any): Buffer {\n const output: Buffer[] = [];\n\n const transport = new TBufferedTransport(undefined, (buf) => {\n output.push(buf as unknown as Buffer);\n });\n\n const protocol = new TCompactProtocol(transport);\n obj.write(protocol);\n transport.flush();\n\n return Buffer.concat(output as Uint8Array[]);\n}\n\nexport function decodeThrift(obj: any, buf: Buffer, offset?: number) {\n if (!offset) {\n // tslint:disable-next-line:no-parameter-reassignment\n offset = 0;\n }\n\n const transport = new UFramedTransport(buf);\n transport.readPos = offset;\n const protocol = new TCompactProtocol(transport);\n obj.read(protocol);\n return transport.readPos - offset;\n}\n\n/**\n * FIXME not ideal that this is linear\n */\nexport function getThriftEnum(klass: any, value: number | string): string {\n for (const k in klass) {\n if (klass[k] === value) {\n return k;\n }\n }\n throw new Error('Invalid ENUM value');\n}\n\nexport function decodeFileMetadata(buf: Buffer, offset?: number) {\n if (!offset) {\n // tslint:disable-next-line:no-parameter-reassignment\n offset = 0;\n }\n\n const transport = new UFramedTransport(buf);\n transport.readPos = offset;\n const protocol = new TCompactProtocol(transport);\n const metadata = FileMetaData.read(protocol);\n return {length: transport.readPos - offset, metadata};\n}\n\nexport function decodePageHeader(buf: Buffer, offset?: number) {\n if (!offset) {\n // tslint:disable-next-line:no-parameter-reassignment\n offset = 0;\n }\n\n const transport = new UFramedTransport(buf);\n transport.readPos = offset;\n const protocol = new TCompactProtocol(transport);\n const pageHeader = PageHeader.read(protocol);\n return {length: transport.readPos - offset, pageHeader};\n}\n\n/**\n * Get the number of bits required to store a given value\n */\nexport function getBitWidth(val: number): number {\n if (val === 0) {\n return 0;\n // tslint:disable-next-line:no-else-after-return\n }\n return Math.ceil(Math.log2(val + 1));\n}\n\n// Supports MQTT path wildcards\n// + all immediate children\n// # all descendents\nexport function fieldIndexOf(arr: string[][], elem: string[]): number {\n for (let j = 0; j < arr.length; j++) {\n if (arr[j].length > elem.length) {\n continue; // eslint-disable-line no-continue\n }\n let m = true;\n for (let i = 0; i < elem.length; i++) {\n if (arr[j][i] === elem[i] || arr[j][i] === '+' || arr[j][i] === '#') {\n continue; // eslint-disable-line no-continue\n }\n if (i >= arr[j].length && arr[j][arr[j].length - 1] === '#') {\n continue; // eslint-disable-line no-continue\n }\n m = false;\n break;\n }\n if (m) return j;\n }\n return -1;\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n// Copyright (c) 2017 ironSource Ltd.\n// Forked from https://github.com/kbajalc/parquets under MIT license\n\nimport {\n ParquetCodec,\n ParquetColumnChunk,\n ParquetReaderContext,\n ParquetPageData,\n ParquetType,\n PrimitiveType,\n SchemaDefinition\n} from '../schema/declare';\nimport {CursorBuffer, ParquetCodecOptions, PARQUET_CODECS} from '../codecs/index';\nimport {\n ConvertedType,\n Encoding,\n FieldRepetitionType,\n PageHeader,\n PageType,\n SchemaElement,\n Type\n} from '../parquet-thrift/index';\nimport {decompress} from '../compression';\nimport {PARQUET_RDLVL_TYPE, PARQUET_RDLVL_ENCODING} from '../../lib/constants';\nimport {decodePageHeader, getThriftEnum, getBitWidth} from '../utils/read-utils';\n\n/**\n * Decode data pages\n * @param buffer - input data\n * @param column - parquet column\n * @param compression - compression type\n * @returns parquet data page data\n */\nexport async function decodeDataPages(\n buffer: Buffer,\n context: ParquetReaderContext\n): Promise<ParquetColumnChunk> {\n const cursor: CursorBuffer = {\n buffer,\n offset: 0,\n size: buffer.length\n };\n\n const data: ParquetColumnChunk = {\n rlevels: [],\n dlevels: [],\n values: [],\n pageHeaders: [],\n count: 0\n };\n\n let dictionary = context.dictionary || [];\n\n while (\n // @ts-ignore size can be undefined\n cursor.offset < cursor.size &&\n (!context.numValues || data.dlevels.length < Number(context.numValues))\n ) {\n // Looks like we have to decode these in sequence due to cursor updates?\n const page = await decodePage(cursor, context);\n\n if (page.dictionary) {\n dictionary = page.dictionary;\n // eslint-disable-next-line no-continue\n continue;\n }\n\n const valueEncoding = getThriftEnum(\n Encoding,\n page.pageHeader.data_page_header?.encoding!\n ) as ParquetCodec;\n // Pages might be in different encodings. We don't need to decode in case\n // of 'PLAIN' encoding because all values are already in place\n if (dictionary.length && valueEncoding !== 'PLAIN') {\n // eslint-disable-next-line no-loop-func\n page.values = page.values.map((value) => dictionary[value]);\n }\n\n for (let index = 0; index < page.rlevels.length; index++) {\n data.rlevels.push(page.rlevels[index]);\n data.dlevels.push(page.dlevels[index]);\n const value = page.values[index];\n\n if (value !== undefined) {\n data.values.push(value);\n }\n }\n\n data.count += page.count;\n data.pageHeaders.push(page.pageHeader);\n }\n\n return data;\n}\n\n/**\n * Decode parquet page based on page type\n * @param cursor\n * @param context\n */\nexport async function decodePage(\n cursor: CursorBuffer,\n context: ParquetReaderContext\n): Promise<ParquetPageData> {\n let page;\n\n const {pageHeader, length} = decodePageHeader(cursor.buffer, cursor.offset);\n cursor.offset += length;\n\n const pageType = getThriftEnum(PageType, pageHeader.type);\n\n switch (pageType) {\n case 'DATA_PAGE':\n page = await decodeDataPage(cursor, pageHeader, context);\n break;\n case 'DATA_PAGE_V2':\n page = await decodeDataPageV2(cursor, pageHeader, context);\n break;\n case 'DICTIONARY_PAGE':\n page = {\n dictionary: await decodeDictionaryPage(cursor, pageHeader, context),\n pageHeader\n };\n break;\n default:\n throw new Error(`invalid page type: ${pageType}`);\n }\n\n return page;\n}\n\n/**\n * Decode parquet schema\n * @param schemaElements input schema elements data\n * @param offset offset to read from\n * @param len length of data\n * @returns result.offset\n * result.next - offset at the end of function\n * result.schema - schema read from the input data\n * @todo output offset is the same as input - possibly excess output field\n */\nexport function decodeSchema(\n schemaElements: SchemaElement[],\n offset: number,\n len: number\n): {\n offset: number;\n next: number;\n schema: SchemaDefinition;\n} {\n const schema: SchemaDefinition = {};\n let next = offset;\n for (let i = 0; i < len; i++) {\n const schemaElement = schemaElements[next];\n\n const repetitionType =\n next > 0 ? getThriftEnum(FieldRepetitionType, schemaElement.repetition_type!) : 'ROOT';\n\n let optional = false;\n let repeated = false;\n switch (repetitionType) {\n case 'REQUIRED':\n break;\n case 'OPTIONAL':\n optional = true;\n break;\n case 'REPEATED':\n repeated = true;\n break;\n default:\n throw new Error('parquet: unknown repetition type');\n }\n\n if (schemaElement.num_children! > 0) {\n const res = decodeSchema(schemaElements, next + 1, schemaElement.num_children!);\n next = res.next;\n schema[schemaElement.name] = {\n // type: undefined,\n optional,\n repeated,\n fields: res.schema\n };\n } else {\n const type = getThriftEnum(Type, schemaElement.type!);\n let logicalType = type;\n\n if (schemaElement.converted_type) {\n logicalType = getThriftEnum(ConvertedType, schemaElement.converted_type);\n }\n\n switch (logicalType) {\n case 'DECIMAL':\n logicalType = `${logicalType}_${type}` as ParquetType;\n break;\n default:\n }\n\n schema[schemaElement.name] = {\n type: logicalType as ParquetType,\n typeLength: schemaElement.type_length,\n presision: schemaElement.precision,\n scale: schemaElement.scale,\n optional,\n repeated\n };\n next++;\n }\n }\n return {schema, offset, next};\n}\n\n/**\n * Decode a consecutive array of data using one of the parquet encodings\n */\nfunction decodeValues(\n type: PrimitiveType,\n encoding: ParquetCodec,\n cursor: CursorBuffer,\n count: number,\n opts: ParquetCodecOptions\n): any[] {\n if (!(encoding in PARQUET_CODECS)) {\n throw new Error(`invalid encoding: ${encoding}`);\n }\n return PARQUET_CODECS[encoding].decodeValues(type, cursor, count, opts);\n}\n\n/**\n * Do decoding of parquet dataPage from column chunk\n * @param cursor\n * @param header\n * @param options\n */\nasync function decodeDataPage(\n cursor: CursorBuffer,\n header: PageHeader,\n context: ParquetReaderContext\n): Promise<ParquetPageData> {\n const cursorEnd = cursor.offset + header.compressed_page_size;\n const valueCount = header.data_page_header?.num_values;\n\n /* uncompress page */\n let dataCursor = cursor;\n\n if (context.compression !== 'UNCOMPRESSED') {\n const valuesBuf = await decompress(\n context.compression,\n cursor.buffer.slice(cursor.offset, cursorEnd),\n header.uncompressed_page_size\n );\n dataCursor = {\n buffer: valuesBuf,\n offset: 0,\n size: valuesBuf.length\n };\n cursor.offset = cursorEnd;\n }\n\n /* read repetition levels */\n const rLevelEncoding = getThriftEnum(\n Encoding,\n header.data_page_header?.repetition_level_encoding!\n ) as ParquetCodec;\n // tslint:disable-next-line:prefer-array-literal\n let rLevels = new Array(valueCount);\n\n if (context.column.rLevelMax > 0) {\n rLevels = decodeValues(PARQUET_RDLVL_TYPE, rLevelEncoding, dataCursor, valueCount!, {\n bitWidth: getBitWidth(context.column.rLevelMax),\n disableEnvelope: false\n // column: opts.column\n });\n } else {\n rLevels.fill(0);\n }\n\n /* read definition levels */\n const dLevelEncoding = getThriftEnum(\n Encoding,\n header.data_page_header?.definition_level_encoding!\n ) as ParquetCodec;\n // tslint:disable-next-line:prefer-array-literal\n let dLevels = new Array(valueCount);\n if (context.column.dLevelMax > 0) {\n dLevels = decodeValues(PARQUET_RDLVL_TYPE, dLevelEncoding, dataCursor, valueCount!, {\n bitWidth: getBitWidth(context.column.dLevelMax),\n disableEnvelope: false\n // column: opts.column\n });\n } else {\n dLevels.fill(0);\n }\n let valueCountNonNull = 0;\n for (const dlvl of dLevels) {\n if (dlvl === context.column.dLevelMax) {\n valueCountNonNull++;\n }\n }\n\n /* read values */\n const valueEncoding = getThriftEnum(Encoding, header.data_page_header?.encoding!) as ParquetCodec;\n const decodeOptions: ParquetCodecOptions = {\n typeLength: context.column.typeLength,\n bitWidth: context.column.typeLength\n };\n\n const values = decodeValues(\n context.column.primitiveType!,\n valueEncoding,\n dataCursor,\n valueCountNonNull,\n decodeOptions\n );\n\n return {\n dlevels: dLevels,\n rlevels: rLevels,\n values,\n count: valueCount!,\n pageHeader: header\n };\n}\n\n/**\n * Do decoding of parquet dataPage in version 2 from column chunk\n * @param cursor\n * @param header\n * @param opts\n * @returns\n */\nasync function decodeDataPageV2(\n cursor: CursorBuffer,\n header: PageHeader,\n context: ParquetReaderContext\n): Promise<ParquetPageData> {\n const cursorEnd = cursor.offset + header.compressed_page_size;\n\n const valueCount = header.data_page_header_v2?.num_values;\n // @ts-ignore\n const valueCountNonNull = valueCount - header.data_page_header_v2?.num_nulls;\n const valueEncoding = getThriftEnum(\n Encoding,\n header.data_page_header_v2?.encoding!\n ) as ParquetCodec;\n\n /* read repetition levels */\n // tslint:disable-next-line:prefer-array-literal\n let rLevels = new Array(valueCount);\n if (context.column.rLevelMax > 0) {\n rLevels = decodeValues(PARQUET_RDLVL_TYPE, PARQUET_RDLVL_ENCODING, cursor, valueCount!, {\n bitWidth: getBitWidth(context.column.rLevelMax),\n disableEnvelope: true\n });\n } else {\n rLevels.fill(0);\n }\n\n /* read definition levels */\n // tslint:disable-next-line:prefer-array-literal\n let dLevels = new Array(valueCount);\n if (context.column.dLevelMax > 0) {\n dLevels = decodeValues(PARQUET_RDLVL_TYPE, PARQUET_RDLVL_ENCODING, cursor, valueCount!, {\n bitWidth: getBitWidth(context.column.dLevelMax),\n disableEnvelope: true\n });\n } else {\n dLevels.fill(0);\n }\n\n /* read values */\n let valuesBufCursor = cursor;\n\n if (header.data_page_header_v2?.is_compressed) {\n const valuesBuf = await decompress(\n context.compression,\n cursor.buffer.slice(cursor.offset, cursorEnd),\n header.uncompressed_page_size\n );\n\n valuesBufCursor = {\n buffer: valuesBuf,\n offset: 0,\n size: valuesBuf.length\n };\n\n cursor.offset = cursorEnd;\n }\n\n const decodeOptions = {\n typeLength: context.column.typeLength,\n bitWidth: context.column.typeLength\n };\n\n const values = decodeValues(\n context.column.primitiveType!,\n valueEncoding,\n valuesBufCursor,\n valueCountNonNull,\n decodeOptions\n );\n\n return {\n dlevels: dLevels,\n rlevels: rLevels,\n values,\n count: valueCount!,\n pageHeader: header\n };\n}\n\n/**\n * Do decoding of dictionary page which helps to iterate over all indexes and get dataPage values.\n * @param cursor\n * @param pageHeader\n * @param context\n */\nasync function decodeDictionaryPage(\n cursor: CursorBuffer,\n pageHeader: PageHeader,\n context: ParquetReaderContext\n): Promise<(string | ArrayBuffer)[]> {\n const cursorEnd = cursor.offset + pageHeader.compressed_page_size;\n\n let dictCursor: CursorBuffer = {\n offset: 0,\n buffer: cursor.buffer.slice(cursor.offset, cursorEnd),\n size: cursorEnd - cursor.offset\n };\n\n cursor.offset = cursorEnd;\n\n if (context.compression !== 'UNCOMPRESSED') {\n const valuesBuf = await decompress(\n context.compression,\n dictCursor.buffer.slice(dictCursor.offset, cursorEnd),\n pageHeader.uncompressed_page_size\n );\n\n dictCursor = {\n buffer: valuesBuf,\n offset: 0,\n size: valuesBuf.length\n };\n\n cursor.offset = cursorEnd;\n }\n\n const numValues = pageHeader?.dictionary_page_header?.num_values || 0;\n\n const decodedDictionaryValues = decodeValues(\n context.column.primitiveType!,\n context.column.encoding!,\n dictCursor,\n numValues,\n // TODO - this looks wrong?\n context as ParquetCodecOptions\n );\n\n // Makes it look a little easier\n let values: any[];\n if (context?.preserveBinary) {\n values = decodedDictionaryValues.map((d) => preserveBinary(d));\n } else {\n values = decodedDictionaryValues.map((d) => d.toString());\n }\n return values;\n}\n\nfunction preserveBinary(d: any): ArrayBuffer | ArrayBufferView | string {\n if (ArrayBuffer.isView(d)) {\n return d;\n }\n // Convert to ArrayBuffer\n if (Buffer.isBuffer(d)) {\n return new Uint8Array(d.buffer, d.byteOffset, d.byteLength).slice().buffer;\n }\n return d.toString();\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n// Copyright (c) 2017 ironSource Ltd.\n// Forked from https://github.com/kbajalc/parquets under MIT license\n\nimport type {ReadableFile} from '@loaders.gl/loader-utils';\n\nimport {ParquetSchema} from '../schema/schema';\nimport {decodeSchema, decodeDataPages, decodePage} from './decoders';\nimport {materializeRows} from '../schema/shred';\n\nimport {PARQUET_MAGIC, PARQUET_MAGIC_ENCRYPTED} from '../../lib/constants';\nimport {ColumnChunk, CompressionCodec, FileMetaData, RowGroup, Type} from '../parquet-thrift/index';\nimport {\n ParquetRowGroup,\n ParquetCompression,\n ParquetColumnChunk,\n PrimitiveType,\n ParquetReaderContext\n} from '../schema/declare';\nimport {decodeFileMetadata, getThriftEnum, fieldIndexOf} from '../utils/read-utils';\n\nexport type ParquetReaderProps = {\n defaultDictionarySize?: number;\n preserveBinary?: boolean;\n};\n\n/** Properties for initializing a ParquetRowGroupReader */\nexport type ParquetIterationProps = {\n /** Filter allowing some columns to be dropped */\n columnList?: string[] | string[][];\n};\n\n/**\n * The parquet envelope reader allows direct, unbuffered access to the individual\n * sections of the parquet file, namely the header, footer and the row groups.\n * This class is intended for advanced/internal users; if you just want to retrieve\n * rows from a parquet file use the ParquetReader instead\n */\nexport class ParquetReader {\n static defaultProps: Required<ParquetReaderProps> = {\n // max ArrayBuffer size in js is 2Gb\n defaultDictionarySize: 2147483648,\n preserveBinary: false\n };\n\n props: Required<ParquetReaderProps>;\n file: ReadableFile;\n metadata: Promise<FileMetaData> | null = null;\n\n constructor(file: ReadableFile, props?: ParquetReaderProps) {\n this.file = file;\n this.props = {...ParquetReader.defaultProps, ...props};\n }\n\n close(): void {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n this.file.close();\n }\n\n // HIGH LEVEL METHODS\n\n /** Yield one row at a time */\n async *rowIterator(props?: ParquetIterationProps) {\n for await (const rows of this.rowBatchIterator(props)) {\n // yield *rows\n for (const row of rows) {\n yield row;\n }\n }\n }\n\n /** Yield one batch of rows at a time */\n async *rowBatchIterator(props?: ParquetIterationProps) {\n const schema = await this.getSchema();\n for await (const rowGroup of this.rowGroupIterator(props)) {\n yield materializeRows(schema, rowGroup);\n }\n }\n\n /** Iterate over the raw row groups */\n async *rowGroupIterator(props?: ParquetIterationProps) {\n // Ensure strings are nested in arrays\n const columnList: string[][] = (props?.columnList || []).map((x) =>\n Array.isArray(x) ? x : [x]\n );\n\n const metadata = await this.getFileMetadata();\n const schema = await this.getSchema();\n\n const rowGroupCount = metadata?.row_groups.length || 0;\n\n for (let rowGroupIndex = 0; rowGroupIndex < rowGroupCount; rowGroupIndex++) {\n const rowGroup = await this.readRowGroup(\n schema,\n metadata.row_groups[rowGroupIndex],\n columnList\n );\n yield rowGroup;\n }\n }\n\n async getRowCount(): Promise<number> {\n const metadata = await this.getFileMetadata();\n return Number(metadata.num_rows);\n }\n\n async getSchema(): Promise<ParquetSchema> {\n const metadata = await this.getFileMetadata();\n const root = metadata.schema[0];\n const {schema: schemaDefinition} = decodeSchema(metadata.schema, 1, root.num_children!);\n const schema = new ParquetSchema(schemaDefinition);\n return schema;\n }\n\n /**\n * Returns the user (key/value) metadata for this file\n * In parquet this is not stored on the schema like it is in arrow\n */\n async getSchemaMetadata(): Promise<Record<string, string>> {\n const metadata = await this.getFileMetadata();\n const md: Record<string, string> = {};\n for (const kv of metadata.key_value_metadata!) {\n md[kv.key] = kv.value!;\n }\n return md;\n }\n\n async getFileMetadata(): Promise<FileMetaData> {\n if (!this.metadata) {\n await this.readHeader();\n this.metadata = this.readFooter();\n }\n return this.metadata;\n }\n\n // LOW LEVEL METHODS\n\n /** Metadata is stored in the footer */\n async readHeader(): Promise<void> {\n const arrayBuffer = await this.file.read(0, PARQUET_MAGIC.length);\n const buffer = Buffer.from(arrayBuffer);\n const magic = buffer.toString();\n switch (magic) {\n case PARQUET_MAGIC:\n break;\n case PARQUET_MAGIC_ENCRYPTED:\n throw new Error('Encrypted parquet file not supported');\n default:\n throw new Error(`Invalid parquet file (magic=${magic})`);\n }\n }\n\n /** Metadata is stored in the footer */\n async readFooter(): Promise<FileMetaData> {\n const trailerLen = PARQUET_MAGIC.length + 4;\n const arrayBuffer = await this.file.read(this.file.size - trailerLen, trailerLen);\n const trailerBuf = Buffer.from(arrayBuffer);\n\n const magic = trailerBuf.slice(4).toString();\n if (magic !== PARQUET_MAGIC) {\n throw new Error(`Not a valid parquet file (magic=\"${magic})`);\n }\n\n const metadataSize = trailerBuf.readUInt32LE(0);\n const metadataOffset = this.file.size - metadataSize - trailerLen;\n if (metadataOffset < PARQUET_MAGIC.length) {\n throw new Error(`Invalid metadata size ${metadataOffset}`);\n }\n\n const arrayBuffer2 = await this.file.read(metadataOffset, metadataSize);\n const metadataBuf = Buffer.from(arrayBuffer2);\n // let metadata = new parquet_thrift.FileMetaData();\n // parquet_util.decodeThrift(metadata, metadataBuf);\n\n const {metadata} = decodeFileMetadata(metadataBuf);\n return metadata;\n }\n\n /** Data is stored in row groups (similar to Apache Arrow record batches) */\n async readRowGroup(\n schema: ParquetSchema,\n rowGroup: RowGroup,\n columnList: string[][]\n ): Promise<ParquetRowGroup> {\n const buffer: ParquetRowGroup = {\n rowCount: Number(rowGroup.num_rows),\n columnData: {}\n };\n for (const colChunk of rowGroup.columns) {\n const colMetadata = colChunk.meta_data;\n const colKey = colMetadata?.path_in_schema;\n if (columnList.length > 0 && fieldIndexOf(columnList, colKey!) < 0) {\n continue; // eslint-disable-line no-continue\n }\n buffer.columnData[colKey!.join()] = await this.readColumnChunk(schema, colChunk);\n }\n return buffer;\n }\n\n /**\n * Each row group contains column chunks for all the columns.\n */\n async readColumnChunk(schema: ParquetSchema, colChunk: ColumnChunk): Promise<ParquetColumnChunk> {\n if (colChunk.file_path !== undefined && colChunk.file_path !== null) {\n throw new Error('external references are not supported');\n }\n\n const field = schema.findField(colChunk.meta_data?.path_in_schema!);\n const type: PrimitiveType = getThriftEnum(Type, colChunk.meta_data?.type!) as any;\n\n if (type !== field.primitiveType) {\n throw new Error(`chunk type not matching schema: ${type}`);\n }\n\n const compression: ParquetCompression = getThriftEnum(\n CompressionCodec,\n colChunk.meta_data?.codec!\n ) as any;\n\n const pagesOffset = Number(colChunk.meta_data?.data_page_offset!);\n let pagesSize = Number(colChunk.meta_data?.total_compressed_size!);\n\n if (!colChunk.file_path) {\n pagesSize = Math.min(\n this.file.size - pagesOffset,\n Number(colChunk.meta_data?.total_compressed_size)\n );\n }\n\n const context: ParquetReaderContext = {\n type,\n rLevelMax: field.rLevelMax,\n dLevelMax: field.dLevelMax,\n compression,\n column: field,\n numValues: colChunk.meta_data?.num_values,\n dictionary: [],\n // Options - TBD is this the right place for these?\n preserveBinary: this.props.preserveBinary\n };\n\n let dictionary;\n\n const dictionaryPageOffset = colChunk?.meta_data?.dictionary_page_offset;\n\n if (dictionaryPageOffset) {\n const dictionaryOffset = Number(dictionaryPageOffset);\n // Getting dictionary from column chunk to iterate all over indexes to get dataPage values.\n dictionary = await this.getDictionary(dictionaryOffset, context, pagesOffset);\n }\n\n dictionary = context.dictionary?.length ? context.dictionary : dictionary;\n const arrayBuffer = await this.file.read(pagesOffset, pagesSize);\n const pagesBuf = Buffer.from(arrayBuffer);\n return await decodeDataPages(pagesBuf, {...context, dictionary});\n }\n\n /**\n * Getting dictionary for allows to flatten values by indices.\n * @param dictionaryPageOffset\n * @param context\n * @param pagesOffset\n * @returns\n */\n async getDictionary(\n dictionaryPageOffset: number,\n context: ParquetReaderContext,\n pagesOffset: number\n ): Promise<string[]> {\n if (dictionaryPageOffset === 0) {\n // dictionarySize = Math.min(this.fileSize - pagesOffset, this.defaultDictionarySize);\n // pagesBuf = await this.read(pagesOffset, dictionarySize);\n\n // In this case we are working with parquet-mr files format. Problem is described below:\n // https://stackoverflow.com/questions/55225108/why-is-dictionary-page-offset-0-for-plain-dictionary-encoding\n // We need to get dictionary page from column chunk if it exists.\n // Now if we use code commented above we don't get DICTIONARY_PAGE we get DATA_PAGE instead.\n return [];\n }\n\n const dictionarySize = Math.min(\n this.file.size - dictionaryPageOffset,\n this.props.defaultDictionarySize\n );\n const arrayBuffer = await this.file.read(dictionaryPageOffset, dictionarySize);\n const pagesBuf = Buffer.from(arrayBuffer);\n\n const cursor = {buffer: pagesBuf, offset: 0, size: pagesBuf.length};\n const decodedPage = await decodePage(cursor, context);\n\n return decodedPage.dictionary!;\n }\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\n// loaders.gl\nimport {Schema} from '@loaders.gl/schema';\nimport {unpackGeoMetadata, unpackJSONStringMetadata} from '@loaders.gl/geoarrow';\nimport {ParquetReader} from '../../parquetjs/parser/parquet-reader';\nimport {convertParquetSchema} from '../arrow/convert-schema-from-parquet';\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.metadata);\n unpackJSONStringMetadata(schema.metadata, 'pandas');\n return schema;\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport {Schema, Field, DataType} from '@loaders.gl/schema';\n\nimport type {ParquetSchema} from '../../parquetjs/schema/schema';\nimport type {FieldDefinition, ParquetField, ParquetType} from '../../parquetjs/schema/declare';\nimport {FileMetaData} from '../../parquetjs/parquet-thrift';\n\nexport const PARQUET_TYPE_MAPPING: {[type in ParquetType]: DataType} = {\n BOOLEAN: 'bool',\n INT32: 'int32',\n INT64: 'float64',\n INT96: 'float64',\n FLOAT: 'float32',\n DOUBLE: 'float64',\n BYTE_ARRAY: 'binary',\n FIXED_LEN_BYTE_ARRAY: 'binary',\n UTF8: 'utf8',\n DATE: 'int32',\n TIME_MILLIS: 'int64',\n TIME_MICROS: 'int64',\n TIMESTAMP_MILLIS: 'int64',\n TIMESTAMP_MICROS: 'int64',\n UINT_8: 'int32',\n UINT_16: 'uint16',\n UINT_32: 'uint32',\n UINT_64: 'uint64',\n INT_8: 'int8',\n INT_16: 'int16',\n INT_32: 'int32',\n INT_64: 'int64',\n JSON: 'binary',\n BSON: 'binary',\n // TODO check interal type\n INTERVAL: 'binary',\n DECIMAL_INT32: 'float32',\n DECIMAL_INT64: 'float64',\n DECIMAL_BYTE_ARRAY: 'float64',\n DECIMAL_FIXED_LEN_BYTE_ARRAY: 'float64'\n};\n\nexport function convertParquetSchema(\n parquetSchema: ParquetSchema,\n parquetMetadata: FileMetaData | null\n): Schema {\n const fields = getFields(parquetSchema.schema);\n const metadata = parquetMetadata && getSchemaMetadata(parquetMetadata);\n\n const schema: Schema = {\n fields,\n metadata: metadata || {}\n };\n\n return schema;\n}\n\nfunction getFields(schema: FieldDefinition): Field[] {\n const fields: Field[] = [];\n\n for (const name in schema) {\n const field = schema[name];\n\n if (field.fields) {\n const children = getFields(field.fields);\n fields.push({name, type: {type: 'struct', children}, nullable: field.optional});\n } else {\n const type = PARQUET_TYPE_MAPPING[field.type];\n const metadata = getFieldMetadata(field);\n const arrowField = {name, type, nullable: field.optional, metadata};\n fields.push(arrowField);\n }\n }\n\n return fields;\n}\n\nfunction getFieldMetadata(field: ParquetField): Record<string, string> | undefined {\n let metadata: Record<string, string> | undefined;\n\n for (const key in field) {\n if (key !== 'name') {\n let value = field[key] || '';\n value = typeof field[key] !== 'string' ? JSON.stringify(field[key]) : field[key];\n metadata = metadata || {};\n metadata[key] = value;\n }\n }\n\n return metadata;\n}\n\nfunction getSchemaMetadata(parquetMetadata: FileMetaData): Record<string, string> | undefined {\n let metadata: Record<string, string> | undefined;\n\n const keyValueList = parquetMetadata.key_value_metadata || [];\n for (const {key, value} of keyValueList) {\n if (typeof value === 'string') {\n metadata = metadata || {};\n metadata[key] = value;\n }\n }\n\n return metadata;\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport type {ReadableFile} from '@loaders.gl/loader-utils';\nimport type {\n GeoJSONTable,\n GeoJSONTableBatch,\n ObjectRowTable,\n ObjectRowTableBatch\n} from '@loaders.gl/schema';\nimport {convertWKBTableToGeoJSON} from '@loaders.gl/gis';\n\nimport type {ParquetJSONLoaderOptions} from '../../parquet-json-loader';\n\nimport {parseParquetFile, parseParquetFileInBatches} from './parse-parquet-to-json';\n\nexport async function parseGeoParquetFile(\n file: ReadableFile,\n options?: ParquetJSONLoaderOptions\n): Promise<ObjectRowTable | GeoJSONTable> {\n const table = await parseParquetFile(file, {...options, shape: 'object-row-table'});\n return convertWKBTableToGeoJSON(table, table.schema!);\n}\n\nexport async function* parseGeoParquetFileInBatches(\n file: ReadableFile,\n options?: ParquetJSONLoaderOptions\n): AsyncIterable<ObjectRowTableBatch | GeoJSONTableBatch> {\n const tableBatches = parseParquetFileInBatches(file, {...options, shape: 'object-row-table'});\n\n for await (const batch of tableBatches) {\n const geojson = convertWKBTableToGeoJSON(batch as ObjectRowTable, batch.schema!);\n yield {...batch, ...geojson};\n }\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport type {WriterWithEncoder} from '@loaders.gl/loader-utils';\nimport {Table, TableBatch} from '@loaders.gl/schema';\nimport {ParquetFormat} from './parquet-format';\n\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';\n\nexport type ParquetJSONWriterOptions = {};\n\nexport const ParquetJSONWriter = {\n ...ParquetFormat,\n id: 'parquet',\n module: 'parquet',\n version: VERSION,\n options: {},\n encode: async (data, options) => encodeSync(data, options),\n encodeSync\n} as const satisfies WriterWithEncoder<Table, TableBatch, ParquetJSONWriterOptions>;\n\nfunction encodeSync(data, options?: ParquetJSONWriterOptions) {\n return new ArrayBuffer(0);\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport type {ArrowTable, ArrowTableBatch} from '@loaders.gl/schema';\nimport type {Loader, LoaderWithParser, LoaderOptions} from '@loaders.gl/loader-utils';\nimport {ReadableFile, BlobFile} from '@loaders.gl/loader-utils';\n\nimport {\n parseParquetFileToArrow,\n parseParquetFileToArrowInBatches\n} from './lib/parsers/parse-parquet-to-arrow';\nimport {VERSION, PARQUET_WASM_URL} from './lib/constants';\n\n/** Parquet WASM loader options */\nexport type ParquetArrowLoaderOptions = LoaderOptions & {\n parquet?: {\n limit?: number; // Provide a limit to the number of rows to be read.\n offset?: number; // Provide an offset to skip over the given number of rows.\n batchSize?: number; // The number of rows in each batch. If not provided, the upstream parquet default is 1024.\n columns?: string[]; // The column names from the file to read.\n rowGroups?: number[]; // Only read data from the provided row group indexes.\n concurrency?: number; // The number of concurrent requests to make\n wasmUrl?: string;\n };\n};\n\n/** Parquet WASM table loader */\nexport const ParquetArrowWorkerLoader = {\n dataType: null as unknown as ArrowTable,\n batchType: null as unknown as ArrowTableBatch,\n\n name: 'Apache Parquet',\n id: 'parquet-wasm',\n module: 'parquet',\n version: VERSION,\n worker: false,\n category: 'table',\n extensions: ['parquet'],\n mimeTypes: ['application/octet-stream'],\n binary: true,\n tests: ['PAR1', 'PARE'],\n options: {\n parquet: {\n limit: undefined, // Provide a limit to the number of rows to be read.\n offset: 0, // Provide an offset to skip over the given number of rows.\n batchSize: undefined, // The number of rows in each batch. If not provided, the upstream parquet default is 1024.\n columns: undefined, // The column names from the file to read.\n rowGroups: undefined, // Only read data from the provided row group indexes.\n concurrency: undefined, // The number of concurrent requests to make\n wasmUrl: PARQUET_WASM_URL\n }\n }\n} as const satisfies Loader<ArrowTable, ArrowTableBatch, ParquetArrowLoaderOptions>;\n\n/** Parquet WASM table loader */\nexport const ParquetArrowLoader = {\n ...ParquetArrowWorkerLoader,\n\n parse(arrayBuffer: ArrayBuffer, options?: ParquetArrowLoaderOptions) {\n const wasmOptions = {...ParquetArrowLoader.options.parquet, ...options?.parquet};\n return parseParquetFileToArrow(new BlobFile(arrayBuffer), wasmOptions);\n },\n\n parseFile(file: ReadableFile, options?: ParquetArrowLoaderOptions) {\n const wasmOptions = {...ParquetArrowLoader.options.parquet, ...options?.parquet};\n return parseParquetFileToArrow(file, wasmOptions);\n },\n\n parseFileInBatches(file: ReadableFile, options?: ParquetArrowLoaderOptions) {\n const wasmOptions = {...ParquetArrowLoader.options.parquet, ...options?.parquet};\n return parseParquetFileToArrowInBatches(file, wasmOptions);\n }\n} as const satisfies LoaderWithParser<ArrowTable, ArrowTableBatch, ParquetArrowLoaderOptions>;\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\n// eslint-disable\nimport type {ReadableFile} from '@loaders.gl/loader-utils';\nimport type {ArrowTable, ArrowTableBatch, Schema} from '@loaders.gl/schema';\nimport {convertArrowToSchema} from '@loaders.gl/schema-utils';\n\nimport type * as parquetWasm from 'parquet-wasm';\nimport * as arrow from 'apache-arrow';\n\nimport {loadWasm} from '../utils/load-wasm';\nimport {makeStreamIterator} from '../utils/make-stream-iterator';\n\nexport async function parseParquetFileToArrow(\n file: ReadableFile,\n options?: parquetWasm.ReaderOptions & {wasmUrl: string}\n): Promise<ArrowTable> {\n const wasmUrl = options?.wasmUrl;\n\n const wasm = await loadWasm(wasmUrl);\n\n let parquetFile: parquetWasm.ParquetFile;\n if (file.handle instanceof Blob) {\n // TODO - let's assume fromFile() works on Blobs and not just on File...\n parquetFile = await wasm.ParquetFile.fromFile(file.handle as File);\n } else {\n parquetFile = await wasm.ParquetFile.fromUrl(file.url);\n }\n\n const wasmTable = await parquetFile.read(options);\n const ipcStream = wasmTable.intoIPCStream();\n const arrowTable = arrow.tableFromIPC(ipcStream);\n\n return {\n shape: 'arrow-table',\n schema: convertArrowToSchema(arrowTable.schema),\n data: arrowTable\n };\n}\n\nexport async function* parseParquetFileToArrowInBatches(\n file: ReadableFile,\n options: parquetWasm.ReaderOptions & {wasmUrl: string}\n): AsyncIterable<ArrowTableBatch> {\n const wasmUrl = options?.wasmUrl;\n\n const wasm = await loadWasm(wasmUrl);\n\n let parquetFile: parquetWasm.ParquetFile;\n if (file.handle instanceof Blob) {\n // Works on Blobs: https://kylebarron.dev/parquet-wasm/classes/esm_parquet_wasm.ParquetFile.html#fromFile\n parquetFile = await wasm.ParquetFile.fromFile(file.handle as File);\n } else {\n parquetFile = await wasm.ParquetFile.fromUrl(file.url);\n }\n\n const stream: ReadableStream<arrow.RecordBatch> = await parquetFile.stream(options);\n\n let schema: Schema;\n for await (const recordBatch of makeStreamIterator(stream)) {\n schema ||= convertArrowToSchema(recordBatch.schema);\n yield {\n batchType: 'data',\n shape: 'arrow-table',\n schema,\n data: new arrow.Table(recordBatch),\n length: recordBatch.numRows\n };\n }\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\n// eslint-disable-next-line import/default\nimport initWasm from 'parquet-wasm';\nimport * as parquetWasm from 'parquet-wasm';\nimport {PARQUET_WASM_URL} from '../constants';\n\nlet initializePromise: any;\n\nexport async function loadWasm(wasmUrl: string = PARQUET_WASM_URL) {\n if (!initializePromise && typeof initWasm === 'function') {\n if (!wasmUrl) {\n throw new Error('ParquetLoader: No wasmUrl provided');\n }\n // @ts-ignore\n initializePromise = initWasm(wasmUrl);\n }\n await initializePromise;\n return parquetWasm;\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport type {Readable} from 'stream';\nimport {isBrowser} from '@loaders.gl/loader-utils';\n\nexport type StreamIteratorOptions = {\n _streamReadAhead?: boolean;\n};\n\n/**\n * Returns an async iterable that reads from a stream (works in both Node.js and browsers)\n * @param stream stream to iterator over\n */\nexport function makeStreamIterator<T>(\n stream: ReadableStream<T> | Readable,\n options?: StreamIteratorOptions\n): AsyncIterable<T> {\n return isBrowser\n ? makeBrowserStreamIterator(stream as ReadableStream<T>, options)\n : makeNodeStreamIterator(stream as Readable, options);\n}\n\n/**\n * Returns an async iterable that reads from a DOM (browser) stream\n * @param stream stream to iterate from\n * @see https://jakearchibald.com/2017/async-iterators-and-generators/#making-streams-iterate\n */\nasync function* makeBrowserStreamIterator<T>(\n stream: ReadableStream<T>,\n options?: StreamIteratorOptions\n): AsyncIterable<T> {\n // WhatWG: stream is supposed to have a `getIterator` method\n // if (typeof stream.getIterator === 'function') {\n // return stream.getIterator();\n // }\n // if (typeof stream[Symbol.asyncIterator] === 'function') {\n // return makeToArrayBufferIterator(stream);\n // }\n\n // In the browser, we first need to get a lock on the stream\n const reader = stream.getReader();\n\n let nextBatchPromise: Promise<{done?: boolean; value?: T}> | undefined;\n\n try {\n // eslint-disable-next-line no-constant-condition\n while (true) {\n const currentBatchPromise = nextBatchPromise || reader.read();\n // Issue a read for an additional batch, while we await the next batch\n // Idea is to make fetching happen in parallel with processing / parsing\n if (options?._streamReadAhead) {\n nextBatchPromise = reader.read();\n }\n // Read from the stream\n // value is a Uint8Array\n const {done, value} = await currentBatchPromise;\n // Exit if we're done\n if (done) {\n return;\n }\n // Else yield the chunk\n if (value) {\n yield value;\n }\n }\n } catch (error) {\n // TODO - examples makes it look like this should always be called,\n // but that generates exceptions so only call it if we do not reach the end\n reader.releaseLock();\n }\n}\n\n/**\n * Returns an async iterable that reads from a DOM (browser) stream\n * @param stream stream to iterate from\n * @note Requires Node.js >= 10\n */\nasync function* makeNodeStreamIterator<T>(\n stream: Readable,\n options?: StreamIteratorOptions\n): AsyncIterable<T> {\n // Hacky test for node version to ensure we don't call bad polyfills\n // NODE 10+: stream is an asyncIterator\n yield* stream;\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport type {ArrowTable} from '@loaders.gl/schema';\n\nimport * as arrow from 'apache-arrow';\nimport {loadWasm} from '../utils/load-wasm';\n\nimport type {ParquetArrowWriterOptions} from '../../parquet-arrow-writer';\n\n/**\n * Encode Arrow arrow.Table to Parquet buffer\n */\nexport async function encodeArrowToParquet(\n table: ArrowTable,\n options: ParquetArrowWriterOptions\n): Promise<ArrayBuffer> {\n const wasmUrl = options.parquet?.wasmUrl!;\n const wasm = await loadWasm(wasmUrl);\n\n // Serialize the table to the IPC format.\n const arrowTable: arrow.Table = table.data;\n const ipcStream = arrow.tableToIPC(arrowTable);\n\n // Pass the IPC stream to the Parquet writer.\n const wasmTable = wasm.Table.fromIPCStream(ipcStream);\n const wasmProperties = new wasm.WriterPropertiesBuilder().build();\n try {\n const parquetBytes = wasm.writeParquet(wasmTable, wasmProperties);\n // const parquetBytes = wasm.writeParquet(wasmTable, wasmProperties);\n const bytes = new Uint8Array(\n parquetBytes.buffer,\n parquetBytes.byteOffset,\n parquetBytes.byteLength\n );\n return bytes.slice().buffer;\n } finally {\n // wasmTable.free();\n // wasmProperties.free();\n }\n}\n\n// type WriteOptions = {\n// compression?: number;\n// dictionaryEnabled?: boolean;\n// encoding?: number;\n// maxRowGroupSize?: number;\n// maxStatisticsSize?: number;\n// statisticsEnabled?: boolean;\n// writeBatchSize?: number;\n// dataPageSizeLimit?: number;\n// dictionaryPageSizeLimit?: number;\n// };\n\n// columnCompression: Record<string, number>;\n// columnDictionaryEnabled: Record<string, boolean>;\n// columnEncoding: Record<string, number>;\n// columnMaxStatisticsSize\n// compression:Record<string, number>;\n// setCreatedBy\n// setDataPageSizeLimit\n// setDictionaryEnabled\n// setDictionaryPageSizeLimit\n// setEncoding\n// setMaxRowGroupSize\n// setMaxStatisticsSize\n// setStatisticsEnabled\n// setWriteBatchSize\n// setWriterVersion\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport type {WriterWithEncoder, WriterOptions} from '@loaders.gl/loader-utils';\nimport type {ArrowTable} from '@loaders.gl/schema';\nimport {encodeArrowToParquet} from './lib/encoders/encode-arrow-to-parquet';\nimport {ParquetFormat} from './parquet-format';\n\nimport {VERSION, PARQUET_WASM_URL} from './lib/constants';\n\nexport type ParquetArrowWriterOptions = WriterOptions & {\n parquet?: {\n wasmUrl?: string;\n };\n};\n\n/** Parquet WASM writer */\nexport const ParquetArrowWriter = {\n ...ParquetFormat,\n id: 'parquet-wasm',\n module: 'parquet',\n version: VERSION,\n options: {\n parquet: {\n wasmUrl: PARQUET_WASM_URL\n }\n },\n encode(arrowTable: ArrowTable, options?: ParquetArrowWriterOptions) {\n options = {parquet: {...ParquetArrowWriter.options.parquet, ...options?.parquet}, ...options};\n return encodeArrowToParquet(arrowTable, options);\n }\n} as const satisfies WriterWithEncoder<ArrowTable, never, ParquetArrowWriterOptions>;\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n// Copyright (c) 2017 ironSource Ltd.\n// Forked from https://github.com/kbajalc/parquets under MIT license\n\nimport {stream} from '@loaders.gl/loader-utils';\nimport * as fs from 'fs';\n\nexport function load(name: string): any {\n return (module || (global as any)).require(name);\n}\nexport interface WriteStreamOptions {\n flags?: string;\n encoding?: string;\n fd?: number;\n mode?: number;\n autoClose?: boolean;\n start?: number;\n}\n\nexport function oswrite(os: stream.Writable, buf: Buffer): Promise<void> {\n return new Promise((resolve, reject) => {\n os.write(buf, (err) => {\n if (err) {\n reject(err);\n } else {\n resolve();\n }\n });\n });\n}\n\nexport function osclose(os: stream.Writable): Promise<void> {\n return new Promise((resolve, reject) => {\n (os as any).close((err: any) => {\n if (err) {\n reject(err);\n } else {\n resolve();\n }\n });\n });\n}\n\nexport function osopen(path: string, opts?: WriteStreamOptions): Promise<fs.WriteStream> {\n return new Promise((resolve, reject) => {\n const outputStream = fs.createWriteStream(path, opts as any);\n outputStream.once('open', (fd) => resolve(outputStream));\n outputStream.once('error', (err) => reject(err));\n });\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n// Copyright (c) 2017 ironSource Ltd.\n// Forked from https://github.com/kbajalc/parquets under MIT license\n\n/* eslint-disable camelcase */\nimport {stream} from '@loaders.gl/loader-utils';\nimport {ParquetCodecOptions, PARQUET_CODECS} from '../codecs/index';\nimport * as Compression from '../compression';\nimport {\n ParquetRowGroup,\n ParquetCodec,\n ParquetColumnChunk,\n ParquetField,\n PrimitiveType,\n ParquetRow\n} from '../schema/declare';\nimport {ParquetSchema} from '../schema/schema';\nimport * as Shred from '../schema/shred';\nimport {\n ColumnChunk,\n ColumnMetaData,\n CompressionCodec,\n ConvertedType,\n DataPageHeader,\n DataPageHeaderV2,\n Encoding,\n FieldRepetitionType,\n FileMetaData,\n KeyValue,\n PageHeader,\n PageType,\n RowGroup,\n SchemaElement,\n Type\n} from '../parquet-thrift/index';\nimport {osopen, oswrite, osclose} from '../utils/file-utils';\nimport {getBitWidth, serializeThrift} from '../utils/read-utils';\nimport Int64 from 'node-int64';\n\n/**\n * Parquet File Magic String\n */\nconst PARQUET_MAGIC = 'PAR1';\n\n/**\n * Parquet File Format Version\n */\nconst PARQUET_VERSION = 1;\n\n/**\n * Default Page and Row Group sizes\n */\nconst PARQUET_DEFAULT_PAGE_SIZE = 8192;\nconst PARQUET_DEFAULT_ROW_GROUP_SIZE = 4096;\n\n/**\n * Repetition and Definition Level Encoding\n */\nconst PARQUET_RDLVL_TYPE = 'INT32';\nconst PARQUET_RDLVL_ENCODING = 'RLE';\n\nexport interface ParquetEncoderOptions {\n baseOffset?: number;\n rowGroupSize?: number;\n pageSize?: number;\n useDataPageV2?: boolean;\n\n // Write Stream Options\n flags?: string;\n encoding?: string;\n fd?: number;\n mode?: number;\n autoClose?: boolean;\n start?: number;\n}\n\n/**\n * Write a parquet file to an output stream. The ParquetEncoder will perform\n * buffering/batching for performance, so close() must be called after all rows\n * are written.\n */\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport class ParquetEncoder<T> {\n /**\n * Convenience method to create a new buffered parquet writer that writes to\n * the specified file\n */\n static async openFile<T>(\n schema: ParquetSchema,\n path: string,\n opts?: ParquetEncoderOptions\n ): Promise<ParquetEncoder<T>> {\n const outputStream = await osopen(path, opts);\n return ParquetEncoder.openStream(schema, outputStream, opts);\n }\n\n /**\n * Convenience method to create a new buffered parquet writer that writes to\n * the specified stream\n */\n static async openStream<T>(\n schema: ParquetSchema,\n outputStream: stream.Writable,\n opts: ParquetEncoderOptions = {}\n ): Promise<ParquetEncoder<T>> {\n const envelopeWriter = await ParquetEnvelopeWriter.openStream(schema, outputStream, opts);\n return new ParquetEncoder(schema, envelopeWriter, opts);\n }\n\n public schema: ParquetSchema;\n public envelopeWriter: ParquetEnvelopeWriter;\n public rowBuffer: ParquetRowGroup;\n public rowGroupSize: number;\n public closed: boolean;\n public userMetadata: Record<string, string>;\n\n /**\n * Create a new buffered parquet writer for a given envelope writer\n */\n constructor(\n schema: ParquetSchema,\n envelopeWriter: ParquetEnvelopeWriter,\n opts: ParquetEncoderOptions\n ) {\n this.schema = schema;\n this.envelopeWriter = envelopeWriter;\n // @ts-ignore Row buffer typings...\n this.rowBuffer = {};\n this.rowGroupSize = opts.rowGroupSize || PARQUET_DEFAULT_ROW_GROUP_SIZE;\n this.closed = false;\n this.userMetadata = {};\n\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n this.writeHeader();\n }\n\n async writeHeader(): Promise<void> {\n // TODO - better not mess with promises in the constructor\n try {\n await this.envelopeWriter.writeHeader();\n } catch (err) {\n await this.envelopeWriter.close();\n throw err;\n }\n }\n\n /**\n * Append a single row to the parquet file. Rows are buffered in memory until\n * rowGroupSize rows are in the buffer or close() is called\n */\n async appendRow<T extends ParquetRow>(row: T): Promise<void> {\n if (this.closed) {\n throw new Error('writer was closed');\n }\n Shred.shredRecord(this.schema, row, this.rowBuffer);\n if (this.rowBuffer.rowCount >= this.rowGroupSize) {\n // @ts-ignore\n this.rowBuffer = {};\n }\n }\n\n /**\n * Finish writing the parquet file and commit the footer to disk. This method\n * MUST be called after you are finished adding rows. You must not call this\n * method twice on the same object or add any rows after the close() method has\n * been called\n */\n async close(callback?: () => void): Promise<void> {\n if (this.closed) {\n throw new Error('writer was closed');\n }\n\n this.closed = true;\n\n if (this.rowBuffer.rowCount > 0 || this.rowBuffer.rowCount >= this.rowGroupSize) {\n // @ts-ignore\n this.rowBuffer = {};\n }\n\n await this.envelopeWriter.writeFooter(this.userMetadata);\n await this.envelopeWriter.close();\n // this.envelopeWriter = null;\n\n if (callback) {\n callback();\n }\n }\n\n /**\n * Add key<>value metadata to the file\n */\n setMetadata(key: string, value: string): void {\n // TODO: value to be any, obj -> JSON\n this.userMetadata[String(key)] = String(value);\n }\n\n /**\n * Set the parquet row group size. This values controls the maximum number\n * of rows that are buffered in memory at any given time as well as the number\n * of rows that are co-located on disk. A higher value is generally better for\n * read-time I/O performance at the tradeoff of write-time memory usage.\n */\n setRowGroupSize(cnt: number): void {\n this.rowGroupSize = cnt;\n }\n\n /**\n * Set the parquet data page size. The data page size controls the maximum\n * number of column values that are written to disk as a consecutive array\n */\n setPageSize(cnt: number): void {\n this.envelopeWriter.setPageSize(cnt);\n }\n}\n\n/**\n * Create a parquet file from a schema and a number of row groups. This class\n * performs direct, unbuffered writes to the underlying output stream and is\n * intendend for advanced and internal users; the writeXXX methods must be\n * called in the correct order to produce a valid file.\n */\nexport class ParquetEnvelopeWriter {\n /**\n * Create a new parquet envelope writer that writes to the specified stream\n */\n static async openStream(\n schema: ParquetSchema,\n outputStream: stream.Writable,\n opts: ParquetEncoderOptions\n ): Promise<ParquetEnvelopeWriter> {\n const writeFn = oswrite.bind(undefined, outputStream);\n const closeFn = osclose.bind(undefined, outputStream);\n return new ParquetEnvelopeWriter(schema, writeFn, closeFn, 0, opts);\n }\n\n public schema: ParquetSchema;\n public write: (buf: Buffer) => Promise<void>;\n public close: () => Promise<void>;\n public offset: number;\n public rowCount: number;\n public rowGroups: RowGroup[];\n public pageSize: number;\n public useDataPageV2: boolean;\n\n constructor(\n schema: ParquetSchema,\n writeFn: (buf: Buffer) => Promise<void>,\n closeFn: () => Promise<void>,\n fileOffset: number,\n opts: ParquetEncoderOptions\n ) {\n this.schema = schema;\n this.write = writeFn;\n this.close = closeFn;\n this.offset = fileOffset;\n this.rowCount = 0;\n this.rowGroups = [];\n this.pageSize = opts.pageSize || PARQUET_DEFAULT_PAGE_SIZE;\n this.useDataPageV2 = 'useDataPageV2' in opts ? Boolean(opts.useDataPageV2) : false;\n }\n\n writeSection(buf: Buffer): Promise<void> {\n this.offset += buf.length;\n return this.write(buf);\n }\n\n /**\n * Encode the parquet file header\n */\n writeHeader(): Promise<void> {\n return this.writeSection(Buffer.from(PARQUET_MAGIC));\n }\n\n /**\n * Encode a parquet row group. The records object should be created using the\n * shredRecord method\n */\n async writeRowGroup(records: ParquetRowGroup): Promise<void> {\n const rgroup = await encodeRowGroup(this.schema, records, {\n baseOffset: this.offset,\n pageSize: this.pageSize,\n useDataPageV2: this.useDataPageV2\n });\n\n this.rowCount += records.rowCount;\n this.rowGroups.push(rgroup.metadata);\n return await this.writeSection(rgroup.body);\n }\n\n /**\n * Write the parquet file footer\n */\n writeFooter(userMetadata: Record<string, string>): Promise<void> {\n if (!userMetadata) {\n // tslint:disable-next-line:no-parameter-reassignment\n userMetadata = {};\n }\n\n return this.writeSection(\n encodeFooter(this.schema, this.rowCount, this.rowGroups, userMetadata)\n );\n }\n\n /**\n * Set the parquet data page size. The data page size controls the maximum\n * number of column values that are written to disk as a consecutive array\n */\n setPageSize(cnt: number): void {\n this.pageSize = cnt;\n }\n}\n\n/**\n * Create a parquet transform stream\nexport class ParquetTransformer<T> extends stream.Transform {\n public writer: ParquetEncoder<T>;\n\n constructor(schema: ParquetSchema, opts: ParquetEncoderOptions = {}) {\n super({objectMode: true});\n\n const writeProxy = (function (t: ParquetTransformer<any>) {\n return async function (b: any): Promise<void> {\n t.push(b);\n };\n })(this);\n\n this.writer = new ParquetEncoder(\n schema,\n new ParquetEnvelopeWriter(schema, writeProxy, async () => {}, 0, opts),\n opts\n );\n }\n\n // tslint:disable-next-line:function-name\n _transform(row: any, encoding: string, callback: (val?: any) => void): Promise<void> {\n if (row) {\n return this.writer.appendRow(row).then(callback);\n }\n callback();\n return Promise.resolve();\n }\n\n // tslint:disable-next-line:function-name\n async _flush(callback: (val?: any) => void) {\n await this.writer.close(callback);\n }\n}\n */\n\n/**\n * Encode a consecutive array of data using one of the parquet encodings\n */\nfunction encodeValues(\n type: PrimitiveType,\n encoding: ParquetCodec,\n values: any[],\n opts: ParquetCodecOptions\n) {\n if (!(encoding in PARQUET_CODECS)) {\n throw new Error(`invalid encoding: ${encoding}`);\n }\n return PARQUET_CODECS[encoding].encodeValues(type, values, opts);\n}\n\n/**\n * Encode a parquet data page\n */\nasync function encodeDataPage(\n column: ParquetField,\n data: ParquetColumnChunk\n): Promise<{\n header: PageHeader;\n headerSize: number;\n page: Buffer;\n}> {\n /* encode repetition and definition levels */\n let rLevelsBuf: Buffer = Buffer.alloc(0);\n if (column.rLevelMax > 0) {\n rLevelsBuf = encodeValues(PARQUET_RDLVL_TYPE, PARQUET_RDLVL_ENCODING, data.rlevels, {\n bitWidth: getBitWidth(column.rLevelMax)\n // disableEnvelope: false\n });\n }\n\n let dLevelsBuf: Buffer = Buffer.alloc(0);\n if (column.dLevelMax > 0) {\n dLevelsBuf = encodeValues(PARQUET_RDLVL_TYPE, PARQUET_RDLVL_ENCODING, data.dlevels, {\n bitWidth: getBitWidth(column.dLevelMax)\n // disableEnvelope: false\n });\n }\n\n /* encode values */\n const valuesBuf = encodeValues(column.primitiveType!, column.encoding!, data.values, {\n typeLength: column.typeLength,\n bitWidth: column.typeLength\n });\n\n const dataBuf = Buffer.concat([rLevelsBuf, dLevelsBuf, valuesBuf] as Uint8Array[]);\n\n // compression = column.compression === 'UNCOMPRESSED' ? (compression || 'UNCOMPRESSED') : column.compression;\n const compressedBuf = await Compression.deflate(column.compression!, dataBuf);\n\n /* build page header */\n const header = new PageHeader({\n type: PageType.DATA_PAGE,\n data_page_header: new DataPageHeader({\n num_values: data.count,\n encoding: Encoding[column.encoding!] as any,\n definition_level_encoding: Encoding[PARQUET_RDLVL_ENCODING], // [PARQUET_RDLVL_ENCODING],\n repetition_level_encoding: Encoding[PARQUET_RDLVL_ENCODING] // [PARQUET_RDLVL_ENCODING]\n }),\n uncompressed_page_size: dataBuf.length,\n compressed_page_size: compressedBuf.length\n });\n\n /* concat page header, repetition and definition levels and values */\n const headerBuf = serializeThrift(header);\n const page = Buffer.concat([headerBuf, compressedBuf] as Uint8Array[]);\n\n return {header, headerSize: headerBuf.length, page};\n}\n\n/**\n * Encode a parquet data page (v2)\n */\nasync function encodeDataPageV2(\n column: ParquetField,\n data: ParquetColumnChunk,\n rowCount: number\n): Promise<{\n header: PageHeader;\n headerSize: number;\n page: Buffer;\n}> {\n /* encode values */\n const valuesBuf = encodeValues(column.primitiveType!, column.encoding!, data.values, {\n typeLength: column.typeLength,\n bitWidth: column.typeLength\n });\n\n // compression = column.compression === 'UNCOMPRESSED' ? (compression || 'UNCOMPRESSED') : column.compression;\n const compressedBuf = await Compression.deflate(column.compression!, valuesBuf);\n\n /* encode repetition and definition levels */\n let rLevelsBuf: Buffer = Buffer.alloc(0);\n if (column.rLevelMax > 0) {\n rLevelsBuf = encodeValues(PARQUET_RDLVL_TYPE, PARQUET_RDLVL_ENCODING, data.rlevels, {\n bitWidth: getBitWidth(column.rLevelMax),\n disableEnvelope: true\n });\n }\n\n let dLevelsBuf: Buffer = Buffer.alloc(0);\n if (column.dLevelMax > 0) {\n dLevelsBuf = encodeValues(PARQUET_RDLVL_TYPE, PARQUET_RDLVL_ENCODING, data.dlevels, {\n bitWidth: getBitWidth(column.dLevelMax),\n disableEnvelope: true\n });\n }\n\n /* build page header */\n const header = new PageHeader({\n type: PageType.DATA_PAGE_V2,\n data_page_header_v2: new DataPageHeaderV2({\n num_values: data.count,\n num_nulls: data.count - data.values.length,\n num_rows: rowCount,\n encoding: Encoding[column.encoding!] as any,\n definition_levels_byte_length: dLevelsBuf.length,\n repetition_levels_byte_length: rLevelsBuf.length,\n is_compressed: column.compression !== 'UNCOMPRESSED'\n }),\n uncompressed_page_size: rLevelsBuf.length + dLevelsBuf.length + valuesBuf.length,\n compressed_page_size: rLevelsBuf.length + dLevelsBuf.length + compressedBuf.length\n });\n\n /* concat page header, repetition and definition levels and values */\n const headerBuf = serializeThrift(header);\n const page = Buffer.concat([headerBuf, rLevelsBuf, dLevelsBuf, compressedBuf] as Uint8Array[]);\n return {header, headerSize: headerBuf.length, page};\n}\n\n/**\n * Encode an array of values into a parquet column chunk\n */\nasync function encodeColumnChunk(\n column: ParquetField,\n buffer: ParquetRowGroup,\n offset: number,\n opts: ParquetEncoderOptions\n): Promise<{\n body: Buffer;\n metadata: ColumnMetaData;\n metadataOffset: number;\n}> {\n const data = buffer.columnData[column.path.join()];\n const baseOffset = (opts.baseOffset || 0) + offset;\n /* encode data page(s) */\n // const pages: Buffer[] = [];\n let pageBuf: Buffer;\n // tslint:disable-next-line:variable-name\n let total_uncompressed_size = 0;\n // tslint:disable-next-line:variable-name\n let total_compressed_size = 0;\n {\n const result = opts.useDataPageV2\n ? await encodeDataPageV2(column, data, buffer.rowCount)\n : await encodeDataPage(column, data);\n // pages.push(result.page);\n pageBuf = result.page;\n total_uncompressed_size += result.header.uncompressed_page_size + result.headerSize;\n total_compressed_size += result.header.compressed_page_size + result.headerSize;\n }\n\n // const pagesBuf = Buffer.concat(pages);\n // const compression = column.compression === 'UNCOMPRESSED' ? (opts.compression || 'UNCOMPRESSED') : column.compression;\n\n /* prepare metadata header */\n const metadata = new ColumnMetaData({\n path_in_schema: column.path,\n num_values: data.count,\n data_page_offset: baseOffset,\n encodings: [],\n total_uncompressed_size, // : pagesBuf.length,\n total_compressed_size,\n type: Type[column.primitiveType!],\n codec: CompressionCodec[column.compression!]\n });\n\n /* list encodings */\n metadata.encodings.push(Encoding[PARQUET_RDLVL_ENCODING]);\n metadata.encodings.push(Encoding[column.encoding!]);\n\n /* concat metadata header and data pages */\n const metadataOffset = baseOffset + pageBuf.length;\n const body = Buffer.concat([pageBuf, serializeThrift(metadata)] as Uint8Array[]);\n return {body, metadata, metadataOffset};\n}\n\n/**\n * Encode a list of column values into a parquet row group\n */\nasync function encodeRowGroup(\n schema: ParquetSchema,\n data: ParquetRowGroup,\n opts: ParquetEncoderOptions\n): Promise<{\n body: Buffer;\n metadata: RowGroup;\n}> {\n const metadata = new RowGroup({\n num_rows: data.rowCount,\n columns: [],\n total_byte_size: 0\n });\n\n let body = Buffer.alloc(0);\n for (const field of schema.fieldList) {\n if (field.isNested) {\n continue; // eslint-disable-line no-continue\n }\n\n const cchunkData = await encodeColumnChunk(field, data, body.length, opts);\n\n const cchunk = new ColumnChunk({\n file_offset: cchunkData.metadataOffset,\n meta_data: cchunkData.metadata\n });\n\n metadata.columns.push(cchunk);\n metadata.total_byte_size = new Int64(Number(metadata.total_byte_size) + cchunkData.body.length);\n\n body = Buffer.concat([body, cchunkData.body] as Uint8Array[]);\n }\n\n return {body, metadata};\n}\n\n/**\n * Encode a parquet file metadata footer\n */\nfunction encodeFooter(\n schema: ParquetSchema,\n rowCount: number,\n rowGroups: RowGroup[],\n userMetadata: Record<string, string>\n): Buffer {\n const metadata = new FileMetaData({\n version: PARQUET_VERSION,\n created_by: 'parquets',\n num_rows: rowCount,\n row_groups: rowGroups,\n schema: [],\n key_value_metadata: []\n });\n\n for (const key in userMetadata) {\n const kv = new KeyValue({\n key,\n value: userMetadata[key]\n });\n metadata.key_value_metadata?.push?.(kv);\n }\n\n {\n const schemaRoot = new SchemaElement({\n name: 'root',\n num_children: Object.keys(schema.fields).length\n });\n metadata.schema.push(schemaRoot);\n }\n\n for (const field of schema.fieldList) {\n const relt = FieldRepetitionType[field.repetitionType];\n const schemaElem = new SchemaElement({\n name: field.name,\n repetition_type: relt as any\n });\n\n if (field.isNested) {\n schemaElem.num_children = field.fieldCount;\n } else {\n schemaElem.type = Type[field.primitiveType!] as Type;\n }\n\n if (field.originalType) {\n schemaElem.converted_type = ConvertedType[field.originalType] as ConvertedType;\n }\n\n schemaElem.type_length = field.typeLength;\n\n metadata.schema.push(schemaElem);\n }\n\n const metadataEncoded = serializeThrift(metadata);\n const footerEncoded = Buffer.alloc(metadataEncoded.length + 8);\n\n metadataEncoded.copy(footerEncoded as Uint8Array);\n footerEncoded.writeUInt32LE(metadataEncoded.length, metadataEncoded.length);\n footerEncoded.write(PARQUET_MAGIC, metadataEncoded.length + 4);\n return footerEncoded;\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["Buffer", "byteLength", "ieee754", "Buffer", "i", "base64", "Buffer", "Buffer", "import_loader_utils", "INT53", "encodeValues", "decodeValues", "varint", "count", "decodeValues", "encodeValues", "encodeValues", "decodeValues", "lz4js", "cpath", "Type", "ConvertedType", "FieldRepetitionType", "Encoding", "CompressionCodec", "PageType", "Int64", "thrift", "thrift", "thrift", "thrift", "thrift", "thrift", "thrift", "thrift", "thrift", "thrift", "thrift", "thrift", "thrift", "thrift", "thrift", "thrift", "thrift", "thrift", "JSON", "thrift", "thrift", "thrift", "thrift", "thrift", "thrift", "thrift", "thrift", "import_node_int64", "thrift", "Int64", "import_node_int64", "thrift", "Int64", "import_node_int64", "thrift", "Int64", "thrift", "import_node_int64", "thrift", "thrift", "Int64", "decodeValues", "log", "VERSION", "Buffer", "VERSION", "import_loader_utils", "initWasm", "import_loader_utils", "arrow", "import_node_int64", "PARQUET_MAGIC", "PARQUET_RDLVL_TYPE", "PARQUET_RDLVL_ENCODING", "encodeValues", "Int64"]
|
|
3
|
+
"sources": ["../src/parquet-format.ts", "../src/parquet-loader-options.ts", "../src/parquet-loader-base.ts", "../src/parquet-worker-url.ts", "../../loader-utils/src/lib/env-utils/globals.ts", "../../loader-utils/src/lib/log-utils/log.ts", "../../loader-utils/src/lib/javascript-utils/is-type.ts", "../../loader-utils/src/lib/option-utils/merge-options.ts", "../../loader-utils/src/lib/module-utils/js-module-utils.ts", "../../worker-utils/src/lib/npm-tag.ts", "../../worker-utils/src/lib/env-utils/version.ts", "../../worker-utils/src/lib/env-utils/assert.ts", "../../worker-utils/src/lib/env-utils/globals.ts", "../../worker-utils/src/lib/worker-farm/worker-job.ts", "../../worker-utils/src/lib/node/worker_threads-browser.ts", "../../worker-utils/src/lib/worker-utils/get-loadable-worker-url.ts", "../../worker-utils/src/lib/worker-utils/get-transfer-list.ts", "../../worker-utils/src/lib/worker-farm/worker-thread.ts", "../../worker-utils/src/lib/worker-farm/worker-pool.ts", "../../worker-utils/src/lib/worker-farm/worker-farm.ts", "../../worker-utils/src/lib/worker-api/get-worker-url.ts", "../../worker-utils/src/lib/worker-api/process-on-worker.ts", "../../worker-utils/src/index.ts", "../../loader-utils/src/lib/worker-loader-utils/parse-with-worker.ts", "../../loader-utils/src/lib/binary-utils/array-buffer-utils.ts", "../../loader-utils/src/lib/iterators/async-iteration.ts", "../../loader-utils/src/lib/request-utils/range-request-scheduler.ts", "../../loader-utils/src/lib/path-utils/file-aliases.ts", "../../loader-utils/src/lib/node/buffer.browser.ts", "../../loader-utils/src/lib/binary-utils/memory-conversion-utils.ts", "../../loader-utils/src/lib/node/promisify.ts", "../../loader-utils/src/lib/files/array-buffer-file.ts", "../../loader-utils/src/lib/files/blob-file.ts", "../../loader-utils/src/lib/sources/data-source.ts", "../../loader-utils/src/index.ts", "../../schema-utils/src/lib/schema/data-type.ts", "../../schema-utils/src/lib/schema/convert-arrow-schema.ts", "../../schema-utils/src/lib/schema/deduce-table-schema.ts", "../../schema-utils/src/lib/table/tables/table-accessors.ts", "../../schema-utils/src/lib/table/tables/table-column.ts", "../../schema-utils/src/lib/table/batches/make-arrow-batch-iterator.ts", "../../schema-utils/src/lib/table/tables/convert-arrow-table.ts", "../../schema-utils/src/lib/table/tables/convert-table.ts", "../../schema-utils/src/deprecated.ts", "../../schema-utils/src/index.ts", "../src/lib/parsers/convert-parquet-tables.ts", "../../gis/src/lib/geometry-converters/wkb/helpers/wkb-types.ts", "../../gis/src/lib/geometry-converters/wkb/helpers/parse-wkb-header.ts", "../../gis/src/lib/geometry-converters/wkb/convert-wkb-to-geometry.ts", "../../gis/src/lib/geometry-converters/wkb/convert-wkt-to-geometry.ts", "../../gis/src/lib/geoarrow/metadata-utils.ts", "../../gis/src/lib/geoarrow/geoparquet-metadata.ts", "../../gis/src/lib/table-converters/convert-wkb-table-to-geojson.ts", "../../gis/src/deprecated.ts", "../../gis/src/index.ts", "../../gis/src/geospatial-metadata-zod-schema.ts", "../src/lib/geo/geospatial-metadata.ts", "../src/lib/utils/load-wasm-node.ts", "../src/lib/utils/load-wasm.ts", "../src/lib/utils/make-stream-iterator.ts", "../src/lib/parsers/parse-parquet-to-arrow.ts", "../src/lib/utils/normalize-parquet-options.ts", "../../arrow/src/lib/utils/arrow-table-transport.ts", "../../arrow/src/index.ts", "../src/lib/parquet-worker-transport.ts", "../src/parquet-format.ts", "../src/parquet-loader-options.ts", "../src/parquet-loader-base.ts", "../src/parquet-worker-url.ts", "../src/parquet-loader-types.ts", "../src/parquet-loader.ts", "../src/parquet-loader-types.ts", "../src/lib/geo/geospatial-metadata.ts", "../src/lib/utils/load-wasm-node.ts", "../src/lib/utils/load-wasm.ts", "../src/lib/utils/make-stream-iterator.ts", "../src/lib/parsers/parse-parquet-to-arrow.ts", "../src/lib/parsers/convert-parquet-tables.ts", "../src/lib/parsers/parse-parquet-tables.ts", "../src/lib/parsers/parse-geoparquet-to-geojson.ts", "../src/lib/utils/normalize-parquet-options.ts", "../src/lib/parquet-worker-transport.ts", "../src/parquet-loader.ts", "../src/geoparquet-loader-with-parser.ts", "../src/geoparquet-loader.ts", "../src/parquetjs/codecs/declare.ts", "../src/parquetjs/utils/binary-utils.ts", "../src/parquetjs/codecs/plain.ts", "../src/parquetjs/codecs/rle.ts", "../src/parquetjs/codecs/dictionary.ts", "../src/parquetjs/codecs/delta.ts", "../src/parquetjs/codecs/byte-stream-split.ts", "../src/parquetjs/codecs/index.ts", "../../compression/src/lib/decompression-stream.ts", "../../compression/src/native-decompression.ts", "../../compression/src/lib/compression.ts", "../../compression/src/lib/deflate-compression.ts", "../../compression/src/lib/gzip-compression.ts", "../../compression/src/gzip-compression.ts", "../../compression/src/lib/snappy-compression.ts", "../../compression/src/snappy-compression.ts", "../../compression/src/brotli/decode.ts", "../../compression/src/lib/brotli-compression.ts", "../../compression/src/brotli-compression.ts", "../../compression/src/lib/lz4-compression.ts", "../../compression/src/lz4-compression.ts", "../../compression/src/lib/zstd-compression.ts", "../../compression/src/zstd-compression.ts", "../src/parquetjs/compression.ts", "../../bson/src/bson-format.ts", "../../bson/src/lib/encoders/encode-bson.ts", "../../bson/src/bson-writer.ts", "../../bson/src/lib/parsers/parse-bson.ts", "../../bson/src/index.ts", "../src/parquetjs/schema/types.ts", "../src/parquetjs/schema/shred.ts", "../src/parquetjs/schema/schema.ts", "../src/parquetjs/parquet-thrift/Type.ts", "../src/parquetjs/parquet-thrift/ConvertedType.ts", "../src/parquetjs/parquet-thrift/FieldRepetitionType.ts", "../src/parquetjs/parquet-thrift/Encoding.ts", "../src/parquetjs/parquet-thrift/CompressionCodec.ts", "../src/parquetjs/parquet-thrift/PageType.ts", "../src/parquetjs/parquet-thrift/BoundaryOrder.ts", "../src/parquetjs/utils/thrift-runtime.ts", "../src/parquetjs/utils/uint8-array-compact-protocol.ts", "../src/parquetjs/parquet-thrift/Statistics.ts", "../src/parquetjs/parquet-thrift/StringType.ts", "../src/parquetjs/parquet-thrift/UUIDType.ts", "../src/parquetjs/parquet-thrift/Float16Type.ts", "../src/parquetjs/parquet-thrift/VariantType.ts", "../src/parquetjs/parquet-thrift/EdgeInterpolationAlgorithm.ts", "../src/parquetjs/parquet-thrift/GeometryType.ts", "../src/parquetjs/parquet-thrift/GeographyType.ts", "../src/parquetjs/parquet-thrift/MapType.ts", "../src/parquetjs/parquet-thrift/ListType.ts", "../src/parquetjs/parquet-thrift/EnumType.ts", "../src/parquetjs/parquet-thrift/DateType.ts", "../src/parquetjs/parquet-thrift/NullType.ts", "../src/parquetjs/parquet-thrift/DecimalType.ts", "../src/parquetjs/parquet-thrift/MilliSeconds.ts", "../src/parquetjs/parquet-thrift/MicroSeconds.ts", "../src/parquetjs/parquet-thrift/NanoSeconds.ts", "../src/parquetjs/parquet-thrift/TimeUnit.ts", "../src/parquetjs/parquet-thrift/TimestampType.ts", "../src/parquetjs/parquet-thrift/TimeType.ts", "../src/parquetjs/parquet-thrift/IntType.ts", "../src/parquetjs/parquet-thrift/JsonType.ts", "../src/parquetjs/parquet-thrift/BsonType.ts", "../src/parquetjs/parquet-thrift/LogicalType.ts", "../src/parquetjs/parquet-thrift/SchemaElement.ts", "../src/parquetjs/parquet-thrift/DataPageHeader.ts", "../src/parquetjs/parquet-thrift/IndexPageHeader.ts", "../src/parquetjs/parquet-thrift/DictionaryPageHeader.ts", "../src/parquetjs/parquet-thrift/DataPageHeaderV2.ts", "../src/parquetjs/parquet-thrift/PageHeader.ts", "../src/parquetjs/parquet-thrift/KeyValue.ts", "../src/parquetjs/parquet-thrift/SortingColumn.ts", "../src/parquetjs/parquet-thrift/PageEncodingStats.ts", "../src/parquetjs/parquet-thrift/ColumnMetaData.ts", "../src/parquetjs/parquet-thrift/ColumnChunk.ts", "../src/parquetjs/parquet-thrift/RowGroup.ts", "../src/parquetjs/parquet-thrift/TypeDefinedOrder.ts", "../src/parquetjs/parquet-thrift/PageLocation.ts", "../src/parquetjs/parquet-thrift/OffsetIndex.ts", "../src/parquetjs/parquet-thrift/ColumnIndex.ts", "../src/parquetjs/parquet-thrift/ColumnOrder.ts", "../src/parquetjs/parquet-thrift/FileMetaData.ts", "../src/parquetjs/parquet-thrift/index.ts", "../src/lib/constants.ts", "../src/parquetjs/utils/uint8-array-transport.ts", "../src/parquetjs/utils/read-utils.ts", "../src/parquetjs/parser/decoders.ts", "../src/parquetjs/parser/parquet-reader.ts", "../src/lib/arrow/convert-schema-from-parquet.ts", "../src/lib/parsers/get-parquet-schema.ts", "../src/lib/parsers/parse-parquet-to-json.ts", "../src/lib/arrow/create-nested-arrow-vector.ts", "../src/lib/parsers/parse-parquet-to-arrow-js.ts", "../src/parquet-js-loader-types.ts", "../src/parquet-js-loader.ts", "../src/lib/parquet-predicate.ts", "../src/lib/parquet-page-index.ts", "../src/parquet-source-worker-url.ts", "../src/lib/parquet-source-worker-client.ts", "../src/lib/sources/parquet-range-file.ts", "../src/parquet-source-capabilities.ts", "../src/parquet-source-loader-types.ts", "../src/parquet-source-loader.ts", "../src/index.ts", "../src/parquet-js-loader-types.ts", "../src/parquet-source-loader-types.ts", "../src/parquet-source-capabilities.ts", "../src/parquet-writer.ts", "../src/lib/encoders/encode-arrow-to-parquet.ts", "../src/lib/constants.ts", "../src/parquet-js-writer.ts", "../src/parquetjs/utils/binary-utils.ts", "../src/parquetjs/codecs/declare.ts", "../src/parquetjs/codecs/plain.ts", "../src/parquetjs/codecs/rle.ts", "../src/parquetjs/codecs/dictionary.ts", "../src/parquetjs/codecs/delta.ts", "../src/parquetjs/codecs/byte-stream-split.ts", "../src/parquetjs/codecs/index.ts", "../src/parquetjs/compression.ts", "../src/parquetjs/schema/types.ts", "../src/parquetjs/schema/shred.ts", "../src/parquetjs/parquet-thrift/Type.ts", "../src/parquetjs/parquet-thrift/ConvertedType.ts", "../src/parquetjs/parquet-thrift/FieldRepetitionType.ts", "../src/parquetjs/parquet-thrift/Encoding.ts", "../src/parquetjs/parquet-thrift/CompressionCodec.ts", "../src/parquetjs/parquet-thrift/PageType.ts", "../src/parquetjs/utils/thrift-runtime.ts", "../src/parquetjs/utils/uint8-array-compact-protocol.ts", "../src/parquetjs/parquet-thrift/Statistics.ts", "../src/parquetjs/parquet-thrift/StringType.ts", "../src/parquetjs/parquet-thrift/UUIDType.ts", "../src/parquetjs/parquet-thrift/Float16Type.ts", "../src/parquetjs/parquet-thrift/VariantType.ts", "../src/parquetjs/parquet-thrift/EdgeInterpolationAlgorithm.ts", "../src/parquetjs/parquet-thrift/GeometryType.ts", "../src/parquetjs/parquet-thrift/GeographyType.ts", "../src/parquetjs/parquet-thrift/MapType.ts", "../src/parquetjs/parquet-thrift/ListType.ts", "../src/parquetjs/parquet-thrift/EnumType.ts", "../src/parquetjs/parquet-thrift/DateType.ts", "../src/parquetjs/parquet-thrift/NullType.ts", "../src/parquetjs/parquet-thrift/DecimalType.ts", "../src/parquetjs/parquet-thrift/MilliSeconds.ts", "../src/parquetjs/parquet-thrift/MicroSeconds.ts", "../src/parquetjs/parquet-thrift/NanoSeconds.ts", "../src/parquetjs/parquet-thrift/TimeUnit.ts", "../src/parquetjs/parquet-thrift/TimestampType.ts", "../src/parquetjs/parquet-thrift/TimeType.ts", "../src/parquetjs/parquet-thrift/IntType.ts", "../src/parquetjs/parquet-thrift/JsonType.ts", "../src/parquetjs/parquet-thrift/BsonType.ts", "../src/parquetjs/parquet-thrift/LogicalType.ts", "../src/parquetjs/parquet-thrift/SchemaElement.ts", "../src/parquetjs/parquet-thrift/DataPageHeader.ts", "../src/parquetjs/parquet-thrift/IndexPageHeader.ts", "../src/parquetjs/parquet-thrift/DictionaryPageHeader.ts", "../src/parquetjs/parquet-thrift/DataPageHeaderV2.ts", "../src/parquetjs/parquet-thrift/PageHeader.ts", "../src/parquetjs/parquet-thrift/KeyValue.ts", "../src/parquetjs/parquet-thrift/SortingColumn.ts", "../src/parquetjs/parquet-thrift/PageEncodingStats.ts", "../src/parquetjs/parquet-thrift/ColumnMetaData.ts", "../src/parquetjs/parquet-thrift/ColumnChunk.ts", "../src/parquetjs/parquet-thrift/RowGroup.ts", "../src/parquetjs/parquet-thrift/TypeDefinedOrder.ts", "../src/parquetjs/parquet-thrift/ColumnOrder.ts", "../src/parquetjs/parquet-thrift/FileMetaData.ts", "../src/parquetjs/utils/file-utils.ts", "../src/parquetjs/utils/uint8-array-compact-protocol-writer.ts", "../src/parquetjs/utils/uint8-array-transport.ts", "../src/parquetjs/utils/read-utils.ts", "../src/parquetjs/encoder/page-planner.ts", "../src/parquetjs/encoder/dictionary-planner.ts", "../src/parquetjs/encoder/parquet-encoder.ts", "../src/parquetjs/schema/schema.ts", "../src/lib/encoders/encode-table-to-parquet-js.ts", "../src/parquetjs/parser/decoders.ts", "../src/parquetjs/parser/parquet-reader.ts", "../src/lib/arrow/convert-schema-from-parquet.ts"],
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["log", "VERSION", "module", "VERSION", "globals", "self_", "window_", "global_", "document_", "isBrowser", "matches", "nodeVersion", "init_globals", "init_globals", "isBrowser", "init_globals", "onMessage", "VERSION", "isBrowser", "version", "init_globals", "init_globals", "isBrowser", "fetch", "DEFAULT_PROPS", "_a", "toArrayBuffer", "copyToArrayBuffer", "fetchOptions", "fetch", "init_src", "objectRow", "arrayRow", "arrow", "arrow", "convertTable", "convertArrowToTable", "init_src", "convertArrowToTable", "init_src", "index", "version", "parseGeometry", "init_src", "convertWKBTableToGeoJSON", "init_deprecated", "init_src", "init_deprecated", "arrow", "init_src", "import_meta", "require", "throwIfAborted", "init_src", "arrow", "arrow", "init_src", "init_src", "init_src", "ParquetFormat", "init_parquet_format", "PARQUET_LOADER_DEFAULT_OPTIONS", "init_parquet_loader_options", "VERSION", "PARQUET_LOADER_BASE", "init_parquet_loader_base", "init_parquet_format", "init_parquet_loader_options", "ParquetFormat", "PARQUET_LOADER_DEFAULT_OPTIONS", "getParquetWorkerFile", "import_meta", "PARQUET_WORKER_URL", "init_parquet_worker_url", "ParquetLoaderWithParser", "init_parquet_loader_base", "init_parquet_worker_url", "PARQUET_LOADER_BASE", "PARQUET_WORKER_URL", "init_src", "preloadParquetLoader", "ParquetLoaderWithParser", "ParquetLoader", "init_parquet_loader_types", "GEOARROW_EXTENSION_NAME_KEY", "GEOARROW_EXTENSION_METADATA_KEY", "applyGeoParquetToFieldMetadata", "getGeoArrowMetadataFromGeoParquetField", "applyLoadersSchemaToArrowTable", "createArrowJsSchema", "normalizeArrowTableGeoMetadata", "mergeSchemaMetadata", "getParquetFileMetadataMap", "getMetadataEntries", "createMetadataMap", "GEOPARQUET_TO_GEOARROW_ENCODINGS", "arrow", "init_geospatial_metadata", "init_src", "loadNodeWasmInput", "isNodeRuntime", "import_meta", "require", "init_load_wasm_node", "loadWasm", "initializePromise", "loadAndInitializeWasm", "loadDefaultWasmInput", "loadNodeWasmInput", "init_load_wasm", "init_load_wasm_node", "makeStreamIterator", "isReadableStream", "makeBrowserStreamIterator", "makeNodeStreamIterator", "throwIfAborted", "getAbortReason", "init_make_stream_iterator", "init_src", "parseParquetFileToArrow", "getReaderOptions", "loadWasm", "createParquetFile", "normalizeArrowTableGeoMetadata", "getParquetFileMetadataMap", "parseParquetFileToArrowInBatches", "makeStreamIterator", "arrow", "init_parse_parquet_to_arrow", "init_geospatial_metadata", "init_load_wasm", "init_make_stream_iterator", "convertArrowTableToObjectRows", "convertArrowToTable", "convertArrowBatchToObjectRows", "init_convert_parquet_tables", "init_src", "parseParquetFileToArrow", "parseParquetFileToArrowInBatches", "init_parse_parquet_to_arrow", "convertArrowToTable", "convertWKBTableToGeoJSON", "init_src", "normalizeParquetOptions", "init_normalize_parquet_options", "serializeParquetWorkerResult", "isArrowTable", "deserializeParquetWorkerResult", "isSerializedArrowTable", "init_parquet_worker_transport", "init_src", "parseParquetTable", "getParquetOptions", "parseParquetFileToArrow", "convertArrowTableToObjectRows", "parseParquetTableInBatches", "parseParquetFileToArrowInBatches", "convertArrowBatchToObjectRows", "normalizeParquetOptions", "ParquetLoaderWithParser", "_ParquetLoaderPreload", "ParquetLoaderMetadataWithoutPreload", "init_parquet_loader", "init_src", "init_convert_parquet_tables", "init_parse_parquet_to_arrow", "init_normalize_parquet_options", "init_parquet_worker_transport", "init_parquet_loader_types", "ParquetLoader", "serializeParquetWorkerResult", "deserializeParquetWorkerResult", "init_src", "init_parquet_loader", "getParquetOptions", "GeoParquetLoaderWithParser", "VERSION", "toArrayBuffer", "encodeValues", "decodeValues", "value", "varint", "decodeValues", "encodeValues", "readUnsignedVarIntNumber", "assertReadable", "packedBits", "packedBitCount", "byteOffset", "readByteArray", "encodeValues", "decodeValues", "encodeValues", "decodeValues", "init_src", "init_src", "zlib", "toArrayBuffer", "deflate", "pako", "ok", "chunks", "init_gzip_compression", "init_snappy_compression", "data", "decompress", "sizeBits", "import_zlib", "init_src", "zlib", "toArrayBuffer", "outputArray", "init_brotli_compression", "init_src", "toArrayBuffer", "length", "end", "init_lz4_compression", "init_src", "zstd", "decompress", "init_zstd_compression", "toArrayBuffer", "GZipCompression", "SnappyCompression", "BrotliCompression", "LZ4Compression", "ZstdCompression", "init_compression", "init_src", "init_src", "VERSION", "BSON", "init_src", "bytes", "toArrayBuffer", "init_src", "fromPrimitive", "cpath", "init_compression", "Type", "ConvertedType", "FieldRepetitionType", "Encoding", "CompressionCodec", "PageType", "Thrift", "Type", "TProtocolExceptionType", "EdgeInterpolationAlgorithm", "TimeUnit", "TimeUnit", "TimeUnit", "JSON", "BSON", "matches", "decodeValues", "init_compression", "init_src", "log", "import_log", "init_compression", "arrow", "projectSchema", "getParquetIterationProps", "convertTable", "recordBatch", "MAXIMUM_INLINE_BYTE_COPY_LENGTH", "arrow", "init_src", "init_compression", "ParquetJSLoaderWithParser", "VERSION", "init_parquet_format", "ParquetFormat", "getParquetOptions", "DEFAULT_PARQUET_JS_OPTIONS", "init_src", "column", "ranges", "import_meta", "init_src", "init_parquet_loader_base", "PARQUET_LOADER_BASE", "version", "init_src", "ParquetSourceLoaderWithParser", "VERSION", "init_parquet_format", "ParquetFormat", "convertTable", "projectSchema", "getCurrentTime", "throwIfAborted", "version", "init_src", "init_compression", "_a", "PARQUET_SOURCE_CAPABILITIES", "ParquetJSLoader", "ParquetLoader", "ParquetReader", "ParquetSchema", "ParquetSourceLoader", "convertParquetSchema", "preloadCompressions", "init_parquet_loader_types", "VERSION", "DEFAULT_PARQUET_JS_OPTIONS", "preloadParquetJSLoader", "ParquetJSLoaderWithParser", "ParquetJSLoader", "VERSION", "preloadParquetSourceLoader", "ParquetSourceLoaderWithParser", "ParquetSourceLoader", "PARQUET_SOURCE_CAPABILITIES", "init_src", "arrow", "init_load_wasm", "loadWasm", "init_geospatial_metadata", "init_normalize_parquet_options", "VERSION", "PARQUET_MAGIC", "PARQUET_MAGIC_ENCRYPTED", "PARQUET_RDLVL_TYPE", "PARQUET_RDLVL_ENCODING", "VERSION", "convertTable", "normalizeParquetOptions", "init_src", "init_normalize_parquet_options", "TEXT_DECODER", "TEXT_ENCODER", "toUint8Array", "toArrayBuffer", "copyUint8Array", "decodeUtf8", "encodeUtf8", "decodeString", "getDataView", "readUInt32LE", "getDataView", "readDoubleLE", "getDataView", "concatUint8Arrays", "writeInt32LE", "getDataView", "writeUInt32LE", "writeInt64LE", "writeFloatLE", "writeDoubleLE", "getParquetValueOutput", "encodeValues", "encodeValues_BOOLEAN", "encodeValues_INT32", "encodeValues_INT64", "encodeValues_INT96", "encodeValues_FLOAT", "encodeValues_DOUBLE", "encodeValues_BYTE_ARRAY", "encodeValues_FIXED_LEN_BYTE_ARRAY", "decodeValues", "decodeValues_BOOLEAN", "decodeValues_INT32", "decodeValues_INT64", "decodeValues_INT96", "decodeValues_FLOAT", "decodeValues_DOUBLE", "decodeValues_BYTE_ARRAY", "decodeValues_FIXED_LEN_BYTE_ARRAY", "getParquetValueOutput", "writeInt32LE", "getCursorDataView", "writeInt64LE", "writeUInt32LE", "writeFloatLE", "writeDoubleLE", "toPrimitiveBytes", "readByteArray", "concatUint8Arrays", "copyUint8Array", "encodeUtf8", "toUint8Array", "import_varint", "encodeValues", "encodeRunBitpacked", "encodeRunRepeated", "concatUint8Arrays", "writeUInt32LE", "decodeValues", "assertReadable", "getParquetValueOutput", "readUnsignedVarIntNumber", "decodeBitPackedRun", "decodeRepeatedRun", "resolveDictionaryValue", "fillParquetValueBuffer", "decodeUint32BitPackedRun", "decodeNumberBitPackedRun", "value", "varint", "decodeValues", "encodeValues", "DELTA_BLOCK_SIZE", "DELTA_MINI_BLOCK_COUNT", "DELTA_VALUES_PER_MINI_BLOCK", "encodeDeltaBinaryPackedValues", "getSignedInteger", "encodeUnsignedVarInt", "encodeZigZagVarInt", "getUnsignedBitWidth", "packUnsignedValues", "concatUint8Arrays", "encodeDeltaLengthByteArrayValues", "toUint8Array", "encodeDeltaByteArrayValues", "assertByteArrayType", "getCommonPrefixLength", "isDeltaEncodingType", "decodeDeltaBinaryPackedValues", "getParquetValueOutput", "readUnsignedVarIntNumber", "decodeDeltaBinaryPackedInt32Values", "decodeDeltaBinaryPackedInt64Values", "readZigZagVarInt32", "readBitWidths", "assertReadable", "decodeInt32MiniBlock", "readZigZagVarInt", "writeInt64Output", "decodeInt64MiniBlock", "packedBits", "packedBitCount", "byteOffset", "decodeDeltaLengthByteArrayValues", "readByteArray", "decodeDeltaByteArrayValues", "readUnsignedVarInt", "copyUint8Array", "BYTE_STREAM_SPLIT_TYPES", "IS_LITTLE_ENDIAN", "isByteStreamSplitType", "encodeValues", "getByteWidth", "encodeContiguousValues", "decodeValues", "getParquetValueOutput", "getDirectOutputBytes", "decodeContiguousBytes", "copyUint8Array", "toUint8Array", "PARQUET_CODECS", "encodeValues", "decodeValues", "encodeDeltaBinaryPackedValues", "decodeDeltaBinaryPackedValues", "encodeDeltaLengthByteArrayValues", "decodeDeltaLengthByteArrayValues", "encodeDeltaByteArrayValues", "decodeDeltaByteArrayValues", "init_src", "PARQUET_COMPRESSION_METHODS", "PARQUET_NATIVE_DECOMPRESSION_FORMATS", "compressionPromises", "preloadCompressions", "getParquetCompression", "toArrayBuffer", "toUint8Array", "decompress", "shouldUseNativeDecompressionStream", "createParquetCompression", "GZipCompression", "SnappyCompression", "BrotliCompression", "LZ4Compression", "ZstdCompression", "init_src", "PARQUET_LOGICAL_TYPES", "toPrimitive_BOOLEAN", "fromPrimitive_BOOLEAN", "toPrimitive_INT32", "toPrimitive_INT64", "toPrimitive_INT96", "toPrimitive_FLOAT", "toPrimitive_DOUBLE", "toPrimitive_BYTE_ARRAY", "toPrimitive_UTF8", "fromPrimitive_UTF8", "toPrimitive_TIME_MILLIS", "toPrimitive_TIME_MICROS", "toPrimitive_TIME_NANOS", "toPrimitive_DATE", "fromPrimitive_DATE", "toPrimitive_TIMESTAMP_MILLIS", "fromPrimitive_TIMESTAMP_MILLIS", "toPrimitive_TIMESTAMP_MICROS", "fromPrimitive_TIMESTAMP_MICROS", "toPrimitive_TIMESTAMP_NANOS", "toPrimitive_UINT8", "toPrimitive_UINT16", "toPrimitive_UINT32", "toPrimitive_UINT64", "toPrimitive_INT8", "toPrimitive_INT16", "toPrimitive_JSON", "fromPrimitive_JSON", "toPrimitive_BSON", "fromPrimitive_BSON", "toPrimitive_FLOAT16", "fromPrimitive_FLOAT16", "toPrimitive_INTERVAL", "fromPrimitive_INTERVAL", "decimalToPrimitive_INT32", "decimalFromPrimitive_INT", "decimalToPrimitive_INT64", "decimalToPrimitive_BYTE_ARRAY", "decimalFromPrimitive_BYTE_ARRAY", "toPrimitive", "fromPrimitive", "roundRightShiftToNearestEven", "toUint8Array", "encodeUtf8", "bytes", "getUnscaledDecimalInteger", "getDecimalDigitCount", "getSignedBigIntByteWidth", "decodeUtf8", "toArrayBuffer", "kMillisPerDay", "writeUInt32LE", "readUInt32LE", "shredBuffer", "shredRecord", "shredRecordFields", "toPrimitive", "materializeRows", "materializeColumnAsRows", "materializeFlatColumnAsRows", "fromPrimitive", "PARQUET_LOGICAL_TYPES", "materializeColumns", "materializeColumn", "materializeColumnAsColumnarArray", "materializeFlatColumn", "Type", "ConvertedType", "FieldRepetitionType", "Encoding", "CompressionCodec", "PageType", "Thrift", "Type", "TProtocolExceptionType", "COMPACT_TYPE_STOP", "COMPACT_TYPE_BOOLEAN_TRUE", "COMPACT_TYPE_BOOLEAN_FALSE", "COMPACT_TYPE_BYTE", "COMPACT_TYPE_I16", "COMPACT_TYPE_I32", "COMPACT_TYPE_I64", "COMPACT_TYPE_DOUBLE", "COMPACT_TYPE_BINARY", "COMPACT_TYPE_LIST", "COMPACT_TYPE_SET", "COMPACT_TYPE_MAP", "COMPACT_TYPE_STRUCT", "CompactInt64", "Uint8ArrayCompactProtocol", "Thrift", "readDoubleLE", "Statistics", "CompactInt64", "Thrift", "StringType", "Thrift", "UUIDType", "Thrift", "Float16Type", "Thrift", "VariantType", "Thrift", "EdgeInterpolationAlgorithm", "GeometryType", "Thrift", "GeographyType", "Thrift", "MapType", "Thrift", "ListType", "Thrift", "EnumType", "Thrift", "DateType", "Thrift", "NullType", "Thrift", "DecimalType", "Thrift", "MilliSeconds", "Thrift", "MicroSeconds", "Thrift", "NanoSeconds", "Thrift", "TimeUnit", "Thrift", "MilliSeconds", "MicroSeconds", "NanoSeconds", "TimestampType", "Thrift", "TimeUnit", "TimeType", "Thrift", "TimeUnit", "IntType", "Thrift", "JsonType", "Thrift", "BsonType", "Thrift", "LogicalType", "Thrift", "JSON", "BSON", "StringType", "MapType", "ListType", "EnumType", "DecimalType", "DateType", "TimeType", "TimestampType", "IntType", "NullType", "JsonType", "BsonType", "UUIDType", "Float16Type", "VariantType", "GeometryType", "GeographyType", "SchemaElement", "Thrift", "LogicalType", "DataPageHeader", "Thrift", "Statistics", "IndexPageHeader", "Thrift", "DictionaryPageHeader", "Thrift", "DataPageHeaderV2", "Thrift", "Statistics", "PageHeader", "Thrift", "DataPageHeader", "IndexPageHeader", "DictionaryPageHeader", "DataPageHeaderV2", "KeyValue", "Thrift", "SortingColumn", "Thrift", "PageEncodingStats", "Thrift", "ColumnMetaData", "Thrift", "CompactInt64", "KeyValue", "Statistics", "PageEncodingStats", "ColumnChunk", "CompactInt64", "Thrift", "ColumnMetaData", "RowGroup", "Thrift", "CompactInt64", "ColumnChunk", "SortingColumn", "TypeDefinedOrder", "Thrift", "ColumnOrder", "Thrift", "TypeDefinedOrder", "FileMetaData", "Thrift", "CompactInt64", "SchemaElement", "RowGroup", "KeyValue", "ColumnOrder", "COMPACT_TYPE_STOP", "COMPACT_TYPE_BOOLEAN_TRUE", "COMPACT_TYPE_BOOLEAN_FALSE", "COMPACT_TYPE_BYTE", "COMPACT_TYPE_I16", "COMPACT_TYPE_I32", "COMPACT_TYPE_I64", "COMPACT_TYPE_DOUBLE", "COMPACT_TYPE_BINARY", "COMPACT_TYPE_LIST", "COMPACT_TYPE_SET", "COMPACT_TYPE_MAP", "COMPACT_TYPE_STRUCT", "Thrift", "writeDoubleLE", "encodeUtf8", "toUint8Array", "concatUint8Arrays", "Uint8ArrayTransport", "toUint8Array", "decodeString", "getThriftEnum", "decodeFileMetadata", "Uint8ArrayTransport", "Uint8ArrayCompactProtocol", "FileMetaData", "decodePageHeader", "PageHeader", "getBitWidth", "fieldIndexOf", "matches", "isDictionaryEncoding", "PARQUET_CODECS", "PARQUET_MAGIC", "encodeUtf8", "PARQUET_RDLVL_TYPE", "PARQUET_RDLVL_ENCODING", "shredRecord", "encodeValues", "PARQUET_CODECS", "getBitWidth", "concatUint8Arrays", "PageHeader", "PageType", "DataPageHeader", "Encoding", "DataPageHeaderV2", "DictionaryPageHeader", "ColumnMetaData", "PageEncodingStats", "Type", "CompressionCodec", "RowGroup", "ColumnChunk", "FileMetaData", "KeyValue", "SchemaElement", "FieldRepetitionType", "ConvertedType", "writeUInt32LE", "LogicalType", "StringType", "MapType", "ListType", "EnumType", "DecimalType", "DateType", "TimeType", "TimestampType", "IntType", "NullType", "JsonType", "BsonType", "UUIDType", "Float16Type", "VariantType", "GeometryType", "GeographyType", "EdgeInterpolationAlgorithm", "TimeUnit", "MilliSeconds", "MicroSeconds", "NanoSeconds", "CompactInt64", "ParquetSchema", "buildFields", "listFields", "shredRecord", "materializeRows", "materializeColumns", "setCompress", "shredBuffer", "cpath", "PARQUET_LOGICAL_TYPES", "PARQUET_CODECS", "isByteStreamSplitType", "isDeltaEncodingType", "PARQUET_COMPRESSION_METHODS", "ParquetSchema", "concatUint8Arrays", "getDataTypeFromValue", "VERSION", "DEFAULT_PARQUET_JS_OPTIONS", "convertTable", "normalizeParquetOptions", "decodeDataPages", "createParquetLevelBuffer", "createParquetColumnValueBuffer", "decodePage", "getThriftEnum", "Encoding", "trimParquetLevelBuffer", "trimParquetValueBuffer", "decodePageHeader", "PageType", "decodeDataPage", "decodeDataPageV2", "decodeDictionaryPage", "decodeSchema", "FieldRepetitionType", "decodeSchemaLogicalType", "Type", "getSchemaParquetType", "decodeTimeUnit", "EdgeInterpolationAlgorithm", "ConvertedType", "decodeValues", "PARQUET_CODECS", "decompress", "decodeLevels", "getValueBitWidth", "isDictionaryEncoding", "shouldDecodeInt64AsBigInt", "createPageSliceCursor", "PARQUET_RDLVL_ENCODING", "PARQUET_RDLVL_TYPE", "getBitWidth", "MAXIMUM_CONCURRENT_COLUMN_READS", "ParquetReader", "materializeRows", "decodeSchema", "ParquetSchema", "PARQUET_MAGIC", "decodeString", "toUint8Array", "PARQUET_MAGIC_ENCRYPTED", "readUInt32LE", "decodeFileMetadata", "fieldIndexOf", "getThriftEnum", "Type", "CompressionCodec", "decodeDictionaryBuffer", "decodeDataPages", "CompactInt64", "sliceFlatColumnChunk", "decodePage", "countDefinedValues", "PARQUET_TYPE_MAPPING", "convertParquetSchema", "getFields", "getSchemaMetadata", "getField", "getFieldMetadata", "getFieldType"]
|
|
7
6
|
}
|