@loaders.gl/json 3.1.0-alpha.5 → 3.1.0-beta.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (79) hide show
  1. package/dist/bundle.d.ts +1 -0
  2. package/dist/bundle.d.ts.map +1 -0
  3. package/dist/bundle.js +1839 -0
  4. package/dist/es5/geojson-loader.js +1 -1
  5. package/dist/es5/geojson-loader.js.map +1 -1
  6. package/dist/es5/json-loader.js +1 -1
  7. package/dist/es5/json-loader.js.map +1 -1
  8. package/dist/es5/lib/clarinet/clarinet.js +226 -281
  9. package/dist/es5/lib/clarinet/clarinet.js.map +1 -1
  10. package/dist/es5/lib/parser/json-parser.js +45 -47
  11. package/dist/es5/lib/parser/json-parser.js.map +1 -1
  12. package/dist/es5/lib/parser/streaming-json-parser.js +29 -34
  13. package/dist/es5/lib/parser/streaming-json-parser.js.map +1 -1
  14. package/dist/es5/ndjson-loader.js +5 -2
  15. package/dist/es5/ndjson-loader.js.map +1 -1
  16. package/dist/esm/geojson-loader.js +1 -1
  17. package/dist/esm/geojson-loader.js.map +1 -1
  18. package/dist/esm/json-loader.js +1 -1
  19. package/dist/esm/json-loader.js.map +1 -1
  20. package/dist/esm/lib/clarinet/clarinet.js +222 -260
  21. package/dist/esm/lib/clarinet/clarinet.js.map +1 -1
  22. package/dist/esm/lib/parser/json-parser.js +48 -47
  23. package/dist/esm/lib/parser/json-parser.js.map +1 -1
  24. package/dist/esm/lib/parser/streaming-json-parser.js +29 -34
  25. package/dist/esm/lib/parser/streaming-json-parser.js.map +1 -1
  26. package/dist/esm/ndjson-loader.js +3 -1
  27. package/dist/esm/ndjson-loader.js.map +1 -1
  28. package/dist/geojson-loader.d.ts +1 -0
  29. package/dist/geojson-loader.d.ts.map +1 -0
  30. package/dist/geojson-loader.js +78 -0
  31. package/dist/geojson-worker.js +1702 -2
  32. package/dist/index.d.ts +1 -0
  33. package/dist/index.d.ts.map +1 -0
  34. package/dist/index.js +17 -0
  35. package/dist/json-loader.d.ts +1 -0
  36. package/dist/json-loader.d.ts.map +1 -0
  37. package/dist/json-loader.js +57 -0
  38. package/dist/jsonl-loader.d.ts +1 -0
  39. package/dist/jsonl-loader.d.ts.map +1 -0
  40. package/dist/jsonl-loader.js +54 -0
  41. package/dist/lib/clarinet/clarinet.d.ts +72 -38
  42. package/dist/lib/clarinet/clarinet.d.ts.map +1 -0
  43. package/dist/lib/clarinet/clarinet.js +535 -0
  44. package/dist/lib/jsonpath/jsonpath.d.ts +1 -0
  45. package/dist/lib/jsonpath/jsonpath.d.ts.map +1 -0
  46. package/dist/lib/jsonpath/jsonpath.js +89 -0
  47. package/dist/lib/parse-json-in-batches.d.ts +1 -0
  48. package/dist/lib/parse-json-in-batches.d.ts.map +1 -0
  49. package/dist/lib/parse-json-in-batches.js +80 -0
  50. package/dist/lib/parse-json.d.ts +1 -0
  51. package/dist/lib/parse-json.d.ts.map +1 -0
  52. package/dist/lib/parse-json.js +29 -0
  53. package/dist/lib/parse-ndjson-in-batches.d.ts +1 -0
  54. package/dist/lib/parse-ndjson-in-batches.d.ts.map +1 -0
  55. package/dist/lib/parse-ndjson-in-batches.js +35 -0
  56. package/dist/lib/parse-ndjson.d.ts +1 -0
  57. package/dist/lib/parse-ndjson.d.ts.map +1 -0
  58. package/dist/lib/parse-ndjson.js +14 -0
  59. package/dist/lib/parser/json-parser.d.ts +10 -5
  60. package/dist/lib/parser/json-parser.d.ts.map +1 -0
  61. package/dist/lib/parser/json-parser.js +98 -0
  62. package/dist/lib/parser/streaming-json-parser.d.ts +1 -1
  63. package/dist/lib/parser/streaming-json-parser.d.ts.map +1 -0
  64. package/dist/lib/parser/streaming-json-parser.js +100 -0
  65. package/dist/ndjson-loader.d.ts +22 -2
  66. package/dist/ndjson-loader.d.ts.map +1 -0
  67. package/dist/ndjson-loader.js +35 -0
  68. package/dist/workers/geojson-worker.d.ts +1 -0
  69. package/dist/workers/geojson-worker.d.ts.map +1 -0
  70. package/dist/workers/geojson-worker.js +5 -0
  71. package/package.json +7 -8
  72. package/src/lib/clarinet/clarinet.ts +539 -0
  73. package/src/lib/parser/json-parser.ts +52 -55
  74. package/src/lib/parser/streaming-json-parser.ts +28 -32
  75. package/src/ndjson-loader.ts +3 -1
  76. package/dist/dist.min.js +0 -2
  77. package/dist/dist.min.js.map +0 -1
  78. package/dist/geojson-worker.js.map +0 -1
  79. package/src/lib/clarinet/clarinet.js +0 -578
