@loaders.gl/parquet 4.4.2 → 5.0.0-alpha.1
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/bundled.d.ts +6 -0
- package/dist/bundled.d.ts.map +1 -0
- package/dist/bundled.js +7 -0
- package/dist/bundled.js.map +1 -0
- package/dist/geoparquet-loader-with-parser.d.ts +34 -0
- package/dist/geoparquet-loader-with-parser.d.ts.map +1 -0
- package/dist/geoparquet-loader-with-parser.js +52 -0
- package/dist/geoparquet-loader-with-parser.js.map +1 -0
- package/dist/geoparquet-loader.d.ts +61 -0
- package/dist/geoparquet-loader.d.ts.map +1 -0
- package/dist/geoparquet-loader.js +30 -0
- package/dist/geoparquet-loader.js.map +1 -0
- package/dist/index.cjs +5879 -5643
- package/dist/index.cjs.map +4 -4
- package/dist/index.d.ts +7 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -11
- package/dist/index.js.map +1 -1
- package/dist/lib/constants.d.ts +1 -1
- package/dist/lib/constants.js +2 -2
- package/dist/lib/constants.js.map +1 -1
- package/dist/lib/encoders/encode-arrow-to-parquet.d.ts +2 -2
- package/dist/lib/encoders/encode-arrow-to-parquet.d.ts.map +1 -1
- package/dist/lib/encoders/encode-arrow-to-parquet.js +3 -10
- package/dist/lib/encoders/encode-arrow-to-parquet.js.map +1 -1
- package/dist/lib/encoders/encode-table-to-parquet-js.d.ts +5 -0
- package/dist/lib/encoders/encode-table-to-parquet-js.d.ts.map +1 -0
- package/dist/lib/encoders/encode-table-to-parquet-js.js +149 -0
- package/dist/lib/encoders/encode-table-to-parquet-js.js.map +1 -0
- package/dist/lib/geo/geospatial-metadata.d.ts +67 -0
- package/dist/lib/geo/geospatial-metadata.d.ts.map +1 -0
- package/dist/lib/geo/geospatial-metadata.js +357 -0
- package/dist/lib/geo/geospatial-metadata.js.map +1 -0
- package/dist/lib/parsers/get-parquet-schema.d.ts.map +1 -1
- package/dist/lib/parsers/get-parquet-schema.js +3 -1
- package/dist/lib/parsers/get-parquet-schema.js.map +1 -1
- package/dist/lib/parsers/parse-geoparquet-to-geojson.d.ts +4 -4
- package/dist/lib/parsers/parse-geoparquet-to-geojson.d.ts.map +1 -1
- package/dist/lib/parsers/parse-geoparquet-to-geojson.js +19 -6
- package/dist/lib/parsers/parse-geoparquet-to-geojson.js.map +1 -1
- package/dist/lib/parsers/parse-parquet-tables.d.ts +50 -0
- package/dist/lib/parsers/parse-parquet-tables.d.ts.map +1 -0
- package/dist/lib/parsers/parse-parquet-tables.js +101 -0
- package/dist/lib/parsers/parse-parquet-tables.js.map +1 -0
- package/dist/lib/parsers/parse-parquet-to-arrow-js.d.ts +6 -0
- package/dist/lib/parsers/parse-parquet-to-arrow-js.d.ts.map +1 -0
- package/dist/lib/parsers/parse-parquet-to-arrow-js.js +23 -0
- package/dist/lib/parsers/parse-parquet-to-arrow-js.js.map +1 -0
- package/dist/lib/parsers/parse-parquet-to-arrow.d.ts +7 -7
- package/dist/lib/parsers/parse-parquet-to-arrow.d.ts.map +1 -1
- package/dist/lib/parsers/parse-parquet-to-arrow.js +45 -32
- package/dist/lib/parsers/parse-parquet-to-arrow.js.map +1 -1
- package/dist/lib/parsers/parse-parquet-to-columns.d.ts +3 -3
- package/dist/lib/parsers/parse-parquet-to-columns.d.ts.map +1 -1
- package/dist/lib/parsers/parse-parquet-to-columns.js +1 -4
- package/dist/lib/parsers/parse-parquet-to-columns.js.map +1 -1
- package/dist/lib/parsers/parse-parquet-to-json.d.ts +3 -3
- package/dist/lib/parsers/parse-parquet-to-json.d.ts.map +1 -1
- package/dist/lib/parsers/parse-parquet-to-json.js +77 -26
- package/dist/lib/parsers/parse-parquet-to-json.js.map +1 -1
- package/dist/lib/utils/load-wasm.d.ts +2 -2
- package/dist/lib/utils/load-wasm.d.ts.map +1 -1
- package/dist/lib/utils/load-wasm.js +7 -7
- package/dist/lib/utils/load-wasm.js.map +1 -1
- package/dist/lib/utils/make-stream-iterator.js +1 -1
- package/dist/lib/utils/make-stream-iterator.js.map +1 -1
- package/dist/lib/utils/normalize-parquet-options.d.ts +5 -0
- package/dist/lib/utils/normalize-parquet-options.d.ts.map +1 -0
- package/dist/lib/utils/normalize-parquet-options.js +11 -0
- package/dist/lib/utils/normalize-parquet-options.js.map +1 -0
- package/dist/parquet-format.d.ts +2 -0
- package/dist/parquet-format.d.ts.map +1 -1
- package/dist/parquet-format.js +2 -0
- package/dist/parquet-format.js.map +1 -1
- package/dist/parquet-js-loader.d.ts +57 -0
- package/dist/parquet-js-loader.d.ts.map +1 -0
- package/dist/parquet-js-loader.js +33 -0
- package/dist/parquet-js-loader.js.map +1 -0
- package/dist/parquet-js-writer.d.ts +34 -0
- package/dist/parquet-js-writer.d.ts.map +1 -0
- package/dist/parquet-js-writer.js +28 -0
- package/dist/parquet-js-writer.js.map +1 -0
- package/dist/parquet-loader-options.d.ts +56 -0
- package/dist/parquet-loader-options.d.ts.map +1 -0
- package/dist/parquet-loader-options.js +11 -0
- package/dist/parquet-loader-options.js.map +1 -0
- package/dist/parquet-loader-with-parser.d.ts +33 -0
- package/dist/parquet-loader-with-parser.d.ts.map +1 -0
- package/dist/parquet-loader-with-parser.js +40 -0
- package/dist/parquet-loader-with-parser.js.map +1 -0
- package/dist/parquet-loader.d.ts +62 -0
- package/dist/parquet-loader.d.ts.map +1 -0
- package/dist/parquet-loader.js +53 -0
- package/dist/parquet-loader.js.map +1 -0
- package/dist/parquet-wasm-loader-with-parser.d.ts +40 -0
- package/dist/parquet-wasm-loader-with-parser.d.ts.map +1 -0
- package/dist/parquet-wasm-loader-with-parser.js +68 -0
- package/dist/parquet-wasm-loader-with-parser.js.map +1 -0
- package/dist/parquet-writer.d.ts +10 -0
- package/dist/parquet-writer.d.ts.map +1 -0
- package/dist/parquet-writer.js +29 -0
- package/dist/parquet-writer.js.map +1 -0
- package/dist/parquet_wasm_bg.wasm +0 -0
- package/dist/parquetjs/codecs/declare.d.ts +2 -2
- package/dist/parquetjs/codecs/declare.d.ts.map +1 -1
- package/dist/parquetjs/codecs/dictionary.js +1 -1
- package/dist/parquetjs/codecs/dictionary.js.map +1 -1
- package/dist/parquetjs/codecs/plain.d.ts +1 -1
- package/dist/parquetjs/codecs/plain.d.ts.map +1 -1
- package/dist/parquetjs/codecs/plain.js +36 -41
- package/dist/parquetjs/codecs/plain.js.map +1 -1
- package/dist/parquetjs/codecs/rle.d.ts +1 -1
- package/dist/parquetjs/codecs/rle.d.ts.map +1 -1
- package/dist/parquetjs/codecs/rle.js +16 -21
- package/dist/parquetjs/codecs/rle.js.map +1 -1
- package/dist/parquetjs/compression.d.ts +2 -3
- package/dist/parquetjs/compression.d.ts.map +1 -1
- package/dist/parquetjs/compression.js +4 -105
- package/dist/parquetjs/compression.js.map +1 -1
- package/dist/parquetjs/encoder/parquet-encoder.d.ts +4 -4
- package/dist/parquetjs/encoder/parquet-encoder.d.ts.map +1 -1
- package/dist/parquetjs/encoder/parquet-encoder.js +38 -33
- package/dist/parquetjs/encoder/parquet-encoder.js.map +1 -1
- package/dist/parquetjs/parquet-thrift/ColumnIndex.js +1 -1
- package/dist/parquetjs/parquet-thrift/ColumnIndex.js.map +1 -1
- package/dist/parquetjs/parquet-thrift/index.d.ts +0 -1
- package/dist/parquetjs/parquet-thrift/index.d.ts.map +1 -1
- package/dist/parquetjs/parquet-thrift/index.js +0 -1
- package/dist/parquetjs/parquet-thrift/index.js.map +1 -1
- package/dist/parquetjs/parser/decoders.d.ts +1 -1
- package/dist/parquetjs/parser/decoders.d.ts.map +1 -1
- package/dist/parquetjs/parser/decoders.js +4 -22
- package/dist/parquetjs/parser/decoders.js.map +1 -1
- package/dist/parquetjs/parser/parquet-reader.d.ts +1 -1
- package/dist/parquetjs/parser/parquet-reader.d.ts.map +1 -1
- package/dist/parquetjs/parser/parquet-reader.js +9 -9
- package/dist/parquetjs/parser/parquet-reader.js.map +1 -1
- package/dist/parquetjs/schema/declare.d.ts +1 -1
- package/dist/parquetjs/schema/declare.d.ts.map +1 -1
- package/dist/parquetjs/schema/types.d.ts.map +1 -1
- package/dist/parquetjs/schema/types.js +36 -35
- package/dist/parquetjs/schema/types.js.map +1 -1
- package/dist/parquetjs/utils/binary-utils.d.ts +39 -0
- package/dist/parquetjs/utils/binary-utils.d.ts.map +1 -0
- package/dist/parquetjs/utils/binary-utils.js +102 -0
- package/dist/parquetjs/utils/binary-utils.js.map +1 -0
- package/dist/parquetjs/utils/file-utils.d.ts +1 -1
- package/dist/parquetjs/utils/file-utils.d.ts.map +1 -1
- package/dist/parquetjs/utils/file-utils.js +3 -3
- package/dist/parquetjs/utils/file-utils.js.map +1 -1
- package/dist/parquetjs/utils/read-utils.d.ts +4 -4
- package/dist/parquetjs/utils/read-utils.d.ts.map +1 -1
- package/dist/parquetjs/utils/read-utils.js +12 -17
- package/dist/parquetjs/utils/read-utils.js.map +1 -1
- package/dist/parquetjs/utils/uint8-array-compact-protocol-writer.d.ts +78 -0
- package/dist/parquetjs/utils/uint8-array-compact-protocol-writer.d.ts.map +1 -0
- package/dist/parquetjs/utils/uint8-array-compact-protocol-writer.js +213 -0
- package/dist/parquetjs/utils/uint8-array-compact-protocol-writer.js.map +1 -0
- package/dist/parquetjs/utils/uint8-array-compact-protocol.d.ts +78 -0
- package/dist/parquetjs/utils/uint8-array-compact-protocol.d.ts.map +1 -0
- package/dist/parquetjs/utils/uint8-array-compact-protocol.js +276 -0
- package/dist/parquetjs/utils/uint8-array-compact-protocol.js.map +1 -0
- package/dist/parquetjs/utils/uint8-array-transport.d.ts +25 -0
- package/dist/parquetjs/utils/uint8-array-transport.d.ts.map +1 -0
- package/dist/parquetjs/utils/uint8-array-transport.js +62 -0
- package/dist/parquetjs/utils/uint8-array-transport.js.map +1 -0
- package/dist/unbundled.d.ts +6 -0
- package/dist/unbundled.d.ts.map +1 -0
- package/dist/unbundled.js +7 -0
- package/dist/unbundled.js.map +1 -0
- package/package.json +21 -25
- package/src/bundled.ts +9 -0
- package/src/geoparquet-loader-with-parser.ts +95 -0
- package/src/geoparquet-loader.ts +54 -0
- package/src/index.ts +7 -25
- package/src/lib/constants.ts +1 -1
- package/src/lib/encoders/encode-arrow-to-parquet.ts +9 -15
- package/src/lib/encoders/encode-table-to-parquet-js.ts +199 -0
- package/src/lib/geo/geospatial-metadata.ts +507 -0
- package/src/lib/parsers/get-parquet-schema.ts +3 -1
- package/src/lib/parsers/parse-geoparquet-to-geojson.ts +27 -14
- package/src/lib/parsers/parse-parquet-tables.ts +137 -0
- package/src/lib/parsers/parse-parquet-to-arrow-js.ts +36 -0
- package/src/lib/parsers/parse-parquet-to-arrow.ts +63 -36
- package/src/lib/parsers/parse-parquet-to-columns.ts +6 -7
- package/src/lib/parsers/parse-parquet-to-json.ts +101 -33
- package/src/lib/utils/load-wasm.ts +16 -9
- package/src/lib/utils/make-stream-iterator.ts +1 -1
- package/src/lib/utils/normalize-parquet-options.ts +14 -0
- package/src/parquet-format.ts +2 -0
- package/src/parquet-js-loader.ts +43 -0
- package/src/parquet-js-writer.ts +52 -0
- package/src/parquet-loader-options.ts +63 -0
- package/src/parquet-loader-with-parser.ts +68 -0
- package/src/parquet-loader.ts +79 -0
- package/src/parquet-wasm-loader-with-parser.ts +115 -0
- package/src/parquet-writer.ts +44 -0
- package/src/parquetjs/codecs/declare.ts +2 -2
- package/src/parquetjs/codecs/dictionary.ts +1 -1
- package/src/parquetjs/codecs/plain.ts +67 -53
- package/src/parquetjs/codecs/rle.ts +20 -26
- package/src/parquetjs/compression.ts +7 -114
- package/src/parquetjs/encoder/parquet-encoder.ts +49 -43
- package/src/parquetjs/parquet-thrift/ColumnIndex.ts +1 -1
- package/src/parquetjs/parquet-thrift/index.ts +0 -2
- package/src/parquetjs/parser/decoders.ts +5 -23
- package/src/parquetjs/parser/parquet-reader.ts +10 -12
- package/src/parquetjs/schema/declare.ts +1 -1
- package/src/parquetjs/schema/types.ts +48 -40
- package/src/parquetjs/utils/binary-utils.ts +127 -0
- package/src/parquetjs/utils/file-utils.ts +4 -4
- package/src/parquetjs/utils/read-utils.ts +19 -34
- package/src/parquetjs/utils/uint8-array-compact-protocol-writer.ts +254 -0
- package/src/parquetjs/utils/uint8-array-compact-protocol.ts +322 -0
- package/src/parquetjs/utils/uint8-array-transport.ts +79 -0
- package/src/unbundled.ts +9 -0
- package/dist/parquet-arrow-loader.d.ts +0 -43
- package/dist/parquet-arrow-loader.d.ts.map +0 -1
- package/dist/parquet-arrow-loader.js +0 -49
- package/dist/parquet-arrow-loader.js.map +0 -1
- package/dist/parquet-arrow-writer.d.ts +0 -9
- package/dist/parquet-arrow-writer.d.ts.map +0 -1
- package/dist/parquet-arrow-writer.js +0 -23
- package/dist/parquet-arrow-writer.js.map +0 -1
- package/dist/parquet-json-loader.d.ts +0 -148
- package/dist/parquet-json-loader.d.ts.map +0 -1
- package/dist/parquet-json-loader.js +0 -106
- package/dist/parquet-json-loader.js.map +0 -1
- package/dist/parquet-json-writer.d.ts +0 -19
- package/dist/parquet-json-writer.d.ts.map +0 -1
- package/dist/parquet-json-writer.js +0 -20
- package/dist/parquet-json-writer.js.map +0 -1
- package/dist/polyfills/buffer/buffer-polyfill.browser.d.ts +0 -3
- package/dist/polyfills/buffer/buffer-polyfill.browser.d.ts.map +0 -1
- package/dist/polyfills/buffer/buffer-polyfill.browser.js +0 -12
- package/dist/polyfills/buffer/buffer-polyfill.browser.js.map +0 -1
- package/dist/polyfills/buffer/buffer-polyfill.node.d.ts +0 -3
- package/dist/polyfills/buffer/buffer-polyfill.node.d.ts.map +0 -1
- package/dist/polyfills/buffer/buffer-polyfill.node.js +0 -17
- package/dist/polyfills/buffer/buffer-polyfill.node.js.map +0 -1
- package/dist/polyfills/buffer/buffer.d.ts +0 -222
- package/dist/polyfills/buffer/buffer.d.ts.map +0 -1
- package/dist/polyfills/buffer/buffer.js +0 -1868
- package/dist/polyfills/buffer/buffer.js.map +0 -1
- package/dist/polyfills/buffer/index.d.ts +0 -4
- package/dist/polyfills/buffer/index.d.ts.map +0 -1
- package/dist/polyfills/buffer/index.js +0 -9
- package/dist/polyfills/buffer/index.js.map +0 -1
- package/dist/polyfills/buffer/install-buffer-polyfill.d.ts +0 -2
- package/dist/polyfills/buffer/install-buffer-polyfill.d.ts.map +0 -1
- package/dist/polyfills/buffer/install-buffer-polyfill.js +0 -10
- package/dist/polyfills/buffer/install-buffer-polyfill.js.map +0 -1
- package/dist/workers/parquet-json-worker.d.ts +0 -2
- package/dist/workers/parquet-json-worker.d.ts.map +0 -1
- package/dist/workers/parquet-json-worker.js +0 -7
- package/dist/workers/parquet-json-worker.js.map +0 -1
- package/src/parquet-arrow-loader.ts +0 -74
- package/src/parquet-arrow-writer.ts +0 -33
- package/src/parquet-json-loader.ts +0 -160
- package/src/parquet-json-writer.ts +0 -27
- package/src/parquetjs/modules.d.ts +0 -25
- package/src/polyfills/buffer/buffer-polyfill.browser.ts +0 -14
- package/src/polyfills/buffer/buffer-polyfill.node.ts +0 -19
- package/src/polyfills/buffer/buffer.ts +0 -2205
- package/src/polyfills/buffer/index.ts +0 -11
- package/src/polyfills/buffer/install-buffer-polyfill.ts +0 -12
- package/src/workers/parquet-json-worker.ts +0 -8
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
// Copyright (c) vis.gl contributors
|
|
4
4
|
// Copyright (c) 2017 ironSource Ltd.
|
|
5
5
|
// Forked from https://github.com/kbajalc/parquets under MIT license
|
|
6
|
-
import
|
|
6
|
+
import { concatUint8Arrays, copyUint8Array, encodeUtf8, readDoubleLE, readFloatLE, readInt32LE, readInt64LE, readUInt32LE, toUint8Array, writeDoubleLE, writeFloatLE, writeInt32LE, writeInt64LE, writeUInt32LE } from "../utils/binary-utils.js";
|
|
7
7
|
export function encodeValues(type, values, opts) {
|
|
8
8
|
switch (type) {
|
|
9
9
|
case 'BOOLEAN':
|
|
@@ -49,8 +49,7 @@ export function decodeValues(type, cursor, count, opts) {
|
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
51
|
function encodeValues_BOOLEAN(values) {
|
|
52
|
-
const buf =
|
|
53
|
-
buf.fill(0);
|
|
52
|
+
const buf = new Uint8Array(Math.ceil(values.length / 8));
|
|
54
53
|
for (let i = 0; i < values.length; i++) {
|
|
55
54
|
if (values[i]) {
|
|
56
55
|
buf[Math.floor(i / 8)] |= 1 << (i % 8);
|
|
@@ -68,54 +67,48 @@ function decodeValues_BOOLEAN(cursor, count) {
|
|
|
68
67
|
return values;
|
|
69
68
|
}
|
|
70
69
|
function encodeValues_INT32(values) {
|
|
71
|
-
const buf =
|
|
70
|
+
const buf = new Uint8Array(4 * values.length);
|
|
72
71
|
for (let i = 0; i < values.length; i++) {
|
|
73
|
-
|
|
72
|
+
writeInt32LE(buf, values[i], i * 4);
|
|
74
73
|
}
|
|
75
74
|
return buf;
|
|
76
75
|
}
|
|
77
76
|
function decodeValues_INT32(cursor, count) {
|
|
78
77
|
const values = [];
|
|
79
78
|
for (let i = 0; i < count; i++) {
|
|
80
|
-
values.push(cursor.buffer
|
|
79
|
+
values.push(readInt32LE(cursor.buffer, cursor.offset));
|
|
81
80
|
cursor.offset += 4;
|
|
82
81
|
}
|
|
83
82
|
return values;
|
|
84
83
|
}
|
|
85
84
|
function encodeValues_INT64(values) {
|
|
86
|
-
const buf =
|
|
85
|
+
const buf = new Uint8Array(8 * values.length);
|
|
87
86
|
for (let i = 0; i < values.length; i++) {
|
|
88
|
-
|
|
87
|
+
writeInt64LE(buf, values[i], i * 8);
|
|
89
88
|
}
|
|
90
89
|
return buf;
|
|
91
90
|
}
|
|
92
91
|
function decodeValues_INT64(cursor, count) {
|
|
93
92
|
const values = [];
|
|
94
93
|
for (let i = 0; i < count; i++) {
|
|
95
|
-
values.push(
|
|
94
|
+
values.push(readInt64LE(cursor.buffer, cursor.offset));
|
|
96
95
|
cursor.offset += 8;
|
|
97
96
|
}
|
|
98
97
|
return values;
|
|
99
98
|
}
|
|
100
99
|
function encodeValues_INT96(values) {
|
|
101
|
-
const buf =
|
|
100
|
+
const buf = new Uint8Array(12 * values.length);
|
|
102
101
|
for (let i = 0; i < values.length; i++) {
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
buf.writeUInt32LE(0, i * 12 + 8); // truncate to 64 actual precision
|
|
106
|
-
}
|
|
107
|
-
else {
|
|
108
|
-
INT53.writeInt64LE(~-values[i] + 1, buf, i * 12);
|
|
109
|
-
buf.writeUInt32LE(0xffffffff, i * 12 + 8); // truncate to 64 actual precision
|
|
110
|
-
}
|
|
102
|
+
writeInt64LE(buf, values[i], i * 12);
|
|
103
|
+
writeUInt32LE(buf, values[i] >= 0 ? 0 : 0xffffffff, i * 12 + 8);
|
|
111
104
|
}
|
|
112
105
|
return buf;
|
|
113
106
|
}
|
|
114
107
|
function decodeValues_INT96(cursor, count) {
|
|
115
108
|
const values = [];
|
|
116
109
|
for (let i = 0; i < count; i++) {
|
|
117
|
-
const low =
|
|
118
|
-
const high = cursor.buffer
|
|
110
|
+
const low = readInt64LE(cursor.buffer, cursor.offset);
|
|
111
|
+
const high = readUInt32LE(cursor.buffer, cursor.offset + 8);
|
|
119
112
|
if (high === 0xffffffff) {
|
|
120
113
|
values.push(~-low + 1); // truncate to 64 actual precision
|
|
121
114
|
}
|
|
@@ -127,59 +120,58 @@ function decodeValues_INT96(cursor, count) {
|
|
|
127
120
|
return values;
|
|
128
121
|
}
|
|
129
122
|
function encodeValues_FLOAT(values) {
|
|
130
|
-
const buf =
|
|
123
|
+
const buf = new Uint8Array(4 * values.length);
|
|
131
124
|
for (let i = 0; i < values.length; i++) {
|
|
132
|
-
|
|
125
|
+
writeFloatLE(buf, values[i], i * 4);
|
|
133
126
|
}
|
|
134
127
|
return buf;
|
|
135
128
|
}
|
|
136
129
|
function decodeValues_FLOAT(cursor, count) {
|
|
137
130
|
const values = [];
|
|
138
131
|
for (let i = 0; i < count; i++) {
|
|
139
|
-
values.push(cursor.buffer
|
|
132
|
+
values.push(readFloatLE(cursor.buffer, cursor.offset));
|
|
140
133
|
cursor.offset += 4;
|
|
141
134
|
}
|
|
142
135
|
return values;
|
|
143
136
|
}
|
|
144
137
|
function encodeValues_DOUBLE(values) {
|
|
145
|
-
const buf =
|
|
138
|
+
const buf = new Uint8Array(8 * values.length);
|
|
146
139
|
for (let i = 0; i < values.length; i++) {
|
|
147
|
-
|
|
140
|
+
writeDoubleLE(buf, values[i], i * 8);
|
|
148
141
|
}
|
|
149
142
|
return buf;
|
|
150
143
|
}
|
|
151
144
|
function decodeValues_DOUBLE(cursor, count) {
|
|
152
145
|
const values = [];
|
|
153
146
|
for (let i = 0; i < count; i++) {
|
|
154
|
-
values.push(cursor.buffer
|
|
147
|
+
values.push(readDoubleLE(cursor.buffer, cursor.offset));
|
|
155
148
|
cursor.offset += 8;
|
|
156
149
|
}
|
|
157
150
|
return values;
|
|
158
151
|
}
|
|
159
152
|
function encodeValues_BYTE_ARRAY(values) {
|
|
153
|
+
const byteValues = values.map(toPrimitiveBytes);
|
|
160
154
|
// tslint:disable-next-line:variable-name
|
|
161
155
|
let buf_len = 0;
|
|
162
|
-
for (let i = 0; i <
|
|
163
|
-
|
|
164
|
-
buf_len += 4 + values[i].length;
|
|
156
|
+
for (let i = 0; i < byteValues.length; i++) {
|
|
157
|
+
buf_len += 4 + byteValues[i].length;
|
|
165
158
|
}
|
|
166
|
-
const buf =
|
|
159
|
+
const buf = new Uint8Array(buf_len);
|
|
167
160
|
// tslint:disable-next-line:variable-name
|
|
168
161
|
let buf_pos = 0;
|
|
169
|
-
for (let i = 0; i <
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
buf_pos += 4 +
|
|
162
|
+
for (let i = 0; i < byteValues.length; i++) {
|
|
163
|
+
writeUInt32LE(buf, byteValues[i].length, buf_pos);
|
|
164
|
+
buf.set(byteValues[i], buf_pos + 4);
|
|
165
|
+
buf_pos += 4 + byteValues[i].length;
|
|
173
166
|
}
|
|
174
167
|
return buf;
|
|
175
168
|
}
|
|
176
169
|
function decodeValues_BYTE_ARRAY(cursor, count) {
|
|
177
170
|
const values = [];
|
|
178
171
|
for (let i = 0; i < count; i++) {
|
|
179
|
-
const len = cursor.buffer
|
|
172
|
+
const len = readUInt32LE(cursor.buffer, cursor.offset);
|
|
180
173
|
cursor.offset += 4;
|
|
181
|
-
|
|
182
|
-
values.push(cursor.buffer.slice(cursor.offset, cursor.offset + len));
|
|
174
|
+
values.push(copyUint8Array(cursor.buffer.subarray(cursor.offset, cursor.offset + len)));
|
|
183
175
|
cursor.offset += len;
|
|
184
176
|
}
|
|
185
177
|
return values;
|
|
@@ -188,13 +180,13 @@ function encodeValues_FIXED_LEN_BYTE_ARRAY(values, opts) {
|
|
|
188
180
|
if (!opts.typeLength) {
|
|
189
181
|
throw new Error('missing option: typeLength (required for FIXED_LEN_BYTE_ARRAY)');
|
|
190
182
|
}
|
|
183
|
+
const byteValues = values.map(toPrimitiveBytes);
|
|
191
184
|
for (let i = 0; i < values.length; i++) {
|
|
192
|
-
|
|
193
|
-
if (values[i].length !== opts.typeLength) {
|
|
185
|
+
if (byteValues[i].length !== opts.typeLength) {
|
|
194
186
|
throw new Error(`invalid value for FIXED_LEN_BYTE_ARRAY: ${values[i]}`);
|
|
195
187
|
}
|
|
196
188
|
}
|
|
197
|
-
return
|
|
189
|
+
return concatUint8Arrays(byteValues);
|
|
198
190
|
}
|
|
199
191
|
function decodeValues_FIXED_LEN_BYTE_ARRAY(cursor, count, opts) {
|
|
200
192
|
const values = [];
|
|
@@ -202,9 +194,12 @@ function decodeValues_FIXED_LEN_BYTE_ARRAY(cursor, count, opts) {
|
|
|
202
194
|
throw new Error('missing option: typeLength (required for FIXED_LEN_BYTE_ARRAY)');
|
|
203
195
|
}
|
|
204
196
|
for (let i = 0; i < count; i++) {
|
|
205
|
-
values.push(cursor.buffer.
|
|
197
|
+
values.push(copyUint8Array(cursor.buffer.subarray(cursor.offset, cursor.offset + opts.typeLength)));
|
|
206
198
|
cursor.offset += opts.typeLength;
|
|
207
199
|
}
|
|
208
200
|
return values;
|
|
209
201
|
}
|
|
202
|
+
function toPrimitiveBytes(value) {
|
|
203
|
+
return typeof value === 'string' ? encodeUtf8(value) : toUint8Array(value);
|
|
204
|
+
}
|
|
210
205
|
//# sourceMappingURL=plain.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plain.js","sourceRoot":"","sources":["../../../src/parquetjs/codecs/plain.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AACpC,qCAAqC;AACrC,oEAAoE;AAKpE,OAAO,
|
|
1
|
+
{"version":3,"file":"plain.js","sourceRoot":"","sources":["../../../src/parquetjs/codecs/plain.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { PrimitiveType } from "../schema/declare.js";
|
|
2
2
|
import type { CursorBuffer, ParquetCodecOptions } from "./declare.js";
|
|
3
|
-
export declare function encodeValues(type: PrimitiveType, values: any[], opts: ParquetCodecOptions):
|
|
3
|
+
export declare function encodeValues(type: PrimitiveType, values: any[], opts: ParquetCodecOptions): Uint8Array;
|
|
4
4
|
export declare function decodeValues(type: PrimitiveType, cursor: CursorBuffer, count: number, opts: ParquetCodecOptions): number[];
|
|
5
5
|
//# sourceMappingURL=rle.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rle.d.ts","sourceRoot":"","sources":["../../../src/parquetjs/codecs/rle.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAC,aAAa,EAAC,6BAA0B;AACrD,OAAO,KAAK,EAAC,YAAY,EAAE,mBAAmB,EAAC,qBAAkB;
|
|
1
|
+
{"version":3,"file":"rle.d.ts","sourceRoot":"","sources":["../../../src/parquetjs/codecs/rle.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAC,aAAa,EAAC,6BAA0B;AACrD,OAAO,KAAK,EAAC,YAAY,EAAE,mBAAmB,EAAC,qBAAkB;AAKjE,wBAAgB,YAAY,CAC1B,IAAI,EAAE,aAAa,EACnB,MAAM,EAAE,GAAG,EAAE,EACb,IAAI,EAAE,mBAAmB,GACxB,UAAU,CA2DZ;AAED,wBAAgB,YAAY,CAC1B,IAAI,EAAE,aAAa,EACnB,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,mBAAmB,GACxB,MAAM,EAAE,CAkCV"}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
// Copyright (c) vis.gl contributors
|
|
4
4
|
// Copyright (c) 2017 ironSource Ltd.
|
|
5
5
|
// Forked from https://github.com/kbajalc/parquets under MIT license
|
|
6
|
+
import { concatUint8Arrays, writeUInt32LE } from "../utils/binary-utils.js";
|
|
6
7
|
import varint from 'varint';
|
|
7
8
|
// eslint-disable-next-line max-statements, complexity
|
|
8
9
|
export function encodeValues(type, values, opts) {
|
|
@@ -14,12 +15,12 @@ export function encodeValues(type, values, opts) {
|
|
|
14
15
|
case 'INT32':
|
|
15
16
|
case 'INT64':
|
|
16
17
|
// tslint:disable-next-line:no-parameter-reassignment
|
|
17
|
-
values = values.map(
|
|
18
|
+
values = values.map(x => parseInt(x, 10));
|
|
18
19
|
break;
|
|
19
20
|
default:
|
|
20
21
|
throw new Error(`unsupported type: ${type}`);
|
|
21
22
|
}
|
|
22
|
-
|
|
23
|
+
const buffers = [];
|
|
23
24
|
let run = [];
|
|
24
25
|
let repeats = 0;
|
|
25
26
|
for (let i = 0; i < values.length; i++) {
|
|
@@ -28,7 +29,7 @@ export function encodeValues(type, values, opts) {
|
|
|
28
29
|
if (repeats === 0 && run.length % 8 === 0 && values[i] === values[i + 1]) {
|
|
29
30
|
// If we have any data in runs we need to encode them
|
|
30
31
|
if (run.length) {
|
|
31
|
-
|
|
32
|
+
buffers.push(encodeRunBitpacked(run, opts));
|
|
32
33
|
run = [];
|
|
33
34
|
}
|
|
34
35
|
repeats = 1;
|
|
@@ -39,28 +40,25 @@ export function encodeValues(type, values, opts) {
|
|
|
39
40
|
else {
|
|
40
41
|
// If values changes we need to post any previous repeated values
|
|
41
42
|
if (repeats) {
|
|
42
|
-
|
|
43
|
+
buffers.push(encodeRunRepeated(values[i - 1], repeats, opts));
|
|
43
44
|
repeats = 0;
|
|
44
45
|
}
|
|
45
46
|
run.push(values[i]);
|
|
46
47
|
}
|
|
47
48
|
}
|
|
48
49
|
if (repeats) {
|
|
49
|
-
|
|
50
|
-
buf,
|
|
51
|
-
encodeRunRepeated(values[values.length - 1], repeats, opts)
|
|
52
|
-
]);
|
|
50
|
+
buffers.push(encodeRunRepeated(values[values.length - 1], repeats, opts));
|
|
53
51
|
}
|
|
54
52
|
else if (run.length) {
|
|
55
|
-
|
|
53
|
+
buffers.push(encodeRunBitpacked(run, opts));
|
|
56
54
|
}
|
|
55
|
+
const buf = concatUint8Arrays(buffers);
|
|
57
56
|
if (opts.disableEnvelope) {
|
|
58
57
|
return buf;
|
|
59
58
|
}
|
|
60
|
-
const envelope =
|
|
61
|
-
|
|
62
|
-
envelope.
|
|
63
|
-
buf.copy(envelope, 4);
|
|
59
|
+
const envelope = new Uint8Array(buf.length + 4);
|
|
60
|
+
writeUInt32LE(envelope, buf.length, 0);
|
|
61
|
+
envelope.set(buf, 4);
|
|
64
62
|
return envelope;
|
|
65
63
|
}
|
|
66
64
|
export function decodeValues(type, cursor, count, opts) {
|
|
@@ -129,26 +127,23 @@ function encodeRunBitpacked(values, opts) {
|
|
|
129
127
|
for (let i = 0; i < values.length % 8; i++) {
|
|
130
128
|
values.push(0);
|
|
131
129
|
}
|
|
132
|
-
const buf =
|
|
130
|
+
const buf = new Uint8Array(Math.ceil(bitWidth * (values.length / 8)));
|
|
133
131
|
for (let b = 0; b < bitWidth * values.length; b++) {
|
|
134
132
|
if ((values[Math.floor(b / bitWidth)] & (1 << (b % bitWidth))) > 0) {
|
|
135
133
|
buf[Math.floor(b / 8)] |= 1 << (b % 8);
|
|
136
134
|
}
|
|
137
135
|
}
|
|
138
|
-
return
|
|
139
|
-
Buffer.from(varint.encode(((values.length / 8) << 1) | 1)),
|
|
140
|
-
buf
|
|
141
|
-
]);
|
|
136
|
+
return concatUint8Arrays([Uint8Array.from(varint.encode(((values.length / 8) << 1) | 1)), buf]);
|
|
142
137
|
}
|
|
143
138
|
function encodeRunRepeated(value, count, opts) {
|
|
144
139
|
// @ts-ignore
|
|
145
140
|
const bitWidth = opts.bitWidth;
|
|
146
|
-
const buf =
|
|
141
|
+
const buf = new Uint8Array(Math.ceil(bitWidth / 8));
|
|
147
142
|
for (let i = 0; i < buf.length; i++) {
|
|
148
|
-
buf
|
|
143
|
+
buf[i] = value & 0xff;
|
|
149
144
|
// eslint-disable-next-line
|
|
150
145
|
value >> 8; // TODO - this looks wrong
|
|
151
146
|
}
|
|
152
|
-
return
|
|
147
|
+
return concatUint8Arrays([Uint8Array.from(varint.encode(count << 1)), buf]);
|
|
153
148
|
}
|
|
154
149
|
//# sourceMappingURL=rle.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rle.js","sourceRoot":"","sources":["../../../src/parquetjs/codecs/rle.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AACpC,qCAAqC;AACrC,oEAAoE;AAIpE,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,sDAAsD;AACtD,MAAM,UAAU,YAAY,CAC1B,IAAmB,EACnB,MAAa,EACb,IAAyB;IAEzB,IAAI,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC1C,CAAC;IAED,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,SAAS,CAAC;QACf,KAAK,OAAO,CAAC;QACb,KAAK,OAAO;YACV,qDAAqD;YACrD,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"rle.js","sourceRoot":"","sources":["../../../src/parquetjs/codecs/rle.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,10 +16,9 @@ export declare function preloadCompressions(options?: {
|
|
|
16
16
|
/**
|
|
17
17
|
* Deflate a value using compression method `method`
|
|
18
18
|
*/
|
|
19
|
-
export declare function deflate(method: ParquetCompression, value:
|
|
19
|
+
export declare function deflate(method: ParquetCompression, value: Uint8Array): Promise<Uint8Array>;
|
|
20
20
|
/**
|
|
21
21
|
* Inflate a value using compression method `method`
|
|
22
22
|
*/
|
|
23
|
-
export declare function decompress(method: ParquetCompression, value:
|
|
24
|
-
export declare function inflate(method: ParquetCompression, value: Buffer, size: number): Buffer;
|
|
23
|
+
export declare function decompress(method: ParquetCompression, value: Uint8Array, size: number): Promise<Uint8Array>;
|
|
25
24
|
//# sourceMappingURL=compression.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compression.d.ts","sourceRoot":"","sources":["../../src/parquetjs/compression.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,WAAW,EAQZ,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EAAC,kBAAkB,EAAC,4BAAyB;
|
|
1
|
+
{"version":3,"file":"compression.d.ts","sourceRoot":"","sources":["../../src/parquetjs/compression.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,WAAW,EAQZ,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EAAC,kBAAkB,EAAC,4BAAyB;AAyBpD;;GAEG;AAEH,eAAO,MAAM,2BAA2B,EAAE,MAAM,CAAC,kBAAkB,EAAE,WAAW,CAW/E,CAAC;AAEF;;;GAGG;AACH,wBAAsB,mBAAmB,CAAC,OAAO,CAAC,EAAE;IAAC,OAAO,CAAC,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAC,CAAA;CAAC,mBAInF;AAED;;GAEG;AACH,wBAAsB,OAAO,CAAC,MAAM,EAAE,kBAAkB,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAQhG;AAED;;GAEG;AACH,wBAAsB,UAAU,CAC9B,MAAM,EAAE,kBAAkB,EAC1B,KAAK,EAAE,UAAU,EACjB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,UAAU,CAAC,CAQrB"}
|
|
@@ -8,18 +8,7 @@ import { NoCompression, GZipCompression, SnappyCompression, BrotliCompression,
|
|
|
8
8
|
// LZOCompression,
|
|
9
9
|
LZ4Compression, ZstdCompression } from '@loaders.gl/compression';
|
|
10
10
|
import { registerJSModules } from '@loaders.gl/loader-utils';
|
|
11
|
-
|
|
12
|
-
function toBuffer(arrayBuffer) {
|
|
13
|
-
return Buffer.from(arrayBuffer);
|
|
14
|
-
}
|
|
15
|
-
function toArrayBuffer(buffer) {
|
|
16
|
-
// TODO - per docs we should just be able to call buffer.buffer, but there are issues
|
|
17
|
-
if (Buffer.isBuffer(buffer)) {
|
|
18
|
-
const typedArray = new Uint8Array(buffer.buffer, buffer.byteOffset, buffer.length);
|
|
19
|
-
return typedArray.slice().buffer;
|
|
20
|
-
}
|
|
21
|
-
return buffer;
|
|
22
|
-
}
|
|
11
|
+
import { toArrayBuffer, toUint8Array } from "./utils/binary-utils.js";
|
|
23
12
|
// TODO switch to worker compression to avoid bundling...
|
|
24
13
|
// import brotli from 'brotli'; - brotli has problems with decompress in browsers
|
|
25
14
|
// import brotliDecompress from 'brotli/decompress';
|
|
@@ -62,7 +51,7 @@ export const PARQUET_COMPRESSION_METHODS = {
|
|
|
62
51
|
export async function preloadCompressions(options) {
|
|
63
52
|
registerJSModules(options?.modules);
|
|
64
53
|
const compressions = Object.values(PARQUET_COMPRESSION_METHODS);
|
|
65
|
-
return await Promise.all(compressions.map(
|
|
54
|
+
return await Promise.all(compressions.map(compression => compression.preload(options?.modules)));
|
|
66
55
|
}
|
|
67
56
|
/**
|
|
68
57
|
* Deflate a value using compression method `method`
|
|
@@ -74,7 +63,7 @@ export async function deflate(method, value) {
|
|
|
74
63
|
}
|
|
75
64
|
const inputArrayBuffer = toArrayBuffer(value);
|
|
76
65
|
const compressedArrayBuffer = await compression.compress(inputArrayBuffer);
|
|
77
|
-
return
|
|
66
|
+
return toUint8Array(compressedArrayBuffer);
|
|
78
67
|
}
|
|
79
68
|
/**
|
|
80
69
|
* Inflate a value using compression method `method`
|
|
@@ -86,96 +75,6 @@ export async function decompress(method, value, size) {
|
|
|
86
75
|
}
|
|
87
76
|
const inputArrayBuffer = toArrayBuffer(value);
|
|
88
77
|
const compressedArrayBuffer = await compression.decompress(inputArrayBuffer, size);
|
|
89
|
-
return
|
|
90
|
-
}
|
|
91
|
-
/*
|
|
92
|
-
* Inflate a value using compression method `method`
|
|
93
|
-
*/
|
|
94
|
-
export function inflate(method, value, size) {
|
|
95
|
-
if (!(method in PARQUET_COMPRESSION_METHODS)) {
|
|
96
|
-
throw new Error(`invalid compression method: ${method}`);
|
|
97
|
-
}
|
|
98
|
-
// @ts-ignore
|
|
99
|
-
return PARQUET_COMPRESSION_METHODS[method].inflate(value, size);
|
|
100
|
-
}
|
|
101
|
-
/*
|
|
102
|
-
function deflate_identity(value: Buffer): Buffer {
|
|
103
|
-
return value;
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
function deflate_gzip(value: Buffer): Buffer {
|
|
107
|
-
return zlib.gzipSync(value);
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
function deflate_snappy(value: Buffer): Buffer {
|
|
111
|
-
return snappyjs.compress(value);
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
function deflate_lzo(value: Buffer): Buffer {
|
|
115
|
-
lzo = lzo || Util.load('lzo');
|
|
116
|
-
return lzo.compress(value);
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
function deflate_brotli(value: Buffer): Buffer {
|
|
120
|
-
brotli = brotli || Util.load('brotli');
|
|
121
|
-
const result = brotli.compress(value, {
|
|
122
|
-
mode: 0,
|
|
123
|
-
quality: 8,
|
|
124
|
-
lgwin: 22
|
|
125
|
-
});
|
|
126
|
-
return result ? Buffer.from(result) : Buffer.alloc(0);
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
function deflate_lz4(value: Buffer): Buffer {
|
|
130
|
-
lz4js = lz4js || Util.load('lz4js');
|
|
131
|
-
try {
|
|
132
|
-
// let result = Buffer.alloc(lz4js.encodeBound(value.length));
|
|
133
|
-
// const compressedSize = lz4.encodeBlock(value, result);
|
|
134
|
-
// // remove unnecessary bytes
|
|
135
|
-
// result = result.slice(0, compressedSize);
|
|
136
|
-
// return result;
|
|
137
|
-
return Buffer.from(lz4js.compress(value));
|
|
138
|
-
} catch (err) {
|
|
139
|
-
throw err;
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
function inflate_identity(value: Buffer): Buffer {
|
|
143
|
-
return value;
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
function inflate_gzip(value: Buffer): Buffer {
|
|
147
|
-
return zlib.gunzipSync(value);
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
function inflate_snappy(value: Buffer): Buffer {
|
|
151
|
-
return snappyjs.uncompress(value);
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
function inflate_lzo(value: Buffer, size: number): Buffer {
|
|
155
|
-
lzo = lzo || Util.load('lzo');
|
|
156
|
-
return lzo.decompress(value, size);
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
function inflate_lz4(value: Buffer, size: number): Buffer {
|
|
160
|
-
lz4js = lz4js || Util.load('lz4js');
|
|
161
|
-
try {
|
|
162
|
-
// let result = Buffer.alloc(size);
|
|
163
|
-
// const uncompressedSize = lz4js.decodeBlock(value, result);
|
|
164
|
-
// // remove unnecessary bytes
|
|
165
|
-
// result = result.slice(0, uncompressedSize);
|
|
166
|
-
// return result;
|
|
167
|
-
return Buffer.from(lz4js.decompress(value, size));
|
|
168
|
-
} catch (err) {
|
|
169
|
-
throw err;
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
|
|
173
|
-
function inflate_brotli(value: Buffer): Buffer {
|
|
174
|
-
brotli = brotli || Util.load('brotli');
|
|
175
|
-
if (!value.length) {
|
|
176
|
-
return Buffer.alloc(0);
|
|
177
|
-
}
|
|
178
|
-
return Buffer.from(brotli.decompress(value));
|
|
78
|
+
return toUint8Array(compressedArrayBuffer);
|
|
179
79
|
}
|
|
180
|
-
*/
|
|
181
80
|
//# sourceMappingURL=compression.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compression.js","sourceRoot":"","sources":["../../src/parquetjs/compression.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AACpC,qCAAqC;AACrC,oEAAoE;AACpE,wEAAwE;AAExE,OAAO,EAEL,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,iBAAiB;AACjB,kBAAkB;AAClB,cAAc,EACd,eAAe,EAChB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAC,iBAAiB,EAAC,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"compression.js","sourceRoot":"","sources":["../../src/parquetjs/compression.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AACpC,qCAAqC;AACrC,oEAAoE;AACpE,wEAAwE;AAExE,OAAO,EAEL,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,iBAAiB;AACjB,kBAAkB;AAClB,cAAc,EACd,eAAe,EAChB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAC,iBAAiB,EAAC,MAAM,0BAA0B,CAAC;AAG3D,OAAO,EAAC,aAAa,EAAE,YAAY,EAAC,gCAA6B;AAEjE,yDAAyD;AAEzD,iFAAiF;AACjF,oDAAoD;AACpD,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,yBAAyB;AACzB,wCAAwC;AAExC,oEAAoE;AACpE,MAAM,OAAO,GAAG;IACd,kDAAkD;IAClD,YAAY;IACZ,kCAAkC;IAClC,sBAAsB;IACtB,0CAA0C;IAC1C,MAAM;IACN,KAAK;IACL,KAAK;IACL,MAAM;IACN,0BAA0B;CAC3B,CAAC;AAEF;;GAEG;AACH,mBAAmB;AACnB,MAAM,CAAC,MAAM,2BAA2B,GAA4C;IAClF,YAAY,EAAE,IAAI,aAAa,EAAE;IACjC,IAAI,EAAE,IAAI,eAAe,EAAE;IAC3B,MAAM,EAAE,IAAI,iBAAiB,EAAE;IAC/B,MAAM,EAAE,IAAI,iBAAiB,CAAC,EAAC,OAAO,EAAC,CAAC;IACxC,sDAAsD;IACtD,GAAG,EAAE,IAAI,cAAc,CAAC,EAAC,OAAO,EAAC,CAAC;IAClC,OAAO,EAAE,IAAI,cAAc,CAAC,EAAC,OAAO,EAAC,CAAC;IACtC,EAAE;IACF,sCAAsC;IACtC,IAAI,EAAE,IAAI,eAAe,CAAC,EAAC,OAAO,EAAC,CAAC;CACrC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,OAA0C;IAClF,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACpC,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,2BAA2B,CAAC,CAAC;IAChE,OAAO,MAAM,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;AACnG,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,MAA0B,EAAE,KAAiB;IACzE,MAAM,WAAW,GAAG,2BAA2B,CAAC,MAAM,CAAC,CAAC;IACxD,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,wCAAwC,MAAM,EAAE,CAAC,CAAC;IACpE,CAAC;IACD,MAAM,gBAAgB,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,qBAAqB,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IAC3E,OAAO,YAAY,CAAC,qBAAqB,CAAC,CAAC;AAC7C,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,MAA0B,EAC1B,KAAiB,EACjB,IAAY;IAEZ,MAAM,WAAW,GAAG,2BAA2B,CAAC,MAAM,CAAC,CAAC;IACxD,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,wCAAwC,MAAM,EAAE,CAAC,CAAC;IACpE,CAAC;IACD,MAAM,gBAAgB,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,qBAAqB,GAAG,MAAM,WAAW,CAAC,UAAU,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;IACnF,OAAO,YAAY,CAAC,qBAAqB,CAAC,CAAC;AAC7C,CAAC"}
|
|
@@ -19,7 +19,7 @@ export interface ParquetEncoderOptions {
|
|
|
19
19
|
* buffering/batching for performance, so close() must be called after all rows
|
|
20
20
|
* are written.
|
|
21
21
|
*/
|
|
22
|
-
export declare class ParquetEncoder<
|
|
22
|
+
export declare class ParquetEncoder<_T> {
|
|
23
23
|
/**
|
|
24
24
|
* Convenience method to create a new buffered parquet writer that writes to
|
|
25
25
|
* the specified file
|
|
@@ -82,15 +82,15 @@ export declare class ParquetEnvelopeWriter {
|
|
|
82
82
|
*/
|
|
83
83
|
static openStream(schema: ParquetSchema, outputStream: stream.Writable, opts: ParquetEncoderOptions): Promise<ParquetEnvelopeWriter>;
|
|
84
84
|
schema: ParquetSchema;
|
|
85
|
-
write: (buf:
|
|
85
|
+
write: (buf: Uint8Array) => Promise<void>;
|
|
86
86
|
close: () => Promise<void>;
|
|
87
87
|
offset: number;
|
|
88
88
|
rowCount: number;
|
|
89
89
|
rowGroups: RowGroup[];
|
|
90
90
|
pageSize: number;
|
|
91
91
|
useDataPageV2: boolean;
|
|
92
|
-
constructor(schema: ParquetSchema, writeFn: (buf:
|
|
93
|
-
writeSection(buf:
|
|
92
|
+
constructor(schema: ParquetSchema, writeFn: (buf: Uint8Array) => Promise<void>, closeFn: () => Promise<void>, fileOffset: number, opts: ParquetEncoderOptions);
|
|
93
|
+
writeSection(buf: Uint8Array): Promise<void>;
|
|
94
94
|
/**
|
|
95
95
|
* Encode the parquet file header
|
|
96
96
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parquet-encoder.d.ts","sourceRoot":"","sources":["../../../src/parquetjs/encoder/parquet-encoder.ts"],"names":[],"mappings":"AAOA,OAAO,EAAC,MAAM,EAAC,MAAM,0BAA0B,CAAC;AAGhD,OAAO,EACL,eAAe,EAKf,UAAU,EACX,6BAA0B;AAC3B,OAAO,EAAC,aAAa,EAAC,4BAAyB;AAE/C,OAAO,EAaL,QAAQ,EAGT,mCAAgC;
|
|
1
|
+
{"version":3,"file":"parquet-encoder.d.ts","sourceRoot":"","sources":["../../../src/parquetjs/encoder/parquet-encoder.ts"],"names":[],"mappings":"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"}
|