@loaders.gl/core 3.4.0-alpha.4 → 3.4.0-alpha.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 (65) hide show
  1. package/dist/dist.min.js +76 -45
  2. package/dist/es5/lib/api/parse-in-batches.js +15 -14
  3. package/dist/es5/lib/api/parse-in-batches.js.map +1 -1
  4. package/dist/es5/lib/api/parse-sync.js +3 -4
  5. package/dist/es5/lib/api/parse-sync.js.map +1 -1
  6. package/dist/es5/lib/api/parse.js +3 -3
  7. package/dist/es5/lib/api/parse.js.map +1 -1
  8. package/dist/es5/lib/api/select-loader.js +6 -7
  9. package/dist/es5/lib/api/select-loader.js.map +1 -1
  10. package/dist/es5/lib/init.js +1 -1
  11. package/dist/es5/lib/loader-utils/loader-context.js +16 -8
  12. package/dist/es5/lib/loader-utils/loader-context.js.map +1 -1
  13. package/dist/es5/lib/utils/resource-utils.js +31 -27
  14. package/dist/es5/lib/utils/resource-utils.js.map +1 -1
  15. package/dist/es5/lib/utils/response-utils.js +6 -5
  16. package/dist/es5/lib/utils/response-utils.js.map +1 -1
  17. package/dist/es5/lib/utils/url-utils.js +16 -0
  18. package/dist/es5/lib/utils/url-utils.js.map +1 -0
  19. package/dist/es5/null-loader.js +1 -1
  20. package/dist/esm/lib/api/parse-in-batches.js +6 -7
  21. package/dist/esm/lib/api/parse-in-batches.js.map +1 -1
  22. package/dist/esm/lib/api/parse-sync.js +4 -6
  23. package/dist/esm/lib/api/parse-sync.js.map +1 -1
  24. package/dist/esm/lib/api/parse.js +3 -5
  25. package/dist/esm/lib/api/parse.js.map +1 -1
  26. package/dist/esm/lib/api/select-loader.js +7 -10
  27. package/dist/esm/lib/api/select-loader.js.map +1 -1
  28. package/dist/esm/lib/init.js +1 -1
  29. package/dist/esm/lib/loader-utils/loader-context.js +16 -8
  30. package/dist/esm/lib/loader-utils/loader-context.js.map +1 -1
  31. package/dist/esm/lib/utils/resource-utils.js +29 -26
  32. package/dist/esm/lib/utils/resource-utils.js.map +1 -1
  33. package/dist/esm/lib/utils/response-utils.js +3 -5
  34. package/dist/esm/lib/utils/response-utils.js.map +1 -1
  35. package/dist/esm/lib/utils/url-utils.js +9 -0
  36. package/dist/esm/lib/utils/url-utils.js.map +1 -0
  37. package/dist/esm/null-loader.js +1 -1
  38. package/dist/lib/api/parse-in-batches.d.ts.map +1 -1
  39. package/dist/lib/api/parse-in-batches.js +4 -7
  40. package/dist/lib/api/parse-sync.d.ts.map +1 -1
  41. package/dist/lib/api/parse-sync.js +3 -3
  42. package/dist/lib/api/parse.js +2 -2
  43. package/dist/lib/api/select-loader.d.ts.map +1 -1
  44. package/dist/lib/api/select-loader.js +6 -3
  45. package/dist/lib/loader-utils/loader-context.d.ts +1 -1
  46. package/dist/lib/loader-utils/loader-context.d.ts.map +1 -1
  47. package/dist/lib/loader-utils/loader-context.js +17 -7
  48. package/dist/lib/utils/resource-utils.d.ts +17 -8
  49. package/dist/lib/utils/resource-utils.d.ts.map +1 -1
  50. package/dist/lib/utils/resource-utils.js +46 -34
  51. package/dist/lib/utils/response-utils.d.ts.map +1 -1
  52. package/dist/lib/utils/response-utils.js +2 -1
  53. package/dist/lib/utils/url-utils.d.ts +3 -0
  54. package/dist/lib/utils/url-utils.d.ts.map +1 -0
  55. package/dist/lib/utils/url-utils.js +14 -0
  56. package/dist/null-worker.js +1 -1
  57. package/package.json +4 -4
  58. package/src/lib/api/parse-in-batches.ts +8 -9
  59. package/src/lib/api/parse-sync.ts +8 -4
  60. package/src/lib/api/parse.ts +3 -3
  61. package/src/lib/api/select-loader.ts +7 -4
  62. package/src/lib/loader-utils/loader-context.ts +19 -8
  63. package/src/lib/utils/resource-utils.ts +54 -34
  64. package/src/lib/utils/response-utils.ts +3 -2
  65. package/src/lib/utils/url-utils.ts +12 -0
package/dist/dist.min.js CHANGED
@@ -1585,39 +1585,60 @@
1585
1585
  }
1586
1586
  });
1587
1587
 
1588
+ // src/lib/utils/url-utils.ts
1589
+ function extractQueryString(url) {
1590
+ const matches3 = url.match(QUERY_STRING_PATTERN);
1591
+ return matches3 && matches3[0];
1592
+ }
1593
+ function stripQueryString(url) {
1594
+ return url.replace(QUERY_STRING_PATTERN, "");
1595
+ }
1596
+ var QUERY_STRING_PATTERN;
1597
+ var init_url_utils = __esm({
1598
+ "src/lib/utils/url-utils.ts"() {
1599
+ QUERY_STRING_PATTERN = /\?.*/;
1600
+ }
1601
+ });
1602
+
1588
1603
  // src/lib/utils/resource-utils.ts
1589
- function getResourceUrlAndType(resource) {
1604
+ function getResourceUrl(resource) {
1590
1605
  if (isResponse(resource)) {
1591
- const url = stripQueryString(resource.url || "");
1592
- const contentTypeHeader = resource.headers.get("content-type") || "";
1593
- return {
1594
- url,
1595
- type: parseMIMEType(contentTypeHeader) || parseMIMETypeFromURL(url)
1596
- };
1606
+ const response = resource;
1607
+ return response.url;
1597
1608
  }
1598
1609
  if (isBlob(resource)) {
1599
- return {
1600
- url: stripQueryString(resource.name || ""),
1601
- type: resource.type || ""
1602
- };
1610
+ const blob = resource;
1611
+ return blob.name || "";
1603
1612
  }
1604
1613
  if (typeof resource === "string") {
1605
- return {
1606
- url: stripQueryString(resource),
1607
- type: parseMIMETypeFromURL(resource)
1608
- };
1614
+ return resource;
1609
1615
  }
1610
- return {
1611
- url: "",
1612
- type: ""
1613
- };
1616
+ return "";
1617
+ }
1618
+ function getResourceMIMEType(resource) {
1619
+ if (isResponse(resource)) {
1620
+ const response = resource;
1621
+ const contentTypeHeader = response.headers.get("content-type") || "";
1622
+ const noQueryUrl = stripQueryString(response.url);
1623
+ return parseMIMEType(contentTypeHeader) || parseMIMETypeFromURL(noQueryUrl);
1624
+ }
1625
+ if (isBlob(resource)) {
1626
+ const blob = resource;
1627
+ return blob.type || "";
1628
+ }
1629
+ if (typeof resource === "string") {
1630
+ return parseMIMETypeFromURL(resource);
1631
+ }
1632
+ return "";
1614
1633
  }
1615
1634
  function getResourceContentLength(resource) {
1616
1635
  if (isResponse(resource)) {
1617
- return resource.headers["content-length"] || -1;
1636
+ const response = resource;
1637
+ return response.headers["content-length"] || -1;
1618
1638
  }
1619
1639
  if (isBlob(resource)) {
1620
- return resource.size;
1640
+ const blob = resource;
1641
+ return blob.size;
1621
1642
  }
1622
1643
  if (typeof resource === "string") {
1623
1644
  return resource.length;
@@ -1630,15 +1651,11 @@
1630
1651
  }
1631
1652
  return -1;
1632
1653
  }
1633
- function stripQueryString(url) {
1634
- return url.replace(QUERY_STRING_PATTERN, "");
1635
- }
1636
- var QUERY_STRING_PATTERN;
1637
1654
  var init_resource_utils = __esm({
1638
1655
  "src/lib/utils/resource-utils.ts"() {
1639
1656
  init_is_type();
1640
1657
  init_mime_type_utils();
1641
- QUERY_STRING_PATTERN = /\?.*/;
1658
+ init_url_utils();
1642
1659
  }
1643
1660
  });
1644
1661
 
@@ -1652,7 +1669,8 @@
1652
1669
  if (contentLength >= 0) {
1653
1670
  headers["content-length"] = String(contentLength);
1654
1671
  }
1655
- const { url, type } = getResourceUrlAndType(resource);
1672
+ const url = getResourceUrl(resource);
1673
+ const type = getResourceMIMEType(resource);
1656
1674
  if (type) {
1657
1675
  headers["content-type"] = type;
1658
1676
  }
@@ -2732,8 +2750,9 @@
2732
2750
  return loader;
2733
2751
  }
