@loaders.gl/json 3.3.0-alpha.5 → 3.3.0-alpha.6
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 +16 -10
- package/dist/es5/bundle.js +0 -1
- package/dist/es5/bundle.js.map +1 -1
- package/dist/es5/geojson-loader.js +34 -82
- package/dist/es5/geojson-loader.js.map +1 -1
- package/dist/es5/index.js +6 -13
- package/dist/es5/index.js.map +1 -1
- package/dist/es5/json-loader.js +4 -18
- package/dist/es5/json-loader.js.map +1 -1
- package/dist/es5/lib/clarinet/clarinet.js +19 -91
- package/dist/es5/lib/clarinet/clarinet.js.map +1 -1
- package/dist/es5/lib/jsonpath/jsonpath.js +8 -28
- package/dist/es5/lib/jsonpath/jsonpath.js.map +1 -1
- package/dist/es5/lib/parse-json-in-batches.js +59 -126
- package/dist/es5/lib/parse-json-in-batches.js.map +1 -1
- package/dist/es5/lib/parse-json.js +0 -10
- package/dist/es5/lib/parse-json.js.map +1 -1
- package/dist/es5/lib/parse-ndjson-in-batches.js +41 -83
- package/dist/es5/lib/parse-ndjson-in-batches.js.map +1 -1
- package/dist/es5/lib/parse-ndjson.js +0 -1
- package/dist/es5/lib/parse-ndjson.js.map +1 -1
- package/dist/es5/lib/parser/json-parser.js +8 -24
- package/dist/es5/lib/parser/json-parser.js.map +1 -1
- package/dist/es5/lib/parser/streaming-json-parser.js +10 -37
- package/dist/es5/lib/parser/streaming-json-parser.js.map +1 -1
- package/dist/es5/ndjgeoson-loader.js +3 -11
- package/dist/es5/ndjgeoson-loader.js.map +1 -1
- package/dist/es5/ndjson-loader.js +3 -11
- package/dist/es5/ndjson-loader.js.map +1 -1
- package/dist/es5/workers/geojson-worker.js +0 -2
- package/dist/es5/workers/geojson-worker.js.map +1 -1
- package/dist/esm/bundle.js +1 -1
- package/dist/esm/bundle.js.map +1 -1
- package/dist/esm/geojson-loader.js +13 -14
- package/dist/esm/geojson-loader.js.map +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/json-loader.js +12 -8
- package/dist/esm/json-loader.js.map +1 -1
- package/dist/esm/lib/clarinet/clarinet.js +19 -108
- package/dist/esm/lib/clarinet/clarinet.js.map +1 -1
- package/dist/esm/lib/jsonpath/jsonpath.js +2 -18
- package/dist/esm/lib/jsonpath/jsonpath.js.map +1 -1
- package/dist/esm/lib/parse-json-in-batches.js +5 -10
- package/dist/esm/lib/parse-json-in-batches.js.map +1 -1
- package/dist/esm/lib/parse-json.js +0 -7
- package/dist/esm/lib/parse-json.js.map +1 -1
- package/dist/esm/lib/parse-ndjson-in-batches.js +2 -5
- package/dist/esm/lib/parse-ndjson-in-batches.js.map +1 -1
- package/dist/esm/lib/parse-ndjson.js.map +1 -1
- package/dist/esm/lib/parser/json-parser.js +6 -21
- package/dist/esm/lib/parser/json-parser.js.map +1 -1
- package/dist/esm/lib/parser/streaming-json-parser.js +3 -19
- package/dist/esm/lib/parser/streaming-json-parser.js.map +1 -1
- package/dist/esm/ndjgeoson-loader.js +4 -2
- package/dist/esm/ndjgeoson-loader.js.map +1 -1
- package/dist/esm/ndjson-loader.js +4 -2
- package/dist/esm/ndjson-loader.js.map +1 -1
- package/dist/esm/workers/geojson-worker.js.map +1 -1
- package/dist/geojson-worker.js +10 -11
- package/package.json +5 -5
|
@@ -1,38 +1,26 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.default = parseNDJSONInBatches;
|
|
9
|
-
|
|
10
8
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
|
-
|
|
12
9
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
13
|
-
|
|
14
10
|
var _awaitAsyncGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/awaitAsyncGenerator"));
|
|
15
|
-
|
|
16
11
|
var _wrapAsyncGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapAsyncGenerator"));
|
|
17
|
-
|
|
18
|
-
var _asyncIterator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncIterator"));
|
|
19
|
-
|
|
20
12
|
var _schema = require("@loaders.gl/schema");
|
|
21
|
-
|
|
22
13
|
var _loaderUtils = require("@loaders.gl/loader-utils");
|
|
23
|
-
|
|
24
|
-
function
|
|
25
|
-
|
|
26
|
-
function
|
|
27
|
-
|
|
14
|
+
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; }
|
|
15
|
+
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; }
|
|
16
|
+
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"); }
|
|
17
|
+
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); }
|
|
28
18
|
function parseNDJSONInBatches(_x, _x2) {
|
|
29
19
|
return _parseNDJSONInBatches.apply(this, arguments);
|
|
30
20
|
}
|
|
31
|
-
|
|
32
21
|
function _parseNDJSONInBatches() {
|
|
33
22
|
_parseNDJSONInBatches = (0, _wrapAsyncGenerator2.default)(_regenerator.default.mark(function _callee(binaryAsyncIterator, options) {
|
|
34
|
-
var textIterator, lineIterator, numberedLineIterator, schema, shape, tableBatchBuilder,
|
|
35
|
-
|
|
23
|
+
var textIterator, lineIterator, numberedLineIterator, schema, shape, tableBatchBuilder, _iteratorAbruptCompletion, _didIteratorError, _iteratorError, _iterator, _step, _step$value, counter, line, row, _batch, batch;
|
|
36
24
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
37
25
|
while (1) {
|
|
38
26
|
switch (_context.prev = _context.next) {
|
|
@@ -45,113 +33,83 @@ function _parseNDJSONInBatches() {
|
|
|
45
33
|
tableBatchBuilder = new _schema.TableBatchBuilder(schema, _objectSpread(_objectSpread({}, options), {}, {
|
|
46
34
|
shape: shape
|
|
47
35
|
}));
|
|
48
|
-
|
|
36
|
+
_iteratorAbruptCompletion = false;
|
|
49
37
|
_didIteratorError = false;
|
|
50
38
|
_context.prev = 8;
|
|
51
|
-
_iterator = (
|
|
52
|
-
|
|
39
|
+
_iterator = _asyncIterator(numberedLineIterator);
|
|
53
40
|
case 10:
|
|
54
41
|
_context.next = 12;
|
|
55
42
|
return (0, _awaitAsyncGenerator2.default)(_iterator.next());
|
|
56
|
-
|
|
57
43
|
case 12:
|
|
58
|
-
_step = _context.sent
|
|
59
|
-
|
|
60
|
-
_context.next = 16;
|
|
61
|
-
return (0, _awaitAsyncGenerator2.default)(_step.value);
|
|
62
|
-
|
|
63
|
-
case 16:
|
|
64
|
-
_value = _context.sent;
|
|
65
|
-
|
|
66
|
-
if (_iteratorNormalCompletion) {
|
|
67
|
-
_context.next = 35;
|
|
44
|
+
if (!(_iteratorAbruptCompletion = !(_step = _context.sent).done)) {
|
|
45
|
+
_context.next = 30;
|
|
68
46
|
break;
|
|
69
47
|
}
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
_context.prev = 19;
|
|
48
|
+
_step$value = _step.value, counter = _step$value.counter, line = _step$value.line;
|
|
49
|
+
_context.prev = 14;
|
|
73
50
|
row = JSON.parse(line);
|
|
74
51
|
tableBatchBuilder.addRow(row);
|
|
75
52
|
tableBatchBuilder.chunkComplete(line);
|
|
76
53
|
_batch = tableBatchBuilder.getFullBatch();
|
|
77
|
-
|
|
78
54
|
if (!_batch) {
|
|
79
|
-
_context.next =
|
|
55
|
+
_context.next = 22;
|
|
80
56
|
break;
|
|
81
57
|
}
|
|
82
|
-
|
|
83
|
-
_context.next = 27;
|
|
58
|
+
_context.next = 22;
|
|
84
59
|
return _batch;
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
_context.next = 32;
|
|
60
|
+
case 22:
|
|
61
|
+
_context.next = 27;
|
|
88
62
|
break;
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
_context.
|
|
92
|
-
_context.t0 = _context["catch"](19);
|
|
63
|
+
case 24:
|
|
64
|
+
_context.prev = 24;
|
|
65
|
+
_context.t0 = _context["catch"](14);
|
|
93
66
|
throw new Error("NDJSONLoader: failed to parse JSON on line ".concat(counter));
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
_iteratorNormalCompletion = true;
|
|
67
|
+
case 27:
|
|
68
|
+
_iteratorAbruptCompletion = false;
|
|
97
69
|
_context.next = 10;
|
|
98
70
|
break;
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
_context.next = 41;
|
|
71
|
+
case 30:
|
|
72
|
+
_context.next = 36;
|
|
102
73
|
break;
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
_context.prev = 37;
|
|
74
|
+
case 32:
|
|
75
|
+
_context.prev = 32;
|
|
106
76
|
_context.t1 = _context["catch"](8);
|
|
107
77
|
_didIteratorError = true;
|
|
108
78
|
_iteratorError = _context.t1;
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
_context.prev =
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
if (!(!_iteratorNormalCompletion && _iterator.return != null)) {
|
|
115
|
-
_context.next = 46;
|
|
79
|
+
case 36:
|
|
80
|
+
_context.prev = 36;
|
|
81
|
+
_context.prev = 37;
|
|
82
|
+
if (!(_iteratorAbruptCompletion && _iterator.return != null)) {
|
|
83
|
+
_context.next = 41;
|
|
116
84
|
break;
|
|
117
85
|
}
|
|
118
|
-
|
|
119
|
-
_context.next = 46;
|
|
86
|
+
_context.next = 41;
|
|
120
87
|
return (0, _awaitAsyncGenerator2.default)(_iterator.return());
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
_context.prev = 46;
|
|
124
|
-
|
|
88
|
+
case 41:
|
|
89
|
+
_context.prev = 41;
|
|
125
90
|
if (!_didIteratorError) {
|
|
126
|
-
_context.next =
|
|
91
|
+
_context.next = 44;
|
|
127
92
|
break;
|
|
128
93
|
}
|
|
129
|
-
|
|
130
94
|
throw _iteratorError;
|
|
131
|
-
|
|
132
|
-
case 49:
|
|
133
|
-
return _context.finish(46);
|
|
134
|
-
|
|
135
|
-
case 50:
|
|
95
|
+
case 44:
|
|
136
96
|
return _context.finish(41);
|
|
137
|
-
|
|
138
|
-
|
|
97
|
+
case 45:
|
|
98
|
+
return _context.finish(36);
|
|
99
|
+
case 46:
|
|
139
100
|
batch = tableBatchBuilder.getFinalBatch();
|
|
140
|
-
|
|
141
101
|
if (!batch) {
|
|
142
|
-
_context.next =
|
|
102
|
+
_context.next = 50;
|
|
143
103
|
break;
|
|
144
104
|
}
|
|
145
|
-
|
|
146
|
-
_context.next = 55;
|
|
105
|
+
_context.next = 50;
|
|
147
106
|
return batch;
|
|
148
|
-
|
|
149
|
-
case 55:
|
|
107
|
+
case 50:
|
|
150
108
|
case "end":
|
|
151
109
|
return _context.stop();
|
|
152
110
|
}
|
|
153
111
|
}
|
|
154
|
-
}, _callee, null, [[8,
|
|
112
|
+
}, _callee, null, [[8, 32, 36, 46], [14, 24], [37,, 41, 45]]);
|
|
155
113
|
}));
|
|
156
114
|
return _parseNDJSONInBatches.apply(this, arguments);
|
|
157
115
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"parse-ndjson-in-batches.js","names":["parseNDJSONInBatches","binaryAsyncIterator","options","textIterator","makeTextDecoderIterator","lineIterator","makeLineIterator","numberedLineIterator","makeNumberedLineIterator","schema","shape","tableBatchBuilder","TableBatchBuilder","counter","line","row","JSON","parse","addRow","chunkComplete","batch","getFullBatch","Error","getFinalBatch"],"sources":["../../../src/lib/parse-ndjson-in-batches.ts"],"sourcesContent":["import type {Batch} 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 default async function* parseNDJSONInBatches(\n binaryAsyncIterator: AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>,\n options?: LoaderOptions\n): AsyncIterable<Batch> {\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;AACA;AAKkC;AAAA;AAAA;AAAA;AAAA,SAEHA,oBAAoB;EAAA;AAAA;AAAA;EAAA,oFAApC,iBACbC,mBAAuE,EACvEC,OAAuB;IAAA;IAAA;MAAA;QAAA;UAAA;YAEjBC,YAAY,GAAG,IAAAC,oCAAuB,EAACH,mBAAmB,CAAC;YAC3DI,YAAY,GAAG,IAAAC,6BAAgB,EAACH,YAAY,CAAC;YAC7CI,oBAAoB,GAAG,IAAAC,qCAAwB,EAACH,YAAY,CAAC;YAE7DI,MAAM,GAAG,IAAI;YACbC,KAAK,GAAG,WAAW;YAEnBC,iBAAiB,GAAG,IAAIC,yBAAiB,CAACH,MAAM,kCACjDP,OAAO;cACVQ,KAAK,EAALA;YAAK,GACL;YAAA;YAAA;YAAA;YAAA,2BAEkCH,oBAAoB;UAAA;YAAA;YAAA;UAAA;YAAA;cAAA;cAAA;YAAA;YAAA,2BAAtCM,OAAO,eAAPA,OAAO,EAAEC,IAAI,eAAJA,IAAI;YAAA;YAErBC,GAAG,GAAGC,IAAI,CAACC,KAAK,CAACH,IAAI,CAAC;YAC5BH,iBAAiB,CAACO,MAAM,CAACH,GAAG,CAAC;YAC7BJ,iBAAiB,CAACQ,aAAa,CAACL,IAAI,CAAC;YAC/BM,MAAK,GAAGT,iBAAiB,CAACU,YAAY,EAAE;YAAA,KAC1CD,MAAK;cAAA;cAAA;YAAA;YAAA;YACP,OAAMA,MAAK;UAAA;YAAA;YAAA;UAAA;YAAA;YAAA;YAAA,MAGP,IAAIE,KAAK,sDAA+CT,OAAO,EAAG;UAAA;YAAA;YAAA;YAAA;UAAA;YAAA;YAAA;UAAA;YAAA;YAAA;YAAA;YAAA;UAAA;YAAA;YAAA;YAAA;cAAA;cAAA;YAAA;YAAA;YAAA;UAAA;YAAA;YAAA;cAAA;cAAA;YAAA;YAAA;UAAA;YAAA;UAAA;YAAA;UAAA;YAItEO,KAAK,GAAGT,iBAAiB,CAACY,aAAa,EAAE;YAAA,KAC3CH,KAAK;cAAA;cAAA;YAAA;YAAA;YACP,OAAMA,KAAK;UAAA;UAAA;YAAA;QAAA;MAAA;IAAA;EAAA,CAEd;EAAA;AAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"parse-ndjson.js","names":["parseNDJSONSync","ndjsonText","lines","trim","split","map","line","counter","JSON","parse","error","Error"],"sources":["../../../src/lib/parse-ndjson.ts"],"sourcesContent":["export default function parseNDJSONSync(ndjsonText: string) {\n const lines = ndjsonText.trim().split('\\n');\n return lines.map((line, counter) => {\n try {\n return JSON.parse(line);\n } catch (error) {\n throw new Error(`NDJSONLoader: failed to parse JSON on line ${counter + 1}`);\n }\n });\n}\n"],"mappings":";;;;;;AAAe,SAASA,eAAe,CAACC,UAAkB,EAAE;EAC1D,IAAMC,KAAK,GAAGD,UAAU,CAACE,IAAI,EAAE,CAACC,KAAK,CAAC,IAAI,CAAC;EAC3C,OAAOF,KAAK,CAACG,GAAG,CAAC,UAACC,IAAI,EAAEC,OAAO,EAAK;IAClC,IAAI;MACF,OAAOC,IAAI,CAACC,KAAK,CAACH,IAAI,CAAC;IACzB,CAAC,CAAC,OAAOI,KAAK,EAAE;MACd,MAAM,IAAIC,KAAK,sDAA+CJ,OAAO,GAAG,CAAC,EAAG;IAC9E;EACF,CAAC,CAAC;AACJ"}
|
|
@@ -1,30 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.default = void 0;
|
|
9
|
-
|
|
10
8
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
-
|
|
12
9
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
-
|
|
14
10
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
15
|
-
|
|
16
11
|
var _clarinet = _interopRequireDefault(require("../clarinet/clarinet"));
|
|
17
|
-
|
|
18
12
|
var _jsonpath = _interopRequireDefault(require("../jsonpath/jsonpath"));
|
|
19
|
-
|
|
20
|
-
function
|
|
21
|
-
|
|
22
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
23
|
-
|
|
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
|
+
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; }
|
|
24
15
|
var JSONParser = function () {
|
|
25
16
|
function JSONParser(options) {
|
|
26
17
|
var _this = this;
|
|
27
|
-
|
|
28
18
|
(0, _classCallCheck2.default)(this, JSONParser);
|
|
29
19
|
(0, _defineProperty2.default)(this, "parser", void 0);
|
|
30
20
|
(0, _defineProperty2.default)(this, "result", undefined);
|
|
@@ -43,14 +33,12 @@ var JSONParser = function () {
|
|
|
43
33
|
},
|
|
44
34
|
onopenobject: function onopenobject(name) {
|
|
45
35
|
_this._openObject({});
|
|
46
|
-
|
|
47
36
|
if (typeof name !== 'undefined') {
|
|
48
37
|
_this.parser.emit('onkey', name);
|
|
49
38
|
}
|
|
50
39
|
},
|
|
51
40
|
onkey: function onkey(name) {
|
|
52
41
|
_this.jsonpath.set(name);
|
|
53
|
-
|
|
54
42
|
_this.currentState.key = name;
|
|
55
43
|
},
|
|
56
44
|
oncloseobject: function oncloseobject() {
|
|
@@ -73,7 +61,6 @@ var JSONParser = function () {
|
|
|
73
61
|
}
|
|
74
62
|
}, options));
|
|
75
63
|
}
|
|
76
|
-
|
|
77
64
|
(0, _createClass2.default)(JSONParser, [{
|
|
78
65
|
key: "reset",
|
|
79
66
|
value: function reset() {
|
|
@@ -95,13 +82,15 @@ var JSONParser = function () {
|
|
|
95
82
|
value: function close() {
|
|
96
83
|
this.parser.close();
|
|
97
84
|
}
|
|
85
|
+
|
|
98
86
|
}, {
|
|
99
87
|
key: "_pushOrSet",
|
|
100
|
-
value:
|
|
101
|
-
var _this$currentState = this.currentState,
|
|
102
|
-
container = _this$currentState.container,
|
|
103
|
-
key = _this$currentState.key;
|
|
88
|
+
value:
|
|
104
89
|
|
|
90
|
+
function _pushOrSet(value) {
|
|
91
|
+
var _this$currentState = this.currentState,
|
|
92
|
+
container = _this$currentState.container,
|
|
93
|
+
key = _this$currentState.key;
|
|
105
94
|
if (key !== null) {
|
|
106
95
|
container[key] = value;
|
|
107
96
|
this.currentState.key = null;
|
|
@@ -114,9 +103,7 @@ var JSONParser = function () {
|
|
|
114
103
|
value: function _openArray() {
|
|
115
104
|
var newContainer = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
116
105
|
this.jsonpath.push(null);
|
|
117
|
-
|
|
118
106
|
this._pushOrSet(newContainer);
|
|
119
|
-
|
|
120
107
|
this.previousStates.push(this.currentState);
|
|
121
108
|
this.currentState = {
|
|
122
109
|
container: newContainer,
|
|
@@ -135,9 +122,7 @@ var JSONParser = function () {
|
|
|
135
122
|
value: function _openObject() {
|
|
136
123
|
var newContainer = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
137
124
|
this.jsonpath.push(null);
|
|
138
|
-
|
|
139
125
|
this._pushOrSet(newContainer);
|
|
140
|
-
|
|
141
126
|
this.previousStates.push(this.currentState);
|
|
142
127
|
this.currentState = {
|
|
143
128
|
container: newContainer,
|
|
@@ -154,6 +139,5 @@ var JSONParser = function () {
|
|
|
154
139
|
}]);
|
|
155
140
|
return JSONParser;
|
|
156
141
|
}();
|
|
157
|
-
|
|
158
142
|
exports.default = JSONParser;
|
|
159
143
|
//# sourceMappingURL=json-parser.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"json-parser.js","names":["JSONParser","options","undefined","Object","freeze","container","key","JSONPath","reset","parser","ClarinetParser","onready","jsonpath","previousStates","length","currentState","onopenobject","name","_openObject","emit","onkey","set","oncloseobject","_closeObject","onopenarray","_openArray","onclosearray","_closeArray","onvalue","value","_pushOrSet","onerror","error","onend","result","pop","chunk","write","close","push","newContainer","isArray"],"sources":["../../../../src/lib/parser/json-parser.ts"],"sourcesContent":["// @ts-nocheck\n\nimport ClarinetParser, {ClarinetParserOptions} from '../clarinet/clarinet';\nimport JSONPath from '../jsonpath/jsonpath';\n\n// JSONParser builds a JSON object using the events emitted by the Clarinet parser\n\nexport default class JSONParser {\n readonly parser: ClarinetParser;\n result = undefined;\n previousStates = [];\n currentState = Object.freeze({container: [], key: null});\n jsonpath: JSONPath = new JSONPath();\n\n constructor(options: ClarinetParserOptions) {\n this.reset();\n this.parser = new ClarinetParser({\n onready: () => {\n this.jsonpath = new JSONPath();\n this.previousStates.length = 0;\n this.currentState.container.length = 0;\n },\n\n onopenobject: (name) => {\n this._openObject({});\n if (typeof name !== 'undefined') {\n this.parser.emit('onkey', name);\n }\n },\n\n onkey: (name) => {\n this.jsonpath.set(name);\n this.currentState.key = name;\n },\n\n oncloseobject: () => {\n this._closeObject();\n },\n\n onopenarray: () => {\n this._openArray();\n },\n\n onclosearray: () => {\n this._closeArray();\n },\n\n onvalue: (value) => {\n this._pushOrSet(value);\n },\n\n onerror: (error) => {\n throw error;\n },\n\n onend: () => {\n this.result = this.currentState.container.pop();\n },\n\n ...options\n });\n }\n\n reset(): void {\n this.result = undefined;\n this.previousStates = [];\n this.currentState = Object.freeze({container: [], key: null});\n this.jsonpath = new JSONPath();\n }\n\n write(chunk): void {\n this.parser.write(chunk);\n }\n\n close(): void {\n this.parser.close();\n }\n\n // PRIVATE METHODS\n\n _pushOrSet(value): void {\n const {container, key} = this.currentState;\n if (key !== null) {\n container[key] = value;\n this.currentState.key = null;\n } else {\n container.push(value);\n }\n }\n\n _openArray(newContainer = []): void {\n this.jsonpath.push(null);\n this._pushOrSet(newContainer);\n this.previousStates.push(this.currentState);\n this.currentState = {container: newContainer, isArray: true, key: null};\n }\n\n _closeArray(): void {\n this.jsonpath.pop();\n this.currentState = this.previousStates.pop();\n }\n\n _openObject(newContainer = {}): void {\n this.jsonpath.push(null);\n this._pushOrSet(newContainer);\n this.previousStates.push(this.currentState);\n this.currentState = {container: newContainer, isArray: false, key: null};\n }\n\n _closeObject(): void {\n this.jsonpath.pop();\n this.currentState = this.previousStates.pop();\n }\n}\n"],"mappings":"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"}
|
|
@@ -1,52 +1,31 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.default = void 0;
|
|
9
|
-
|
|
10
8
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
11
|
-
|
|
12
9
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
13
|
-
|
|
14
10
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
15
|
-
|
|
16
11
|
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
17
|
-
|
|
18
12
|
var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
|
|
19
|
-
|
|
20
13
|
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
21
|
-
|
|
22
14
|
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
23
|
-
|
|
24
15
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
25
|
-
|
|
26
16
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
27
|
-
|
|
28
17
|
var _jsonParser = _interopRequireDefault(require("./json-parser"));
|
|
29
|
-
|
|
30
18
|
var _jsonpath = _interopRequireDefault(require("../jsonpath/jsonpath"));
|
|
31
|
-
|
|
32
19
|
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
|
33
|
-
|
|
34
20
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
35
|
-
|
|
36
21
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
37
|
-
|
|
38
22
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
|
|
39
|
-
|
|
40
23
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
41
|
-
|
|
42
24
|
var StreamingJSONParser = function (_JSONParser) {
|
|
43
25
|
(0, _inherits2.default)(StreamingJSONParser, _JSONParser);
|
|
44
|
-
|
|
45
26
|
var _super = _createSuper(StreamingJSONParser);
|
|
46
|
-
|
|
47
27
|
function StreamingJSONParser() {
|
|
48
28
|
var _this;
|
|
49
|
-
|
|
50
29
|
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
51
30
|
(0, _classCallCheck2.default)(this, StreamingJSONParser);
|
|
52
31
|
_this = _super.call(this, {
|
|
@@ -55,24 +34,19 @@ var StreamingJSONParser = function (_JSONParser) {
|
|
|
55
34
|
if (_this._matchJSONPath()) {
|
|
56
35
|
_this.streamingJsonPath = _this.getJsonPath().clone();
|
|
57
36
|
_this.streamingArray = [];
|
|
58
|
-
|
|
59
37
|
_this._openArray(_this.streamingArray);
|
|
60
|
-
|
|
61
38
|
return;
|
|
62
39
|
}
|
|
63
40
|
}
|
|
64
|
-
|
|
65
41
|
_this._openArray();
|
|
66
42
|
},
|
|
67
43
|
onopenobject: function onopenobject(name) {
|
|
68
44
|
if (!_this.topLevelObject) {
|
|
69
45
|
_this.topLevelObject = {};
|
|
70
|
-
|
|
71
46
|
_this._openObject(_this.topLevelObject);
|
|
72
47
|
} else {
|
|
73
48
|
_this._openObject({});
|
|
74
49
|
}
|
|
75
|
-
|
|
76
50
|
if (typeof name !== 'undefined') {
|
|
77
51
|
_this.parser.emit('onkey', name);
|
|
78
52
|
}
|
|
@@ -91,20 +65,21 @@ var StreamingJSONParser = function (_JSONParser) {
|
|
|
91
65
|
|
|
92
66
|
(0, _createClass2.default)(StreamingJSONParser, [{
|
|
93
67
|
key: "write",
|
|
94
|
-
value:
|
|
68
|
+
value:
|
|
69
|
+
function write(chunk) {
|
|
95
70
|
(0, _get2.default)((0, _getPrototypeOf2.default)(StreamingJSONParser.prototype), "write", this).call(this, chunk);
|
|
96
71
|
var array = [];
|
|
97
|
-
|
|
98
72
|
if (this.streamingArray) {
|
|
99
73
|
array = (0, _toConsumableArray2.default)(this.streamingArray);
|
|
100
74
|
this.streamingArray.length = 0;
|
|
101
75
|
}
|
|
102
|
-
|
|
103
76
|
return array;
|
|
104
77
|
}
|
|
78
|
+
|
|
105
79
|
}, {
|
|
106
80
|
key: "getPartialResult",
|
|
107
|
-
value:
|
|
81
|
+
value:
|
|
82
|
+
function getPartialResult() {
|
|
108
83
|
return this.topLevelObject;
|
|
109
84
|
}
|
|
110
85
|
}, {
|
|
@@ -122,22 +97,22 @@ var StreamingJSONParser = function (_JSONParser) {
|
|
|
122
97
|
value: function getJsonPath() {
|
|
123
98
|
return this.jsonpath;
|
|
124
99
|
}
|
|
100
|
+
|
|
125
101
|
}, {
|
|
126
102
|
key: "_matchJSONPath",
|
|
127
|
-
value:
|
|
103
|
+
value:
|
|
104
|
+
|
|
105
|
+
function _matchJSONPath() {
|
|
128
106
|
var currentPath = this.getJsonPath();
|
|
129
107
|
|
|
130
108
|
if (this.jsonPaths.length === 0) {
|
|
131
109
|
return true;
|
|
132
110
|
}
|
|
133
|
-
|
|
134
111
|
var _iterator = _createForOfIteratorHelper(this.jsonPaths),
|
|
135
|
-
|
|
136
|
-
|
|
112
|
+
_step;
|
|
137
113
|
try {
|
|
138
114
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
139
115
|
var jsonPath = _step.value;
|
|
140
|
-
|
|
141
116
|
if (jsonPath.equals(currentPath)) {
|
|
142
117
|
return true;
|
|
143
118
|
}
|
|
@@ -147,12 +122,10 @@ var StreamingJSONParser = function (_JSONParser) {
|
|
|
147
122
|
} finally {
|
|
148
123
|
_iterator.f();
|
|
149
124
|
}
|
|
150
|
-
|
|
151
125
|
return false;
|
|
152
126
|
}
|
|
153
127
|
}]);
|
|
154
128
|
return StreamingJSONParser;
|
|
155
129
|
}(_jsonParser.default);
|
|
156
|
-
|
|
157
130
|
exports.default = StreamingJSONParser;
|
|
158
131
|
//# sourceMappingURL=streaming-json-parser.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"streaming-json-parser.js","names":["StreamingJSONParser","options","onopenarray","streamingArray","_matchJSONPath","streamingJsonPath","getJsonPath","clone","_openArray","onopenobject","name","topLevelObject","_openObject","parser","emit","jsonpaths","jsonPaths","map","jsonpath","JSONPath","chunk","array","length","toString","currentPath","jsonPath","equals","JSONParser"],"sources":["../../../../src/lib/parser/streaming-json-parser.ts"],"sourcesContent":["import {default as JSONParser} from './json-parser';\nimport JSONPath from '../jsonpath/jsonpath';\n\n/**\n * The `StreamingJSONParser` looks for the first array in the JSON structure.\n * and emits an array of chunks\n */\nexport default class StreamingJSONParser extends JSONParser {\n private jsonPaths: JSONPath[];\n private streamingJsonPath: JSONPath | null = null;\n private streamingArray: any[] | null = null;\n private topLevelObject: object | null = null;\n\n constructor(options: {[key: string]: any} = {}) {\n super({\n onopenarray: () => {\n if (!this.streamingArray) {\n if (this._matchJSONPath()) {\n // @ts-ignore\n this.streamingJsonPath = this.getJsonPath().clone();\n this.streamingArray = [];\n this._openArray(this.streamingArray as []);\n return;\n }\n }\n\n this._openArray();\n },\n\n // Redefine onopenarray to inject value for top-level object\n onopenobject: (name) => {\n if (!this.topLevelObject) {\n this.topLevelObject = {};\n this._openObject(this.topLevelObject);\n } else {\n this._openObject({});\n }\n if (typeof name !== 'undefined') {\n this.parser.emit('onkey', name);\n }\n }\n });\n const jsonpaths = options.jsonpaths || [];\n this.jsonPaths = jsonpaths.map((jsonpath) => new JSONPath(jsonpath));\n }\n\n /**\n * write REDEFINITION\n * - super.write() chunk to parser\n * - get the contents (so far) of \"topmost-level\" array as batch of rows\n * - clear top-level array\n * - return the batch of rows\\\n */\n write(chunk) {\n super.write(chunk);\n let array: any[] = [];\n if (this.streamingArray) {\n array = [...this.streamingArray];\n this.streamingArray.length = 0;\n }\n return array;\n }\n\n /**\n * Returns a partially formed result object\n * Useful for returning the \"wrapper\" object when array is not top level\n * e.g. GeoJSON\n */\n getPartialResult() {\n return this.topLevelObject;\n }\n\n getStreamingJsonPath() {\n return this.streamingJsonPath;\n }\n\n getStreamingJsonPathAsString() {\n return this.streamingJsonPath && this.streamingJsonPath.toString();\n }\n\n getJsonPath() {\n return this.jsonpath;\n }\n\n // PRIVATE METHODS\n\n /**\n * Checks is this.getJsonPath matches the jsonpaths provided in options\n */\n _matchJSONPath() {\n const currentPath = this.getJsonPath();\n // console.debug(`Testing JSONPath`, currentPath);\n\n // Backwards compatibility, match any array\n // TODO implement using wildcard once that is supported\n if (this.jsonPaths.length === 0) {\n return true;\n }\n\n for (const jsonPath of this.jsonPaths) {\n if (jsonPath.equals(currentPath)) {\n return true;\n }\n }\n\n return false;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AACA;AAA4C;AAAA;AAAA;AAAA;AAAA;AAAA,IAMvBA,mBAAmB;EAAA;EAAA;EAMtC,+BAAgD;IAAA;IAAA,IAApCC,OAA6B,uEAAG,CAAC,CAAC;IAAA;IAC5C,0BAAM;MACJC,WAAW,EAAE,uBAAM;QACjB,IAAI,CAAC,MAAKC,cAAc,EAAE;UACxB,IAAI,MAAKC,cAAc,EAAE,EAAE;YAEzB,MAAKC,iBAAiB,GAAG,MAAKC,WAAW,EAAE,CAACC,KAAK,EAAE;YACnD,MAAKJ,cAAc,GAAG,EAAE;YACxB,MAAKK,UAAU,CAAC,MAAKL,cAAc,CAAO;YAC1C;UACF;QACF;QAEA,MAAKK,UAAU,EAAE;MACnB,CAAC;MAGDC,YAAY,EAAE,sBAACC,IAAI,EAAK;QACtB,IAAI,CAAC,MAAKC,cAAc,EAAE;UACxB,MAAKA,cAAc,GAAG,CAAC,CAAC;UACxB,MAAKC,WAAW,CAAC,MAAKD,cAAc,CAAC;QACvC,CAAC,MAAM;UACL,MAAKC,WAAW,CAAC,CAAC,CAAC,CAAC;QACtB;QACA,IAAI,OAAOF,IAAI,KAAK,WAAW,EAAE;UAC/B,MAAKG,MAAM,CAACC,IAAI,CAAC,OAAO,EAAEJ,IAAI,CAAC;QACjC;MACF;IACF,CAAC;IAAE;IAAA,gGAhCwC,IAAI;IAAA,6FACV,IAAI;IAAA,6FACH,IAAI;IA+B1C,IAAMK,SAAS,GAAGd,OAAO,CAACc,SAAS,IAAI,EAAE;IACzC,MAAKC,SAAS,GAAGD,SAAS,CAACE,GAAG,CAAC,UAACC,QAAQ;MAAA,OAAK,IAAIC,iBAAQ,CAACD,QAAQ,CAAC;IAAA,EAAC;IAAC;EACvE;;EAAC;IAAA;IAAA;IASD,eAAME,KAAK,EAAE;MACX,2GAAYA,KAAK;MACjB,IAAIC,KAAY,GAAG,EAAE;MACrB,IAAI,IAAI,CAAClB,cAAc,EAAE;QACvBkB,KAAK,oCAAO,IAAI,CAAClB,cAAc,CAAC;QAChC,IAAI,CAACA,cAAc,CAACmB,MAAM,GAAG,CAAC;MAChC;MACA,OAAOD,KAAK;IACd;;EAAC;IAAA;IAAA;IAOD,4BAAmB;MACjB,OAAO,IAAI,CAACV,cAAc;IAC5B;EAAC;IAAA;IAAA,OAED,gCAAuB;MACrB,OAAO,IAAI,CAACN,iBAAiB;IAC/B;EAAC;IAAA;IAAA,OAED,wCAA+B;MAC7B,OAAO,IAAI,CAACA,iBAAiB,IAAI,IAAI,CAACA,iBAAiB,CAACkB,QAAQ,EAAE;IACpE;EAAC;IAAA;IAAA,OAED,uBAAc;MACZ,OAAO,IAAI,CAACL,QAAQ;IACtB;;EAAC;IAAA;IAAA;;IAOD,0BAAiB;MACf,IAAMM,WAAW,GAAG,IAAI,CAAClB,WAAW,EAAE;;MAKtC,IAAI,IAAI,CAACU,SAAS,CAACM,MAAM,KAAK,CAAC,EAAE;QAC/B,OAAO,IAAI;MACb;MAAC,2CAEsB,IAAI,CAACN,SAAS;QAAA;MAAA;QAArC,oDAAuC;UAAA,IAA5BS,QAAQ;UACjB,IAAIA,QAAQ,CAACC,MAAM,CAACF,WAAW,CAAC,EAAE;YAChC,OAAO,IAAI;UACb;QACF;MAAC;QAAA;MAAA;QAAA;MAAA;MAED,OAAO,KAAK;IACd;EAAC;EAAA;AAAA,EAnG8CG,mBAAU;AAAA"}
|
|
@@ -1,21 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports._typecheckNDJSONLoader = exports.NDJSONLoader = void 0;
|
|
9
|
-
|
|
10
8
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
|
-
|
|
12
9
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
13
|
-
|
|
14
10
|
var _parseNdjson = _interopRequireDefault(require("./lib/parse-ndjson"));
|
|
15
|
-
|
|
16
11
|
var _parseNdjsonInBatches = _interopRequireDefault(require("./lib/parse-ndjson-in-batches"));
|
|
17
|
-
|
|
18
|
-
var VERSION = typeof "3.3.0-alpha.5" !== 'undefined' ? "3.3.0-alpha.5" : 'latest';
|
|
12
|
+
var VERSION = typeof "3.3.0-alpha.6" !== 'undefined' ? "3.3.0-alpha.6" : 'latest';
|
|
19
13
|
var DEFAULT_NDGEOJSON_LOADER_OPTIONS = {
|
|
20
14
|
geojson: {
|
|
21
15
|
shape: 'object-row-table'
|
|
@@ -30,7 +24,8 @@ var NDJSONLoader = {
|
|
|
30
24
|
module: 'json',
|
|
31
25
|
version: VERSION,
|
|
32
26
|
extensions: ['ndjson', 'ndgeojson'],
|
|
33
|
-
mimeTypes: ['application/geo+x-ndjson', 'application/geo+x-ldjson', 'application/jsonlines',
|
|
27
|
+
mimeTypes: ['application/geo+x-ndjson', 'application/geo+x-ldjson', 'application/jsonlines',
|
|
28
|
+
'application/geo+json-seq', 'application/x-ndjson'],
|
|
34
29
|
category: 'table',
|
|
35
30
|
text: true,
|
|
36
31
|
parse: function () {
|
|
@@ -40,7 +35,6 @@ var NDJSONLoader = {
|
|
|
40
35
|
switch (_context.prev = _context.next) {
|
|
41
36
|
case 0:
|
|
42
37
|
return _context.abrupt("return", (0, _parseNdjson.default)(new TextDecoder().decode(arrayBuffer)));
|
|
43
|
-
|
|
44
38
|
case 1:
|
|
45
39
|
case "end":
|
|
46
40
|
return _context.stop();
|
|
@@ -48,11 +42,9 @@ var NDJSONLoader = {
|
|
|
48
42
|
}
|
|
49
43
|
}, _callee);
|
|
50
44
|
}));
|
|
51
|
-
|
|
52
45
|
function parse(_x) {
|
|
53
46
|
return _parse.apply(this, arguments);
|
|
54
47
|
}
|
|
55
|
-
|
|
56
48
|
return parse;
|
|
57
49
|
}(),
|
|
58
50
|
parseTextSync: _parseNdjson.default,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"ndjgeoson-loader.js","names":["VERSION","DEFAULT_NDGEOJSON_LOADER_OPTIONS","geojson","shape","gis","format","NDJSONLoader","name","id","module","version","extensions","mimeTypes","category","text","parse","arrayBuffer","parseNDJSONSync","TextDecoder","decode","parseTextSync","parseInBatches","parseNDJSONInBatches","options","_typecheckNDJSONLoader"],"sources":["../../src/ndjgeoson-loader.ts"],"sourcesContent":["import type {LoaderWithParser, LoaderOptions} from '@loaders.gl/loader-utils';\nimport parseNDJSONSync from './lib/parse-ndjson';\nimport parseNDJSONInBatches from './lib/parse-ndjson-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 NDGeoJSONLoaderOptions = LoaderOptions & {\n geojson?: {\n shape?: 'object-row-table';\n };\n gis?: {\n format: 'geojson';\n };\n};\n\nconst DEFAULT_NDGEOJSON_LOADER_OPTIONS = {\n geojson: {\n shape: 'object-row-table'\n },\n gis: {\n format: 'geojson'\n }\n};\n\nexport const NDJSONLoader = {\n name: 'NDJSON',\n id: 'ndjson',\n module: 'json',\n version: VERSION,\n extensions: ['ndjson', 'ndgeojson'],\n mimeTypes: [\n 'application/geo+x-ndjson',\n 'application/geo+x-ldjson',\n 'application/jsonlines', // https://docs.aws.amazon.com/sagemaker/latest/dg/cdf-inference.html#cm-batch\n 'application/geo+json-seq',\n 'application/x-ndjson'\n ],\n category: 'table',\n text: true,\n parse: async (arrayBuffer: ArrayBuffer) => parseNDJSONSync(new TextDecoder().decode(arrayBuffer)),\n parseTextSync: parseNDJSONSync,\n parseInBatches: parseNDJSONInBatches,\n options: DEFAULT_NDGEOJSON_LOADER_OPTIONS\n};\n\nexport const _typecheckNDJSONLoader: LoaderWithParser = NDJSONLoader;\n"],"mappings":";;;;;;;;;AACA;AACA;AAIA,IAAMA,OAAO,GAAG,sBAAkB,KAAK,WAAW,qBAAiB,QAAQ;AAW3E,IAAMC,gCAAgC,GAAG;EACvCC,OAAO,EAAE;IACPC,KAAK,EAAE;EACT,CAAC;EACDC,GAAG,EAAE;IACHC,MAAM,EAAE;EACV;AACF,CAAC;AAEM,IAAMC,YAAY,GAAG;EAC1BC,IAAI,EAAE,QAAQ;EACdC,EAAE,EAAE,QAAQ;EACZC,MAAM,EAAE,MAAM;EACdC,OAAO,EAAEV,OAAO;EAChBW,UAAU,EAAE,CAAC,QAAQ,EAAE,WAAW,CAAC;EACnCC,SAAS,EAAE,CACT,0BAA0B,EAC1B,0BAA0B,EAC1B,uBAAuB;EACvB,0BAA0B,EAC1B,sBAAsB,CACvB;EACDC,QAAQ,EAAE,OAAO;EACjBC,IAAI,EAAE,IAAI;EACVC,KAAK;IAAA,uEAAE,iBAAOC,WAAwB;MAAA;QAAA;UAAA;YAAA;cAAA,iCAAK,IAAAC,oBAAe,EAAC,IAAIC,WAAW,EAAE,CAACC,MAAM,CAACH,WAAW,CAAC,CAAC;YAAA;YAAA;cAAA;UAAA;QAAA;MAAA;IAAA;IAAA;MAAA;IAAA;IAAA;EAAA;EACjGI,aAAa,EAAEH,oBAAe;EAC9BI,cAAc,EAAEC,6BAAoB;EACpCC,OAAO,EAAEtB;AACX,CAAC;AAAC;AAEK,IAAMuB,sBAAwC,GAAGlB,YAAY;AAAC"}
|