@loaders.gl/parquet 4.0.0-beta.2 → 4.0.0-beta.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/buffer-polyfill/buffer-polyfill.browser.d.ts.map +1 -0
- package/dist/buffer-polyfill/buffer-polyfill.browser.js +8 -0
- package/dist/buffer-polyfill/buffer-polyfill.browser.js.map +1 -0
- package/dist/buffer-polyfill/buffer-polyfill.node.d.ts.map +1 -0
- package/dist/{esm/buffer-polyfill → buffer-polyfill}/buffer-polyfill.node.js +2 -1
- package/dist/buffer-polyfill/buffer-polyfill.node.js.map +1 -0
- package/dist/buffer-polyfill/buffer.d.ts.map +1 -0
- package/dist/{esm/buffer-polyfill → buffer-polyfill}/buffer.js +31 -32
- package/dist/buffer-polyfill/buffer.js.map +1 -0
- package/dist/buffer-polyfill/index.d.ts.map +1 -0
- package/dist/buffer-polyfill/index.js +4 -0
- package/dist/buffer-polyfill/index.js.map +1 -0
- package/dist/buffer-polyfill/install-buffer-polyfill.d.ts +3 -0
- package/dist/buffer-polyfill/install-buffer-polyfill.d.ts.map +1 -0
- package/dist/buffer-polyfill/install-buffer-polyfill.js +3 -0
- package/dist/buffer-polyfill/install-buffer-polyfill.js.map +1 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js.map +1 -0
- package/dist/index.cjs +7890 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +25 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/arrow/convert-columns-to-row-group.d.ts.map +1 -0
- package/dist/lib/arrow/convert-columns-to-row-group.js.map +1 -0
- package/dist/lib/arrow/convert-row-group-to-columns.d.ts.map +1 -0
- package/dist/lib/arrow/convert-row-group-to-columns.js.map +1 -0
- package/dist/lib/arrow/convert-schema-from-parquet.d.ts.map +1 -0
- package/dist/lib/arrow/convert-schema-from-parquet.js.map +1 -0
- package/dist/lib/arrow/convert-schema-to-parquet.d.ts.map +1 -0
- package/dist/lib/arrow/convert-schema-to-parquet.js.map +1 -0
- package/dist/lib/geo/decode-geo-column.d.ts.map +1 -0
- package/dist/{esm/lib → lib}/geo/decode-geo-column.js +1 -1
- package/dist/lib/geo/decode-geo-column.js.map +1 -0
- package/dist/lib/geo/decode-geo-metadata.d.ts.map +1 -0
- package/dist/{esm/lib → lib}/geo/decode-geo-metadata.js +7 -7
- package/dist/lib/geo/decode-geo-metadata.js.map +1 -0
- package/dist/lib/geo/geoparquet-metadata-schema.d.ts.map +1 -0
- package/dist/lib/geo/geoparquet-metadata-schema.js.map +1 -0
- package/dist/lib/parsers/get-parquet-schema.d.ts.map +1 -0
- package/dist/{esm/lib → lib}/parsers/get-parquet-schema.js +2 -2
- package/dist/lib/parsers/get-parquet-schema.js.map +1 -0
- package/dist/lib/parsers/parse-parquet-to-columns.d.ts.map +1 -0
- package/dist/{esm/lib → lib}/parsers/parse-parquet-to-columns.js +6 -6
- package/dist/lib/parsers/parse-parquet-to-columns.js.map +1 -0
- package/dist/lib/parsers/parse-parquet-to-rows.d.ts.map +1 -0
- package/dist/{esm/lib → lib}/parsers/parse-parquet-to-rows.js +6 -6
- package/dist/lib/parsers/parse-parquet-to-rows.js.map +1 -0
- package/dist/lib/wasm/encode-parquet-wasm.d.ts.map +1 -0
- package/dist/{esm/lib → lib}/wasm/encode-parquet-wasm.js +1 -1
- package/dist/lib/wasm/encode-parquet-wasm.js.map +1 -0
- package/dist/lib/wasm/load-wasm/index.d.ts.map +1 -0
- package/dist/lib/wasm/load-wasm/index.js +2 -0
- package/dist/lib/wasm/load-wasm/index.js.map +1 -0
- package/dist/lib/wasm/load-wasm/load-wasm-browser.d.ts.map +1 -0
- package/dist/lib/wasm/load-wasm/load-wasm-browser.js.map +1 -0
- package/dist/lib/wasm/load-wasm/load-wasm-node.d.ts.map +1 -0
- package/dist/lib/wasm/load-wasm/load-wasm-node.js.map +1 -0
- package/dist/lib/wasm/parse-parquet-wasm.d.ts.map +1 -0
- package/dist/{esm/lib → lib}/wasm/parse-parquet-wasm.js +1 -1
- package/dist/lib/wasm/parse-parquet-wasm.js.map +1 -0
- package/dist/{src/parquet-loader.d.ts → parquet-loader.d.ts} +2 -1
- package/dist/parquet-loader.d.ts.map +1 -0
- package/dist/{esm/parquet-loader.js → parquet-loader.js} +5 -2
- package/dist/parquet-loader.js.map +1 -0
- package/dist/parquet-wasm-loader.d.ts.map +1 -0
- package/dist/{esm/parquet-wasm-loader.js → parquet-wasm-loader.js} +1 -1
- package/dist/parquet-wasm-loader.js.map +1 -0
- package/dist/parquet-wasm-writer.d.ts.map +1 -0
- package/dist/{esm/parquet-wasm-writer.js → parquet-wasm-writer.js} +2 -2
- package/dist/parquet-wasm-writer.js.map +1 -0
- package/dist/parquet-writer.d.ts.map +1 -0
- package/dist/{esm/parquet-writer.js → parquet-writer.js} +1 -1
- package/dist/parquet-writer.js.map +1 -0
- package/dist/parquetjs/codecs/declare.d.ts.map +1 -0
- package/dist/parquetjs/codecs/declare.js.map +1 -0
- package/dist/parquetjs/codecs/dictionary.d.ts.map +1 -0
- package/dist/{esm/parquetjs → parquetjs}/codecs/dictionary.js +1 -1
- package/dist/parquetjs/codecs/dictionary.js.map +1 -0
- package/dist/parquetjs/codecs/index.d.ts.map +1 -0
- package/dist/{esm/parquetjs → parquetjs}/codecs/index.js +4 -4
- package/dist/parquetjs/codecs/index.js.map +1 -0
- package/dist/parquetjs/codecs/plain.d.ts.map +1 -0
- package/dist/{esm/parquetjs → parquetjs}/codecs/plain.js +3 -3
- package/dist/parquetjs/codecs/plain.js.map +1 -0
- package/dist/parquetjs/codecs/rle.d.ts.map +1 -0
- package/dist/{esm/parquetjs → parquetjs}/codecs/rle.js +1 -1
- package/dist/parquetjs/codecs/rle.js.map +1 -0
- package/dist/parquetjs/compression.d.ts.map +1 -0
- package/dist/{esm/parquetjs → parquetjs}/compression.js +3 -3
- package/dist/parquetjs/compression.js.map +1 -0
- package/dist/parquetjs/encoder/parquet-encoder.d.ts.map +1 -0
- package/dist/{esm/parquetjs → parquetjs}/encoder/parquet-encoder.js +21 -22
- package/dist/parquetjs/encoder/parquet-encoder.js.map +1 -0
- package/dist/parquetjs/modules.d.js +2 -0
- package/dist/parquetjs/modules.d.js.map +1 -0
- package/dist/parquetjs/parquet-thrift/BoundaryOrder.d.ts.map +1 -0
- package/dist/parquetjs/parquet-thrift/BoundaryOrder.js.map +1 -0
- package/dist/parquetjs/parquet-thrift/BsonType.d.ts.map +1 -0
- package/dist/parquetjs/parquet-thrift/BsonType.js.map +1 -0
- package/dist/parquetjs/parquet-thrift/ColumnChunk.d.ts.map +1 -0
- package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/ColumnChunk.js +8 -9
- package/dist/parquetjs/parquet-thrift/ColumnChunk.js.map +1 -0
- package/dist/parquetjs/parquet-thrift/ColumnIndex.d.ts.map +1 -0
- package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/ColumnIndex.js +5 -6
- package/dist/parquetjs/parquet-thrift/ColumnIndex.js.map +1 -0
- package/dist/parquetjs/parquet-thrift/ColumnMetaData.d.ts.map +1 -0
- package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/ColumnMetaData.js +16 -17
- package/dist/parquetjs/parquet-thrift/ColumnMetaData.js.map +1 -0
- package/dist/parquetjs/parquet-thrift/ColumnOrder.d.ts.map +1 -0
- package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/ColumnOrder.js +2 -3
- package/dist/parquetjs/parquet-thrift/ColumnOrder.js.map +1 -0
- package/dist/parquetjs/parquet-thrift/CompressionCodec.d.ts.map +1 -0
- package/dist/parquetjs/parquet-thrift/CompressionCodec.js.map +1 -0
- package/dist/parquetjs/parquet-thrift/ConvertedType.d.ts.map +1 -0
- package/dist/parquetjs/parquet-thrift/ConvertedType.js.map +1 -0
- package/dist/parquetjs/parquet-thrift/DataPageHeader.d.ts.map +1 -0
- package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/DataPageHeader.js +6 -7
- package/dist/parquetjs/parquet-thrift/DataPageHeader.js.map +1 -0
- package/dist/parquetjs/parquet-thrift/DataPageHeaderV2.d.ts.map +1 -0
- package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/DataPageHeaderV2.js +9 -10
- package/dist/parquetjs/parquet-thrift/DataPageHeaderV2.js.map +1 -0
- package/dist/parquetjs/parquet-thrift/DateType.d.ts.map +1 -0
- package/dist/parquetjs/parquet-thrift/DateType.js.map +1 -0
- package/dist/parquetjs/parquet-thrift/DecimalType.d.ts.map +1 -0
- package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/DecimalType.js +2 -3
- package/dist/parquetjs/parquet-thrift/DecimalType.js.map +1 -0
- package/dist/parquetjs/parquet-thrift/DictionaryPageHeader.d.ts.map +1 -0
- package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/DictionaryPageHeader.js +3 -4
- package/dist/parquetjs/parquet-thrift/DictionaryPageHeader.js.map +1 -0
- package/dist/parquetjs/parquet-thrift/Encoding.d.ts.map +1 -0
- package/dist/parquetjs/parquet-thrift/Encoding.js.map +1 -0
- package/dist/parquetjs/parquet-thrift/EnumType.d.ts.map +1 -0
- package/dist/parquetjs/parquet-thrift/EnumType.js.map +1 -0
- package/dist/parquetjs/parquet-thrift/FieldRepetitionType.d.ts.map +1 -0
- package/dist/parquetjs/parquet-thrift/FieldRepetitionType.js.map +1 -0
- package/dist/parquetjs/parquet-thrift/FileMetaData.d.ts.map +1 -0
- package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/FileMetaData.js +11 -12
- package/dist/parquetjs/parquet-thrift/FileMetaData.js.map +1 -0
- package/dist/parquetjs/parquet-thrift/IndexPageHeader.d.ts.map +1 -0
- package/dist/parquetjs/parquet-thrift/IndexPageHeader.js.map +1 -0
- package/dist/parquetjs/parquet-thrift/IntType.d.ts.map +1 -0
- package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/IntType.js +2 -3
- package/dist/parquetjs/parquet-thrift/IntType.js.map +1 -0
- package/dist/parquetjs/parquet-thrift/JsonType.d.ts.map +1 -0
- package/dist/parquetjs/parquet-thrift/JsonType.js.map +1 -0
- package/dist/parquetjs/parquet-thrift/KeyValue.d.ts.map +1 -0
- package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/KeyValue.js +2 -3
- package/dist/parquetjs/parquet-thrift/KeyValue.js.map +1 -0
- package/dist/parquetjs/parquet-thrift/ListType.d.ts.map +1 -0
- package/dist/parquetjs/parquet-thrift/ListType.js.map +1 -0
- package/dist/parquetjs/parquet-thrift/LogicalType.d.ts.map +1 -0
- package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/LogicalType.js +26 -27
- package/dist/parquetjs/parquet-thrift/LogicalType.js.map +1 -0
- package/dist/parquetjs/parquet-thrift/MapType.d.ts.map +1 -0
- package/dist/parquetjs/parquet-thrift/MapType.js.map +1 -0
- package/dist/parquetjs/parquet-thrift/MicroSeconds.d.ts.map +1 -0
- package/dist/parquetjs/parquet-thrift/MicroSeconds.js.map +1 -0
- package/dist/parquetjs/parquet-thrift/MilliSeconds.d.ts.map +1 -0
- package/dist/parquetjs/parquet-thrift/MilliSeconds.js.map +1 -0
- package/dist/parquetjs/parquet-thrift/NullType.d.ts.map +1 -0
- package/dist/parquetjs/parquet-thrift/NullType.js.map +1 -0
- package/dist/parquetjs/parquet-thrift/OffsetIndex.d.ts.map +1 -0
- package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/OffsetIndex.js +2 -3
- package/dist/parquetjs/parquet-thrift/OffsetIndex.js.map +1 -0
- package/dist/parquetjs/parquet-thrift/PageEncodingStats.d.ts.map +1 -0
- package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/PageEncodingStats.js +3 -4
- package/dist/parquetjs/parquet-thrift/PageEncodingStats.js.map +1 -0
- package/dist/parquetjs/parquet-thrift/PageHeader.d.ts.map +1 -0
- package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/PageHeader.js +12 -13
- package/dist/parquetjs/parquet-thrift/PageHeader.js.map +1 -0
- package/dist/parquetjs/parquet-thrift/PageLocation.d.ts.map +1 -0
- package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/PageLocation.js +3 -4
- package/dist/parquetjs/parquet-thrift/PageLocation.js.map +1 -0
- package/dist/parquetjs/parquet-thrift/PageType.d.ts.map +1 -0
- package/dist/parquetjs/parquet-thrift/PageType.js.map +1 -0
- package/dist/parquetjs/parquet-thrift/RowGroup.d.ts.map +1 -0
- package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/RowGroup.js +6 -7
- package/dist/parquetjs/parquet-thrift/RowGroup.js.map +1 -0
- package/dist/parquetjs/parquet-thrift/SchemaElement.d.ts.map +1 -0
- package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/SchemaElement.js +11 -12
- package/dist/parquetjs/parquet-thrift/SchemaElement.js.map +1 -0
- package/dist/parquetjs/parquet-thrift/SortingColumn.d.ts.map +1 -0
- package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/SortingColumn.js +3 -4
- package/dist/parquetjs/parquet-thrift/SortingColumn.js.map +1 -0
- package/dist/parquetjs/parquet-thrift/Statistics.d.ts.map +1 -0
- package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/Statistics.js +6 -7
- package/dist/parquetjs/parquet-thrift/Statistics.js.map +1 -0
- package/dist/parquetjs/parquet-thrift/StringType.d.ts.map +1 -0
- package/dist/parquetjs/parquet-thrift/StringType.js.map +1 -0
- package/dist/parquetjs/parquet-thrift/TimeType.d.ts.map +1 -0
- package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/TimeType.js +3 -4
- package/dist/parquetjs/parquet-thrift/TimeType.js.map +1 -0
- package/dist/parquetjs/parquet-thrift/TimeUnit.d.ts.map +1 -0
- package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/TimeUnit.js +4 -5
- package/dist/parquetjs/parquet-thrift/TimeUnit.js.map +1 -0
- package/dist/parquetjs/parquet-thrift/TimestampType.d.ts.map +1 -0
- package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/TimestampType.js +3 -4
- package/dist/parquetjs/parquet-thrift/TimestampType.js.map +1 -0
- package/dist/parquetjs/parquet-thrift/Type.d.ts.map +1 -0
- package/dist/parquetjs/parquet-thrift/Type.js.map +1 -0
- package/dist/parquetjs/parquet-thrift/TypeDefinedOrder.d.ts.map +1 -0
- package/dist/parquetjs/parquet-thrift/TypeDefinedOrder.js.map +1 -0
- package/dist/parquetjs/parquet-thrift/UUIDType.d.ts.map +1 -0
- package/dist/parquetjs/parquet-thrift/UUIDType.js.map +1 -0
- package/dist/parquetjs/parquet-thrift/index.d.ts.map +1 -0
- package/dist/parquetjs/parquet-thrift/index.js +46 -0
- package/dist/parquetjs/parquet-thrift/index.js.map +1 -0
- package/dist/parquetjs/parser/decoders.d.ts.map +1 -0
- package/dist/{esm/parquetjs → parquetjs}/parser/decoders.js +8 -8
- package/dist/parquetjs/parser/decoders.js.map +1 -0
- package/dist/parquetjs/parser/parquet-reader.d.ts.map +1 -0
- package/dist/{esm/parquetjs → parquetjs}/parser/parquet-reader.js +26 -22
- package/dist/parquetjs/parser/parquet-reader.js.map +1 -0
- package/dist/parquetjs/schema/declare.d.ts.map +1 -0
- package/dist/{esm/parquetjs → parquetjs}/schema/declare.js +2 -3
- package/dist/parquetjs/schema/declare.js.map +1 -0
- package/dist/parquetjs/schema/schema.d.ts.map +1 -0
- package/dist/{esm/parquetjs → parquetjs}/schema/schema.js +10 -11
- package/dist/parquetjs/schema/schema.js.map +1 -0
- package/dist/parquetjs/schema/shred.d.ts.map +1 -0
- package/dist/{esm/parquetjs → parquetjs}/schema/shred.js +4 -4
- package/dist/parquetjs/schema/shred.js.map +1 -0
- package/dist/parquetjs/schema/types.d.ts.map +1 -0
- package/dist/{esm/parquetjs → parquetjs}/schema/types.js +20 -20
- package/dist/parquetjs/schema/types.js.map +1 -0
- package/dist/{src/parquetjs → parquetjs}/utils/file-utils.d.ts +2 -1
- package/dist/parquetjs/utils/file-utils.d.ts.map +1 -0
- package/dist/{esm/parquetjs → parquetjs}/utils/file-utils.js +1 -1
- package/dist/parquetjs/utils/file-utils.js.map +1 -0
- package/dist/parquetjs/utils/read-utils.d.ts.map +1 -0
- package/dist/{esm/parquetjs → parquetjs}/utils/read-utils.js +3 -4
- package/dist/parquetjs/utils/read-utils.js.map +1 -0
- package/dist/workers/parquet-worker.d.ts.map +1 -0
- package/dist/{esm/workers → workers}/parquet-worker.js +1 -1
- package/dist/workers/parquet-worker.js.map +1 -0
- package/package.json +25 -14
- package/src/buffer-polyfill/buffer-polyfill.browser.ts +6 -0
- package/src/buffer-polyfill/buffer-polyfill.node.ts +2 -0
- package/src/lib/parsers/parse-parquet-to-columns.ts +2 -2
- package/src/lib/parsers/parse-parquet-to-rows.ts +2 -2
- package/src/parquet-loader.ts +9 -1
- package/src/parquetjs/parser/parquet-reader.ts +10 -5
- package/src/parquetjs/utils/file-utils.ts +2 -1
- package/dist/dist.min.js +0 -54
- package/dist/dist.min.js.map +0 -7
- package/dist/es5/buffer-polyfill/buffer-polyfill.browser.js +0 -12
- package/dist/es5/buffer-polyfill/buffer-polyfill.browser.js.map +0 -1
- package/dist/es5/buffer-polyfill/buffer-polyfill.node.js +0 -16
- package/dist/es5/buffer-polyfill/buffer-polyfill.node.js.map +0 -1
- package/dist/es5/buffer-polyfill/buffer.js +0 -1665
- package/dist/es5/buffer-polyfill/buffer.js.map +0 -1
- package/dist/es5/buffer-polyfill/index.js +0 -27
- package/dist/es5/buffer-polyfill/index.js.map +0 -1
- package/dist/es5/buffer-polyfill/install-buffer-polyfill.js +0 -10
- package/dist/es5/buffer-polyfill/install-buffer-polyfill.js.map +0 -1
- package/dist/es5/bundle.js +0 -6
- package/dist/es5/bundle.js.map +0 -1
- package/dist/es5/constants.js +0 -17
- package/dist/es5/constants.js.map +0 -1
- package/dist/es5/index.js +0 -125
- package/dist/es5/index.js.map +0 -1
- package/dist/es5/lib/arrow/convert-columns-to-row-group.js +0 -2
- package/dist/es5/lib/arrow/convert-columns-to-row-group.js.map +0 -1
- package/dist/es5/lib/arrow/convert-row-group-to-columns.js +0 -19
- package/dist/es5/lib/arrow/convert-row-group-to-columns.js.map +0 -1
- package/dist/es5/lib/arrow/convert-schema-from-parquet.js +0 -114
- package/dist/es5/lib/arrow/convert-schema-from-parquet.js.map +0 -1
- package/dist/es5/lib/arrow/convert-schema-to-parquet.js +0 -47
- package/dist/es5/lib/arrow/convert-schema-to-parquet.js.map +0 -1
- package/dist/es5/lib/geo/decode-geo-column.js +0 -53
- package/dist/es5/lib/geo/decode-geo-column.js.map +0 -1
- package/dist/es5/lib/geo/decode-geo-metadata.js +0 -117
- package/dist/es5/lib/geo/decode-geo-metadata.js.map +0 -1
- package/dist/es5/lib/geo/geoparquet-metadata-schema.js +0 -83
- package/dist/es5/lib/geo/geoparquet-metadata-schema.js.map +0 -1
- package/dist/es5/lib/parsers/get-parquet-schema.js +0 -41
- package/dist/es5/lib/parsers/get-parquet-schema.js.map +0 -1
- package/dist/es5/lib/parsers/parse-parquet-to-columns.js +0 -176
- package/dist/es5/lib/parsers/parse-parquet-to-columns.js.map +0 -1
- package/dist/es5/lib/parsers/parse-parquet-to-rows.js +0 -205
- package/dist/es5/lib/parsers/parse-parquet-to-rows.js.map +0 -1
- package/dist/es5/lib/wasm/encode-parquet-wasm.js +0 -43
- package/dist/es5/lib/wasm/encode-parquet-wasm.js.map +0 -1
- package/dist/es5/lib/wasm/load-wasm/index.js +0 -13
- package/dist/es5/lib/wasm/load-wasm/index.js.map +0 -1
- package/dist/es5/lib/wasm/load-wasm/load-wasm-browser.js +0 -42
- package/dist/es5/lib/wasm/load-wasm/load-wasm-browser.js.map +0 -1
- package/dist/es5/lib/wasm/load-wasm/load-wasm-node.js +0 -31
- package/dist/es5/lib/wasm/load-wasm/load-wasm-node.js.map +0 -1
- package/dist/es5/lib/wasm/parse-parquet-wasm.js +0 -60
- package/dist/es5/lib/wasm/parse-parquet-wasm.js.map +0 -1
- package/dist/es5/parquet-loader.js +0 -44
- package/dist/es5/parquet-loader.js.map +0 -1
- package/dist/es5/parquet-wasm-loader.js +0 -27
- package/dist/es5/parquet-wasm-loader.js.map +0 -1
- package/dist/es5/parquet-wasm-writer.js +0 -25
- package/dist/es5/parquet-wasm-writer.js.map +0 -1
- package/dist/es5/parquet-writer.js +0 -23
- package/dist/es5/parquet-writer.js.map +0 -1
- package/dist/es5/parquetjs/codecs/declare.js +0 -2
- package/dist/es5/parquetjs/codecs/declare.js.map +0 -1
- package/dist/es5/parquetjs/codecs/dictionary.js +0 -23
- package/dist/es5/parquetjs/codecs/dictionary.js.map +0 -1
- package/dist/es5/parquetjs/codecs/index.js +0 -47
- package/dist/es5/parquetjs/codecs/index.js.map +0 -1
- package/dist/es5/parquetjs/codecs/plain.js +0 -208
- package/dist/es5/parquetjs/codecs/plain.js.map +0 -1
- package/dist/es5/parquetjs/codecs/rle.js +0 -132
- package/dist/es5/parquetjs/codecs/rle.js.map +0 -1
- package/dist/es5/parquetjs/compression.js +0 -137
- package/dist/es5/parquetjs/compression.js.map +0 -1
- package/dist/es5/parquetjs/encoder/parquet-encoder.js +0 -625
- package/dist/es5/parquetjs/encoder/parquet-encoder.js.map +0 -1
- package/dist/es5/parquetjs/modules.d.ts +0 -21
- package/dist/es5/parquetjs/parquet-thrift/BoundaryOrder.js +0 -14
- package/dist/es5/parquetjs/parquet-thrift/BoundaryOrder.js.map +0 -1
- package/dist/es5/parquetjs/parquet-thrift/BsonType.js +0 -52
- package/dist/es5/parquetjs/parquet-thrift/BsonType.js.map +0 -1
- package/dist/es5/parquetjs/parquet-thrift/ColumnChunk.js +0 -193
- package/dist/es5/parquetjs/parquet-thrift/ColumnChunk.js.map +0 -1
- package/dist/es5/parquetjs/parquet-thrift/ColumnIndex.js +0 -198
- package/dist/es5/parquetjs/parquet-thrift/ColumnIndex.js.map +0 -1
- package/dist/es5/parquetjs/parquet-thrift/ColumnMetaData.js +0 -367
- package/dist/es5/parquetjs/parquet-thrift/ColumnMetaData.js.map +0 -1
- package/dist/es5/parquetjs/parquet-thrift/ColumnOrder.js +0 -99
- package/dist/es5/parquetjs/parquet-thrift/ColumnOrder.js.map +0 -1
- package/dist/es5/parquetjs/parquet-thrift/CompressionCodec.js +0 -19
- package/dist/es5/parquetjs/parquet-thrift/CompressionCodec.js.map +0 -1
- package/dist/es5/parquetjs/parquet-thrift/ConvertedType.js +0 -33
- package/dist/es5/parquetjs/parquet-thrift/ConvertedType.js.map +0 -1
- package/dist/es5/parquetjs/parquet-thrift/DataPageHeader.js +0 -152
- package/dist/es5/parquetjs/parquet-thrift/DataPageHeader.js.map +0 -1
- package/dist/es5/parquetjs/parquet-thrift/DataPageHeaderV2.js +0 -207
- package/dist/es5/parquetjs/parquet-thrift/DataPageHeaderV2.js.map +0 -1
- package/dist/es5/parquetjs/parquet-thrift/DateType.js +0 -52
- package/dist/es5/parquetjs/parquet-thrift/DateType.js.map +0 -1
- package/dist/es5/parquetjs/parquet-thrift/DecimalType.js +0 -96
- package/dist/es5/parquetjs/parquet-thrift/DecimalType.js.map +0 -1
- package/dist/es5/parquetjs/parquet-thrift/DictionaryPageHeader.js +0 -113
- package/dist/es5/parquetjs/parquet-thrift/DictionaryPageHeader.js.map +0 -1
- package/dist/es5/parquetjs/parquet-thrift/Encoding.js +0 -19
- package/dist/es5/parquetjs/parquet-thrift/Encoding.js.map +0 -1
- package/dist/es5/parquetjs/parquet-thrift/EnumType.js +0 -52
- package/dist/es5/parquetjs/parquet-thrift/EnumType.js.map +0 -1
- package/dist/es5/parquetjs/parquet-thrift/FieldRepetitionType.js +0 -14
- package/dist/es5/parquetjs/parquet-thrift/FieldRepetitionType.js.map +0 -1
- package/dist/es5/parquetjs/parquet-thrift/FileMetaData.js +0 -239
- package/dist/es5/parquetjs/parquet-thrift/FileMetaData.js.map +0 -1
- package/dist/es5/parquetjs/parquet-thrift/IndexPageHeader.js +0 -52
- package/dist/es5/parquetjs/parquet-thrift/IndexPageHeader.js.map +0 -1
- package/dist/es5/parquetjs/parquet-thrift/IntType.js +0 -96
- package/dist/es5/parquetjs/parquet-thrift/IntType.js.map +0 -1
- package/dist/es5/parquetjs/parquet-thrift/JsonType.js +0 -52
- package/dist/es5/parquetjs/parquet-thrift/JsonType.js.map +0 -1
- package/dist/es5/parquetjs/parquet-thrift/KeyValue.js +0 -94
- package/dist/es5/parquetjs/parquet-thrift/KeyValue.js.map +0 -1
- package/dist/es5/parquetjs/parquet-thrift/ListType.js +0 -52
- package/dist/es5/parquetjs/parquet-thrift/ListType.js.map +0 -1
- package/dist/es5/parquetjs/parquet-thrift/LogicalType.js +0 -423
- package/dist/es5/parquetjs/parquet-thrift/LogicalType.js.map +0 -1
- package/dist/es5/parquetjs/parquet-thrift/MapType.js +0 -52
- package/dist/es5/parquetjs/parquet-thrift/MapType.js.map +0 -1
- package/dist/es5/parquetjs/parquet-thrift/MicroSeconds.js +0 -52
- package/dist/es5/parquetjs/parquet-thrift/MicroSeconds.js.map +0 -1
- package/dist/es5/parquetjs/parquet-thrift/MilliSeconds.js +0 -52
- package/dist/es5/parquetjs/parquet-thrift/MilliSeconds.js.map +0 -1
- package/dist/es5/parquetjs/parquet-thrift/NullType.js +0 -52
- package/dist/es5/parquetjs/parquet-thrift/NullType.js.map +0 -1
- package/dist/es5/parquetjs/parquet-thrift/OffsetIndex.js +0 -89
- package/dist/es5/parquetjs/parquet-thrift/OffsetIndex.js.map +0 -1
- package/dist/es5/parquetjs/parquet-thrift/PageEncodingStats.js +0 -115
- package/dist/es5/parquetjs/parquet-thrift/PageEncodingStats.js.map +0 -1
- package/dist/es5/parquetjs/parquet-thrift/PageHeader.js +0 -204
- package/dist/es5/parquetjs/parquet-thrift/PageHeader.js.map +0 -1
- package/dist/es5/parquetjs/parquet-thrift/PageLocation.js +0 -124
- package/dist/es5/parquetjs/parquet-thrift/PageLocation.js.map +0 -1
- package/dist/es5/parquetjs/parquet-thrift/PageType.js +0 -15
- package/dist/es5/parquetjs/parquet-thrift/PageType.js.map +0 -1
- package/dist/es5/parquetjs/parquet-thrift/RowGroup.js +0 -165
- package/dist/es5/parquetjs/parquet-thrift/RowGroup.js.map +0 -1
- package/dist/es5/parquetjs/parquet-thrift/SchemaElement.js +0 -231
- package/dist/es5/parquetjs/parquet-thrift/SchemaElement.js.map +0 -1
- package/dist/es5/parquetjs/parquet-thrift/SortingColumn.js +0 -115
- package/dist/es5/parquetjs/parquet-thrift/SortingColumn.js.map +0 -1
- package/dist/es5/parquetjs/parquet-thrift/Statistics.js +0 -165
- package/dist/es5/parquetjs/parquet-thrift/Statistics.js.map +0 -1
- package/dist/es5/parquetjs/parquet-thrift/StringType.js +0 -52
- package/dist/es5/parquetjs/parquet-thrift/StringType.js.map +0 -1
- package/dist/es5/parquetjs/parquet-thrift/TimeType.js +0 -97
- package/dist/es5/parquetjs/parquet-thrift/TimeType.js.map +0 -1
- package/dist/es5/parquetjs/parquet-thrift/TimeUnit.js +0 -126
- package/dist/es5/parquetjs/parquet-thrift/TimeUnit.js.map +0 -1
- package/dist/es5/parquetjs/parquet-thrift/TimestampType.js +0 -97
- package/dist/es5/parquetjs/parquet-thrift/TimestampType.js.map +0 -1
- package/dist/es5/parquetjs/parquet-thrift/Type.js +0 -19
- package/dist/es5/parquetjs/parquet-thrift/Type.js.map +0 -1
- package/dist/es5/parquetjs/parquet-thrift/TypeDefinedOrder.js +0 -52
- package/dist/es5/parquetjs/parquet-thrift/TypeDefinedOrder.js.map +0 -1
- package/dist/es5/parquetjs/parquet-thrift/UUIDType.js +0 -52
- package/dist/es5/parquetjs/parquet-thrift/UUIDType.js.map +0 -1
- package/dist/es5/parquetjs/parquet-thrift/index.js +0 -554
- package/dist/es5/parquetjs/parquet-thrift/index.js.map +0 -1
- package/dist/es5/parquetjs/parser/decoders.js +0 -410
- package/dist/es5/parquetjs/parser/decoders.js.map +0 -1
- package/dist/es5/parquetjs/parser/parquet-reader.js +0 -612
- package/dist/es5/parquetjs/parser/parquet-reader.js.map +0 -1
- package/dist/es5/parquetjs/schema/declare.js +0 -21
- package/dist/es5/parquetjs/schema/declare.js.map +0 -1
- package/dist/es5/parquetjs/schema/schema.js +0 -165
- package/dist/es5/parquetjs/schema/schema.js.map +0 -1
- package/dist/es5/parquetjs/schema/shred.js +0 -282
- package/dist/es5/parquetjs/schema/shred.js.map +0 -1
- package/dist/es5/parquetjs/schema/types.js +0 -406
- package/dist/es5/parquetjs/schema/types.js.map +0 -1
- package/dist/es5/parquetjs/utils/file-utils.js +0 -47
- package/dist/es5/parquetjs/utils/file-utils.js.map +0 -1
- package/dist/es5/parquetjs/utils/read-utils.js +0 -119
- package/dist/es5/parquetjs/utils/read-utils.js.map +0 -1
- package/dist/es5/workers/parquet-worker.js +0 -6
- package/dist/es5/workers/parquet-worker.js.map +0 -1
- package/dist/esm/buffer-polyfill/buffer-polyfill.browser.js +0 -6
- package/dist/esm/buffer-polyfill/buffer-polyfill.browser.js.map +0 -1
- package/dist/esm/buffer-polyfill/buffer-polyfill.node.js.map +0 -1
- package/dist/esm/buffer-polyfill/buffer.js.map +0 -1
- package/dist/esm/buffer-polyfill/index.js +0 -4
- package/dist/esm/buffer-polyfill/index.js.map +0 -1
- package/dist/esm/buffer-polyfill/install-buffer-polyfill.js +0 -3
- package/dist/esm/buffer-polyfill/install-buffer-polyfill.js.map +0 -1
- package/dist/esm/bundle.js +0 -4
- package/dist/esm/bundle.js.map +0 -1
- package/dist/esm/constants.js.map +0 -1
- package/dist/esm/index.js +0 -25
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/lib/arrow/convert-columns-to-row-group.js.map +0 -1
- package/dist/esm/lib/arrow/convert-row-group-to-columns.js.map +0 -1
- package/dist/esm/lib/arrow/convert-schema-from-parquet.js.map +0 -1
- package/dist/esm/lib/arrow/convert-schema-to-parquet.js.map +0 -1
- package/dist/esm/lib/geo/decode-geo-column.js.map +0 -1
- package/dist/esm/lib/geo/decode-geo-metadata.js.map +0 -1
- package/dist/esm/lib/geo/geoparquet-metadata-schema.js.map +0 -1
- package/dist/esm/lib/geo/geoparquet-metadata-schema.json +0 -60
- package/dist/esm/lib/parsers/get-parquet-schema.js.map +0 -1
- package/dist/esm/lib/parsers/parse-parquet-to-columns.js.map +0 -1
- package/dist/esm/lib/parsers/parse-parquet-to-rows.js.map +0 -1
- package/dist/esm/lib/wasm/encode-parquet-wasm.js.map +0 -1
- package/dist/esm/lib/wasm/load-wasm/index.js +0 -2
- package/dist/esm/lib/wasm/load-wasm/index.js.map +0 -1
- package/dist/esm/lib/wasm/load-wasm/load-wasm-browser.js.map +0 -1
- package/dist/esm/lib/wasm/load-wasm/load-wasm-node.js.map +0 -1
- package/dist/esm/lib/wasm/parse-parquet-wasm.js.map +0 -1
- package/dist/esm/lib/wip/convert-schema-deep.java.disabled +0 -910
- package/dist/esm/lib/wip/convert-schema-deep.rs.disabled +0 -976
- package/dist/esm/parquet-loader.js.map +0 -1
- package/dist/esm/parquet-wasm-loader.js.map +0 -1
- package/dist/esm/parquet-wasm-writer.js.map +0 -1
- package/dist/esm/parquet-writer.js.map +0 -1
- package/dist/esm/parquetjs/LICENSE +0 -20
- package/dist/esm/parquetjs/codecs/declare.js.map +0 -1
- package/dist/esm/parquetjs/codecs/dictionary.js.map +0 -1
- package/dist/esm/parquetjs/codecs/index.js.map +0 -1
- package/dist/esm/parquetjs/codecs/plain.js.map +0 -1
- package/dist/esm/parquetjs/codecs/rle.js.map +0 -1
- package/dist/esm/parquetjs/compression.js.map +0 -1
- package/dist/esm/parquetjs/encoder/parquet-encoder.js.map +0 -1
- package/dist/esm/parquetjs/modules.d.ts +0 -21
- package/dist/esm/parquetjs/parquet-thrift/BoundaryOrder.js.map +0 -1
- package/dist/esm/parquetjs/parquet-thrift/BsonType.js.map +0 -1
- package/dist/esm/parquetjs/parquet-thrift/ColumnChunk.js.map +0 -1
- package/dist/esm/parquetjs/parquet-thrift/ColumnIndex.js.map +0 -1
- package/dist/esm/parquetjs/parquet-thrift/ColumnMetaData.js.map +0 -1
- package/dist/esm/parquetjs/parquet-thrift/ColumnOrder.js.map +0 -1
- package/dist/esm/parquetjs/parquet-thrift/CompressionCodec.js.map +0 -1
- package/dist/esm/parquetjs/parquet-thrift/ConvertedType.js.map +0 -1
- package/dist/esm/parquetjs/parquet-thrift/DataPageHeader.js.map +0 -1
- package/dist/esm/parquetjs/parquet-thrift/DataPageHeaderV2.js.map +0 -1
- package/dist/esm/parquetjs/parquet-thrift/DateType.js.map +0 -1
- package/dist/esm/parquetjs/parquet-thrift/DecimalType.js.map +0 -1
- package/dist/esm/parquetjs/parquet-thrift/DictionaryPageHeader.js.map +0 -1
- package/dist/esm/parquetjs/parquet-thrift/Encoding.js.map +0 -1
- package/dist/esm/parquetjs/parquet-thrift/EnumType.js.map +0 -1
- package/dist/esm/parquetjs/parquet-thrift/FieldRepetitionType.js.map +0 -1
- package/dist/esm/parquetjs/parquet-thrift/FileMetaData.js.map +0 -1
- package/dist/esm/parquetjs/parquet-thrift/IndexPageHeader.js.map +0 -1
- package/dist/esm/parquetjs/parquet-thrift/IntType.js.map +0 -1
- package/dist/esm/parquetjs/parquet-thrift/JsonType.js.map +0 -1
- package/dist/esm/parquetjs/parquet-thrift/KeyValue.js.map +0 -1
- package/dist/esm/parquetjs/parquet-thrift/ListType.js.map +0 -1
- package/dist/esm/parquetjs/parquet-thrift/LogicalType.js.map +0 -1
- package/dist/esm/parquetjs/parquet-thrift/MapType.js.map +0 -1
- package/dist/esm/parquetjs/parquet-thrift/MicroSeconds.js.map +0 -1
- package/dist/esm/parquetjs/parquet-thrift/MilliSeconds.js.map +0 -1
- package/dist/esm/parquetjs/parquet-thrift/NullType.js.map +0 -1
- package/dist/esm/parquetjs/parquet-thrift/OffsetIndex.js.map +0 -1
- package/dist/esm/parquetjs/parquet-thrift/PageEncodingStats.js.map +0 -1
- package/dist/esm/parquetjs/parquet-thrift/PageHeader.js.map +0 -1
- package/dist/esm/parquetjs/parquet-thrift/PageLocation.js.map +0 -1
- package/dist/esm/parquetjs/parquet-thrift/PageType.js.map +0 -1
- package/dist/esm/parquetjs/parquet-thrift/RowGroup.js.map +0 -1
- package/dist/esm/parquetjs/parquet-thrift/SchemaElement.js.map +0 -1
- package/dist/esm/parquetjs/parquet-thrift/SortingColumn.js.map +0 -1
- package/dist/esm/parquetjs/parquet-thrift/Statistics.js.map +0 -1
- package/dist/esm/parquetjs/parquet-thrift/StringType.js.map +0 -1
- package/dist/esm/parquetjs/parquet-thrift/TimeType.js.map +0 -1
- package/dist/esm/parquetjs/parquet-thrift/TimeUnit.js.map +0 -1
- package/dist/esm/parquetjs/parquet-thrift/TimestampType.js.map +0 -1
- package/dist/esm/parquetjs/parquet-thrift/Type.js.map +0 -1
- package/dist/esm/parquetjs/parquet-thrift/TypeDefinedOrder.js.map +0 -1
- package/dist/esm/parquetjs/parquet-thrift/UUIDType.js.map +0 -1
- package/dist/esm/parquetjs/parquet-thrift/index.js +0 -46
- package/dist/esm/parquetjs/parquet-thrift/index.js.map +0 -1
- package/dist/esm/parquetjs/parser/decoders.js.map +0 -1
- package/dist/esm/parquetjs/parser/parquet-reader.js.map +0 -1
- package/dist/esm/parquetjs/schema/declare.js.map +0 -1
- package/dist/esm/parquetjs/schema/schema.js.map +0 -1
- package/dist/esm/parquetjs/schema/shred.js.map +0 -1
- package/dist/esm/parquetjs/schema/types.js.map +0 -1
- package/dist/esm/parquetjs/utils/file-utils.js.map +0 -1
- package/dist/esm/parquetjs/utils/read-utils.js.map +0 -1
- package/dist/esm/workers/parquet-worker.js.map +0 -1
- package/dist/parquet-worker.js +0 -54
- package/dist/parquet-worker.js.map +0 -7
- package/dist/src/buffer-polyfill/buffer-polyfill.browser.d.ts.map +0 -1
- package/dist/src/buffer-polyfill/buffer-polyfill.node.d.ts.map +0 -1
- package/dist/src/buffer-polyfill/buffer.d.ts.map +0 -1
- package/dist/src/buffer-polyfill/index.d.ts.map +0 -1
- package/dist/src/buffer-polyfill/install-buffer-polyfill.d.ts +0 -30
- package/dist/src/buffer-polyfill/install-buffer-polyfill.d.ts.map +0 -1
- package/dist/src/bundle.d.ts +0 -2
- package/dist/src/bundle.d.ts.map +0 -1
- package/dist/src/constants.d.ts.map +0 -1
- package/dist/src/index.d.ts.map +0 -1
- package/dist/src/lib/arrow/convert-columns-to-row-group.d.ts.map +0 -1
- package/dist/src/lib/arrow/convert-row-group-to-columns.d.ts.map +0 -1
- package/dist/src/lib/arrow/convert-schema-from-parquet.d.ts.map +0 -1
- package/dist/src/lib/arrow/convert-schema-to-parquet.d.ts.map +0 -1
- package/dist/src/lib/geo/decode-geo-column.d.ts.map +0 -1
- package/dist/src/lib/geo/decode-geo-metadata.d.ts.map +0 -1
- package/dist/src/lib/geo/geoparquet-metadata-schema.d.ts.map +0 -1
- package/dist/src/lib/parsers/get-parquet-schema.d.ts.map +0 -1
- package/dist/src/lib/parsers/parse-parquet-to-columns.d.ts.map +0 -1
- package/dist/src/lib/parsers/parse-parquet-to-rows.d.ts.map +0 -1
- package/dist/src/lib/wasm/encode-parquet-wasm.d.ts.map +0 -1
- package/dist/src/lib/wasm/load-wasm/index.d.ts.map +0 -1
- package/dist/src/lib/wasm/load-wasm/load-wasm-browser.d.ts.map +0 -1
- package/dist/src/lib/wasm/load-wasm/load-wasm-node.d.ts.map +0 -1
- package/dist/src/lib/wasm/parse-parquet-wasm.d.ts.map +0 -1
- package/dist/src/parquet-loader.d.ts.map +0 -1
- package/dist/src/parquet-wasm-loader.d.ts.map +0 -1
- package/dist/src/parquet-wasm-writer.d.ts.map +0 -1
- package/dist/src/parquet-writer.d.ts.map +0 -1
- package/dist/src/parquetjs/codecs/declare.d.ts.map +0 -1
- package/dist/src/parquetjs/codecs/dictionary.d.ts.map +0 -1
- package/dist/src/parquetjs/codecs/index.d.ts.map +0 -1
- package/dist/src/parquetjs/codecs/plain.d.ts.map +0 -1
- package/dist/src/parquetjs/codecs/rle.d.ts.map +0 -1
- package/dist/src/parquetjs/compression.d.ts.map +0 -1
- package/dist/src/parquetjs/encoder/parquet-encoder.d.ts.map +0 -1
- package/dist/src/parquetjs/parquet-thrift/BoundaryOrder.d.ts.map +0 -1
- package/dist/src/parquetjs/parquet-thrift/BsonType.d.ts.map +0 -1
- package/dist/src/parquetjs/parquet-thrift/ColumnChunk.d.ts.map +0 -1
- package/dist/src/parquetjs/parquet-thrift/ColumnIndex.d.ts.map +0 -1
- package/dist/src/parquetjs/parquet-thrift/ColumnMetaData.d.ts.map +0 -1
- package/dist/src/parquetjs/parquet-thrift/ColumnOrder.d.ts.map +0 -1
- package/dist/src/parquetjs/parquet-thrift/CompressionCodec.d.ts.map +0 -1
- package/dist/src/parquetjs/parquet-thrift/ConvertedType.d.ts.map +0 -1
- package/dist/src/parquetjs/parquet-thrift/DataPageHeader.d.ts.map +0 -1
- package/dist/src/parquetjs/parquet-thrift/DataPageHeaderV2.d.ts.map +0 -1
- package/dist/src/parquetjs/parquet-thrift/DateType.d.ts.map +0 -1
- package/dist/src/parquetjs/parquet-thrift/DecimalType.d.ts.map +0 -1
- package/dist/src/parquetjs/parquet-thrift/DictionaryPageHeader.d.ts.map +0 -1
- package/dist/src/parquetjs/parquet-thrift/Encoding.d.ts.map +0 -1
- package/dist/src/parquetjs/parquet-thrift/EnumType.d.ts.map +0 -1
- package/dist/src/parquetjs/parquet-thrift/FieldRepetitionType.d.ts.map +0 -1
- package/dist/src/parquetjs/parquet-thrift/FileMetaData.d.ts.map +0 -1
- package/dist/src/parquetjs/parquet-thrift/IndexPageHeader.d.ts.map +0 -1
- package/dist/src/parquetjs/parquet-thrift/IntType.d.ts.map +0 -1
- package/dist/src/parquetjs/parquet-thrift/JsonType.d.ts.map +0 -1
- package/dist/src/parquetjs/parquet-thrift/KeyValue.d.ts.map +0 -1
- package/dist/src/parquetjs/parquet-thrift/ListType.d.ts.map +0 -1
- package/dist/src/parquetjs/parquet-thrift/LogicalType.d.ts.map +0 -1
- package/dist/src/parquetjs/parquet-thrift/MapType.d.ts.map +0 -1
- package/dist/src/parquetjs/parquet-thrift/MicroSeconds.d.ts.map +0 -1
- package/dist/src/parquetjs/parquet-thrift/MilliSeconds.d.ts.map +0 -1
- package/dist/src/parquetjs/parquet-thrift/NullType.d.ts.map +0 -1
- package/dist/src/parquetjs/parquet-thrift/OffsetIndex.d.ts.map +0 -1
- package/dist/src/parquetjs/parquet-thrift/PageEncodingStats.d.ts.map +0 -1
- package/dist/src/parquetjs/parquet-thrift/PageHeader.d.ts.map +0 -1
- package/dist/src/parquetjs/parquet-thrift/PageLocation.d.ts.map +0 -1
- package/dist/src/parquetjs/parquet-thrift/PageType.d.ts.map +0 -1
- package/dist/src/parquetjs/parquet-thrift/RowGroup.d.ts.map +0 -1
- package/dist/src/parquetjs/parquet-thrift/SchemaElement.d.ts.map +0 -1
- package/dist/src/parquetjs/parquet-thrift/SortingColumn.d.ts.map +0 -1
- package/dist/src/parquetjs/parquet-thrift/Statistics.d.ts.map +0 -1
- package/dist/src/parquetjs/parquet-thrift/StringType.d.ts.map +0 -1
- package/dist/src/parquetjs/parquet-thrift/TimeType.d.ts.map +0 -1
- package/dist/src/parquetjs/parquet-thrift/TimeUnit.d.ts.map +0 -1
- package/dist/src/parquetjs/parquet-thrift/TimestampType.d.ts.map +0 -1
- package/dist/src/parquetjs/parquet-thrift/Type.d.ts.map +0 -1
- package/dist/src/parquetjs/parquet-thrift/TypeDefinedOrder.d.ts.map +0 -1
- package/dist/src/parquetjs/parquet-thrift/UUIDType.d.ts.map +0 -1
- package/dist/src/parquetjs/parquet-thrift/index.d.ts.map +0 -1
- package/dist/src/parquetjs/parser/decoders.d.ts.map +0 -1
- package/dist/src/parquetjs/parser/parquet-reader.d.ts.map +0 -1
- package/dist/src/parquetjs/schema/declare.d.ts.map +0 -1
- package/dist/src/parquetjs/schema/schema.d.ts.map +0 -1
- package/dist/src/parquetjs/schema/shred.d.ts.map +0 -1
- package/dist/src/parquetjs/schema/types.d.ts.map +0 -1
- package/dist/src/parquetjs/utils/file-utils.d.ts.map +0 -1
- package/dist/src/parquetjs/utils/read-utils.d.ts.map +0 -1
- package/dist/src/workers/parquet-worker.d.ts.map +0 -1
- package/dist/tsconfig.tsbuildinfo +0 -1
- package/src/bundle.ts +0 -4
- /package/dist/{src/buffer-polyfill → buffer-polyfill}/buffer-polyfill.browser.d.ts +0 -0
- /package/dist/{src/buffer-polyfill → buffer-polyfill}/buffer-polyfill.node.d.ts +0 -0
- /package/dist/{src/buffer-polyfill → buffer-polyfill}/buffer.d.ts +0 -0
- /package/dist/{src/buffer-polyfill → buffer-polyfill}/index.d.ts +0 -0
- /package/dist/{src/constants.d.ts → constants.d.ts} +0 -0
- /package/dist/{esm/constants.js → constants.js} +0 -0
- /package/dist/{src/index.d.ts → index.d.ts} +0 -0
- /package/dist/{src/lib → lib}/arrow/convert-columns-to-row-group.d.ts +0 -0
- /package/dist/{esm/lib → lib}/arrow/convert-columns-to-row-group.js +0 -0
- /package/dist/{src/lib → lib}/arrow/convert-row-group-to-columns.d.ts +0 -0
- /package/dist/{esm/lib → lib}/arrow/convert-row-group-to-columns.js +0 -0
- /package/dist/{src/lib → lib}/arrow/convert-schema-from-parquet.d.ts +0 -0
- /package/dist/{esm/lib → lib}/arrow/convert-schema-from-parquet.js +0 -0
- /package/dist/{src/lib → lib}/arrow/convert-schema-to-parquet.d.ts +0 -0
- /package/dist/{esm/lib → lib}/arrow/convert-schema-to-parquet.js +0 -0
- /package/dist/{src/lib → lib}/geo/decode-geo-column.d.ts +0 -0
- /package/dist/{src/lib → lib}/geo/decode-geo-metadata.d.ts +0 -0
- /package/dist/{src/lib → lib}/geo/geoparquet-metadata-schema.d.ts +0 -0
- /package/dist/{esm/lib → lib}/geo/geoparquet-metadata-schema.js +0 -0
- /package/dist/{es5/lib → lib}/geo/geoparquet-metadata-schema.json +0 -0
- /package/dist/{src/lib → lib}/parsers/get-parquet-schema.d.ts +0 -0
- /package/dist/{src/lib → lib}/parsers/parse-parquet-to-columns.d.ts +0 -0
- /package/dist/{src/lib → lib}/parsers/parse-parquet-to-rows.d.ts +0 -0
- /package/dist/{src/lib → lib}/wasm/encode-parquet-wasm.d.ts +0 -0
- /package/dist/{src/lib → lib}/wasm/load-wasm/index.d.ts +0 -0
- /package/dist/{src/lib → lib}/wasm/load-wasm/load-wasm-browser.d.ts +0 -0
- /package/dist/{esm/lib → lib}/wasm/load-wasm/load-wasm-browser.js +0 -0
- /package/dist/{src/lib → lib}/wasm/load-wasm/load-wasm-node.d.ts +0 -0
- /package/dist/{esm/lib → lib}/wasm/load-wasm/load-wasm-node.js +0 -0
- /package/dist/{src/lib → lib}/wasm/parse-parquet-wasm.d.ts +0 -0
- /package/dist/{es5/lib → lib}/wip/convert-schema-deep.java.disabled +0 -0
- /package/dist/{es5/lib → lib}/wip/convert-schema-deep.rs.disabled +0 -0
- /package/dist/{src/parquet-wasm-loader.d.ts → parquet-wasm-loader.d.ts} +0 -0
- /package/dist/{src/parquet-wasm-writer.d.ts → parquet-wasm-writer.d.ts} +0 -0
- /package/dist/{src/parquet-writer.d.ts → parquet-writer.d.ts} +0 -0
- /package/dist/{es5/parquetjs → parquetjs}/LICENSE +0 -0
- /package/dist/{src/parquetjs → parquetjs}/codecs/declare.d.ts +0 -0
- /package/dist/{esm/parquetjs → parquetjs}/codecs/declare.js +0 -0
- /package/dist/{src/parquetjs → parquetjs}/codecs/dictionary.d.ts +0 -0
- /package/dist/{src/parquetjs → parquetjs}/codecs/index.d.ts +0 -0
- /package/dist/{src/parquetjs → parquetjs}/codecs/plain.d.ts +0 -0
- /package/dist/{src/parquetjs → parquetjs}/codecs/rle.d.ts +0 -0
- /package/dist/{src/parquetjs → parquetjs}/compression.d.ts +0 -0
- /package/dist/{src/parquetjs → parquetjs}/encoder/parquet-encoder.d.ts +0 -0
- /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/BoundaryOrder.d.ts +0 -0
- /package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/BoundaryOrder.js +0 -0
- /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/BsonType.d.ts +0 -0
- /package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/BsonType.js +0 -0
- /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/ColumnChunk.d.ts +0 -0
- /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/ColumnIndex.d.ts +0 -0
- /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/ColumnMetaData.d.ts +0 -0
- /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/ColumnOrder.d.ts +0 -0
- /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/CompressionCodec.d.ts +0 -0
- /package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/CompressionCodec.js +0 -0
- /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/ConvertedType.d.ts +0 -0
- /package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/ConvertedType.js +0 -0
- /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/DataPageHeader.d.ts +0 -0
- /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/DataPageHeaderV2.d.ts +0 -0
- /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/DateType.d.ts +0 -0
- /package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/DateType.js +0 -0
- /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/DecimalType.d.ts +0 -0
- /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/DictionaryPageHeader.d.ts +0 -0
- /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/Encoding.d.ts +0 -0
- /package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/Encoding.js +0 -0
- /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/EnumType.d.ts +0 -0
- /package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/EnumType.js +0 -0
- /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/FieldRepetitionType.d.ts +0 -0
- /package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/FieldRepetitionType.js +0 -0
- /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/FileMetaData.d.ts +0 -0
- /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/IndexPageHeader.d.ts +0 -0
- /package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/IndexPageHeader.js +0 -0
- /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/IntType.d.ts +0 -0
- /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/JsonType.d.ts +0 -0
- /package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/JsonType.js +0 -0
- /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/KeyValue.d.ts +0 -0
- /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/ListType.d.ts +0 -0
- /package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/ListType.js +0 -0
- /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/LogicalType.d.ts +0 -0
- /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/MapType.d.ts +0 -0
- /package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/MapType.js +0 -0
- /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/MicroSeconds.d.ts +0 -0
- /package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/MicroSeconds.js +0 -0
- /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/MilliSeconds.d.ts +0 -0
- /package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/MilliSeconds.js +0 -0
- /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/NullType.d.ts +0 -0
- /package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/NullType.js +0 -0
- /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/OffsetIndex.d.ts +0 -0
- /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/PageEncodingStats.d.ts +0 -0
- /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/PageHeader.d.ts +0 -0
- /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/PageLocation.d.ts +0 -0
- /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/PageType.d.ts +0 -0
- /package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/PageType.js +0 -0
- /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/RowGroup.d.ts +0 -0
- /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/SchemaElement.d.ts +0 -0
- /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/SortingColumn.d.ts +0 -0
- /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/Statistics.d.ts +0 -0
- /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/StringType.d.ts +0 -0
- /package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/StringType.js +0 -0
- /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/TimeType.d.ts +0 -0
- /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/TimeUnit.d.ts +0 -0
- /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/TimestampType.d.ts +0 -0
- /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/Type.d.ts +0 -0
- /package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/Type.js +0 -0
- /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/TypeDefinedOrder.d.ts +0 -0
- /package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/TypeDefinedOrder.js +0 -0
- /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/UUIDType.d.ts +0 -0
- /package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/UUIDType.js +0 -0
- /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/index.d.ts +0 -0
- /package/dist/{src/parquetjs → parquetjs}/parser/decoders.d.ts +0 -0
- /package/dist/{src/parquetjs → parquetjs}/parser/parquet-reader.d.ts +0 -0
- /package/dist/{src/parquetjs → parquetjs}/schema/declare.d.ts +0 -0
- /package/dist/{src/parquetjs → parquetjs}/schema/schema.d.ts +0 -0
- /package/dist/{src/parquetjs → parquetjs}/schema/shred.d.ts +0 -0
- /package/dist/{src/parquetjs → parquetjs}/schema/types.d.ts +0 -0
- /package/dist/{src/parquetjs → parquetjs}/utils/read-utils.d.ts +0 -0
- /package/dist/{src/workers → workers}/parquet-worker.d.ts +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buffer.js","names":["base64","ieee754","kMaxLength","INSPECT_MAX_BYTES","Buffer","Uint8Array","parent","isBuffer","undefined","buffer","offset","byteOffset","constructor","arg","encodingOrOffset","length","from","size","RangeError","TypeError","checked","_isBuffer","value","fromString","ArrayBuffer","isView","fromArrayView","isInstance","fromArrayBuffer","SharedArrayBuffer","valueOf","b","fromObject","Symbol","toPrimitive","prototype","compare","a","byteLength","x","y","i","len","Math","min","isEncoding","encoding","String","toLowerCase","concat","list","Array","isArray","alloc","allocUnsafe","pos","buf","copy","set","call","fill","assertSize","allocUnsafeSlow","includes","val","indexOf","bidirectionalIndexOf","lastIndexOf","readInt8","noAssert","checkOffset","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readIntBE","mul","pow","readIntLE","readBigInt64LE","validateNumber","first","last","boundsError","BigInt","readBigInt64BE","readUInt8","readUInt16LE","readUInt16BE","readUInt32LE","readUInt32BE","readUIntLE","readUIntBE","readBigUInt64LE","lo","hi","readBigUInt64BE","readFloatLE","read","readFloatBE","readDoubleLE","readDoubleBE","writeUInt8","Number","checkInt","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeUIntLE","maxBytes","writeUIntBE","writeBigUInt64LE","arguments","wrtBigUInt64LE","writeBigUInt64BE","wrtBigUInt64BE","writeIntLE","limit","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeBigInt64LE","writeBigInt64BE","writeFloatLE","writeFloat","writeFloatBE","writeDoubleLE","writeDouble","writeDoubleBE","write","string","isFinite","Error","remaining","loweredCase","hexWrite","utf8Write","asciiWrite","base64Write","ucs2Write","target","targetStart","start","end","copyWithin","subarray","code","charCodeAt","bytes","swap16","swap","swap32","swap64","toString","utf8Slice","_slowToString","inspect","str","max","replace","trim","equals","thisStart","thisEnd","thisCopy","slice","targetCopy","toJSON","type","data","_arr","newBuf","Object","setPrototypeOf","hexSlice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","poolSize","ext","checkIntBI","actual","fromArrayLike","array","arrayView","obj","numberIsNaN","mustMatch","utf8ToBytes","base64ToBytes","n","m","dir","arrayIndexOf","arr","indexSize","arrLength","valLength","foundIndex","found","j","strLen","parsed","parseInt","substr","blitBuffer","asciiToBytes","utf16leToBytes","fromByteArray","res","firstByte","codePoint","bytesPerSequence","fourthByte","secondByte","tempCodePoint","thirdByte","push","decodeCodePointsArray","MAX_ARGUMENTS_LENGTH","codePoints","fromCharCode","apply","ret","out","hexSliceLookupTable","checkIEEE754","littleEndian","errors","E","sym","getMessage","Base","NodeError","defineProperty","writable","configurable","name","stack","enumerable","message","range","input","msg","received","isInteger","abs","addNumericalSeparator","checkBounds","ERR_OUT_OF_RANGE","ERR_INVALID_ARG_TYPE","floor","ERR_BUFFER_OUT_OF_BOUNDS","INVALID_BASE64_RE","base64clean","split","units","Infinity","leadSurrogate","byteArray","c","toByteArray","src","dst","alphabet","table","i16"],"sources":["../../src/buffer-polyfill/buffer.ts"],"sourcesContent":["// loaders.gl, MIT license\n// This file is forked from https://github.com/feross/buffer under MIT license\n// The code has primarily been converted to TypeScript.\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\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// ===============\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// ================\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"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/buffer-polyfill/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,MAAM,IAAI,cAAc,EAAC,MAAM,UAAU,CAAC;AAClD,OAAO,EAAC,MAAM,EAAC,MAAM,2BAA2B,CAAC;AACjD,OAAO,EAAC,qBAAqB,EAAC,MAAM,wBAAwB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["Buffer","BufferPolyfill","installBufferPolyfill"],"sources":["../../src/buffer-polyfill/index.ts"],"sourcesContent":["// loaders.gl, MIT license\nexport {Buffer as BufferPolyfill} from './buffer';\nexport {Buffer} from './install-buffer-polyfill';\nexport {installBufferPolyfill} from './buffer-polyfill.node';\n\n// import { installBufferPolyfill } from \"./buffer-polyfill.node\";\n\n// installBufferPolyfill();\n"],"mappings":"SACQA,MAAM,IAAIC,cAAc;AAAA,SACxBD,MAAM;AAAA,SACNE,qBAAqB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"install-buffer-polyfill.d.ts","sourceRoot":"","sources":["../../src/buffer-polyfill/install-buffer-polyfill.ts"],"names":[],"mappings":";AAEA,eAAO,MAAM,MAAM,mBAA0B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"install-buffer-polyfill.js","names":["installBufferPolyfill","Buffer"],"sources":["../../src/buffer-polyfill/install-buffer-polyfill.ts"],"sourcesContent":["import {installBufferPolyfill} from './buffer-polyfill.node';\n\nexport const Buffer = installBufferPolyfill();\n"],"mappings":"SAAQA,qBAAqB;AAE7B,OAAO,MAAMC,MAAM,GAAGD,qBAAqB,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AACA;;GAEG;AACH,eAAO,MAAM,aAAa,SAAS,CAAC;AACpC,eAAO,MAAM,uBAAuB,SAAS,CAAC;AAE9C;;GAEG;AACH,eAAO,MAAM,eAAe,IAAI,CAAC;AAEjC;;GAEG;AACH,eAAO,MAAM,kBAAkB,UAAU,CAAC;AAC1C,eAAO,MAAM,sBAAsB,QAAQ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","names":["PARQUET_MAGIC","PARQUET_MAGIC_ENCRYPTED","PARQUET_VERSION","PARQUET_RDLVL_TYPE","PARQUET_RDLVL_ENCODING"],"sources":["../src/constants.ts"],"sourcesContent":["// Forked from https://github.com/kbajalc/parquets under MIT license (Copyright (c) 2017 ironSource Ltd.)\n/**\n * Parquet File Magic String\n */\nexport const PARQUET_MAGIC = 'PAR1';\nexport const PARQUET_MAGIC_ENCRYPTED = 'PARE';\n\n/**\n * Parquet File Format Version\n */\nexport const PARQUET_VERSION = 1;\n\n/**\n * Internal type used for repetition/definition levels\n */\nexport const PARQUET_RDLVL_TYPE = 'INT32';\nexport const PARQUET_RDLVL_ENCODING = 'RLE';\n"],"mappings":"AAIA,OAAO,MAAMA,aAAa,GAAG,MAAM;AACnC,OAAO,MAAMC,uBAAuB,GAAG,MAAM;AAK7C,OAAO,MAAMC,eAAe,GAAG,CAAC;AAKhC,OAAO,MAAMC,kBAAkB,GAAG,OAAO;AACzC,OAAO,MAAMC,sBAAsB,GAAG,KAAK"}
|