package/dist/index.d.ts CHANGED
@@ -5,3 +5,4 @@ export type { GeoJSONLoaderOptions as _GeoJSONLoaderOptions } from './geojson-lo
5
5
  export { GeoJSONLoader as _GeoJSONLoader, GeoJSONWorkerLoader as _GeoJSONWorkerLoader } from './geojson-loader';
6
6
  export { default as _JSONPath } from './lib/jsonpath/jsonpath';
7
7
  export { default as _ClarinetParser } from './lib/clarinet/clarinet';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAC,iBAAiB,EAAC,MAAM,eAAe,CAAC;AACrD,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAC;AACzC,OAAO,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AAG7C,YAAY,EAAC,oBAAoB,IAAI,qBAAqB,EAAC,MAAM,kBAAkB,CAAC;AACpF,OAAO,EACL,aAAa,IAAI,cAAc,EAC/B,mBAAmB,IAAI,oBAAoB,EAC5C,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAC,OAAO,IAAI,SAAS,EAAC,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAC,OAAO,IAAI,eAAe,EAAC,MAAM,yBAAyB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports._ClarinetParser = exports._JSONPath = exports._GeoJSONWorkerLoader = exports._GeoJSONLoader = exports.NDJSONLoader = exports.JSONLoader = void 0;
7
+ var json_loader_1 = require("./json-loader");
8
+ Object.defineProperty(exports, "JSONLoader", { enumerable: true, get: function () { return json_loader_1.JSONLoader; } });
9
+ var ndjson_loader_1 = require("./ndjson-loader");
10
+ Object.defineProperty(exports, "NDJSONLoader", { enumerable: true, get: function () { return ndjson_loader_1.NDJSONLoader; } });
11
+ var geojson_loader_1 = require("./geojson-loader");
12
+ Object.defineProperty(exports, "_GeoJSONLoader", { enumerable: true, get: function () { return geojson_loader_1.GeoJSONLoader; } });
13
+ Object.defineProperty(exports, "_GeoJSONWorkerLoader", { enumerable: true, get: function () { return geojson_loader_1.GeoJSONWorkerLoader; } });
14
+ var jsonpath_1 = require("./lib/jsonpath/jsonpath");
15
+ Object.defineProperty(exports, "_JSONPath", { enumerable: true, get: function () { return __importDefault(jsonpath_1).default; } });
16
+ var clarinet_1 = require("./lib/clarinet/clarinet");
17
+ Object.defineProperty(exports, "_ClarinetParser", { enumerable: true, get: function () { return __importDefault(clarinet_1).default; } });
@@ -11,3 +11,4 @@ export declare type JSONLoaderOptions = LoaderOptions & {
11
11
  };
12
12
  };
13
13
  export declare const JSONLoader: LoaderWithParser;
