@loaders.gl/parquet 3.1.0-alpha.5 → 3.1.0-beta.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bundle.d.ts +1 -0
- package/dist/bundle.d.ts.map +1 -0
- package/dist/bundle.js +5 -0
- package/dist/constants.d.ts +1 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +18 -0
- package/dist/dist.min.js +27 -13
- package/dist/dist.min.js.map +7 -1
- package/dist/es5/index.js +6 -26
- package/dist/es5/index.js.map +1 -1
- package/dist/es5/parquet-loader.js +1 -1
- package/dist/es5/parquet-loader.js.map +1 -1
- package/dist/es5/parquet-writer.js +1 -1
- package/dist/es5/parquet-writer.js.map +1 -1
- package/dist/es5/parquetjs/codecs/rle.js +1 -1
- package/dist/es5/parquetjs/codecs/rle.js.map +1 -1
- package/dist/es5/parquetjs/compression.js +1 -12
- package/dist/es5/parquetjs/compression.js.map +1 -1
- package/dist/es5/parquetjs/parser/decoders.js +1 -1
- package/dist/es5/parquetjs/parser/decoders.js.map +1 -1
- package/dist/es5/parquetjs/parser/parquet-envelope-reader.js +0 -13
- package/dist/es5/parquetjs/parser/parquet-envelope-reader.js.map +1 -1
- package/dist/es5/parquetjs/parser/parquet-reader.js +0 -13
- package/dist/es5/parquetjs/parser/parquet-reader.js.map +1 -1
- package/dist/es5/parquetjs/utils/file-utils.js +0 -53
- package/dist/es5/parquetjs/utils/file-utils.js.map +1 -1
- package/dist/esm/index.js +2 -3
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/parquet-loader.js +1 -1
- package/dist/esm/parquet-loader.js.map +1 -1
- package/dist/esm/parquet-writer.js +1 -1
- package/dist/esm/parquet-writer.js.map +1 -1
- package/dist/esm/parquetjs/codecs/rle.js +1 -1
- package/dist/esm/parquetjs/codecs/rle.js.map +1 -1
- package/dist/esm/parquetjs/compression.js +1 -10
- package/dist/esm/parquetjs/compression.js.map +1 -1
- package/dist/esm/parquetjs/parser/decoders.js +1 -1
- package/dist/esm/parquetjs/parser/decoders.js.map +1 -1
- package/dist/esm/parquetjs/parser/parquet-envelope-reader.js +0 -9
- package/dist/esm/parquetjs/parser/parquet-envelope-reader.js.map +1 -1
- package/dist/esm/parquetjs/parser/parquet-reader.js +0 -13
- package/dist/esm/parquetjs/parser/parquet-reader.js.map +1 -1
- package/dist/esm/parquetjs/utils/file-utils.js +0 -45
- package/dist/esm/parquetjs/utils/file-utils.js.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +30 -0
- package/dist/lib/convert-schema.d.ts +1 -0
- package/dist/lib/convert-schema.d.ts.map +1 -0
- package/dist/lib/convert-schema.js +70 -0
- package/dist/lib/parse-parquet.d.ts +1 -0
- package/dist/lib/parse-parquet.d.ts.map +1 -0
- package/dist/lib/parse-parquet.js +28 -0
- package/dist/lib/read-array-buffer.d.ts +1 -0
- package/dist/lib/read-array-buffer.d.ts.map +1 -0
- package/dist/lib/read-array-buffer.js +29 -0
- package/dist/parquet-loader.d.ts +1 -0
- package/dist/parquet-loader.d.ts.map +1 -0
- package/dist/parquet-loader.js +27 -0
- package/dist/parquet-worker.js +27 -13
- package/dist/parquet-worker.js.map +7 -1
- package/dist/parquet-writer.d.ts +1 -0
- package/dist/parquet-writer.d.ts.map +1 -0
- package/dist/parquet-writer.js +21 -0
- package/dist/parquetjs/codecs/declare.d.ts +1 -0
- package/dist/parquetjs/codecs/declare.d.ts.map +1 -0
- package/dist/parquetjs/codecs/declare.js +2 -0
- package/dist/parquetjs/codecs/dictionary.d.ts +1 -0
- package/dist/parquetjs/codecs/dictionary.d.ts.map +1 -0
- package/dist/parquetjs/codecs/dictionary.js +14 -0
- package/dist/parquetjs/codecs/index.d.ts +1 -0
- package/dist/parquetjs/codecs/index.d.ts.map +1 -0
- package/dist/parquetjs/codecs/index.js +51 -0
- package/dist/parquetjs/codecs/plain.d.ts +1 -0
- package/dist/parquetjs/codecs/plain.d.ts.map +1 -0
- package/dist/parquetjs/codecs/plain.js +211 -0
- package/dist/parquetjs/codecs/rle.d.ts +1 -0
- package/dist/parquetjs/codecs/rle.d.ts.map +1 -0
- package/dist/parquetjs/codecs/rle.js +145 -0
- package/dist/parquetjs/compression.d.ts +1 -0
- package/dist/parquetjs/compression.d.ts.map +1 -0
- package/dist/parquetjs/compression.js +168 -0
- package/dist/parquetjs/encoder/writer.d.ts +1 -0
- package/dist/parquetjs/encoder/writer.d.ts.map +1 -0
- package/dist/parquetjs/encoder/writer.js +478 -0
- package/dist/parquetjs/file.d.ts +1 -0
- package/dist/parquetjs/file.d.ts.map +1 -0
- package/dist/parquetjs/file.js +99 -0
- package/dist/parquetjs/parquet-thrift/BoundaryOrder.d.ts +1 -0
- package/dist/parquetjs/parquet-thrift/BoundaryOrder.d.ts.map +1 -0
- package/dist/parquetjs/parquet-thrift/BoundaryOrder.js +15 -0
- package/dist/parquetjs/parquet-thrift/BsonType.d.ts +1 -0
- package/dist/parquetjs/parquet-thrift/BsonType.d.ts.map +1 -0
- package/dist/parquetjs/parquet-thrift/BsonType.js +58 -0
- package/dist/parquetjs/parquet-thrift/ColumnChunk.d.ts +1 -0
- package/dist/parquetjs/parquet-thrift/ColumnChunk.d.ts.map +1 -0
- package/dist/parquetjs/parquet-thrift/ColumnChunk.js +207 -0
- package/dist/parquetjs/parquet-thrift/ColumnIndex.d.ts +1 -0
- package/dist/parquetjs/parquet-thrift/ColumnIndex.d.ts.map +1 -0
- package/dist/parquetjs/parquet-thrift/ColumnIndex.js +213 -0
- package/dist/parquetjs/parquet-thrift/ColumnMetaData.d.ts +1 -0
- package/dist/parquetjs/parquet-thrift/ColumnMetaData.d.ts.map +1 -0
- package/dist/parquetjs/parquet-thrift/ColumnMetaData.js +398 -0
- package/dist/parquetjs/parquet-thrift/ColumnOrder.d.ts +1 -0
- package/dist/parquetjs/parquet-thrift/ColumnOrder.d.ts.map +1 -0
- package/dist/parquetjs/parquet-thrift/ColumnOrder.js +104 -0
- package/dist/parquetjs/parquet-thrift/CompressionCodec.d.ts +1 -0
- package/dist/parquetjs/parquet-thrift/CompressionCodec.d.ts.map +1 -0
- package/dist/parquetjs/parquet-thrift/CompressionCodec.js +20 -0
- package/dist/parquetjs/parquet-thrift/ConvertedType.d.ts +1 -0
- package/dist/parquetjs/parquet-thrift/ConvertedType.d.ts.map +1 -0
- package/dist/parquetjs/parquet-thrift/ConvertedType.js +34 -0
- package/dist/parquetjs/parquet-thrift/DataPageHeader.d.ts +1 -0
- package/dist/parquetjs/parquet-thrift/DataPageHeader.d.ts.map +1 -0
- package/dist/parquetjs/parquet-thrift/DataPageHeader.js +166 -0
- package/dist/parquetjs/parquet-thrift/DataPageHeaderV2.d.ts +1 -0
- package/dist/parquetjs/parquet-thrift/DataPageHeaderV2.d.ts.map +1 -0
- package/dist/parquetjs/parquet-thrift/DataPageHeaderV2.js +226 -0
- package/dist/parquetjs/parquet-thrift/DateType.d.ts +1 -0
- package/dist/parquetjs/parquet-thrift/DateType.d.ts.map +1 -0
- package/dist/parquetjs/parquet-thrift/DateType.js +58 -0
- package/dist/parquetjs/parquet-thrift/DecimalType.d.ts +1 -0
- package/dist/parquetjs/parquet-thrift/DecimalType.d.ts.map +1 -0
- package/dist/parquetjs/parquet-thrift/DecimalType.js +105 -0
- package/dist/parquetjs/parquet-thrift/DictionaryPageHeader.d.ts +1 -0
- package/dist/parquetjs/parquet-thrift/DictionaryPageHeader.d.ts.map +1 -0
- package/dist/parquetjs/parquet-thrift/DictionaryPageHeader.js +122 -0
- package/dist/parquetjs/parquet-thrift/Encoding.d.ts +1 -0
- package/dist/parquetjs/parquet-thrift/Encoding.d.ts.map +1 -0
- package/dist/parquetjs/parquet-thrift/Encoding.js +20 -0
- package/dist/parquetjs/parquet-thrift/EnumType.d.ts +1 -0
- package/dist/parquetjs/parquet-thrift/EnumType.d.ts.map +1 -0
- package/dist/parquetjs/parquet-thrift/EnumType.js +58 -0
- package/dist/parquetjs/parquet-thrift/FieldRepetitionType.d.ts +1 -0
- package/dist/parquetjs/parquet-thrift/FieldRepetitionType.d.ts.map +1 -0
- package/dist/parquetjs/parquet-thrift/FieldRepetitionType.js +15 -0
- package/dist/parquetjs/parquet-thrift/FileMetaData.d.ts +1 -0
- package/dist/parquetjs/parquet-thrift/FileMetaData.d.ts.map +1 -0
- package/dist/parquetjs/parquet-thrift/FileMetaData.js +256 -0
- package/dist/parquetjs/parquet-thrift/IndexPageHeader.d.ts +1 -0
- package/dist/parquetjs/parquet-thrift/IndexPageHeader.d.ts.map +1 -0
- package/dist/parquetjs/parquet-thrift/IndexPageHeader.js +58 -0
- package/dist/parquetjs/parquet-thrift/IntType.d.ts +1 -0
- package/dist/parquetjs/parquet-thrift/IntType.d.ts.map +1 -0
- package/dist/parquetjs/parquet-thrift/IntType.js +105 -0
- package/dist/parquetjs/parquet-thrift/JsonType.d.ts +1 -0
- package/dist/parquetjs/parquet-thrift/JsonType.d.ts.map +1 -0
- package/dist/parquetjs/parquet-thrift/JsonType.js +58 -0
- package/dist/parquetjs/parquet-thrift/KeyValue.d.ts +1 -0
- package/dist/parquetjs/parquet-thrift/KeyValue.d.ts.map +1 -0
- package/dist/parquetjs/parquet-thrift/KeyValue.js +102 -0
- package/dist/parquetjs/parquet-thrift/ListType.d.ts +1 -0
- package/dist/parquetjs/parquet-thrift/ListType.d.ts.map +1 -0
- package/dist/parquetjs/parquet-thrift/ListType.js +58 -0
- package/dist/parquetjs/parquet-thrift/LogicalType.d.ts +1 -0
- package/dist/parquetjs/parquet-thrift/LogicalType.d.ts.map +1 -0
- package/dist/parquetjs/parquet-thrift/LogicalType.js +380 -0
- package/dist/parquetjs/parquet-thrift/MapType.d.ts +1 -0
- package/dist/parquetjs/parquet-thrift/MapType.d.ts.map +1 -0
- package/dist/parquetjs/parquet-thrift/MapType.js +58 -0
- package/dist/parquetjs/parquet-thrift/MicroSeconds.d.ts +1 -0
- package/dist/parquetjs/parquet-thrift/MicroSeconds.d.ts.map +1 -0
- package/dist/parquetjs/parquet-thrift/MicroSeconds.js +58 -0
- package/dist/parquetjs/parquet-thrift/MilliSeconds.d.ts +1 -0
- package/dist/parquetjs/parquet-thrift/MilliSeconds.d.ts.map +1 -0
- package/dist/parquetjs/parquet-thrift/MilliSeconds.js +58 -0
- package/dist/parquetjs/parquet-thrift/NullType.d.ts +1 -0
- package/dist/parquetjs/parquet-thrift/NullType.d.ts.map +1 -0
- package/dist/parquetjs/parquet-thrift/NullType.js +58 -0
- package/dist/parquetjs/parquet-thrift/OffsetIndex.d.ts +1 -0
- package/dist/parquetjs/parquet-thrift/OffsetIndex.d.ts.map +1 -0
- package/dist/parquetjs/parquet-thrift/OffsetIndex.js +97 -0
- package/dist/parquetjs/parquet-thrift/PageEncodingStats.d.ts +1 -0
- package/dist/parquetjs/parquet-thrift/PageEncodingStats.d.ts.map +1 -0
- package/dist/parquetjs/parquet-thrift/PageEncodingStats.js +127 -0
- package/dist/parquetjs/parquet-thrift/PageHeader.d.ts +1 -0
- package/dist/parquetjs/parquet-thrift/PageHeader.d.ts.map +1 -0
- package/dist/parquetjs/parquet-thrift/PageHeader.js +216 -0
- package/dist/parquetjs/parquet-thrift/PageLocation.d.ts +1 -0
- package/dist/parquetjs/parquet-thrift/PageLocation.d.ts.map +1 -0
- package/dist/parquetjs/parquet-thrift/PageLocation.js +141 -0
- package/dist/parquetjs/parquet-thrift/PageType.d.ts +1 -0
- package/dist/parquetjs/parquet-thrift/PageType.d.ts.map +1 -0
- package/dist/parquetjs/parquet-thrift/PageType.js +16 -0
- package/dist/parquetjs/parquet-thrift/RowGroup.d.ts +1 -0
- package/dist/parquetjs/parquet-thrift/RowGroup.d.ts.map +1 -0
- package/dist/parquetjs/parquet-thrift/RowGroup.js +182 -0
- package/dist/parquetjs/parquet-thrift/SchemaElement.d.ts +1 -0
- package/dist/parquetjs/parquet-thrift/SchemaElement.d.ts.map +1 -0
- package/dist/parquetjs/parquet-thrift/SchemaElement.js +239 -0
- package/dist/parquetjs/parquet-thrift/SortingColumn.d.ts +1 -0
- package/dist/parquetjs/parquet-thrift/SortingColumn.d.ts.map +1 -0
- package/dist/parquetjs/parquet-thrift/SortingColumn.js +127 -0
- package/dist/parquetjs/parquet-thrift/Statistics.d.ts +1 -0
- package/dist/parquetjs/parquet-thrift/Statistics.d.ts.map +1 -0
- package/dist/parquetjs/parquet-thrift/Statistics.js +176 -0
- package/dist/parquetjs/parquet-thrift/StringType.d.ts +1 -0
- package/dist/parquetjs/parquet-thrift/StringType.d.ts.map +1 -0
- package/dist/parquetjs/parquet-thrift/StringType.js +58 -0
- package/dist/parquetjs/parquet-thrift/TimeType.d.ts +1 -0
- package/dist/parquetjs/parquet-thrift/TimeType.d.ts.map +1 -0
- package/dist/parquetjs/parquet-thrift/TimeType.js +106 -0
- package/dist/parquetjs/parquet-thrift/TimeUnit.d.ts +1 -0
- package/dist/parquetjs/parquet-thrift/TimeUnit.d.ts.map +1 -0
- package/dist/parquetjs/parquet-thrift/TimeUnit.js +127 -0
- package/dist/parquetjs/parquet-thrift/TimestampType.d.ts +1 -0
- package/dist/parquetjs/parquet-thrift/TimestampType.d.ts.map +1 -0
- package/dist/parquetjs/parquet-thrift/TimestampType.js +106 -0
- package/dist/parquetjs/parquet-thrift/Type.d.ts +1 -0
- package/dist/parquetjs/parquet-thrift/Type.d.ts.map +1 -0
- package/dist/parquetjs/parquet-thrift/Type.js +20 -0
- package/dist/parquetjs/parquet-thrift/TypeDefinedOrder.d.ts +1 -0
- package/dist/parquetjs/parquet-thrift/TypeDefinedOrder.d.ts.map +1 -0
- package/dist/parquetjs/parquet-thrift/TypeDefinedOrder.js +58 -0
- package/dist/parquetjs/parquet-thrift/UUIDType.d.ts +1 -0
- package/dist/parquetjs/parquet-thrift/UUIDType.d.ts.map +1 -0
- package/dist/parquetjs/parquet-thrift/UUIDType.js +58 -0
- package/dist/parquetjs/parquet-thrift/index.d.ts +1 -0
- package/dist/parquetjs/parquet-thrift/index.d.ts.map +1 -0
- package/dist/parquetjs/parquet-thrift/index.js +61 -0
- package/dist/parquetjs/parser/decoders.d.ts +1 -0
- package/dist/parquetjs/parser/decoders.d.ts.map +1 -0
- package/dist/parquetjs/parser/decoders.js +318 -0
- package/dist/parquetjs/parser/parquet-cursor.d.ts +1 -0
- package/dist/parquetjs/parser/parquet-cursor.d.ts.map +1 -0
- package/dist/parquetjs/parser/parquet-cursor.js +74 -0
- package/dist/parquetjs/parser/parquet-envelope-reader.d.ts +1 -1
- package/dist/parquetjs/parser/parquet-envelope-reader.d.ts.map +1 -0
- package/dist/parquetjs/parser/parquet-envelope-reader.js +136 -0
- package/dist/parquetjs/parser/parquet-reader.d.ts +1 -5
- package/dist/parquetjs/parser/parquet-reader.d.ts.map +1 -0
- package/dist/parquetjs/parser/parquet-reader.js +134 -0
- package/dist/parquetjs/schema/declare.d.ts +1 -0
- package/dist/parquetjs/schema/declare.d.ts.map +1 -0
- package/dist/parquetjs/schema/declare.js +10 -0
- package/dist/parquetjs/schema/schema.d.ts +1 -0
- package/dist/parquetjs/schema/schema.d.ts.map +1 -0
- package/dist/parquetjs/schema/schema.js +162 -0
- package/dist/parquetjs/schema/shred.d.ts +1 -0
- package/dist/parquetjs/schema/shred.d.ts.map +1 -0
- package/dist/parquetjs/schema/shred.js +225 -0
- package/dist/parquetjs/schema/types.d.ts +1 -0
- package/dist/parquetjs/schema/types.d.ts.map +1 -0
- package/dist/parquetjs/schema/types.js +418 -0
- package/dist/parquetjs/utils/buffer-utils.d.ts +1 -0
- package/dist/parquetjs/utils/buffer-utils.d.ts.map +1 -0
- package/dist/parquetjs/utils/buffer-utils.js +22 -0
- package/dist/parquetjs/utils/file-utils.d.ts +1 -4
- package/dist/parquetjs/utils/file-utils.d.ts.map +1 -0
- package/dist/parquetjs/utils/file-utils.js +46 -0
- package/dist/parquetjs/utils/read-utils.d.ts +1 -0
- package/dist/parquetjs/utils/read-utils.d.ts.map +1 -0
- package/dist/parquetjs/utils/read-utils.js +109 -0
- package/dist/workers/parquet-worker.d.ts +1 -0
- package/dist/workers/parquet-worker.d.ts.map +1 -0
- package/dist/workers/parquet-worker.js +5 -0
- package/package.json +7 -8
- package/src/index.ts +3 -3
- package/src/parquetjs/codecs/rle.ts +1 -1
- package/src/parquetjs/compression.ts +10 -10
- package/src/parquetjs/parser/decoders.ts +1 -1
- package/src/parquetjs/parser/parquet-envelope-reader.ts +0 -11
- package/src/parquetjs/parser/parquet-reader.ts +0 -16
- package/src/parquetjs/utils/file-utils.ts +0 -49
|
@@ -2,51 +2,6 @@ import fs from 'fs';
|
|
|
2
2
|
export function load(name) {
|
|
3
3
|
return (module || global).require(name);
|
|
4
4
|
}
|
|
5
|
-
export function fopen(filePath) {
|
|
6
|
-
return new Promise((resolve, reject) => {
|
|
7
|
-
fs.open(filePath, 'r', (err, fd) => {
|
|
8
|
-
if (err) {
|
|
9
|
-
reject(err);
|
|
10
|
-
} else {
|
|
11
|
-
resolve(fd);
|
|
12
|
-
}
|
|
13
|
-
});
|
|
14
|
-
});
|
|
15
|
-
}
|
|
16
|
-
export function fstat(filePath) {
|
|
17
|
-
return new Promise((resolve, reject) => {
|
|
18
|
-
fs.stat(filePath, (err, stat) => {
|
|
19
|
-
if (err) {
|
|
20
|
-
reject(err);
|
|
21
|
-
} else {
|
|
22
|
-
resolve(stat);
|
|
23
|
-
}
|
|
24
|
-
});
|
|
25
|
-
});
|
|
26
|
-
}
|
|
27
|
-
export function fread(fd, position, length) {
|
|
28
|
-
const buffer = Buffer.alloc(length);
|
|
29
|
-
return new Promise((resolve, reject) => {
|
|
30
|
-
fs.read(fd, buffer, 0, length, position, (err, bytesRead, buf) => {
|
|
31
|
-
if (err || bytesRead !== length) {
|
|
32
|
-
reject(err || Error('read failed'));
|
|
33
|
-
} else {
|
|
34
|
-
resolve(buf);
|
|
35
|
-
}
|
|
36
|
-
});
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
export function fclose(fd) {
|
|
40
|
-
return new Promise((resolve, reject) => {
|
|
41
|
-
fs.close(fd, err => {
|
|
42
|
-
if (err) {
|
|
43
|
-
reject(err);
|
|
44
|
-
} else {
|
|
45
|
-
resolve();
|
|
46
|
-
}
|
|
47
|
-
});
|
|
48
|
-
});
|
|
49
|
-
}
|
|
50
5
|
export function oswrite(os, buf) {
|
|
51
6
|
return new Promise((resolve, reject) => {
|
|
52
7
|
os.write(buf, err => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/parquetjs/utils/file-utils.ts"],"names":["fs","load","name","module","global","require","
|
|
1
|
+
{"version":3,"sources":["../../../../src/parquetjs/utils/file-utils.ts"],"names":["fs","load","name","module","global","require","oswrite","os","buf","Promise","resolve","reject","write","err","osclose","close","osopen","path","opts","outputStream","createWriteStream","once","fd"],"mappings":"AACA,OAAOA,EAAP,MAAe,IAAf;AAGA,OAAO,SAASC,IAAT,CAAcC,IAAd,EAAiC;AACtC,SAAO,CAACC,MAAM,IAAKC,MAAZ,EAA4BC,OAA5B,CAAoCH,IAApC,CAAP;AACD;AAUD,OAAO,SAASI,OAAT,CAAiBC,EAAjB,EAA+BC,GAA/B,EAA2D;AAChE,SAAO,IAAIC,OAAJ,CAAY,CAACC,OAAD,EAAUC,MAAV,KAAqB;AACtCJ,IAAAA,EAAE,CAACK,KAAH,CAASJ,GAAT,EAAeK,GAAD,IAAS;AACrB,UAAIA,GAAJ,EAAS;AACPF,QAAAA,MAAM,CAACE,GAAD,CAAN;AACD,OAFD,MAEO;AACLH,QAAAA,OAAO;AACR;AACF,KAND;AAOD,GARM,CAAP;AASD;AAED,OAAO,SAASI,OAAT,CAAiBP,EAAjB,EAA8C;AACnD,SAAO,IAAIE,OAAJ,CAAY,CAACC,OAAD,EAAUC,MAAV,KAAqB;AACrCJ,IAAAA,EAAD,CAAYQ,KAAZ,CAAmBF,GAAD,IAAc;AAC9B,UAAIA,GAAJ,EAAS;AACPF,QAAAA,MAAM,CAACE,GAAD,CAAN;AACD,OAFD,MAEO;AACLH,QAAAA,OAAO;AACR;AACF,KAND;AAOD,GARM,CAAP;AASD;AAED,OAAO,SAASM,MAAT,CAAgBC,IAAhB,EAA8BC,IAA9B,EAAkF;AACvF,SAAO,IAAIT,OAAJ,CAAY,CAACC,OAAD,EAAUC,MAAV,KAAqB;AACtC,UAAMQ,YAAY,GAAGnB,EAAE,CAACoB,iBAAH,CAAqBH,IAArB,EAA2BC,IAA3B,CAArB;AACAC,IAAAA,YAAY,CAACE,IAAb,CAAkB,MAAlB,EAA2BC,EAAD,IAAQZ,OAAO,CAACS,YAAD,CAAzC;AACAA,IAAAA,YAAY,CAACE,IAAb,CAAkB,OAAlB,EAA4BR,GAAD,IAASF,MAAM,CAACE,GAAD,CAA1C;AACD,GAJM,CAAP;AAKD","sourcesContent":["// Forked from https://github.com/kbajalc/parquets under MIT license (Copyright (c) 2017 ironSource Ltd.)\nimport fs from 'fs';\nimport {Writable} from 'stream';\n\nexport function load(name: string): any {\n return (module || (global as any)).require(name);\n}\nexport interface WriteStreamOptions {\n flags?: string;\n encoding?: string;\n fd?: number;\n mode?: number;\n autoClose?: boolean;\n start?: number;\n}\n\nexport function oswrite(os: Writable, buf: Buffer): Promise<void> {\n return new Promise((resolve, reject) => {\n os.write(buf, (err) => {\n if (err) {\n reject(err);\n } else {\n resolve();\n }\n });\n });\n}\n\nexport function osclose(os: Writable): Promise<void> {\n return new Promise((resolve, reject) => {\n (os as any).close((err: any) => {\n if (err) {\n reject(err);\n } else {\n resolve();\n }\n });\n });\n}\n\nexport function osopen(path: string, opts?: WriteStreamOptions): Promise<fs.WriteStream> {\n return new Promise((resolve, reject) => {\n const outputStream = fs.createWriteStream(path, opts as any);\n outputStream.once('open', (fd) => resolve(outputStream));\n outputStream.once('error', (err) => reject(err));\n });\n}\n"],"file":"file-utils.js"}
|
package/dist/index.d.ts
CHANGED
|
@@ -20,9 +20,9 @@ export declare const ParquetLoader: {
|
|
|
20
20
|
};
|
|
21
21
|
export { ParquetWriter as _ParquetWriter } from './parquet-writer';
|
|
22
22
|
export { preloadCompressions } from './parquetjs/compression';
|
|
23
|
-
export { ParquetEnvelopeReader } from './parquetjs/parser/parquet-envelope-reader';
|
|
24
|
-
export { ParquetReader } from './parquetjs/parser/parquet-reader';
|
|
25
|
-
export { ParquetWriter, ParquetEnvelopeWriter, ParquetTransformer } from './parquetjs/encoder/writer';
|
|
26
23
|
export { ParquetSchema } from './parquetjs/schema/schema';
|
|
24
|
+
export { ParquetReader } from './parquetjs/parser/parquet-reader';
|
|
25
|
+
export { ParquetEnvelopeReader } from './parquetjs/parser/parquet-envelope-reader';
|
|
27
26
|
export { convertParquetToArrowSchema } from './lib/convert-schema';
|
|
28
27
|
export declare const _typecheckParquetLoader: LoaderWithParser;
|
|
28
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,0BAA0B,CAAC;AAI/D,OAAO,EAAC,aAAa,IAAI,mBAAmB,EAAC,MAAM,kBAAkB,CAAC;AACtE,OAAO,EAAC,YAAY,EAAE,yBAAyB,EAAC,MAAM,qBAAqB,CAAC;AAE5E,OAAO,EAAC,mBAAmB,EAAC,CAAC;AAE7B,6BAA6B;AAC7B,eAAO,MAAM,aAAa;;;;;;;;;;;;;;CAIzB,CAAC;AAIF,OAAO,EAAC,aAAa,IAAI,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAIjE,OAAO,EAAC,mBAAmB,EAAC,MAAM,yBAAyB,CAAC;AAE5D,OAAO,EAAC,aAAa,EAAC,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAC,aAAa,EAAC,MAAM,mCAAmC,CAAC;AAChE,OAAO,EAAC,qBAAqB,EAAC,MAAM,4CAA4C,CAAC;AAEjF,OAAO,EAAC,2BAA2B,EAAC,MAAM,sBAAsB,CAAC;AAGjE,eAAO,MAAM,uBAAuB,EAAE,gBAAgC,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports._typecheckParquetLoader = exports.convertParquetToArrowSchema = exports.ParquetEnvelopeReader = exports.ParquetReader = exports.ParquetSchema = exports.preloadCompressions = exports._ParquetWriter = exports.ParquetLoader = exports.ParquetWorkerLoader = void 0;
|
|
4
|
+
// ParquetLoader
|
|
5
|
+
const parquet_loader_1 = require("./parquet-loader");
|
|
6
|
+
Object.defineProperty(exports, "ParquetWorkerLoader", { enumerable: true, get: function () { return parquet_loader_1.ParquetLoader; } });
|
|
7
|
+
const parse_parquet_1 = require("./lib/parse-parquet");
|
|
8
|
+
/** ParquetJS table loader */
|
|
9
|
+
exports.ParquetLoader = {
|
|
10
|
+
...parquet_loader_1.ParquetLoader,
|
|
11
|
+
parse: parse_parquet_1.parseParquet,
|
|
12
|
+
parseFileInBatches: parse_parquet_1.parseParquetFileInBatches
|
|
13
|
+
};
|
|
14
|
+
// ParquetWriter
|
|
15
|
+
var parquet_writer_1 = require("./parquet-writer");
|
|
16
|
+
Object.defineProperty(exports, "_ParquetWriter", { enumerable: true, get: function () { return parquet_writer_1.ParquetWriter; } });
|
|
17
|
+
// EXPERIMENTAL - expose the internal parquetjs API
|
|
18
|
+
var compression_1 = require("./parquetjs/compression");
|
|
19
|
+
Object.defineProperty(exports, "preloadCompressions", { enumerable: true, get: function () { return compression_1.preloadCompressions; } });
|
|
20
|
+
var schema_1 = require("./parquetjs/schema/schema");
|
|
21
|
+
Object.defineProperty(exports, "ParquetSchema", { enumerable: true, get: function () { return schema_1.ParquetSchema; } });
|
|
22
|
+
var parquet_reader_1 = require("./parquetjs/parser/parquet-reader");
|
|
23
|
+
Object.defineProperty(exports, "ParquetReader", { enumerable: true, get: function () { return parquet_reader_1.ParquetReader; } });
|
|
24
|
+
var parquet_envelope_reader_1 = require("./parquetjs/parser/parquet-envelope-reader");
|
|
25
|
+
Object.defineProperty(exports, "ParquetEnvelopeReader", { enumerable: true, get: function () { return parquet_envelope_reader_1.ParquetEnvelopeReader; } });
|
|
26
|
+
// export {ParquetWriter, ParquetEnvelopeWriter, ParquetTransformer} from './parquetjs/encoder/writer';
|
|
27
|
+
var convert_schema_1 = require("./lib/convert-schema");
|
|
28
|
+
Object.defineProperty(exports, "convertParquetToArrowSchema", { enumerable: true, get: function () { return convert_schema_1.convertParquetToArrowSchema; } });
|
|
29
|
+
// TESTS
|
|
30
|
+
exports._typecheckParquetLoader = exports.ParquetLoader;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"convert-schema.d.ts","sourceRoot":"","sources":["../../src/lib/convert-schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAgC,WAAW,EAAC,MAAM,6BAA6B,CAAC;AAE5F,OAAO,EACL,MAAM,EAGN,QAAQ,EAaT,MAAM,oBAAoB,CAAC;AAE5B,eAAO,MAAM,oBAAoB,EAAE;KAAE,IAAI,IAAI,WAAW,GAAG,OAAO,QAAQ;CA+BzE,CAAC;AAEF,wBAAgB,2BAA2B,CAAC,aAAa,EAAE,aAAa,GAAG,MAAM,CAKhF"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.convertParquetToArrowSchema = exports.PARQUET_TYPE_MAPPING = void 0;
|
|
4
|
+
const schema_1 = require("@loaders.gl/schema");
|
|
5
|
+
exports.PARQUET_TYPE_MAPPING = {
|
|
6
|
+
BOOLEAN: schema_1.Bool,
|
|
7
|
+
INT32: schema_1.Int32,
|
|
8
|
+
INT64: schema_1.Float64,
|
|
9
|
+
INT96: schema_1.Float64,
|
|
10
|
+
FLOAT: schema_1.Float32,
|
|
11
|
+
DOUBLE: schema_1.Float64,
|
|
12
|
+
BYTE_ARRAY: schema_1.Binary,
|
|
13
|
+
FIXED_LEN_BYTE_ARRAY: schema_1.Binary,
|
|
14
|
+
UTF8: schema_1.Utf8,
|
|
15
|
+
DATE: schema_1.Int32,
|
|
16
|
+
TIME_MILLIS: schema_1.Int64,
|
|
17
|
+
TIME_MICROS: schema_1.Int64,
|
|
18
|
+
TIMESTAMP_MILLIS: schema_1.Int64,
|
|
19
|
+
TIMESTAMP_MICROS: schema_1.Int64,
|
|
20
|
+
UINT_8: schema_1.Int32,
|
|
21
|
+
UINT_16: schema_1.Uint16,
|
|
22
|
+
UINT_32: schema_1.Uint32,
|
|
23
|
+
UINT_64: schema_1.Uint64,
|
|
24
|
+
INT_8: schema_1.Int8,
|
|
25
|
+
INT_16: schema_1.Int16,
|
|
26
|
+
INT_32: schema_1.Int32,
|
|
27
|
+
INT_64: schema_1.Int64,
|
|
28
|
+
JSON: schema_1.Binary,
|
|
29
|
+
BSON: schema_1.Binary,
|
|
30
|
+
// TODO check interal type
|
|
31
|
+
INTERVAL: schema_1.Binary,
|
|
32
|
+
DECIMAL_INT32: schema_1.Float32,
|
|
33
|
+
DECIMAL_INT64: schema_1.Float64,
|
|
34
|
+
DECIMAL_BYTE_ARRAY: schema_1.Float64,
|
|
35
|
+
DECIMAL_FIXED_LEN_BYTE_ARRAY: schema_1.Float64
|
|
36
|
+
};
|
|
37
|
+
function convertParquetToArrowSchema(parquetSchema) {
|
|
38
|
+
const fields = getFields(parquetSchema.schema);
|
|
39
|
+
// TODO add metadata if needed.
|
|
40
|
+
return new schema_1.Schema(fields);
|
|
41
|
+
}
|
|
42
|
+
exports.convertParquetToArrowSchema = convertParquetToArrowSchema;
|
|
43
|
+
function getFieldMetadata(field) {
|
|
44
|
+
const metadata = new Map();
|
|
45
|
+
for (const key in field) {
|
|
46
|
+
if (key !== 'name') {
|
|
47
|
+
const value = typeof field[key] !== 'string' ? JSON.stringify(field[key]) : field[key];
|
|
48
|
+
metadata.set(key, value);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
return metadata;
|
|
52
|
+
}
|
|
53
|
+
function getFields(schema) {
|
|
54
|
+
const fields = [];
|
|
55
|
+
for (const name in schema) {
|
|
56
|
+
const field = schema[name];
|
|
57
|
+
if (field.fields) {
|
|
58
|
+
const childField = getFields(field.fields);
|
|
59
|
+
const nestedField = new schema_1.Field(name, new schema_1.Struct(childField), field.optional);
|
|
60
|
+
fields.push(nestedField);
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
const FieldType = exports.PARQUET_TYPE_MAPPING[field.type];
|
|
64
|
+
const metadata = getFieldMetadata(field);
|
|
65
|
+
const arrowField = new schema_1.Field(name, new FieldType(), field.optional, metadata);
|
|
66
|
+
fields.push(arrowField);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
return fields;
|
|
70
|
+
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import type { ParquetLoaderOptions } from '../parquet-loader';
|
|
2
2
|
export declare function parseParquet(arrayBuffer: ArrayBuffer, options?: ParquetLoaderOptions): Promise<any[][] | null>;
|
|
3
3
|
export declare function parseParquetFileInBatches(blob: Blob, options?: ParquetLoaderOptions): AsyncGenerator<any[][], void, unknown>;
|
|
4
|
+
//# sourceMappingURL=parse-parquet.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse-parquet.d.ts","sourceRoot":"","sources":["../../src/lib/parse-parquet.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,oBAAoB,EAAC,MAAM,mBAAmB,CAAC;AAI5D,wBAAsB,YAAY,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,oBAAoB,2BAM1F;AAED,wBAAuB,yBAAyB,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,oBAAoB,0CAa1F"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parseParquetFileInBatches = exports.parseParquet = void 0;
|
|
4
|
+
const parquet_reader_1 = require("../parquetjs/parser/parquet-reader");
|
|
5
|
+
async function parseParquet(arrayBuffer, options) {
|
|
6
|
+
const blob = new Blob([arrayBuffer]);
|
|
7
|
+
for await (const batch of parseParquetFileInBatches(blob, options)) {
|
|
8
|
+
return batch;
|
|
9
|
+
}
|
|
10
|
+
return null;
|
|
11
|
+
}
|
|
12
|
+
exports.parseParquet = parseParquet;
|
|
13
|
+
async function* parseParquetFileInBatches(blob, options) {
|
|
14
|
+
const reader = await parquet_reader_1.ParquetReader.openBlob(blob);
|
|
15
|
+
const rows = [];
|
|
16
|
+
try {
|
|
17
|
+
const cursor = reader.getCursor();
|
|
18
|
+
let record;
|
|
19
|
+
while ((record = await cursor.next())) {
|
|
20
|
+
rows.push(record);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
finally {
|
|
24
|
+
await reader.close();
|
|
25
|
+
}
|
|
26
|
+
yield rows;
|
|
27
|
+
}
|
|
28
|
+
exports.parseParquetFileInBatches = parseParquetFileInBatches;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"read-array-buffer.d.ts","sourceRoot":"","sources":["../../src/lib/read-array-buffer.ts"],"names":[],"mappings":"AAEA,wBAAsB,eAAe,CACnC,IAAI,EAAE,IAAI,GAAG,WAAW,GAAG,GAAG,EAC9B,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,WAAW,CAAC,CAMtB;AAED;;;;;;;;;;;;;;;;EAgBE"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Random-Access read
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.readArrayBuffer = void 0;
|
|
5
|
+
async function readArrayBuffer(file, start, length) {
|
|
6
|
+
if (file instanceof Blob) {
|
|
7
|
+
const slice = file.slice(start, start + length);
|
|
8
|
+
return await slice.arrayBuffer();
|
|
9
|
+
}
|
|
10
|
+
return await file.read(start, start + length);
|
|
11
|
+
}
|
|
12
|
+
exports.readArrayBuffer = readArrayBuffer;
|
|
13
|
+
/**
|
|
14
|
+
* Read a slice of a Blob or File, without loading the entire file into memory
|
|
15
|
+
* The trick when reading File objects is to read successive "slices" of the File
|
|
16
|
+
* Per spec https://w3c.github.io/FileAPI/, slicing a File only updates the start and end fields
|
|
17
|
+
* Actually reading from file happens in `readAsArrayBuffer`
|
|
18
|
+
* @param blob to read
|
|
19
|
+
export async function readBlob(blob: Blob): Promise<ArrayBuffer> {
|
|
20
|
+
return await new Promise((resolve, reject) => {
|
|
21
|
+
const fileReader = new FileReader();
|
|
22
|
+
fileReader.onload = (event: ProgressEvent<FileReader>) =>
|
|
23
|
+
resolve(event?.target?.result as ArrayBuffer);
|
|
24
|
+
// TODO - reject with a proper Error
|
|
25
|
+
fileReader.onerror = (error: ProgressEvent<FileReader>) => reject(error);
|
|
26
|
+
fileReader.readAsArrayBuffer(blob);
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
*/
|
package/dist/parquet-loader.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parquet-loader.d.ts","sourceRoot":"","sources":["../src/parquet-loader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,MAAM,EAAE,aAAa,EAAC,MAAM,0BAA0B,CAAC;AAMpE,oBAAY,oBAAoB,GAAG,aAAa,GAAG;IACjD,OAAO,CAAC,EAAE;QACR,IAAI,CAAC,EAAE,kBAAkB,CAAC;QAC1B,GAAG,CAAC,EAAE,MAAM,CAAC;KACd,CAAC;CACH,CAAC;AASF,6BAA6B;AAC7B,eAAO,MAAM,aAAa;;;;;;;;;;;;CAYzB,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,MAAsB,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports._typecheckParquetLoader = exports.ParquetLoader = void 0;
|
|
4
|
+
// __VERSION__ is injected by babel-plugin-version-inline
|
|
5
|
+
// @ts-ignore TS2304: Cannot find name '__VERSION__'.
|
|
6
|
+
const VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';
|
|
7
|
+
const DEFAULT_PARQUET_LOADER_OPTIONS = {
|
|
8
|
+
parquet: {
|
|
9
|
+
type: 'object-row-table',
|
|
10
|
+
url: undefined
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
/** ParquetJS table loader */
|
|
14
|
+
exports.ParquetLoader = {
|
|
15
|
+
name: 'Apache Parquet',
|
|
16
|
+
id: 'parquet',
|
|
17
|
+
module: 'parquet',
|
|
18
|
+
version: VERSION,
|
|
19
|
+
worker: true,
|
|
20
|
+
category: 'table',
|
|
21
|
+
extensions: ['parquet'],
|
|
22
|
+
mimeTypes: ['application/octet-stream'],
|
|
23
|
+
binary: true,
|
|
24
|
+
tests: ['PAR1', 'PARE'],
|
|
25
|
+
options: DEFAULT_PARQUET_LOADER_OPTIONS
|
|
26
|
+
};
|
|
27
|
+
exports._typecheckParquetLoader = exports.ParquetLoader;
|