@loaders.gl/parquet 4.2.0-alpha.2 → 4.2.0-alpha.4

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.
Files changed (58) hide show
  1. package/dist/arrow1_bg.wasm +0 -0
  2. package/dist/index.cjs +117 -7
  3. package/dist/index.d.ts +3 -0
  4. package/dist/index.d.ts.map +1 -1
  5. package/dist/index.js +2 -0
  6. package/dist/index.js.map +1 -1
  7. package/dist/{constants.d.ts → lib/constants.d.ts} +2 -0
  8. package/dist/lib/constants.d.ts.map +1 -0
  9. package/dist/lib/constants.js +8 -0
  10. package/dist/lib/constants.js.map +1 -0
  11. package/dist/lib/wasm/encode-parquet-wasm.d.ts +2 -7
  12. package/dist/lib/wasm/encode-parquet-wasm.d.ts.map +1 -1
  13. package/dist/lib/wasm/encode-parquet-wasm.js +8 -6
  14. package/dist/lib/wasm/encode-parquet-wasm.js.map +1 -1
  15. package/dist/lib/wasm/load-wasm.d.ts +2 -1
  16. package/dist/lib/wasm/load-wasm.d.ts.map +1 -1
  17. package/dist/lib/wasm/load-wasm.js +15 -1
  18. package/dist/lib/wasm/load-wasm.js.map +1 -1
  19. package/dist/lib/wasm/parse-parquet-wasm.d.ts +2 -8
  20. package/dist/lib/wasm/parse-parquet-wasm.d.ts.map +1 -1
  21. package/dist/lib/wasm/parse-parquet-wasm.js +12 -15
  22. package/dist/lib/wasm/parse-parquet-wasm.js.map +1 -1
  23. package/dist/parquet-loader.js +1 -1
  24. package/dist/parquet-wasm-loader.d.ts.map +1 -1
  25. package/dist/parquet-wasm-loader.js +13 -3
  26. package/dist/parquet-wasm-loader.js.map +1 -1
  27. package/dist/parquet-wasm-writer.d.ts +6 -1
  28. package/dist/parquet-wasm-writer.d.ts.map +1 -1
  29. package/dist/parquet-wasm-writer.js +13 -3
  30. package/dist/parquet-wasm-writer.js.map +1 -1
  31. package/dist/parquet-writer.js +1 -1
  32. package/dist/parquetjs/parser/decoders.js +1 -1
  33. package/dist/parquetjs/parser/decoders.js.map +1 -1
  34. package/dist/parquetjs/parser/parquet-reader.js +1 -1
  35. package/dist/parquetjs/parser/parquet-reader.js.map +1 -1
  36. package/package.json +11 -13
  37. package/src/index.ts +6 -5
  38. package/src/{constants.ts → lib/constants.ts} +5 -1
  39. package/src/lib/wasm/encode-parquet-wasm.ts +47 -19
  40. package/src/lib/wasm/load-wasm.ts +18 -1
  41. package/src/lib/wasm/parse-parquet-wasm.ts +16 -28
  42. package/src/parquet-wasm-loader.ts +6 -6
  43. package/src/parquet-wasm-writer.ts +14 -6
  44. package/src/parquetjs/parser/decoders.ts +1 -1
  45. package/src/parquetjs/parser/parquet-reader.ts +1 -1
  46. package/dist/constants.d.ts.map +0 -1
  47. package/dist/constants.js +0 -6
  48. package/dist/constants.js.map +0 -1
  49. package/dist/lib/wasm/load-wasm-browser.d.ts +0 -3
  50. package/dist/lib/wasm/load-wasm-browser.d.ts.map +0 -1
  51. package/dist/lib/wasm/load-wasm-browser.js +0 -11
  52. package/dist/lib/wasm/load-wasm-browser.js.map +0 -1
  53. package/dist/lib/wasm/load-wasm-node.d.ts +0 -3
  54. package/dist/lib/wasm/load-wasm-node.d.ts.map +0 -1
  55. package/dist/lib/wasm/load-wasm-node.js +0 -5
  56. package/dist/lib/wasm/load-wasm-node.js.map +0 -1
  57. package/src/lib/wasm/load-wasm-browser.ts +0 -19
  58. package/src/lib/wasm/load-wasm-node.ts +0 -9