2734
2752
  function selectLoaderInternal(data, loaders, options, context) {
2735
- const { url, type } = getResourceUrlAndType(data);
2736
- const testUrl = url || context?.url;
2753
+ const url = getResourceUrl(data);
2754
+ const type = getResourceMIMEType(data);
2755
+ const testUrl = stripQueryString(url) || context?.url;
2737
2756
  let loader = null;
2738
2757
  let reason = "";
2739
2758
  if (options?.mimeType) {
@@ -2762,7 +2781,8 @@
2762
2781
  return true;
2763
2782
  }
2764
2783
  function getNoValidLoaderMessage(data) {
2765
- const { url, type } = getResourceUrlAndType(data);
2784
+ const url = getResourceUrl(data);
2785
+ const type = getResourceMIMEType(data);
2766
2786
  let message = "No valid loader found (";
2767
2787
  message += url ? `${path_exports.filename(url)}, ` : "no url provided, ";
2768
2788
  message += `MIME type: ${type ? `"${type}"` : "not provided"}, `;
@@ -2881,6 +2901,7 @@
2881
2901
  init_resource_utils();
2882
2902
  init_register_loaders();
2883
2903
  init_is_type();
2904
+ init_url_utils();
2884
2905
  EXT_PATTERN = /\.([^.]+)$/;
2885
2906
  }
2886
2907
  });
@@ -3130,18 +3151,25 @@
3130
3151
  });
3131
3152
 
3132
3153
  // src/lib/loader-utils/loader-context.ts