14
+ //# sourceMappingURL=json-loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-loader.d.ts","sourceRoot":"","sources":["../src/json-loader.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,gBAAgB,EAAE,aAAa,EAAC,MAAM,0BAA0B,CAAC;AAQ9E;;;GAGG;AACH,oBAAY,iBAAiB,GAAG,aAAa,GAAG;IAC9C,IAAI,CAAC,EAAE;QACL,KAAK,CAAC,EAAE,WAAW,CAAC;QACpB,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;KACtB,CAAC;CACH,CAAC;AAWF,eAAO,MAAM,UAAU,EAAE,gBA0BxB,CAAC"}
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.JSONLoader = void 0;
7
+ const parse_json_1 = __importDefault(require("./lib/parse-json"));
8
+ const parse_json_in_batches_1 = __importDefault(require("./lib/parse-json-in-batches"));
9
+ // __VERSION__ is injected by babel-plugin-version-inline
10
+ // @ts-ignore TS2304: Cannot find name '__VERSION__'.
11
+ const VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';
12
+ const DEFAULT_JSON_LOADER_OPTIONS = {
13
+ json: {
14
+ shape: 'row-table',
15
+ table: false,
16
+ jsonpaths: []
17
+ // batchSize: 'auto'
18
+ }
19
+ };
20
+ exports.JSONLoader = {
21
+ name: 'JSON',
22
+ id: 'json',
23
+ module: 'json',
24
+ version: VERSION,
25
+ extensions: ['json', 'geojson'],
26
+ mimeTypes: ['application/json'],
27
+ // TODO - support various line based JSON formats
28
+ /*
29
+ extensions: {
30
+ json: null,
31
+ jsonl: {stream: true},
32
+ ndjson: {stream: true}
33
+ },
34
+ mimeTypes: {
35
+ 'application/json': null,
36
+ 'application/json-seq': {stream: true},
37
+ 'application/x-ndjson': {stream: true}
38
+ },
39
+ */
40
+ category: 'table',
41
+ text: true,
42
+ parse,
43
+ parseTextSync,
44
+ parseInBatches,
45
+ options: DEFAULT_JSON_LOADER_OPTIONS
46
+ };
47
+ async function parse(arrayBuffer, options) {
48
+ return parseTextSync(new TextDecoder().decode(arrayBuffer), options);
49
+ }
50
+ function parseTextSync(text, options) {
51
+ const jsonOptions = { ...options, json: { ...DEFAULT_JSON_LOADER_OPTIONS.json, ...options?.json } };
52
+ return (0, parse_json_1.default)(text, jsonOptions);
53
+ }
54
+ function parseInBatches(asyncIterator, options) {
55
+ const jsonOptions = { ...options, json: { ...DEFAULT_JSON_LOADER_OPTIONS.json, ...options?.json } };
56
+ return (0, parse_json_in_batches_1.default)(asyncIterator, jsonOptions);
57
+ }
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=jsonl-loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jsonl-loader.d.ts","sourceRoot":"","sources":["../src/jsonl-loader.ts"],"names":[],"mappings":""}
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ /* TODO JSONL loader
3
+ export const JSONLoader: LoaderWithParser = {
4
+ name: 'JSON',
5
+ id: 'json',
6
+ module: 'json',
7
+ version: VERSION,
8
+ extensions: ['json', 'geojson'],
9
+ mimeTypes: ['application/json'],
10
+ // TODO - support various line based JSON formats
11
+ /*
12
+ extensions: {
13
+ json: null,
14
+ jsonl: {stream: true},
15
+ ndjson: {stream: true}
16
+ },
17
+ mimeTypes: {
18
+ 'application/json': null,
19
+ 'application/json-seq': {stream: true},
20
+ 'application/x-ndjson': {stream: true}
21
+ },
22
+ *
23
+ category: 'table',
24
+ text: true,
25
+ parse,
26
+ parseTextSync,
27
+ parseInBatches,
28
+ options: DEFAULT_JSON_LOADER_OPTIONS
29
+ };
30
+ {
31
+ name: 'TEST-JSONL_LOADER',
32
+ extensions: ['jsonl'],
33
+ parse: async (arrayBuffer, options, context) => {
34
+ const characters = new Uint8Array(arrayBuffer);
35
+ const result = [];
36
+
37
+ const len = characters.length;
38
+ let startIndex = 0;
39
+ for (let i = 0; i <= len; i++) {
40
+ if (characters[i] === 10 || i === len) {
41
+ // Note: we need to make a copy of the buffer here because we cannot
42
+ // handover the ownership of arrayBuffer to the child process
43
+ const json = characters.slice(startIndex, i);
44
+ if (json.length > 1) {
45
+ result.push(await context.parse(json.buffer, {}, 'line.json'));
46
+ }
47
+ startIndex = i + 1;
48
+ }
49
+ }
50
+
51
+ return result;
52
+ }
53
+ };
54
+ */
@@ -1,40 +1,74 @@
1
- export const EVENTS: string[];
1
+ export declare type ClarinetEvent = 'onvalue' | 'onstring' | 'onkey' | 'onopenobject' | 'oncloseobject' | 'onopenarray' | 'onclosearray' | 'onerror' | 'onend' | 'onready';
2
+ declare enum STATE {
3
+ BEGIN = 0,
4
+ VALUE = 1,
5
+ OPEN_OBJECT = 2,
6
+ CLOSE_OBJECT = 3,
7
+ OPEN_ARRAY = 4,
8
+ CLOSE_ARRAY = 5,
9
+ TEXT_ESCAPE = 6,
10
+ STRING = 7,
11
+ BACKSLASH = 8,
12
+ END = 9,
13
+ OPEN_KEY = 10,
14
+ CLOSE_KEY = 11,
15
+ TRUE = 12,
16
+ TRUE2 = 13,
17
+ TRUE3 = 14,
18
+ FALSE = 15,
19
+ FALSE2 = 16,
20
+ FALSE3 = 17,
21
+ FALSE4 = 18,
22
+ NULL = 19,
23
+ NULL2 = 20,
24
+ NULL3 = 21,
25
+ NUMBER_DECIMAL_POINT = 22,
26
+ NUMBER_DIGIT = 23
27
+ }
28
+ declare type ParserEvent = (parser: ClarinetParser, event: string, data?: any) => void;
29
+ export declare type ClarinetParserOptions = {
30
+ onready?: ParserEvent;
31
+ onopenobject?: ParserEvent;
32
+ onkey?: ParserEvent;
33
+ oncloseobject?: ParserEvent;
34
+ onopenarray?: ParserEvent;
35
+ onclosearray?: ParserEvent;
36
+ onvalue?: ParserEvent;
37
+ onerror?: ParserEvent;
38
+ onend?: ParserEvent;
39
+ onchunkparsed?: ParserEvent;
40
+ };
2
41
  export default class ClarinetParser {
3
- constructor(options?: {});
4
- _initialize(options: any): void;
5
- bufferCheckPosition: number | undefined;
6
- q: string | undefined;
7
- c: any;
8
- p: any;
9
- options: any;
10
- closed: boolean | undefined;
11
- closedRoot: boolean | undefined;
12
- sawRoot: boolean | undefined;
13
- tag: any;
14
- error: any;
15
- state: any;
16
- stack: any[] | undefined;
17
- position: number | undefined;
18
- column: number | undefined;
19
- line: number | undefined;
20
- slashed: any;
21
- unicodeI: any;
22
- unicodeS: string | null | undefined;
23
- depth: number | undefined;
24
- onready: any;
25
- onopenobject: any;
26
- onkey: any;
27
- oncloseobject: any;
28
- onopenarray: any;
29
- onclosearray: any;
30
- onvalue: any;
31
- onerror: any;
32
- onend: any;
33
- onchunkparsed: any;
34
- _clearBuffers(): void;
35
- end(): ClarinetParser;
36
- resume(): ClarinetParser;
37
- close(): any;
38
- write(chunk: any): any;
39
- textNode: string | undefined;
42
+ protected options: Required<ClarinetParserOptions>;
43
+ bufferCheckPosition: number;
44
+ q: string;
45
+ c: string;
46
+ p: string;
47
+ closed: boolean;
48
+ closedRoot: boolean;
49
+ sawRoot: boolean;
50
+ error: Error | null;
51
+ state: STATE;
52
+ stack: STATE[];
53
+ position: number;
54
+ column: number;
55
+ line: number;
56
+ slashed: boolean;
57
+ unicodeI: number;
58
+ unicodeS: string | null;
59
+ depth: number;
60
+ textNode: any;
61
+ numberNode: any;
62
+ constructor(options?: ClarinetParserOptions);
63
+ end(): this;
64
+ resume(): this;
65
+ close(): void | this;
66
+ emit(event: string, data?: any): void;
67
+ emitNode(event: string, data?: any): void;
68
+ write(chunk: any): void | this;
69
+ _closeValue(event?: string): void;
70
+ _closeNumber(): void;
71
+ _error(message?: string): void;
40
72
  }