Binary file
package/dist/index.cjs CHANGED
@@ -40,6 +40,9 @@ __export(src_exports, {
40
40
  ParquetLoader: () => ParquetLoader,
41
41
  ParquetReader: () => ParquetReader,
42
42
  ParquetSchema: () => ParquetSchema,
43
+ ParquetWasmLoader: () => ParquetWasmLoader,
44
+ ParquetWasmWorkerLoader: () => ParquetWasmWorkerLoader,
45
+ ParquetWasmWriter: () => ParquetWasmWriter,
43
46
  ParquetWorkerLoader: () => ParquetWorkerLoader,
44
47
  _ParquetWriter: () => ParquetWriter,
45
48
  convertParquetSchema: () => convertParquetSchema,
@@ -6485,7 +6488,9 @@ var FileMetaData = class {
6485
6488
  }
6486
6489
  };
6487
6490
 
6488
- // src/constants.ts
6491
+ // src/lib/constants.ts
6492
+ var VERSION = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
6493
+ var PARQUET_WASM_URL = "https://unpkg.com/parquet-wasm@0.6.0-beta.1/esm/arrow1_bg.wasm";
6489
6494
  var PARQUET_MAGIC = "PAR1";
6490
6495
  var PARQUET_MAGIC_ENCRYPTED = "PARE";
6491
6496
  var PARQUET_RDLVL_TYPE = "INT32";
@@ -7305,12 +7310,12 @@ function convertRowGroupToTableBatch(rowGroup, parquetSchema, schema) {
7305
7310
  }
7306
7311
 
7307
7312
  // src/parquet-loader.ts
7308
- var VERSION = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
7313
+ var VERSION2 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
7309
7314
  var ParquetWorkerLoader = {
7310
7315
  name: "Apache Parquet",
7311
7316
  id: "parquet",
7312
7317
  module: "parquet",
7313
- version: VERSION,
7318
+ version: VERSION2,
7314
7319
  worker: true,
7315
7320
  category: "table",
7316
7321
  extensions: ["parquet"],
@@ -7338,7 +7343,7 @@ var GeoParquetWorkerLoader = {
7338
7343
  name: "Apache Parquet",
7339
7344
  id: "parquet",
7340
7345
  module: "parquet",
7341
- version: VERSION,
7346
+ version: VERSION2,
7342
7347
  worker: true,
7343
7348
  category: "table",
7344
7349
  extensions: ["parquet"],
@@ -7367,7 +7372,7 @@ var ParquetColumnarWorkerLoader = {
7367
7372
  name: "Apache Parquet",
7368
7373
  id: "parquet",
7369
7374
  module: "parquet",
7370
- version: VERSION,
7375
+ version: VERSION2,
7371
7376
  worker: true,
7372
7377
  category: "table",
7373
7378
  extensions: ["parquet"],
@@ -7386,12 +7391,12 @@ var ParquetColumnarLoader = {
7386
7391
  };
7387
7392
 
7388
7393
  // src/parquet-writer.ts
7389
- var VERSION2 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
7394
+ var VERSION3 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
7390
7395
  var ParquetWriter = {
7391
7396
  name: "Apache Parquet",
7392
7397
  id: "parquet",
7393
7398
  module: "parquet",
7394
- version: VERSION2,
7399
+ version: VERSION3,
7395
7400
  extensions: ["parquet"],
7396
7401
  mimeTypes: ["application/octet-stream"],
7397
7402
  binary: true,
@@ -7403,6 +7408,111 @@ function encodeSync(data, options) {
7403
7408
  return new ArrayBuffer(0);
7404
7409
  }
7405
7410
 
7411
+ // src/lib/wasm/parse-parquet-wasm.ts
7412
+ var import_arrow = require("@loaders.gl/arrow");
7413
+
7414
+ // src/lib/wasm/load-wasm.ts
7415
+ var import_parquet_wasm = __toESM(require("parquet-wasm"), 1);
7416
+ var parquetWasm = __toESM(require("parquet-wasm"), 1);
7417
+ var initializePromise;
7418
+ async function loadWasm(wasmUrl = PARQUET_WASM_URL) {
7419
+ if (!initializePromise && typeof import_parquet_wasm.default === "function") {
7420
+ if (!wasmUrl) {
7421
+ throw new Error("ParquetLoader: No wasmUrl provided");
7422
+ }
7423
+ initializePromise = (0, import_parquet_wasm.default)(wasmUrl);
7424
+ }
7425
+ await initializePromise;
7426
+ return parquetWasm;
7427
+ }
7428
+
7429
+ // src/lib/wasm/parse-parquet-wasm.ts
7430
+ var arrow = __toESM(require("apache-arrow"), 1);
7431
+ async function parseParquetWasm(arrayBuffer, options) {
7432
+ var _a;
7433
+ const arr = new Uint8Array(arrayBuffer);
7434
+ const wasmUrl = (_a = options == null ? void 0 : options.parquet) == null ? void 0 : _a.wasmUrl;
7435
+ const wasm = await loadWasm(wasmUrl);
7436
+ const wasmTable = wasm.readParquet(arr);
7437
+ try {
7438
+ const ipcStream = wasmTable.intoIPCStream();
7439
+ const arrowTable = arrow.tableFromIPC(ipcStream);
7440
+ return {
7441
+ shape: "arrow-table",
7442
+ schema: (0, import_arrow.serializeArrowSchema)(arrowTable.schema),
7443
+ data: arrowTable
7444
+ };
7445
+ } finally {
7446
+ }
7447
+ }
7448
+
7449
+ // src/parquet-wasm-loader.ts
7450
+ var ParquetWasmWorkerLoader = {
7451
+ name: "Apache Parquet",
7452
+ id: "parquet-wasm",
7453
+ module: "parquet",
7454
+ version: VERSION,
7455
+ worker: false,
7456
+ category: "table",
7457
+ extensions: ["parquet"],
7458
+ mimeTypes: ["application/octet-stream"],
7459
+ binary: true,
7460
+ tests: ["PAR1", "PARE"],
7461
+ options: {
7462
+ parquet: {
7463
+ type: "arrow-table",
7464
+ wasmUrl: PARQUET_WASM_URL
7465
+ }
7466
+ }
7467
+ };
7468
+ var ParquetWasmLoader = {
7469
+ ...ParquetWasmWorkerLoader,
7470
+ parse(arrayBuffer, options) {
7471
+ options = { parquet: { ...ParquetWasmLoader.options.parquet, ...options == null ? void 0 : options.parquet }, ...options };
7472
+ return parseParquetWasm(arrayBuffer, options);
7473
+ }
7474
+ };
7475
+
7476
+ // src/lib/wasm/encode-parquet-wasm.ts
7477
+ var arrow2 = __toESM(require("apache-arrow"), 1);
7478
+ async function encode(table, options) {
7479
+ var _a;
7480
+ const wasmUrl = (_a = options.parquet) == null ? void 0 : _a.wasmUrl;
7481
+ const wasm = await loadWasm(wasmUrl);
7482
+ const arrowTable = table.data;
7483
+ const ipcStream = arrow2.tableToIPC(arrowTable);
7484
+ const wasmTable = wasm.Table.fromIPCStream(ipcStream);
7485
+ const wasmProperties = new wasm.WriterPropertiesBuilder().build();
7486
+ try {
7487
+ const parquetBytes = wasm.writeParquet(wasmTable, wasmProperties);
7488
+ return parquetBytes.buffer.slice(
7489
+ parquetBytes.byteOffset,
7490
+ parquetBytes.byteLength + parquetBytes.byteOffset
7491
+ );
7492
+ } finally {
7493
+ }
7494
+ }
7495
+
7496
+ // src/parquet-wasm-writer.ts
7497
+ var ParquetWasmWriter = {
7498
+ name: "Apache Parquet",
7499
+ id: "parquet-wasm",
7500
+ module: "parquet",
7501
+ version: VERSION,
7502
+ extensions: ["parquet"],
7503
+ mimeTypes: ["application/octet-stream"],
7504
+ binary: true,
7505
+ options: {
7506
+ parquet: {
7507
+ wasmUrl: PARQUET_WASM_URL
7508
+ }
7509
+ },
7510
+ encode(arrowTable, options) {
7511
+ options = { parquet: { ...ParquetWasmWriter.options.parquet, ...options == null ? void 0 : options.parquet }, ...options };
7512
+ return encode(arrowTable, options);
7513
+ }
7514
+ };
7515
+
7406
7516
  // src/parquetjs/utils/file-utils.ts
7407
7517
  var fs = __toESM(require("fs"), 1);
7408
7518
  function oswrite(os, buf) {
package/dist/index.d.ts CHANGED
@@ -1,6 +1,9 @@
1
1
  export { Buffer } from './polyfills/buffer/install-buffer-polyfill';
2
2
  export { ParquetWorkerLoader, ParquetLoader, GeoParquetWorkerLoader, GeoParquetLoader, ParquetColumnarWorkerLoader, ParquetColumnarLoader } from './parquet-loader';
3
3
  export { ParquetWriter as _ParquetWriter } from './parquet-writer';
4
+ export type { ParquetWasmLoaderOptions } from './parquet-wasm-loader';
5
+ export { ParquetWasmLoader, ParquetWasmWorkerLoader } from './parquet-wasm-loader';
6
+ export { ParquetWasmWriter } from './parquet-wasm-writer';
4
7
  export { preloadCompressions } from './parquetjs/compression';
5
8
  export { ParquetSchema } from './parquetjs/schema/schema';
6
9
  export { ParquetReader } from './parquetjs/parser/parquet-reader';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,MAAM,EAAC,MAAM,4CAA4C,CAAC;AAIlE,OAAO,EACL,mBAAmB,EACnB,aAAa,EACb,sBAAsB,EACtB,gBAAgB,EAChB,2BAA2B,EAC3B,qBAAqB,EACtB,MAAM,kBAAkB,CAAC;AAM1B,OAAO,EAAC,aAAa,IAAI,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAKjE,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,cAAc,EAAC,MAAM,qCAAqC,CAAC;AAEnE,OAAO,EACL,oBAAoB,EACpB,oBAAoB,IAAI,2BAA2B,EACpD,MAAM,yCAAyC,CAAC;AAGjD,OAAO,EAAC,cAAc,EAAE,qBAAqB,EAAC,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,MAAM,EAAC,MAAM,4CAA4C,CAAC;AAIlE,OAAO,EACL,mBAAmB,EACnB,aAAa,EACb,sBAAsB,EACtB,gBAAgB,EAChB,2BAA2B,EAC3B,qBAAqB,EACtB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAC,aAAa,IAAI,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAIjE,YAAY,EAAC,wBAAwB,EAAC,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAC,iBAAiB,EAAE,uBAAuB,EAAC,MAAM,uBAAuB,CAAC;AACjF,OAAO,EAAC,iBAAiB,EAAC,MAAM,uBAAuB,CAAC;AAIxD,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,cAAc,EAAC,MAAM,qCAAqC,CAAC;AAEnE,OAAO,EACL,oBAAoB,EACpB,oBAAoB,IAAI,2BAA2B,EACpD,MAAM,yCAAyC,CAAC;AAGjD,OAAO,EAAC,cAAc,EAAE,qBAAqB,EAAC,MAAM,oBAAoB,CAAC"}
package/dist/index.js CHANGED
@@ -1,6 +1,8 @@
1
1
  export { Buffer } from "./polyfills/buffer/install-buffer-polyfill.js";
2
2
  export { ParquetWorkerLoader, ParquetLoader, GeoParquetWorkerLoader, GeoParquetLoader, ParquetColumnarWorkerLoader, ParquetColumnarLoader } from "./parquet-loader.js";
3
3
  export { ParquetWriter as _ParquetWriter } from "./parquet-writer.js";
4
+ export { ParquetWasmLoader, ParquetWasmWorkerLoader } from "./parquet-wasm-loader.js";
5
+ export { ParquetWasmWriter } from "./parquet-wasm-writer.js";
4
6
  export { preloadCompressions } from "./parquetjs/compression.js";
5
7
  export { ParquetSchema } from "./parquetjs/schema/schema.js";
6
8
  export { ParquetReader } from "./parquetjs/parser/parquet-reader.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["Buffer","ParquetWorkerLoader","ParquetLoader","GeoParquetWorkerLoader","GeoParquetLoader","ParquetColumnarWorkerLoader","ParquetColumnarLoader","ParquetWriter","_ParquetWriter","preloadCompressions","ParquetSchema","ParquetReader","ParquetEncoder","convertParquetSchema","convertParquetToArrowSchema","BufferPolyfill","installBufferPolyfill"],"sources":["../src/index.ts"],"sourcesContent":["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nexport {Buffer} from './polyfills/buffer/install-buffer-polyfill';\n\n// import {ArrowTable, ArrowTableBatch} from '@loaders.gl/arrow';\n\nexport {\n ParquetWorkerLoader,\n ParquetLoader,\n GeoParquetWorkerLoader,\n GeoParquetLoader,\n ParquetColumnarWorkerLoader,\n ParquetColumnarLoader\n} from './parquet-loader';\n\n// import type {ParquetWasmLoaderOptions} from './lib/wasm/parse-parquet-wasm';\n// import {parseParquetWasm} from './lib/wasm/parse-parquet-wasm';\n// import {ParquetWasmLoader as ParquetWasmWorkerLoader} from './parquet-wasm-loader';\n\nexport {ParquetWriter as _ParquetWriter} from './parquet-writer';\n// export {ParquetWasmWriter} from './parquet-wasm-writer';\n\n// EXPERIMENTAL - expose the internal parquetjs API\n\nexport {preloadCompressions} from './parquetjs/compression';\n\nexport {ParquetSchema} from './parquetjs/schema/schema';\nexport {ParquetReader} from './parquetjs/parser/parquet-reader';\nexport {ParquetEncoder} from './parquetjs/encoder/parquet-encoder';\n\nexport {\n convertParquetSchema,\n convertParquetSchema as convertParquetToArrowSchema\n} from './lib/arrow/convert-schema-from-parquet';\n\n// Experimental\nexport {BufferPolyfill, installBufferPolyfill} from './polyfills/buffer';\n"],"mappings":"SAIQA,MAAM;AAAA,SAKZC,mBAAmB,EACnBC,aAAa,EACbC,sBAAsB,EACtBC,gBAAgB,EAChBC,2BAA2B,EAC3BC,qBAAqB;AAAA,SAOfC,aAAa,IAAIC,cAAc;AAAA,SAK/BC,mBAAmB;AAAA,SAEnBC,aAAa;AAAA,SACbC,aAAa;AAAA,SACbC,cAAc;AAAA,SAGpBC,oBAAoB,EACpBA,oBAAoB,IAAIC,2BAA2B;AAAA,SAI7CC,cAAc,EAAEC,qBAAqB"}
1
+ {"version":3,"file":"index.js","names":["Buffer","ParquetWorkerLoader","ParquetLoader","GeoParquetWorkerLoader","GeoParquetLoader","ParquetColumnarWorkerLoader","ParquetColumnarLoader","ParquetWriter","_ParquetWriter","ParquetWasmLoader","ParquetWasmWorkerLoader","ParquetWasmWriter","preloadCompressions","ParquetSchema","ParquetReader","ParquetEncoder","convertParquetSchema","convertParquetToArrowSchema","BufferPolyfill","installBufferPolyfill"],"sources":["../src/index.ts"],"sourcesContent":["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nexport {Buffer} from './polyfills/buffer/install-buffer-polyfill';\n\n// import {ArrowTable, ArrowTableBatch} from '@loaders.gl/arrow';\n\nexport {\n ParquetWorkerLoader,\n ParquetLoader,\n GeoParquetWorkerLoader,\n GeoParquetLoader,\n ParquetColumnarWorkerLoader,\n ParquetColumnarLoader\n} from './parquet-loader';\n\nexport {ParquetWriter as _ParquetWriter} from './parquet-writer';\n\n// EXPERIMENTAL - expose Parquet WASM loaders/writer\n\nexport type {ParquetWasmLoaderOptions} from './parquet-wasm-loader';\nexport {ParquetWasmLoader, ParquetWasmWorkerLoader} from './parquet-wasm-loader';\nexport {ParquetWasmWriter} from './parquet-wasm-writer';\n\n// EXPERIMENTAL - expose the internal parquetjs API\n\nexport {preloadCompressions} from './parquetjs/compression';\n\nexport {ParquetSchema} from './parquetjs/schema/schema';\nexport {ParquetReader} from './parquetjs/parser/parquet-reader';\nexport {ParquetEncoder} from './parquetjs/encoder/parquet-encoder';\n\nexport {\n convertParquetSchema,\n convertParquetSchema as convertParquetToArrowSchema\n} from './lib/arrow/convert-schema-from-parquet';\n\n// Experimental\nexport {BufferPolyfill, installBufferPolyfill} from './polyfills/buffer';\n"],"mappings":"SAIQA,MAAM;AAAA,SAKZC,mBAAmB,EACnBC,aAAa,EACbC,sBAAsB,EACtBC,gBAAgB,EAChBC,2BAA2B,EAC3BC,qBAAqB;AAAA,SAGfC,aAAa,IAAIC,cAAc;AAAA,SAK/BC,iBAAiB,EAAEC,uBAAuB;AAAA,SAC1CC,iBAAiB;AAAA,SAIjBC,mBAAmB;AAAA,SAEnBC,aAAa;AAAA,SACbC,aAAa;AAAA,SACbC,cAAc;AAAA,SAGpBC,oBAAoB,EACpBA,oBAAoB,IAAIC,2BAA2B;AAAA,SAI7CC,cAAc,EAAEC,qBAAqB"}
@@ -1,3 +1,5 @@
1
+ export declare const VERSION: any;
2
+ export declare const PARQUET_WASM_URL = "https://unpkg.com/parquet-wasm@0.6.0-beta.1/esm/arrow1_bg.wasm";
1
3
  /**
2
4
  * Parquet File Magic String
3
5
  */
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/lib/constants.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,OAAO,KAA8D,CAAC;AACnF,eAAO,MAAM,gBAAgB,mEAAmE,CAAC;AAEjG;;GAEG;AACH,eAAO,MAAM,aAAa,SAAS,CAAC;AACpC,eAAO,MAAM,uBAAuB,SAAS,CAAC;AAE9C;;GAEG;AACH,eAAO,MAAM,eAAe,IAAI,CAAC;AAEjC;;GAEG;AACH,eAAO,MAAM,kBAAkB,UAAU,CAAC;AAC1C,eAAO,MAAM,sBAAsB,QAAQ,CAAC"}
@@ -0,0 +1,8 @@
1
+ export const VERSION = typeof "4.2.0-alpha.4" !== 'undefined' ? "4.2.0-alpha.4" : 'latest';
2
+ export const PARQUET_WASM_URL = 'https://unpkg.com/parquet-wasm@0.6.0-beta.1/esm/arrow1_bg.wasm';
3
+ export const PARQUET_MAGIC = 'PAR1';
4
+ export const PARQUET_MAGIC_ENCRYPTED = 'PARE';
5
+ export const PARQUET_VERSION = 1;
6
+ export const PARQUET_RDLVL_TYPE = 'INT32';
7
+ export const PARQUET_RDLVL_ENCODING = 'RLE';
8
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","names":["VERSION","PARQUET_WASM_URL","PARQUET_MAGIC","PARQUET_MAGIC_ENCRYPTED","PARQUET_VERSION","PARQUET_RDLVL_TYPE","PARQUET_RDLVL_ENCODING"],"sources":["../../src/lib/constants.ts"],"sourcesContent":["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nexport const VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';\nexport const PARQUET_WASM_URL = 'https://unpkg.com/parquet-wasm@0.6.0-beta.1/esm/arrow1_bg.wasm';\n\n/**\n * Parquet File Magic String\n */\nexport const PARQUET_MAGIC = 'PAR1';\nexport const PARQUET_MAGIC_ENCRYPTED = 'PARE';\n\n/**\n * Parquet File Format Version\n */\nexport const PARQUET_VERSION = 1;\n\n/**\n * Internal type used for repetition/definition levels\n */\nexport const PARQUET_RDLVL_TYPE = 'INT32';\nexport const PARQUET_RDLVL_ENCODING = 'RLE';\n"],"mappings":"AAMA,OAAO,MAAMA,OAAO,GAAG,sBAAkB,KAAK,WAAW,qBAAiB,QAAQ;AAClF,OAAO,MAAMC,gBAAgB,GAAG,gEAAgE;AAKhG,OAAO,MAAMC,aAAa,GAAG,MAAM;AACnC,OAAO,MAAMC,uBAAuB,GAAG,MAAM;AAK7C,OAAO,MAAMC,eAAe,GAAG,CAAC;AAKhC,OAAO,MAAMC,kBAAkB,GAAG,OAAO;AACzC,OAAO,MAAMC,sBAAsB,GAAG,KAAK"}
@@ -1,12 +1,7 @@
1
- import type { WriterOptions } from '@loaders.gl/loader-utils';
2
1
  import type { ArrowTable } from '@loaders.gl/arrow';
3
- export type ParquetWriterOptions = WriterOptions & {
4
- parquet?: {
5
- wasmUrl?: string;
6
- };
7
- };
2
+ import type { ParquetWriterOptions } from '../../parquet-wasm-writer';
8
3
  /**
9
4
  * Encode Arrow arrow.Table to Parquet buffer
10
5
  */
11
- export declare function encode(table: ArrowTable, options?: ParquetWriterOptions): Promise<ArrayBuffer>;
6
+ export declare function encode(table: ArrowTable, options: ParquetWriterOptions): Promise<ArrayBuffer>;
12
7
  //# sourceMappingURL=encode-parquet-wasm.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"encode-parquet-wasm.d.ts","sourceRoot":"","sources":["../../../src/lib/wasm/encode-parquet-wasm.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,mBAAmB,CAAC;AAKlD,MAAM,MAAM,oBAAoB,GAAG,aAAa,GAAG;IACjD,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;CACH,CAAC;AAEF;;GAEG;AACH,wBAAsB,MAAM,CAC1B,KAAK,EAAE,UAAU,EACjB,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,WAAW,CAAC,CAiBtB"}
1
+ {"version":3,"file":"encode-parquet-wasm.d.ts","sourceRoot":"","sources":["../../../src/lib/wasm/encode-parquet-wasm.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,mBAAmB,CAAC;AAKlD,OAAO,KAAK,EAAC,oBAAoB,EAAC,MAAM,2BAA2B,CAAC;AAEpE;;GAEG;AACH,wBAAsB,MAAM,CAC1B,KAAK,EAAE,UAAU,EACjB,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,WAAW,CAAC,CAsBtB"}
@@ -2,13 +2,15 @@ import * as arrow from 'apache-arrow';
2
2
  import { loadWasm } from "./load-wasm.js";
3
3
  export async function encode(table, options) {
4
4
  var _options$parquet;
5
- const wasmUrl = options === null || options === void 0 ? void 0 : (_options$parquet = options.parquet) === null || _options$parquet === void 0 ? void 0 : _options$parquet.wasmUrl;
5
+ const wasmUrl = (_options$parquet = options.parquet) === null || _options$parquet === void 0 ? void 0 : _options$parquet.wasmUrl;
6
6
  const wasm = await loadWasm(wasmUrl);
7
7
  const arrowTable = table.data;
8
- const writer = arrow.RecordBatchStreamWriter.writeAll(arrowTable);
9
- const arrowIPCBytes = writer.toUint8Array(true);
10
- const writerProperties = new wasm.WriterPropertiesBuilder().build();
11
- const parquetBytes = wasm.writeParquet(arrowIPCBytes, writerProperties);
12
- return parquetBytes.buffer.slice(parquetBytes.byteOffset, parquetBytes.byteLength + parquetBytes.byteOffset);
8
+ const ipcStream = arrow.tableToIPC(arrowTable);
9
+ const wasmTable = wasm.Table.fromIPCStream(ipcStream);
10
+ const wasmProperties = new wasm.WriterPropertiesBuilder().build();
11
+ try {
12
+ const parquetBytes = wasm.writeParquet(wasmTable, wasmProperties);
13
+ return parquetBytes.buffer.slice(parquetBytes.byteOffset, parquetBytes.byteLength + parquetBytes.byteOffset);
14
+ } finally {}
13
15
  }
14
16
  //# sourceMappingURL=encode-parquet-wasm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"encode-parquet-wasm.js","names":["arrow","loadWasm","encode","table","options","_options$parquet","wasmUrl","parquet","wasm","arrowTable","data","writer","RecordBatchStreamWriter","writeAll","arrowIPCBytes","toUint8Array","writerProperties","WriterPropertiesBuilder","build","parquetBytes","writeParquet","buffer","slice","byteOffset","byteLength"],"sources":["../../../src/lib/wasm/encode-parquet-wasm.ts"],"sourcesContent":["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport type {WriterOptions} from '@loaders.gl/loader-utils';\nimport type {ArrowTable} from '@loaders.gl/arrow';\n\nimport * as arrow from 'apache-arrow';\nimport {loadWasm} from './load-wasm';\n\nexport type ParquetWriterOptions = WriterOptions & {\n parquet?: {\n wasmUrl?: string;\n };\n};\n\n/**\n * Encode Arrow arrow.Table to Parquet buffer\n */\nexport async function encode(\n table: ArrowTable,\n options?: ParquetWriterOptions\n): Promise<ArrayBuffer> {\n const wasmUrl = options?.parquet?.wasmUrl;\n const wasm = await loadWasm(wasmUrl);\n\n const arrowTable: arrow.Table = table.data;\n\n // Serialize a table to the IPC format.\n const writer = arrow.RecordBatchStreamWriter.writeAll(arrowTable);\n const arrowIPCBytes = writer.toUint8Array(true);\n\n // TODO: provide options for how to write table.\n const writerProperties = new wasm.WriterPropertiesBuilder().build();\n const parquetBytes = wasm.writeParquet(arrowIPCBytes, writerProperties);\n return parquetBytes.buffer.slice(\n parquetBytes.byteOffset,\n parquetBytes.byteLength + parquetBytes.byteOffset\n );\n}\n"],"mappings":"AAOA,OAAO,KAAKA,KAAK,MAAM,cAAc;AAAC,SAC9BC,QAAQ;AAWhB,OAAO,eAAeC,MAAMA,CAC1BC,KAAiB,EACjBC,OAA8B,EACR;EAAA,IAAAC,gBAAA;EACtB,MAAMC,OAAO,GAAGF,OAAO,aAAPA,OAAO,wBAAAC,gBAAA,GAAPD,OAAO,CAAEG,OAAO,cAAAF,gBAAA,uBAAhBA,gBAAA,CAAkBC,OAAO;EACzC,MAAME,IAAI,GAAG,MAAMP,QAAQ,CAACK,OAAO,CAAC;EAEpC,MAAMG,UAAuB,GAAGN,KAAK,CAACO,IAAI;EAG1C,MAAMC,MAAM,GAAGX,KAAK,CAACY,uBAAuB,CAACC,QAAQ,CAACJ,UAAU,CAAC;EACjE,MAAMK,aAAa,GAAGH,MAAM,CAACI,YAAY,CAAC,IAAI,CAAC;EAG/C,MAAMC,gBAAgB,GAAG,IAAIR,IAAI,CAACS,uBAAuB,CAAC,CAAC,CAACC,KAAK,CAAC,CAAC;EACnE,MAAMC,YAAY,GAAGX,IAAI,CAACY,YAAY,CAACN,aAAa,EAAEE,gBAAgB,CAAC;EACvE,OAAOG,YAAY,CAACE,MAAM,CAACC,KAAK,CAC9BH,YAAY,CAACI,UAAU,EACvBJ,YAAY,CAACK,UAAU,GAAGL,YAAY,CAACI,UACzC,CAAC;AACH"}
1
+ {"version":3,"file":"encode-parquet-wasm.js","names":["arrow","loadWasm","encode","table","options","_options$parquet","wasmUrl","parquet","wasm","arrowTable","data","ipcStream","tableToIPC","wasmTable","Table","fromIPCStream","wasmProperties","WriterPropertiesBuilder","build","parquetBytes","writeParquet","buffer","slice","byteOffset","byteLength"],"sources":["../../../src/lib/wasm/encode-parquet-wasm.ts"],"sourcesContent":["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport type {ArrowTable} from '@loaders.gl/arrow';\n\nimport * as arrow from 'apache-arrow';\nimport {loadWasm} from './load-wasm';\n\nimport type {ParquetWriterOptions} from '../../parquet-wasm-writer';\n\n/**\n * Encode Arrow arrow.Table to Parquet buffer\n */\nexport async function encode(\n table: ArrowTable,\n options: ParquetWriterOptions\n): Promise<ArrayBuffer> {\n const wasmUrl = options.parquet?.wasmUrl!;\n const wasm = await loadWasm(wasmUrl);\n\n // Serialize the table to the IPC format.\n const arrowTable: arrow.Table = table.data;\n const ipcStream = arrow.tableToIPC(arrowTable);\n\n // Pass the IPC stream to the Parquet writer.\n const wasmTable = wasm.Table.fromIPCStream(ipcStream);\n const wasmProperties = new wasm.WriterPropertiesBuilder().build();\n try {\n const parquetBytes = wasm.writeParquet(wasmTable, wasmProperties);\n // const parquetBytes = wasm.writeParquet(wasmTable, wasmProperties);\n return parquetBytes.buffer.slice(\n parquetBytes.byteOffset,\n parquetBytes.byteLength + parquetBytes.byteOffset\n );\n } finally {\n // wasmTable.free();\n // wasmProperties.free();\n }\n}\n\n// type WriteOptions = {\n// compression?: number;\n// dictionaryEnabled?: boolean;\n// encoding?: number;\n// maxRowGroupSize?: number;\n// maxStatisticsSize?: number;\n// statisticsEnabled?: boolean;\n// writeBatchSize?: number;\n// dataPageSizeLimit?: number;\n// dictionaryPageSizeLimit?: number;\n// };\n\n// columnCompression: Record<string, number>;\n// columnDictionaryEnabled: Record<string, boolean>;\n// columnEncoding: Record<string, number>;\n// columnMaxStatisticsSize\n// compression:Record<string, number>;\n// setCreatedBy\n// setDataPageSizeLimit\n// setDictionaryEnabled\n// setDictionaryPageSizeLimit\n// setEncoding\n// setMaxRowGroupSize\n// setMaxStatisticsSize\n// setStatisticsEnabled\n// setWriteBatchSize\n// setWriterVersion\n"],"mappings":"AAMA,OAAO,KAAKA,KAAK,MAAM,cAAc;AAAC,SAC9BC,QAAQ;AAOhB,OAAO,eAAeC,MAAMA,CAC1BC,KAAiB,EACjBC,OAA6B,EACP;EAAA,IAAAC,gBAAA;EACtB,MAAMC,OAAO,IAAAD,gBAAA,GAAGD,OAAO,CAACG,OAAO,cAAAF,gBAAA,uBAAfA,gBAAA,CAAiBC,OAAQ;EACzC,MAAME,IAAI,GAAG,MAAMP,QAAQ,CAACK,OAAO,CAAC;EAGpC,MAAMG,UAAuB,GAAGN,KAAK,CAACO,IAAI;EAC1C,MAAMC,SAAS,GAAGX,KAAK,CAACY,UAAU,CAACH,UAAU,CAAC;EAG9C,MAAMI,SAAS,GAAGL,IAAI,CAACM,KAAK,CAACC,aAAa,CAACJ,SAAS,CAAC;EACrD,MAAMK,cAAc,GAAG,IAAIR,IAAI,CAACS,uBAAuB,CAAC,CAAC,CAACC,KAAK,CAAC,CAAC;EACjE,IAAI;IACF,MAAMC,YAAY,GAAGX,IAAI,CAACY,YAAY,CAACP,SAAS,EAAEG,cAAc,CAAC;IAEjE,OAAOG,YAAY,CAACE,MAAM,CAACC,KAAK,CAC9BH,YAAY,CAACI,UAAU,EACvBJ,YAAY,CAACK,UAAU,GAAGL,YAAY,CAACI,UACzC,CAAC;EACH,CAAC,SAAS,CAGV;AACF"}
@@ -1,2 +1,3 @@
1
- export { loadWasm } from './load-wasm-node';
1
+ import initWasm from 'parquet-wasm';
2
+ export declare function loadWasm(wasmUrl?: string): Promise<typeof initWasm>;
2
3
  //# sourceMappingURL=load-wasm.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"load-wasm.d.ts","sourceRoot":"","sources":["../../../src/lib/wasm/load-wasm.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,QAAQ,EAAC,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"load-wasm.d.ts","sourceRoot":"","sources":["../../../src/lib/wasm/load-wasm.ts"],"names":[],"mappings":"AAKA,OAAO,QAAQ,MAAM,cAAc,CAAC;AAMpC,wBAAsB,QAAQ,CAAC,OAAO,GAAE,MAAyB,4BAUhE"}
@@ -1,2 +1,16 @@
1
- export { loadWasm } from "./load-wasm-node.js";
1
+ import initWasm from 'parquet-wasm';
2
+ import * as parquetWasm from 'parquet-wasm';
3
+ import { PARQUET_WASM_URL } from "../constants.js";
4
+ let initializePromise;
5
+ export async function loadWasm() {
6
+ let wasmUrl = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : PARQUET_WASM_URL;
7
+ if (!initializePromise && typeof initWasm === 'function') {
8
+ if (!wasmUrl) {
9
+ throw new Error('ParquetLoader: No wasmUrl provided');
10
+ }
11
+ initializePromise = initWasm(wasmUrl);
12
+ }
13
+ await initializePromise;
14
+ return parquetWasm;
15
+ }
2
16
  //# sourceMappingURL=load-wasm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"load-wasm.js","names":["loadWasm"],"sources":["../../../src/lib/wasm/load-wasm.ts"],"sourcesContent":["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nexport {loadWasm} from './load-wasm-node';\n"],"mappings":"SAIQA,QAAQ"}
1
+ {"version":3,"file":"load-wasm.js","names":["initWasm","parquetWasm","PARQUET_WASM_URL","initializePromise","loadWasm","wasmUrl","arguments","length","undefined","Error"],"sources":["../../../src/lib/wasm/load-wasm.ts"],"sourcesContent":["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\n// eslint-disable-next-line import/default\nimport initWasm from 'parquet-wasm';\nimport * as parquetWasm from 'parquet-wasm';\nimport {PARQUET_WASM_URL} from '../constants';\n\nlet initializePromise: any;\n\nexport async function loadWasm(wasmUrl: string = PARQUET_WASM_URL) {\n if (!initializePromise && typeof initWasm === 'function') {\n if (!wasmUrl) {\n throw new Error('ParquetLoader: No wasmUrl provided');\n }\n // @ts-ignore\n initializePromise = initWasm(wasmUrl);\n }\n await initializePromise;\n return parquetWasm;\n}\n"],"mappings":"AAKA,OAAOA,QAAQ,MAAM,cAAc;AACnC,OAAO,KAAKC,WAAW,MAAM,cAAc;AAAC,SACpCC,gBAAgB;AAExB,IAAIC,iBAAsB;AAE1B,OAAO,eAAeC,QAAQA,CAAA,EAAqC;EAAA,IAApCC,OAAe,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAGJ,gBAAgB;EAC/D,IAAI,CAACC,iBAAiB,IAAI,OAAOH,QAAQ,KAAK,UAAU,EAAE;IACxD,IAAI,CAACK,OAAO,EAAE;MACZ,MAAM,IAAII,KAAK,CAAC,oCAAoC,CAAC;IACvD;IAEAN,iBAAiB,GAAGH,QAAQ,CAACK,OAAO,CAAC;EACvC;EACA,MAAMF,iBAAiB;EACvB,OAAOF,WAAW;AACpB"}
@@ -1,10 +1,4 @@
1
- import type { LoaderOptions } from '@loaders.gl/loader-utils';
2
1
  import type { ArrowTable } from '@loaders.gl/arrow';
3
- export type ParquetWasmLoaderOptions = LoaderOptions & {
4
- parquet?: {
5
- type?: 'arrow-table';
6
- wasmUrl?: string;
7
- };
8
- };
9
- export declare function parseParquetWasm(arrayBuffer: ArrayBuffer, options?: ParquetWasmLoaderOptions): Promise<ArrowTable>;
2
+ import type { ParquetWasmLoaderOptions } from '../../parquet-wasm-loader';
3
+ export declare function parseParquetWasm(arrayBuffer: ArrayBuffer, options: ParquetWasmLoaderOptions): Promise<ArrowTable>;
10
4
  //# sourceMappingURL=parse-parquet-wasm.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"parse-parquet-wasm.d.ts","sourceRoot":"","sources":["../../../src/lib/wasm/parse-parquet-wasm.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,mBAAmB,CAAC;AAKlD,MAAM,MAAM,wBAAwB,GAAG,aAAa,GAAG;IACrD,OAAO,CAAC,EAAE;QACR,IAAI,CAAC,EAAE,aAAa,CAAC;QACrB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;CACH,CAAC;AAEF,wBAAsB,gBAAgB,CACpC,WAAW,EAAE,WAAW,EACxB,OAAO,CAAC,EAAE,wBAAwB,GACjC,OAAO,CAAC,UAAU,CAAC,CAuBrB"}
1
+ {"version":3,"file":"parse-parquet-wasm.d.ts","sourceRoot":"","sources":["../../../src/lib/wasm/parse-parquet-wasm.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,mBAAmB,CAAC;AAElD,OAAO,KAAK,EAAC,wBAAwB,EAAC,MAAM,2BAA2B,CAAC;AAIxE,wBAAsB,gBAAgB,CACpC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,UAAU,CAAC,CAkBrB"}
@@ -1,23 +1,20 @@
1
1
  import { serializeArrowSchema } from '@loaders.gl/arrow';
2
- import * as arrow from 'apache-arrow';
3
2
  import { loadWasm } from "./load-wasm.js";
3
+ import * as arrow from 'apache-arrow';
4
4
  export async function parseParquetWasm(arrayBuffer, options) {
5
5
  var _options$parquet;
6
+ const arr = new Uint8Array(arrayBuffer);
6
7
  const wasmUrl = options === null || options === void 0 ? void 0 : (_options$parquet = options.parquet) === null || _options$parquet === void 0 ? void 0 : _options$parquet.wasmUrl;
7
8
  const wasm = await loadWasm(wasmUrl);
8
- const arr = new Uint8Array(arrayBuffer);
9
- const arrowIPCUint8Arr = wasm.readParquet(arr);
10
- const arrowIPCBuffer = arrowIPCUint8Arr.buffer.slice(arrowIPCUint8Arr.byteOffset, arrowIPCUint8Arr.byteLength + arrowIPCUint8Arr.byteOffset);
11
- const reader = arrow.RecordBatchStreamReader.from(arrowIPCBuffer);
12
- const recordBatches = [];
13
- for (const recordBatch of reader) {
14
- recordBatches.push(recordBatch);
15
- }
16
- const arrowTable = new arrow.Table(recordBatches);
17
- return {
18
- shape: 'arrow-table',
19
- schema: serializeArrowSchema(arrowTable.schema),
20
- data: arrowTable
21
- };
9
+ const wasmTable = wasm.readParquet(arr);
10
+ try {
11
+ const ipcStream = wasmTable.intoIPCStream();
12
+ const arrowTable = arrow.tableFromIPC(ipcStream);
13
+ return {
14
+ shape: 'arrow-table',
15
+ schema: serializeArrowSchema(arrowTable.schema),
16
+ data: arrowTable
17
+ };
18
+ } finally {}
22
19
  }
23
20
  //# sourceMappingURL=parse-parquet-wasm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"parse-parquet-wasm.js","names":["serializeArrowSchema","arrow","loadWasm","parseParquetWasm","arrayBuffer","options","_options$parquet","wasmUrl","parquet","wasm","arr","Uint8Array","arrowIPCUint8Arr","readParquet","arrowIPCBuffer","buffer","slice","byteOffset","byteLength","reader","RecordBatchStreamReader","from","recordBatches","recordBatch","push","arrowTable","Table","shape","schema","data"],"sources":["../../../src/lib/wasm/parse-parquet-wasm.ts"],"sourcesContent":["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\n// eslint-disable\nimport type {LoaderOptions} from '@loaders.gl/loader-utils';\nimport type {ArrowTable} from '@loaders.gl/arrow';\nimport {serializeArrowSchema} from '@loaders.gl/arrow';\nimport * as arrow from 'apache-arrow';\nimport {loadWasm} from './load-wasm';\n\nexport type ParquetWasmLoaderOptions = LoaderOptions & {\n parquet?: {\n type?: 'arrow-table';\n wasmUrl?: string;\n };\n};\n\nexport async function parseParquetWasm(\n arrayBuffer: ArrayBuffer,\n options?: ParquetWasmLoaderOptions\n): Promise<ArrowTable> {\n const wasmUrl = options?.parquet?.wasmUrl;\n const wasm = await loadWasm(wasmUrl);\n\n const arr = new Uint8Array(arrayBuffer);\n const arrowIPCUint8Arr = wasm.readParquet(arr);\n const arrowIPCBuffer = arrowIPCUint8Arr.buffer.slice(\n arrowIPCUint8Arr.byteOffset,\n arrowIPCUint8Arr.byteLength + arrowIPCUint8Arr.byteOffset\n );\n\n const reader = arrow.RecordBatchStreamReader.from(arrowIPCBuffer);\n const recordBatches: arrow.RecordBatch[] = [];\n for (const recordBatch of reader) {\n recordBatches.push(recordBatch);\n }\n const arrowTable = new arrow.Table(recordBatches);\n\n return {\n shape: 'arrow-table',\n schema: serializeArrowSchema(arrowTable.schema),\n data: arrowTable\n };\n}\n"],"mappings":"AAOA,SAAQA,oBAAoB,QAAO,mBAAmB;AACtD,OAAO,KAAKC,KAAK,MAAM,cAAc;AAAC,SAC9BC,QAAQ;AAShB,OAAO,eAAeC,gBAAgBA,CACpCC,WAAwB,EACxBC,OAAkC,EACb;EAAA,IAAAC,gBAAA;EACrB,MAAMC,OAAO,GAAGF,OAAO,aAAPA,OAAO,wBAAAC,gBAAA,GAAPD,OAAO,CAAEG,OAAO,cAAAF,gBAAA,uBAAhBA,gBAAA,CAAkBC,OAAO;EACzC,MAAME,IAAI,GAAG,MAAMP,QAAQ,CAACK,OAAO,CAAC;EAEpC,MAAMG,GAAG,GAAG,IAAIC,UAAU,CAACP,WAAW,CAAC;EACvC,MAAMQ,gBAAgB,GAAGH,IAAI,CAACI,WAAW,CAACH,GAAG,CAAC;EAC9C,MAAMI,cAAc,GAAGF,gBAAgB,CAACG,MAAM,CAACC,KAAK,CAClDJ,gBAAgB,CAACK,UAAU,EAC3BL,gBAAgB,CAACM,UAAU,GAAGN,gBAAgB,CAACK,UACjD,CAAC;EAED,MAAME,MAAM,GAAGlB,KAAK,CAACmB,uBAAuB,CAACC,IAAI,CAACP,cAAc,CAAC;EACjE,MAAMQ,aAAkC,GAAG,EAAE;EAC7C,KAAK,MAAMC,WAAW,IAAIJ,MAAM,EAAE;IAChCG,aAAa,CAACE,IAAI,CAACD,WAAW,CAAC;EACjC;EACA,MAAME,UAAU,GAAG,IAAIxB,KAAK,CAACyB,KAAK,CAACJ,aAAa,CAAC;EAEjD,OAAO;IACLK,KAAK,EAAE,aAAa;IACpBC,MAAM,EAAE5B,oBAAoB,CAACyB,UAAU,CAACG,MAAM,CAAC;IAC/CC,IAAI,EAAEJ;EACR,CAAC;AACH"}
1
+ {"version":3,"file":"parse-parquet-wasm.js","names":["serializeArrowSchema","loadWasm","arrow","parseParquetWasm","arrayBuffer","options","_options$parquet","arr","Uint8Array","wasmUrl","parquet","wasm","wasmTable","readParquet","ipcStream","intoIPCStream","arrowTable","tableFromIPC","shape","schema","data"],"sources":["../../../src/lib/wasm/parse-parquet-wasm.ts"],"sourcesContent":["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\n// eslint-disable\nimport type {ArrowTable} from '@loaders.gl/arrow';\nimport {serializeArrowSchema} from '@loaders.gl/arrow';\nimport type {ParquetWasmLoaderOptions} from '../../parquet-wasm-loader';\nimport {loadWasm} from './load-wasm';\nimport * as arrow from 'apache-arrow';\n\nexport async function parseParquetWasm(\n arrayBuffer: ArrayBuffer,\n options: ParquetWasmLoaderOptions\n): Promise<ArrowTable> {\n const arr = new Uint8Array(arrayBuffer);\n\n const wasmUrl = options?.parquet?.wasmUrl;\n const wasm = await loadWasm(wasmUrl);\n const wasmTable = wasm.readParquet(arr);\n try {\n const ipcStream = wasmTable.intoIPCStream();\n const arrowTable = arrow.tableFromIPC(ipcStream);\n\n return {\n shape: 'arrow-table',\n schema: serializeArrowSchema(arrowTable.schema),\n data: arrowTable\n };\n } finally {\n // wasmTable.free();\n }\n}\n"],"mappings":"AAMA,SAAQA,oBAAoB,QAAO,mBAAmB;AAAC,SAE/CC,QAAQ;AAChB,OAAO,KAAKC,KAAK,MAAM,cAAc;AAErC,OAAO,eAAeC,gBAAgBA,CACpCC,WAAwB,EACxBC,OAAiC,EACZ;EAAA,IAAAC,gBAAA;EACrB,MAAMC,GAAG,GAAG,IAAIC,UAAU,CAACJ,WAAW,CAAC;EAEvC,MAAMK,OAAO,GAAGJ,OAAO,aAAPA,OAAO,wBAAAC,gBAAA,GAAPD,OAAO,CAAEK,OAAO,cAAAJ,gBAAA,uBAAhBA,gBAAA,CAAkBG,OAAO;EACzC,MAAME,IAAI,GAAG,MAAMV,QAAQ,CAACQ,OAAO,CAAC;EACpC,MAAMG,SAAS,GAAGD,IAAI,CAACE,WAAW,CAACN,GAAG,CAAC;EACvC,IAAI;IACF,MAAMO,SAAS,GAAGF,SAAS,CAACG,aAAa,CAAC,CAAC;IAC3C,MAAMC,UAAU,GAAGd,KAAK,CAACe,YAAY,CAACH,SAAS,CAAC;IAEhD,OAAO;MACLI,KAAK,EAAE,aAAa;MACpBC,MAAM,EAAEnB,oBAAoB,CAACgB,UAAU,CAACG,MAAM,CAAC;MAC/CC,IAAI,EAAEJ;IACR,CAAC;EACH,CAAC,SAAS,CAEV;AACF"}
@@ -3,7 +3,7 @@ import { parseParquetFile, parseParquetFileInBatches } from "./lib/parsers/parse
3
3
  import { parseGeoParquetFile, parseGeoParquetFileInBatches } from "./lib/parsers/parse-geoparquet.js";
4
4
  import { parseParquetFileInColumns, parseParquetFileInColumnarBatches } from "./lib/parsers/parse-parquet-to-columns.js";
5
5
  export { Buffer } from "./polyfills/buffer/install-buffer-polyfill.js";
6
- const VERSION = typeof "4.2.0-alpha.2" !== 'undefined' ? "4.2.0-alpha.2" : 'latest';
6
+ const VERSION = typeof "4.2.0-alpha.4" !== 'undefined' ? "4.2.0-alpha.4" : 'latest';
7
7
  export const ParquetWorkerLoader = {
8
8
  name: 'Apache Parquet',
9
9
  id: 'parquet',
@@ -1 +1 @@
1
- {"version":3,"file":"parquet-wasm-loader.d.ts","sourceRoot":"","sources":["../src/parquet-wasm-loader.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,MAAM,EAAE,gBAAgB,EAAE,aAAa,EAAC,MAAM,0BAA0B,CAAC;AACtF,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,mBAAmB,CAAC;AAQlD,kCAAkC;AAClC,MAAM,MAAM,wBAAwB,GAAG,aAAa,GAAG;IACrD,OAAO,CAAC,EAAE;QACR,IAAI,CAAC,EAAE,aAAa,CAAC;QACrB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;CACH,CAAC;AAEF,gCAAgC;AAChC,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,UAAU,EAAE,KAAK,EAAE,wBAAwB,CAiBvF,CAAC;AAEF,gCAAgC;AAChC,eAAO,MAAM,iBAAiB,EAAE,gBAAgB,CAAC,UAAU,EAAE,KAAK,EAAE,wBAAwB,CAG3F,CAAC"}
1
+ {"version":3,"file":"parquet-wasm-loader.d.ts","sourceRoot":"","sources":["../src/parquet-wasm-loader.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,MAAM,EAAE,gBAAgB,EAAE,aAAa,EAAC,MAAM,0BAA0B,CAAC;AACtF,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,mBAAmB,CAAC;AAKlD,kCAAkC;AAClC,MAAM,MAAM,wBAAwB,GAAG,aAAa,GAAG;IACrD,OAAO,CAAC,EAAE;QACR,IAAI,CAAC,EAAE,aAAa,CAAC;QACrB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;CACH,CAAC;AAEF,gCAAgC;AAChC,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,UAAU,EAAE,KAAK,EAAE,wBAAwB,CAiBvF,CAAC;AAEF,gCAAgC;AAChC,eAAO,MAAM,iBAAiB,EAAE,gBAAgB,CAAC,UAAU,EAAE,KAAK,EAAE,wBAAwB,CAM3F,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { parseParquetWasm } from "./lib/wasm/parse-parquet-wasm.js";
2
- const VERSION = typeof "4.2.0-alpha.2" !== 'undefined' ? "4.2.0-alpha.2" : 'latest';
2
+ import { VERSION, PARQUET_WASM_URL } from "./lib/constants.js";
3
3
  export const ParquetWasmWorkerLoader = {
4
4
  name: 'Apache Parquet',
5
5
  id: 'parquet-wasm',
@@ -14,12 +14,22 @@ export const ParquetWasmWorkerLoader = {
14
14
  options: {
15
15
  parquet: {
16
16
  type: 'arrow-table',
17
- wasmUrl: 'https://unpkg.com/parquet-wasm@0.3.1/esm2/arrow1_bg.wasm'
17
+ wasmUrl: PARQUET_WASM_URL
18
18
  }
19
19
  }
20
20
  };
21
21
  export const ParquetWasmLoader = {
22
22
  ...ParquetWasmWorkerLoader,
23
- parse: parseParquetWasm
23
+ parse(arrayBuffer, options) {
24
+ var _options;
25
+ options = {
26
+ parquet: {
27
+ ...ParquetWasmLoader.options.parquet,
28
+ ...((_options = options) === null || _options === void 0 ? void 0 : _options.parquet)
29
+ },
30
+ ...options
31
+ };
32
+ return parseParquetWasm(arrayBuffer, options);
33
+ }
24
34
  };
25
35
  //# sourceMappingURL=parquet-wasm-loader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"parquet-wasm-loader.js","names":["parseParquetWasm","VERSION","ParquetWasmWorkerLoader","name","id","module","version","worker","category","extensions","mimeTypes","binary","tests","options","parquet","type","wasmUrl","ParquetWasmLoader","parse"],"sources":["../src/parquet-wasm-loader.ts"],"sourcesContent":["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport type {Loader, LoaderWithParser, LoaderOptions} from '@loaders.gl/loader-utils';\nimport type {ArrowTable} from '@loaders.gl/arrow';\n\nimport {parseParquetWasm} from './lib/wasm/parse-parquet-wasm';\n\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';\n\n/** Parquet WASM loader options */\nexport type ParquetWasmLoaderOptions = LoaderOptions & {\n parquet?: {\n type?: 'arrow-table';\n wasmUrl?: string;\n };\n};\n\n/** Parquet WASM table loader */\nexport const ParquetWasmWorkerLoader: Loader<ArrowTable, never, ParquetWasmLoaderOptions> = {\n name: 'Apache Parquet',\n id: 'parquet-wasm',\n module: 'parquet',\n version: VERSION,\n worker: false,\n category: 'table',\n extensions: ['parquet'],\n mimeTypes: ['application/octet-stream'],\n binary: true,\n tests: ['PAR1', 'PARE'],\n options: {\n parquet: {\n type: 'arrow-table',\n wasmUrl: 'https://unpkg.com/parquet-wasm@0.3.1/esm2/arrow1_bg.wasm'\n }\n }\n};\n\n/** Parquet WASM table loader */\nexport const ParquetWasmLoader: LoaderWithParser<ArrowTable, never, ParquetWasmLoaderOptions> = {\n ...ParquetWasmWorkerLoader,\n parse: parseParquetWasm\n};\n"],"mappings":"SAOQA,gBAAgB;AAIxB,MAAMC,OAAO,GAAG,sBAAkB,KAAK,WAAW,qBAAiB,QAAQ;AAW3E,OAAO,MAAMC,uBAA4E,GAAG;EAC1FC,IAAI,EAAE,gBAAgB;EACtBC,EAAE,EAAE,cAAc;EAClBC,MAAM,EAAE,SAAS;EACjBC,OAAO,EAAEL,OAAO;EAChBM,MAAM,EAAE,KAAK;EACbC,QAAQ,EAAE,OAAO;EACjBC,UAAU,EAAE,CAAC,SAAS,CAAC;EACvBC,SAAS,EAAE,CAAC,0BAA0B,CAAC;EACvCC,MAAM,EAAE,IAAI;EACZC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;EACvBC,OAAO,EAAE;IACPC,OAAO,EAAE;MACPC,IAAI,EAAE,aAAa;MACnBC,OAAO,EAAE;IACX;EACF;AACF,CAAC;AAGD,OAAO,MAAMC,iBAAgF,GAAG;EAC9F,GAAGf,uBAAuB;EAC1BgB,KAAK,EAAElB;AACT,CAAC"}
1
+ {"version":3,"file":"parquet-wasm-loader.js","names":["parseParquetWasm","VERSION","PARQUET_WASM_URL","ParquetWasmWorkerLoader","name","id","module","version","worker","category","extensions","mimeTypes","binary","tests","options","parquet","type","wasmUrl","ParquetWasmLoader","parse","arrayBuffer","_options"],"sources":["../src/parquet-wasm-loader.ts"],"sourcesContent":["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport type {Loader, LoaderWithParser, LoaderOptions} from '@loaders.gl/loader-utils';\nimport type {ArrowTable} from '@loaders.gl/arrow';\n\nimport {parseParquetWasm} from './lib/wasm/parse-parquet-wasm';\nimport {VERSION, PARQUET_WASM_URL} from './lib/constants';\n\n/** Parquet WASM loader options */\nexport type ParquetWasmLoaderOptions = LoaderOptions & {\n parquet?: {\n type?: 'arrow-table';\n wasmUrl?: string;\n };\n};\n\n/** Parquet WASM table loader */\nexport const ParquetWasmWorkerLoader: Loader<ArrowTable, never, ParquetWasmLoaderOptions> = {\n name: 'Apache Parquet',\n id: 'parquet-wasm',\n module: 'parquet',\n version: VERSION,\n worker: false,\n category: 'table',\n extensions: ['parquet'],\n mimeTypes: ['application/octet-stream'],\n binary: true,\n tests: ['PAR1', 'PARE'],\n options: {\n parquet: {\n type: 'arrow-table',\n wasmUrl: PARQUET_WASM_URL\n }\n }\n};\n\n/** Parquet WASM table loader */\nexport const ParquetWasmLoader: LoaderWithParser<ArrowTable, never, ParquetWasmLoaderOptions> = {\n ...ParquetWasmWorkerLoader,\n parse(arrayBuffer: ArrayBuffer, options?: ParquetWasmLoaderOptions) {\n options = {parquet: {...ParquetWasmLoader.options.parquet, ...options?.parquet}, ...options};\n return parseParquetWasm(arrayBuffer, options);\n }\n};\n"],"mappings":"SAOQA,gBAAgB;AAAA,SAChBC,OAAO,EAAEC,gBAAgB;AAWjC,OAAO,MAAMC,uBAA4E,GAAG;EAC1FC,IAAI,EAAE,gBAAgB;EACtBC,EAAE,EAAE,cAAc;EAClBC,MAAM,EAAE,SAAS;EACjBC,OAAO,EAAEN,OAAO;EAChBO,MAAM,EAAE,KAAK;EACbC,QAAQ,EAAE,OAAO;EACjBC,UAAU,EAAE,CAAC,SAAS,CAAC;EACvBC,SAAS,EAAE,CAAC,0BAA0B,CAAC;EACvCC,MAAM,EAAE,IAAI;EACZC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;EACvBC,OAAO,EAAE;IACPC,OAAO,EAAE;MACPC,IAAI,EAAE,aAAa;MACnBC,OAAO,EAAEf;IACX;EACF;AACF,CAAC;AAGD,OAAO,MAAMgB,iBAAgF,GAAG;EAC9F,GAAGf,uBAAuB;EAC1BgB,KAAKA,CAACC,WAAwB,EAAEN,OAAkC,EAAE;IAAA,IAAAO,QAAA;IAClEP,OAAO,GAAG;MAACC,OAAO,EAAE;QAAC,GAAGG,iBAAiB,CAACJ,OAAO,CAACC,OAAO;QAAE,KAAAM,QAAA,GAAGP,OAAO,cAAAO,QAAA,uBAAPA,QAAA,CAASN,OAAO;MAAA,CAAC;MAAE,GAAGD;IAAO,CAAC;IAC5F,OAAOd,gBAAgB,CAACoB,WAAW,EAAEN,OAAO,CAAC;EAC/C;AACF,CAAC"}
@@ -1,6 +1,11 @@
1
1
  import type { WriterWithEncoder } from '@loaders.gl/loader-utils';
2
2
  import type { ArrowTable } from '@loaders.gl/arrow';
3
- import { ParquetWriterOptions } from './lib/wasm/encode-parquet-wasm';
3
+ import type { WriterOptions } from '@loaders.gl/loader-utils';
4
+ export type ParquetWriterOptions = WriterOptions & {
5
+ parquet?: {
6
+ wasmUrl?: string;
7
+ };
8
+ };
4
9
  /** Parquet WASM writer */
5
10
  export declare const ParquetWasmWriter: WriterWithEncoder<ArrowTable, never, ParquetWriterOptions>;
6
11
  //# sourceMappingURL=parquet-wasm-writer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"parquet-wasm-writer.d.ts","sourceRoot":"","sources":["../src/parquet-wasm-writer.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAS,oBAAoB,EAAC,MAAM,gCAAgC,CAAC;AAM5E,0BAA0B;AAC1B,eAAO,MAAM,iBAAiB,EAAE,iBAAiB,CAAC,UAAU,EAAE,KAAK,EAAE,oBAAoB,CAcxF,CAAC"}
1
+ {"version":3,"file":"parquet-wasm-writer.d.ts","sourceRoot":"","sources":["../src/parquet-wasm-writer.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,mBAAmB,CAAC;AAElD,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,0BAA0B,CAAC;AAI5D,MAAM,MAAM,oBAAoB,GAAG,aAAa,GAAG;IACjD,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;CACH,CAAC;AAEF,0BAA0B;AAC1B,eAAO,MAAM,iBAAiB,EAAE,iBAAiB,CAAC,UAAU,EAAE,KAAK,EAAE,oBAAoB,CAiBxF,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { encode } from "./lib/wasm/encode-parquet-wasm.js";
2
- const VERSION = typeof "4.2.0-alpha.2" !== 'undefined' ? "4.2.0-alpha.2" : 'latest';
2
+ import { VERSION, PARQUET_WASM_URL } from "./lib/constants.js";
3
3
  export const ParquetWasmWriter = {
4
4
  name: 'Apache Parquet',
5
5
  id: 'parquet-wasm',
@@ -10,9 +10,19 @@ export const ParquetWasmWriter = {
10
10
  binary: true,
11
11
  options: {
12
12
  parquet: {
13
- wasmUrl: 'https://unpkg.com/parquet-wasm@0.3.1/esm2/arrow1_bg.wasm'
13
+ wasmUrl: PARQUET_WASM_URL
14
14
  }
15
15
  },
16
- encode
16
+ encode(arrowTable, options) {
17
+ var _options;
18
+ options = {
19
+ parquet: {
20
+ ...ParquetWasmWriter.options.parquet,
21
+ ...((_options = options) === null || _options === void 0 ? void 0 : _options.parquet)
22
+ },
23
+ ...options
24
+ };
25
+ return encode(arrowTable, options);
26
+ }
17
27
  };
18
28
  //# sourceMappingURL=parquet-wasm-writer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"parquet-wasm-writer.js","names":["encode","VERSION","ParquetWasmWriter","name","id","module","version","extensions","mimeTypes","binary","options","parquet","wasmUrl"],"sources":["../src/parquet-wasm-writer.ts"],"sourcesContent":["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport type {WriterWithEncoder} from '@loaders.gl/loader-utils';\nimport type {ArrowTable} from '@loaders.gl/arrow';\nimport {encode, ParquetWriterOptions} from './lib/wasm/encode-parquet-wasm';\n\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';\n\n/** Parquet WASM writer */\nexport const ParquetWasmWriter: WriterWithEncoder<ArrowTable, never, ParquetWriterOptions> = {\n name: 'Apache Parquet',\n id: 'parquet-wasm',\n module: 'parquet',\n version: VERSION,\n extensions: ['parquet'],\n mimeTypes: ['application/octet-stream'],\n binary: true,\n options: {\n parquet: {\n wasmUrl: 'https://unpkg.com/parquet-wasm@0.3.1/esm2/arrow1_bg.wasm'\n }\n },\n encode\n};\n"],"mappings":"SAMQA,MAAM;AAId,MAAMC,OAAO,GAAG,sBAAkB,KAAK,WAAW,qBAAiB,QAAQ;AAG3E,OAAO,MAAMC,iBAA6E,GAAG;EAC3FC,IAAI,EAAE,gBAAgB;EACtBC,EAAE,EAAE,cAAc;EAClBC,MAAM,EAAE,SAAS;EACjBC,OAAO,EAAEL,OAAO;EAChBM,UAAU,EAAE,CAAC,SAAS,CAAC;EACvBC,SAAS,EAAE,CAAC,0BAA0B,CAAC;EACvCC,MAAM,EAAE,IAAI;EACZC,OAAO,EAAE;IACPC,OAAO,EAAE;MACPC,OAAO,EAAE;IACX;EACF,CAAC;EACDZ;AACF,CAAC"}
1
+ {"version":3,"file":"parquet-wasm-writer.js","names":["encode","VERSION","PARQUET_WASM_URL","ParquetWasmWriter","name","id","module","version","extensions","mimeTypes","binary","options","parquet","wasmUrl","arrowTable","_options"],"sources":["../src/parquet-wasm-writer.ts"],"sourcesContent":["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport type {WriterWithEncoder} from '@loaders.gl/loader-utils';\nimport type {ArrowTable} from '@loaders.gl/arrow';\nimport {encode} from './lib/wasm/encode-parquet-wasm';\nimport type {WriterOptions} from '@loaders.gl/loader-utils';\n\nimport {VERSION, PARQUET_WASM_URL} from './lib/constants';\n\nexport type ParquetWriterOptions = WriterOptions & {\n parquet?: {\n wasmUrl?: string;\n };\n};\n\n/** Parquet WASM writer */\nexport const ParquetWasmWriter: WriterWithEncoder<ArrowTable, never, ParquetWriterOptions> = {\n name: 'Apache Parquet',\n id: 'parquet-wasm',\n module: 'parquet',\n version: VERSION,\n extensions: ['parquet'],\n mimeTypes: ['application/octet-stream'],\n binary: true,\n options: {\n parquet: {\n wasmUrl: PARQUET_WASM_URL\n }\n },\n encode(arrowTable: ArrowTable, options?: ParquetWriterOptions) {\n options = {parquet: {...ParquetWasmWriter.options.parquet, ...options?.parquet}, ...options};\n return encode(arrowTable, options);\n }\n};\n"],"mappings":"SAMQA,MAAM;AAAA,SAGNC,OAAO,EAAEC,gBAAgB;AASjC,OAAO,MAAMC,iBAA6E,GAAG;EAC3FC,IAAI,EAAE,gBAAgB;EACtBC,EAAE,EAAE,cAAc;EAClBC,MAAM,EAAE,SAAS;EACjBC,OAAO,EAAEN,OAAO;EAChBO,UAAU,EAAE,CAAC,SAAS,CAAC;EACvBC,SAAS,EAAE,CAAC,0BAA0B,CAAC;EACvCC,MAAM,EAAE,IAAI;EACZC,OAAO,EAAE;IACPC,OAAO,EAAE;MACPC,OAAO,EAAEX;IACX;EACF,CAAC;EACDF,MAAMA,CAACc,UAAsB,EAAEH,OAA8B,EAAE;IAAA,IAAAI,QAAA;IAC7DJ,OAAO,GAAG;MAACC,OAAO,EAAE;QAAC,GAAGT,iBAAiB,CAACQ,OAAO,CAACC,OAAO;QAAE,KAAAG,QAAA,GAAGJ,OAAO,cAAAI,QAAA,uBAAPA,QAAA,CAASH,OAAO;MAAA,CAAC;MAAE,GAAGD;IAAO,CAAC;IAC5F,OAAOX,MAAM,CAACc,UAAU,EAAEH,OAAO,CAAC;EACpC;AACF,CAAC"}
@@ -1,4 +1,4 @@
1
- const VERSION = typeof "4.2.0-alpha.2" !== 'undefined' ? "4.2.0-alpha.2" : 'latest';
1
+ const VERSION = typeof "4.2.0-alpha.4" !== 'undefined' ? "4.2.0-alpha.4" : 'latest';
2
2
  export const ParquetWriter = {
3
3
  name: 'Apache Parquet',
4
4
  id: 'parquet',
@@ -1,7 +1,7 @@
1
1
  import { PARQUET_CODECS } from "../codecs/index.js";
2
2
  import { ConvertedType, Encoding, FieldRepetitionType, PageType, Type } from "../parquet-thrift/index.js";
3
3
  import { decompress } from "../compression.js";
4
- import { PARQUET_RDLVL_TYPE, PARQUET_RDLVL_ENCODING } from "../../constants.js";
4
+ import { PARQUET_RDLVL_TYPE, PARQUET_RDLVL_ENCODING } from "../../lib/constants.js";
5
5
  import { decodePageHeader, getThriftEnum, getBitWidth } from "../utils/read-utils.js";
6
6
  export async function decodeDataPages(buffer, context) {
7
7
  const cursor = {