@loaders.gl/parquet 3.1.0-beta.3 → 3.1.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/dist.min.js +6 -6
- package/dist/dist.min.js.map +2 -2
- package/dist/es5/bundle.js +1 -1
- package/dist/es5/bundle.js.map +1 -1
- package/dist/es5/constants.js +5 -5
- package/dist/es5/constants.js.map +1 -1
- package/dist/es5/index.js +19 -10
- package/dist/es5/index.js.map +1 -1
- package/dist/es5/lib/convert-schema.js +13 -13
- package/dist/es5/lib/convert-schema.js.map +1 -1
- package/dist/es5/lib/parse-parquet.js +154 -19
- package/dist/es5/lib/parse-parquet.js.map +1 -1
- package/dist/es5/lib/read-array-buffer.js +43 -6
- package/dist/es5/lib/read-array-buffer.js.map +1 -1
- package/dist/es5/parquet-loader.js +4 -4
- package/dist/es5/parquet-loader.js.map +1 -1
- package/dist/es5/parquet-writer.js +4 -4
- package/dist/es5/parquet-writer.js.map +1 -1
- package/dist/es5/parquetjs/codecs/dictionary.js +10 -2
- package/dist/es5/parquetjs/codecs/dictionary.js.map +1 -1
- package/dist/es5/parquetjs/codecs/index.js +6 -4
- package/dist/es5/parquetjs/codecs/index.js.map +1 -1
- package/dist/es5/parquetjs/codecs/plain.js +43 -41
- package/dist/es5/parquetjs/codecs/plain.js.map +1 -1
- package/dist/es5/parquetjs/codecs/rle.js +35 -25
- package/dist/es5/parquetjs/codecs/rle.js.map +1 -1
- package/dist/es5/parquetjs/compression.js +110 -27
- package/dist/es5/parquetjs/compression.js.map +1 -1
- package/dist/es5/parquetjs/encoder/writer.js +737 -301
- package/dist/es5/parquetjs/encoder/writer.js.map +1 -1
- package/dist/es5/parquetjs/file.js +15 -15
- package/dist/es5/parquetjs/file.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/BoundaryOrder.js +1 -1
- package/dist/es5/parquetjs/parquet-thrift/BsonType.js +45 -31
- package/dist/es5/parquetjs/parquet-thrift/BsonType.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/ColumnChunk.js +152 -141
- package/dist/es5/parquetjs/parquet-thrift/ColumnChunk.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/ColumnIndex.js +160 -147
- package/dist/es5/parquetjs/parquet-thrift/ColumnIndex.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/ColumnMetaData.js +259 -248
- package/dist/es5/parquetjs/parquet-thrift/ColumnMetaData.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/ColumnOrder.js +79 -67
- package/dist/es5/parquetjs/parquet-thrift/ColumnOrder.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/CompressionCodec.js +1 -1
- package/dist/es5/parquetjs/parquet-thrift/ConvertedType.js +1 -1
- package/dist/es5/parquetjs/parquet-thrift/DataPageHeader.js +124 -113
- package/dist/es5/parquetjs/parquet-thrift/DataPageHeader.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/DataPageHeaderV2.js +169 -158
- package/dist/es5/parquetjs/parquet-thrift/DataPageHeaderV2.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/DateType.js +45 -31
- package/dist/es5/parquetjs/parquet-thrift/DateType.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/DecimalType.js +79 -68
- package/dist/es5/parquetjs/parquet-thrift/DecimalType.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/DictionaryPageHeader.js +94 -83
- package/dist/es5/parquetjs/parquet-thrift/DictionaryPageHeader.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/Encoding.js +1 -1
- package/dist/es5/parquetjs/parquet-thrift/EnumType.js +45 -31
- package/dist/es5/parquetjs/parquet-thrift/EnumType.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/FieldRepetitionType.js +1 -1
- package/dist/es5/parquetjs/parquet-thrift/FileMetaData.js +182 -170
- package/dist/es5/parquetjs/parquet-thrift/FileMetaData.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/IndexPageHeader.js +45 -31
- package/dist/es5/parquetjs/parquet-thrift/IndexPageHeader.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/IntType.js +79 -68
- package/dist/es5/parquetjs/parquet-thrift/IntType.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/JsonType.js +45 -31
- package/dist/es5/parquetjs/parquet-thrift/JsonType.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/KeyValue.js +79 -68
- package/dist/es5/parquetjs/parquet-thrift/KeyValue.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/ListType.js +45 -31
- package/dist/es5/parquetjs/parquet-thrift/ListType.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/LogicalType.js +343 -319
- package/dist/es5/parquetjs/parquet-thrift/LogicalType.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/MapType.js +45 -31
- package/dist/es5/parquetjs/parquet-thrift/MapType.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/MicroSeconds.js +45 -31
- package/dist/es5/parquetjs/parquet-thrift/MicroSeconds.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/MilliSeconds.js +45 -31
- package/dist/es5/parquetjs/parquet-thrift/MilliSeconds.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/NullType.js +45 -31
- package/dist/es5/parquetjs/parquet-thrift/NullType.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/OffsetIndex.js +75 -64
- package/dist/es5/parquetjs/parquet-thrift/OffsetIndex.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/PageEncodingStats.js +94 -83
- package/dist/es5/parquetjs/parquet-thrift/PageEncodingStats.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/PageHeader.js +169 -158
- package/dist/es5/parquetjs/parquet-thrift/PageHeader.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/PageLocation.js +94 -83
- package/dist/es5/parquetjs/parquet-thrift/PageLocation.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/PageType.js +1 -1
- package/dist/es5/parquetjs/parquet-thrift/RowGroup.js +124 -113
- package/dist/es5/parquetjs/parquet-thrift/RowGroup.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/SchemaElement.js +199 -188
- package/dist/es5/parquetjs/parquet-thrift/SchemaElement.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/SortingColumn.js +94 -83
- package/dist/es5/parquetjs/parquet-thrift/SortingColumn.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/Statistics.js +135 -124
- package/dist/es5/parquetjs/parquet-thrift/Statistics.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/StringType.js +45 -31
- package/dist/es5/parquetjs/parquet-thrift/StringType.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/TimeType.js +79 -68
- package/dist/es5/parquetjs/parquet-thrift/TimeType.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/TimeUnit.js +101 -88
- package/dist/es5/parquetjs/parquet-thrift/TimeUnit.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/TimestampType.js +79 -68
- package/dist/es5/parquetjs/parquet-thrift/TimestampType.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/Type.js +1 -1
- package/dist/es5/parquetjs/parquet-thrift/TypeDefinedOrder.js +45 -31
- package/dist/es5/parquetjs/parquet-thrift/TypeDefinedOrder.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/UUIDType.js +45 -31
- package/dist/es5/parquetjs/parquet-thrift/UUIDType.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/index.js +43 -43
- package/dist/es5/parquetjs/parser/decoders.js +391 -218
- package/dist/es5/parquetjs/parser/decoders.js.map +1 -1
- package/dist/es5/parquetjs/parser/parquet-cursor.js +180 -62
- package/dist/es5/parquetjs/parser/parquet-cursor.js.map +1 -1
- package/dist/es5/parquetjs/parser/parquet-envelope-reader.js +370 -125
- package/dist/es5/parquetjs/parser/parquet-envelope-reader.js.map +1 -1
- package/dist/es5/parquetjs/parser/parquet-reader.js +320 -91
- package/dist/es5/parquetjs/parser/parquet-reader.js.map +1 -1
- package/dist/es5/parquetjs/schema/declare.js +11 -9
- package/dist/es5/parquetjs/schema/declare.js.map +1 -1
- package/dist/es5/parquetjs/schema/schema.js +87 -73
- package/dist/es5/parquetjs/schema/schema.js.map +1 -1
- package/dist/es5/parquetjs/schema/shred.js +96 -56
- package/dist/es5/parquetjs/schema/shred.js.map +1 -1
- package/dist/es5/parquetjs/schema/types.js +40 -39
- package/dist/es5/parquetjs/schema/types.js.map +1 -1
- package/dist/es5/parquetjs/utils/buffer-utils.js +1 -1
- package/dist/es5/parquetjs/utils/buffer-utils.js.map +1 -1
- package/dist/es5/parquetjs/utils/file-utils.js +12 -8
- package/dist/es5/parquetjs/utils/file-utils.js.map +1 -1
- package/dist/es5/parquetjs/utils/read-utils.js +50 -22
- package/dist/es5/parquetjs/utils/read-utils.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/package.json +5 -5
|
@@ -11,7 +11,7 @@ exports.PARQUET_LOGICAL_TYPES = void 0;
|
|
|
11
11
|
|
|
12
12
|
var _bson = _interopRequireDefault(require("bson"));
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
var PARQUET_LOGICAL_TYPES = {
|
|
15
15
|
BOOLEAN: {
|
|
16
16
|
primitiveType: 'BOOLEAN',
|
|
17
17
|
toPrimitive: toPrimitive_BOOLEAN,
|
|
@@ -196,7 +196,7 @@ function fromPrimitive_BOOLEAN(value) {
|
|
|
196
196
|
}
|
|
197
197
|
|
|
198
198
|
function toPrimitive_FLOAT(value) {
|
|
199
|
-
|
|
199
|
+
var v = parseFloat(value);
|
|
200
200
|
|
|
201
201
|
if (isNaN(v)) {
|
|
202
202
|
throw new Error("invalid value for FLOAT: ".concat(value));
|
|
@@ -206,7 +206,7 @@ function toPrimitive_FLOAT(value) {
|
|
|
206
206
|
}
|
|
207
207
|
|
|
208
208
|
function toPrimitive_DOUBLE(value) {
|
|
209
|
-
|
|
209
|
+
var v = parseFloat(value);
|
|
210
210
|
|
|
211
211
|
if (isNaN(v)) {
|
|
212
212
|
throw new Error("invalid value for DOUBLE: ".concat(value));
|
|
@@ -216,7 +216,7 @@ function toPrimitive_DOUBLE(value) {
|
|
|
216
216
|
}
|
|
217
217
|
|
|
218
218
|
function toPrimitive_INT8(value) {
|
|
219
|
-
|
|
219
|
+
var v = parseInt(value, 10);
|
|
220
220
|
|
|
221
221
|
if (v < -0x80 || v > 0x7f || isNaN(v)) {
|
|
222
222
|
throw new Error("invalid value for INT8: ".concat(value));
|
|
@@ -226,7 +226,7 @@ function toPrimitive_INT8(value) {
|
|
|
226
226
|
}
|
|
227
227
|
|
|
228
228
|
function toPrimitive_UINT8(value) {
|
|
229
|
-
|
|
229
|
+
var v = parseInt(value, 10);
|
|
230
230
|
|
|
231
231
|
if (v < 0 || v > 0xff || isNaN(v)) {
|
|
232
232
|
throw new Error("invalid value for UINT8: ".concat(value));
|
|
@@ -236,7 +236,7 @@ function toPrimitive_UINT8(value) {
|
|
|
236
236
|
}
|
|
237
237
|
|
|
238
238
|
function toPrimitive_INT16(value) {
|
|
239
|
-
|
|
239
|
+
var v = parseInt(value, 10);
|
|
240
240
|
|
|
241
241
|
if (v < -0x8000 || v > 0x7fff || isNaN(v)) {
|
|
242
242
|
throw new Error("invalid value for INT16: ".concat(value));
|
|
@@ -246,7 +246,7 @@ function toPrimitive_INT16(value) {
|
|
|
246
246
|
}
|
|
247
247
|
|
|
248
248
|
function toPrimitive_UINT16(value) {
|
|
249
|
-
|
|
249
|
+
var v = parseInt(value, 10);
|
|
250
250
|
|
|
251
251
|
if (v < 0 || v > 0xffff || isNaN(v)) {
|
|
252
252
|
throw new Error("invalid value for UINT16: ".concat(value));
|
|
@@ -256,7 +256,7 @@ function toPrimitive_UINT16(value) {
|
|
|
256
256
|
}
|
|
257
257
|
|
|
258
258
|
function toPrimitive_INT32(value) {
|
|
259
|
-
|
|
259
|
+
var v = parseInt(value, 10);
|
|
260
260
|
|
|
261
261
|
if (v < -0x80000000 || v > 0x7fffffff || isNaN(v)) {
|
|
262
262
|
throw new Error("invalid value for INT32: ".concat(value));
|
|
@@ -266,8 +266,8 @@ function toPrimitive_INT32(value) {
|
|
|
266
266
|
}
|
|
267
267
|
|
|
268
268
|
function decimalToPrimitive_INT32(value, field) {
|
|
269
|
-
|
|
270
|
-
|
|
269
|
+
var primitiveValue = value * Math.pow(10, field.scale || 0);
|
|
270
|
+
var v = Math.round(primitiveValue * Math.pow(10, -field.presision) % 1 * Math.pow(10, field.presision));
|
|
271
271
|
|
|
272
272
|
if (v < -0x80000000 || v > 0x7fffffff || isNaN(v)) {
|
|
273
273
|
throw new Error("invalid value for INT32: ".concat(value));
|
|
@@ -277,7 +277,7 @@ function decimalToPrimitive_INT32(value, field) {
|
|
|
277
277
|
}
|
|
278
278
|
|
|
279
279
|
function toPrimitive_UINT32(value) {
|
|
280
|
-
|
|
280
|
+
var v = parseInt(value, 10);
|
|
281
281
|
|
|
282
282
|
if (v < 0 || v > 0xffffffffffff || isNaN(v)) {
|
|
283
283
|
throw new Error("invalid value for UINT32: ".concat(value));
|
|
@@ -287,7 +287,7 @@ function toPrimitive_UINT32(value) {
|
|
|
287
287
|
}
|
|
288
288
|
|
|
289
289
|
function toPrimitive_INT64(value) {
|
|
290
|
-
|
|
290
|
+
var v = parseInt(value, 10);
|
|
291
291
|
|
|
292
292
|
if (isNaN(v)) {
|
|
293
293
|
throw new Error("invalid value for INT64: ".concat(value));
|
|
@@ -297,8 +297,8 @@ function toPrimitive_INT64(value) {
|
|
|
297
297
|
}
|
|
298
298
|
|
|
299
299
|
function decimalToPrimitive_INT64(value, field) {
|
|
300
|
-
|
|
301
|
-
|
|
300
|
+
var primitiveValue = value * Math.pow(10, field.scale || 0);
|
|
301
|
+
var v = Math.round(primitiveValue * Math.pow(10, -field.presision) % 1 * Math.pow(10, field.presision));
|
|
302
302
|
|
|
303
303
|
if (isNaN(v)) {
|
|
304
304
|
throw new Error("invalid value for INT64: ".concat(value));
|
|
@@ -308,7 +308,7 @@ function decimalToPrimitive_INT64(value, field) {
|
|
|
308
308
|
}
|
|
309
309
|
|
|
310
310
|
function toPrimitive_UINT64(value) {
|
|
311
|
-
|
|
311
|
+
var v = parseInt(value, 10);
|
|
312
312
|
|
|
313
313
|
if (v < 0 || isNaN(v)) {
|
|
314
314
|
throw new Error("invalid value for UINT64: ".concat(value));
|
|
@@ -318,7 +318,7 @@ function toPrimitive_UINT64(value) {
|
|
|
318
318
|
}
|
|
319
319
|
|
|
320
320
|
function toPrimitive_INT96(value) {
|
|
321
|
-
|
|
321
|
+
var v = parseInt(value, 10);
|
|
322
322
|
|
|
323
323
|
if (isNaN(v)) {
|
|
324
324
|
throw new Error("invalid value for INT96: ".concat(value));
|
|
@@ -360,7 +360,7 @@ function fromPrimitive_BSON(value) {
|
|
|
360
360
|
}
|
|
361
361
|
|
|
362
362
|
function toPrimitive_TIME_MILLIS(value) {
|
|
363
|
-
|
|
363
|
+
var v = parseInt(value, 10);
|
|
364
364
|
|
|
365
365
|
if (v < 0 || v > 0xffffffffffffffff || isNaN(v)) {
|
|
366
366
|
throw new Error("invalid value for TIME_MILLIS: ".concat(value));
|
|
@@ -370,7 +370,7 @@ function toPrimitive_TIME_MILLIS(value) {
|
|
|
370
370
|
}
|
|
371
371
|
|
|
372
372
|
function toPrimitive_TIME_MICROS(value) {
|
|
373
|
-
|
|
373
|
+
var v = parseInt(value, 10);
|
|
374
374
|
|
|
375
375
|
if (v < 0 || isNaN(v)) {
|
|
376
376
|
throw new Error("invalid value for TIME_MICROS: ".concat(value));
|
|
@@ -379,7 +379,7 @@ function toPrimitive_TIME_MICROS(value) {
|
|
|
379
379
|
return v;
|
|
380
380
|
}
|
|
381
381
|
|
|
382
|
-
|
|
382
|
+
var kMillisPerDay = 86400000;
|
|
383
383
|
|
|
384
384
|
function toPrimitive_DATE(value) {
|
|
385
385
|
if (value instanceof Date) {
|
|
@@ -387,7 +387,7 @@ function toPrimitive_DATE(value) {
|
|
|
387
387
|
}
|
|
388
388
|
|
|
389
389
|
{
|
|
390
|
-
|
|
390
|
+
var v = parseInt(value, 10);
|
|
391
391
|
|
|
392
392
|
if (v < 0 || isNaN(v)) {
|
|
393
393
|
throw new Error("invalid value for DATE: ".concat(value));
|
|
@@ -407,7 +407,7 @@ function toPrimitive_TIMESTAMP_MILLIS(value) {
|
|
|
407
407
|
}
|
|
408
408
|
|
|
409
409
|
{
|
|
410
|
-
|
|
410
|
+
var v = parseInt(value, 10);
|
|
411
411
|
|
|
412
412
|
if (v < 0 || isNaN(v)) {
|
|
413
413
|
throw new Error("invalid value for TIMESTAMP_MILLIS: ".concat(value));
|
|
@@ -427,7 +427,7 @@ function toPrimitive_TIMESTAMP_MICROS(value) {
|
|
|
427
427
|
}
|
|
428
428
|
|
|
429
429
|
{
|
|
430
|
-
|
|
430
|
+
var v = parseInt(value, 10);
|
|
431
431
|
|
|
432
432
|
if (v < 0 || isNaN(v)) {
|
|
433
433
|
throw new Error("invalid value for TIMESTAMP_MICROS: ".concat(value));
|
|
@@ -446,7 +446,7 @@ function toPrimitive_INTERVAL(value) {
|
|
|
446
446
|
throw new Error('value for INTERVAL must be object { months: ..., days: ..., milliseconds: ... }');
|
|
447
447
|
}
|
|
448
448
|
|
|
449
|
-
|
|
449
|
+
var buf = Buffer.alloc(12);
|
|
450
450
|
buf.writeUInt32LE(value.months, 0);
|
|
451
451
|
buf.writeUInt32LE(value.days, 4);
|
|
452
452
|
buf.writeUInt32LE(value.milliseconds, 8);
|
|
@@ -454,38 +454,39 @@ function toPrimitive_INTERVAL(value) {
|
|
|
454
454
|
}
|
|
455
455
|
|
|
456
456
|
function fromPrimitive_INTERVAL(value) {
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
457
|
+
var buf = Buffer.from(value);
|
|
458
|
+
var months = buf.readUInt32LE(0);
|
|
459
|
+
var days = buf.readUInt32LE(4);
|
|
460
|
+
var millis = buf.readUInt32LE(8);
|
|
461
461
|
return {
|
|
462
|
-
months,
|
|
463
|
-
days,
|
|
462
|
+
months: months,
|
|
463
|
+
days: days,
|
|
464
464
|
milliseconds: millis
|
|
465
465
|
};
|
|
466
466
|
}
|
|
467
467
|
|
|
468
468
|
function decimalFromPrimitive_INT(value, field) {
|
|
469
|
-
|
|
470
|
-
return presisionInt * 10
|
|
469
|
+
var presisionInt = Math.round(value * Math.pow(10, -field.presision) % 1 * Math.pow(10, field.presision));
|
|
470
|
+
return presisionInt * Math.pow(10, -(field.scale || 0));
|
|
471
471
|
}
|
|
472
472
|
|
|
473
473
|
function decimalFromPrimitive_BYTE_ARRAY(value, field) {
|
|
474
|
-
|
|
474
|
+
var number = 0;
|
|
475
475
|
|
|
476
476
|
if (value.length <= 4) {
|
|
477
|
-
for (
|
|
478
|
-
|
|
477
|
+
for (var i = 0; i < value.length; i++) {
|
|
478
|
+
var component = value[i] << 8 * (value.length - i - 1);
|
|
479
479
|
number += component;
|
|
480
480
|
}
|
|
481
481
|
} else {
|
|
482
|
-
for (
|
|
483
|
-
|
|
484
|
-
|
|
482
|
+
for (var _i = 0; _i < value.length; _i++) {
|
|
483
|
+
var _component = value[_i] * Math.pow(2, 8 * (value.length - 1 - _i));
|
|
484
|
+
|
|
485
|
+
number += _component;
|
|
485
486
|
}
|
|
486
487
|
}
|
|
487
488
|
|
|
488
|
-
|
|
489
|
-
return presisionInt * 10
|
|
489
|
+
var presisionInt = Math.round(number * Math.pow(10, -field.presision) % 1 * Math.pow(10, field.presision));
|
|
490
|
+
return presisionInt * Math.pow(10, -(field.scale || 0));
|
|
490
491
|
}
|
|
491
492
|
//# sourceMappingURL=types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/parquetjs/schema/types.ts"],"names":["PARQUET_LOGICAL_TYPES","BOOLEAN","primitiveType","toPrimitive","toPrimitive_BOOLEAN","fromPrimitive","fromPrimitive_BOOLEAN","INT32","toPrimitive_INT32","INT64","toPrimitive_INT64","INT96","toPrimitive_INT96","FLOAT","toPrimitive_FLOAT","DOUBLE","toPrimitive_DOUBLE","BYTE_ARRAY","toPrimitive_BYTE_ARRAY","FIXED_LEN_BYTE_ARRAY","UTF8","originalType","toPrimitive_UTF8","fromPrimitive_UTF8","TIME_MILLIS","toPrimitive_TIME_MILLIS","TIME_MICROS","toPrimitive_TIME_MICROS","DATE","toPrimitive_DATE","fromPrimitive_DATE","TIMESTAMP_MILLIS","toPrimitive_TIMESTAMP_MILLIS","fromPrimitive_TIMESTAMP_MILLIS","TIMESTAMP_MICROS","toPrimitive_TIMESTAMP_MICROS","fromPrimitive_TIMESTAMP_MICROS","UINT_8","toPrimitive_UINT8","UINT_16","toPrimitive_UINT16","UINT_32","toPrimitive_UINT32","UINT_64","toPrimitive_UINT64","INT_8","toPrimitive_INT8","INT_16","toPrimitive_INT16","INT_32","INT_64","JSON","toPrimitive_JSON","fromPrimitive_JSON","BSON","toPrimitive_BSON","fromPrimitive_BSON","INTERVAL","typeLength","toPrimitive_INTERVAL","fromPrimitive_INTERVAL","DECIMAL_INT32","decimalToPrimitive_INT32","decimalFromPrimitive_INT","DECIMAL_INT64","decimalToPrimitive_INT64","DECIMAL_BYTE_ARRAY","decimalToPrimitive_BYTE_ARRAY","decimalFromPrimitive_BYTE_ARRAY","DECIMAL_FIXED_LEN_BYTE_ARRAY","type","value","field","Error","Boolean","v","parseFloat","isNaN","parseInt","primitiveValue","scale","Math","round","presision","Buffer","from","toString","stringify","parse","serialize","deserialize","kMillisPerDay","Date","getTime","months","days","milliseconds","buf","alloc","writeUInt32LE","readUInt32LE","millis","presisionInt","number","length","i","component"],"mappings":"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","sourcesContent":["// Forked from https://github.com/kbajalc/parquets under MIT license (Copyright (c) 2017 ironSource Ltd.)\n/* eslint-disable camelcase */\nimport BSON from 'bson';\nimport {OriginalType, ParquetField, ParquetType, PrimitiveType} from './declare';\n\nexport interface ParquetTypeKit {\n primitiveType: PrimitiveType;\n originalType?: OriginalType;\n typeLength?: number;\n toPrimitive: Function;\n fromPrimitive?: Function;\n}\n\nexport const PARQUET_LOGICAL_TYPES: Record<ParquetType, ParquetTypeKit> = {\n BOOLEAN: {\n primitiveType: 'BOOLEAN',\n toPrimitive: toPrimitive_BOOLEAN,\n fromPrimitive: fromPrimitive_BOOLEAN\n },\n INT32: {\n primitiveType: 'INT32',\n toPrimitive: toPrimitive_INT32\n },\n INT64: {\n primitiveType: 'INT64',\n toPrimitive: toPrimitive_INT64\n },\n INT96: {\n primitiveType: 'INT96',\n toPrimitive: toPrimitive_INT96\n },\n FLOAT: {\n primitiveType: 'FLOAT',\n toPrimitive: toPrimitive_FLOAT\n },\n DOUBLE: {\n primitiveType: 'DOUBLE',\n toPrimitive: toPrimitive_DOUBLE\n },\n BYTE_ARRAY: {\n primitiveType: 'BYTE_ARRAY',\n toPrimitive: toPrimitive_BYTE_ARRAY\n },\n FIXED_LEN_BYTE_ARRAY: {\n primitiveType: 'FIXED_LEN_BYTE_ARRAY',\n toPrimitive: toPrimitive_BYTE_ARRAY\n },\n UTF8: {\n primitiveType: 'BYTE_ARRAY',\n originalType: 'UTF8',\n toPrimitive: toPrimitive_UTF8,\n fromPrimitive: fromPrimitive_UTF8\n },\n TIME_MILLIS: {\n primitiveType: 'INT32',\n originalType: 'TIME_MILLIS',\n toPrimitive: toPrimitive_TIME_MILLIS\n },\n TIME_MICROS: {\n primitiveType: 'INT64',\n originalType: 'TIME_MICROS',\n toPrimitive: toPrimitive_TIME_MICROS\n },\n DATE: {\n primitiveType: 'INT32',\n originalType: 'DATE',\n toPrimitive: toPrimitive_DATE,\n fromPrimitive: fromPrimitive_DATE\n },\n TIMESTAMP_MILLIS: {\n primitiveType: 'INT64',\n originalType: 'TIMESTAMP_MILLIS',\n toPrimitive: toPrimitive_TIMESTAMP_MILLIS,\n fromPrimitive: fromPrimitive_TIMESTAMP_MILLIS\n },\n TIMESTAMP_MICROS: {\n primitiveType: 'INT64',\n originalType: 'TIMESTAMP_MICROS',\n toPrimitive: toPrimitive_TIMESTAMP_MICROS,\n fromPrimitive: fromPrimitive_TIMESTAMP_MICROS\n },\n UINT_8: {\n primitiveType: 'INT32',\n originalType: 'UINT_8',\n toPrimitive: toPrimitive_UINT8\n },\n UINT_16: {\n primitiveType: 'INT32',\n originalType: 'UINT_16',\n toPrimitive: toPrimitive_UINT16\n },\n UINT_32: {\n primitiveType: 'INT32',\n originalType: 'UINT_32',\n toPrimitive: toPrimitive_UINT32\n },\n UINT_64: {\n primitiveType: 'INT64',\n originalType: 'UINT_64',\n toPrimitive: toPrimitive_UINT64\n },\n INT_8: {\n primitiveType: 'INT32',\n originalType: 'INT_8',\n toPrimitive: toPrimitive_INT8\n },\n INT_16: {\n primitiveType: 'INT32',\n originalType: 'INT_16',\n toPrimitive: toPrimitive_INT16\n },\n INT_32: {\n primitiveType: 'INT32',\n originalType: 'INT_32',\n toPrimitive: toPrimitive_INT32\n },\n INT_64: {\n primitiveType: 'INT64',\n originalType: 'INT_64',\n toPrimitive: toPrimitive_INT64\n },\n JSON: {\n primitiveType: 'BYTE_ARRAY',\n originalType: 'JSON',\n toPrimitive: toPrimitive_JSON,\n fromPrimitive: fromPrimitive_JSON\n },\n BSON: {\n primitiveType: 'BYTE_ARRAY',\n originalType: 'BSON',\n toPrimitive: toPrimitive_BSON,\n fromPrimitive: fromPrimitive_BSON\n },\n INTERVAL: {\n primitiveType: 'FIXED_LEN_BYTE_ARRAY',\n originalType: 'INTERVAL',\n typeLength: 12,\n toPrimitive: toPrimitive_INTERVAL,\n fromPrimitive: fromPrimitive_INTERVAL\n },\n DECIMAL_INT32: {\n primitiveType: 'INT32',\n originalType: 'DECIMAL_INT32',\n toPrimitive: decimalToPrimitive_INT32,\n fromPrimitive: decimalFromPrimitive_INT\n },\n DECIMAL_INT64: {\n primitiveType: 'INT64',\n originalType: 'DECIMAL_INT64',\n toPrimitive: decimalToPrimitive_INT64,\n fromPrimitive: decimalFromPrimitive_INT\n },\n DECIMAL_BYTE_ARRAY: {\n primitiveType: 'BYTE_ARRAY',\n originalType: 'DECIMAL_BYTE_ARRAY',\n toPrimitive: decimalToPrimitive_BYTE_ARRAY,\n fromPrimitive: decimalFromPrimitive_BYTE_ARRAY\n },\n DECIMAL_FIXED_LEN_BYTE_ARRAY: {\n primitiveType: 'FIXED_LEN_BYTE_ARRAY',\n originalType: 'DECIMAL_FIXED_LEN_BYTE_ARRAY',\n toPrimitive: decimalToPrimitive_BYTE_ARRAY,\n fromPrimitive: decimalFromPrimitive_BYTE_ARRAY\n }\n};\n\n/**\n * Convert a value from it's native representation to the internal/underlying\n * primitive type\n */\nexport function toPrimitive(type: ParquetType, value: any, field?: ParquetField) {\n if (!(type in PARQUET_LOGICAL_TYPES)) {\n throw new Error(`invalid type: ${type}`);\n }\n\n return PARQUET_LOGICAL_TYPES[type].toPrimitive(value, field);\n}\n\n/**\n * Convert a value from it's internal/underlying primitive representation to\n * the native representation\n */\nexport function fromPrimitive(type: ParquetType, value: any, field?: ParquetField) {\n if (!(type in PARQUET_LOGICAL_TYPES)) {\n throw new Error(`invalid type: ${type}`);\n }\n\n if ('fromPrimitive' in PARQUET_LOGICAL_TYPES[type]) {\n return PARQUET_LOGICAL_TYPES[type].fromPrimitive?.(value, field);\n // tslint:disable-next-line:no-else-after-return\n }\n return value;\n}\n\nfunction toPrimitive_BOOLEAN(value: any) {\n return Boolean(value);\n}\n\nfunction fromPrimitive_BOOLEAN(value: any) {\n return Boolean(value);\n}\n\nfunction toPrimitive_FLOAT(value: any) {\n const v = parseFloat(value);\n if (isNaN(v)) {\n throw new Error(`invalid value for FLOAT: ${value}`);\n }\n\n return v;\n}\n\nfunction toPrimitive_DOUBLE(value: any) {\n const v = parseFloat(value);\n if (isNaN(v)) {\n throw new Error(`invalid value for DOUBLE: ${value}`);\n }\n\n return v;\n}\n\nfunction toPrimitive_INT8(value: any) {\n const v = parseInt(value, 10);\n if (v < -0x80 || v > 0x7f || isNaN(v)) {\n throw new Error(`invalid value for INT8: ${value}`);\n }\n\n return v;\n}\n\nfunction toPrimitive_UINT8(value: any) {\n const v = parseInt(value, 10);\n if (v < 0 || v > 0xff || isNaN(v)) {\n throw new Error(`invalid value for UINT8: ${value}`);\n }\n\n return v;\n}\n\nfunction toPrimitive_INT16(value: any) {\n const v = parseInt(value, 10);\n if (v < -0x8000 || v > 0x7fff || isNaN(v)) {\n throw new Error(`invalid value for INT16: ${value}`);\n }\n\n return v;\n}\n\nfunction toPrimitive_UINT16(value: any) {\n const v = parseInt(value, 10);\n if (v < 0 || v > 0xffff || isNaN(v)) {\n throw new Error(`invalid value for UINT16: ${value}`);\n }\n\n return v;\n}\n\nfunction toPrimitive_INT32(value: any) {\n const v = parseInt(value, 10);\n if (v < -0x80000000 || v > 0x7fffffff || isNaN(v)) {\n throw new Error(`invalid value for INT32: ${value}`);\n }\n\n return v;\n}\n\nfunction decimalToPrimitive_INT32(value: number, field: ParquetField) {\n const primitiveValue = value * 10 ** (field.scale || 0);\n const v = Math.round(((primitiveValue * 10 ** -field.presision!) % 1) * 10 ** field.presision!);\n if (v < -0x80000000 || v > 0x7fffffff || isNaN(v)) {\n throw new Error(`invalid value for INT32: ${value}`);\n }\n\n return v;\n}\n\nfunction toPrimitive_UINT32(value: any) {\n const v = parseInt(value, 10);\n if (v < 0 || v > 0xffffffffffff || isNaN(v)) {\n throw new Error(`invalid value for UINT32: ${value}`);\n }\n\n return v;\n}\n\nfunction toPrimitive_INT64(value: any) {\n const v = parseInt(value, 10);\n if (isNaN(v)) {\n throw new Error(`invalid value for INT64: ${value}`);\n }\n\n return v;\n}\n\nfunction decimalToPrimitive_INT64(value: number, field: ParquetField) {\n const primitiveValue = value * 10 ** (field.scale || 0);\n const v = Math.round(((primitiveValue * 10 ** -field.presision!) % 1) * 10 ** field.presision!);\n if (isNaN(v)) {\n throw new Error(`invalid value for INT64: ${value}`);\n }\n\n return v;\n}\n\nfunction toPrimitive_UINT64(value: any) {\n const v = parseInt(value, 10);\n if (v < 0 || isNaN(v)) {\n throw new Error(`invalid value for UINT64: ${value}`);\n }\n\n return v;\n}\n\nfunction toPrimitive_INT96(value: any) {\n const v = parseInt(value, 10);\n if (isNaN(v)) {\n throw new Error(`invalid value for INT96: ${value}`);\n }\n\n return v;\n}\n\nfunction toPrimitive_BYTE_ARRAY(value: any) {\n return Buffer.from(value);\n}\n\nfunction decimalToPrimitive_BYTE_ARRAY(value: any) {\n // TBD\n return Buffer.from(value);\n}\n\nfunction toPrimitive_UTF8(value: any) {\n return Buffer.from(value, 'utf8');\n}\n\nfunction fromPrimitive_UTF8(value: any) {\n return value.toString();\n}\n\nfunction toPrimitive_JSON(value: any) {\n return Buffer.from(JSON.stringify(value));\n}\n\nfunction fromPrimitive_JSON(value: any) {\n return JSON.parse(value);\n}\n\nfunction toPrimitive_BSON(value: any) {\n return Buffer.from(BSON.serialize(value));\n}\n\nfunction fromPrimitive_BSON(value: any) {\n return BSON.deserialize(value);\n}\n\nfunction toPrimitive_TIME_MILLIS(value: any) {\n const v = parseInt(value, 10);\n if (v < 0 || v > 0xffffffffffffffff || isNaN(v)) {\n throw new Error(`invalid value for TIME_MILLIS: ${value}`);\n }\n\n return v;\n}\n\nfunction toPrimitive_TIME_MICROS(value: any) {\n const v = parseInt(value, 10);\n if (v < 0 || isNaN(v)) {\n throw new Error(`invalid value for TIME_MICROS: ${value}`);\n }\n\n return v;\n}\n\nconst kMillisPerDay = 86400000;\n\nfunction toPrimitive_DATE(value: any) {\n /* convert from date */\n if (value instanceof Date) {\n return value.getTime() / kMillisPerDay;\n }\n\n /* convert from integer */\n {\n const v = parseInt(value, 10);\n if (v < 0 || isNaN(v)) {\n throw new Error(`invalid value for DATE: ${value}`);\n }\n\n return v;\n }\n}\n\nfunction fromPrimitive_DATE(value: any) {\n return new Date(value * kMillisPerDay);\n}\n\nfunction toPrimitive_TIMESTAMP_MILLIS(value: any) {\n /* convert from date */\n if (value instanceof Date) {\n return value.getTime();\n }\n\n /* convert from integer */\n {\n const v = parseInt(value, 10);\n if (v < 0 || isNaN(v)) {\n throw new Error(`invalid value for TIMESTAMP_MILLIS: ${value}`);\n }\n\n return v;\n }\n}\n\nfunction fromPrimitive_TIMESTAMP_MILLIS(value: any) {\n return new Date(value);\n}\n\nfunction toPrimitive_TIMESTAMP_MICROS(value: any) {\n /* convert from date */\n if (value instanceof Date) {\n return value.getTime() * 1000;\n }\n\n /* convert from integer */\n {\n const v = parseInt(value, 10);\n if (v < 0 || isNaN(v)) {\n throw new Error(`invalid value for TIMESTAMP_MICROS: ${value}`);\n }\n\n return v;\n }\n}\n\nfunction fromPrimitive_TIMESTAMP_MICROS(value: any) {\n return new Date(value / 1000);\n}\n\nfunction toPrimitive_INTERVAL(value: any) {\n if (!value.months || !value.days || !value.milliseconds) {\n throw new Error(\n 'value for INTERVAL must be object { months: ..., days: ..., milliseconds: ... }'\n );\n }\n\n const buf = Buffer.alloc(12);\n\n buf.writeUInt32LE(value.months, 0);\n buf.writeUInt32LE(value.days, 4);\n buf.writeUInt32LE(value.milliseconds, 8);\n return buf;\n}\n\nfunction fromPrimitive_INTERVAL(value: any) {\n const buf = Buffer.from(value);\n const months = buf.readUInt32LE(0);\n const days = buf.readUInt32LE(4);\n const millis = buf.readUInt32LE(8);\n\n return {months, days, milliseconds: millis};\n}\n\nfunction decimalFromPrimitive_INT(value: any, field: ParquetField) {\n const presisionInt = Math.round(((value * 10 ** -field.presision!) % 1) * 10 ** field.presision!);\n return presisionInt * 10 ** -(field.scale || 0);\n}\n\nfunction decimalFromPrimitive_BYTE_ARRAY(value: any, field: ParquetField) {\n let number = 0;\n if (value.length <= 4) {\n // Bytewise operators faster. Use them if it is possible\n for (let i = 0; i < value.length; i++) {\n // `value.length - i - 1` bytes have reverse order (big-endian)\n const component = value[i] << (8 * (value.length - i - 1));\n number += component;\n }\n } else {\n for (let i = 0; i < value.length; i++) {\n // `value.length - i - 1` bytes have reverse order (big-endian)\n const component = value[i] * 2 ** (8 * (value.length - 1 - i));\n number += component;\n }\n }\n\n const presisionInt = Math.round(\n ((number * 10 ** -field.presision!) % 1) * 10 ** field.presision!\n );\n return presisionInt * 10 ** -(field.scale || 0);\n}\n"],"file":"types.js"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/parquetjs/schema/types.ts"],"names":["PARQUET_LOGICAL_TYPES","BOOLEAN","primitiveType","toPrimitive","toPrimitive_BOOLEAN","fromPrimitive","fromPrimitive_BOOLEAN","INT32","toPrimitive_INT32","INT64","toPrimitive_INT64","INT96","toPrimitive_INT96","FLOAT","toPrimitive_FLOAT","DOUBLE","toPrimitive_DOUBLE","BYTE_ARRAY","toPrimitive_BYTE_ARRAY","FIXED_LEN_BYTE_ARRAY","UTF8","originalType","toPrimitive_UTF8","fromPrimitive_UTF8","TIME_MILLIS","toPrimitive_TIME_MILLIS","TIME_MICROS","toPrimitive_TIME_MICROS","DATE","toPrimitive_DATE","fromPrimitive_DATE","TIMESTAMP_MILLIS","toPrimitive_TIMESTAMP_MILLIS","fromPrimitive_TIMESTAMP_MILLIS","TIMESTAMP_MICROS","toPrimitive_TIMESTAMP_MICROS","fromPrimitive_TIMESTAMP_MICROS","UINT_8","toPrimitive_UINT8","UINT_16","toPrimitive_UINT16","UINT_32","toPrimitive_UINT32","UINT_64","toPrimitive_UINT64","INT_8","toPrimitive_INT8","INT_16","toPrimitive_INT16","INT_32","INT_64","JSON","toPrimitive_JSON","fromPrimitive_JSON","BSON","toPrimitive_BSON","fromPrimitive_BSON","INTERVAL","typeLength","toPrimitive_INTERVAL","fromPrimitive_INTERVAL","DECIMAL_INT32","decimalToPrimitive_INT32","decimalFromPrimitive_INT","DECIMAL_INT64","decimalToPrimitive_INT64","DECIMAL_BYTE_ARRAY","decimalToPrimitive_BYTE_ARRAY","decimalFromPrimitive_BYTE_ARRAY","DECIMAL_FIXED_LEN_BYTE_ARRAY","type","value","field","Error","Boolean","v","parseFloat","isNaN","parseInt","primitiveValue","scale","Math","round","presision","Buffer","from","toString","stringify","parse","serialize","deserialize","kMillisPerDay","Date","getTime","months","days","milliseconds","buf","alloc","writeUInt32LE","readUInt32LE","millis","presisionInt","number","length","i","component"],"mappings":"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","sourcesContent":["// Forked from https://github.com/kbajalc/parquets under MIT license (Copyright (c) 2017 ironSource Ltd.)\n/* eslint-disable camelcase */\nimport BSON from 'bson';\nimport {OriginalType, ParquetField, ParquetType, PrimitiveType} from './declare';\n\nexport interface ParquetTypeKit {\n primitiveType: PrimitiveType;\n originalType?: OriginalType;\n typeLength?: number;\n toPrimitive: Function;\n fromPrimitive?: Function;\n}\n\nexport const PARQUET_LOGICAL_TYPES: Record<ParquetType, ParquetTypeKit> = {\n BOOLEAN: {\n primitiveType: 'BOOLEAN',\n toPrimitive: toPrimitive_BOOLEAN,\n fromPrimitive: fromPrimitive_BOOLEAN\n },\n INT32: {\n primitiveType: 'INT32',\n toPrimitive: toPrimitive_INT32\n },\n INT64: {\n primitiveType: 'INT64',\n toPrimitive: toPrimitive_INT64\n },\n INT96: {\n primitiveType: 'INT96',\n toPrimitive: toPrimitive_INT96\n },\n FLOAT: {\n primitiveType: 'FLOAT',\n toPrimitive: toPrimitive_FLOAT\n },\n DOUBLE: {\n primitiveType: 'DOUBLE',\n toPrimitive: toPrimitive_DOUBLE\n },\n BYTE_ARRAY: {\n primitiveType: 'BYTE_ARRAY',\n toPrimitive: toPrimitive_BYTE_ARRAY\n },\n FIXED_LEN_BYTE_ARRAY: {\n primitiveType: 'FIXED_LEN_BYTE_ARRAY',\n toPrimitive: toPrimitive_BYTE_ARRAY\n },\n UTF8: {\n primitiveType: 'BYTE_ARRAY',\n originalType: 'UTF8',\n toPrimitive: toPrimitive_UTF8,\n fromPrimitive: fromPrimitive_UTF8\n },\n TIME_MILLIS: {\n primitiveType: 'INT32',\n originalType: 'TIME_MILLIS',\n toPrimitive: toPrimitive_TIME_MILLIS\n },\n TIME_MICROS: {\n primitiveType: 'INT64',\n originalType: 'TIME_MICROS',\n toPrimitive: toPrimitive_TIME_MICROS\n },\n DATE: {\n primitiveType: 'INT32',\n originalType: 'DATE',\n toPrimitive: toPrimitive_DATE,\n fromPrimitive: fromPrimitive_DATE\n },\n TIMESTAMP_MILLIS: {\n primitiveType: 'INT64',\n originalType: 'TIMESTAMP_MILLIS',\n toPrimitive: toPrimitive_TIMESTAMP_MILLIS,\n fromPrimitive: fromPrimitive_TIMESTAMP_MILLIS\n },\n TIMESTAMP_MICROS: {\n primitiveType: 'INT64',\n originalType: 'TIMESTAMP_MICROS',\n toPrimitive: toPrimitive_TIMESTAMP_MICROS,\n fromPrimitive: fromPrimitive_TIMESTAMP_MICROS\n },\n UINT_8: {\n primitiveType: 'INT32',\n originalType: 'UINT_8',\n toPrimitive: toPrimitive_UINT8\n },\n UINT_16: {\n primitiveType: 'INT32',\n originalType: 'UINT_16',\n toPrimitive: toPrimitive_UINT16\n },\n UINT_32: {\n primitiveType: 'INT32',\n originalType: 'UINT_32',\n toPrimitive: toPrimitive_UINT32\n },\n UINT_64: {\n primitiveType: 'INT64',\n originalType: 'UINT_64',\n toPrimitive: toPrimitive_UINT64\n },\n INT_8: {\n primitiveType: 'INT32',\n originalType: 'INT_8',\n toPrimitive: toPrimitive_INT8\n },\n INT_16: {\n primitiveType: 'INT32',\n originalType: 'INT_16',\n toPrimitive: toPrimitive_INT16\n },\n INT_32: {\n primitiveType: 'INT32',\n originalType: 'INT_32',\n toPrimitive: toPrimitive_INT32\n },\n INT_64: {\n primitiveType: 'INT64',\n originalType: 'INT_64',\n toPrimitive: toPrimitive_INT64\n },\n JSON: {\n primitiveType: 'BYTE_ARRAY',\n originalType: 'JSON',\n toPrimitive: toPrimitive_JSON,\n fromPrimitive: fromPrimitive_JSON\n },\n BSON: {\n primitiveType: 'BYTE_ARRAY',\n originalType: 'BSON',\n toPrimitive: toPrimitive_BSON,\n fromPrimitive: fromPrimitive_BSON\n },\n INTERVAL: {\n primitiveType: 'FIXED_LEN_BYTE_ARRAY',\n originalType: 'INTERVAL',\n typeLength: 12,\n toPrimitive: toPrimitive_INTERVAL,\n fromPrimitive: fromPrimitive_INTERVAL\n },\n DECIMAL_INT32: {\n primitiveType: 'INT32',\n originalType: 'DECIMAL_INT32',\n toPrimitive: decimalToPrimitive_INT32,\n fromPrimitive: decimalFromPrimitive_INT\n },\n DECIMAL_INT64: {\n primitiveType: 'INT64',\n originalType: 'DECIMAL_INT64',\n toPrimitive: decimalToPrimitive_INT64,\n fromPrimitive: decimalFromPrimitive_INT\n },\n DECIMAL_BYTE_ARRAY: {\n primitiveType: 'BYTE_ARRAY',\n originalType: 'DECIMAL_BYTE_ARRAY',\n toPrimitive: decimalToPrimitive_BYTE_ARRAY,\n fromPrimitive: decimalFromPrimitive_BYTE_ARRAY\n },\n DECIMAL_FIXED_LEN_BYTE_ARRAY: {\n primitiveType: 'FIXED_LEN_BYTE_ARRAY',\n originalType: 'DECIMAL_FIXED_LEN_BYTE_ARRAY',\n toPrimitive: decimalToPrimitive_BYTE_ARRAY,\n fromPrimitive: decimalFromPrimitive_BYTE_ARRAY\n }\n};\n\n/**\n * Convert a value from it's native representation to the internal/underlying\n * primitive type\n */\nexport function toPrimitive(type: ParquetType, value: any, field?: ParquetField) {\n if (!(type in PARQUET_LOGICAL_TYPES)) {\n throw new Error(`invalid type: ${type}`);\n }\n\n return PARQUET_LOGICAL_TYPES[type].toPrimitive(value, field);\n}\n\n/**\n * Convert a value from it's internal/underlying primitive representation to\n * the native representation\n */\nexport function fromPrimitive(type: ParquetType, value: any, field?: ParquetField) {\n if (!(type in PARQUET_LOGICAL_TYPES)) {\n throw new Error(`invalid type: ${type}`);\n }\n\n if ('fromPrimitive' in PARQUET_LOGICAL_TYPES[type]) {\n return PARQUET_LOGICAL_TYPES[type].fromPrimitive?.(value, field);\n // tslint:disable-next-line:no-else-after-return\n }\n return value;\n}\n\nfunction toPrimitive_BOOLEAN(value: any) {\n return Boolean(value);\n}\n\nfunction fromPrimitive_BOOLEAN(value: any) {\n return Boolean(value);\n}\n\nfunction toPrimitive_FLOAT(value: any) {\n const v = parseFloat(value);\n if (isNaN(v)) {\n throw new Error(`invalid value for FLOAT: ${value}`);\n }\n\n return v;\n}\n\nfunction toPrimitive_DOUBLE(value: any) {\n const v = parseFloat(value);\n if (isNaN(v)) {\n throw new Error(`invalid value for DOUBLE: ${value}`);\n }\n\n return v;\n}\n\nfunction toPrimitive_INT8(value: any) {\n const v = parseInt(value, 10);\n if (v < -0x80 || v > 0x7f || isNaN(v)) {\n throw new Error(`invalid value for INT8: ${value}`);\n }\n\n return v;\n}\n\nfunction toPrimitive_UINT8(value: any) {\n const v = parseInt(value, 10);\n if (v < 0 || v > 0xff || isNaN(v)) {\n throw new Error(`invalid value for UINT8: ${value}`);\n }\n\n return v;\n}\n\nfunction toPrimitive_INT16(value: any) {\n const v = parseInt(value, 10);\n if (v < -0x8000 || v > 0x7fff || isNaN(v)) {\n throw new Error(`invalid value for INT16: ${value}`);\n }\n\n return v;\n}\n\nfunction toPrimitive_UINT16(value: any) {\n const v = parseInt(value, 10);\n if (v < 0 || v > 0xffff || isNaN(v)) {\n throw new Error(`invalid value for UINT16: ${value}`);\n }\n\n return v;\n}\n\nfunction toPrimitive_INT32(value: any) {\n const v = parseInt(value, 10);\n if (v < -0x80000000 || v > 0x7fffffff || isNaN(v)) {\n throw new Error(`invalid value for INT32: ${value}`);\n }\n\n return v;\n}\n\nfunction decimalToPrimitive_INT32(value: number, field: ParquetField) {\n const primitiveValue = value * 10 ** (field.scale || 0);\n const v = Math.round(((primitiveValue * 10 ** -field.presision!) % 1) * 10 ** field.presision!);\n if (v < -0x80000000 || v > 0x7fffffff || isNaN(v)) {\n throw new Error(`invalid value for INT32: ${value}`);\n }\n\n return v;\n}\n\nfunction toPrimitive_UINT32(value: any) {\n const v = parseInt(value, 10);\n if (v < 0 || v > 0xffffffffffff || isNaN(v)) {\n throw new Error(`invalid value for UINT32: ${value}`);\n }\n\n return v;\n}\n\nfunction toPrimitive_INT64(value: any) {\n const v = parseInt(value, 10);\n if (isNaN(v)) {\n throw new Error(`invalid value for INT64: ${value}`);\n }\n\n return v;\n}\n\nfunction decimalToPrimitive_INT64(value: number, field: ParquetField) {\n const primitiveValue = value * 10 ** (field.scale || 0);\n const v = Math.round(((primitiveValue * 10 ** -field.presision!) % 1) * 10 ** field.presision!);\n if (isNaN(v)) {\n throw new Error(`invalid value for INT64: ${value}`);\n }\n\n return v;\n}\n\nfunction toPrimitive_UINT64(value: any) {\n const v = parseInt(value, 10);\n if (v < 0 || isNaN(v)) {\n throw new Error(`invalid value for UINT64: ${value}`);\n }\n\n return v;\n}\n\nfunction toPrimitive_INT96(value: any) {\n const v = parseInt(value, 10);\n if (isNaN(v)) {\n throw new Error(`invalid value for INT96: ${value}`);\n }\n\n return v;\n}\n\nfunction toPrimitive_BYTE_ARRAY(value: any) {\n return Buffer.from(value);\n}\n\nfunction decimalToPrimitive_BYTE_ARRAY(value: any) {\n // TBD\n return Buffer.from(value);\n}\n\nfunction toPrimitive_UTF8(value: any) {\n return Buffer.from(value, 'utf8');\n}\n\nfunction fromPrimitive_UTF8(value: any) {\n return value.toString();\n}\n\nfunction toPrimitive_JSON(value: any) {\n return Buffer.from(JSON.stringify(value));\n}\n\nfunction fromPrimitive_JSON(value: any) {\n return JSON.parse(value);\n}\n\nfunction toPrimitive_BSON(value: any) {\n return Buffer.from(BSON.serialize(value));\n}\n\nfunction fromPrimitive_BSON(value: any) {\n return BSON.deserialize(value);\n}\n\nfunction toPrimitive_TIME_MILLIS(value: any) {\n const v = parseInt(value, 10);\n if (v < 0 || v > 0xffffffffffffffff || isNaN(v)) {\n throw new Error(`invalid value for TIME_MILLIS: ${value}`);\n }\n\n return v;\n}\n\nfunction toPrimitive_TIME_MICROS(value: any) {\n const v = parseInt(value, 10);\n if (v < 0 || isNaN(v)) {\n throw new Error(`invalid value for TIME_MICROS: ${value}`);\n }\n\n return v;\n}\n\nconst kMillisPerDay = 86400000;\n\nfunction toPrimitive_DATE(value: any) {\n /* convert from date */\n if (value instanceof Date) {\n return value.getTime() / kMillisPerDay;\n }\n\n /* convert from integer */\n {\n const v = parseInt(value, 10);\n if (v < 0 || isNaN(v)) {\n throw new Error(`invalid value for DATE: ${value}`);\n }\n\n return v;\n }\n}\n\nfunction fromPrimitive_DATE(value: any) {\n return new Date(value * kMillisPerDay);\n}\n\nfunction toPrimitive_TIMESTAMP_MILLIS(value: any) {\n /* convert from date */\n if (value instanceof Date) {\n return value.getTime();\n }\n\n /* convert from integer */\n {\n const v = parseInt(value, 10);\n if (v < 0 || isNaN(v)) {\n throw new Error(`invalid value for TIMESTAMP_MILLIS: ${value}`);\n }\n\n return v;\n }\n}\n\nfunction fromPrimitive_TIMESTAMP_MILLIS(value: any) {\n return new Date(value);\n}\n\nfunction toPrimitive_TIMESTAMP_MICROS(value: any) {\n /* convert from date */\n if (value instanceof Date) {\n return value.getTime() * 1000;\n }\n\n /* convert from integer */\n {\n const v = parseInt(value, 10);\n if (v < 0 || isNaN(v)) {\n throw new Error(`invalid value for TIMESTAMP_MICROS: ${value}`);\n }\n\n return v;\n }\n}\n\nfunction fromPrimitive_TIMESTAMP_MICROS(value: any) {\n return new Date(value / 1000);\n}\n\nfunction toPrimitive_INTERVAL(value: any) {\n if (!value.months || !value.days || !value.milliseconds) {\n throw new Error(\n 'value for INTERVAL must be object { months: ..., days: ..., milliseconds: ... }'\n );\n }\n\n const buf = Buffer.alloc(12);\n\n buf.writeUInt32LE(value.months, 0);\n buf.writeUInt32LE(value.days, 4);\n buf.writeUInt32LE(value.milliseconds, 8);\n return buf;\n}\n\nfunction fromPrimitive_INTERVAL(value: any) {\n const buf = Buffer.from(value);\n const months = buf.readUInt32LE(0);\n const days = buf.readUInt32LE(4);\n const millis = buf.readUInt32LE(8);\n\n return {months, days, milliseconds: millis};\n}\n\nfunction decimalFromPrimitive_INT(value: any, field: ParquetField) {\n const presisionInt = Math.round(((value * 10 ** -field.presision!) % 1) * 10 ** field.presision!);\n return presisionInt * 10 ** -(field.scale || 0);\n}\n\nfunction decimalFromPrimitive_BYTE_ARRAY(value: any, field: ParquetField) {\n let number = 0;\n if (value.length <= 4) {\n // Bytewise operators faster. Use them if it is possible\n for (let i = 0; i < value.length; i++) {\n // `value.length - i - 1` bytes have reverse order (big-endian)\n const component = value[i] << (8 * (value.length - i - 1));\n number += component;\n }\n } else {\n for (let i = 0; i < value.length; i++) {\n // `value.length - i - 1` bytes have reverse order (big-endian)\n const component = value[i] * 2 ** (8 * (value.length - 1 - i));\n number += component;\n }\n }\n\n const presisionInt = Math.round(\n ((number * 10 ** -field.presision!) % 1) * 10 ** field.presision!\n );\n return presisionInt * 10 ** -(field.scale || 0);\n}\n"],"file":"types.js"}
|
|
@@ -8,7 +8,7 @@ exports.toBuffer = toBuffer;
|
|
|
8
8
|
|
|
9
9
|
function toArrayBuffer(buffer) {
|
|
10
10
|
if (Buffer.isBuffer(buffer)) {
|
|
11
|
-
|
|
11
|
+
var typedArray = new Uint8Array(buffer.buffer, buffer.byteOffset, buffer.length);
|
|
12
12
|
return typedArray.slice().buffer;
|
|
13
13
|
}
|
|
14
14
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/parquetjs/utils/buffer-utils.ts"],"names":["toArrayBuffer","buffer","Buffer","isBuffer","typedArray","Uint8Array","byteOffset","length","slice","toBuffer","arrayBuffer","from"],"mappings":";;;;;;;;AAGO,SAASA,aAAT,CAAuBC,MAAvB,EAAoD;AAEzD,MAAIC,MAAM,CAACC,QAAP,CAAgBF,MAAhB,CAAJ,EAA6B;AAC3B,
|
|
1
|
+
{"version":3,"sources":["../../../../src/parquetjs/utils/buffer-utils.ts"],"names":["toArrayBuffer","buffer","Buffer","isBuffer","typedArray","Uint8Array","byteOffset","length","slice","toBuffer","arrayBuffer","from"],"mappings":";;;;;;;;AAGO,SAASA,aAAT,CAAuBC,MAAvB,EAAoD;AAEzD,MAAIC,MAAM,CAACC,QAAP,CAAgBF,MAAhB,CAAJ,EAA6B;AAC3B,QAAMG,UAAU,GAAG,IAAIC,UAAJ,CAAeJ,MAAM,CAACA,MAAtB,EAA8BA,MAAM,CAACK,UAArC,EAAiDL,MAAM,CAACM,MAAxD,CAAnB;AACA,WAAOH,UAAU,CAACI,KAAX,GAAmBP,MAA1B;AACD;;AACD,SAAOA,MAAP;AACD;;AAKM,SAASQ,QAAT,CAAkBC,WAAlB,EAAoD;AACzD,SAAOR,MAAM,CAACS,IAAP,CAAYD,WAAZ,CAAP;AACD","sourcesContent":["/**\n * Convert Buffer to ArrayBuffer\n */\nexport function toArrayBuffer(buffer: Buffer): ArrayBuffer {\n // TODO - per docs we should just be able to call buffer.buffer, but there are issues\n if (Buffer.isBuffer(buffer)) {\n const typedArray = new Uint8Array(buffer.buffer, buffer.byteOffset, buffer.length);\n return typedArray.slice().buffer;\n }\n return buffer;\n}\n\n/**\n * Convert (copy) ArrayBuffer to Buffer\n */\nexport function toBuffer(arrayBuffer: ArrayBuffer): Buffer {\n return Buffer.from(arrayBuffer);\n}\n"],"file":"buffer-utils.js"}
|
|
@@ -17,8 +17,8 @@ function load(name) {
|
|
|
17
17
|
}
|
|
18
18
|
|
|
19
19
|
function oswrite(os, buf) {
|
|
20
|
-
return new Promise((resolve, reject)
|
|
21
|
-
os.write(buf, err
|
|
20
|
+
return new Promise(function (resolve, reject) {
|
|
21
|
+
os.write(buf, function (err) {
|
|
22
22
|
if (err) {
|
|
23
23
|
reject(err);
|
|
24
24
|
} else {
|
|
@@ -29,8 +29,8 @@ function oswrite(os, buf) {
|
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
function osclose(os) {
|
|
32
|
-
return new Promise((resolve, reject)
|
|
33
|
-
os.close(err
|
|
32
|
+
return new Promise(function (resolve, reject) {
|
|
33
|
+
os.close(function (err) {
|
|
34
34
|
if (err) {
|
|
35
35
|
reject(err);
|
|
36
36
|
} else {
|
|
@@ -41,11 +41,15 @@ function osclose(os) {
|
|
|
41
41
|
}
|
|
42
42
|
|
|
43
43
|
function osopen(path, opts) {
|
|
44
|
-
return new Promise((resolve, reject)
|
|
45
|
-
|
|
44
|
+
return new Promise(function (resolve, reject) {
|
|
45
|
+
var outputStream = _fs.default.createWriteStream(path, opts);
|
|
46
46
|
|
|
47
|
-
outputStream.once('open',
|
|
48
|
-
|
|
47
|
+
outputStream.once('open', function (fd) {
|
|
48
|
+
return resolve(outputStream);
|
|
49
|
+
});
|
|
50
|
+
outputStream.once('error', function (err) {
|
|
51
|
+
return reject(err);
|
|
52
|
+
});
|
|
49
53
|
});
|
|
50
54
|
}
|
|
51
55
|
//# sourceMappingURL=file-utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/parquetjs/utils/file-utils.ts"],"names":["load","name","module","global","require","oswrite","os","buf","Promise","resolve","reject","write","err","osclose","close","osopen","path","opts","outputStream","fs","createWriteStream","once","fd"],"mappings":";;;;;;;;;;;;AACA;;AAGO,SAASA,IAAT,CAAcC,IAAd,EAAiC;AACtC,SAAO,CAACC,MAAM,IAAKC,MAAZ,EAA4BC,OAA5B,CAAoCH,IAApC,CAAP;AACD;;AAUM,SAASI,OAAT,CAAiBC,EAAjB,EAA+BC,GAA/B,EAA2D;AAChE,SAAO,IAAIC,OAAJ,CAAY,
|
|
1
|
+
{"version":3,"sources":["../../../../src/parquetjs/utils/file-utils.ts"],"names":["load","name","module","global","require","oswrite","os","buf","Promise","resolve","reject","write","err","osclose","close","osopen","path","opts","outputStream","fs","createWriteStream","once","fd"],"mappings":";;;;;;;;;;;;AACA;;AAGO,SAASA,IAAT,CAAcC,IAAd,EAAiC;AACtC,SAAO,CAACC,MAAM,IAAKC,MAAZ,EAA4BC,OAA5B,CAAoCH,IAApC,CAAP;AACD;;AAUM,SAASI,OAAT,CAAiBC,EAAjB,EAA+BC,GAA/B,EAA2D;AAChE,SAAO,IAAIC,OAAJ,CAAY,UAACC,OAAD,EAAUC,MAAV,EAAqB;AACtCJ,IAAAA,EAAE,CAACK,KAAH,CAASJ,GAAT,EAAc,UAACK,GAAD,EAAS;AACrB,UAAIA,GAAJ,EAAS;AACPF,QAAAA,MAAM,CAACE,GAAD,CAAN;AACD,OAFD,MAEO;AACLH,QAAAA,OAAO;AACR;AACF,KAND;AAOD,GARM,CAAP;AASD;;AAEM,SAASI,OAAT,CAAiBP,EAAjB,EAA8C;AACnD,SAAO,IAAIE,OAAJ,CAAY,UAACC,OAAD,EAAUC,MAAV,EAAqB;AACrCJ,IAAAA,EAAD,CAAYQ,KAAZ,CAAkB,UAACF,GAAD,EAAc;AAC9B,UAAIA,GAAJ,EAAS;AACPF,QAAAA,MAAM,CAACE,GAAD,CAAN;AACD,OAFD,MAEO;AACLH,QAAAA,OAAO;AACR;AACF,KAND;AAOD,GARM,CAAP;AASD;;AAEM,SAASM,MAAT,CAAgBC,IAAhB,EAA8BC,IAA9B,EAAkF;AACvF,SAAO,IAAIT,OAAJ,CAAY,UAACC,OAAD,EAAUC,MAAV,EAAqB;AACtC,QAAMQ,YAAY,GAAGC,YAAGC,iBAAH,CAAqBJ,IAArB,EAA2BC,IAA3B,CAArB;;AACAC,IAAAA,YAAY,CAACG,IAAb,CAAkB,MAAlB,EAA0B,UAACC,EAAD;AAAA,aAAQb,OAAO,CAACS,YAAD,CAAf;AAAA,KAA1B;AACAA,IAAAA,YAAY,CAACG,IAAb,CAAkB,OAAlB,EAA2B,UAACT,GAAD;AAAA,aAASF,MAAM,CAACE,GAAD,CAAf;AAAA,KAA3B;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"}
|
|
@@ -13,26 +13,54 @@ exports.decodePageHeader = decodePageHeader;
|
|
|
13
13
|
exports.getBitWidth = getBitWidth;
|
|
14
14
|
exports.fieldIndexOf = fieldIndexOf;
|
|
15
15
|
|
|
16
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
17
|
+
|
|
18
|
+
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
19
|
+
|
|
20
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
21
|
+
|
|
22
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
23
|
+
|
|
24
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
25
|
+
|
|
16
26
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
17
27
|
|
|
18
28
|
var _thrift = require("thrift");
|
|
19
29
|
|
|
20
30
|
var _parquetThrift = require("../parquet-thrift");
|
|
21
31
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
32
|
+
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
|
|
33
|
+
|
|
34
|
+
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
35
|
+
|
|
36
|
+
var UFramedTransport = function (_TFramedTransport) {
|
|
37
|
+
(0, _inherits2.default)(UFramedTransport, _TFramedTransport);
|
|
38
|
+
|
|
39
|
+
var _super = _createSuper(UFramedTransport);
|
|
40
|
+
|
|
41
|
+
function UFramedTransport() {
|
|
42
|
+
var _this;
|
|
43
|
+
|
|
44
|
+
(0, _classCallCheck2.default)(this, UFramedTransport);
|
|
45
|
+
|
|
46
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
47
|
+
args[_key] = arguments[_key];
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
_this = _super.call.apply(_super, [this].concat(args));
|
|
51
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "readPos", 0);
|
|
52
|
+
return _this;
|
|
26
53
|
}
|
|
27
54
|
|
|
28
|
-
|
|
55
|
+
return UFramedTransport;
|
|
56
|
+
}(_thrift.TFramedTransport);
|
|
29
57
|
|
|
30
58
|
function serializeThrift(obj) {
|
|
31
|
-
|
|
32
|
-
|
|
59
|
+
var output = [];
|
|
60
|
+
var transport = new _thrift.TBufferedTransport(undefined, function (buf) {
|
|
33
61
|
output.push(buf);
|
|
34
62
|
});
|
|
35
|
-
|
|
63
|
+
var protocol = new _thrift.TCompactProtocol(transport);
|
|
36
64
|
obj.write(protocol);
|
|
37
65
|
transport.flush();
|
|
38
66
|
return Buffer.concat(output);
|
|
@@ -43,15 +71,15 @@ function decodeThrift(obj, buf, offset) {
|
|
|
43
71
|
offset = 0;
|
|
44
72
|
}
|
|
45
73
|
|
|
46
|
-
|
|
74
|
+
var transport = new UFramedTransport(buf);
|
|
47
75
|
transport.readPos = offset;
|
|
48
|
-
|
|
76
|
+
var protocol = new _thrift.TCompactProtocol(transport);
|
|
49
77
|
obj.read(protocol);
|
|
50
78
|
return transport.readPos - offset;
|
|
51
79
|
}
|
|
52
80
|
|
|
53
81
|
function getThriftEnum(klass, value) {
|
|
54
|
-
for (
|
|
82
|
+
for (var k in klass) {
|
|
55
83
|
if (klass[k] === value) {
|
|
56
84
|
return k;
|
|
57
85
|
}
|
|
@@ -65,15 +93,15 @@ function decodeFileMetadata(buf, offset) {
|
|
|
65
93
|
offset = 0;
|
|
66
94
|
}
|
|
67
95
|
|
|
68
|
-
|
|
96
|
+
var transport = new UFramedTransport(buf);
|
|
69
97
|
transport.readPos = offset;
|
|
70
|
-
|
|
98
|
+
var protocol = new _thrift.TCompactProtocol(transport);
|
|
71
99
|
|
|
72
|
-
|
|
100
|
+
var metadata = _parquetThrift.FileMetaData.read(protocol);
|
|
73
101
|
|
|
74
102
|
return {
|
|
75
103
|
length: transport.readPos - offset,
|
|
76
|
-
metadata
|
|
104
|
+
metadata: metadata
|
|
77
105
|
};
|
|
78
106
|
}
|
|
79
107
|
|
|
@@ -82,15 +110,15 @@ function decodePageHeader(buf, offset) {
|
|
|
82
110
|
offset = 0;
|
|
83
111
|
}
|
|
84
112
|
|
|
85
|
-
|
|
113
|
+
var transport = new UFramedTransport(buf);
|
|
86
114
|
transport.readPos = offset;
|
|
87
|
-
|
|
115
|
+
var protocol = new _thrift.TCompactProtocol(transport);
|
|
88
116
|
|
|
89
|
-
|
|
117
|
+
var pageHeader = _parquetThrift.PageHeader.read(protocol);
|
|
90
118
|
|
|
91
119
|
return {
|
|
92
120
|
length: transport.readPos - offset,
|
|
93
|
-
pageHeader
|
|
121
|
+
pageHeader: pageHeader
|
|
94
122
|
};
|
|
95
123
|
}
|
|
96
124
|
|
|
@@ -103,14 +131,14 @@ function getBitWidth(val) {
|
|
|
103
131
|
}
|
|
104
132
|
|
|
105
133
|
function fieldIndexOf(arr, elem) {
|
|
106
|
-
for (
|
|
134
|
+
for (var j = 0; j < arr.length; j++) {
|
|
107
135
|
if (arr[j].length > elem.length) {
|
|
108
136
|
continue;
|
|
109
137
|
}
|
|
110
138
|
|
|
111
|
-
|
|
139
|
+
var m = true;
|
|
112
140
|
|
|
113
|
-
for (
|
|
141
|
+
for (var i = 0; i < elem.length; i++) {
|
|
114
142
|
if (arr[j][i] === elem[i] || arr[j][i] === '+' || arr[j][i] === '#') {
|
|
115
143
|
continue;
|
|
116
144
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/parquetjs/utils/read-utils.ts"],"names":["UFramedTransport","TFramedTransport","serializeThrift","obj","output","transport","TBufferedTransport","undefined","buf","push","protocol","TCompactProtocol","write","flush","Buffer","concat","decodeThrift","offset","readPos","read","getThriftEnum","klass","value","k","Error","decodeFileMetadata","metadata","FileMetaData","length","decodePageHeader","pageHeader","PageHeader","getBitWidth","val","Math","ceil","log2","fieldIndexOf","arr","elem","j","m","i"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../../src/parquetjs/utils/read-utils.ts"],"names":["UFramedTransport","TFramedTransport","serializeThrift","obj","output","transport","TBufferedTransport","undefined","buf","push","protocol","TCompactProtocol","write","flush","Buffer","concat","decodeThrift","offset","readPos","read","getThriftEnum","klass","value","k","Error","decodeFileMetadata","metadata","FileMetaData","length","decodePageHeader","pageHeader","PageHeader","getBitWidth","val","Math","ceil","log2","fieldIndexOf","arr","elem","j","m","i"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;;;;;IAEMA,gB;;;;;;;;;;;;;;;0FACqB,C;;;;;EADIC,wB;;AAOxB,SAASC,eAAT,CAAyBC,GAAzB,EAA2C;AAChD,MAAMC,MAAgB,GAAG,EAAzB;AAEA,MAAMC,SAAS,GAAG,IAAIC,0BAAJ,CAAuBC,SAAvB,EAAkC,UAACC,GAAD,EAAS;AAC3DJ,IAAAA,MAAM,CAACK,IAAP,CAAYD,GAAZ;AACD,GAFiB,CAAlB;AAIA,MAAME,QAAQ,GAAG,IAAIC,wBAAJ,CAAqBN,SAArB,CAAjB;AACAF,EAAAA,GAAG,CAACS,KAAJ,CAAUF,QAAV;AACAL,EAAAA,SAAS,CAACQ,KAAV;AAEA,SAAOC,MAAM,CAACC,MAAP,CAAcX,MAAd,CAAP;AACD;;AAEM,SAASY,YAAT,CAAsBb,GAAtB,EAAgCK,GAAhC,EAA6CS,MAA7C,EAA8D;AACnE,MAAI,CAACA,MAAL,EAAa;AAEXA,IAAAA,MAAM,GAAG,CAAT;AACD;;AAED,MAAMZ,SAAS,GAAG,IAAIL,gBAAJ,CAAqBQ,GAArB,CAAlB;AACAH,EAAAA,SAAS,CAACa,OAAV,GAAoBD,MAApB;AACA,MAAMP,QAAQ,GAAG,IAAIC,wBAAJ,CAAqBN,SAArB,CAAjB;AACAF,EAAAA,GAAG,CAACgB,IAAJ,CAAST,QAAT;AACA,SAAOL,SAAS,CAACa,OAAV,GAAoBD,MAA3B;AACD;;AAKM,SAASG,aAAT,CAAuBC,KAAvB,EAAmCC,KAAnC,EAAmE;AACxE,OAAK,IAAMC,CAAX,IAAgBF,KAAhB,EAAuB;AACrB,QAAIA,KAAK,CAACE,CAAD,CAAL,KAAaD,KAAjB,EAAwB;AACtB,aAAOC,CAAP;AACD;AACF;;AACD,QAAM,IAAIC,KAAJ,CAAU,oBAAV,CAAN;AACD;;AAEM,SAASC,kBAAT,CAA4BjB,GAA5B,EAAyCS,MAAzC,EAA0D;AAC/D,MAAI,CAACA,MAAL,EAAa;AAEXA,IAAAA,MAAM,GAAG,CAAT;AACD;;AAED,MAAMZ,SAAS,GAAG,IAAIL,gBAAJ,CAAqBQ,GAArB,CAAlB;AACAH,EAAAA,SAAS,CAACa,OAAV,GAAoBD,MAApB;AACA,MAAMP,QAAQ,GAAG,IAAIC,wBAAJ,CAAqBN,SAArB,CAAjB;;AACA,MAAMqB,QAAQ,GAAGC,4BAAaR,IAAb,CAAkBT,QAAlB,CAAjB;;AACA,SAAO;AAACkB,IAAAA,MAAM,EAAEvB,SAAS,CAACa,OAAV,GAAoBD,MAA7B;AAAqCS,IAAAA,QAAQ,EAARA;AAArC,GAAP;AACD;;AAEM,SAASG,gBAAT,CAA0BrB,GAA1B,EAAuCS,MAAvC,EAAwD;AAC7D,MAAI,CAACA,MAAL,EAAa;AAEXA,IAAAA,MAAM,GAAG,CAAT;AACD;;AAED,MAAMZ,SAAS,GAAG,IAAIL,gBAAJ,CAAqBQ,GAArB,CAAlB;AACAH,EAAAA,SAAS,CAACa,OAAV,GAAoBD,MAApB;AACA,MAAMP,QAAQ,GAAG,IAAIC,wBAAJ,CAAqBN,SAArB,CAAjB;;AACA,MAAMyB,UAAU,GAAGC,0BAAWZ,IAAX,CAAgBT,QAAhB,CAAnB;;AACA,SAAO;AAACkB,IAAAA,MAAM,EAAEvB,SAAS,CAACa,OAAV,GAAoBD,MAA7B;AAAqCa,IAAAA,UAAU,EAAVA;AAArC,GAAP;AACD;;AAKM,SAASE,WAAT,CAAqBC,GAArB,EAA0C;AAC/C,MAAIA,GAAG,KAAK,CAAZ,EAAe;AACb,WAAO,CAAP;AAED;;AACD,SAAOC,IAAI,CAACC,IAAL,CAAUD,IAAI,CAACE,IAAL,CAAUH,GAAG,GAAG,CAAhB,CAAV,CAAP;AACD;;AAKM,SAASI,YAAT,CAAsBC,GAAtB,EAAuCC,IAAvC,EAA+D;AACpE,OAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGF,GAAG,CAACV,MAAxB,EAAgCY,CAAC,EAAjC,EAAqC;AACnC,QAAIF,GAAG,CAACE,CAAD,CAAH,CAAOZ,MAAP,GAAgBW,IAAI,CAACX,MAAzB,EAAiC;AAC/B;AACD;;AACD,QAAIa,CAAC,GAAG,IAAR;;AACA,SAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGH,IAAI,CAACX,MAAzB,EAAiCc,CAAC,EAAlC,EAAsC;AACpC,UAAIJ,GAAG,CAACE,CAAD,CAAH,CAAOE,CAAP,MAAcH,IAAI,CAACG,CAAD,CAAlB,IAAyBJ,GAAG,CAACE,CAAD,CAAH,CAAOE,CAAP,MAAc,GAAvC,IAA8CJ,GAAG,CAACE,CAAD,CAAH,CAAOE,CAAP,MAAc,GAAhE,EAAqE;AACnE;AACD;;AACD,UAAIA,CAAC,IAAIJ,GAAG,CAACE,CAAD,CAAH,CAAOZ,MAAZ,IAAsBU,GAAG,CAACE,CAAD,CAAH,CAAOF,GAAG,CAACE,CAAD,CAAH,CAAOZ,MAAP,GAAgB,CAAvB,MAA8B,GAAxD,EAA6D;AAC3D;AACD;;AACDa,MAAAA,CAAC,GAAG,KAAJ;AACA;AACD;;AACD,QAAIA,CAAJ,EAAO,OAAOD,CAAP;AACR;;AACD,SAAO,CAAC,CAAR;AACD","sourcesContent":["import {TBufferedTransport, TCompactProtocol, TFramedTransport} from 'thrift';\nimport {FileMetaData, PageHeader} from '../parquet-thrift';\n\nclass UFramedTransport extends TFramedTransport {\n public readPos: number = 0;\n}\n\n/**\n * Helper function that serializes a thrift object into a buffer\n */\nexport function serializeThrift(obj: any): Buffer {\n const output: Buffer[] = [];\n\n const transport = new TBufferedTransport(undefined, (buf) => {\n output.push(buf as Buffer);\n });\n\n const protocol = new TCompactProtocol(transport);\n obj.write(protocol);\n transport.flush();\n\n return Buffer.concat(output);\n}\n\nexport function decodeThrift(obj: any, buf: Buffer, offset?: number) {\n if (!offset) {\n // tslint:disable-next-line:no-parameter-reassignment\n offset = 0;\n }\n\n const transport = new UFramedTransport(buf);\n transport.readPos = offset;\n const protocol = new TCompactProtocol(transport);\n obj.read(protocol);\n return transport.readPos - offset;\n}\n\n/**\n * FIXME not ideal that this is linear\n */\nexport function getThriftEnum(klass: any, value: number | string): string {\n for (const k in klass) {\n if (klass[k] === value) {\n return k;\n }\n }\n throw new Error('Invalid ENUM value');\n}\n\nexport function decodeFileMetadata(buf: Buffer, offset?: number) {\n if (!offset) {\n // tslint:disable-next-line:no-parameter-reassignment\n offset = 0;\n }\n\n const transport = new UFramedTransport(buf);\n transport.readPos = offset;\n const protocol = new TCompactProtocol(transport);\n const metadata = FileMetaData.read(protocol);\n return {length: transport.readPos - offset, metadata};\n}\n\nexport function decodePageHeader(buf: Buffer, offset?: number) {\n if (!offset) {\n // tslint:disable-next-line:no-parameter-reassignment\n offset = 0;\n }\n\n const transport = new UFramedTransport(buf);\n transport.readPos = offset;\n const protocol = new TCompactProtocol(transport);\n const pageHeader = PageHeader.read(protocol);\n return {length: transport.readPos - offset, pageHeader};\n}\n\n/**\n * Get the number of bits required to store a given value\n */\nexport function getBitWidth(val: number): number {\n if (val === 0) {\n return 0;\n // tslint:disable-next-line:no-else-after-return\n }\n return Math.ceil(Math.log2(val + 1));\n}\n\n// Supports MQTT path wildcards\n// + all immediate children\n// # all descendents\nexport function fieldIndexOf(arr: string[][], elem: string[]): number {\n for (let j = 0; j < arr.length; j++) {\n if (arr[j].length > elem.length) {\n continue; // eslint-disable-line no-continue\n }\n let m = true;\n for (let i = 0; i < elem.length; i++) {\n if (arr[j][i] === elem[i] || arr[j][i] === '+' || arr[j][i] === '#') {\n continue; // eslint-disable-line no-continue\n }\n if (i >= arr[j].length && arr[j][arr[j].length - 1] === '#') {\n continue; // eslint-disable-line no-continue\n }\n m = false;\n break;\n }\n if (m) return j;\n }\n return -1;\n}\n"],"file":"read-utils.js"}
|