73
+ export {};
74
+ //# sourceMappingURL=clarinet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clarinet.d.ts","sourceRoot":"","sources":["../../../src/lib/clarinet/clarinet.ts"],"names":[],"mappings":"AAKA,oBAAY,aAAa,GACrB,SAAS,GACT,UAAU,GACV,OAAO,GACP,cAAc,GACd,eAAe,GACf,aAAa,GACb,cAAc,GACd,SAAS,GACT,OAAO,GACP,SAAS,CAAC;AAMd,aAAK,KAAK;IACR,KAAK,IAAI;IACT,KAAK,IAAA;IACL,WAAW,IAAA;IACX,YAAY,IAAA;IACZ,UAAU,IAAA;IACV,WAAW,IAAA;IACX,WAAW,IAAA;IACX,MAAM,IAAA;IACN,SAAS,IAAA;IACT,GAAG,IAAA;IACH,QAAQ,KAAA;IACR,SAAS,KAAA;IACT,IAAI,KAAA;IACJ,KAAK,KAAA;IACL,KAAK,KAAA;IACL,KAAK,KAAA;IACL,MAAM,KAAA;IACN,MAAM,KAAA;IACN,MAAM,KAAA;IACN,IAAI,KAAA;IACJ,KAAK,KAAA;IACL,KAAK,KAAA;IACL,oBAAoB,KAAA;IACpB,YAAY,KAAA;CACb;AA0CD,aAAK,WAAW,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;AAE/E,oBAAY,qBAAqB,GAAG;IAClC,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,YAAY,CAAC,EAAE,WAAW,CAAC;IAC3B,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,aAAa,CAAC,EAAE,WAAW,CAAC;IAC5B,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,YAAY,CAAC,EAAE,WAAW,CAAC;IAC3B,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,aAAa,CAAC,EAAE,WAAW,CAAC;CAC7B,CAAC;AAcF,MAAM,CAAC,OAAO,OAAO,cAAc;IACjC,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC,qBAAqB,CAAC,CAAmB;IAErE,mBAAmB,SAAqB;IACxC,CAAC,SAAM;IACP,CAAC,SAAM;IACP,CAAC,SAAM;IACP,MAAM,UAAS;IACf,UAAU,UAAS;IACnB,OAAO,UAAS;IAEhB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAQ;IAC3B,KAAK,QAAe;IACpB,KAAK,EAAE,KAAK,EAAE,CAAM;IAEpB,QAAQ,EAAE,MAAM,CAAK;IACrB,MAAM,EAAE,MAAM,CAAK;IACnB,IAAI,EAAE,MAAM,CAAK;IACjB,OAAO,EAAE,OAAO,CAAS;IACzB,QAAQ,EAAE,MAAM,CAAK;IACrB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAQ;IAC/B,KAAK,EAAE,MAAM,CAAK;IAElB,QAAQ,MAAC;IACT,UAAU,MAAC;gBAEC,OAAO,GAAE,qBAA0B;IAO/C,GAAG;IAUH,MAAM;IAKN,KAAK;IAML,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,IAAI;IAKrC,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,IAAI;IAOzC,KAAK,CAAC,KAAK,KAAA;IAwTX,WAAW,CAAC,KAAK,GAAE,MAAkB,GAAG,IAAI;IAO5C,YAAY,IAAI,IAAI;IAKpB,MAAM,CAAC,OAAO,GAAE,MAAW,GAAG,IAAI;CAOnC"}