@loaders.gl/parquet 4.0.4 → 4.1.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +138 -66
- package/dist/index.d.ts +1 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -21
- package/dist/index.js.map +1 -1
- package/dist/lib/parsers/get-parquet-schema.d.ts.map +1 -1
- package/dist/lib/parsers/get-parquet-schema.js.map +1 -1
- package/dist/lib/parsers/parse-geoparquet.d.ts +6 -0
- package/dist/lib/parsers/parse-geoparquet.d.ts.map +1 -0
- package/dist/lib/parsers/parse-geoparquet.js +56 -0
- package/dist/lib/parsers/parse-geoparquet.js.map +1 -0
- package/dist/lib/parsers/parse-parquet-to-columns.d.ts +6 -0
- package/dist/lib/parsers/parse-parquet-to-columns.d.ts.map +1 -1
- package/dist/lib/parsers/parse-parquet-to-columns.js.map +1 -1
- package/dist/lib/parsers/parse-parquet.d.ts +17 -0
- package/dist/lib/parsers/parse-parquet.d.ts.map +1 -0
- package/dist/lib/parsers/{parse-parquet-to-rows.js → parse-parquet.js} +2 -8
- package/dist/lib/parsers/parse-parquet.js.map +1 -0
- package/dist/lib/wasm/encode-parquet-wasm.d.ts.map +1 -1
- package/dist/lib/wasm/encode-parquet-wasm.js.map +1 -1
- package/dist/lib/wasm/load-wasm-browser.d.ts.map +1 -1
- package/dist/lib/wasm/load-wasm-browser.js.map +1 -1
- package/dist/lib/wasm/load-wasm-node.d.ts.map +1 -1
- package/dist/lib/wasm/load-wasm-node.js.map +1 -1
- package/dist/lib/wasm/load-wasm.d.ts.map +1 -1
- package/dist/lib/wasm/load-wasm.js.map +1 -1
- package/dist/lib/wasm/parse-parquet-wasm.d.ts.map +1 -1
- package/dist/lib/wasm/parse-parquet-wasm.js.map +1 -1
- package/dist/parquet-loader.d.ts +14 -4
- package/dist/parquet-loader.d.ts.map +1 -1
- package/dist/parquet-loader.js +50 -4
- package/dist/parquet-loader.js.map +1 -1
- package/dist/parquet-wasm-loader.d.ts +4 -2
- package/dist/parquet-wasm-loader.d.ts.map +1 -1
- package/dist/parquet-wasm-loader.js +6 -1
- package/dist/parquet-wasm-loader.js.map +1 -1
- package/dist/workers/parquet-worker.js +1 -1
- package/dist/workers/parquet-worker.js.map +1 -1
- package/package.json +15 -12
- package/src/index.ts +7 -60
- package/src/lib/parsers/get-parquet-schema.ts +3 -0
- package/src/lib/parsers/parse-geoparquet.ts +87 -0
- package/src/lib/parsers/parse-parquet-to-columns.ts +6 -0
- package/src/lib/parsers/{parse-parquet-to-rows.ts → parse-parquet.ts} +20 -21
- package/src/lib/wasm/encode-parquet-wasm.ts +3 -0
- package/src/lib/wasm/load-wasm-browser.ts +3 -0
- package/src/lib/wasm/load-wasm-node.ts +3 -0
- package/src/lib/wasm/load-wasm.ts +3 -0
- package/src/lib/wasm/parse-parquet-wasm.ts +3 -0
- package/src/parquet-loader.ts +89 -9
- package/src/parquet-wasm-loader.ts +10 -2
- package/src/workers/parquet-worker.ts +1 -1
- package/dist/lib/parsers/parse-parquet-to-rows.d.ts +0 -6
- package/dist/lib/parsers/parse-parquet-to-rows.d.ts.map +0 -1
- package/dist/lib/parsers/parse-parquet-to-rows.js.map +0 -1
package/dist/index.cjs
CHANGED
|
@@ -32,12 +32,15 @@ var src_exports = {};
|
|
|
32
32
|
__export(src_exports, {
|
|
33
33
|
Buffer: () => Buffer3,
|
|
34
34
|
BufferPolyfill: () => Buffer2,
|
|
35
|
-
|
|
35
|
+
GeoParquetLoader: () => GeoParquetLoader,
|
|
36
|
+
GeoParquetWorkerLoader: () => GeoParquetWorkerLoader,
|
|
37
|
+
ParquetColumnarLoader: () => ParquetColumnarLoader,
|
|
38
|
+
ParquetColumnarWorkerLoader: () => ParquetColumnarWorkerLoader,
|
|
36
39
|
ParquetEncoder: () => ParquetEncoder,
|
|
37
|
-
ParquetLoader: () =>
|
|
40
|
+
ParquetLoader: () => ParquetLoader,
|
|
38
41
|
ParquetReader: () => ParquetReader,
|
|
39
42
|
ParquetSchema: () => ParquetSchema,
|
|
40
|
-
ParquetWorkerLoader: () =>
|
|
43
|
+
ParquetWorkerLoader: () => ParquetWorkerLoader,
|
|
41
44
|
_ParquetWriter: () => ParquetWriter,
|
|
42
45
|
convertParquetSchema: () => convertParquetSchema,
|
|
43
46
|
convertParquetToArrowSchema: () => convertParquetSchema,
|
|
@@ -1776,51 +1779,8 @@ globalThis.process = globalThis.process || {};
|
|
|
1776
1779
|
globalThis.process.env = globalThis.process.env || {};
|
|
1777
1780
|
var Buffer3 = installBufferPolyfill();
|
|
1778
1781
|
|
|
1779
|
-
// src/index.ts
|
|
1780
|
-
var import_loader_utils = require("@loaders.gl/loader-utils");
|
|
1781
|
-
|
|
1782
1782
|
// src/parquet-loader.ts
|
|
1783
|
-
var
|
|
1784
|
-
var ParquetLoader = {
|
|
1785
|
-
name: "Apache Parquet",
|
|
1786
|
-
id: "parquet",
|
|
1787
|
-
module: "parquet",
|
|
1788
|
-
version: VERSION,
|
|
1789
|
-
worker: true,
|
|
1790
|
-
category: "table",
|
|
1791
|
-
extensions: ["parquet"],
|
|
1792
|
-
mimeTypes: ["application/octet-stream"],
|
|
1793
|
-
binary: true,
|
|
1794
|
-
tests: ["PAR1", "PARE"],
|
|
1795
|
-
options: {
|
|
1796
|
-
parquet: {
|
|
1797
|
-
shape: "object-row-table",
|
|
1798
|
-
columnList: [],
|
|
1799
|
-
geoparquet: true,
|
|
1800
|
-
url: void 0,
|
|
1801
|
-
preserveBinary: false
|
|
1802
|
-
}
|
|
1803
|
-
}
|
|
1804
|
-
};
|
|
1805
|
-
var ParquetColumnarLoader = {
|
|
1806
|
-
name: "Apache Parquet",
|
|
1807
|
-
id: "parquet",
|
|
1808
|
-
module: "parquet",
|
|
1809
|
-
version: VERSION,
|
|
1810
|
-
worker: true,
|
|
1811
|
-
category: "table",
|
|
1812
|
-
extensions: ["parquet"],
|
|
1813
|
-
mimeTypes: ["application/octet-stream"],
|
|
1814
|
-
binary: true,
|
|
1815
|
-
tests: ["PAR1", "PARE"],
|
|
1816
|
-
options: ParquetLoader.options
|
|
1817
|
-
};
|
|
1818
|
-
ParquetLoader.Buffer = Buffer;
|
|
1819
|
-
ParquetColumnarLoader.Buffer = Buffer;
|
|
1820
|
-
|
|
1821
|
-
// src/lib/parsers/parse-parquet-to-rows.ts
|
|
1822
|
-
var import_gis2 = require("@loaders.gl/gis");
|
|
1823
|
-
var import_wkt = require("@loaders.gl/wkt");
|
|
1783
|
+
var import_loader_utils = require("@loaders.gl/loader-utils");
|
|
1824
1784
|
|
|
1825
1785
|
// src/parquetjs/codecs/plain.ts
|
|
1826
1786
|
var import_int53 = __toESM(require("int53"), 1);
|
|
@@ -7199,7 +7159,7 @@ async function getSchemaFromParquetReader(reader) {
|
|
|
7199
7159
|
return schema;
|
|
7200
7160
|
}
|
|
7201
7161
|
|
|
7202
|
-
// src/lib/parsers/parse-parquet
|
|
7162
|
+
// src/lib/parsers/parse-parquet.ts
|
|
7203
7163
|
async function parseParquetFile(file, options) {
|
|
7204
7164
|
var _a, _b;
|
|
7205
7165
|
installBufferPolyfill();
|
|
@@ -7246,6 +7206,34 @@ async function* parseParquetFileInBatches(file, options) {
|
|
|
7246
7206
|
}
|
|
7247
7207
|
}
|
|
7248
7208
|
function convertTable(objectRowTable, shape) {
|
|
7209
|
+
switch (shape) {
|
|
7210
|
+
case "object-row-table":
|
|
7211
|
+
return objectRowTable;
|
|
7212
|
+
case "geojson-table":
|
|
7213
|
+
return objectRowTable;
|
|
7214
|
+
default:
|
|
7215
|
+
throw new Error(shape);
|
|
7216
|
+
}
|
|
7217
|
+
}
|
|
7218
|
+
|
|
7219
|
+
// src/lib/parsers/parse-geoparquet.ts
|
|
7220
|
+
var import_gis2 = require("@loaders.gl/gis");
|
|
7221
|
+
var import_wkt = require("@loaders.gl/wkt");
|
|
7222
|
+
async function parseGeoParquetFile(file, options) {
|
|
7223
|
+
var _a;
|
|
7224
|
+
const table = await parseParquetFile(file, { ...options, shape: "object-row-table" });
|
|
7225
|
+
const shape = (_a = options == null ? void 0 : options.parquet) == null ? void 0 : _a.shape;
|
|
7226
|
+
return convertTable2(table, shape);
|
|
7227
|
+
}
|
|
7228
|
+
async function* parseGeoParquetFileInBatches(file, options) {
|
|
7229
|
+
var _a;
|
|
7230
|
+
const tableBatches = parseParquetFileInBatches(file, { ...options, shape: "object-row-table" });
|
|
7231
|
+
for await (const batch of tableBatches) {
|
|
7232
|
+
const shape = (_a = options == null ? void 0 : options.parquet) == null ? void 0 : _a.shape;
|
|
7233
|
+
yield convertBatch(batch, shape);
|
|
7234
|
+
}
|
|
7235
|
+
}
|
|
7236
|
+
function convertTable2(objectRowTable, shape) {
|
|
7249
7237
|
switch (shape) {
|
|
7250
7238
|
case "object-row-table":
|
|
7251
7239
|
return objectRowTable;
|
|
@@ -7262,6 +7250,27 @@ function convertTable(objectRowTable, shape) {
|
|
|
7262
7250
|
throw new Error(shape);
|
|
7263
7251
|
}
|
|
7264
7252
|
}
|
|
7253
|
+
function convertBatch(objectRowBatch, shape) {
|
|
7254
|
+
switch (shape) {
|
|
7255
|
+
case "object-row-table":
|
|
7256
|
+
return objectRowBatch;
|
|
7257
|
+
case "geojson-table":
|
|
7258
|
+
try {
|
|
7259
|
+
const geojsonTable = (0, import_gis2.convertWKBTableToGeoJSON)(objectRowBatch, objectRowBatch.schema, [
|
|
7260
|
+
import_wkt.WKTLoader,
|
|
7261
|
+
import_wkt.WKBLoader
|
|
7262
|
+
]);
|
|
7263
|
+
return {
|
|
7264
|
+
...objectRowBatch,
|
|
7265
|
+
...geojsonTable
|
|
7266
|
+
};
|
|
7267
|
+
} catch (error) {
|
|
7268
|
+
return objectRowBatch;
|
|
7269
|
+
}
|
|
7270
|
+
default:
|
|
7271
|
+
throw new Error(shape);
|
|
7272
|
+
}
|
|
7273
|
+
}
|
|
7265
7274
|
|
|
7266
7275
|
// src/lib/parsers/parse-parquet-to-columns.ts
|
|
7267
7276
|
async function parseParquetFileInColumns(file, options) {
|
|
@@ -7295,6 +7304,87 @@ function convertRowGroupToTableBatch(rowGroup, parquetSchema, schema) {
|
|
|
7295
7304
|
};
|
|
7296
7305
|
}
|
|
7297
7306
|
|
|
7307
|
+
// src/parquet-loader.ts
|
|
7308
|
+
var VERSION = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
|
|
7309
|
+
var ParquetWorkerLoader = {
|
|
7310
|
+
name: "Apache Parquet",
|
|
7311
|
+
id: "parquet",
|
|
7312
|
+
module: "parquet",
|
|
7313
|
+
version: VERSION,
|
|
7314
|
+
worker: true,
|
|
7315
|
+
category: "table",
|
|
7316
|
+
extensions: ["parquet"],
|
|
7317
|
+
mimeTypes: ["application/octet-stream"],
|
|
7318
|
+
binary: true,
|
|
7319
|
+
tests: ["PAR1", "PARE"],
|
|
7320
|
+
options: {
|
|
7321
|
+
parquet: {
|
|
7322
|
+
shape: "object-row-table",
|
|
7323
|
+
columnList: [],
|
|
7324
|
+
geoparquet: true,
|
|
7325
|
+
url: void 0,
|
|
7326
|
+
preserveBinary: false
|
|
7327
|
+
}
|
|
7328
|
+
}
|
|
7329
|
+
};
|
|
7330
|
+
var ParquetLoader = {
|
|
7331
|
+
...ParquetWorkerLoader,
|
|
7332
|
+
parse: (arrayBuffer, options) => parseParquetFile(new import_loader_utils.BlobFile(arrayBuffer), options),
|
|
7333
|
+
parseFile: parseParquetFile,
|
|
7334
|
+
parseFileInBatches: parseParquetFileInBatches
|
|
7335
|
+
};
|
|
7336
|
+
ParquetLoader.Buffer = Buffer;
|
|
7337
|
+
var GeoParquetWorkerLoader = {
|
|
7338
|
+
name: "Apache Parquet",
|
|
7339
|
+
id: "parquet",
|
|
7340
|
+
module: "parquet",
|
|
7341
|
+
version: VERSION,
|
|
7342
|
+
worker: true,
|
|
7343
|
+
category: "table",
|
|
7344
|
+
extensions: ["parquet"],
|
|
7345
|
+
mimeTypes: ["application/octet-stream"],
|
|
7346
|
+
binary: true,
|
|
7347
|
+
tests: ["PAR1", "PARE"],
|
|
7348
|
+
options: {
|
|
7349
|
+
parquet: {
|
|
7350
|
+
shape: "geojson-table",
|
|
7351
|
+
columnList: [],
|
|
7352
|
+
geoparquet: true,
|
|
7353
|
+
url: void 0,
|
|
7354
|
+
preserveBinary: false
|
|
7355
|
+
}
|
|
7356
|
+
}
|
|
7357
|
+
};
|
|
7358
|
+
var GeoParquetLoader = {
|
|
7359
|
+
...GeoParquetWorkerLoader,
|
|
7360
|
+
parse(arrayBuffer, options) {
|
|
7361
|
+
return parseGeoParquetFile(new import_loader_utils.BlobFile(arrayBuffer), options);
|
|
7362
|
+
},
|
|
7363
|
+
parseFile: parseGeoParquetFile,
|
|
7364
|
+
parseFileInBatches: parseGeoParquetFileInBatches
|
|
7365
|
+
};
|
|
7366
|
+
var ParquetColumnarWorkerLoader = {
|
|
7367
|
+
name: "Apache Parquet",
|
|
7368
|
+
id: "parquet",
|
|
7369
|
+
module: "parquet",
|
|
7370
|
+
version: VERSION,
|
|
7371
|
+
worker: true,
|
|
7372
|
+
category: "table",
|
|
7373
|
+
extensions: ["parquet"],
|
|
7374
|
+
mimeTypes: ["application/octet-stream"],
|
|
7375
|
+
binary: true,
|
|
7376
|
+
tests: ["PAR1", "PARE"],
|
|
7377
|
+
options: ParquetLoader.options
|
|
7378
|
+
};
|
|
7379
|
+
var ParquetColumnarLoader = {
|
|
7380
|
+
...ParquetColumnarWorkerLoader,
|
|
7381
|
+
parse(arrayBuffer, options) {
|
|
7382
|
+
return parseParquetFileInColumns(new import_loader_utils.BlobFile(arrayBuffer), options);
|
|
7383
|
+
},
|
|
7384
|
+
parseFile: parseParquetFileInColumns,
|
|
7385
|
+
parseFileInBatches: parseParquetFileInColumnarBatches
|
|
7386
|
+
};
|
|
7387
|
+
|
|
7298
7388
|
// src/parquet-writer.ts
|
|
7299
7389
|
var VERSION2 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
|
|
7300
7390
|
var ParquetWriter = {
|
|
@@ -7689,24 +7779,6 @@ function encodeFooter(schema, rowCount, rowGroups, userMetadata) {
|
|
|
7689
7779
|
footerEncoded.write(PARQUET_MAGIC2, metadataEncoded.length + 4);
|
|
7690
7780
|
return footerEncoded;
|
|
7691
7781
|
}
|
|
7692
|
-
|
|
7693
|
-
// src/index.ts
|
|
7694
|
-
var ParquetLoader2 = {
|
|
7695
|
-
...ParquetLoader,
|
|
7696
|
-
parse(arrayBuffer, options) {
|
|
7697
|
-
return parseParquetFile(new import_loader_utils.BlobFile(arrayBuffer), options);
|
|
7698
|
-
},
|
|
7699
|
-
parseFile: parseParquetFile,
|
|
7700
|
-
parseFileInBatches: parseParquetFileInBatches
|
|
7701
|
-
};
|
|
7702
|
-
var ParquetColumnarLoader2 = {
|
|
7703
|
-
...ParquetColumnarLoader,
|
|
7704
|
-
parse(arrayBuffer, options) {
|
|
7705
|
-
return parseParquetFileInColumns(new import_loader_utils.BlobFile(arrayBuffer), options);
|
|
7706
|
-
},
|
|
7707
|
-
parseFile: parseParquetFileInColumns,
|
|
7708
|
-
parseFileInBatches: parseParquetFileInColumnarBatches
|
|
7709
|
-
};
|
|
7710
7782
|
/* !
|
|
7711
7783
|
* The buffer module from node.js, for the browser.
|
|
7712
7784
|
* @author Feross Aboukhadijeh <https://feross.org>
|
package/dist/index.d.ts
CHANGED
|
@@ -1,12 +1,5 @@
|
|
|
1
1
|
export { Buffer } from './polyfills/buffer/install-buffer-polyfill';
|
|
2
|
-
|
|
3
|
-
import type { ObjectRowTable, ObjectRowTableBatch, ColumnarTable, ColumnarTableBatch, GeoJSONTable, GeoJSONTableBatch } from '@loaders.gl/schema';
|
|
4
|
-
import { ParquetLoader as ParquetWorkerLoader, ParquetLoaderOptions } from './parquet-loader';
|
|
5
|
-
export { ParquetWorkerLoader };
|
|
6
|
-
/** ParquetJS table loader */
|
|
7
|
-
export declare const ParquetLoader: LoaderWithParser<ObjectRowTable | GeoJSONTable, ObjectRowTableBatch | GeoJSONTableBatch, ParquetLoaderOptions>;
|
|
8
|
-
/** ParquetJS table loader */
|
|
9
|
-
export declare const ParquetColumnarLoader: LoaderWithParser<ColumnarTable, ColumnarTableBatch, ParquetLoaderOptions>;
|
|
2
|
+
export { ParquetWorkerLoader, ParquetLoader, GeoParquetWorkerLoader, GeoParquetLoader, ParquetColumnarWorkerLoader, ParquetColumnarLoader } from './parquet-loader';
|
|
10
3
|
export { ParquetWriter as _ParquetWriter } from './parquet-writer';
|
|
11
4
|
export { preloadCompressions } from './parquetjs/compression';
|
|
12
5
|
export { ParquetSchema } from './parquetjs/schema/schema';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,MAAM,EAAC,MAAM,4CAA4C,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,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"}
|
package/dist/index.js
CHANGED
|
@@ -1,25 +1,5 @@
|
|
|
1
1
|
export { Buffer } from "./polyfills/buffer/install-buffer-polyfill.js";
|
|
2
|
-
|
|
3
|
-
import { ParquetLoader as ParquetWorkerLoader, ParquetColumnarLoader as ParquetColumnarWorkerLoader } from "./parquet-loader.js";
|
|
4
|
-
import { parseParquetFile, parseParquetFileInBatches } from "./lib/parsers/parse-parquet-to-rows.js";
|
|
5
|
-
import { parseParquetFileInColumns, parseParquetFileInColumnarBatches } from "./lib/parsers/parse-parquet-to-columns.js";
|
|
6
|
-
export { ParquetWorkerLoader };
|
|
7
|
-
export const ParquetLoader = {
|
|
8
|
-
...ParquetWorkerLoader,
|
|
9
|
-
parse(arrayBuffer, options) {
|
|
10
|
-
return parseParquetFile(new BlobFile(arrayBuffer), options);
|
|
11
|
-
},
|
|
12
|
-
parseFile: parseParquetFile,
|
|
13
|
-
parseFileInBatches: parseParquetFileInBatches
|
|
14
|
-
};
|
|
15
|
-
export const ParquetColumnarLoader = {
|
|
16
|
-
...ParquetColumnarWorkerLoader,
|
|
17
|
-
parse(arrayBuffer, options) {
|
|
18
|
-
return parseParquetFileInColumns(new BlobFile(arrayBuffer), options);
|
|
19
|
-
},
|
|
20
|
-
parseFile: parseParquetFileInColumns,
|
|
21
|
-
parseFileInBatches: parseParquetFileInColumnarBatches
|
|
22
|
-
};
|
|
2
|
+
export { ParquetWorkerLoader, ParquetLoader, GeoParquetWorkerLoader, GeoParquetLoader, ParquetColumnarWorkerLoader, ParquetColumnarLoader } from "./parquet-loader.js";
|
|
23
3
|
export { ParquetWriter as _ParquetWriter } from "./parquet-writer.js";
|
|
24
4
|
export { preloadCompressions } from "./parquetjs/compression.js";
|
|
25
5
|
export { ParquetSchema } from "./parquetjs/schema/schema.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["Buffer","
|
|
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, MIT license\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":"SAGQA,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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-parquet-schema.d.ts","sourceRoot":"","sources":["../../../src/lib/parsers/get-parquet-schema.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"get-parquet-schema.d.ts","sourceRoot":"","sources":["../../../src/lib/parsers/get-parquet-schema.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,MAAM,EAAC,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAC,aAAa,EAAC,MAAM,uCAAuC,CAAC;AAIpE,wBAAsB,0BAA0B,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAOvF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-parquet-schema.js","names":["convertParquetSchema","unpackGeoMetadata","unpackJSONStringMetadata","getSchemaFromParquetReader","reader","parquetSchema","getSchema","parquetMetadata","getFileMetadata","schema"],"sources":["../../../src/lib/parsers/get-parquet-schema.ts"],"sourcesContent":["// loaders.gl\nimport {Schema} from '@loaders.gl/schema';\nimport {ParquetReader} from '../../parquetjs/parser/parquet-reader';\nimport {convertParquetSchema} from '../arrow/convert-schema-from-parquet';\nimport {unpackGeoMetadata, unpackJSONStringMetadata} from '@loaders.gl/gis';\n\nexport async function getSchemaFromParquetReader(reader: ParquetReader): Promise<Schema> {\n const parquetSchema = await reader.getSchema();\n const parquetMetadata = await reader.getFileMetadata();\n const schema = convertParquetSchema(parquetSchema, parquetMetadata);\n unpackGeoMetadata(schema);\n unpackJSONStringMetadata(schema, 'pandas');\n return schema;\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"get-parquet-schema.js","names":["convertParquetSchema","unpackGeoMetadata","unpackJSONStringMetadata","getSchemaFromParquetReader","reader","parquetSchema","getSchema","parquetMetadata","getFileMetadata","schema"],"sources":["../../../src/lib/parsers/get-parquet-schema.ts"],"sourcesContent":["// loaders.gl, MIT license\n// Copyright (c) vis.gl contributors\n\n// loaders.gl\nimport {Schema} from '@loaders.gl/schema';\nimport {ParquetReader} from '../../parquetjs/parser/parquet-reader';\nimport {convertParquetSchema} from '../arrow/convert-schema-from-parquet';\nimport {unpackGeoMetadata, unpackJSONStringMetadata} from '@loaders.gl/gis';\n\nexport async function getSchemaFromParquetReader(reader: ParquetReader): Promise<Schema> {\n const parquetSchema = await reader.getSchema();\n const parquetMetadata = await reader.getFileMetadata();\n const schema = convertParquetSchema(parquetSchema, parquetMetadata);\n unpackGeoMetadata(schema);\n unpackJSONStringMetadata(schema, 'pandas');\n return schema;\n}\n"],"mappings":"SAMQA,oBAAoB;AAC5B,SAAQC,iBAAiB,EAAEC,wBAAwB,QAAO,iBAAiB;AAE3E,OAAO,eAAeC,0BAA0BA,CAACC,MAAqB,EAAmB;EACvF,MAAMC,aAAa,GAAG,MAAMD,MAAM,CAACE,SAAS,CAAC,CAAC;EAC9C,MAAMC,eAAe,GAAG,MAAMH,MAAM,CAACI,eAAe,CAAC,CAAC;EACtD,MAAMC,MAAM,GAAGT,oBAAoB,CAACK,aAAa,EAAEE,eAAe,CAAC;EACnEN,iBAAiB,CAACQ,MAAM,CAAC;EACzBP,wBAAwB,CAACO,MAAM,EAAE,QAAQ,CAAC;EAC1C,OAAOA,MAAM;AACf"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { ReadableFile } from '@loaders.gl/loader-utils';
|
|
2
|
+
import type { GeoJSONTable, GeoJSONTableBatch, ObjectRowTable, ObjectRowTableBatch } from '@loaders.gl/schema';
|
|
3
|
+
import type { ParquetLoaderOptions } from '../../parquet-loader';
|
|
4
|
+
export declare function parseGeoParquetFile(file: ReadableFile, options?: ParquetLoaderOptions): Promise<ObjectRowTable | GeoJSONTable>;
|
|
5
|
+
export declare function parseGeoParquetFileInBatches(file: ReadableFile, options?: ParquetLoaderOptions): AsyncIterable<ObjectRowTableBatch | GeoJSONTableBatch>;
|
|
6
|
+
//# sourceMappingURL=parse-geoparquet.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse-geoparquet.d.ts","sourceRoot":"","sources":["../../../src/lib/parsers/parse-geoparquet.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,0BAA0B,CAAC;AAC3D,OAAO,KAAK,EACV,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACd,mBAAmB,EACpB,MAAM,oBAAoB,CAAC;AAI5B,OAAO,KAAK,EAAC,oBAAoB,EAAC,MAAM,sBAAsB,CAAC;AAI/D,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,YAAY,EAClB,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,cAAc,GAAG,YAAY,CAAC,CAIxC;AAED,wBAAuB,4BAA4B,CACjD,IAAI,EAAE,YAAY,EAClB,OAAO,CAAC,EAAE,oBAAoB,GAC7B,aAAa,CAAC,mBAAmB,GAAG,iBAAiB,CAAC,CAOxD"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { convertWKBTableToGeoJSON } from '@loaders.gl/gis';
|
|
2
|
+
import { WKTLoader, WKBLoader } from '@loaders.gl/wkt';
|
|
3
|
+
import { parseParquetFile, parseParquetFileInBatches } from "./parse-parquet.js";
|
|
4
|
+
export async function parseGeoParquetFile(file, options) {
|
|
5
|
+
var _options$parquet;
|
|
6
|
+
const table = await parseParquetFile(file, {
|
|
7
|
+
...options,
|
|
8
|
+
shape: 'object-row-table'
|
|
9
|
+
});
|
|
10
|
+
const shape = options === null || options === void 0 ? void 0 : (_options$parquet = options.parquet) === null || _options$parquet === void 0 ? void 0 : _options$parquet.shape;
|
|
11
|
+
return convertTable(table, shape);
|
|
12
|
+
}
|
|
13
|
+
export async function* parseGeoParquetFileInBatches(file, options) {
|
|
14
|
+
const tableBatches = parseParquetFileInBatches(file, {
|
|
15
|
+
...options,
|
|
16
|
+
shape: 'object-row-table'
|
|
17
|
+
});
|
|
18
|
+
for await (const batch of tableBatches) {
|
|
19
|
+
var _options$parquet2;
|
|
20
|
+
const shape = options === null || options === void 0 ? void 0 : (_options$parquet2 = options.parquet) === null || _options$parquet2 === void 0 ? void 0 : _options$parquet2.shape;
|
|
21
|
+
yield convertBatch(batch, shape);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
function convertTable(objectRowTable, shape) {
|
|
25
|
+
switch (shape) {
|
|
26
|
+
case 'object-row-table':
|
|
27
|
+
return objectRowTable;
|
|
28
|
+
case 'geojson-table':
|
|
29
|
+
try {
|
|
30
|
+
return convertWKBTableToGeoJSON(objectRowTable, objectRowTable.schema, [WKTLoader, WKBLoader]);
|
|
31
|
+
} catch (error) {
|
|
32
|
+
return objectRowTable;
|
|
33
|
+
}
|
|
34
|
+
default:
|
|
35
|
+
throw new Error(shape);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
function convertBatch(objectRowBatch, shape) {
|
|
39
|
+
switch (shape) {
|
|
40
|
+
case 'object-row-table':
|
|
41
|
+
return objectRowBatch;
|
|
42
|
+
case 'geojson-table':
|
|
43
|
+
try {
|
|
44
|
+
const geojsonTable = convertWKBTableToGeoJSON(objectRowBatch, objectRowBatch.schema, [WKTLoader, WKBLoader]);
|
|
45
|
+
return {
|
|
46
|
+
...objectRowBatch,
|
|
47
|
+
...geojsonTable
|
|
48
|
+
};
|
|
49
|
+
} catch (error) {
|
|
50
|
+
return objectRowBatch;
|
|
51
|
+
}
|
|
52
|
+
default:
|
|
53
|
+
throw new Error(shape);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=parse-geoparquet.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse-geoparquet.js","names":["convertWKBTableToGeoJSON","WKTLoader","WKBLoader","parseParquetFile","parseParquetFileInBatches","parseGeoParquetFile","file","options","_options$parquet","table","shape","parquet","convertTable","parseGeoParquetFileInBatches","tableBatches","batch","_options$parquet2","convertBatch","objectRowTable","schema","error","Error","objectRowBatch","geojsonTable"],"sources":["../../../src/lib/parsers/parse-geoparquet.ts"],"sourcesContent":["// loaders.gl, MIT license\n// Copyright (c) vis.gl contributors\n\nimport type {ReadableFile} from '@loaders.gl/loader-utils';\nimport type {\n GeoJSONTable,\n GeoJSONTableBatch,\n ObjectRowTable,\n ObjectRowTableBatch\n} from '@loaders.gl/schema';\nimport {convertWKBTableToGeoJSON} from '@loaders.gl/gis';\nimport {WKTLoader, WKBLoader} from '@loaders.gl/wkt';\n\nimport type {ParquetLoaderOptions} from '../../parquet-loader';\n\nimport {parseParquetFile, parseParquetFileInBatches} from './parse-parquet';\n\nexport async function parseGeoParquetFile(\n file: ReadableFile,\n options?: ParquetLoaderOptions\n): Promise<ObjectRowTable | GeoJSONTable> {\n const table = await parseParquetFile(file, {...options, shape: 'object-row-table'});\n const shape = options?.parquet?.shape;\n return convertTable(table, shape);\n}\n\nexport async function* parseGeoParquetFileInBatches(\n file: ReadableFile,\n options?: ParquetLoaderOptions\n): AsyncIterable<ObjectRowTableBatch | GeoJSONTableBatch> {\n const tableBatches = parseParquetFileInBatches(file, {...options, shape: 'object-row-table'});\n\n for await (const batch of tableBatches) {\n const shape = options?.parquet?.shape;\n yield convertBatch(batch, shape);\n }\n}\n\nfunction convertTable(\n objectRowTable: ObjectRowTable,\n shape?: 'object-row-table' | 'geojson-table'\n): ObjectRowTable | GeoJSONTable {\n switch (shape) {\n case 'object-row-table':\n return objectRowTable;\n\n case 'geojson-table':\n try {\n return convertWKBTableToGeoJSON(objectRowTable, objectRowTable.schema!, [\n WKTLoader,\n WKBLoader\n ]);\n } catch (error) {\n return objectRowTable;\n }\n\n default:\n throw new Error(shape);\n }\n}\n\nfunction convertBatch(\n objectRowBatch: ObjectRowTableBatch,\n shape?: 'object-row-table' | 'geojson-table'\n): ObjectRowTableBatch | GeoJSONTableBatch {\n switch (shape) {\n case 'object-row-table':\n return objectRowBatch;\n\n case 'geojson-table':\n try {\n const geojsonTable = convertWKBTableToGeoJSON(objectRowBatch, objectRowBatch.schema!, [\n WKTLoader,\n WKBLoader\n ]);\n return {\n ...objectRowBatch,\n ...geojsonTable\n };\n } catch (error) {\n return objectRowBatch;\n }\n\n default:\n throw new Error(shape);\n }\n}\n"],"mappings":"AAUA,SAAQA,wBAAwB,QAAO,iBAAiB;AACxD,SAAQC,SAAS,EAAEC,SAAS,QAAO,iBAAiB;AAAC,SAI7CC,gBAAgB,EAAEC,yBAAyB;AAEnD,OAAO,eAAeC,mBAAmBA,CACvCC,IAAkB,EAClBC,OAA8B,EACU;EAAA,IAAAC,gBAAA;EACxC,MAAMC,KAAK,GAAG,MAAMN,gBAAgB,CAACG,IAAI,EAAE;IAAC,GAAGC,OAAO;IAAEG,KAAK,EAAE;EAAkB,CAAC,CAAC;EACnF,MAAMA,KAAK,GAAGH,OAAO,aAAPA,OAAO,wBAAAC,gBAAA,GAAPD,OAAO,CAAEI,OAAO,cAAAH,gBAAA,uBAAhBA,gBAAA,CAAkBE,KAAK;EACrC,OAAOE,YAAY,CAACH,KAAK,EAAEC,KAAK,CAAC;AACnC;AAEA,OAAO,gBAAgBG,4BAA4BA,CACjDP,IAAkB,EAClBC,OAA8B,EAC0B;EACxD,MAAMO,YAAY,GAAGV,yBAAyB,CAACE,IAAI,EAAE;IAAC,GAAGC,OAAO;IAAEG,KAAK,EAAE;EAAkB,CAAC,CAAC;EAE7F,WAAW,MAAMK,KAAK,IAAID,YAAY,EAAE;IAAA,IAAAE,iBAAA;IACtC,MAAMN,KAAK,GAAGH,OAAO,aAAPA,OAAO,wBAAAS,iBAAA,GAAPT,OAAO,CAAEI,OAAO,cAAAK,iBAAA,uBAAhBA,iBAAA,CAAkBN,KAAK;IACrC,MAAMO,YAAY,CAACF,KAAK,EAAEL,KAAK,CAAC;EAClC;AACF;AAEA,SAASE,YAAYA,CACnBM,cAA8B,EAC9BR,KAA4C,EACb;EAC/B,QAAQA,KAAK;IACX,KAAK,kBAAkB;MACrB,OAAOQ,cAAc;IAEvB,KAAK,eAAe;MAClB,IAAI;QACF,OAAOlB,wBAAwB,CAACkB,cAAc,EAAEA,cAAc,CAACC,MAAM,EAAG,CACtElB,SAAS,EACTC,SAAS,CACV,CAAC;MACJ,CAAC,CAAC,OAAOkB,KAAK,EAAE;QACd,OAAOF,cAAc;MACvB;IAEF;MACE,MAAM,IAAIG,KAAK,CAACX,KAAK,CAAC;EAC1B;AACF;AAEA,SAASO,YAAYA,CACnBK,cAAmC,EACnCZ,KAA4C,EACH;EACzC,QAAQA,KAAK;IACX,KAAK,kBAAkB;MACrB,OAAOY,cAAc;IAEvB,KAAK,eAAe;MAClB,IAAI;QACF,MAAMC,YAAY,GAAGvB,wBAAwB,CAACsB,cAAc,EAAEA,cAAc,CAACH,MAAM,EAAG,CACpFlB,SAAS,EACTC,SAAS,CACV,CAAC;QACF,OAAO;UACL,GAAGoB,cAAc;UACjB,GAAGC;QACL,CAAC;MACH,CAAC,CAAC,OAAOH,KAAK,EAAE;QACd,OAAOE,cAAc;MACvB;IAEF;MACE,MAAM,IAAID,KAAK,CAACX,KAAK,CAAC;EAC1B;AACF"}
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
import type { ColumnarTable, ColumnarTableBatch } from '@loaders.gl/schema';
|
|
2
2
|
import type { ReadableFile } from '@loaders.gl/loader-utils';
|
|
3
3
|
import type { ParquetLoaderOptions } from '../../parquet-loader';
|
|
4
|
+
/**
|
|
5
|
+
* @deprecated
|
|
6
|
+
*/
|
|
4
7
|
export declare function parseParquetFileInColumns(file: ReadableFile, options?: ParquetLoaderOptions): Promise<ColumnarTable>;
|
|
8
|
+
/**
|
|
9
|
+
* @deprecated
|
|
10
|
+
*/
|
|
5
11
|
export declare function parseParquetFileInColumnarBatches(file: ReadableFile, options?: ParquetLoaderOptions): AsyncIterable<ColumnarTableBatch>;
|
|
6
12
|
//# sourceMappingURL=parse-parquet-to-columns.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-parquet-to-columns.d.ts","sourceRoot":"","sources":["../../../src/lib/parsers/parse-parquet-to-columns.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,aAAa,EAAE,kBAAkB,EAAS,MAAM,oBAAoB,CAAC;AAClF,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,0BAA0B,CAAC;AAC3D,OAAO,KAAK,EAAC,oBAAoB,EAAC,MAAM,sBAAsB,CAAC;AAQ/D,wBAAsB,yBAAyB,CAC7C,IAAI,EAAE,YAAY,EAClB,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,aAAa,CAAC,CAUxB;AAED,wBAAuB,iCAAiC,CACtD,IAAI,EAAE,YAAY,EAClB,OAAO,CAAC,EAAE,oBAAoB,GAC7B,aAAa,CAAC,kBAAkB,CAAC,CAanC"}
|
|
1
|
+
{"version":3,"file":"parse-parquet-to-columns.d.ts","sourceRoot":"","sources":["../../../src/lib/parsers/parse-parquet-to-columns.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,aAAa,EAAE,kBAAkB,EAAS,MAAM,oBAAoB,CAAC;AAClF,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,0BAA0B,CAAC;AAC3D,OAAO,KAAK,EAAC,oBAAoB,EAAC,MAAM,sBAAsB,CAAC;AAQ/D;;GAEG;AACH,wBAAsB,yBAAyB,CAC7C,IAAI,EAAE,YAAY,EAClB,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,aAAa,CAAC,CAUxB;AAED;;GAEG;AACH,wBAAuB,iCAAiC,CACtD,IAAI,EAAE,YAAY,EAClB,OAAO,CAAC,EAAE,oBAAoB,GAC7B,aAAa,CAAC,kBAAkB,CAAC,CAanC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-parquet-to-columns.js","names":["ParquetReader","materializeColumns","getSchemaFromParquetReader","installBufferPolyfill","parseParquetFileInColumns","file","options","batch","parseParquetFileInColumnarBatches","shape","schema","data","Error","reader","parquetSchema","getSchema","rowGroups","rowGroupIterator","parquet","rowGroup","convertRowGroupToTableBatch","batchType","length","rowCount"],"sources":["../../../src/lib/parsers/parse-parquet-to-columns.ts"],"sourcesContent":["// loaders.gl, MIT license\n// Copyright (c) vis.gl contributors\n\nimport type {ColumnarTable, ColumnarTableBatch, Schema} from '@loaders.gl/schema';\nimport type {ReadableFile} from '@loaders.gl/loader-utils';\nimport type {ParquetLoaderOptions} from '../../parquet-loader';\nimport {ParquetReader} from '../../parquetjs/parser/parquet-reader';\nimport {ParquetRowGroup} from '../../parquetjs/schema/declare';\nimport {ParquetSchema} from '../../parquetjs/schema/schema';\nimport {materializeColumns} from '../../parquetjs/schema/shred';\nimport {getSchemaFromParquetReader} from './get-parquet-schema';\nimport {installBufferPolyfill} from '../../polyfills/buffer';\n\nexport async function parseParquetFileInColumns(\n file: ReadableFile,\n options?: ParquetLoaderOptions\n): Promise<ColumnarTable> {\n installBufferPolyfill();\n for await (const batch of parseParquetFileInColumnarBatches(file, options)) {\n return {\n shape: 'columnar-table',\n schema: batch.schema,\n data: batch.data\n };\n }\n throw new Error('empty table');\n}\n\nexport async function* parseParquetFileInColumnarBatches(\n file: ReadableFile,\n options?: ParquetLoaderOptions\n): AsyncIterable<ColumnarTableBatch> {\n const reader = new ParquetReader(file);\n\n // Extract schema and geo metadata\n const schema = await getSchemaFromParquetReader(reader);\n\n const parquetSchema = await reader.getSchema();\n\n // Iterate over row batches\n const rowGroups = reader.rowGroupIterator(options?.parquet);\n for await (const rowGroup of rowGroups) {\n yield convertRowGroupToTableBatch(rowGroup, parquetSchema, schema);\n }\n}\n\nfunction convertRowGroupToTableBatch(\n rowGroup: ParquetRowGroup,\n parquetSchema: ParquetSchema,\n schema: Schema\n): ColumnarTableBatch {\n // const data = convertParquetRowGroupToColumns(schema, rowGroup);\n const data = materializeColumns(parquetSchema, rowGroup);\n return {\n shape: 'columnar-table',\n batchType: 'data',\n schema,\n data,\n length: rowGroup.rowCount\n };\n}\n"],"mappings":"SAMQA,aAAa;AAAA,SAGbC,kBAAkB;AAAA,SAClBC,0BAA0B;AAAA,SAC1BC,qBAAqB;
|
|
1
|
+
{"version":3,"file":"parse-parquet-to-columns.js","names":["ParquetReader","materializeColumns","getSchemaFromParquetReader","installBufferPolyfill","parseParquetFileInColumns","file","options","batch","parseParquetFileInColumnarBatches","shape","schema","data","Error","reader","parquetSchema","getSchema","rowGroups","rowGroupIterator","parquet","rowGroup","convertRowGroupToTableBatch","batchType","length","rowCount"],"sources":["../../../src/lib/parsers/parse-parquet-to-columns.ts"],"sourcesContent":["// loaders.gl, MIT license\n// Copyright (c) vis.gl contributors\n\nimport type {ColumnarTable, ColumnarTableBatch, Schema} from '@loaders.gl/schema';\nimport type {ReadableFile} from '@loaders.gl/loader-utils';\nimport type {ParquetLoaderOptions} from '../../parquet-loader';\nimport {ParquetReader} from '../../parquetjs/parser/parquet-reader';\nimport {ParquetRowGroup} from '../../parquetjs/schema/declare';\nimport {ParquetSchema} from '../../parquetjs/schema/schema';\nimport {materializeColumns} from '../../parquetjs/schema/shred';\nimport {getSchemaFromParquetReader} from './get-parquet-schema';\nimport {installBufferPolyfill} from '../../polyfills/buffer';\n\n/**\n * @deprecated\n */\nexport async function parseParquetFileInColumns(\n file: ReadableFile,\n options?: ParquetLoaderOptions\n): Promise<ColumnarTable> {\n installBufferPolyfill();\n for await (const batch of parseParquetFileInColumnarBatches(file, options)) {\n return {\n shape: 'columnar-table',\n schema: batch.schema,\n data: batch.data\n };\n }\n throw new Error('empty table');\n}\n\n/**\n * @deprecated\n */\nexport async function* parseParquetFileInColumnarBatches(\n file: ReadableFile,\n options?: ParquetLoaderOptions\n): AsyncIterable<ColumnarTableBatch> {\n const reader = new ParquetReader(file);\n\n // Extract schema and geo metadata\n const schema = await getSchemaFromParquetReader(reader);\n\n const parquetSchema = await reader.getSchema();\n\n // Iterate over row batches\n const rowGroups = reader.rowGroupIterator(options?.parquet);\n for await (const rowGroup of rowGroups) {\n yield convertRowGroupToTableBatch(rowGroup, parquetSchema, schema);\n }\n}\n\nfunction convertRowGroupToTableBatch(\n rowGroup: ParquetRowGroup,\n parquetSchema: ParquetSchema,\n schema: Schema\n): ColumnarTableBatch {\n // const data = convertParquetRowGroupToColumns(schema, rowGroup);\n const data = materializeColumns(parquetSchema, rowGroup);\n return {\n shape: 'columnar-table',\n batchType: 'data',\n schema,\n data,\n length: rowGroup.rowCount\n };\n}\n"],"mappings":"SAMQA,aAAa;AAAA,SAGbC,kBAAkB;AAAA,SAClBC,0BAA0B;AAAA,SAC1BC,qBAAqB;AAK7B,OAAO,eAAeC,yBAAyBA,CAC7CC,IAAkB,EAClBC,OAA8B,EACN;EACxBH,qBAAqB,CAAC,CAAC;EACvB,WAAW,MAAMI,KAAK,IAAIC,iCAAiC,CAACH,IAAI,EAAEC,OAAO,CAAC,EAAE;IAC1E,OAAO;MACLG,KAAK,EAAE,gBAAgB;MACvBC,MAAM,EAAEH,KAAK,CAACG,MAAM;MACpBC,IAAI,EAAEJ,KAAK,CAACI;IACd,CAAC;EACH;EACA,MAAM,IAAIC,KAAK,CAAC,aAAa,CAAC;AAChC;AAKA,OAAO,gBAAgBJ,iCAAiCA,CACtDH,IAAkB,EAClBC,OAA8B,EACK;EACnC,MAAMO,MAAM,GAAG,IAAIb,aAAa,CAACK,IAAI,CAAC;EAGtC,MAAMK,MAAM,GAAG,MAAMR,0BAA0B,CAACW,MAAM,CAAC;EAEvD,MAAMC,aAAa,GAAG,MAAMD,MAAM,CAACE,SAAS,CAAC,CAAC;EAG9C,MAAMC,SAAS,GAAGH,MAAM,CAACI,gBAAgB,CAACX,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEY,OAAO,CAAC;EAC3D,WAAW,MAAMC,QAAQ,IAAIH,SAAS,EAAE;IACtC,MAAMI,2BAA2B,CAACD,QAAQ,EAAEL,aAAa,EAAEJ,MAAM,CAAC;EACpE;AACF;AAEA,SAASU,2BAA2BA,CAClCD,QAAyB,EACzBL,aAA4B,EAC5BJ,MAAc,EACM;EAEpB,MAAMC,IAAI,GAAGV,kBAAkB,CAACa,aAAa,EAAEK,QAAQ,CAAC;EACxD,OAAO;IACLV,KAAK,EAAE,gBAAgB;IACvBY,SAAS,EAAE,MAAM;IACjBX,MAAM;IACNC,IAAI;IACJW,MAAM,EAAEH,QAAQ,CAACI;EACnB,CAAC;AACH"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { ReadableFile } from '@loaders.gl/loader-utils';
|
|
2
|
+
import type { ObjectRowTable, ObjectRowTableBatch } from '@loaders.gl/schema';
|
|
3
|
+
import type { ParquetLoaderOptions } from '../../parquet-loader';
|
|
4
|
+
/**
|
|
5
|
+
* * Parse a parquet file using parquetjs
|
|
6
|
+
* @param file
|
|
7
|
+
* @param options
|
|
8
|
+
* @returns
|
|
9
|
+
*/
|
|
10
|
+
export declare function parseParquetFile(file: ReadableFile, options?: ParquetLoaderOptions): Promise<ObjectRowTable>;
|
|
11
|
+
/**
|
|
12
|
+
* Parse a parquet file in batches using parquetjs
|
|
13
|
+
* @param file
|
|
14
|
+
* @param options
|
|
15
|
+
*/
|
|
16
|
+
export declare function parseParquetFileInBatches(file: ReadableFile, options?: ParquetLoaderOptions): AsyncIterable<ObjectRowTableBatch>;
|
|
17
|
+
//# sourceMappingURL=parse-parquet.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse-parquet.d.ts","sourceRoot":"","sources":["../../../src/lib/parsers/parse-parquet.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,0BAA0B,CAAC;AAC3D,OAAO,KAAK,EAAC,cAAc,EAAE,mBAAmB,EAAC,MAAM,oBAAoB,CAAC;AAE5E,OAAO,KAAK,EAAC,oBAAoB,EAAC,MAAM,sBAAsB,CAAC;AAM/D;;;;;GAKG;AACH,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,YAAY,EAClB,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,cAAc,CAAC,CA0BzB;AAED;;;;GAIG;AACH,wBAAuB,yBAAyB,CAC9C,IAAI,EAAE,YAAY,EAClB,OAAO,CAAC,EAAE,oBAAoB,GAC7B,aAAa,CAAC,mBAAmB,CAAC,CAuBpC"}
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import { convertWKBTableToGeoJSON } from '@loaders.gl/gis';
|
|
2
|
-
import { WKTLoader, WKBLoader } from '@loaders.gl/wkt';
|
|
3
1
|
import { ParquetReader } from "../../parquetjs/parser/parquet-reader.js";
|
|
4
2
|
import { getSchemaFromParquetReader } from "./get-parquet-schema.js";
|
|
5
3
|
import { installBufferPolyfill } from "../../polyfills/buffer/index.js";
|
|
@@ -54,13 +52,9 @@ function convertTable(objectRowTable, shape) {
|
|
|
54
52
|
case 'object-row-table':
|
|
55
53
|
return objectRowTable;
|
|
56
54
|
case 'geojson-table':
|
|
57
|
-
|
|
58
|
-
return convertWKBTableToGeoJSON(objectRowTable, objectRowTable.schema, [WKTLoader, WKBLoader]);
|
|
59
|
-
} catch (error) {
|
|
60
|
-
return objectRowTable;
|
|
61
|
-
}
|
|
55
|
+
return objectRowTable;
|
|
62
56
|
default:
|
|
63
57
|
throw new Error(shape);
|
|
64
58
|
}
|
|
65
59
|
}
|
|
66
|
-
//# sourceMappingURL=parse-parquet
|
|
60
|
+
//# sourceMappingURL=parse-parquet.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse-parquet.js","names":["ParquetReader","getSchemaFromParquetReader","installBufferPolyfill","parseParquetFile","file","options","_options$parquet","_options$parquet2","reader","preserveBinary","parquet","schema","rows","rowBatches","rowBatchIterator","rowBatch","row","push","objectRowTable","shape","data","convertTable","parseParquetFileInBatches","_options$parquet3","_options$parquet4","table","batchType","length","Error"],"sources":["../../../src/lib/parsers/parse-parquet.ts"],"sourcesContent":["// loaders.gl, MIT license\n// Copyright (c) vis.gl contributors\n\nimport type {ReadableFile} from '@loaders.gl/loader-utils';\nimport type {ObjectRowTable, ObjectRowTableBatch} from '@loaders.gl/schema';\n\nimport type {ParquetLoaderOptions} from '../../parquet-loader';\nimport type {ParquetRow} from '../../parquetjs/schema/declare';\nimport {ParquetReader} from '../../parquetjs/parser/parquet-reader';\nimport {getSchemaFromParquetReader} from './get-parquet-schema';\nimport {installBufferPolyfill} from '../../polyfills/buffer';\n\n/**\n * * Parse a parquet file using parquetjs\n * @param file\n * @param options\n * @returns\n */\nexport async function parseParquetFile(\n file: ReadableFile,\n options?: ParquetLoaderOptions\n): Promise<ObjectRowTable> {\n installBufferPolyfill();\n\n const reader = new ParquetReader(file, {\n preserveBinary: options?.parquet?.preserveBinary\n });\n\n const schema = await getSchemaFromParquetReader(reader);\n\n const rows: ParquetRow[] = [];\n\n const rowBatches = reader.rowBatchIterator(options?.parquet);\n for await (const rowBatch of rowBatches) {\n // we have only one input batch so return\n for (const row of rowBatch) {\n rows.push(row);\n }\n }\n const objectRowTable: ObjectRowTable = {\n shape: 'object-row-table',\n schema,\n data: rows\n };\n\n const shape = options?.parquet?.shape;\n return convertTable(objectRowTable, shape);\n}\n\n/**\n * Parse a parquet file in batches using parquetjs\n * @param file\n * @param options\n */\nexport async function* parseParquetFileInBatches(\n file: ReadableFile,\n options?: ParquetLoaderOptions\n): AsyncIterable<ObjectRowTableBatch> {\n const reader = new ParquetReader(file, {\n preserveBinary: options?.parquet?.preserveBinary\n });\n\n const schema = await getSchemaFromParquetReader(reader);\n const rowBatches = reader.rowBatchIterator(options?.parquet);\n for await (const rows of rowBatches) {\n const objectRowTable: ObjectRowTable = {\n shape: 'object-row-table',\n schema,\n data: rows\n };\n const shape = options?.parquet?.shape;\n const table = convertTable(objectRowTable, shape);\n\n yield {\n batchType: 'data',\n schema,\n ...table,\n length: rows.length\n };\n }\n}\n\nfunction convertTable(\n objectRowTable: ObjectRowTable,\n shape?: 'object-row-table' | 'geojson-table'\n): ObjectRowTable {\n switch (shape) {\n case 'object-row-table':\n return objectRowTable;\n\n // Hack until geoparquet fixes up forwarded shape\n case 'geojson-table':\n return objectRowTable;\n\n default:\n throw new Error(shape);\n }\n}\n"],"mappings":"SAQQA,aAAa;AAAA,SACbC,0BAA0B;AAAA,SAC1BC,qBAAqB;AAQ7B,OAAO,eAAeC,gBAAgBA,CACpCC,IAAkB,EAClBC,OAA8B,EACL;EAAA,IAAAC,gBAAA,EAAAC,iBAAA;EACzBL,qBAAqB,CAAC,CAAC;EAEvB,MAAMM,MAAM,GAAG,IAAIR,aAAa,CAACI,IAAI,EAAE;IACrCK,cAAc,EAAEJ,OAAO,aAAPA,OAAO,wBAAAC,gBAAA,GAAPD,OAAO,CAAEK,OAAO,cAAAJ,gBAAA,uBAAhBA,gBAAA,CAAkBG;EACpC,CAAC,CAAC;EAEF,MAAME,MAAM,GAAG,MAAMV,0BAA0B,CAACO,MAAM,CAAC;EAEvD,MAAMI,IAAkB,GAAG,EAAE;EAE7B,MAAMC,UAAU,GAAGL,MAAM,CAACM,gBAAgB,CAACT,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEK,OAAO,CAAC;EAC5D,WAAW,MAAMK,QAAQ,IAAIF,UAAU,EAAE;IAEvC,KAAK,MAAMG,GAAG,IAAID,QAAQ,EAAE;MAC1BH,IAAI,CAACK,IAAI,CAACD,GAAG,CAAC;IAChB;EACF;EACA,MAAME,cAA8B,GAAG;IACrCC,KAAK,EAAE,kBAAkB;IACzBR,MAAM;IACNS,IAAI,EAAER;EACR,CAAC;EAED,MAAMO,KAAK,GAAGd,OAAO,aAAPA,OAAO,wBAAAE,iBAAA,GAAPF,OAAO,CAAEK,OAAO,cAAAH,iBAAA,uBAAhBA,iBAAA,CAAkBY,KAAK;EACrC,OAAOE,YAAY,CAACH,cAAc,EAAEC,KAAK,CAAC;AAC5C;AAOA,OAAO,gBAAgBG,yBAAyBA,CAC9ClB,IAAkB,EAClBC,OAA8B,EACM;EAAA,IAAAkB,iBAAA;EACpC,MAAMf,MAAM,GAAG,IAAIR,aAAa,CAACI,IAAI,EAAE;IACrCK,cAAc,EAAEJ,OAAO,aAAPA,OAAO,wBAAAkB,iBAAA,GAAPlB,OAAO,CAAEK,OAAO,cAAAa,iBAAA,uBAAhBA,iBAAA,CAAkBd;EACpC,CAAC,CAAC;EAEF,MAAME,MAAM,GAAG,MAAMV,0BAA0B,CAACO,MAAM,CAAC;EACvD,MAAMK,UAAU,GAAGL,MAAM,CAACM,gBAAgB,CAACT,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEK,OAAO,CAAC;EAC5D,WAAW,MAAME,IAAI,IAAIC,UAAU,EAAE;IAAA,IAAAW,iBAAA;IACnC,MAAMN,cAA8B,GAAG;MACrCC,KAAK,EAAE,kBAAkB;MACzBR,MAAM;MACNS,IAAI,EAAER;IACR,CAAC;IACD,MAAMO,KAAK,GAAGd,OAAO,aAAPA,OAAO,wBAAAmB,iBAAA,GAAPnB,OAAO,CAAEK,OAAO,cAAAc,iBAAA,uBAAhBA,iBAAA,CAAkBL,KAAK;IACrC,MAAMM,KAAK,GAAGJ,YAAY,CAACH,cAAc,EAAEC,KAAK,CAAC;IAEjD,MAAM;MACJO,SAAS,EAAE,MAAM;MACjBf,MAAM;MACN,GAAGc,KAAK;MACRE,MAAM,EAAEf,IAAI,CAACe;IACf,CAAC;EACH;AACF;AAEA,SAASN,YAAYA,CACnBH,cAA8B,EAC9BC,KAA4C,EAC5B;EAChB,QAAQA,KAAK;IACX,KAAK,kBAAkB;MACrB,OAAOD,cAAc;IAGvB,KAAK,eAAe;MAClB,OAAOA,cAAc;IAEvB;MACE,MAAM,IAAIU,KAAK,CAACT,KAAK,CAAC;EAC1B;AACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encode-parquet-wasm.d.ts","sourceRoot":"","sources":["../../../src/lib/wasm/encode-parquet-wasm.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"encode-parquet-wasm.d.ts","sourceRoot":"","sources":["../../../src/lib/wasm/encode-parquet-wasm.ts"],"names":[],"mappings":"AAGA,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 +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":["
|
|
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, MIT license\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":"AAMA,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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load-wasm-browser.d.ts","sourceRoot":"","sources":["../../../src/lib/wasm/load-wasm-browser.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"load-wasm-browser.d.ts","sourceRoot":"","sources":["../../../src/lib/wasm/load-wasm-browser.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,OAAO,MAAM,0BAA0B,CAAC;AAIpD,wBAAsB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,2BAU9C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load-wasm-browser.js","names":["wasmEsm","cached","loadWasm","wasmUrl","default"],"sources":["../../../src/lib/wasm/load-wasm-browser.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"load-wasm-browser.js","names":["wasmEsm","cached","loadWasm","wasmUrl","default"],"sources":["../../../src/lib/wasm/load-wasm-browser.ts"],"sourcesContent":["// loaders.gl, MIT license\n// Copyright (c) vis.gl contributors\n\nimport * as wasmEsm from 'parquet-wasm/esm2/arrow1';\n\nlet cached: typeof wasmEsm | null = null;\n\nexport async function loadWasm(wasmUrl?: string) {\n if (cached !== null) {\n return cached;\n }\n\n // For ESM bundles, need to await the default export, which loads the WASM\n await wasmEsm.default(wasmUrl);\n cached = wasmEsm;\n\n return wasmEsm;\n}\n"],"mappings":"AAGA,OAAO,KAAKA,OAAO,MAAM,0BAA0B;AAEnD,IAAIC,MAA6B,GAAG,IAAI;AAExC,OAAO,eAAeC,QAAQA,CAACC,OAAgB,EAAE;EAC/C,IAAIF,MAAM,KAAK,IAAI,EAAE;IACnB,OAAOA,MAAM;EACf;EAGA,MAAMD,OAAO,CAACI,OAAO,CAACD,OAAO,CAAC;EAC9BF,MAAM,GAAGD,OAAO;EAEhB,OAAOA,OAAO;AAChB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load-wasm-node.d.ts","sourceRoot":"","sources":["../../../src/lib/wasm/load-wasm-node.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"load-wasm-node.d.ts","sourceRoot":"","sources":["../../../src/lib/wasm/load-wasm-node.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,QAAQ,MAAM,0BAA0B,CAAC;AAErD,wBAAsB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,4BAE9C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load-wasm-node.js","names":["wasmNode","loadWasm","wasmUrl"],"sources":["../../../src/lib/wasm/load-wasm-node.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"load-wasm-node.js","names":["wasmNode","loadWasm","wasmUrl"],"sources":["../../../src/lib/wasm/load-wasm-node.ts"],"sourcesContent":["// loaders.gl, MIT license\n// Copyright (c) vis.gl contributors\n\nimport * as wasmNode from 'parquet-wasm/node/arrow1';\n\nexport async function loadWasm(wasmUrl?: string) {\n return wasmNode;\n}\n"],"mappings":"AAGA,OAAO,KAAKA,QAAQ,MAAM,0BAA0B;AAEpD,OAAO,eAAeC,QAAQA,CAACC,OAAgB,EAAE;EAC/C,OAAOF,QAAQ;AACjB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load-wasm.d.ts","sourceRoot":"","sources":["../../../src/lib/wasm/load-wasm.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"load-wasm.d.ts","sourceRoot":"","sources":["../../../src/lib/wasm/load-wasm.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,QAAQ,EAAC,MAAM,kBAAkB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load-wasm.js","names":["loadWasm"],"sources":["../../../src/lib/wasm/load-wasm.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"load-wasm.js","names":["loadWasm"],"sources":["../../../src/lib/wasm/load-wasm.ts"],"sourcesContent":["// loaders.gl, MIT license\n// Copyright (c) vis.gl contributors\n\nexport {loadWasm} from './load-wasm-node';\n"],"mappings":"SAGQA,QAAQ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-parquet-wasm.d.ts","sourceRoot":"","sources":["../../../src/lib/wasm/parse-parquet-wasm.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"parse-parquet-wasm.d.ts","sourceRoot":"","sources":["../../../src/lib/wasm/parse-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,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 +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":["// 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":"
|
|
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, MIT license\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":"AAMA,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"}
|