3133
- function getLoaderContext(context, options, previousContext = null) {
3134
- if (previousContext) {
3135
- return previousContext;
3154
+ function getLoaderContext(context, options, parentContext) {
3155
+ if (parentContext) {
3156
+ return parentContext;
3136
3157
  }
3137
- const resolvedContext = {
3158
+ const newContext = {
3138
3159
  fetch: getFetchFunction(options, context),
3139
3160
  ...context
3140
3161
  };
3141
- if (!Array.isArray(resolvedContext.loaders)) {
3142
- resolvedContext.loaders = null;
3162
+ if (newContext.url) {
3163
+ const baseUrl = stripQueryString(newContext.url);
3164
+ newContext.baseUrl = baseUrl;
3165
+ newContext.queryString = extractQueryString(newContext.url);
3166
+ newContext.filename = path_exports.filename(baseUrl);
3167
+ newContext.baseUrl = path_exports.dirname(baseUrl);
3168
+ }
3169
+ if (!Array.isArray(newContext.loaders)) {
3170
+ newContext.loaders = null;
3143
3171
  }
3144
- return resolvedContext;
3172
+ return newContext;
3145
3173
  }
3146
3174
  function getLoadersFromContext(loaders, context) {
3147
3175
  if (!context && loaders && !Array.isArray(loaders)) {
@@ -3160,6 +3188,8 @@
3160
3188
  var init_loader_context = __esm({
3161
3189
  "src/lib/loader-utils/loader-context.ts"() {
3162
3190
  init_get_fetch_function();
3191
+ init_url_utils();
3192
+ init_src2();
3163
3193
  }
3164
3194
  });
3165
3195
 
@@ -3173,7 +3203,7 @@
3173
3203
  }
3174
3204
  data = await data;
3175
3205
  options = options || {};
3176
- const { url } = getResourceUrlAndType(data);
3206
+ const url = getResourceUrl(data);
3177
3207
  const typedLoaders = loaders;
3178
3208
  const candidateLoaders = getLoadersFromContext(typedLoaders, context);
3179
3209
  const loader = await selectLoader(data, candidateLoaders, options);
@@ -3181,7 +3211,7 @@
3181
3211
  return null;
3182
3212
  }
3183
3213
  options = normalizeOptions(options, loader, candidateLoaders, url);
3184
- context = getLoaderContext({ url, parse, loaders: candidateLoaders }, options, context);
3214
+ context = getLoaderContext({ url, parse, loaders: candidateLoaders }, options, context || null);
3185
3215
  return await parseWithLoader(loader, data, options, context);
3186
3216
  }
3187
3217
  async function parseWithLoader(loader, data, options, context) {
@@ -3239,11 +3269,11 @@
3239
3269
  return null;
3240
3270
  }
3241
3271
  options = normalizeOptions(options, loader, candidateLoaders);
3242
- const { url } = getResourceUrlAndType(data);
3272
+ const url = getResourceUrl(data);
3243
3273
  const parse2 = () => {
3244
- throw new Error("parseSync called parse");
3274
+ throw new Error("parseSync called parse (which is async");
3245
3275
  };
3246
- context = getLoaderContext({ url, parseSync, parse: parse2, loaders }, options);
3276
+ context = getLoaderContext({ url, parseSync, parse: parse2, loaders }, options, context || null);
3247
3277
  return parseWithLoaderSync(loader, data, options, context);
3248
3278
  }
3249
3279
  function parseWithLoaderSync(loader, data, options, context) {
@@ -3271,6 +3301,7 @@
3271
3301
  // src/lib/api/parse-in-batches.ts
3272
3302
  async function parseInBatches(data, loaders, options, context) {
3273
3303
  assert(!context || typeof context === "object");
3304
+ const loaderArray = Array.isArray(loaders) ? loaders : void 0;
3274
3305
  if (!Array.isArray(loaders) && !isLoaderObject(loaders)) {
3275
3306
  context = void 0;
3276
3307
  options = loaders;
@@ -3278,13 +3309,13 @@
3278
3309
  }
3279
3310
  data = await data;
3280
3311
  options = options || {};
3281
- const { url } = getResourceUrlAndType(data);
3312
+ const url = getResourceUrl(data);
3282
3313
  const loader = await selectLoader(data, loaders, options);
3283
3314
  if (!loader) {
3284
3315
  return null;
3285
3316
  }
3286
- options = normalizeOptions(options, loader, loaders, url);
3287
- context = getLoaderContext({ url, parseInBatches, parse, loaders }, options, context);
3317
+ options = normalizeOptions(options, loader, loaderArray, url);
3318
+ context = getLoaderContext({ url, parseInBatches, parse, loaders: loaderArray }, options, context || null);
3288
3319
  return await parseWithLoaderInBatches(loader, data, options, context);
3289
3320
  }
3290
3321
  async function parseWithLoaderInBatches(loader, data, options, context) {
@@ -29,44 +29,45 @@ function parseInBatches(_x2, _x3, _x4, _x5) {
29
29
  }
30
30
  function _parseInBatches() {
31
31
  _parseInBatches = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(data, loaders, options, context) {
32
- var _getResourceUrlAndTyp, url, loader;
32
+ var loaderArray, url, loader;
33
33
  return _regenerator.default.wrap(function _callee$(_context) {
34
34
  while (1) switch (_context.prev = _context.next) {
35
35
  case 0:
36
36
  (0, _loaderUtils.assert)(!context || (0, _typeof2.default)(context) === 'object');
37
+ loaderArray = Array.isArray(loaders) ? loaders : undefined;
37
38
  if (!Array.isArray(loaders) && !(0, _normalizeLoader.isLoaderObject)(loaders)) {
38
39
  context = undefined;
39
40
  options = loaders;
40
41
  loaders = undefined;
41
42
  }
42
- _context.next = 4;
43
+ _context.next = 5;
43
44
  return data;
44
- case 4:
45
+ case 5:
45
46
  data = _context.sent;
46
47
  options = options || {};
47
- _getResourceUrlAndTyp = (0, _resourceUtils.getResourceUrlAndType)(data), url = _getResourceUrlAndTyp.url;
48
- _context.next = 9;
48
+ url = (0, _resourceUtils.getResourceUrl)(data);
49
+ _context.next = 10;
49
50
  return (0, _selectLoader.selectLoader)(data, loaders, options);
50
- case 9:
51
+ case 10:
51
52
  loader = _context.sent;
52
53
  if (loader) {
53
- _context.next = 12;
54
+ _context.next = 13;
54
55
  break;
55
56
  }
56
57
  return _context.abrupt("return", null);
57
- case 12:
58
- options = (0, _optionUtils.normalizeOptions)(options, loader, loaders, url);
58
+ case 13:
59
+ options = (0, _optionUtils.normalizeOptions)(options, loader, loaderArray, url);
59
60
  context = (0, _loaderContext.getLoaderContext)({
60
61
  url: url,
61
62
  parseInBatches: parseInBatches,
62
63
  parse: _parse.parse,
63
- loaders: loaders
64
- }, options, context);
65
- _context.next = 16;
64
+ loaders: loaderArray
65
+ }, options, context || null);
66
+ _context.next = 17;
66
67
  return parseWithLoaderInBatches(loader, data, options, context);
67
- case 16:
68
- return _context.abrupt("return", _context.sent);
69
68
  case 17:
69
+ return _context.abrupt("return", _context.sent);
70
+ case 18:
70
71
  case "end":
71
72
  return _context.stop();
72
73
  }
@@ -1 +1 @@
1
- {"version":3,"file":"parse-in-batches.js","names":["_loaderUtils","require","_normalizeLoader","_optionUtils","_loaderContext","_getData","_resourceUtils","_selectLoader","_parse","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","parseInBatches","_x2","_x3","_x4","_x5","_parseInBatches","_asyncToGenerator2","_regenerator","mark","_callee","data","loaders","options","context","_getResourceUrlAndTyp","url","loader","wrap","_callee$","_context","prev","assert","_typeof2","Array","isArray","isLoaderObject","undefined","sent","getResourceUrlAndType","selectLoader","abrupt","normalizeOptions","getLoaderContext","parse","parseWithLoaderInBatches","stop","_x6","_x7","_x8","_x9","_parseWithLoaderInBatches","_callee3","outputIterator","metadataBatch","makeMetadataBatchIterator","_makeMetadataBatchIterator","_callee3$","_context3","_makeMetadataBatchIte2","_wrapAsyncGenerator2","_callee2","_callee2$","_context2","delegateYield","_asyncGeneratorDelegate2","_awaitAsyncGenerator2","_makeMetadataBatchIte","_x","parseToOutputIterator","metadata","batchType","_loader","bytesUsed","_x10","_x11","_x12","_x13","_parseToOutputIterator","_callee5","inputIterator","transformedIterator","parseChunkInBatches","_parseChunkInBatches","_callee5$","_context5","_parseChunkInBatches3","_callee4","arrayBuffer","parsedData","batch","_callee4$","_context4","concatenateArrayBuffersAsync","mimeType","mimeTypes","shape","_parseChunkInBatches2","getAsyncIterableFromData","applyInputTransforms","transforms","_x14","_applyInputTransforms","_callee6","iteratorChain","_iteratorAbruptCompletion","_didIteratorError","_iteratorError","_iterator","_step","transformBatches","_args6","_callee6$","_context6","t0","finish"],"sources":["../../../../src/lib/api/parse-in-batches.ts"],"sourcesContent":["import type {Batch} from '@loaders.gl/schema';\nimport type {\n BatchableDataType,\n Loader,\n LoaderWithParser,\n LoaderContext,\n LoaderOptions\n} from '@loaders.gl/loader-utils';\nimport {assert, concatenateArrayBuffersAsync} from '@loaders.gl/loader-utils';\nimport {isLoaderObject} from '../loader-utils/normalize-loader';\nimport {normalizeOptions} from '../loader-utils/option-utils';\nimport {getLoaderContext} from '../loader-utils/loader-context';\nimport {getAsyncIterableFromData} from '../loader-utils/get-data';\nimport {getResourceUrlAndType} from '../utils/resource-utils';\nimport {selectLoader} from './select-loader';\n\n// Ensure `parse` is available in context if loader falls back to `parse`\nimport {parse} from './parse';\n\n/**\n * Parses `data` using a specified loader\n * @param data\n * @param loaders\n * @param options\n * @param context\n */\nexport async function parseInBatches(\n data: BatchableDataType,\n loaders?: Loader | Loader[] | LoaderOptions,\n options?: LoaderOptions,\n context?: LoaderContext\n): Promise<AsyncIterable<any>> {\n assert(!context || typeof context === 'object'); // parseInBatches no longer accepts final url\n\n // Signature: parseInBatches(data, options, url) - Uses registered loaders\n if (!Array.isArray(loaders) && !isLoaderObject(loaders)) {\n context = undefined; // context not supported in short signature\n options = loaders as LoaderOptions;\n loaders = undefined;\n }\n\n data = await data; // Resolve any promise\n options = options || {};\n\n // Extract a url for auto detection\n const {url} = getResourceUrlAndType(data);\n\n // Chooses a loader and normalizes it\n // Note - only uses URL and contentType for streams and iterator inputs\n const loader = await selectLoader(data as ArrayBuffer, loaders as Loader[], options);\n // Note: if options.nothrow was set, it is possible that no loader was found, if so just return null\n if (!loader) {\n // @ts-ignore\n return null;\n }\n\n // Normalize options\n // @ts-ignore\n options = normalizeOptions(options, loader, loaders, url);\n // @ts-ignore\n context = getLoaderContext(\n // @ts-ignore\n {url, parseInBatches, parse, loaders: loaders as Loader[]},\n options,\n context\n );\n\n return await parseWithLoaderInBatches(loader as LoaderWithParser, data, options, context);\n}\n\n/**\n * Loader has been selected and context has been prepared, see if we need to emit a metadata batch\n */\nasync function parseWithLoaderInBatches(\n loader: LoaderWithParser,\n data: BatchableDataType,\n options: LoaderOptions,\n context: LoaderContext\n): Promise<AsyncIterable<any>> {\n const outputIterator = await parseToOutputIterator(loader, data, options, context);\n\n // Generate metadata batch if requested\n if (!options.metadata) {\n return outputIterator;\n }\n\n const metadataBatch = {\n batchType: 'metadata',\n metadata: {\n _loader: loader,\n _context: context\n },\n // Populate with some default fields to avoid crashing\n data: [],\n bytesUsed: 0\n };\n\n async function* makeMetadataBatchIterator(iterator) {\n yield metadataBatch;\n yield* iterator;\n }\n\n return makeMetadataBatchIterator(outputIterator);\n}\n\n/**\n * Prep work is done, now it is time to start parsing into an output operator\n * The approach depends on which parse function the loader exposes\n * `parseInBatches` (preferred), `parse` (fallback)\n */\nasync function parseToOutputIterator(\n loader: LoaderWithParser,\n data: BatchableDataType,\n options: LoaderOptions,\n context: LoaderContext\n): Promise<AsyncIterable<any>> {\n // Get an iterator from the input\n const inputIterator = await getAsyncIterableFromData(data, options);\n\n // Apply any iterator transforms (options.transforms)\n const transformedIterator = await applyInputTransforms(inputIterator, options?.transforms || []);\n\n // If loader supports parseInBatches, we are done\n if (loader.parseInBatches) {\n return loader.parseInBatches(transformedIterator, options, context);\n }\n\n // Fallback: load atomically using `parse` concatenating input iterator into single chunk\n async function* parseChunkInBatches() {\n const arrayBuffer = await concatenateArrayBuffersAsync(transformedIterator);\n // Call `parse` instead of `loader.parse` to ensure we can call workers etc.\n const parsedData = await parse(\n arrayBuffer,\n loader,\n // TODO - Hack: supply loaders MIME type to ensure we match it\n {...options, mimeType: loader.mimeTypes[0]},\n context\n );\n // yield a single batch, the output from loader.parse()\n // TODO - run through batch builder to apply options etc...\n const batch: Batch = {\n mimeType: loader.mimeTypes[0],\n shape: Array.isArray(parsedData) ? 'row-table' : 'unknown',\n batchType: 'data',\n data: parsedData,\n length: Array.isArray(parsedData) ? parsedData.length : 1\n };\n yield batch;\n }\n\n return parseChunkInBatches();\n}\n\ntype TransformBatches = (\n asyncIterator: AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>\n) => AsyncIterable<ArrayBuffer>;\n\n/**\n * Create an iterator chain with any transform iterators (crypto, decompression)\n * @param inputIterator\n * @param options\n */\nasync function applyInputTransforms(\n inputIterator: AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>,\n transforms: TransformBatches[] = []\n): Promise<AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>> {\n let iteratorChain = inputIterator;\n for await (const transformBatches of transforms) {\n iteratorChain = transformBatches(iteratorChain);\n }\n return iteratorChain;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"parse-in-batches.js","names":["_loaderUtils","require","_normalizeLoader","_optionUtils","_loaderContext","_getData","_resourceUtils","_selectLoader","_parse","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","parseInBatches","_x2","_x3","_x4","_x5","_parseInBatches","_asyncToGenerator2","_regenerator","mark","_callee","data","loaders","options","context","loaderArray","url","loader","wrap","_callee$","_context","prev","assert","_typeof2","Array","isArray","undefined","isLoaderObject","sent","getResourceUrl","selectLoader","abrupt","normalizeOptions","getLoaderContext","parse","parseWithLoaderInBatches","stop","_x6","_x7","_x8","_x9","_parseWithLoaderInBatches","_callee3","outputIterator","metadataBatch","makeMetadataBatchIterator","_makeMetadataBatchIterator","_callee3$","_context3","_makeMetadataBatchIte2","_wrapAsyncGenerator2","_callee2","_callee2$","_context2","delegateYield","_asyncGeneratorDelegate2","_awaitAsyncGenerator2","_makeMetadataBatchIte","_x","parseToOutputIterator","metadata","batchType","_loader","bytesUsed","_x10","_x11","_x12","_x13","_parseToOutputIterator","_callee5","inputIterator","transformedIterator","parseChunkInBatches","_parseChunkInBatches","_callee5$","_context5","_parseChunkInBatches3","_callee4","arrayBuffer","parsedData","batch","_callee4$","_context4","concatenateArrayBuffersAsync","mimeType","mimeTypes","shape","_parseChunkInBatches2","getAsyncIterableFromData","applyInputTransforms","transforms","_x14","_applyInputTransforms","_callee6","iteratorChain","_iteratorAbruptCompletion","_didIteratorError","_iteratorError","_iterator","_step","transformBatches","_args6","_callee6$","_context6","t0","finish"],"sources":["../../../../src/lib/api/parse-in-batches.ts"],"sourcesContent":["import type {Batch} from '@loaders.gl/schema';\nimport type {\n BatchableDataType,\n Loader,\n LoaderWithParser,\n LoaderContext,\n LoaderOptions\n} from '@loaders.gl/loader-utils';\nimport {assert, concatenateArrayBuffersAsync} from '@loaders.gl/loader-utils';\nimport {isLoaderObject} from '../loader-utils/normalize-loader';\nimport {normalizeOptions} from '../loader-utils/option-utils';\nimport {getLoaderContext} from '../loader-utils/loader-context';\nimport {getAsyncIterableFromData} from '../loader-utils/get-data';\nimport {getResourceUrl} from '../utils/resource-utils';\nimport {selectLoader} from './select-loader';\n\n// Ensure `parse` is available in context if loader falls back to `parse`\nimport {parse} from './parse';\n\n/**\n * Parses `data` using a specified loader\n * @param data\n * @param loaders\n * @param options\n * @param context\n */\nexport async function parseInBatches(\n data: BatchableDataType,\n loaders?: Loader | Loader[] | LoaderOptions,\n options?: LoaderOptions,\n context?: LoaderContext\n): Promise<AsyncIterable<any>> {\n assert(!context || typeof context === 'object'); // parseInBatches no longer accepts final url\n\n const loaderArray = Array.isArray(loaders) ? loaders : undefined;\n\n // Signature: parseInBatches(data, options, url) - Uses registered loaders\n if (!Array.isArray(loaders) && !isLoaderObject(loaders)) {\n context = undefined; // context not supported in short signature\n options = loaders as LoaderOptions;\n loaders = undefined;\n }\n\n data = await data; // Resolve any promise\n options = options || {};\n\n // Extract a url for auto detection\n const url = getResourceUrl(data);\n\n // Chooses a loader and normalizes it\n // Note - only uses URL and contentType for streams and iterator inputs\n const loader = await selectLoader(data as ArrayBuffer, loaders as Loader | Loader[], options);\n // Note: if options.nothrow was set, it is possible that no loader was found, if so just return null\n if (!loader) {\n // @ts-ignore\n return null;\n }\n\n // Normalize options\n options = normalizeOptions(options, loader, loaderArray, url);\n context = getLoaderContext(\n {url, parseInBatches, parse, loaders: loaderArray},\n options,\n context || null\n );\n\n return await parseWithLoaderInBatches(loader as LoaderWithParser, data, options, context);\n}\n\n/**\n * Loader has been selected and context has been prepared, see if we need to emit a metadata batch\n */\nasync function parseWithLoaderInBatches(\n loader: LoaderWithParser,\n data: BatchableDataType,\n options: LoaderOptions,\n context: LoaderContext\n): Promise<AsyncIterable<any>> {\n const outputIterator = await parseToOutputIterator(loader, data, options, context);\n\n // Generate metadata batch if requested\n if (!options.metadata) {\n return outputIterator;\n }\n\n const metadataBatch = {\n batchType: 'metadata',\n metadata: {\n _loader: loader,\n _context: context\n },\n // Populate with some default fields to avoid crashing\n data: [],\n bytesUsed: 0\n };\n\n async function* makeMetadataBatchIterator(iterator) {\n yield metadataBatch;\n yield* iterator;\n }\n\n return makeMetadataBatchIterator(outputIterator);\n}\n\n/**\n * Prep work is done, now it is time to start parsing into an output operator\n * The approach depends on which parse function the loader exposes\n * `parseInBatches` (preferred), `parse` (fallback)\n */\nasync function parseToOutputIterator(\n loader: LoaderWithParser,\n data: BatchableDataType,\n options: LoaderOptions,\n context: LoaderContext\n): Promise<AsyncIterable<any>> {\n // Get an iterator from the input\n const inputIterator = await getAsyncIterableFromData(data, options);\n\n // Apply any iterator transforms (options.transforms)\n const transformedIterator = await applyInputTransforms(inputIterator, options?.transforms || []);\n\n // If loader supports parseInBatches, we are done\n if (loader.parseInBatches) {\n return loader.parseInBatches(transformedIterator, options, context);\n }\n\n // Fallback: load atomically using `parse` concatenating input iterator into single chunk\n async function* parseChunkInBatches() {\n const arrayBuffer = await concatenateArrayBuffersAsync(transformedIterator);\n // Call `parse` instead of `loader.parse` to ensure we can call workers etc.\n const parsedData = await parse(\n arrayBuffer,\n loader,\n // TODO - Hack: supply loaders MIME type to ensure we match it\n {...options, mimeType: loader.mimeTypes[0]},\n context\n );\n // yield a single batch, the output from loader.parse()\n // TODO - run through batch builder to apply options etc...\n const batch: Batch = {\n mimeType: loader.mimeTypes[0],\n shape: Array.isArray(parsedData) ? 'row-table' : 'unknown',\n batchType: 'data',\n data: parsedData,\n length: Array.isArray(parsedData) ? parsedData.length : 1\n };\n yield batch;\n }\n\n return parseChunkInBatches();\n}\n\ntype TransformBatches = (\n asyncIterator: AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>\n) => AsyncIterable<ArrayBuffer>;\n\n/**\n * Create an iterator chain with any transform iterators (crypto, decompression)\n * @param inputIterator\n * @param options\n */\nasync function applyInputTransforms(\n inputIterator: AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>,\n transforms: TransformBatches[] = []\n): Promise<AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>> {\n let iteratorChain = inputIterator;\n for await (const transformBatches of transforms) {\n iteratorChain = transformBatches(iteratorChain);\n }\n return iteratorChain;\n}\n"],"mappings":"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"}
@@ -28,17 +28,16 @@ function parseSync(data, loaders, options, context) {
28
28
  return null;
29
29
  }
30
30
  options = (0, _optionUtils.normalizeOptions)(options, loader, candidateLoaders);
31
- var _getResourceUrlAndTyp = (0, _resourceUtils.getResourceUrlAndType)(data),
32
- url = _getResourceUrlAndTyp.url;
31
+ var url = (0, _resourceUtils.getResourceUrl)(data);
33
32
  var parse = function parse() {
34
- throw new Error('parseSync called parse');
33
+ throw new Error('parseSync called parse (which is async');
35
34
  };
36
35
  context = (0, _loaderContext.getLoaderContext)({
37
36
  url: url,
38
37
  parseSync: parseSync,
39
38
  parse: parse,
40
39
  loaders: loaders
41
- }, options);
40
+ }, options, context || null);
42
41
  return parseWithLoaderSync(loader, data, options, context);
43
42
  }
44
43
  function parseWithLoaderSync(loader, data, options, context) {
@@ -1 +1 @@
1
- {"version":3,"file":"parse-sync.js","names":["_loaderUtils","require","_selectLoader","_normalizeLoader","_optionUtils","_getData","_loaderContext","_resourceUtils","parseSync","data","loaders","options","context","assert","_typeof2","default","Array","isArray","isLoaderObject","undefined","typedLoaders","candidateLoaders","getLoadersFromContext","loader","selectLoaderSync","normalizeOptions","_getResourceUrlAndTyp","getResourceUrlAndType","url","parse","Error","getLoaderContext","parseWithLoaderSync","getArrayBufferOrStringFromDataSync","parseTextSync","ArrayBuffer","concat","name"],"sources":["../../../../src/lib/api/parse-sync.ts"],"sourcesContent":["import type {\n SyncDataType,\n Loader,\n LoaderWithParser,\n LoaderContext,\n LoaderOptions\n} from '@loaders.gl/loader-utils';\nimport {assert} from '@loaders.gl/loader-utils';\nimport {selectLoaderSync} from './select-loader';\nimport {isLoaderObject} from '../loader-utils/normalize-loader';\nimport {normalizeOptions} from '../loader-utils/option-utils';\nimport {getArrayBufferOrStringFromDataSync} from '../loader-utils/get-data';\nimport {getLoaderContext, getLoadersFromContext} from '../loader-utils/loader-context';\nimport {getResourceUrlAndType} from '../utils/resource-utils';\n\n/**\n * Parses `data` synchronously using a specified loader\n * @param data\n * @param loaders\n * @param options\n * @param context\n */\nexport function parseSync(\n data: SyncDataType,\n loaders?: Loader | Loader[] | LoaderOptions,\n options?: LoaderOptions,\n context?: LoaderContext\n): any {\n assert(!context || typeof context === 'object'); // parseSync no longer accepts final url\n\n // Signature: parseSync(data, options)\n // Uses registered loaders\n if (!Array.isArray(loaders) && !isLoaderObject(loaders)) {\n context = undefined; // context not supported in short signature\n options = loaders as LoaderOptions;\n loaders = undefined;\n }\n\n options = options || {};\n\n // Chooses a loader (and normalizes it)\n // Also use any loaders in the context, new loaders take priority\n const typedLoaders = loaders as Loader | Loader[] | undefined;\n const candidateLoaders = getLoadersFromContext(typedLoaders, context);\n const loader = selectLoaderSync(data, candidateLoaders, options);\n // Note: if nothrow option was set, it is possible that no loader was found, if so just return null\n if (!loader) {\n return null;\n }\n\n // Normalize options\n options = normalizeOptions(options, loader, candidateLoaders);\n\n // Extract a url for auto detection\n const {url} = getResourceUrlAndType(data);\n\n const parse = () => {\n throw new Error('parseSync called parse');\n };\n context = getLoaderContext({url, parseSync, parse, loaders: loaders as Loader[]}, options);\n\n return parseWithLoaderSync(loader as LoaderWithParser, data, options, context);\n}\n\n// TODO - should accept loader.parseSync/parse and generate 1 chunk asyncIterator\nfunction parseWithLoaderSync(\n loader: LoaderWithParser,\n data: SyncDataType,\n options: LoaderOptions,\n context: LoaderContext\n) {\n data = getArrayBufferOrStringFromDataSync(data, loader, options);\n\n if (loader.parseTextSync && typeof data === 'string') {\n return loader.parseTextSync(data, options); // , context, loader);\n }\n\n if (loader.parseSync && data instanceof ArrayBuffer) {\n return loader.parseSync(data, options, context); // , loader);\n }\n\n // TBD - If synchronous parser not available, return null\n throw new Error(\n `${loader.name} loader: 'parseSync' not supported by this loader, use 'parse' instead. ${\n context.url || ''\n }`\n );\n}\n"],"mappings":";;;;;;;;AAOA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;AACA,IAAAE,gBAAA,GAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AACA,IAAAI,QAAA,GAAAJ,OAAA;AACA,IAAAK,cAAA,GAAAL,OAAA;AACA,IAAAM,cAAA,GAAAN,OAAA;AASO,SAASO,SAASA,CACvBC,IAAkB,EAClBC,OAA2C,EAC3CC,OAAuB,EACvBC,OAAuB,EAClB;EACL,IAAAC,mBAAM,EAAC,CAACD,OAAO,IAAI,IAAAE,QAAA,CAAAC,OAAA,EAAOH,OAAO,MAAK,QAAQ,CAAC;EAI/C,IAAI,CAACI,KAAK,CAACC,OAAO,CAACP,OAAO,CAAC,IAAI,CAAC,IAAAQ,+BAAc,EAACR,OAAO,CAAC,EAAE;IACvDE,OAAO,GAAGO,SAAS;IACnBR,OAAO,GAAGD,OAAwB;IAClCA,OAAO,GAAGS,SAAS;EACrB;EAEAR,OAAO,GAAGA,OAAO,IAAI,CAAC,CAAC;EAIvB,IAAMS,YAAY,GAAGV,OAAwC;EAC7D,IAAMW,gBAAgB,GAAG,IAAAC,oCAAqB,EAACF,YAAY,EAAER,OAAO,CAAC;EACrE,IAAMW,MAAM,GAAG,IAAAC,8BAAgB,EAACf,IAAI,EAAEY,gBAAgB,EAAEV,OAAO,CAAC;EAEhE,IAAI,CAACY,MAAM,EAAE;IACX,OAAO,IAAI;EACb;EAGAZ,OAAO,GAAG,IAAAc,6BAAgB,EAACd,OAAO,EAAEY,MAAM,EAAEF,gBAAgB,CAAC;EAG7D,IAAAK,qBAAA,GAAc,IAAAC,oCAAqB,EAAClB,IAAI,CAAC;IAAlCmB,GAAG,GAAAF,qBAAA,CAAHE,GAAG;EAEV,IAAMC,KAAK,GAAG,SAARA,KAAKA,CAAA,EAAS;IAClB,MAAM,IAAIC,KAAK,CAAC,wBAAwB,CAAC;EAC3C,CAAC;EACDlB,OAAO,GAAG,IAAAmB,+BAAgB,EAAC;IAACH,GAAG,EAAHA,GAAG;IAAEpB,SAAS,EAATA,SAAS;IAAEqB,KAAK,EAALA,KAAK;IAAEnB,OAAO,EAAEA;EAAmB,CAAC,EAAEC,OAAO,CAAC;EAE1F,OAAOqB,mBAAmB,CAACT,MAAM,EAAsBd,IAAI,EAAEE,OAAO,EAAEC,OAAO,CAAC;AAChF;AAGA,SAASoB,mBAAmBA,CAC1BT,MAAwB,EACxBd,IAAkB,EAClBE,OAAsB,EACtBC,OAAsB,EACtB;EACAH,IAAI,GAAG,IAAAwB,2CAAkC,EAACxB,IAAI,EAAEc,MAAM,EAAEZ,OAAO,CAAC;EAEhE,IAAIY,MAAM,CAACW,aAAa,IAAI,OAAOzB,IAAI,KAAK,QAAQ,EAAE;IACpD,OAAOc,MAAM,CAACW,aAAa,CAACzB,IAAI,EAAEE,OAAO,CAAC;EAC5C;EAEA,IAAIY,MAAM,CAACf,SAAS,IAAIC,IAAI,YAAY0B,WAAW,EAAE;IACnD,OAAOZ,MAAM,CAACf,SAAS,CAACC,IAAI,EAAEE,OAAO,EAAEC,OAAO,CAAC;EACjD;EAGA,MAAM,IAAIkB,KAAK,IAAAM,MAAA,CACVb,MAAM,CAACc,IAAI,8EAAAD,MAAA,CACZxB,OAAO,CAACgB,GAAG,IAAI,EAAE,CAErB,CAAC;AACH"}
1
+ {"version":3,"file":"parse-sync.js","names":["_loaderUtils","require","_selectLoader","_normalizeLoader","_optionUtils","_getData","_loaderContext","_resourceUtils","parseSync","data","loaders","options","context","assert","_typeof2","default","Array","isArray","isLoaderObject","undefined","typedLoaders","candidateLoaders","getLoadersFromContext","loader","selectLoaderSync","normalizeOptions","url","getResourceUrl","parse","Error","getLoaderContext","parseWithLoaderSync","getArrayBufferOrStringFromDataSync","parseTextSync","ArrayBuffer","concat","name"],"sources":["../../../../src/lib/api/parse-sync.ts"],"sourcesContent":["import type {\n SyncDataType,\n Loader,\n LoaderWithParser,\n LoaderContext,\n LoaderOptions\n} from '@loaders.gl/loader-utils';\nimport {assert} from '@loaders.gl/loader-utils';\nimport {selectLoaderSync} from './select-loader';\nimport {isLoaderObject} from '../loader-utils/normalize-loader';\nimport {normalizeOptions} from '../loader-utils/option-utils';\nimport {getArrayBufferOrStringFromDataSync} from '../loader-utils/get-data';\nimport {getLoaderContext, getLoadersFromContext} from '../loader-utils/loader-context';\nimport {getResourceUrl} from '../utils/resource-utils';\n\n/**\n * Parses `data` synchronously using a specified loader\n * @param data\n * @param loaders\n * @param options\n * @param context\n */\nexport function parseSync(\n data: SyncDataType,\n loaders?: Loader | Loader[] | LoaderOptions,\n options?: LoaderOptions,\n context?: LoaderContext\n): any {\n assert(!context || typeof context === 'object'); // parseSync no longer accepts final url\n\n // Signature: parseSync(data, options)\n // Uses registered loaders\n if (!Array.isArray(loaders) && !isLoaderObject(loaders)) {\n context = undefined; // context not supported in short signature\n options = loaders as LoaderOptions;\n loaders = undefined;\n }\n\n options = options || {};\n\n // Chooses a loader (and normalizes it)\n // Also use any loaders in the context, new loaders take priority\n const typedLoaders = loaders as Loader | Loader[] | undefined;\n const candidateLoaders = getLoadersFromContext(typedLoaders, context);\n const loader = selectLoaderSync(data, candidateLoaders, options);\n // Note: if nothrow option was set, it is possible that no loader was found, if so just return null\n if (!loader) {\n return null;\n }\n\n // Normalize options\n options = normalizeOptions(options, loader, candidateLoaders);\n\n // Extract a url for auto detection\n const url = getResourceUrl(data);\n\n const parse = () => {\n throw new Error('parseSync called parse (which is async');\n };\n context = getLoaderContext(\n {url, parseSync, parse, loaders: loaders as Loader[]},\n options,\n context || null\n );\n\n return parseWithLoaderSync(loader as LoaderWithParser, data, options, context);\n}\n\n// TODO - should accept loader.parseSync/parse and generate 1 chunk asyncIterator\nfunction parseWithLoaderSync(\n loader: LoaderWithParser,\n data: SyncDataType,\n options: LoaderOptions,\n context: LoaderContext\n) {\n data = getArrayBufferOrStringFromDataSync(data, loader, options);\n\n if (loader.parseTextSync && typeof data === 'string') {\n return loader.parseTextSync(data, options); // , context, loader);\n }\n\n if (loader.parseSync && data instanceof ArrayBuffer) {\n return loader.parseSync(data, options, context); // , loader);\n }\n\n // TBD - If synchronous parser not available, return null\n throw new Error(\n `${loader.name} loader: 'parseSync' not supported by this loader, use 'parse' instead. ${\n context.url || ''\n }`\n );\n}\n"],"mappings":";;;;;;;;AAOA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;AACA,IAAAE,gBAAA,GAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AACA,IAAAI,QAAA,GAAAJ,OAAA;AACA,IAAAK,cAAA,GAAAL,OAAA;AACA,IAAAM,cAAA,GAAAN,OAAA;AASO,SAASO,SAASA,CACvBC,IAAkB,EAClBC,OAA2C,EAC3CC,OAAuB,EACvBC,OAAuB,EAClB;EACL,IAAAC,mBAAM,EAAC,CAACD,OAAO,IAAI,IAAAE,QAAA,CAAAC,OAAA,EAAOH,OAAO,MAAK,QAAQ,CAAC;EAI/C,IAAI,CAACI,KAAK,CAACC,OAAO,CAACP,OAAO,CAAC,IAAI,CAAC,IAAAQ,+BAAc,EAACR,OAAO,CAAC,EAAE;IACvDE,OAAO,GAAGO,SAAS;IACnBR,OAAO,GAAGD,OAAwB;IAClCA,OAAO,GAAGS,SAAS;EACrB;EAEAR,OAAO,GAAGA,OAAO,IAAI,CAAC,CAAC;EAIvB,IAAMS,YAAY,GAAGV,OAAwC;EAC7D,IAAMW,gBAAgB,GAAG,IAAAC,oCAAqB,EAACF,YAAY,EAAER,OAAO,CAAC;EACrE,IAAMW,MAAM,GAAG,IAAAC,8BAAgB,EAACf,IAAI,EAAEY,gBAAgB,EAAEV,OAAO,CAAC;EAEhE,IAAI,CAACY,MAAM,EAAE;IACX,OAAO,IAAI;EACb;EAGAZ,OAAO,GAAG,IAAAc,6BAAgB,EAACd,OAAO,EAAEY,MAAM,EAAEF,gBAAgB,CAAC;EAG7D,IAAMK,GAAG,GAAG,IAAAC,6BAAc,EAAClB,IAAI,CAAC;EAEhC,IAAMmB,KAAK,GAAG,SAARA,KAAKA,CAAA,EAAS;IAClB,MAAM,IAAIC,KAAK,CAAC,wCAAwC,CAAC;EAC3D,CAAC;EACDjB,OAAO,GAAG,IAAAkB,+BAAgB,EACxB;IAACJ,GAAG,EAAHA,GAAG;IAAElB,SAAS,EAATA,SAAS;IAAEoB,KAAK,EAALA,KAAK;IAAElB,OAAO,EAAEA;EAAmB,CAAC,EACrDC,OAAO,EACPC,OAAO,IAAI,IACb,CAAC;EAED,OAAOmB,mBAAmB,CAACR,MAAM,EAAsBd,IAAI,EAAEE,OAAO,EAAEC,OAAO,CAAC;AAChF;AAGA,SAASmB,mBAAmBA,CAC1BR,MAAwB,EACxBd,IAAkB,EAClBE,OAAsB,EACtBC,OAAsB,EACtB;EACAH,IAAI,GAAG,IAAAuB,2CAAkC,EAACvB,IAAI,EAAEc,MAAM,EAAEZ,OAAO,CAAC;EAEhE,IAAIY,MAAM,CAACU,aAAa,IAAI,OAAOxB,IAAI,KAAK,QAAQ,EAAE;IACpD,OAAOc,MAAM,CAACU,aAAa,CAACxB,IAAI,EAAEE,OAAO,CAAC;EAC5C;EAEA,IAAIY,MAAM,CAACf,SAAS,IAAIC,IAAI,YAAYyB,WAAW,EAAE;IACnD,OAAOX,MAAM,CAACf,SAAS,CAACC,IAAI,EAAEE,OAAO,EAAEC,OAAO,CAAC;EACjD;EAGA,MAAM,IAAIiB,KAAK,IAAAM,MAAA,CACVZ,MAAM,CAACa,IAAI,8EAAAD,MAAA,CACZvB,OAAO,CAACc,GAAG,IAAI,EAAE,CAErB,CAAC;AACH"}
@@ -22,7 +22,7 @@ function parse(_x, _x2, _x3, _x4) {
22
22
  }
23
23
  function _parse() {
24
24
  _parse = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(data, loaders, options, context) {
25
- var _getResourceUrlAndTyp, url, typedLoaders, candidateLoaders, loader;
25
+ var url, typedLoaders, candidateLoaders, loader;
26
26
  return _regenerator.default.wrap(function _callee$(_context) {
27
27
  while (1) switch (_context.prev = _context.next) {
28
28
  case 0:
@@ -37,7 +37,7 @@ function _parse() {
37
37
  case 4:
38
38
  data = _context.sent;
39
39
  options = options || {};
40
- _getResourceUrlAndTyp = (0, _resourceUtils.getResourceUrlAndType)(data), url = _getResourceUrlAndTyp.url;
40
+ url = (0, _resourceUtils.getResourceUrl)(data);
41
41
  typedLoaders = loaders;
42
42
  candidateLoaders = (0, _loaderContext.getLoadersFromContext)(typedLoaders, context);
43
43
  _context.next = 11;
@@ -55,7 +55,7 @@ function _parse() {
55
55
  url: url,
56
56
  parse: parse,
57
57
  loaders: candidateLoaders
58
- }, options, context);
58
+ }, options, context || null);
59
59
  _context.next = 18;
60
60
  return parseWithLoader(loader, data, options, context);
61
61
  case 18:
@@ -1 +1 @@
1
- {"version":3,"file":"parse.js","names":["_workerUtils","require","_loaderUtils","_normalizeLoader","_isType","_optionUtils","_getData","_loaderContext","_resourceUtils","_selectLoader","parse","_x","_x2","_x3","_x4","_parse","apply","arguments","_asyncToGenerator2","default","_regenerator","mark","_callee","data","loaders","options","context","_getResourceUrlAndTyp","url","typedLoaders","candidateLoaders","loader","wrap","_callee$","_context","prev","next","assert","_typeof2","Array","isArray","isLoaderObject","undefined","sent","getResourceUrlAndType","getLoadersFromContext","selectLoader","abrupt","normalizeOptions","getLoaderContext","parseWithLoader","stop","_x5","_x6","_x7","_x8","_parseWithLoader","_callee2","response","ok","redirected","status","statusText","type","headers","_callee2$","_context2","validateWorkerVersion","isResponse","Object","fromEntries","entries","getArrayBufferOrStringFromData","parseTextSync","dataType","canParseWithWorker","parseWithWorker","parseText","parseSync","Error","concat","id"],"sources":["../../../../src/lib/api/parse.ts"],"sourcesContent":["import type {DataType, Loader, LoaderContext, LoaderOptions} from '@loaders.gl/loader-utils';\nimport {assert, validateWorkerVersion} from '@loaders.gl/worker-utils';\nimport {parseWithWorker, canParseWithWorker} from '@loaders.gl/loader-utils';\nimport {isLoaderObject} from '../loader-utils/normalize-loader';\nimport {isResponse} from '../../javascript-utils/is-type';\nimport {normalizeOptions} from '../loader-utils/option-utils';\nimport {getArrayBufferOrStringFromData} from '../loader-utils/get-data';\nimport {getLoaderContext, getLoadersFromContext} from '../loader-utils/loader-context';\nimport {getResourceUrlAndType} from '../utils/resource-utils';\nimport {selectLoader} from './select-loader';\n\n/**\n * Parses `data` using a specified loader\n * @param data\n * @param loaders\n * @param options\n * @param context\n */\nexport async function parse(\n data: DataType | Promise<DataType>,\n loaders?: Loader | Loader[] | LoaderOptions,\n options?: LoaderOptions,\n context?: LoaderContext\n): Promise<any> {\n assert(!context || typeof context === 'object'); // parse no longer accepts final url\n\n // Signature: parse(data, options, context | url)\n // Uses registered loaders\n if (loaders && !Array.isArray(loaders) && !isLoaderObject(loaders)) {\n context = undefined; // context not supported in short signature\n options = loaders as LoaderOptions;\n loaders = undefined;\n }\n\n data = await data; // Resolve any promise\n options = options || {};\n\n // Extract a url for auto detection\n const {url} = getResourceUrlAndType(data);\n\n // Chooses a loader (and normalizes it)\n // Also use any loaders in the context, new loaders take priority\n const typedLoaders = loaders as Loader | Loader[] | undefined;\n const candidateLoaders = getLoadersFromContext(typedLoaders, context);\n // todo hacky type cast\n const loader = await selectLoader(data as ArrayBuffer, candidateLoaders, options);\n // Note: if no loader was found, if so just return null\n if (!loader) {\n return null;\n }\n\n // Normalize options\n options = normalizeOptions(options, loader, candidateLoaders, url);\n\n // Get a context (if already present, will be unchanged)\n context = getLoaderContext({url, parse, loaders: candidateLoaders}, options, context);\n\n return await parseWithLoader(loader, data, options, context);\n}\n\n// TODO: support progress and abort\n// TODO - should accept loader.parseAsyncIterator and concatenate.\nasync function parseWithLoader(loader, data, options, context) {\n validateWorkerVersion(loader);\n\n if (isResponse(data)) {\n // Serialize to support passing the response to web worker\n const response = data as Response;\n const {ok, redirected, status, statusText, type, url} = response;\n const headers = Object.fromEntries(response.headers.entries());\n context.response = {headers, ok, redirected, status, statusText, type, url};\n }\n\n data = await getArrayBufferOrStringFromData(data, loader, options);\n\n // First check for synchronous text parser, wrap results in promises\n if (loader.parseTextSync && typeof data === 'string') {\n options.dataType = 'text';\n return loader.parseTextSync(data, options, context, loader);\n }\n\n // If we have a workerUrl and the loader can parse the given options efficiently in a worker\n if (canParseWithWorker(loader, options)) {\n return await parseWithWorker(loader, data, options, context, parse);\n }\n\n // Check for asynchronous parser\n if (loader.parseText && typeof data === 'string') {\n return await loader.parseText(data, options, context, loader);\n }\n\n if (loader.parse) {\n return await loader.parse(data, options, context, loader);\n }\n\n // This should not happen, all sync loaders should also offer `parse` function\n assert(!loader.parseSync);\n\n // TBD - If asynchronous parser not available, return null\n throw new Error(`${loader.id} loader - no parser found and worker is disabled`);\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"parse.js","names":["_workerUtils","require","_loaderUtils","_normalizeLoader","_isType","_optionUtils","_getData","_loaderContext","_resourceUtils","_selectLoader","parse","_x","_x2","_x3","_x4","_parse","apply","arguments","_asyncToGenerator2","default","_regenerator","mark","_callee","data","loaders","options","context","url","typedLoaders","candidateLoaders","loader","wrap","_callee$","_context","prev","next","assert","_typeof2","Array","isArray","isLoaderObject","undefined","sent","getResourceUrl","getLoadersFromContext","selectLoader","abrupt","normalizeOptions","getLoaderContext","parseWithLoader","stop","_x5","_x6","_x7","_x8","_parseWithLoader","_callee2","response","ok","redirected","status","statusText","type","headers","_callee2$","_context2","validateWorkerVersion","isResponse","Object","fromEntries","entries","getArrayBufferOrStringFromData","parseTextSync","dataType","canParseWithWorker","parseWithWorker","parseText","parseSync","Error","concat","id"],"sources":["../../../../src/lib/api/parse.ts"],"sourcesContent":["import type {DataType, Loader, LoaderContext, LoaderOptions} from '@loaders.gl/loader-utils';\nimport {assert, validateWorkerVersion} from '@loaders.gl/worker-utils';\nimport {parseWithWorker, canParseWithWorker} from '@loaders.gl/loader-utils';\nimport {isLoaderObject} from '../loader-utils/normalize-loader';\nimport {isResponse} from '../../javascript-utils/is-type';\nimport {normalizeOptions} from '../loader-utils/option-utils';\nimport {getArrayBufferOrStringFromData} from '../loader-utils/get-data';\nimport {getLoaderContext, getLoadersFromContext} from '../loader-utils/loader-context';\nimport {getResourceUrl} from '../utils/resource-utils';\nimport {selectLoader} from './select-loader';\n\n/**\n * Parses `data` using a specified loader\n * @param data\n * @param loaders\n * @param options\n * @param context\n */\nexport async function parse(\n data: DataType | Promise<DataType>,\n loaders?: Loader | Loader[] | LoaderOptions,\n options?: LoaderOptions,\n context?: LoaderContext\n): Promise<any> {\n assert(!context || typeof context === 'object'); // parse no longer accepts final url\n\n // Signature: parse(data, options, context | url)\n // Uses registered loaders\n if (loaders && !Array.isArray(loaders) && !isLoaderObject(loaders)) {\n context = undefined; // context not supported in short signature\n options = loaders as LoaderOptions;\n loaders = undefined;\n }\n\n data = await data; // Resolve any promise\n options = options || {};\n\n // Extract a url for auto detection\n const url = getResourceUrl(data);\n\n // Chooses a loader (and normalizes it)\n // Also use any loaders in the context, new loaders take priority\n const typedLoaders = loaders as Loader | Loader[] | undefined;\n const candidateLoaders = getLoadersFromContext(typedLoaders, context);\n // todo hacky type cast\n const loader = await selectLoader(data as ArrayBuffer, candidateLoaders, options);\n // Note: if no loader was found, if so just return null\n if (!loader) {\n return null;\n }\n\n // Normalize options\n options = normalizeOptions(options, loader, candidateLoaders, url);\n\n // Get a context (if already present, will be unchanged)\n context = getLoaderContext({url, parse, loaders: candidateLoaders}, options, context || null);\n\n return await parseWithLoader(loader, data, options, context);\n}\n\n// TODO: support progress and abort\n// TODO - should accept loader.parseAsyncIterator and concatenate.\nasync function parseWithLoader(loader, data, options, context) {\n validateWorkerVersion(loader);\n\n if (isResponse(data)) {\n // Serialize to support passing the response to web worker\n const response = data as Response;\n const {ok, redirected, status, statusText, type, url} = response;\n const headers = Object.fromEntries(response.headers.entries());\n context.response = {headers, ok, redirected, status, statusText, type, url};\n }\n\n data = await getArrayBufferOrStringFromData(data, loader, options);\n\n // First check for synchronous text parser, wrap results in promises\n if (loader.parseTextSync && typeof data === 'string') {\n options.dataType = 'text';\n return loader.parseTextSync(data, options, context, loader);\n }\n\n // If we have a workerUrl and the loader can parse the given options efficiently in a worker\n if (canParseWithWorker(loader, options)) {\n return await parseWithWorker(loader, data, options, context, parse);\n }\n\n // Check for asynchronous parser\n if (loader.parseText && typeof data === 'string') {\n return await loader.parseText(data, options, context, loader);\n }\n\n if (loader.parse) {\n return await loader.parse(data, options, context, loader);\n }\n\n // This should not happen, all sync loaders should also offer `parse` function\n assert(!loader.parseSync);\n\n // TBD - If asynchronous parser not available, return null\n throw new Error(`${loader.id} loader - no parser found and worker is disabled`);\n}\n"],"mappings":"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"}
@@ -17,6 +17,7 @@ var _log = require("../utils/log");
17
17
  var _resourceUtils = require("../utils/resource-utils");
18
18
  var _registerLoaders = require("./register-loaders");
19
19
  var _isType = require("../../javascript-utils/is-type");
20
+ var _urlUtils = require("../utils/url-utils");
20
21
  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
22
  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
23
  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; } } }; }
@@ -105,10 +106,9 @@ function selectLoaderSync(data) {
105
106
  return loader;
106
107
  }
107
108
  function selectLoaderInternal(data, loaders, options, context) {
108
- var _getResourceUrlAndTyp = (0, _resourceUtils.getResourceUrlAndType)(data),
109
- url = _getResourceUrlAndTyp.url,
110
- type = _getResourceUrlAndTyp.type;
111
- var testUrl = url || (context === null || context === void 0 ? void 0 : context.url);
109
+ var url = (0, _resourceUtils.getResourceUrl)(data);
110
+ var type = (0, _resourceUtils.getResourceMIMEType)(data);
111
+ var testUrl = (0, _urlUtils.stripQueryString)(url) || (context === null || context === void 0 ? void 0 : context.url);
112
112
  var loader = null;
113
113
  var reason = '';
114
114
  if (options !== null && options !== void 0 && options.mimeType) {
@@ -138,9 +138,8 @@ function validHTTPResponse(data) {
138
138
  return true;
139
139
  }
140
140
  function getNoValidLoaderMessage(data) {
141
- var _getResourceUrlAndTyp2 = (0, _resourceUtils.getResourceUrlAndType)(data),
142
- url = _getResourceUrlAndTyp2.url,
143
- type = _getResourceUrlAndTyp2.type;
141
+ var url = (0, _resourceUtils.getResourceUrl)(data);
142
+ var type = (0, _resourceUtils.getResourceMIMEType)(data);
144
143
  var message = 'No valid loader found (';
145
144
  message += url ? "".concat(_loaderUtils.path.filename(url), ", ") : 'no url provided, ';
146
145
  message += "MIME type: ".concat(type ? "\"".concat(type, "\"") : 'not provided', ", ");