@loaders.gl/json 3.3.0-alpha.4 → 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,55 +1,40 @@
|
|
|
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 _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
17
|
-
|
|
18
12
|
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; } } }; }
|
|
19
|
-
|
|
20
13
|
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); }
|
|
21
|
-
|
|
22
14
|
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; }
|
|
23
|
-
|
|
24
15
|
var JSONPath = function () {
|
|
25
16
|
function JSONPath() {
|
|
26
17
|
var path = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
|
|
27
18
|
(0, _classCallCheck2.default)(this, JSONPath);
|
|
28
19
|
(0, _defineProperty2.default)(this, "path", void 0);
|
|
29
20
|
this.path = ['$'];
|
|
30
|
-
|
|
31
21
|
if (path instanceof JSONPath) {
|
|
32
22
|
this.path = (0, _toConsumableArray2.default)(path.path);
|
|
33
23
|
return;
|
|
34
24
|
}
|
|
35
|
-
|
|
36
25
|
if (Array.isArray(path)) {
|
|
37
26
|
var _this$path;
|
|
38
|
-
|
|
39
27
|
(_this$path = this.path).push.apply(_this$path, (0, _toConsumableArray2.default)(path));
|
|
40
|
-
|
|
41
28
|
return;
|
|
42
29
|
}
|
|
43
30
|
|
|
44
31
|
if (typeof path === 'string') {
|
|
45
32
|
this.path = path.split('.');
|
|
46
|
-
|
|
47
33
|
if (this.path[0] !== '$') {
|
|
48
34
|
throw new Error('JSONPaths must start with $');
|
|
49
35
|
}
|
|
50
36
|
}
|
|
51
37
|
}
|
|
52
|
-
|
|
53
38
|
(0, _createClass2.default)(JSONPath, [{
|
|
54
39
|
key: "clone",
|
|
55
40
|
value: function clone() {
|
|
@@ -81,25 +66,23 @@ var JSONPath = function () {
|
|
|
81
66
|
if (!this || !other || this.path.length !== other.path.length) {
|
|
82
67
|
return false;
|
|
83
68
|
}
|
|
84
|
-
|
|
85
69
|
for (var i = 0; i < this.path.length; ++i) {
|
|
86
70
|
if (this.path[i] !== other.path[i]) {
|
|
87
71
|
return false;
|
|
88
72
|
}
|
|
89
73
|
}
|
|
90
|
-
|
|
91
74
|
return true;
|
|
92
75
|
}
|
|
76
|
+
|
|
93
77
|
}, {
|
|
94
78
|
key: "setFieldAtPath",
|
|
95
|
-
value:
|
|
79
|
+
value:
|
|
80
|
+
function setFieldAtPath(object, value) {
|
|
96
81
|
var path = (0, _toConsumableArray2.default)(this.path);
|
|
97
82
|
path.shift();
|
|
98
83
|
var field = path.pop();
|
|
99
|
-
|
|
100
84
|
var _iterator = _createForOfIteratorHelper(path),
|
|
101
|
-
|
|
102
|
-
|
|
85
|
+
_step;
|
|
103
86
|
try {
|
|
104
87
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
105
88
|
var component = _step.value;
|
|
@@ -110,19 +93,18 @@ var JSONPath = function () {
|
|
|
110
93
|
} finally {
|
|
111
94
|
_iterator.f();
|
|
112
95
|
}
|
|
113
|
-
|
|
114
96
|
object[field] = value;
|
|
115
97
|
}
|
|
98
|
+
|
|
116
99
|
}, {
|
|
117
100
|
key: "getFieldAtPath",
|
|
118
|
-
value:
|
|
101
|
+
value:
|
|
102
|
+
function getFieldAtPath(object) {
|
|
119
103
|
var path = (0, _toConsumableArray2.default)(this.path);
|
|
120
104
|
path.shift();
|
|
121
105
|
var field = path.pop();
|
|
122
|
-
|
|
123
106
|
var _iterator2 = _createForOfIteratorHelper(path),
|
|
124
|
-
|
|
125
|
-
|
|
107
|
+
_step2;
|
|
126
108
|
try {
|
|
127
109
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
128
110
|
var component = _step2.value;
|
|
@@ -133,12 +115,10 @@ var JSONPath = function () {
|
|
|
133
115
|
} finally {
|
|
134
116
|
_iterator2.f();
|
|
135
117
|
}
|
|
136
|
-
|
|
137
118
|
return object[field];
|
|
138
119
|
}
|
|
139
120
|
}]);
|
|
140
121
|
return JSONPath;
|
|
141
122
|
}();
|
|
142
|
-
|
|
143
123
|
exports.default = JSONPath;
|
|
144
124
|
//# sourceMappingURL=jsonpath.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"jsonpath.js","names":["JSONPath","path","Array","isArray","push","split","Error","join","name","pop","length","other","i","object","value","shift","field","component"],"sources":["../../../../src/lib/jsonpath/jsonpath.ts"],"sourcesContent":["/**\n * A parser for a minimal subset of the jsonpath standard\n * Full JSON path parsers for JS exist but are quite large (bundle size)\n *\n * Supports\n *\n * `$.component.component.component`\n */\nexport default class JSONPath {\n path: string[];\n\n constructor(path: JSONPath | string[] | string | null = null) {\n this.path = ['$'];\n\n if (path instanceof JSONPath) {\n // @ts-ignore\n this.path = [...path.path];\n return;\n }\n\n if (Array.isArray(path)) {\n this.path.push(...path);\n return;\n }\n\n // Parse a string as a JSONPath\n if (typeof path === 'string') {\n this.path = path.split('.');\n if (this.path[0] !== '$') {\n throw new Error('JSONPaths must start with $');\n }\n }\n }\n\n clone(): JSONPath {\n return new JSONPath(this);\n }\n\n toString(): string {\n return this.path.join('.');\n }\n\n push(name: string): void {\n this.path.push(name);\n }\n\n pop() {\n return this.path.pop();\n }\n\n set(name: string): void {\n this.path[this.path.length - 1] = name;\n }\n\n equals(other: JSONPath): boolean {\n if (!this || !other || this.path.length !== other.path.length) {\n return false;\n }\n\n for (let i = 0; i < this.path.length; ++i) {\n if (this.path[i] !== other.path[i]) {\n return false;\n }\n }\n\n return true;\n }\n\n /**\n * Sets the value pointed at by path\n * TODO - handle root path\n * @param object\n * @param value\n */\n setFieldAtPath(object, value) {\n const path = [...this.path];\n path.shift();\n const field = path.pop();\n for (const component of path) {\n object = object[component];\n }\n // @ts-ignore\n object[field] = value;\n }\n\n /**\n * Gets the value pointed at by path\n * TODO - handle root path\n * @param object\n */\n getFieldAtPath(object) {\n const path = [...this.path];\n path.shift();\n const field = path.pop();\n for (const component of path) {\n object = object[component];\n }\n // @ts-ignore\n return object[field];\n }\n}\n"],"mappings":"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"}
|
|
@@ -1,51 +1,33 @@
|
|
|
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 = parseJSONInBatches;
|
|
9
8
|
exports.rebuildJsonObject = rebuildJsonObject;
|
|
10
|
-
|
|
11
9
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
12
|
-
|
|
13
10
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
14
|
-
|
|
15
11
|
var _awaitAsyncGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/awaitAsyncGenerator"));
|
|
16
|
-
|
|
17
12
|
var _wrapAsyncGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapAsyncGenerator"));
|
|
18
|
-
|
|
19
|
-
var _asyncIterator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncIterator"));
|
|
20
|
-
|
|
21
13
|
var _schema = require("@loaders.gl/schema");
|
|
22
|
-
|
|
23
14
|
var _loaderUtils = require("@loaders.gl/loader-utils");
|
|
24
|
-
|
|
25
15
|
var _streamingJsonParser = _interopRequireDefault(require("./parser/streaming-json-parser"));
|
|
26
|
-
|
|
27
16
|
var _jsonpath2 = _interopRequireDefault(require("./jsonpath/jsonpath"));
|
|
28
|
-
|
|
29
17
|
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; } } }; }
|
|
30
|
-
|
|
31
18
|
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); }
|
|
32
|
-
|
|
33
19
|
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; }
|
|
34
|
-
|
|
35
|
-
function
|
|
36
|
-
|
|
37
|
-
function
|
|
38
|
-
|
|
20
|
+
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; }
|
|
21
|
+
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; }
|
|
22
|
+
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"); }
|
|
23
|
+
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); }
|
|
39
24
|
function parseJSONInBatches(_x, _x2) {
|
|
40
25
|
return _parseJSONInBatches.apply(this, arguments);
|
|
41
26
|
}
|
|
42
|
-
|
|
43
27
|
function _parseJSONInBatches() {
|
|
44
28
|
_parseJSONInBatches = (0, _wrapAsyncGenerator2.default)(_regenerator.default.mark(function _callee(binaryAsyncIterator, options) {
|
|
45
29
|
var _options$json;
|
|
46
|
-
|
|
47
|
-
var asyncIterator, metadata, _ref, jsonpaths, isFirstChunk, schema, shape, tableBatchBuilder, parser, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, _value, chunk, rows, _jsonpath, initialBatch, _iterator2, _step2, row, _batch2, _batch, jsonpath, batch, finalBatch;
|
|
48
|
-
|
|
30
|
+
var asyncIterator, 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;
|
|
49
31
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
50
32
|
while (1) {
|
|
51
33
|
switch (_context.prev = _context.next) {
|
|
@@ -62,43 +44,29 @@ function _parseJSONInBatches() {
|
|
|
62
44
|
parser = new _streamingJsonParser.default({
|
|
63
45
|
jsonpaths: jsonpaths
|
|
64
46
|
});
|
|
65
|
-
|
|
47
|
+
_iteratorAbruptCompletion = false;
|
|
66
48
|
_didIteratorError = false;
|
|
67
49
|
_context.prev = 10;
|
|
68
|
-
_iterator = (
|
|
69
|
-
|
|
50
|
+
_iterator = _asyncIterator(asyncIterator);
|
|
70
51
|
case 12:
|
|
71
52
|
_context.next = 14;
|
|
72
53
|
return (0, _awaitAsyncGenerator2.default)(_iterator.next());
|
|
73
|
-
|
|
74
54
|
case 14:
|
|
75
|
-
_step = _context.sent
|
|
76
|
-
|
|
77
|
-
_context.next = 18;
|
|
78
|
-
return (0, _awaitAsyncGenerator2.default)(_step.value);
|
|
79
|
-
|
|
80
|
-
case 18:
|
|
81
|
-
_value = _context.sent;
|
|
82
|
-
|
|
83
|
-
if (_iteratorNormalCompletion) {
|
|
84
|
-
_context.next = 57;
|
|
55
|
+
if (!(_iteratorAbruptCompletion = !(_step = _context.sent).done)) {
|
|
56
|
+
_context.next = 52;
|
|
85
57
|
break;
|
|
86
58
|
}
|
|
87
|
-
|
|
88
|
-
chunk = _value;
|
|
59
|
+
chunk = _step.value;
|
|
89
60
|
rows = parser.write(chunk);
|
|
90
61
|
_jsonpath = rows.length > 0 && parser.getStreamingJsonPathAsString();
|
|
91
|
-
|
|
92
62
|
if (!(rows.length > 0 && isFirstChunk)) {
|
|
93
|
-
_context.next =
|
|
63
|
+
_context.next = 24;
|
|
94
64
|
break;
|
|
95
65
|
}
|
|
96
|
-
|
|
97
66
|
if (!metadata) {
|
|
98
|
-
_context.next =
|
|
67
|
+
_context.next = 23;
|
|
99
68
|
break;
|
|
100
69
|
}
|
|
101
|
-
|
|
102
70
|
initialBatch = {
|
|
103
71
|
shape: shape,
|
|
104
72
|
batchType: 'partial-result',
|
|
@@ -108,136 +76,103 @@ function _parseJSONInBatches() {
|
|
|
108
76
|
container: parser.getPartialResult(),
|
|
109
77
|
jsonpath: _jsonpath
|
|
110
78
|
};
|
|
111
|
-
_context.next =
|
|
79
|
+
_context.next = 23;
|
|
112
80
|
return initialBatch;
|
|
113
|
-
|
|
114
|
-
case 28:
|
|
81
|
+
case 23:
|
|
115
82
|
isFirstChunk = false;
|
|
116
|
-
|
|
117
|
-
case 29:
|
|
83
|
+
case 24:
|
|
118
84
|
_iterator2 = _createForOfIteratorHelper(rows);
|
|
119
|
-
_context.prev =
|
|
120
|
-
|
|
85
|
+
_context.prev = 25;
|
|
121
86
|
_iterator2.s();
|
|
122
|
-
|
|
123
|
-
case 32:
|
|
87
|
+
case 27:
|
|
124
88
|
if ((_step2 = _iterator2.n()).done) {
|
|
125
|
-
_context.next =
|
|
89
|
+
_context.next = 36;
|
|
126
90
|
break;
|
|
127
91
|
}
|
|
128
|
-
|
|
129
92
|
row = _step2.value;
|
|
130
93
|
tableBatchBuilder.addRow(row);
|
|
131
94
|
_batch2 = tableBatchBuilder.getFullBatch({
|
|
132
95
|
jsonpath: _jsonpath
|
|
133
96
|
});
|
|
134
|
-
|
|
135
97
|
if (!_batch2) {
|
|
136
|
-
_context.next =
|
|
98
|
+
_context.next = 34;
|
|
137
99
|
break;
|
|
138
100
|
}
|
|
139
|
-
|
|
140
|
-
_context.next = 39;
|
|
101
|
+
_context.next = 34;
|
|
141
102
|
return _batch2;
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
_context.next = 32;
|
|
103
|
+
case 34:
|
|
104
|
+
_context.next = 27;
|
|
145
105
|
break;
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
_context.next = 46;
|
|
106
|
+
case 36:
|
|
107
|
+
_context.next = 41;
|
|
149
108
|
break;
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
_context.
|
|
153
|
-
_context.t0 = _context["catch"](30);
|
|
154
|
-
|
|
109
|
+
case 38:
|
|
110
|
+
_context.prev = 38;
|
|
111
|
+
_context.t0 = _context["catch"](25);
|
|
155
112
|
_iterator2.e(_context.t0);
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
_context.prev = 46;
|
|
159
|
-
|
|
113
|
+
case 41:
|
|
114
|
+
_context.prev = 41;
|
|
160
115
|
_iterator2.f();
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
case 49:
|
|
116
|
+
return _context.finish(41);
|
|
117
|
+
case 44:
|
|
165
118
|
tableBatchBuilder.chunkComplete(chunk);
|
|
166
119
|
_batch = tableBatchBuilder.getFullBatch({
|
|
167
120
|
jsonpath: _jsonpath
|
|
168
121
|
});
|
|
169
|
-
|
|
170
122
|
if (!_batch) {
|
|
171
|
-
_context.next =
|
|
123
|
+
_context.next = 49;
|
|
172
124
|
break;
|
|
173
125
|
}
|
|
174
|
-
|
|
175
|
-
_context.next = 54;
|
|
126
|
+
_context.next = 49;
|
|
176
127
|
return _batch;
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
_iteratorNormalCompletion = true;
|
|
128
|
+
case 49:
|
|
129
|
+
_iteratorAbruptCompletion = false;
|
|
180
130
|
_context.next = 12;
|
|
181
131
|
break;
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
_context.next = 63;
|
|
132
|
+
case 52:
|
|
133
|
+
_context.next = 58;
|
|
185
134
|
break;
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
_context.prev = 59;
|
|
135
|
+
case 54:
|
|
136
|
+
_context.prev = 54;
|
|
189
137
|
_context.t1 = _context["catch"](10);
|
|
190
138
|
_didIteratorError = true;
|
|
191
139
|
_iteratorError = _context.t1;
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
_context.prev =
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
if (!(!_iteratorNormalCompletion && _iterator.return != null)) {
|
|
198
|
-
_context.next = 68;
|
|
140
|
+
case 58:
|
|
141
|
+
_context.prev = 58;
|
|
142
|
+
_context.prev = 59;
|
|
143
|
+
if (!(_iteratorAbruptCompletion && _iterator.return != null)) {
|
|
144
|
+
_context.next = 63;
|
|
199
145
|
break;
|
|
200
146
|
}
|
|
201
|
-
|
|
202
|
-
_context.next = 68;
|
|
147
|
+
_context.next = 63;
|
|
203
148
|
return (0, _awaitAsyncGenerator2.default)(_iterator.return());
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
_context.prev = 68;
|
|
207
|
-
|
|
149
|
+
case 63:
|
|
150
|
+
_context.prev = 63;
|
|
208
151
|
if (!_didIteratorError) {
|
|
209
|
-
_context.next =
|
|
152
|
+
_context.next = 66;
|
|
210
153
|
break;
|
|
211
154
|
}
|
|
212
|
-
|
|
213
155
|
throw _iteratorError;
|
|
214
|
-
|
|
215
|
-
case 71:
|
|
216
|
-
return _context.finish(68);
|
|
217
|
-
|
|
218
|
-
case 72:
|
|
156
|
+
case 66:
|
|
219
157
|
return _context.finish(63);
|
|
220
|
-
|
|
221
|
-
|
|
158
|
+
case 67:
|
|
159
|
+
return _context.finish(58);
|
|
160
|
+
case 68:
|
|
222
161
|
jsonpath = parser.getStreamingJsonPathAsString();
|
|
223
162
|
batch = tableBatchBuilder.getFinalBatch({
|
|
224
163
|
jsonpath: jsonpath
|
|
225
164
|
});
|
|
226
|
-
|
|
227
165
|
if (!batch) {
|
|
228
|
-
_context.next =
|
|
166
|
+
_context.next = 73;
|
|
229
167
|
break;
|
|
230
168
|
}
|
|
231
|
-
|
|
232
|
-
_context.next = 78;
|
|
169
|
+
_context.next = 73;
|
|
233
170
|
return batch;
|
|
234
|
-
|
|
235
|
-
case 78:
|
|
171
|
+
case 73:
|
|
236
172
|
if (!metadata) {
|
|
237
|
-
_context.next =
|
|
173
|
+
_context.next = 77;
|
|
238
174
|
break;
|
|
239
175
|
}
|
|
240
|
-
|
|
241
176
|
finalBatch = {
|
|
242
177
|
shape: shape,
|
|
243
178
|
batchType: 'final-result',
|
|
@@ -246,19 +181,17 @@ function _parseJSONInBatches() {
|
|
|
246
181
|
data: [],
|
|
247
182
|
length: 0
|
|
248
183
|
};
|
|
249
|
-
_context.next =
|
|
184
|
+
_context.next = 77;
|
|
250
185
|
return finalBatch;
|
|
251
|
-
|
|
252
|
-
case 82:
|
|
186
|
+
case 77:
|
|
253
187
|
case "end":
|
|
254
188
|
return _context.stop();
|
|
255
189
|
}
|
|
256
190
|
}
|
|
257
|
-
}, _callee, null, [[10,
|
|
191
|
+
}, _callee, null, [[10, 54, 58, 68], [25, 38, 41, 44], [59,, 63, 67]]);
|
|
258
192
|
}));
|
|
259
193
|
return _parseJSONInBatches.apply(this, arguments);
|
|
260
194
|
}
|
|
261
|
-
|
|
262
195
|
function rebuildJsonObject(batch, data) {
|
|
263
196
|
(0, _loaderUtils.assert)(batch.batchType === 'final-result');
|
|
264
197
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"parse-json-in-batches.js","names":["parseJSONInBatches","binaryAsyncIterator","options","asyncIterator","makeTextDecoderIterator","metadata","json","jsonpaths","isFirstChunk","schema","shape","tableBatchBuilder","TableBatchBuilder","parser","StreamingJSONParser","chunk","rows","write","jsonpath","length","getStreamingJsonPathAsString","initialBatch","batchType","data","bytesUsed","container","getPartialResult","row","addRow","batch","getFullBatch","chunkComplete","getFinalBatch","finalBatch","rebuildJsonObject","assert","topLevelObject","streamingPath","JSONPath","setFieldAtPath"],"sources":["../../../src/lib/parse-json-in-batches.ts"],"sourcesContent":["import type {Batch} 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 './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 default async function* parseJSONInBatches(\n binaryAsyncIterator: AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>,\n options: JSONLoaderOptions\n): AsyncIterable<Batch> {\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: Batch = {\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: Batch = {\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,46 +1,36 @@
|
|
|
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 = parseJSONSync;
|
|
9
|
-
|
|
10
8
|
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
11
|
-
|
|
12
9
|
function parseJSONSync(jsonText, options) {
|
|
13
10
|
try {
|
|
14
11
|
var _options$json;
|
|
15
|
-
|
|
16
12
|
var json = JSON.parse(jsonText);
|
|
17
|
-
|
|
18
13
|
if ((_options$json = options.json) !== null && _options$json !== void 0 && _options$json.table) {
|
|
19
14
|
return getFirstArray(json) || json;
|
|
20
15
|
}
|
|
21
|
-
|
|
22
16
|
return json;
|
|
23
17
|
} catch (error) {
|
|
24
18
|
throw new Error('JSONLoader: failed to parse JSON');
|
|
25
19
|
}
|
|
26
20
|
}
|
|
27
|
-
|
|
28
21
|
function getFirstArray(json) {
|
|
29
22
|
if (Array.isArray(json)) {
|
|
30
23
|
return json;
|
|
31
24
|
}
|
|
32
|
-
|
|
33
25
|
if (json && (0, _typeof2.default)(json) === 'object') {
|
|
34
26
|
for (var _i = 0, _Object$values = Object.values(json); _i < _Object$values.length; _i++) {
|
|
35
27
|
var value = _Object$values[_i];
|
|
36
28
|
var array = getFirstArray(value);
|
|
37
|
-
|
|
38
29
|
if (array) {
|
|
39
30
|
return array;
|
|
40
31
|
}
|
|
41
32
|
}
|
|
42
33
|
}
|
|
43
|
-
|
|
44
34
|
return null;
|
|
45
35
|
}
|
|
46
36
|
//# sourceMappingURL=parse-json.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"parse-json.js","names":["parseJSONSync","jsonText","options","json","JSON","parse","table","getFirstArray","error","Error","Array","isArray","Object","values","value","array"],"sources":["../../../src/lib/parse-json.ts"],"sourcesContent":["import type {JSONLoaderOptions} from '../json-loader';\n\nexport default function parseJSONSync(jsonText: string, options: JSONLoaderOptions) {\n try {\n const json = JSON.parse(jsonText);\n if (options.json?.table) {\n return getFirstArray(json) || json;\n }\n return json;\n } catch (error) {\n throw new Error('JSONLoader: failed to parse JSON');\n }\n}\n\nfunction getFirstArray(json) {\n if (Array.isArray(json)) {\n return json;\n }\n if (json && typeof json === 'object') {\n for (const value of Object.values(json)) {\n const array = getFirstArray(value);\n if (array) {\n return array;\n }\n }\n }\n return null;\n}\n"],"mappings":";;;;;;;;AAEe,SAASA,aAAa,CAACC,QAAgB,EAAEC,OAA0B,EAAE;EAClF,IAAI;IAAA;IACF,IAAMC,IAAI,GAAGC,IAAI,CAACC,KAAK,CAACJ,QAAQ,CAAC;IACjC,qBAAIC,OAAO,CAACC,IAAI,0CAAZ,cAAcG,KAAK,EAAE;MACvB,OAAOC,aAAa,CAACJ,IAAI,CAAC,IAAIA,IAAI;IACpC;IACA,OAAOA,IAAI;EACb,CAAC,CAAC,OAAOK,KAAK,EAAE;IACd,MAAM,IAAIC,KAAK,CAAC,kCAAkC,CAAC;EACrD;AACF;AAEA,SAASF,aAAa,CAACJ,IAAI,EAAE;EAC3B,IAAIO,KAAK,CAACC,OAAO,CAACR,IAAI,CAAC,EAAE;IACvB,OAAOA,IAAI;EACb;EACA,IAAIA,IAAI,IAAI,sBAAOA,IAAI,MAAK,QAAQ,EAAE;IACpC,kCAAoBS,MAAM,CAACC,MAAM,CAACV,IAAI,CAAC,oCAAE;MAApC,IAAMW,KAAK;MACd,IAAMC,KAAK,GAAGR,aAAa,CAACO,KAAK,CAAC;MAClC,IAAIC,KAAK,EAAE;QACT,OAAOA,KAAK;MACd;IACF;EACF;EACA,OAAO,IAAI;AACb"}
|