@loaders.gl/json 4.0.0-alpha.22 → 4.0.0-alpha.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/dist.min.js +3 -2
- package/dist/es5/geojson-loader.js +2 -1
- package/dist/es5/geojson-loader.js.map +1 -1
- package/dist/es5/json-loader.js +2 -2
- package/dist/es5/json-loader.js.map +1 -1
- package/dist/es5/lib/parsers/parse-json-in-batches.js +1 -1
- package/dist/es5/lib/parsers/parse-json-in-batches.js.map +1 -1
- package/dist/es5/lib/parsers/parse-ndjson-in-batches.js.map +1 -1
- package/dist/es5/ndgeoson-loader.js +1 -1
- package/dist/es5/ndjson-loader.js +1 -1
- package/dist/esm/geojson-loader.js +2 -1
- package/dist/esm/geojson-loader.js.map +1 -1
- package/dist/esm/json-loader.js +2 -2
- package/dist/esm/json-loader.js.map +1 -1
- package/dist/esm/lib/parsers/parse-json-in-batches.js +1 -1
- package/dist/esm/lib/parsers/parse-json-in-batches.js.map +1 -1
- package/dist/esm/lib/parsers/parse-ndjson-in-batches.js.map +1 -1
- package/dist/esm/ndgeoson-loader.js +1 -1
- package/dist/esm/ndjson-loader.js +1 -1
- package/dist/geojson-loader.d.ts.map +1 -1
- package/dist/geojson-loader.js +1 -0
- package/dist/geojson-worker.js +3 -2
- package/dist/json-loader.d.ts +1 -1
- package/dist/json-loader.d.ts.map +1 -1
- package/dist/json-loader.js +1 -1
- package/dist/lib/parsers/parse-json-in-batches.d.ts.map +1 -1
- package/dist/lib/parsers/parse-json-in-batches.js +2 -1
- package/dist/lib/parsers/parse-ndjson-in-batches.d.ts +2 -2
- package/dist/lib/parsers/parse-ndjson-in-batches.d.ts.map +1 -1
- package/package.json +5 -5
- package/src/geojson-loader.ts +1 -0
- package/src/json-loader.ts +2 -2
- package/src/lib/parsers/parse-json-in-batches.ts +2 -1
- package/src/lib/parsers/parse-ndjson-in-batches.ts +2 -2
package/dist/dist.min.js
CHANGED
|
@@ -1580,7 +1580,7 @@ Char: ${this.c}`;
|
|
|
1580
1580
|
const { jsonpaths } = options.json || {};
|
|
1581
1581
|
let isFirstChunk = true;
|
|
1582
1582
|
const schema = null;
|
|
1583
|
-
const shape = options?.json?.shape || "row-table";
|
|
1583
|
+
const shape = options?.json?.shape || "object-row-table";
|
|
1584
1584
|
const tableBatchBuilder = new TableBatchBuilder(schema, {
|
|
1585
1585
|
...options,
|
|
1586
1586
|
shape
|
|
@@ -1676,7 +1676,7 @@ Char: ${this.c}`;
|
|
|
1676
1676
|
VERSION = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
|
|
1677
1677
|
DEFAULT_JSON_LOADER_OPTIONS = {
|
|
1678
1678
|
json: {
|
|
1679
|
-
shape: "row-table",
|
|
1679
|
+
shape: "object-row-table",
|
|
1680
1680
|
table: false,
|
|
1681
1681
|
jsonpaths: []
|
|
1682
1682
|
}
|
|
@@ -2882,6 +2882,7 @@ Char: ${this.c}`;
|
|
|
2882
2882
|
shape: "object-row-table"
|
|
2883
2883
|
},
|
|
2884
2884
|
json: {
|
|
2885
|
+
shape: "object-row-table",
|
|
2885
2886
|
jsonpaths: ["$", "$.features"]
|
|
2886
2887
|
},
|
|
2887
2888
|
gis: {
|
|
@@ -17,7 +17,7 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
|
|
|
17
17
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
18
18
|
function _asyncIterator(iterable) { var method, async, sync, retry = 2; for ("undefined" != typeof Symbol && (async = Symbol.asyncIterator, sync = Symbol.iterator); retry--;) { if (async && null != (method = iterable[async])) return method.call(iterable); if (sync && null != (method = iterable[sync])) return new AsyncFromSyncIterator(method.call(iterable)); async = "@@asyncIterator", sync = "@@iterator"; } throw new TypeError("Object is not async iterable"); }
|
|
19
19
|
function AsyncFromSyncIterator(s) { function AsyncFromSyncIteratorContinuation(r) { if (Object(r) !== r) return Promise.reject(new TypeError(r + " is not an object.")); var done = r.done; return Promise.resolve(r.value).then(function (value) { return { value: value, done: done }; }); } return AsyncFromSyncIterator = function AsyncFromSyncIterator(s) { this.s = s, this.n = s.next; }, AsyncFromSyncIterator.prototype = { s: null, n: null, next: function next() { return AsyncFromSyncIteratorContinuation(this.n.apply(this.s, arguments)); }, return: function _return(value) { var ret = this.s.return; return void 0 === ret ? Promise.resolve({ value: value, done: !0 }) : AsyncFromSyncIteratorContinuation(ret.apply(this.s, arguments)); }, throw: function _throw(value) { var thr = this.s.return; return void 0 === thr ? Promise.reject(value) : AsyncFromSyncIteratorContinuation(thr.apply(this.s, arguments)); } }, new AsyncFromSyncIterator(s); }
|
|
20
|
-
var VERSION = typeof "4.0.0-alpha.
|
|
20
|
+
var VERSION = typeof "4.0.0-alpha.23" !== 'undefined' ? "4.0.0-alpha.23" : 'latest';
|
|
21
21
|
var GeoJSONWorkerLoader = {
|
|
22
22
|
name: 'GeoJSON',
|
|
23
23
|
id: 'geojson',
|
|
@@ -33,6 +33,7 @@ var GeoJSONWorkerLoader = {
|
|
|
33
33
|
shape: 'object-row-table'
|
|
34
34
|
},
|
|
35
35
|
json: {
|
|
36
|
+
shape: 'object-row-table',
|
|
36
37
|
jsonpaths: ['$', '$.features']
|
|
37
38
|
},
|
|
38
39
|
gis: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"geojson-loader.js","names":["_gis","require","_parseJson","_parseJsonInBatches","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","_asyncIterator","iterable","method","async","sync","retry","Symbol","asyncIterator","iterator","call","AsyncFromSyncIterator","TypeError","s","AsyncFromSyncIteratorContinuation","r","Promise","reject","done","resolve","value","then","n","next","prototype","return","_return","ret","throw","_throw","thr","VERSION","GeoJSONWorkerLoader","name","id","module","version","worker","extensions","mimeTypes","category","text","options","geojson","shape","json","jsonpaths","gis","format","exports","GeoJSONLoader","parse","parseTextSync","parseInBatches","_x2","_x3","_parse","_asyncToGenerator2","_regenerator","mark","_callee2","arrayBuffer","wrap","_callee2$","_context2","prev","abrupt","TextDecoder","decode","stop","table","parseJSONSync","geojsonToBinary","data","geojsonIterator","parseJSONInBatches","makeBinaryGeometryIterator","_x","_makeBinaryGeometryIterator","_wrapAsyncGenerator2","_callee","_iteratorAbruptCompletion","_didIteratorError","_iteratorError","_iterator","_step","batch","_callee$","_context","_awaitAsyncGenerator2","sent","t0","finish"],"sources":["../../src/geojson-loader.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport type {Loader, LoaderWithParser} from '@loaders.gl/loader-utils';\nimport type {GeoJSON, GeoJSONRowTable, TableBatch} from '@loaders.gl/schema';\nimport type {JSONLoaderOptions} from './json-loader';\nimport {geojsonToBinary} from '@loaders.gl/gis';\nimport {parseJSONSync} from './lib/parsers/parse-json';\nimport {parseJSONInBatches} from './lib/parsers/parse-json-in-batches';\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\nexport type GeoJSONLoaderOptions = JSONLoaderOptions & {\n geojson?: {\n shape?: 'object-row-table';\n };\n gis?: {\n format?: 'geojson' | 'binary';\n };\n};\n\n/**\n * GeoJSON loader\n */\nexport const GeoJSONWorkerLoader: Loader<GeoJSON, TableBatch, GeoJSONLoaderOptions> = {\n name: 'GeoJSON',\n id: 'geojson',\n module: 'geojson',\n version: VERSION,\n worker: true,\n extensions: ['geojson'],\n mimeTypes: ['application/geo+json'],\n category: 'geometry',\n text: true,\n options: {\n geojson: {\n shape: 'object-row-table'\n },\n json: {\n jsonpaths: ['$', '$.features']\n },\n gis: {\n format: 'geojson'\n }\n }\n};\n\nexport const GeoJSONLoader: LoaderWithParser<GeoJSON, TableBatch, GeoJSONLoaderOptions> = {\n ...GeoJSONWorkerLoader,\n // @ts-expect-error\n parse,\n // @ts-expect-error\n parseTextSync,\n parseInBatches\n};\n\nasync function parse(arrayBuffer: ArrayBuffer, options?: GeoJSONLoaderOptions) {\n return parseTextSync(new TextDecoder().decode(arrayBuffer), options);\n}\n\nfunction parseTextSync(text: string, options?: GeoJSONLoaderOptions) {\n // Apps can call the parse method directly, we so apply default options here\n options = {...GeoJSONLoader.options, ...options};\n options.geojson = {...GeoJSONLoader.options.geojson, ...options.geojson};\n options.gis = options.gis || {};\n const table = parseJSONSync(text, options) as GeoJSONRowTable;\n table.shape = 'geojson-row-table';\n switch (options.gis.format) {\n case 'binary':\n return geojsonToBinary(table.data);\n default:\n return table;\n }\n}\n\nfunction parseInBatches(asyncIterator, options): AsyncIterable<TableBatch> {\n // Apps can call the parse method directly, we so apply default options here\n options = {...GeoJSONLoader.options, ...options};\n options.json = {...GeoJSONLoader.options.geojson, ...options.geojson};\n\n const geojsonIterator = parseJSONInBatches(asyncIterator, options);\n\n switch (options.gis.format) {\n case 'binary':\n return makeBinaryGeometryIterator(geojsonIterator);\n default:\n return geojsonIterator;\n }\n}\n\nasync function* makeBinaryGeometryIterator(geojsonIterator) {\n for await (const batch of geojsonIterator) {\n batch.data = geojsonToBinary(batch.data);\n yield batch;\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"geojson-loader.js","names":["_gis","require","_parseJson","_parseJsonInBatches","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","_asyncIterator","iterable","method","async","sync","retry","Symbol","asyncIterator","iterator","call","AsyncFromSyncIterator","TypeError","s","AsyncFromSyncIteratorContinuation","r","Promise","reject","done","resolve","value","then","n","next","prototype","return","_return","ret","throw","_throw","thr","VERSION","GeoJSONWorkerLoader","name","id","module","version","worker","extensions","mimeTypes","category","text","options","geojson","shape","json","jsonpaths","gis","format","exports","GeoJSONLoader","parse","parseTextSync","parseInBatches","_x2","_x3","_parse","_asyncToGenerator2","_regenerator","mark","_callee2","arrayBuffer","wrap","_callee2$","_context2","prev","abrupt","TextDecoder","decode","stop","table","parseJSONSync","geojsonToBinary","data","geojsonIterator","parseJSONInBatches","makeBinaryGeometryIterator","_x","_makeBinaryGeometryIterator","_wrapAsyncGenerator2","_callee","_iteratorAbruptCompletion","_didIteratorError","_iteratorError","_iterator","_step","batch","_callee$","_context","_awaitAsyncGenerator2","sent","t0","finish"],"sources":["../../src/geojson-loader.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport type {Loader, LoaderWithParser} from '@loaders.gl/loader-utils';\nimport type {GeoJSON, GeoJSONRowTable, TableBatch} from '@loaders.gl/schema';\nimport type {JSONLoaderOptions} from './json-loader';\nimport {geojsonToBinary} from '@loaders.gl/gis';\nimport {parseJSONSync} from './lib/parsers/parse-json';\nimport {parseJSONInBatches} from './lib/parsers/parse-json-in-batches';\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\nexport type GeoJSONLoaderOptions = JSONLoaderOptions & {\n geojson?: {\n shape?: 'object-row-table';\n };\n gis?: {\n format?: 'geojson' | 'binary';\n };\n};\n\n/**\n * GeoJSON loader\n */\nexport const GeoJSONWorkerLoader: Loader<GeoJSON, TableBatch, GeoJSONLoaderOptions> = {\n name: 'GeoJSON',\n id: 'geojson',\n module: 'geojson',\n version: VERSION,\n worker: true,\n extensions: ['geojson'],\n mimeTypes: ['application/geo+json'],\n category: 'geometry',\n text: true,\n options: {\n geojson: {\n shape: 'object-row-table'\n },\n json: {\n shape: 'object-row-table',\n jsonpaths: ['$', '$.features']\n },\n gis: {\n format: 'geojson'\n }\n }\n};\n\nexport const GeoJSONLoader: LoaderWithParser<GeoJSON, TableBatch, GeoJSONLoaderOptions> = {\n ...GeoJSONWorkerLoader,\n // @ts-expect-error\n parse,\n // @ts-expect-error\n parseTextSync,\n parseInBatches\n};\n\nasync function parse(arrayBuffer: ArrayBuffer, options?: GeoJSONLoaderOptions) {\n return parseTextSync(new TextDecoder().decode(arrayBuffer), options);\n}\n\nfunction parseTextSync(text: string, options?: GeoJSONLoaderOptions) {\n // Apps can call the parse method directly, we so apply default options here\n options = {...GeoJSONLoader.options, ...options};\n options.geojson = {...GeoJSONLoader.options.geojson, ...options.geojson};\n options.gis = options.gis || {};\n const table = parseJSONSync(text, options) as GeoJSONRowTable;\n table.shape = 'geojson-row-table';\n switch (options.gis.format) {\n case 'binary':\n return geojsonToBinary(table.data);\n default:\n return table;\n }\n}\n\nfunction parseInBatches(asyncIterator, options): AsyncIterable<TableBatch> {\n // Apps can call the parse method directly, we so apply default options here\n options = {...GeoJSONLoader.options, ...options};\n options.json = {...GeoJSONLoader.options.geojson, ...options.geojson};\n\n const geojsonIterator = parseJSONInBatches(asyncIterator, options);\n\n switch (options.gis.format) {\n case 'binary':\n return makeBinaryGeometryIterator(geojsonIterator);\n default:\n return geojsonIterator;\n }\n}\n\nasync function* makeBinaryGeometryIterator(geojsonIterator) {\n for await (const batch of geojsonIterator) {\n batch.data = geojsonToBinary(batch.data);\n yield batch;\n }\n}\n"],"mappings":"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"}
|
package/dist/es5/json-loader.js
CHANGED
|
@@ -12,10 +12,10 @@ var _parseJson = require("./lib/parsers/parse-json");
|
|
|
12
12
|
var _parseJsonInBatches = require("./lib/parsers/parse-json-in-batches");
|
|
13
13
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
14
14
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
15
|
-
var VERSION = typeof "4.0.0-alpha.
|
|
15
|
+
var VERSION = typeof "4.0.0-alpha.23" !== 'undefined' ? "4.0.0-alpha.23" : 'latest';
|
|
16
16
|
var DEFAULT_JSON_LOADER_OPTIONS = {
|
|
17
17
|
json: {
|
|
18
|
-
shape: 'row-table',
|
|
18
|
+
shape: 'object-row-table',
|
|
19
19
|
table: false,
|
|
20
20
|
jsonpaths: []
|
|
21
21
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json-loader.js","names":["_parseJson","require","_parseJsonInBatches","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","VERSION","DEFAULT_JSON_LOADER_OPTIONS","json","shape","table","jsonpaths","JSONLoader","name","id","module","version","extensions","mimeTypes","category","text","parse","parseTextSync","parseInBatches","options","exports","_x","_x2","_parse","_asyncToGenerator2","_regenerator","mark","_callee","arrayBuffer","wrap","_callee$","_context","prev","next","abrupt","TextDecoder","decode","stop","jsonOptions","parseJSONSync","asyncIterator","parseJSONInBatches"],"sources":["../../src/json-loader.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport type {Table, TableBatch} from '@loaders.gl/schema';\nimport type {LoaderWithParser, LoaderOptions} from '@loaders.gl/loader-utils';\nimport {parseJSONSync} from './lib/parsers/parse-json';\nimport {parseJSONInBatches} from './lib/parsers/parse-json-in-batches';\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\ntype ParseJSONOptions = {\n shape
|
|
1
|
+
{"version":3,"file":"json-loader.js","names":["_parseJson","require","_parseJsonInBatches","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","VERSION","DEFAULT_JSON_LOADER_OPTIONS","json","shape","table","jsonpaths","JSONLoader","name","id","module","version","extensions","mimeTypes","category","text","parse","parseTextSync","parseInBatches","options","exports","_x","_x2","_parse","_asyncToGenerator2","_regenerator","mark","_callee","arrayBuffer","wrap","_callee$","_context","prev","next","abrupt","TextDecoder","decode","stop","jsonOptions","parseJSONSync","asyncIterator","parseJSONInBatches"],"sources":["../../src/json-loader.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport type {Table, TableBatch} from '@loaders.gl/schema';\nimport type {LoaderWithParser, LoaderOptions} from '@loaders.gl/loader-utils';\nimport {parseJSONSync} from './lib/parsers/parse-json';\nimport {parseJSONInBatches} from './lib/parsers/parse-json-in-batches';\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\ntype ParseJSONOptions = {\n shape: 'object-row-table'; // TODO - 'auto'?\n table?: boolean;\n jsonpaths?: string[];\n};\n\n/**\n * @param table -\n * @param jsonpaths -\n */\nexport type JSONLoaderOptions = LoaderOptions & {\n json?: ParseJSONOptions;\n};\n\nconst DEFAULT_JSON_LOADER_OPTIONS: {json: Required<ParseJSONOptions>} = {\n json: {\n shape: 'object-row-table',\n table: false,\n jsonpaths: []\n // batchSize: 'auto'\n }\n};\n\nexport const JSONLoader: LoaderWithParser<Table, TableBatch, JSONLoaderOptions> = {\n name: 'JSON',\n id: 'json',\n module: 'json',\n version: VERSION,\n extensions: ['json', 'geojson'],\n mimeTypes: ['application/json'],\n category: 'table',\n text: true,\n parse,\n parseTextSync,\n parseInBatches,\n options: DEFAULT_JSON_LOADER_OPTIONS\n};\n\nasync function parse(arrayBuffer: ArrayBuffer, options?: JSONLoaderOptions) {\n return parseTextSync(new TextDecoder().decode(arrayBuffer), options);\n}\n\nfunction parseTextSync(text: string, options?: JSONLoaderOptions) {\n const jsonOptions = {...options, json: {...DEFAULT_JSON_LOADER_OPTIONS.json, ...options?.json}};\n return parseJSONSync(text, jsonOptions as JSONLoaderOptions);\n}\n\nfunction parseInBatches(\n asyncIterator: AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>,\n options?: JSONLoaderOptions\n): AsyncIterable<TableBatch> {\n const jsonOptions = {...options, json: {...DEFAULT_JSON_LOADER_OPTIONS.json, ...options?.json}};\n return parseJSONInBatches(asyncIterator, jsonOptions as JSONLoaderOptions);\n}\n"],"mappings":"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"}
|
|
@@ -36,7 +36,7 @@ function _parseJSONInBatches() {
|
|
|
36
36
|
_ref = options.json || {}, jsonpaths = _ref.jsonpaths;
|
|
37
37
|
isFirstChunk = true;
|
|
38
38
|
schema = null;
|
|
39
|
-
shape = (options === null || options === void 0 ? void 0 : (_options$json = options.json) === null || _options$json === void 0 ? void 0 : _options$json.shape) || 'row-table';
|
|
39
|
+
shape = (options === null || options === void 0 ? void 0 : (_options$json = options.json) === null || _options$json === void 0 ? void 0 : _options$json.shape) || 'object-row-table';
|
|
40
40
|
tableBatchBuilder = new _schema.TableBatchBuilder(schema, _objectSpread(_objectSpread({}, options), {}, {
|
|
41
41
|
shape: shape
|
|
42
42
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-json-in-batches.js","names":["_schema","require","_loaderUtils","_streamingJsonParser","_interopRequireDefault","_jsonpath2","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","i","F","s","n","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","call","step","next","_e2","return","minLen","_arrayLikeToArray","Object","prototype","toString","slice","constructor","name","from","test","arr","len","arr2","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","arguments","source","forEach","key","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","_asyncIterator","iterable","method","async","sync","retry","asyncIterator","AsyncFromSyncIterator","AsyncFromSyncIteratorContinuation","r","Promise","reject","resolve","then","_return","ret","throw","_throw","thr","parseJSONInBatches","_x","_x2","_parseJSONInBatches","_wrapAsyncGenerator2","_regenerator","mark","_callee","binaryAsyncIterator","options","_options$json","metadata","_ref","jsonpaths","isFirstChunk","schema","shape","tableBatchBuilder","parser","_iteratorAbruptCompletion","_didIteratorError","_iteratorError","_iterator","_step","chunk","rows","_jsonpath","initialBatch","_iterator2","_step2","row","_batch2","_batch","jsonpath","batch","finalBatch","wrap","_callee$","_context","prev","makeTextDecoderIterator","json","TableBatchBuilder","StreamingJSONParser","_awaitAsyncGenerator2","sent","write","getStreamingJsonPathAsString","batchType","data","bytesUsed","container","getPartialResult","addRow","getFullBatch","t0","finish","chunkComplete","t1","getFinalBatch","stop","rebuildJsonObject","assert","topLevelObject","streamingPath","JSONPath","setFieldAtPath"],"sources":["../../../../src/lib/parsers/parse-json-in-batches.ts"],"sourcesContent":["import type {TableBatch} from '@loaders.gl/schema';\nimport type {JSONLoaderOptions} from '../../json-loader';\nimport {TableBatchBuilder} from '@loaders.gl/schema';\nimport {assert, makeTextDecoderIterator} from '@loaders.gl/loader-utils';\nimport StreamingJSONParser from '../json-parser/streaming-json-parser';\nimport JSONPath from '../jsonpath/jsonpath';\n\n// TODO - support batch size 0 = no batching/single batch?\n// eslint-disable-next-line max-statements, complexity\nexport async function* parseJSONInBatches(\n binaryAsyncIterator: AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>,\n options: JSONLoaderOptions\n): AsyncIterable<TableBatch> {\n const asyncIterator = makeTextDecoderIterator(binaryAsyncIterator);\n\n const {metadata} = options;\n const {jsonpaths} = options.json || {};\n\n let isFirstChunk: boolean = true;\n\n // TODO fix Schema deduction\n const schema = null; // new Schema([]);\n const shape = options?.json?.shape || 'row-table';\n // @ts-ignore\n const tableBatchBuilder = new TableBatchBuilder(schema, {\n ...options,\n shape\n });\n\n const parser = new StreamingJSONParser({jsonpaths});\n\n for await (const chunk of asyncIterator) {\n const rows = parser.write(chunk);\n\n const jsonpath = rows.length > 0 && parser.getStreamingJsonPathAsString();\n\n if (rows.length > 0 && isFirstChunk) {\n if (metadata) {\n const initialBatch: TableBatch = {\n // Common fields\n shape,\n batchType: 'partial-result',\n data: [],\n length: 0,\n bytesUsed: 0,\n // JSON additions\n container: parser.getPartialResult(),\n jsonpath\n };\n yield initialBatch;\n }\n isFirstChunk = false;\n // schema = deduceSchema(rows);\n }\n\n // Add the row\n for (const row of rows) {\n tableBatchBuilder.addRow(row);\n // If a batch has been completed, emit it\n const batch = tableBatchBuilder.getFullBatch({jsonpath});\n if (batch) {\n yield batch;\n }\n }\n\n tableBatchBuilder.chunkComplete(chunk);\n const batch = tableBatchBuilder.getFullBatch({jsonpath});\n if (batch) {\n yield batch;\n }\n }\n\n // yield final batch\n const jsonpath = parser.getStreamingJsonPathAsString();\n const batch = tableBatchBuilder.getFinalBatch({jsonpath});\n if (batch) {\n yield batch;\n }\n\n if (metadata) {\n const finalBatch: TableBatch = {\n shape,\n batchType: 'final-result',\n container: parser.getPartialResult(),\n jsonpath: parser.getStreamingJsonPathAsString(),\n data: [],\n length: 0\n // schema: null\n };\n yield finalBatch;\n }\n}\n\nexport function rebuildJsonObject(batch, data) {\n // Last batch will have this special type and will provide all the root object of the parsed file\n assert(batch.batchType === 'final-result');\n\n // The streamed JSON data is a top level array (jsonpath = '$'), just return the array of row objects\n if (batch.jsonpath === '$') {\n return data;\n }\n\n // (jsonpath !== '$') The streamed data is not a top level array, so stitch it back in to the top-level object\n if (batch.jsonpath && batch.jsonpath.length > 1) {\n const topLevelObject = batch.container;\n const streamingPath = new JSONPath(batch.jsonpath);\n streamingPath.setFieldAtPath(topLevelObject, data);\n return topLevelObject;\n }\n\n // No jsonpath, in this case nothing was streamed.\n return batch.container;\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"parse-json-in-batches.js","names":["_schema","require","_loaderUtils","_streamingJsonParser","_interopRequireDefault","_jsonpath2","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","i","F","s","n","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","call","step","next","_e2","return","minLen","_arrayLikeToArray","Object","prototype","toString","slice","constructor","name","from","test","arr","len","arr2","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","arguments","source","forEach","key","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","_asyncIterator","iterable","method","async","sync","retry","asyncIterator","AsyncFromSyncIterator","AsyncFromSyncIteratorContinuation","r","Promise","reject","resolve","then","_return","ret","throw","_throw","thr","parseJSONInBatches","_x","_x2","_parseJSONInBatches","_wrapAsyncGenerator2","_regenerator","mark","_callee","binaryAsyncIterator","options","_options$json","metadata","_ref","jsonpaths","isFirstChunk","schema","shape","tableBatchBuilder","parser","_iteratorAbruptCompletion","_didIteratorError","_iteratorError","_iterator","_step","chunk","rows","_jsonpath","initialBatch","_iterator2","_step2","row","_batch2","_batch","jsonpath","batch","finalBatch","wrap","_callee$","_context","prev","makeTextDecoderIterator","json","TableBatchBuilder","StreamingJSONParser","_awaitAsyncGenerator2","sent","write","getStreamingJsonPathAsString","batchType","data","bytesUsed","container","getPartialResult","addRow","getFullBatch","t0","finish","chunkComplete","t1","getFinalBatch","stop","rebuildJsonObject","assert","topLevelObject","streamingPath","JSONPath","setFieldAtPath"],"sources":["../../../../src/lib/parsers/parse-json-in-batches.ts"],"sourcesContent":["import type {TableBatch} from '@loaders.gl/schema';\nimport type {JSONLoaderOptions} from '../../json-loader';\nimport {TableBatchBuilder} from '@loaders.gl/schema';\nimport {assert, makeTextDecoderIterator} from '@loaders.gl/loader-utils';\nimport StreamingJSONParser from '../json-parser/streaming-json-parser';\nimport JSONPath from '../jsonpath/jsonpath';\n\n// TODO - support batch size 0 = no batching/single batch?\n// eslint-disable-next-line max-statements, complexity\nexport async function* parseJSONInBatches(\n binaryAsyncIterator: AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>,\n options: JSONLoaderOptions\n): AsyncIterable<TableBatch> {\n const asyncIterator = makeTextDecoderIterator(binaryAsyncIterator);\n\n const {metadata} = options;\n const {jsonpaths} = options.json || {};\n\n let isFirstChunk: boolean = true;\n\n // TODO fix Schema deduction\n const schema = null; // new Schema([]);\n // TODO - detect shape from data?\n const shape = options?.json?.shape || 'object-row-table';\n // @ts-ignore\n const tableBatchBuilder = new TableBatchBuilder(schema, {\n ...options,\n shape\n });\n\n const parser = new StreamingJSONParser({jsonpaths});\n\n for await (const chunk of asyncIterator) {\n const rows = parser.write(chunk);\n\n const jsonpath = rows.length > 0 && parser.getStreamingJsonPathAsString();\n\n if (rows.length > 0 && isFirstChunk) {\n if (metadata) {\n const initialBatch: TableBatch = {\n // Common fields\n shape,\n batchType: 'partial-result',\n data: [],\n length: 0,\n bytesUsed: 0,\n // JSON additions\n container: parser.getPartialResult(),\n jsonpath\n };\n yield initialBatch;\n }\n isFirstChunk = false;\n // schema = deduceSchema(rows);\n }\n\n // Add the row\n for (const row of rows) {\n tableBatchBuilder.addRow(row);\n // If a batch has been completed, emit it\n const batch = tableBatchBuilder.getFullBatch({jsonpath});\n if (batch) {\n yield batch;\n }\n }\n\n tableBatchBuilder.chunkComplete(chunk);\n const batch = tableBatchBuilder.getFullBatch({jsonpath});\n if (batch) {\n yield batch;\n }\n }\n\n // yield final batch\n const jsonpath = parser.getStreamingJsonPathAsString();\n const batch = tableBatchBuilder.getFinalBatch({jsonpath});\n if (batch) {\n yield batch;\n }\n\n if (metadata) {\n const finalBatch: TableBatch = {\n shape,\n batchType: 'final-result',\n container: parser.getPartialResult(),\n jsonpath: parser.getStreamingJsonPathAsString(),\n data: [],\n length: 0\n // schema: null\n };\n yield finalBatch;\n }\n}\n\nexport function rebuildJsonObject(batch, data) {\n // Last batch will have this special type and will provide all the root object of the parsed file\n assert(batch.batchType === 'final-result');\n\n // The streamed JSON data is a top level array (jsonpath = '$'), just return the array of row objects\n if (batch.jsonpath === '$') {\n return data;\n }\n\n // (jsonpath !== '$') The streamed data is not a top level array, so stitch it back in to the top-level object\n if (batch.jsonpath && batch.jsonpath.length > 1) {\n const topLevelObject = batch.container;\n const streamingPath = new JSONPath(batch.jsonpath);\n streamingPath.setFieldAtPath(topLevelObject, data);\n return topLevelObject;\n }\n\n // No jsonpath, in this case nothing was streamed.\n return batch.container;\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-ndjson-in-batches.js","names":["_schema","require","_loaderUtils","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","_asyncIterator","iterable","method","async","sync","retry","Symbol","asyncIterator","iterator","call","AsyncFromSyncIterator","TypeError","s","AsyncFromSyncIteratorContinuation","r","Promise","reject","done","resolve","value","then","n","next","prototype","return","_return","ret","throw","_throw","thr","parseNDJSONInBatches","_x","_x2","_parseNDJSONInBatches","_wrapAsyncGenerator2","_regenerator","mark","_callee","binaryAsyncIterator","options","textIterator","lineIterator","numberedLineIterator","schema","shape","tableBatchBuilder","_iteratorAbruptCompletion","_didIteratorError","_iteratorError","_iterator","_step","_step$value","counter","line","row","_batch","batch","wrap","_callee$","_context","prev","makeTextDecoderIterator","makeLineIterator","makeNumberedLineIterator","TableBatchBuilder","_awaitAsyncGenerator2","sent","JSON","parse","addRow","chunkComplete","getFullBatch","t0","Error","concat","t1","finish","getFinalBatch","stop"],"sources":["../../../../src/lib/parsers/parse-ndjson-in-batches.ts"],"sourcesContent":["import type {
|
|
1
|
+
{"version":3,"file":"parse-ndjson-in-batches.js","names":["_schema","require","_loaderUtils","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","_asyncIterator","iterable","method","async","sync","retry","Symbol","asyncIterator","iterator","call","AsyncFromSyncIterator","TypeError","s","AsyncFromSyncIteratorContinuation","r","Promise","reject","done","resolve","value","then","n","next","prototype","return","_return","ret","throw","_throw","thr","parseNDJSONInBatches","_x","_x2","_parseNDJSONInBatches","_wrapAsyncGenerator2","_regenerator","mark","_callee","binaryAsyncIterator","options","textIterator","lineIterator","numberedLineIterator","schema","shape","tableBatchBuilder","_iteratorAbruptCompletion","_didIteratorError","_iteratorError","_iterator","_step","_step$value","counter","line","row","_batch","batch","wrap","_callee$","_context","prev","makeTextDecoderIterator","makeLineIterator","makeNumberedLineIterator","TableBatchBuilder","_awaitAsyncGenerator2","sent","JSON","parse","addRow","chunkComplete","getFullBatch","t0","Error","concat","t1","finish","getFinalBatch","stop"],"sources":["../../../../src/lib/parsers/parse-ndjson-in-batches.ts"],"sourcesContent":["import type {TableBatch} from '@loaders.gl/schema';\nimport {TableBatchBuilder} from '@loaders.gl/schema';\nimport {\n LoaderOptions,\n makeLineIterator,\n makeNumberedLineIterator,\n makeTextDecoderIterator\n} from '@loaders.gl/loader-utils';\n\nexport async function* parseNDJSONInBatches(\n binaryAsyncIterator: AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>,\n options?: LoaderOptions\n): AsyncIterable<TableBatch> {\n const textIterator = makeTextDecoderIterator(binaryAsyncIterator);\n const lineIterator = makeLineIterator(textIterator);\n const numberedLineIterator = makeNumberedLineIterator(lineIterator);\n\n const schema = null;\n const shape = 'row-table';\n // @ts-ignore\n const tableBatchBuilder = new TableBatchBuilder(schema, {\n ...options,\n shape\n });\n\n for await (const {counter, line} of numberedLineIterator) {\n try {\n const row = JSON.parse(line);\n tableBatchBuilder.addRow(row);\n tableBatchBuilder.chunkComplete(line);\n const batch = tableBatchBuilder.getFullBatch();\n if (batch) {\n yield batch;\n }\n } catch (error) {\n throw new Error(`NDJSONLoader: failed to parse JSON on line ${counter}`);\n }\n }\n\n const batch = tableBatchBuilder.getFinalBatch();\n if (batch) {\n yield batch;\n }\n}\n"],"mappings":";;;;;;;;;;;AACA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAKkC,SAAAE,QAAAC,MAAA,EAAAC,cAAA,QAAAC,IAAA,GAAAC,MAAA,CAAAD,IAAA,CAAAF,MAAA,OAAAG,MAAA,CAAAC,qBAAA,QAAAC,OAAA,GAAAF,MAAA,CAAAC,qBAAA,CAAAJ,MAAA,GAAAC,cAAA,KAAAI,OAAA,GAAAA,OAAA,CAAAC,MAAA,WAAAC,GAAA,WAAAJ,MAAA,CAAAK,wBAAA,CAAAR,MAAA,EAAAO,GAAA,EAAAE,UAAA,OAAAP,IAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,IAAA,EAAAG,OAAA,YAAAH,IAAA;AAAA,SAAAU,cAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,WAAAF,SAAA,CAAAD,CAAA,IAAAC,SAAA,CAAAD,CAAA,QAAAA,CAAA,OAAAf,OAAA,CAAAI,MAAA,CAAAc,MAAA,OAAAC,OAAA,WAAAC,GAAA,QAAAC,gBAAA,CAAAC,OAAA,EAAAR,MAAA,EAAAM,GAAA,EAAAF,MAAA,CAAAE,GAAA,SAAAhB,MAAA,CAAAmB,yBAAA,GAAAnB,MAAA,CAAAoB,gBAAA,CAAAV,MAAA,EAAAV,MAAA,CAAAmB,yBAAA,CAAAL,MAAA,KAAAlB,OAAA,CAAAI,MAAA,CAAAc,MAAA,GAAAC,OAAA,WAAAC,GAAA,IAAAhB,MAAA,CAAAqB,cAAA,CAAAX,MAAA,EAAAM,GAAA,EAAAhB,MAAA,CAAAK,wBAAA,CAAAS,MAAA,EAAAE,GAAA,iBAAAN,MAAA;AAAA,SAAAY,eAAAC,QAAA,QAAAC,MAAA,EAAAC,KAAA,EAAAC,IAAA,EAAAC,KAAA,iCAAAC,MAAA,KAAAH,KAAA,GAAAG,MAAA,CAAAC,aAAA,EAAAH,IAAA,GAAAE,MAAA,CAAAE,QAAA,GAAAH,KAAA,WAAAF,KAAA,aAAAD,MAAA,GAAAD,QAAA,CAAAE,KAAA,WAAAD,MAAA,CAAAO,IAAA,CAAAR,QAAA,OAAAG,IAAA,aAAAF,MAAA,GAAAD,QAAA,CAAAG,IAAA,eAAAM,qBAAA,CAAAR,MAAA,CAAAO,IAAA,CAAAR,QAAA,IAAAE,KAAA,sBAAAC,IAAA,6BAAAO,SAAA;AAAA,SAAAD,sBAAAE,CAAA,aAAAC,kCAAAC,CAAA,QAAApC,MAAA,CAAAoC,CAAA,MAAAA,CAAA,SAAAC,OAAA,CAAAC,MAAA,KAAAL,SAAA,CAAAG,CAAA,+BAAAG,IAAA,GAAAH,CAAA,CAAAG,IAAA,SAAAF,OAAA,CAAAG,OAAA,CAAAJ,CAAA,CAAAK,KAAA,EAAAC,IAAA,WAAAD,KAAA,aAAAA,KAAA,EAAAA,KAAA,EAAAF,IAAA,EAAAA,IAAA,iBAAAP,qBAAA,YAAAA,sBAAAE,CAAA,SAAAA,CAAA,GAAAA,CAAA,OAAAS,CAAA,GAAAT,CAAA,CAAAU,IAAA,KAAAZ,qBAAA,CAAAa,SAAA,KAAAX,CAAA,QAAAS,CAAA,QAAAC,IAAA,WAAAA,KAAA,WAAAT,iCAAA,MAAAQ,CAAA,CAAAnC,KAAA,MAAA0B,CAAA,EAAAtB,SAAA,OAAAkC,MAAA,WAAAC,QAAAN,KAAA,QAAAO,GAAA,QAAAd,CAAA,CAAAY,MAAA,oBAAAE,GAAA,GAAAX,OAAA,CAAAG,OAAA,GAAAC,KAAA,EAAAA,KAAA,EAAAF,IAAA,UAAAJ,iCAAA,CAAAa,GAAA,CAAAxC,KAAA,MAAA0B,CAAA,EAAAtB,SAAA,OAAAqC,KAAA,WAAAC,OAAAT,KAAA,QAAAU,GAAA,QAAAjB,CAAA,CAAAY,MAAA,oBAAAK,GAAA,GAAAd,OAAA,CAAAC,MAAA,CAAAG,KAAA,IAAAN,iCAAA,CAAAgB,GAAA,CAAA3C,KAAA,MAAA0B,CAAA,EAAAtB,SAAA,aAAAoB,qBAAA,CAAAE,CAAA;AAAA,SAEXkB,oBAAoBA,CAAAC,EAAA,EAAAC,GAAA;EAAA,OAAAC,qBAAA,CAAA/C,KAAA,OAAAI,SAAA;AAAA;AAAA,SAAA2C,sBAAA;EAAAA,qBAAA,OAAAC,oBAAA,CAAAtC,OAAA,EAAAuC,YAAA,CAAAvC,OAAA,CAAAwC,IAAA,CAApC,SAAAC,QACLC,mBAAuE,EACvEC,OAAuB;IAAA,IAAAC,YAAA,EAAAC,YAAA,EAAAC,oBAAA,EAAAC,MAAA,EAAAC,KAAA,EAAAC,iBAAA,EAAAC,yBAAA,EAAAC,iBAAA,EAAAC,cAAA,EAAAC,SAAA,EAAAC,KAAA,EAAAC,WAAA,EAAAC,OAAA,EAAAC,IAAA,EAAAC,GAAA,EAAAC,MAAA,EAAAC,KAAA;IAAA,OAAArB,YAAA,CAAAvC,OAAA,CAAA6D,IAAA,UAAAC,SAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAArC,IAAA;QAAA;UAEjBkB,YAAY,GAAG,IAAAqB,oCAAuB,EAACvB,mBAAmB,CAAC;UAC3DG,YAAY,GAAG,IAAAqB,6BAAgB,EAACtB,YAAY,CAAC;UAC7CE,oBAAoB,GAAG,IAAAqB,qCAAwB,EAACtB,YAAY,CAAC;UAE7DE,MAAM,GAAG,IAAI;UACbC,KAAK,GAAG,WAAW;UAEnBC,iBAAiB,GAAG,IAAImB,yBAAiB,CAACrB,MAAM,EAAAxD,aAAA,CAAAA,aAAA,KACjDoD,OAAO;YACVK,KAAK,EAALA;UAAK,EACN,CAAC;UAAAE,yBAAA;UAAAC,iBAAA;UAAAY,QAAA,CAAAC,IAAA;UAAAX,SAAA,GAAAjD,cAAA,CAEkC0C,oBAAoB;QAAA;UAAAiB,QAAA,CAAArC,IAAA;UAAA,WAAA2C,qBAAA,CAAArE,OAAA,EAAAqD,SAAA,CAAA3B,IAAA;QAAA;UAAA,MAAAwB,yBAAA,KAAAI,KAAA,GAAAS,QAAA,CAAAO,IAAA,EAAAjD,IAAA;YAAA0C,QAAA,CAAArC,IAAA;YAAA;UAAA;UAAA6B,WAAA,GAAAD,KAAA,CAAA/B,KAAA,EAAtCiC,OAAO,GAAAD,WAAA,CAAPC,OAAO,EAAEC,IAAI,GAAAF,WAAA,CAAJE,IAAI;UAAAM,QAAA,CAAAC,IAAA;UAErBN,GAAG,GAAGa,IAAI,CAACC,KAAK,CAACf,IAAI,CAAC;UAC5BR,iBAAiB,CAACwB,MAAM,CAACf,GAAG,CAAC;UAC7BT,iBAAiB,CAACyB,aAAa,CAACjB,IAAI,CAAC;UAC/BG,MAAK,GAAGX,iBAAiB,CAAC0B,YAAY,CAAC,CAAC;UAAA,KAC1Cf,MAAK;YAAAG,QAAA,CAAArC,IAAA;YAAA;UAAA;UAAAqC,QAAA,CAAArC,IAAA;UACP,OAAMkC,MAAK;QAAA;UAAAG,QAAA,CAAArC,IAAA;UAAA;QAAA;UAAAqC,QAAA,CAAAC,IAAA;UAAAD,QAAA,CAAAa,EAAA,GAAAb,QAAA;UAAA,MAGP,IAAIc,KAAK,+CAAAC,MAAA,CAA+CtB,OAAO,CAAE,CAAC;QAAA;UAAAN,yBAAA;UAAAa,QAAA,CAAArC,IAAA;UAAA;QAAA;UAAAqC,QAAA,CAAArC,IAAA;UAAA;QAAA;UAAAqC,QAAA,CAAAC,IAAA;UAAAD,QAAA,CAAAgB,EAAA,GAAAhB,QAAA;UAAAZ,iBAAA;UAAAC,cAAA,GAAAW,QAAA,CAAAgB,EAAA;QAAA;UAAAhB,QAAA,CAAAC,IAAA;UAAAD,QAAA,CAAAC,IAAA;UAAA,MAAAd,yBAAA,IAAAG,SAAA,CAAAzB,MAAA;YAAAmC,QAAA,CAAArC,IAAA;YAAA;UAAA;UAAAqC,QAAA,CAAArC,IAAA;UAAA,WAAA2C,qBAAA,CAAArE,OAAA,EAAAqD,SAAA,CAAAzB,MAAA;QAAA;UAAAmC,QAAA,CAAAC,IAAA;UAAA,KAAAb,iBAAA;YAAAY,QAAA,CAAArC,IAAA;YAAA;UAAA;UAAA,MAAA0B,cAAA;QAAA;UAAA,OAAAW,QAAA,CAAAiB,MAAA;QAAA;UAAA,OAAAjB,QAAA,CAAAiB,MAAA;QAAA;UAItEpB,KAAK,GAAGX,iBAAiB,CAACgC,aAAa,CAAC,CAAC;UAAA,KAC3CrB,KAAK;YAAAG,QAAA,CAAArC,IAAA;YAAA;UAAA;UAAAqC,QAAA,CAAArC,IAAA;UACP,OAAMkC,KAAK;QAAA;QAAA;UAAA,OAAAG,QAAA,CAAAmB,IAAA;MAAA;IAAA,GAAAzC,OAAA;EAAA,CAEd;EAAA,OAAAJ,qBAAA,CAAA/C,KAAA,OAAAI,SAAA;AAAA"}
|
|
@@ -9,7 +9,7 @@ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"))
|
|
|
9
9
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
10
10
|
var _parseNdjson = require("./lib/parsers/parse-ndjson");
|
|
11
11
|
var _parseNdjsonInBatches = require("./lib/parsers/parse-ndjson-in-batches");
|
|
12
|
-
var VERSION = typeof "4.0.0-alpha.
|
|
12
|
+
var VERSION = typeof "4.0.0-alpha.23" !== 'undefined' ? "4.0.0-alpha.23" : 'latest';
|
|
13
13
|
var NDJSONLoader = {
|
|
14
14
|
name: 'NDJSON',
|
|
15
15
|
id: 'ndjson',
|
|
@@ -9,7 +9,7 @@ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"))
|
|
|
9
9
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
10
10
|
var _parseNdjson = require("./lib/parsers/parse-ndjson");
|
|
11
11
|
var _parseNdjsonInBatches = require("./lib/parsers/parse-ndjson-in-batches");
|
|
12
|
-
var VERSION = typeof "4.0.0-alpha.
|
|
12
|
+
var VERSION = typeof "4.0.0-alpha.23" !== 'undefined' ? "4.0.0-alpha.23" : 'latest';
|
|
13
13
|
var NDJSONLoader = {
|
|
14
14
|
name: 'NDJSON',
|
|
15
15
|
id: 'ndjson',
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { geojsonToBinary } from '@loaders.gl/gis';
|
|
2
2
|
import { parseJSONSync } from './lib/parsers/parse-json';
|
|
3
3
|
import { parseJSONInBatches } from './lib/parsers/parse-json-in-batches';
|
|
4
|
-
const VERSION = typeof "4.0.0-alpha.
|
|
4
|
+
const VERSION = typeof "4.0.0-alpha.23" !== 'undefined' ? "4.0.0-alpha.23" : 'latest';
|
|
5
5
|
export const GeoJSONWorkerLoader = {
|
|
6
6
|
name: 'GeoJSON',
|
|
7
7
|
id: 'geojson',
|
|
@@ -17,6 +17,7 @@ export const GeoJSONWorkerLoader = {
|
|
|
17
17
|
shape: 'object-row-table'
|
|
18
18
|
},
|
|
19
19
|
json: {
|
|
20
|
+
shape: 'object-row-table',
|
|
20
21
|
jsonpaths: ['$', '$.features']
|
|
21
22
|
},
|
|
22
23
|
gis: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"geojson-loader.js","names":["geojsonToBinary","parseJSONSync","parseJSONInBatches","VERSION","GeoJSONWorkerLoader","name","id","module","version","worker","extensions","mimeTypes","category","text","options","geojson","shape","json","jsonpaths","gis","format","GeoJSONLoader","parse","parseTextSync","parseInBatches","arrayBuffer","TextDecoder","decode","table","data","asyncIterator","geojsonIterator","makeBinaryGeometryIterator","batch"],"sources":["../../src/geojson-loader.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport type {Loader, LoaderWithParser} from '@loaders.gl/loader-utils';\nimport type {GeoJSON, GeoJSONRowTable, TableBatch} from '@loaders.gl/schema';\nimport type {JSONLoaderOptions} from './json-loader';\nimport {geojsonToBinary} from '@loaders.gl/gis';\nimport {parseJSONSync} from './lib/parsers/parse-json';\nimport {parseJSONInBatches} from './lib/parsers/parse-json-in-batches';\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\nexport type GeoJSONLoaderOptions = JSONLoaderOptions & {\n geojson?: {\n shape?: 'object-row-table';\n };\n gis?: {\n format?: 'geojson' | 'binary';\n };\n};\n\n/**\n * GeoJSON loader\n */\nexport const GeoJSONWorkerLoader: Loader<GeoJSON, TableBatch, GeoJSONLoaderOptions> = {\n name: 'GeoJSON',\n id: 'geojson',\n module: 'geojson',\n version: VERSION,\n worker: true,\n extensions: ['geojson'],\n mimeTypes: ['application/geo+json'],\n category: 'geometry',\n text: true,\n options: {\n geojson: {\n shape: 'object-row-table'\n },\n json: {\n jsonpaths: ['$', '$.features']\n },\n gis: {\n format: 'geojson'\n }\n }\n};\n\nexport const GeoJSONLoader: LoaderWithParser<GeoJSON, TableBatch, GeoJSONLoaderOptions> = {\n ...GeoJSONWorkerLoader,\n // @ts-expect-error\n parse,\n // @ts-expect-error\n parseTextSync,\n parseInBatches\n};\n\nasync function parse(arrayBuffer: ArrayBuffer, options?: GeoJSONLoaderOptions) {\n return parseTextSync(new TextDecoder().decode(arrayBuffer), options);\n}\n\nfunction parseTextSync(text: string, options?: GeoJSONLoaderOptions) {\n // Apps can call the parse method directly, we so apply default options here\n options = {...GeoJSONLoader.options, ...options};\n options.geojson = {...GeoJSONLoader.options.geojson, ...options.geojson};\n options.gis = options.gis || {};\n const table = parseJSONSync(text, options) as GeoJSONRowTable;\n table.shape = 'geojson-row-table';\n switch (options.gis.format) {\n case 'binary':\n return geojsonToBinary(table.data);\n default:\n return table;\n }\n}\n\nfunction parseInBatches(asyncIterator, options): AsyncIterable<TableBatch> {\n // Apps can call the parse method directly, we so apply default options here\n options = {...GeoJSONLoader.options, ...options};\n options.json = {...GeoJSONLoader.options.geojson, ...options.geojson};\n\n const geojsonIterator = parseJSONInBatches(asyncIterator, options);\n\n switch (options.gis.format) {\n case 'binary':\n return makeBinaryGeometryIterator(geojsonIterator);\n default:\n return geojsonIterator;\n }\n}\n\nasync function* makeBinaryGeometryIterator(geojsonIterator) {\n for await (const batch of geojsonIterator) {\n batch.data = geojsonToBinary(batch.data);\n yield batch;\n }\n}\n"],"mappings":"AAKA,SAAQA,eAAe,QAAO,iBAAiB;AAC/C,SAAQC,aAAa,QAAO,0BAA0B;AACtD,SAAQC,kBAAkB,QAAO,qCAAqC;AAItE,MAAMC,OAAO,GAAG,uBAAkB,KAAK,WAAW,sBAAiB,QAAQ;AAc3E,OAAO,MAAMC,mBAAsE,GAAG;EACpFC,IAAI,EAAE,SAAS;EACfC,EAAE,EAAE,SAAS;EACbC,MAAM,EAAE,SAAS;EACjBC,OAAO,EAAEL,OAAO;EAChBM,MAAM,EAAE,IAAI;EACZC,UAAU,EAAE,CAAC,SAAS,CAAC;EACvBC,SAAS,EAAE,CAAC,sBAAsB,CAAC;EACnCC,QAAQ,EAAE,UAAU;EACpBC,IAAI,EAAE,IAAI;EACVC,OAAO,EAAE;IACPC,OAAO,EAAE;MACPC,KAAK,EAAE;IACT,CAAC;IACDC,IAAI,EAAE;
|
|
1
|
+
{"version":3,"file":"geojson-loader.js","names":["geojsonToBinary","parseJSONSync","parseJSONInBatches","VERSION","GeoJSONWorkerLoader","name","id","module","version","worker","extensions","mimeTypes","category","text","options","geojson","shape","json","jsonpaths","gis","format","GeoJSONLoader","parse","parseTextSync","parseInBatches","arrayBuffer","TextDecoder","decode","table","data","asyncIterator","geojsonIterator","makeBinaryGeometryIterator","batch"],"sources":["../../src/geojson-loader.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport type {Loader, LoaderWithParser} from '@loaders.gl/loader-utils';\nimport type {GeoJSON, GeoJSONRowTable, TableBatch} from '@loaders.gl/schema';\nimport type {JSONLoaderOptions} from './json-loader';\nimport {geojsonToBinary} from '@loaders.gl/gis';\nimport {parseJSONSync} from './lib/parsers/parse-json';\nimport {parseJSONInBatches} from './lib/parsers/parse-json-in-batches';\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\nexport type GeoJSONLoaderOptions = JSONLoaderOptions & {\n geojson?: {\n shape?: 'object-row-table';\n };\n gis?: {\n format?: 'geojson' | 'binary';\n };\n};\n\n/**\n * GeoJSON loader\n */\nexport const GeoJSONWorkerLoader: Loader<GeoJSON, TableBatch, GeoJSONLoaderOptions> = {\n name: 'GeoJSON',\n id: 'geojson',\n module: 'geojson',\n version: VERSION,\n worker: true,\n extensions: ['geojson'],\n mimeTypes: ['application/geo+json'],\n category: 'geometry',\n text: true,\n options: {\n geojson: {\n shape: 'object-row-table'\n },\n json: {\n shape: 'object-row-table',\n jsonpaths: ['$', '$.features']\n },\n gis: {\n format: 'geojson'\n }\n }\n};\n\nexport const GeoJSONLoader: LoaderWithParser<GeoJSON, TableBatch, GeoJSONLoaderOptions> = {\n ...GeoJSONWorkerLoader,\n // @ts-expect-error\n parse,\n // @ts-expect-error\n parseTextSync,\n parseInBatches\n};\n\nasync function parse(arrayBuffer: ArrayBuffer, options?: GeoJSONLoaderOptions) {\n return parseTextSync(new TextDecoder().decode(arrayBuffer), options);\n}\n\nfunction parseTextSync(text: string, options?: GeoJSONLoaderOptions) {\n // Apps can call the parse method directly, we so apply default options here\n options = {...GeoJSONLoader.options, ...options};\n options.geojson = {...GeoJSONLoader.options.geojson, ...options.geojson};\n options.gis = options.gis || {};\n const table = parseJSONSync(text, options) as GeoJSONRowTable;\n table.shape = 'geojson-row-table';\n switch (options.gis.format) {\n case 'binary':\n return geojsonToBinary(table.data);\n default:\n return table;\n }\n}\n\nfunction parseInBatches(asyncIterator, options): AsyncIterable<TableBatch> {\n // Apps can call the parse method directly, we so apply default options here\n options = {...GeoJSONLoader.options, ...options};\n options.json = {...GeoJSONLoader.options.geojson, ...options.geojson};\n\n const geojsonIterator = parseJSONInBatches(asyncIterator, options);\n\n switch (options.gis.format) {\n case 'binary':\n return makeBinaryGeometryIterator(geojsonIterator);\n default:\n return geojsonIterator;\n }\n}\n\nasync function* makeBinaryGeometryIterator(geojsonIterator) {\n for await (const batch of geojsonIterator) {\n batch.data = geojsonToBinary(batch.data);\n yield batch;\n }\n}\n"],"mappings":"AAKA,SAAQA,eAAe,QAAO,iBAAiB;AAC/C,SAAQC,aAAa,QAAO,0BAA0B;AACtD,SAAQC,kBAAkB,QAAO,qCAAqC;AAItE,MAAMC,OAAO,GAAG,uBAAkB,KAAK,WAAW,sBAAiB,QAAQ;AAc3E,OAAO,MAAMC,mBAAsE,GAAG;EACpFC,IAAI,EAAE,SAAS;EACfC,EAAE,EAAE,SAAS;EACbC,MAAM,EAAE,SAAS;EACjBC,OAAO,EAAEL,OAAO;EAChBM,MAAM,EAAE,IAAI;EACZC,UAAU,EAAE,CAAC,SAAS,CAAC;EACvBC,SAAS,EAAE,CAAC,sBAAsB,CAAC;EACnCC,QAAQ,EAAE,UAAU;EACpBC,IAAI,EAAE,IAAI;EACVC,OAAO,EAAE;IACPC,OAAO,EAAE;MACPC,KAAK,EAAE;IACT,CAAC;IACDC,IAAI,EAAE;MACJD,KAAK,EAAE,kBAAkB;MACzBE,SAAS,EAAE,CAAC,GAAG,EAAE,YAAY;IAC/B,CAAC;IACDC,GAAG,EAAE;MACHC,MAAM,EAAE;IACV;EACF;AACF,CAAC;AAED,OAAO,MAAMC,aAA0E,GAAG;EACxF,GAAGjB,mBAAmB;EAEtBkB,KAAK;EAELC,aAAa;EACbC;AACF,CAAC;AAED,eAAeF,KAAKA,CAACG,WAAwB,EAAEX,OAA8B,EAAE;EAC7E,OAAOS,aAAa,CAAC,IAAIG,WAAW,CAAC,CAAC,CAACC,MAAM,CAACF,WAAW,CAAC,EAAEX,OAAO,CAAC;AACtE;AAEA,SAASS,aAAaA,CAACV,IAAY,EAAEC,OAA8B,EAAE;EAEnEA,OAAO,GAAG;IAAC,GAAGO,aAAa,CAACP,OAAO;IAAE,GAAGA;EAAO,CAAC;EAChDA,OAAO,CAACC,OAAO,GAAG;IAAC,GAAGM,aAAa,CAACP,OAAO,CAACC,OAAO;IAAE,GAAGD,OAAO,CAACC;EAAO,CAAC;EACxED,OAAO,CAACK,GAAG,GAAGL,OAAO,CAACK,GAAG,IAAI,CAAC,CAAC;EAC/B,MAAMS,KAAK,GAAG3B,aAAa,CAACY,IAAI,EAAEC,OAAO,CAAoB;EAC7Dc,KAAK,CAACZ,KAAK,GAAG,mBAAmB;EACjC,QAAQF,OAAO,CAACK,GAAG,CAACC,MAAM;IACxB,KAAK,QAAQ;MACX,OAAOpB,eAAe,CAAC4B,KAAK,CAACC,IAAI,CAAC;IACpC;MACE,OAAOD,KAAK;EAChB;AACF;AAEA,SAASJ,cAAcA,CAACM,aAAa,EAAEhB,OAAO,EAA6B;EAEzEA,OAAO,GAAG;IAAC,GAAGO,aAAa,CAACP,OAAO;IAAE,GAAGA;EAAO,CAAC;EAChDA,OAAO,CAACG,IAAI,GAAG;IAAC,GAAGI,aAAa,CAACP,OAAO,CAACC,OAAO;IAAE,GAAGD,OAAO,CAACC;EAAO,CAAC;EAErE,MAAMgB,eAAe,GAAG7B,kBAAkB,CAAC4B,aAAa,EAAEhB,OAAO,CAAC;EAElE,QAAQA,OAAO,CAACK,GAAG,CAACC,MAAM;IACxB,KAAK,QAAQ;MACX,OAAOY,0BAA0B,CAACD,eAAe,CAAC;IACpD;MACE,OAAOA,eAAe;EAC1B;AACF;AAEA,gBAAgBC,0BAA0BA,CAACD,eAAe,EAAE;EAC1D,WAAW,MAAME,KAAK,IAAIF,eAAe,EAAE;IACzCE,KAAK,CAACJ,IAAI,GAAG7B,eAAe,CAACiC,KAAK,CAACJ,IAAI,CAAC;IACxC,MAAMI,KAAK;EACb;AACF"}
|
package/dist/esm/json-loader.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { parseJSONSync } from './lib/parsers/parse-json';
|
|
2
2
|
import { parseJSONInBatches } from './lib/parsers/parse-json-in-batches';
|
|
3
|
-
const VERSION = typeof "4.0.0-alpha.
|
|
3
|
+
const VERSION = typeof "4.0.0-alpha.23" !== 'undefined' ? "4.0.0-alpha.23" : 'latest';
|
|
4
4
|
const DEFAULT_JSON_LOADER_OPTIONS = {
|
|
5
5
|
json: {
|
|
6
|
-
shape: 'row-table',
|
|
6
|
+
shape: 'object-row-table',
|
|
7
7
|
table: false,
|
|
8
8
|
jsonpaths: []
|
|
9
9
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json-loader.js","names":["parseJSONSync","parseJSONInBatches","VERSION","DEFAULT_JSON_LOADER_OPTIONS","json","shape","table","jsonpaths","JSONLoader","name","id","module","version","extensions","mimeTypes","category","text","parse","parseTextSync","parseInBatches","options","arrayBuffer","TextDecoder","decode","jsonOptions","asyncIterator"],"sources":["../../src/json-loader.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport type {Table, TableBatch} from '@loaders.gl/schema';\nimport type {LoaderWithParser, LoaderOptions} from '@loaders.gl/loader-utils';\nimport {parseJSONSync} from './lib/parsers/parse-json';\nimport {parseJSONInBatches} from './lib/parsers/parse-json-in-batches';\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\ntype ParseJSONOptions = {\n shape
|
|
1
|
+
{"version":3,"file":"json-loader.js","names":["parseJSONSync","parseJSONInBatches","VERSION","DEFAULT_JSON_LOADER_OPTIONS","json","shape","table","jsonpaths","JSONLoader","name","id","module","version","extensions","mimeTypes","category","text","parse","parseTextSync","parseInBatches","options","arrayBuffer","TextDecoder","decode","jsonOptions","asyncIterator"],"sources":["../../src/json-loader.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport type {Table, TableBatch} from '@loaders.gl/schema';\nimport type {LoaderWithParser, LoaderOptions} from '@loaders.gl/loader-utils';\nimport {parseJSONSync} from './lib/parsers/parse-json';\nimport {parseJSONInBatches} from './lib/parsers/parse-json-in-batches';\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\ntype ParseJSONOptions = {\n shape: 'object-row-table'; // TODO - 'auto'?\n table?: boolean;\n jsonpaths?: string[];\n};\n\n/**\n * @param table -\n * @param jsonpaths -\n */\nexport type JSONLoaderOptions = LoaderOptions & {\n json?: ParseJSONOptions;\n};\n\nconst DEFAULT_JSON_LOADER_OPTIONS: {json: Required<ParseJSONOptions>} = {\n json: {\n shape: 'object-row-table',\n table: false,\n jsonpaths: []\n // batchSize: 'auto'\n }\n};\n\nexport const JSONLoader: LoaderWithParser<Table, TableBatch, JSONLoaderOptions> = {\n name: 'JSON',\n id: 'json',\n module: 'json',\n version: VERSION,\n extensions: ['json', 'geojson'],\n mimeTypes: ['application/json'],\n category: 'table',\n text: true,\n parse,\n parseTextSync,\n parseInBatches,\n options: DEFAULT_JSON_LOADER_OPTIONS\n};\n\nasync function parse(arrayBuffer: ArrayBuffer, options?: JSONLoaderOptions) {\n return parseTextSync(new TextDecoder().decode(arrayBuffer), options);\n}\n\nfunction parseTextSync(text: string, options?: JSONLoaderOptions) {\n const jsonOptions = {...options, json: {...DEFAULT_JSON_LOADER_OPTIONS.json, ...options?.json}};\n return parseJSONSync(text, jsonOptions as JSONLoaderOptions);\n}\n\nfunction parseInBatches(\n asyncIterator: AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>,\n options?: JSONLoaderOptions\n): AsyncIterable<TableBatch> {\n const jsonOptions = {...options, json: {...DEFAULT_JSON_LOADER_OPTIONS.json, ...options?.json}};\n return parseJSONInBatches(asyncIterator, jsonOptions as JSONLoaderOptions);\n}\n"],"mappings":"AAIA,SAAQA,aAAa,QAAO,0BAA0B;AACtD,SAAQC,kBAAkB,QAAO,qCAAqC;AAItE,MAAMC,OAAO,GAAG,uBAAkB,KAAK,WAAW,sBAAiB,QAAQ;AAgB3E,MAAMC,2BAA+D,GAAG;EACtEC,IAAI,EAAE;IACJC,KAAK,EAAE,kBAAkB;IACzBC,KAAK,EAAE,KAAK;IACZC,SAAS,EAAE;EAEb;AACF,CAAC;AAED,OAAO,MAAMC,UAAkE,GAAG;EAChFC,IAAI,EAAE,MAAM;EACZC,EAAE,EAAE,MAAM;EACVC,MAAM,EAAE,MAAM;EACdC,OAAO,EAAEV,OAAO;EAChBW,UAAU,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC;EAC/BC,SAAS,EAAE,CAAC,kBAAkB,CAAC;EAC/BC,QAAQ,EAAE,OAAO;EACjBC,IAAI,EAAE,IAAI;EACVC,KAAK;EACLC,aAAa;EACbC,cAAc;EACdC,OAAO,EAAEjB;AACX,CAAC;AAED,eAAec,KAAKA,CAACI,WAAwB,EAAED,OAA2B,EAAE;EAC1E,OAAOF,aAAa,CAAC,IAAII,WAAW,CAAC,CAAC,CAACC,MAAM,CAACF,WAAW,CAAC,EAAED,OAAO,CAAC;AACtE;AAEA,SAASF,aAAaA,CAACF,IAAY,EAAEI,OAA2B,EAAE;EAChE,MAAMI,WAAW,GAAG;IAAC,GAAGJ,OAAO;IAAEhB,IAAI,EAAE;MAAC,GAAGD,2BAA2B,CAACC,IAAI;MAAE,IAAGgB,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEhB,IAAI;IAAA;EAAC,CAAC;EAC/F,OAAOJ,aAAa,CAACgB,IAAI,EAAEQ,WAAgC,CAAC;AAC9D;AAEA,SAASL,cAAcA,CACrBM,aAAiE,EACjEL,OAA2B,EACA;EAC3B,MAAMI,WAAW,GAAG;IAAC,GAAGJ,OAAO;IAAEhB,IAAI,EAAE;MAAC,GAAGD,2BAA2B,CAACC,IAAI;MAAE,IAAGgB,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEhB,IAAI;IAAA;EAAC,CAAC;EAC/F,OAAOH,kBAAkB,CAACwB,aAAa,EAAED,WAAgC,CAAC;AAC5E"}
|
|
@@ -13,7 +13,7 @@ export async function* parseJSONInBatches(binaryAsyncIterator, options) {
|
|
|
13
13
|
} = options.json || {};
|
|
14
14
|
let isFirstChunk = true;
|
|
15
15
|
const schema = null;
|
|
16
|
-
const shape = (options === null || options === void 0 ? void 0 : (_options$json = options.json) === null || _options$json === void 0 ? void 0 : _options$json.shape) || 'row-table';
|
|
16
|
+
const shape = (options === null || options === void 0 ? void 0 : (_options$json = options.json) === null || _options$json === void 0 ? void 0 : _options$json.shape) || 'object-row-table';
|
|
17
17
|
const tableBatchBuilder = new TableBatchBuilder(schema, {
|
|
18
18
|
...options,
|
|
19
19
|
shape
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-json-in-batches.js","names":["TableBatchBuilder","assert","makeTextDecoderIterator","StreamingJSONParser","JSONPath","parseJSONInBatches","binaryAsyncIterator","options","_options$json","asyncIterator","metadata","jsonpaths","json","isFirstChunk","schema","shape","tableBatchBuilder","parser","chunk","rows","write","jsonpath","length","getStreamingJsonPathAsString","initialBatch","batchType","data","bytesUsed","container","getPartialResult","row","addRow","batch","getFullBatch","chunkComplete","getFinalBatch","finalBatch","rebuildJsonObject","topLevelObject","streamingPath","setFieldAtPath"],"sources":["../../../../src/lib/parsers/parse-json-in-batches.ts"],"sourcesContent":["import type {TableBatch} from '@loaders.gl/schema';\nimport type {JSONLoaderOptions} from '../../json-loader';\nimport {TableBatchBuilder} from '@loaders.gl/schema';\nimport {assert, makeTextDecoderIterator} from '@loaders.gl/loader-utils';\nimport StreamingJSONParser from '../json-parser/streaming-json-parser';\nimport JSONPath from '../jsonpath/jsonpath';\n\n// TODO - support batch size 0 = no batching/single batch?\n// eslint-disable-next-line max-statements, complexity\nexport async function* parseJSONInBatches(\n binaryAsyncIterator: AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>,\n options: JSONLoaderOptions\n): AsyncIterable<TableBatch> {\n const asyncIterator = makeTextDecoderIterator(binaryAsyncIterator);\n\n const {metadata} = options;\n const {jsonpaths} = options.json || {};\n\n let isFirstChunk: boolean = true;\n\n // TODO fix Schema deduction\n const schema = null; // new Schema([]);\n const shape = options?.json?.shape || 'row-table';\n // @ts-ignore\n const tableBatchBuilder = new TableBatchBuilder(schema, {\n ...options,\n shape\n });\n\n const parser = new StreamingJSONParser({jsonpaths});\n\n for await (const chunk of asyncIterator) {\n const rows = parser.write(chunk);\n\n const jsonpath = rows.length > 0 && parser.getStreamingJsonPathAsString();\n\n if (rows.length > 0 && isFirstChunk) {\n if (metadata) {\n const initialBatch: TableBatch = {\n // Common fields\n shape,\n batchType: 'partial-result',\n data: [],\n length: 0,\n bytesUsed: 0,\n // JSON additions\n container: parser.getPartialResult(),\n jsonpath\n };\n yield initialBatch;\n }\n isFirstChunk = false;\n // schema = deduceSchema(rows);\n }\n\n // Add the row\n for (const row of rows) {\n tableBatchBuilder.addRow(row);\n // If a batch has been completed, emit it\n const batch = tableBatchBuilder.getFullBatch({jsonpath});\n if (batch) {\n yield batch;\n }\n }\n\n tableBatchBuilder.chunkComplete(chunk);\n const batch = tableBatchBuilder.getFullBatch({jsonpath});\n if (batch) {\n yield batch;\n }\n }\n\n // yield final batch\n const jsonpath = parser.getStreamingJsonPathAsString();\n const batch = tableBatchBuilder.getFinalBatch({jsonpath});\n if (batch) {\n yield batch;\n }\n\n if (metadata) {\n const finalBatch: TableBatch = {\n shape,\n batchType: 'final-result',\n container: parser.getPartialResult(),\n jsonpath: parser.getStreamingJsonPathAsString(),\n data: [],\n length: 0\n // schema: null\n };\n yield finalBatch;\n }\n}\n\nexport function rebuildJsonObject(batch, data) {\n // Last batch will have this special type and will provide all the root object of the parsed file\n assert(batch.batchType === 'final-result');\n\n // The streamed JSON data is a top level array (jsonpath = '$'), just return the array of row objects\n if (batch.jsonpath === '$') {\n return data;\n }\n\n // (jsonpath !== '$') The streamed data is not a top level array, so stitch it back in to the top-level object\n if (batch.jsonpath && batch.jsonpath.length > 1) {\n const topLevelObject = batch.container;\n const streamingPath = new JSONPath(batch.jsonpath);\n streamingPath.setFieldAtPath(topLevelObject, data);\n return topLevelObject;\n }\n\n // No jsonpath, in this case nothing was streamed.\n return batch.container;\n}\n"],"mappings":"AAEA,SAAQA,iBAAiB,QAAO,oBAAoB;AACpD,SAAQC,MAAM,EAAEC,uBAAuB,QAAO,0BAA0B;AACxE,OAAOC,mBAAmB,MAAM,sCAAsC;AACtE,OAAOC,QAAQ,MAAM,sBAAsB;AAI3C,OAAO,gBAAgBC,kBAAkBA,CACvCC,mBAAuE,EACvEC,OAA0B,EACC;EAAA,IAAAC,aAAA;EAC3B,MAAMC,aAAa,GAAGP,uBAAuB,CAACI,mBAAmB,CAAC;EAElE,MAAM;IAACI;EAAQ,CAAC,GAAGH,OAAO;EAC1B,MAAM;IAACI;EAAS,CAAC,GAAGJ,OAAO,CAACK,IAAI,IAAI,CAAC,CAAC;EAEtC,IAAIC,YAAqB,GAAG,IAAI;EAGhC,MAAMC,MAAM,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"parse-json-in-batches.js","names":["TableBatchBuilder","assert","makeTextDecoderIterator","StreamingJSONParser","JSONPath","parseJSONInBatches","binaryAsyncIterator","options","_options$json","asyncIterator","metadata","jsonpaths","json","isFirstChunk","schema","shape","tableBatchBuilder","parser","chunk","rows","write","jsonpath","length","getStreamingJsonPathAsString","initialBatch","batchType","data","bytesUsed","container","getPartialResult","row","addRow","batch","getFullBatch","chunkComplete","getFinalBatch","finalBatch","rebuildJsonObject","topLevelObject","streamingPath","setFieldAtPath"],"sources":["../../../../src/lib/parsers/parse-json-in-batches.ts"],"sourcesContent":["import type {TableBatch} from '@loaders.gl/schema';\nimport type {JSONLoaderOptions} from '../../json-loader';\nimport {TableBatchBuilder} from '@loaders.gl/schema';\nimport {assert, makeTextDecoderIterator} from '@loaders.gl/loader-utils';\nimport StreamingJSONParser from '../json-parser/streaming-json-parser';\nimport JSONPath from '../jsonpath/jsonpath';\n\n// TODO - support batch size 0 = no batching/single batch?\n// eslint-disable-next-line max-statements, complexity\nexport async function* parseJSONInBatches(\n binaryAsyncIterator: AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>,\n options: JSONLoaderOptions\n): AsyncIterable<TableBatch> {\n const asyncIterator = makeTextDecoderIterator(binaryAsyncIterator);\n\n const {metadata} = options;\n const {jsonpaths} = options.json || {};\n\n let isFirstChunk: boolean = true;\n\n // TODO fix Schema deduction\n const schema = null; // new Schema([]);\n // TODO - detect shape from data?\n const shape = options?.json?.shape || 'object-row-table';\n // @ts-ignore\n const tableBatchBuilder = new TableBatchBuilder(schema, {\n ...options,\n shape\n });\n\n const parser = new StreamingJSONParser({jsonpaths});\n\n for await (const chunk of asyncIterator) {\n const rows = parser.write(chunk);\n\n const jsonpath = rows.length > 0 && parser.getStreamingJsonPathAsString();\n\n if (rows.length > 0 && isFirstChunk) {\n if (metadata) {\n const initialBatch: TableBatch = {\n // Common fields\n shape,\n batchType: 'partial-result',\n data: [],\n length: 0,\n bytesUsed: 0,\n // JSON additions\n container: parser.getPartialResult(),\n jsonpath\n };\n yield initialBatch;\n }\n isFirstChunk = false;\n // schema = deduceSchema(rows);\n }\n\n // Add the row\n for (const row of rows) {\n tableBatchBuilder.addRow(row);\n // If a batch has been completed, emit it\n const batch = tableBatchBuilder.getFullBatch({jsonpath});\n if (batch) {\n yield batch;\n }\n }\n\n tableBatchBuilder.chunkComplete(chunk);\n const batch = tableBatchBuilder.getFullBatch({jsonpath});\n if (batch) {\n yield batch;\n }\n }\n\n // yield final batch\n const jsonpath = parser.getStreamingJsonPathAsString();\n const batch = tableBatchBuilder.getFinalBatch({jsonpath});\n if (batch) {\n yield batch;\n }\n\n if (metadata) {\n const finalBatch: TableBatch = {\n shape,\n batchType: 'final-result',\n container: parser.getPartialResult(),\n jsonpath: parser.getStreamingJsonPathAsString(),\n data: [],\n length: 0\n // schema: null\n };\n yield finalBatch;\n }\n}\n\nexport function rebuildJsonObject(batch, data) {\n // Last batch will have this special type and will provide all the root object of the parsed file\n assert(batch.batchType === 'final-result');\n\n // The streamed JSON data is a top level array (jsonpath = '$'), just return the array of row objects\n if (batch.jsonpath === '$') {\n return data;\n }\n\n // (jsonpath !== '$') The streamed data is not a top level array, so stitch it back in to the top-level object\n if (batch.jsonpath && batch.jsonpath.length > 1) {\n const topLevelObject = batch.container;\n const streamingPath = new JSONPath(batch.jsonpath);\n streamingPath.setFieldAtPath(topLevelObject, data);\n return topLevelObject;\n }\n\n // No jsonpath, in this case nothing was streamed.\n return batch.container;\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-ndjson-in-batches.js","names":["TableBatchBuilder","makeLineIterator","makeNumberedLineIterator","makeTextDecoderIterator","parseNDJSONInBatches","binaryAsyncIterator","options","textIterator","lineIterator","numberedLineIterator","schema","shape","tableBatchBuilder","counter","line","row","JSON","parse","addRow","chunkComplete","batch","getFullBatch","error","Error","concat","getFinalBatch"],"sources":["../../../../src/lib/parsers/parse-ndjson-in-batches.ts"],"sourcesContent":["import type {
|
|
1
|
+
{"version":3,"file":"parse-ndjson-in-batches.js","names":["TableBatchBuilder","makeLineIterator","makeNumberedLineIterator","makeTextDecoderIterator","parseNDJSONInBatches","binaryAsyncIterator","options","textIterator","lineIterator","numberedLineIterator","schema","shape","tableBatchBuilder","counter","line","row","JSON","parse","addRow","chunkComplete","batch","getFullBatch","error","Error","concat","getFinalBatch"],"sources":["../../../../src/lib/parsers/parse-ndjson-in-batches.ts"],"sourcesContent":["import type {TableBatch} from '@loaders.gl/schema';\nimport {TableBatchBuilder} from '@loaders.gl/schema';\nimport {\n LoaderOptions,\n makeLineIterator,\n makeNumberedLineIterator,\n makeTextDecoderIterator\n} from '@loaders.gl/loader-utils';\n\nexport async function* parseNDJSONInBatches(\n binaryAsyncIterator: AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>,\n options?: LoaderOptions\n): AsyncIterable<TableBatch> {\n const textIterator = makeTextDecoderIterator(binaryAsyncIterator);\n const lineIterator = makeLineIterator(textIterator);\n const numberedLineIterator = makeNumberedLineIterator(lineIterator);\n\n const schema = null;\n const shape = 'row-table';\n // @ts-ignore\n const tableBatchBuilder = new TableBatchBuilder(schema, {\n ...options,\n shape\n });\n\n for await (const {counter, line} of numberedLineIterator) {\n try {\n const row = JSON.parse(line);\n tableBatchBuilder.addRow(row);\n tableBatchBuilder.chunkComplete(line);\n const batch = tableBatchBuilder.getFullBatch();\n if (batch) {\n yield batch;\n }\n } catch (error) {\n throw new Error(`NDJSONLoader: failed to parse JSON on line ${counter}`);\n }\n }\n\n const batch = tableBatchBuilder.getFinalBatch();\n if (batch) {\n yield batch;\n }\n}\n"],"mappings":"AACA,SAAQA,iBAAiB,QAAO,oBAAoB;AACpD,SAEEC,gBAAgB,EAChBC,wBAAwB,EACxBC,uBAAuB,QAClB,0BAA0B;AAEjC,OAAO,gBAAgBC,oBAAoBA,CACzCC,mBAAuE,EACvEC,OAAuB,EACI;EAC3B,MAAMC,YAAY,GAAGJ,uBAAuB,CAACE,mBAAmB,CAAC;EACjE,MAAMG,YAAY,GAAGP,gBAAgB,CAACM,YAAY,CAAC;EACnD,MAAME,oBAAoB,GAAGP,wBAAwB,CAACM,YAAY,CAAC;EAEnE,MAAME,MAAM,GAAG,IAAI;EACnB,MAAMC,KAAK,GAAG,WAAW;EAEzB,MAAMC,iBAAiB,GAAG,IAAIZ,iBAAiB,CAACU,MAAM,EAAE;IACtD,GAAGJ,OAAO;IACVK;EACF,CAAC,CAAC;EAEF,WAAW,MAAM;IAACE,OAAO;IAAEC;EAAI,CAAC,IAAIL,oBAAoB,EAAE;IACxD,IAAI;MACF,MAAMM,GAAG,GAAGC,IAAI,CAACC,KAAK,CAACH,IAAI,CAAC;MAC5BF,iBAAiB,CAACM,MAAM,CAACH,GAAG,CAAC;MAC7BH,iBAAiB,CAACO,aAAa,CAACL,IAAI,CAAC;MACrC,MAAMM,KAAK,GAAGR,iBAAiB,CAACS,YAAY,CAAC,CAAC;MAC9C,IAAID,KAAK,EAAE;QACT,MAAMA,KAAK;MACb;IACF,CAAC,CAAC,OAAOE,KAAK,EAAE;MACd,MAAM,IAAIC,KAAK,+CAAAC,MAAA,CAA+CX,OAAO,CAAE,CAAC;IAC1E;EACF;EAEA,MAAMO,KAAK,GAAGR,iBAAiB,CAACa,aAAa,CAAC,CAAC;EAC/C,IAAIL,KAAK,EAAE;IACT,MAAMA,KAAK;EACb;AACF"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { parseNDJSONSync } from './lib/parsers/parse-ndjson';
|
|
2
2
|
import { parseNDJSONInBatches } from './lib/parsers/parse-ndjson-in-batches';
|
|
3
|
-
const VERSION = typeof "4.0.0-alpha.
|
|
3
|
+
const VERSION = typeof "4.0.0-alpha.23" !== 'undefined' ? "4.0.0-alpha.23" : 'latest';
|
|
4
4
|
export const NDJSONLoader = {
|
|
5
5
|
name: 'NDJSON',
|
|
6
6
|
id: 'ndjson',
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { parseNDJSONSync } from './lib/parsers/parse-ndjson';
|
|
2
2
|
import { parseNDJSONInBatches } from './lib/parsers/parse-ndjson-in-batches';
|
|
3
|
-
const VERSION = typeof "4.0.0-alpha.
|
|
3
|
+
const VERSION = typeof "4.0.0-alpha.23" !== 'undefined' ? "4.0.0-alpha.23" : 'latest';
|
|
4
4
|
export const NDJSONLoader = {
|
|
5
5
|
name: 'NDJSON',
|
|
6
6
|
id: 'ndjson',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"geojson-loader.d.ts","sourceRoot":"","sources":["../src/geojson-loader.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,MAAM,EAAE,gBAAgB,EAAC,MAAM,0BAA0B,CAAC;AACvE,OAAO,KAAK,EAAC,OAAO,EAAmB,UAAU,EAAC,MAAM,oBAAoB,CAAC;AAC7E,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,eAAe,CAAC;AASrD,MAAM,MAAM,oBAAoB,GAAG,iBAAiB,GAAG;IACrD,OAAO,CAAC,EAAE;QACR,KAAK,CAAC,EAAE,kBAAkB,CAAC;KAC5B,CAAC;IACF,GAAG,CAAC,EAAE;QACJ,MAAM,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;KAC/B,CAAC;CACH,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,OAAO,EAAE,UAAU,EAAE,oBAAoB,
|
|
1
|
+
{"version":3,"file":"geojson-loader.d.ts","sourceRoot":"","sources":["../src/geojson-loader.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,MAAM,EAAE,gBAAgB,EAAC,MAAM,0BAA0B,CAAC;AACvE,OAAO,KAAK,EAAC,OAAO,EAAmB,UAAU,EAAC,MAAM,oBAAoB,CAAC;AAC7E,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,eAAe,CAAC;AASrD,MAAM,MAAM,oBAAoB,GAAG,iBAAiB,GAAG;IACrD,OAAO,CAAC,EAAE;QACR,KAAK,CAAC,EAAE,kBAAkB,CAAC;KAC5B,CAAC;IACF,GAAG,CAAC,EAAE;QACJ,MAAM,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;KAC/B,CAAC;CACH,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,OAAO,EAAE,UAAU,EAAE,oBAAoB,CAsBjF,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,oBAAoB,CAOrF,CAAC"}
|
package/dist/geojson-loader.js
CHANGED
package/dist/geojson-worker.js
CHANGED
|
@@ -2376,7 +2376,7 @@ Char: ${this.c}`;
|
|
|
2376
2376
|
const { jsonpaths } = options.json || {};
|
|
2377
2377
|
let isFirstChunk = true;
|
|
2378
2378
|
const schema = null;
|
|
2379
|
-
const shape = options?.json?.shape || "row-table";
|
|
2379
|
+
const shape = options?.json?.shape || "object-row-table";
|
|
2380
2380
|
const tableBatchBuilder = new TableBatchBuilder(schema, {
|
|
2381
2381
|
...options,
|
|
2382
2382
|
shape
|
|
@@ -2432,7 +2432,7 @@ Char: ${this.c}`;
|
|
|
2432
2432
|
}
|
|
2433
2433
|
|
|
2434
2434
|
// src/geojson-loader.ts
|
|
2435
|
-
var VERSION = true ? "4.0.0-alpha.
|
|
2435
|
+
var VERSION = true ? "4.0.0-alpha.23" : "latest";
|
|
2436
2436
|
var GeoJSONWorkerLoader = {
|
|
2437
2437
|
name: "GeoJSON",
|
|
2438
2438
|
id: "geojson",
|
|
@@ -2448,6 +2448,7 @@ Char: ${this.c}`;
|
|
|
2448
2448
|
shape: "object-row-table"
|
|
2449
2449
|
},
|
|
2450
2450
|
json: {
|
|
2451
|
+
shape: "object-row-table",
|
|
2451
2452
|
jsonpaths: ["$", "$.features"]
|
|
2452
2453
|
},
|
|
2453
2454
|
gis: {
|
package/dist/json-loader.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { Table, TableBatch } from '@loaders.gl/schema';
|
|
2
2
|
import type { LoaderWithParser, LoaderOptions } from '@loaders.gl/loader-utils';
|
|
3
3
|
type ParseJSONOptions = {
|
|
4
|
-
shape
|
|
4
|
+
shape: 'object-row-table';
|
|
5
5
|
table?: boolean;
|
|
6
6
|
jsonpaths?: string[];
|
|
7
7
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json-loader.d.ts","sourceRoot":"","sources":["../src/json-loader.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,KAAK,EAAE,UAAU,EAAC,MAAM,oBAAoB,CAAC;AAC1D,OAAO,KAAK,EAAC,gBAAgB,EAAE,aAAa,EAAC,MAAM,0BAA0B,CAAC;AAQ9E,KAAK,gBAAgB,GAAG;IACtB,KAAK,
|
|
1
|
+
{"version":3,"file":"json-loader.d.ts","sourceRoot":"","sources":["../src/json-loader.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,KAAK,EAAE,UAAU,EAAC,MAAM,oBAAoB,CAAC;AAC1D,OAAO,KAAK,EAAC,gBAAgB,EAAE,aAAa,EAAC,MAAM,0BAA0B,CAAC;AAQ9E,KAAK,gBAAgB,GAAG;IACtB,KAAK,EAAE,kBAAkB,CAAC;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG,aAAa,GAAG;IAC9C,IAAI,CAAC,EAAE,gBAAgB,CAAC;CACzB,CAAC;AAWF,eAAO,MAAM,UAAU,EAAE,gBAAgB,CAAC,KAAK,EAAE,UAAU,EAAE,iBAAiB,CAa7E,CAAC"}
|
package/dist/json-loader.js
CHANGED
|
@@ -9,7 +9,7 @@ const parse_json_in_batches_1 = require("./lib/parsers/parse-json-in-batches");
|
|
|
9
9
|
const VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';
|
|
10
10
|
const DEFAULT_JSON_LOADER_OPTIONS = {
|
|
11
11
|
json: {
|
|
12
|
-
shape: 'row-table',
|
|
12
|
+
shape: 'object-row-table',
|
|
13
13
|
table: false,
|
|
14
14
|
jsonpaths: []
|
|
15
15
|
// batchSize: 'auto'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-json-in-batches.d.ts","sourceRoot":"","sources":["../../../src/lib/parsers/parse-json-in-batches.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,mBAAmB,CAAC;AAQzD,wBAAuB,kBAAkB,CACvC,mBAAmB,EAAE,aAAa,CAAC,WAAW,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC,EACvE,OAAO,EAAE,iBAAiB,GACzB,aAAa,CAAC,UAAU,CAAC,
|
|
1
|
+
{"version":3,"file":"parse-json-in-batches.d.ts","sourceRoot":"","sources":["../../../src/lib/parsers/parse-json-in-batches.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,mBAAmB,CAAC;AAQzD,wBAAuB,kBAAkB,CACvC,mBAAmB,EAAE,aAAa,CAAC,WAAW,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC,EACvE,OAAO,EAAE,iBAAiB,GACzB,aAAa,CAAC,UAAU,CAAC,CAgF3B;AAED,wBAAgB,iBAAiB,CAAC,KAAK,KAAA,EAAE,IAAI,KAAA,OAmB5C"}
|
|
@@ -17,7 +17,8 @@ async function* parseJSONInBatches(binaryAsyncIterator, options) {
|
|
|
17
17
|
let isFirstChunk = true;
|
|
18
18
|
// TODO fix Schema deduction
|
|
19
19
|
const schema = null; // new Schema([]);
|
|
20
|
-
|
|
20
|
+
// TODO - detect shape from data?
|
|
21
|
+
const shape = options?.json?.shape || 'object-row-table';
|
|
21
22
|
// @ts-ignore
|
|
22
23
|
const tableBatchBuilder = new schema_1.TableBatchBuilder(schema, {
|
|
23
24
|
...options,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { TableBatch } from '@loaders.gl/schema';
|
|
2
2
|
import { LoaderOptions } from '@loaders.gl/loader-utils';
|
|
3
|
-
export declare function parseNDJSONInBatches(binaryAsyncIterator: AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>, options?: LoaderOptions): AsyncIterable<
|
|
3
|
+
export declare function parseNDJSONInBatches(binaryAsyncIterator: AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>, options?: LoaderOptions): AsyncIterable<TableBatch>;
|
|
4
4
|
//# sourceMappingURL=parse-ndjson-in-batches.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-ndjson-in-batches.d.ts","sourceRoot":"","sources":["../../../src/lib/parsers/parse-ndjson-in-batches.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,
|
|
1
|
+
{"version":3,"file":"parse-ndjson-in-batches.d.ts","sourceRoot":"","sources":["../../../src/lib/parsers/parse-ndjson-in-batches.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,oBAAoB,CAAC;AAEnD,OAAO,EACL,aAAa,EAId,MAAM,0BAA0B,CAAC;AAElC,wBAAuB,oBAAoB,CACzC,mBAAmB,EAAE,aAAa,CAAC,WAAW,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC,EACvE,OAAO,CAAC,EAAE,aAAa,GACtB,aAAa,CAAC,UAAU,CAAC,CA+B3B"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@loaders.gl/json",
|
|
3
|
-
"version": "4.0.0-alpha.
|
|
3
|
+
"version": "4.0.0-alpha.23",
|
|
4
4
|
"description": "Framework-independent loader for JSON and streaming JSON formats",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"publishConfig": {
|
|
@@ -35,9 +35,9 @@
|
|
|
35
35
|
"build-worker": "esbuild src/workers/geojson-worker.ts --bundle --outfile=dist/geojson-worker.js --define:__VERSION__=\\\"$npm_package_version\\\""
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
|
-
"@loaders.gl/gis": "4.0.0-alpha.
|
|
39
|
-
"@loaders.gl/loader-utils": "4.0.0-alpha.
|
|
40
|
-
"@loaders.gl/schema": "4.0.0-alpha.
|
|
38
|
+
"@loaders.gl/gis": "4.0.0-alpha.23",
|
|
39
|
+
"@loaders.gl/loader-utils": "4.0.0-alpha.23",
|
|
40
|
+
"@loaders.gl/schema": "4.0.0-alpha.23"
|
|
41
41
|
},
|
|
42
|
-
"gitHead": "
|
|
42
|
+
"gitHead": "e212f2a0c0e342f7cb65ce84fa2ff39f64b7d94b"
|
|
43
43
|
}
|
package/src/geojson-loader.ts
CHANGED
package/src/json-loader.ts
CHANGED
|
@@ -10,7 +10,7 @@ import {parseJSONInBatches} from './lib/parsers/parse-json-in-batches';
|
|
|
10
10
|
const VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';
|
|
11
11
|
|
|
12
12
|
type ParseJSONOptions = {
|
|
13
|
-
shape
|
|
13
|
+
shape: 'object-row-table'; // TODO - 'auto'?
|
|
14
14
|
table?: boolean;
|
|
15
15
|
jsonpaths?: string[];
|
|
16
16
|
};
|
|
@@ -25,7 +25,7 @@ export type JSONLoaderOptions = LoaderOptions & {
|
|
|
25
25
|
|
|
26
26
|
const DEFAULT_JSON_LOADER_OPTIONS: {json: Required<ParseJSONOptions>} = {
|
|
27
27
|
json: {
|
|
28
|
-
shape: 'row-table',
|
|
28
|
+
shape: 'object-row-table',
|
|
29
29
|
table: false,
|
|
30
30
|
jsonpaths: []
|
|
31
31
|
// batchSize: 'auto'
|
|
@@ -20,7 +20,8 @@ export async function* parseJSONInBatches(
|
|
|
20
20
|
|
|
21
21
|
// TODO fix Schema deduction
|
|
22
22
|
const schema = null; // new Schema([]);
|
|
23
|
-
|
|
23
|
+
// TODO - detect shape from data?
|
|
24
|
+
const shape = options?.json?.shape || 'object-row-table';
|
|
24
25
|
// @ts-ignore
|
|
25
26
|
const tableBatchBuilder = new TableBatchBuilder(schema, {
|
|
26
27
|
...options,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type {TableBatch} from '@loaders.gl/schema';
|
|
2
2
|
import {TableBatchBuilder} from '@loaders.gl/schema';
|
|
3
3
|
import {
|
|
4
4
|
LoaderOptions,
|
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
export async function* parseNDJSONInBatches(
|
|
11
11
|
binaryAsyncIterator: AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>,
|
|
12
12
|
options?: LoaderOptions
|
|
13
|
-
): AsyncIterable<
|
|
13
|
+
): AsyncIterable<TableBatch> {
|
|
14
14
|
const textIterator = makeTextDecoderIterator(binaryAsyncIterator);
|
|
15
15
|
const lineIterator = makeLineIterator(textIterator);
|
|
16
16
|
const numberedLineIterator = makeNumberedLineIterator(lineIterator);
|