@loaders.gl/core 4.1.0-alpha.1 → 4.1.0-alpha.11

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 (139) hide show
  1. package/dist/core-addons/write-file-browser.js.map +1 -1
  2. package/dist/dist.dev.js +46 -38
  3. package/dist/index.cjs +55 -65
  4. package/dist/index.d.ts.map +1 -1
  5. package/dist/index.js.map +1 -1
  6. package/dist/iterators/batch-iterators/timed-batch-iterator.d.ts.map +1 -1
  7. package/dist/iterators/batch-iterators/timed-batch-iterator.js.map +1 -1
  8. package/dist/iterators/make-iterator/make-array-buffer-iterator.d.ts.map +1 -1
  9. package/dist/iterators/make-iterator/make-array-buffer-iterator.js.map +1 -1
  10. package/dist/iterators/make-iterator/make-blob-iterator.d.ts.map +1 -1
  11. package/dist/iterators/make-iterator/make-blob-iterator.js.map +1 -1
  12. package/dist/iterators/make-iterator/make-iterator.d.ts.map +1 -1
  13. package/dist/iterators/make-iterator/make-iterator.js.map +1 -1
  14. package/dist/iterators/make-iterator/make-stream-iterator.d.ts.map +1 -1
  15. package/dist/iterators/make-iterator/make-stream-iterator.js.map +1 -1
  16. package/dist/iterators/make-iterator/make-string-iterator.d.ts.map +1 -1
  17. package/dist/iterators/make-iterator/make-string-iterator.js.map +1 -1
  18. package/dist/iterators/make-stream/make-stream.d.ts.map +1 -1
  19. package/dist/iterators/make-stream/make-stream.js.map +1 -1
  20. package/dist/javascript-utils/is-type.d.ts.map +1 -1
  21. package/dist/javascript-utils/is-type.js.map +1 -1
  22. package/dist/lib/api/encode-table.d.ts.map +1 -1
  23. package/dist/lib/api/encode-table.js.map +1 -1
  24. package/dist/lib/api/encode.d.ts +6 -2
  25. package/dist/lib/api/encode.d.ts.map +1 -1
  26. package/dist/lib/api/encode.js +35 -34
  27. package/dist/lib/api/encode.js.map +1 -1
  28. package/dist/lib/api/load-in-batches.d.ts.map +1 -1
  29. package/dist/lib/api/load-in-batches.js.map +1 -1
  30. package/dist/lib/api/load.d.ts.map +1 -1
  31. package/dist/lib/api/load.js.map +1 -1
  32. package/dist/lib/api/loader-options.d.ts.map +1 -1
  33. package/dist/lib/api/loader-options.js.map +1 -1
  34. package/dist/lib/api/parse-in-batches.d.ts.map +1 -1
  35. package/dist/lib/api/parse-in-batches.js +1 -0
  36. package/dist/lib/api/parse-in-batches.js.map +1 -1
  37. package/dist/lib/api/parse-sync.d.ts.map +1 -1
  38. package/dist/lib/api/parse-sync.js.map +1 -1
  39. package/dist/lib/api/parse.d.ts.map +1 -1
  40. package/dist/lib/api/parse.js.map +1 -1
  41. package/dist/lib/api/register-loaders.d.ts.map +1 -1
  42. package/dist/lib/api/register-loaders.js.map +1 -1
  43. package/dist/lib/api/select-loader.d.ts.map +1 -1
  44. package/dist/lib/api/select-loader.js.map +1 -1
  45. package/dist/lib/common.d.ts.map +1 -1
  46. package/dist/lib/common.js.map +1 -1
  47. package/dist/lib/fetch/fetch-error-message.d.ts.map +1 -1
  48. package/dist/lib/fetch/fetch-error-message.js.map +1 -1
  49. package/dist/lib/fetch/fetch-file.d.ts.map +1 -1
  50. package/dist/lib/fetch/fetch-file.js.map +1 -1
  51. package/dist/lib/fetch/read-array-buffer.d.ts.map +1 -1
  52. package/dist/lib/fetch/read-array-buffer.js.map +1 -1
  53. package/dist/lib/filesystems/browser-filesystem.d.ts.map +1 -1
  54. package/dist/lib/filesystems/browser-filesystem.js.map +1 -1
  55. package/dist/lib/filesystems/read-array-buffer.d.ts.map +1 -1
  56. package/dist/lib/filesystems/read-array-buffer.js.map +1 -1
  57. package/dist/lib/init.d.ts.map +1 -1
  58. package/dist/lib/init.js +1 -1
  59. package/dist/lib/init.js.map +1 -1
  60. package/dist/lib/loader-utils/check-errors.d.ts.map +1 -1
  61. package/dist/lib/loader-utils/check-errors.js.map +1 -1
  62. package/dist/lib/loader-utils/get-data.d.ts.map +1 -1
  63. package/dist/lib/loader-utils/get-data.js.map +1 -1
  64. package/dist/lib/loader-utils/get-fetch-function.d.ts.map +1 -1
  65. package/dist/lib/loader-utils/get-fetch-function.js.map +1 -1
  66. package/dist/lib/loader-utils/loader-context.d.ts.map +1 -1
  67. package/dist/lib/loader-utils/loader-context.js.map +1 -1
  68. package/dist/lib/loader-utils/loggers.d.ts.map +1 -1
  69. package/dist/lib/loader-utils/loggers.js.map +1 -1
  70. package/dist/lib/loader-utils/normalize-loader.d.ts.map +1 -1
  71. package/dist/lib/loader-utils/normalize-loader.js.map +1 -1
  72. package/dist/lib/loader-utils/option-defaults.d.ts.map +1 -1
  73. package/dist/lib/loader-utils/option-defaults.js.map +1 -1
  74. package/dist/lib/loader-utils/option-utils.d.ts.map +1 -1
  75. package/dist/lib/loader-utils/option-utils.js.map +1 -1
  76. package/dist/lib/progress/fetch-progress.d.ts.map +1 -1
  77. package/dist/lib/progress/fetch-progress.js.map +1 -1
  78. package/dist/lib/utils/log.d.ts.map +1 -1
  79. package/dist/lib/utils/log.js.map +1 -1
  80. package/dist/lib/utils/mime-type-utils.d.ts.map +1 -1
  81. package/dist/lib/utils/mime-type-utils.js.map +1 -1
  82. package/dist/lib/utils/resource-utils.d.ts.map +1 -1
  83. package/dist/lib/utils/resource-utils.js.map +1 -1
  84. package/dist/lib/utils/response-utils.d.ts.map +1 -1
  85. package/dist/lib/utils/response-utils.js.map +1 -1
  86. package/dist/lib/utils/url-utils.d.ts.map +1 -1
  87. package/dist/lib/utils/url-utils.js.map +1 -1
  88. package/dist/null-loader.d.ts.map +1 -1
  89. package/dist/null-loader.js +1 -1
  90. package/dist/null-loader.js.map +1 -1
  91. package/dist/null-worker-node.js +1 -1
  92. package/dist/null-worker.js +1 -1
  93. package/dist/workers/null-worker-node.js.map +1 -1
  94. package/dist/workers/null-worker.js.map +1 -1
  95. package/package.json +6 -6
  96. package/src/core-addons/write-file-browser.ts +2 -1
  97. package/src/index.ts +2 -1
  98. package/src/iterators/batch-iterators/timed-batch-iterator.ts +2 -1
  99. package/src/iterators/make-iterator/make-array-buffer-iterator.ts +2 -1
  100. package/src/iterators/make-iterator/make-blob-iterator.ts +2 -1
  101. package/src/iterators/make-iterator/make-iterator.ts +2 -1
  102. package/src/iterators/make-iterator/make-stream-iterator.ts +2 -1
  103. package/src/iterators/make-iterator/make-string-iterator.ts +2 -1
  104. package/src/iterators/make-stream/make-stream.ts +2 -1
  105. package/src/javascript-utils/is-type.ts +2 -1
  106. package/src/lib/api/encode-table.ts +2 -1
  107. package/src/lib/api/encode.ts +64 -55
  108. package/src/lib/api/load-in-batches.ts +2 -1
  109. package/src/lib/api/load.ts +2 -1
  110. package/src/lib/api/loader-options.ts +2 -1
  111. package/src/lib/api/parse-in-batches.ts +3 -1
  112. package/src/lib/api/parse-sync.ts +2 -1
  113. package/src/lib/api/parse.ts +2 -1
  114. package/src/lib/api/register-loaders.ts +2 -1
  115. package/src/lib/api/select-loader.ts +2 -1
  116. package/src/lib/common.ts +2 -1
  117. package/src/lib/fetch/fetch-error-message.ts +2 -1
  118. package/src/lib/fetch/fetch-file.ts +2 -1
  119. package/src/lib/fetch/read-array-buffer.ts +2 -1
  120. package/src/lib/filesystems/browser-filesystem.ts +2 -1
  121. package/src/lib/filesystems/read-array-buffer.ts +2 -1
  122. package/src/lib/init.ts +2 -1
  123. package/src/lib/loader-utils/check-errors.ts +2 -1
  124. package/src/lib/loader-utils/get-data.ts +2 -1
  125. package/src/lib/loader-utils/get-fetch-function.ts +2 -1
  126. package/src/lib/loader-utils/loader-context.ts +2 -1
  127. package/src/lib/loader-utils/loggers.ts +2 -1
  128. package/src/lib/loader-utils/normalize-loader.ts +2 -1
  129. package/src/lib/loader-utils/option-defaults.ts +2 -1
  130. package/src/lib/loader-utils/option-utils.ts +2 -1
  131. package/src/lib/progress/fetch-progress.ts +2 -1
  132. package/src/lib/utils/log.ts +2 -1
  133. package/src/lib/utils/mime-type-utils.ts +2 -1
  134. package/src/lib/utils/resource-utils.ts +2 -1
  135. package/src/lib/utils/response-utils.ts +2 -1
  136. package/src/lib/utils/url-utils.ts +2 -1
  137. package/src/null-loader.ts +2 -1
  138. package/src/workers/null-worker-node.ts +2 -1
  139. package/src/workers/null-worker.ts +2 -1
@@ -1 +1 @@
1
- {"version":3,"file":"write-file-browser.js","names":[],"sources":["../../src/core-addons/write-file-browser.ts"],"sourcesContent":["// loaders.gl, MIT license\n// Copyright (c) vis.gl contributors\n\n// A browser implementation of the Node.js `fs` module's `fs.writeFile` method.\n// NOTE: WAS COMMENTED OUT TO GET NODE 8 TESTS RUNNING\n\n/*\n/* global global *\n/* global Blob *\nimport {isBrowser} from '@loaders.gl/core';\n\n// TODO hack - trick filesaver.js to skip loading under node\nconst savedNavigatorExists = 'navigator' in global;\nconst savedNavigator = globalThis.navigator;\nif (!isBrowser) {\n globalThis.navigator = {userAgent: 'MSIE 9.'};\n}\n\n// Need to use `require` to ensure our modification of global code above happens first\nconst saveAs = require('filesaver.js');\n\nif (!isBrowser) {\n if (savedNavigatorExists) {\n globalThis.navigator = savedNavigator;\n } else {\n delete globalThis.navigator;\n }\n}\n// END hack\n\n/**\n * File system write function for the browser, similar to Node's fs.writeFile\n *\n * Saves a file by downloading it with the given file name.\n *\n * @param {String} file - file name\n * @param {String|Blob} data - data to be written to file\n * @param {String|Object} options -\n * @param {Function} callback - Standard node (err, data) callback\n * @return {Promise} - promise, can be used instead of callback\n *\nasync export function writeFile(file, data, options, callback = () => {}) {\n // options is optional\n if (callback === undefined && typeof options === 'function') {\n options = undefined;\n callback = options;\n }\n if (typeof data === 'string') {\n data = new Blob(data);\n }\n return new Promise((resolve, reject) => {\n let result;\n try {\n result = saveAs(data, file, options);\n } catch (error) {\n reject(error);\n return callback(error, null);\n }\n resolve();\n return callback(null, result);\n });\n}\n*/\n"],"mappings":""}
1
+ {"version":3,"file":"write-file-browser.js","names":[],"sources":["../../src/core-addons/write-file-browser.ts"],"sourcesContent":["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\n// A browser implementation of the Node.js `fs` module's `fs.writeFile` method.\n// NOTE: WAS COMMENTED OUT TO GET NODE 8 TESTS RUNNING\n\n/*\n/* global global *\n/* global Blob *\nimport {isBrowser} from '@loaders.gl/core';\n\n// TODO hack - trick filesaver.js to skip loading under node\nconst savedNavigatorExists = 'navigator' in global;\nconst savedNavigator = globalThis.navigator;\nif (!isBrowser) {\n globalThis.navigator = {userAgent: 'MSIE 9.'};\n}\n\n// Need to use `require` to ensure our modification of global code above happens first\nconst saveAs = require('filesaver.js');\n\nif (!isBrowser) {\n if (savedNavigatorExists) {\n globalThis.navigator = savedNavigator;\n } else {\n delete globalThis.navigator;\n }\n}\n// END hack\n\n/**\n * File system write function for the browser, similar to Node's fs.writeFile\n *\n * Saves a file by downloading it with the given file name.\n *\n * @param {String} file - file name\n * @param {String|Blob} data - data to be written to file\n * @param {String|Object} options -\n * @param {Function} callback - Standard node (err, data) callback\n * @return {Promise} - promise, can be used instead of callback\n *\nasync export function writeFile(file, data, options, callback = () => {}) {\n // options is optional\n if (callback === undefined && typeof options === 'function') {\n options = undefined;\n callback = options;\n }\n if (typeof data === 'string') {\n data = new Blob(data);\n }\n return new Promise((resolve, reject) => {\n let result;\n try {\n result = saveAs(data, file, options);\n } catch (error) {\n reject(error);\n return callback(error, null);\n }\n resolve();\n return callback(null, result);\n });\n}\n*/\n"],"mappings":""}
package/dist/dist.dev.js CHANGED
@@ -110,13 +110,16 @@ var __exports__ = (() => {
110
110
  function mergeLoaderOptions(baseOptions, newOptions) {
111
111
  return mergeOptionsRecursively(baseOptions || {}, newOptions);
112
112
  }
113
- function mergeOptionsRecursively(baseOptions, newOptions) {
113
+ function mergeOptionsRecursively(baseOptions, newOptions, level = 0) {
114
+ if (level > 3) {
115
+ return newOptions;
116
+ }
114
117
  const options = {
115
118
  ...baseOptions
116
119
  };
117
120
  for (const [key, newValue] of Object.entries(newOptions)) {
118
121
  if (newValue && typeof newValue === "object" && !Array.isArray(newValue)) {
119
- options[key] = mergeOptionsRecursively(options[key] || {}, newOptions[key]);
122
+ options[key] = mergeOptionsRecursively(options[key] || {}, newOptions[key], level + 1);
120
123
  } else {
121
124
  options[key] = newOptions[key];
122
125
  }
@@ -129,11 +132,11 @@ var __exports__ = (() => {
129
132
  function getVersion() {
130
133
  if (!globalThis._loadersgl_?.version) {
131
134
  globalThis._loadersgl_ = globalThis._loadersgl_ || {};
132
- if (typeof __VERSION__ === "undefined") {
135
+ if (false) {
133
136
  console.warn("loaders.gl: The __VERSION__ variable is not injected using babel plugin. Latest unstable workers would be fetched from the CDN.");
134
137
  globalThis._loadersgl_.version = NPM_TAG;
135
138
  } else {
136
- globalThis._loadersgl_.version = __VERSION__;
139
+ globalThis._loadersgl_.version = "4.1.0-alpha.11";
137
140
  }
138
141
  }
139
142
  return globalThis._loadersgl_.version;
@@ -773,6 +776,9 @@ var __exports__ = (() => {
773
776
  return true;
774
777
  }
775
778
  function concatenateArrayBuffers(...sources) {
779
+ return concatenateArrayBuffersFromArray(sources);
780
+ }
781
+ function concatenateArrayBuffersFromArray(sources) {
776
782
  const sourceArrays = sources.map((source2) => source2 instanceof ArrayBuffer ? new Uint8Array(source2) : source2);
777
783
  const byteLength = sourceArrays.reduce((length, typedArray) => length + typedArray.byteLength, 0);
778
784
  const result = new Uint8Array(byteLength);
@@ -1226,7 +1232,7 @@ var __exports__ = (() => {
1226
1232
  }
1227
1233
 
1228
1234
  // ../loader-utils/src/json-loader.ts
1229
- var VERSION2 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
1235
+ var VERSION2 = true ? "4.1.0-alpha.11" : "latest";
1230
1236
  var JSONLoader = {
1231
1237
  name: "JSON",
1232
1238
  id: "json",
@@ -1467,6 +1473,12 @@ var __exports__ = (() => {
1467
1473
  async stat() {
1468
1474
  throw NOT_IMPLEMENTED;
1469
1475
  }
1476
+ async truncate(length) {
1477
+ throw NOT_IMPLEMENTED;
1478
+ }
1479
+ async append(data) {
1480
+ throw NOT_IMPLEMENTED;
1481
+ }
1470
1482
  async close() {
1471
1483
  }
1472
1484
  };
@@ -3073,6 +3085,7 @@ var __exports__ = (() => {
3073
3085
  return outputIterator;
3074
3086
  }
3075
3087
  const metadataBatch = {
3088
+ shape: "metadata",
3076
3089
  batchType: "metadata",
3077
3090
  metadata: {
3078
3091
  _loader: loader,
@@ -3223,55 +3236,38 @@ var __exports__ = (() => {
3223
3236
  ...globalOptions,
3224
3237
  ...options
3225
3238
  };
3239
+ if (writer.encodeURLtoURL) {
3240
+ return encodeWithCommandLineTool(writer, data, options);
3241
+ }
3226
3242
  if (canEncodeWithWorker(writer, options)) {
3227
3243
  return await processOnWorker(writer, data, options);
3228
3244
  }
3229
- if (writer.encode) {
3230
- return await writer.encode(data, options);
3231
- }
3232
- if (writer.encodeSync) {
3233
- return writer.encodeSync(data, options);
3234
- }
3235
- if (writer.encodeText) {
3236
- return new TextEncoder().encode(await writer.encodeText(data, options));
3237
- }
3238
- if (writer.encodeInBatches) {
3239
- const batches = encodeInBatches(data, writer, options);
3240
- const chunks = [];
3241
- for await (const batch of batches) {
3242
- chunks.push(batch);
3243
- }
3244
- return concatenateArrayBuffers(...chunks);
3245
- }
3246
- if (!isBrowser && writer.encodeURLtoURL) {
3247
- const tmpInputFilename = getTemporaryFilename("input");
3248
- const file = new NodeFileFacade(tmpInputFilename, "w");
3249
- await file.write(data);
3250
- const tmpOutputFilename = getTemporaryFilename("output");
3251
- const outputFilename = await encodeURLtoURL(tmpInputFilename, tmpOutputFilename, writer, options);
3252
- const response = await fetchFile(outputFilename);
3253
- return response.arrayBuffer();
3254
- }
3255
- throw new Error("Writer could not encode data");
3245
+ return await writer.encode(data, options);
3256
3246
  }
3257
3247
  function encodeSync(data, writer, options) {
3258
3248
  if (writer.encodeSync) {
3259
3249
  return writer.encodeSync(data, options);
3260
3250
  }
3261
- throw new Error("Writer could not synchronously encode data");
3251
+ if (writer.encodeTextSync) {
3252
+ return new TextEncoder().encode(writer.encodeTextSync(data, options));
3253
+ }
3254
+ throw new Error(`Writer ${writer.name} could not synchronously encode data`);
3262
3255
  }
3263
3256
  async function encodeText(data, writer, options) {
3264
- if (writer.text && writer.encodeText) {
3257
+ if (writer.encodeText) {
3265
3258
  return await writer.encodeText(data, options);
3266
3259
  }
3260
+ if (writer.encodeTextSync) {
3261
+ return writer.encodeTextSync(data, options);
3262
+ }
3267
3263
  if (writer.text) {
3268
- const arrayBuffer = await encode(data, writer, options);
3264
+ const arrayBuffer = await writer.encode(data, options);
3269
3265
  return new TextDecoder().decode(arrayBuffer);
3270
3266
  }
3271
3267
  throw new Error(`Writer ${writer.name} could not encode data as text`);
3272
3268
  }
3273
3269
  function encodeTextSync(data, writer, options) {
3274
- if (writer.text && writer.encodeTextSync) {
3270
+ if (writer.encodeTextSync) {
3275
3271
  return writer.encodeTextSync(data, options);
3276
3272
  }
3277
3273
  if (writer.text && writer.encodeSync) {
@@ -3285,7 +3281,7 @@ var __exports__ = (() => {
3285
3281
  const dataIterator = getIterator2(data);
3286
3282
  return writer.encodeInBatches(dataIterator, options);
3287
3283
  }
3288
- throw new Error("Writer could not encode data in batches");
3284
+ throw new Error(`Writer ${writer.name} could not encode in batches`);
3289
3285
  }
3290
3286
  async function encodeURLtoURL(inputUrl, outputUrl, writer, options) {
3291
3287
  inputUrl = resolvePath(inputUrl);
@@ -3296,6 +3292,18 @@ var __exports__ = (() => {
3296
3292
  const outputFilename = await writer.encodeURLtoURL(inputUrl, outputUrl, options);
3297
3293
  return outputFilename;
3298
3294
  }
3295
+ async function encodeWithCommandLineTool(writer, data, options) {
3296
+ if (isBrowser) {
3297
+ throw new Error(`Writer ${writer.name} not supported in browser`);
3298
+ }
3299
+ const tmpInputFilename = getTemporaryFilename("input");
3300
+ const file = new NodeFileFacade(tmpInputFilename, "w");
3301
+ await file.write(data);
3302
+ const tmpOutputFilename = getTemporaryFilename("output");
3303
+ const outputFilename = await encodeURLtoURL(tmpInputFilename, tmpOutputFilename, writer, options);
3304
+ const response = await fetchFile(outputFilename);
3305
+ return response.arrayBuffer();
3306
+ }
3299
3307
  function getIterator2(data) {
3300
3308
  const dataIterator = [{
3301
3309
  ...data,
@@ -3341,7 +3349,7 @@ var __exports__ = (() => {
3341
3349
  }
3342
3350
 
3343
3351
  // src/null-loader.ts
3344
- var VERSION4 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
3352
+ var VERSION4 = true ? "4.1.0-alpha.11" : "latest";
3345
3353
  var NullWorkerLoader = {
3346
3354
  name: "Null loader",
3347
3355
  id: "null",
package/dist/index.cjs CHANGED
@@ -20,16 +20,16 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
20
20
  // src/index.ts
21
21
  var src_exports = {};
22
22
  __export(src_exports, {
23
- JSONLoader: () => import_loader_utils18.JSONLoader,
23
+ JSONLoader: () => import_loader_utils17.JSONLoader,
24
24
  NullLoader: () => NullLoader,
25
25
  NullWorkerLoader: () => NullWorkerLoader,
26
- RequestScheduler: () => import_loader_utils17.RequestScheduler,
26
+ RequestScheduler: () => import_loader_utils16.RequestScheduler,
27
27
  _BrowserFileSystem: () => BrowserFileSystem,
28
28
  _fetchProgress: () => fetchProgress,
29
29
  _unregisterLoaders: () => _unregisterLoaders,
30
- assert: () => import_loader_utils20.assert,
31
- concatenateArrayBuffersAsync: () => import_loader_utils21.concatenateArrayBuffersAsync,
32
- document: () => import_loader_utils19.document,
30
+ assert: () => import_loader_utils19.assert,
31
+ concatenateArrayBuffersAsync: () => import_loader_utils20.concatenateArrayBuffersAsync,
32
+ document: () => import_loader_utils18.document,
33
33
  encode: () => encode,
34
34
  encodeInBatches: () => encodeInBatches,
35
35
  encodeSync: () => encodeSync,
@@ -40,40 +40,40 @@ __export(src_exports, {
40
40
  encodeTextSync: () => encodeTextSync,
41
41
  encodeURLtoURL: () => encodeURLtoURL,
42
42
  fetchFile: () => fetchFile,
43
- forEach: () => import_loader_utils21.forEach,
43
+ forEach: () => import_loader_utils20.forEach,
44
44
  getLoaderOptions: () => getGlobalLoaderOptions,
45
- getPathPrefix: () => import_loader_utils16.getPathPrefix,
46
- global: () => import_loader_utils19.global,
45
+ getPathPrefix: () => import_loader_utils15.getPathPrefix,
46
+ global: () => import_loader_utils18.global,
47
47
  isAsyncIterable: () => isAsyncIterable,
48
- isBrowser: () => import_loader_utils19.isBrowser,
48
+ isBrowser: () => import_loader_utils18.isBrowser,
49
49
  isIterable: () => isIterable,
50
50
  isIterator: () => isIterator,
51
51
  isPromise: () => isPromise,
52
52
  isPureObject: () => isPureObject,
53
53
  isReadableStream: () => isReadableStream,
54
54
  isResponse: () => isResponse,
55
- isWorker: () => import_loader_utils19.isWorker,
55
+ isWorker: () => import_loader_utils18.isWorker,
56
56
  isWritableStream: () => isWritableStream,
57
57
  load: () => load,
58
58
  loadInBatches: () => loadInBatches,
59
59
  makeIterator: () => makeIterator,
60
- makeLineIterator: () => import_loader_utils22.makeLineIterator,
61
- makeNumberedLineIterator: () => import_loader_utils22.makeNumberedLineIterator,
60
+ makeLineIterator: () => import_loader_utils21.makeLineIterator,
61
+ makeNumberedLineIterator: () => import_loader_utils21.makeNumberedLineIterator,
62
62
  makeStream: () => makeStream,
63
- makeTextDecoderIterator: () => import_loader_utils22.makeTextDecoderIterator,
64
- makeTextEncoderIterator: () => import_loader_utils22.makeTextEncoderIterator,
63
+ makeTextDecoderIterator: () => import_loader_utils21.makeTextDecoderIterator,
64
+ makeTextEncoderIterator: () => import_loader_utils21.makeTextEncoderIterator,
65
65
  parse: () => parse,
66
66
  parseInBatches: () => parseInBatches,
67
67
  parseSync: () => parseSync,
68
68
  readArrayBuffer: () => readArrayBuffer,
69
69
  registerLoaders: () => registerLoaders,
70
- resolvePath: () => import_loader_utils16.resolvePath,
70
+ resolvePath: () => import_loader_utils15.resolvePath,
71
71
  selectLoader: () => selectLoader,
72
72
  selectLoaderSync: () => selectLoaderSync,
73
- self: () => import_loader_utils19.self,
73
+ self: () => import_loader_utils18.self,
74
74
  setLoaderOptions: () => setGlobalOptions,
75
- setPathPrefix: () => import_loader_utils16.setPathPrefix,
76
- window: () => import_loader_utils19.window
75
+ setPathPrefix: () => import_loader_utils15.setPathPrefix,
76
+ window: () => import_loader_utils18.window
77
77
  });
78
78
  module.exports = __toCommonJS(src_exports);
79
79
 
@@ -1109,6 +1109,7 @@ async function parseWithLoaderInBatches(loader, data, options, context) {
1109
1109
  return outputIterator;
1110
1110
  }
1111
1111
  const metadataBatch = {
1112
+ shape: "metadata",
1112
1113
  batchType: "metadata",
1113
1114
  metadata: {
1114
1115
  _loader: loader,
@@ -1257,66 +1258,43 @@ function getIterator(data) {
1257
1258
 
1258
1259
  // src/lib/api/encode.ts
1259
1260
  var import_loader_utils12 = require("@loaders.gl/loader-utils");
1260
- var import_loader_utils13 = require("@loaders.gl/loader-utils");
1261
1261
  var import_worker_utils2 = require("@loaders.gl/worker-utils");
1262
- var import_loader_utils14 = require("@loaders.gl/loader-utils");
1262
+ var import_loader_utils13 = require("@loaders.gl/loader-utils");
1263
1263
  async function encode(data, writer, options) {
1264
1264
  const globalOptions = getGlobalLoaderOptions();
1265
1265
  options = { ...globalOptions, ...options };
1266
+ if (writer.encodeURLtoURL) {
1267
+ return encodeWithCommandLineTool(writer, data, options);
1268
+ }
1266
1269
  if ((0, import_loader_utils12.canEncodeWithWorker)(writer, options)) {
1267
1270
  return await (0, import_worker_utils2.processOnWorker)(writer, data, options);
1268
1271
  }
1269
- if (writer.encode) {
1270
- return await writer.encode(data, options);
1271
- }
1272
- if (writer.encodeSync) {
1273
- return writer.encodeSync(data, options);
1274
- }
1275
- if (writer.encodeText) {
1276
- return new TextEncoder().encode(await writer.encodeText(data, options));
1277
- }
1278
- if (writer.encodeInBatches) {
1279
- const batches = encodeInBatches(data, writer, options);
1280
- const chunks = [];
1281
- for await (const batch of batches) {
1282
- chunks.push(batch);
1283
- }
1284
- return (0, import_loader_utils13.concatenateArrayBuffers)(...chunks);
1285
- }
1286
- if (!import_loader_utils14.isBrowser && writer.encodeURLtoURL) {
1287
- const tmpInputFilename = getTemporaryFilename("input");
1288
- const file = new import_loader_utils13.NodeFile(tmpInputFilename, "w");
1289
- await file.write(data);
1290
- const tmpOutputFilename = getTemporaryFilename("output");
1291
- const outputFilename = await encodeURLtoURL(
1292
- tmpInputFilename,
1293
- tmpOutputFilename,
1294
- writer,
1295
- options
1296
- );
1297
- const response = await fetchFile(outputFilename);
1298
- return response.arrayBuffer();
1299
- }
1300
- throw new Error("Writer could not encode data");
1272
+ return await writer.encode(data, options);
1301
1273
  }
1302
1274
  function encodeSync(data, writer, options) {
1303
1275
  if (writer.encodeSync) {
1304
1276
  return writer.encodeSync(data, options);
1305
1277
  }
1306
- throw new Error("Writer could not synchronously encode data");
1278
+ if (writer.encodeTextSync) {
1279
+ return new TextEncoder().encode(writer.encodeTextSync(data, options));
1280
+ }
1281
+ throw new Error(`Writer ${writer.name} could not synchronously encode data`);
1307
1282
  }
1308
1283
  async function encodeText(data, writer, options) {
1309
- if (writer.text && writer.encodeText) {
1284
+ if (writer.encodeText) {
1310
1285
  return await writer.encodeText(data, options);
1311
1286
  }
1287
+ if (writer.encodeTextSync) {
1288
+ return writer.encodeTextSync(data, options);
1289
+ }
1312
1290
  if (writer.text) {
1313
- const arrayBuffer = await encode(data, writer, options);
1291
+ const arrayBuffer = await writer.encode(data, options);
1314
1292
  return new TextDecoder().decode(arrayBuffer);
1315
1293
  }
1316
1294
  throw new Error(`Writer ${writer.name} could not encode data as text`);
1317
1295
  }
1318
1296
  function encodeTextSync(data, writer, options) {
1319
- if (writer.text && writer.encodeTextSync) {
1297
+ if (writer.encodeTextSync) {
1320
1298
  return writer.encodeTextSync(data, options);
1321
1299
  }
1322
1300
  if (writer.text && writer.encodeSync) {
@@ -1330,17 +1308,29 @@ function encodeInBatches(data, writer, options) {
1330
1308
  const dataIterator = getIterator2(data);
1331
1309
  return writer.encodeInBatches(dataIterator, options);
1332
1310
  }
1333
- throw new Error("Writer could not encode data in batches");
1311
+ throw new Error(`Writer ${writer.name} could not encode in batches`);
1334
1312
  }
1335
1313
  async function encodeURLtoURL(inputUrl, outputUrl, writer, options) {
1336
- inputUrl = (0, import_loader_utils13.resolvePath)(inputUrl);
1337
- outputUrl = (0, import_loader_utils13.resolvePath)(outputUrl);
1338
- if (import_loader_utils14.isBrowser || !writer.encodeURLtoURL) {
1314
+ inputUrl = (0, import_loader_utils12.resolvePath)(inputUrl);
1315
+ outputUrl = (0, import_loader_utils12.resolvePath)(outputUrl);
1316
+ if (import_loader_utils13.isBrowser || !writer.encodeURLtoURL) {
1339
1317
  throw new Error();
1340
1318
  }
1341
1319
  const outputFilename = await writer.encodeURLtoURL(inputUrl, outputUrl, options);
1342
1320
  return outputFilename;
1343
1321
  }
1322
+ async function encodeWithCommandLineTool(writer, data, options) {
1323
+ if (import_loader_utils13.isBrowser) {
1324
+ throw new Error(`Writer ${writer.name} not supported in browser`);
1325
+ }
1326
+ const tmpInputFilename = getTemporaryFilename("input");
1327
+ const file = new import_loader_utils12.NodeFile(tmpInputFilename, "w");
1328
+ await file.write(data);
1329
+ const tmpOutputFilename = getTemporaryFilename("output");
1330
+ const outputFilename = await encodeURLtoURL(tmpInputFilename, tmpOutputFilename, writer, options);
1331
+ const response = await fetchFile(outputFilename);
1332
+ return response.arrayBuffer();
1333
+ }
1344
1334
  function getIterator2(data) {
1345
1335
  const dataIterator = [{ ...data, start: 0, end: data.length }];
1346
1336
  return dataIterator;
@@ -1350,8 +1340,8 @@ function getTemporaryFilename(filename) {
1350
1340
  }
1351
1341
 
1352
1342
  // src/index.ts
1343
+ var import_loader_utils15 = require("@loaders.gl/loader-utils");
1353
1344
  var import_loader_utils16 = require("@loaders.gl/loader-utils");
1354
- var import_loader_utils17 = require("@loaders.gl/loader-utils");
1355
1345
 
1356
1346
  // src/iterators/make-stream/make-stream.ts
1357
1347
  function makeStream(source, options) {
@@ -1431,7 +1421,7 @@ function parseSync2(arrayBuffer, options, context) {
1431
1421
  }
1432
1422
 
1433
1423
  // src/index.ts
1434
- var import_loader_utils18 = require("@loaders.gl/loader-utils");
1424
+ var import_loader_utils17 = require("@loaders.gl/loader-utils");
1435
1425
 
1436
1426
  // src/lib/progress/fetch-progress.ts
1437
1427
  async function fetchProgress(response, onProgress, onDone = () => {
@@ -1481,7 +1471,7 @@ async function read(controller, reader, loadedBytes, totalBytes, onProgress, onD
1481
1471
  }
1482
1472
 
1483
1473
  // src/lib/filesystems/browser-filesystem.ts
1484
- var import_loader_utils15 = require("@loaders.gl/loader-utils");
1474
+ var import_loader_utils14 = require("@loaders.gl/loader-utils");
1485
1475
  var BrowserFileSystem = class {
1486
1476
  /**
1487
1477
  * A FileSystem API wrapper around a list of browser 'File' objects
@@ -1562,7 +1552,7 @@ var BrowserFileSystem = class {
1562
1552
  // implements IRandomAccessFileSystem
1563
1553
  // RANDOM ACCESS
1564
1554
  async openReadableFile(pathname, flags) {
1565
- return new import_loader_utils15.BlobFile(this.files[pathname]);
1555
+ return new import_loader_utils14.BlobFile(this.files[pathname]);
1566
1556
  }
1567
1557
  // PRIVATE
1568
1558
  // Supports case independent paths, and file usage tracking
@@ -1576,7 +1566,7 @@ var BrowserFileSystem = class {
1576
1566
  };
1577
1567
 
1578
1568
  // src/index.ts
1569
+ var import_loader_utils18 = require("@loaders.gl/loader-utils");
1579
1570
  var import_loader_utils19 = require("@loaders.gl/loader-utils");
1580
1571
  var import_loader_utils20 = require("@loaders.gl/loader-utils");
1581
1572
  var import_loader_utils21 = require("@loaders.gl/loader-utils");
1582
- var import_loader_utils22 = require("@loaders.gl/loader-utils");
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,YAAY,EACV,MAAM,EACN,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,MAAM,EACN,aAAa,EACb,QAAQ,EACR,YAAY,EACZ,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,IAAI,EACJ,UAAU,EACV,sBAAsB,EACvB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EAAC,SAAS,EAAC,MAAM,wBAAwB,CAAC;AAEjD,OAAO,EAAC,eAAe,EAAC,MAAM,+BAA+B,CAAC;AAK9D,OAAO,EAAC,gBAAgB,EAAE,gBAAgB,EAAC,MAAM,0BAA0B,CAAC;AAC5E,OAAO,EAAC,eAAe,EAAC,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAC,YAAY,EAAE,gBAAgB,EAAC,MAAM,yBAAyB,CAAC;AAGvE,OAAO,EAAC,KAAK,EAAC,MAAM,iBAAiB,CAAC;AACtC,OAAO,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAC,cAAc,EAAC,MAAM,4BAA4B,CAAC;AAE1D,OAAO,EAAC,IAAI,EAAC,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAC,aAAa,EAAC,MAAM,2BAA2B,CAAC;AAGxD,OAAO,EAAC,WAAW,EAAE,iBAAiB,EAAE,oBAAoB,EAAC,MAAM,wBAAwB,CAAC;AAC5F,OAAO,EAAC,MAAM,EAAE,UAAU,EAAE,eAAe,EAAE,cAAc,EAAC,MAAM,kBAAkB,CAAC;AACrF,OAAO,EAAC,UAAU,EAAE,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAG5D,OAAO,EAAC,aAAa,EAAE,aAAa,EAAE,WAAW,EAAC,MAAM,0BAA0B,CAAC;AACnF,OAAO,EAAC,gBAAgB,EAAC,MAAM,0BAA0B,CAAC;AAG1D,OAAO,EAAC,YAAY,EAAC,MAAM,yCAAyC,CAAC;AACrE,OAAO,EAAC,UAAU,EAAC,MAAM,qCAAqC,CAAC;AAG/D,OAAO,EAAC,gBAAgB,EAAE,UAAU,EAAC,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAC,UAAU,EAAC,MAAM,0BAA0B,CAAC;AAGpD,OAAO,EAAC,aAAa,IAAI,cAAc,EAAC,MAAM,+BAA+B,CAAC;AAC9E,OAAO,EAAC,iBAAiB,IAAI,kBAAkB,EAAC,MAAM,sCAAsC,CAAC;AAG7F,OAAO,EAAC,kBAAkB,EAAC,MAAM,4BAA4B,CAAC;AAM9D,OAAO,EAAC,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAC,MAAM,0BAA0B,CAAC;AAC7F,OAAO,EAAC,MAAM,EAAC,MAAM,0BAA0B,CAAC;AAChD,OAAO,EAAC,OAAO,EAAE,4BAA4B,EAAC,MAAM,0BAA0B,CAAC;AAE/E,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,gBAAgB,EAChB,wBAAwB,EACzB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EACL,YAAY,EACZ,SAAS,EACT,UAAU,EACV,eAAe,EACf,UAAU,EACV,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,YAAY,EACV,MAAM,EACN,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,MAAM,EACN,aAAa,EACb,QAAQ,EACR,YAAY,EACZ,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,IAAI,EACJ,UAAU,EACV,sBAAsB,EACvB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EAAC,SAAS,EAAC,MAAM,wBAAwB,CAAC;AAEjD,OAAO,EAAC,eAAe,EAAC,MAAM,+BAA+B,CAAC;AAK9D,OAAO,EAAC,gBAAgB,EAAE,gBAAgB,EAAC,MAAM,0BAA0B,CAAC;AAC5E,OAAO,EAAC,eAAe,EAAC,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAC,YAAY,EAAE,gBAAgB,EAAC,MAAM,yBAAyB,CAAC;AAGvE,OAAO,EAAC,KAAK,EAAC,MAAM,iBAAiB,CAAC;AACtC,OAAO,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAC,cAAc,EAAC,MAAM,4BAA4B,CAAC;AAE1D,OAAO,EAAC,IAAI,EAAC,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAC,aAAa,EAAC,MAAM,2BAA2B,CAAC;AAGxD,OAAO,EAAC,WAAW,EAAE,iBAAiB,EAAE,oBAAoB,EAAC,MAAM,wBAAwB,CAAC;AAC5F,OAAO,EAAC,MAAM,EAAE,UAAU,EAAE,eAAe,EAAE,cAAc,EAAC,MAAM,kBAAkB,CAAC;AACrF,OAAO,EAAC,UAAU,EAAE,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAG5D,OAAO,EAAC,aAAa,EAAE,aAAa,EAAE,WAAW,EAAC,MAAM,0BAA0B,CAAC;AACnF,OAAO,EAAC,gBAAgB,EAAC,MAAM,0BAA0B,CAAC;AAG1D,OAAO,EAAC,YAAY,EAAC,MAAM,yCAAyC,CAAC;AACrE,OAAO,EAAC,UAAU,EAAC,MAAM,qCAAqC,CAAC;AAG/D,OAAO,EAAC,gBAAgB,EAAE,UAAU,EAAC,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAC,UAAU,EAAC,MAAM,0BAA0B,CAAC;AAGpD,OAAO,EAAC,aAAa,IAAI,cAAc,EAAC,MAAM,+BAA+B,CAAC;AAC9E,OAAO,EAAC,iBAAiB,IAAI,kBAAkB,EAAC,MAAM,sCAAsC,CAAC;AAG7F,OAAO,EAAC,kBAAkB,EAAC,MAAM,4BAA4B,CAAC;AAM9D,OAAO,EAAC,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAC,MAAM,0BAA0B,CAAC;AAC7F,OAAO,EAAC,MAAM,EAAC,MAAM,0BAA0B,CAAC;AAChD,OAAO,EAAC,OAAO,EAAE,4BAA4B,EAAC,MAAM,0BAA0B,CAAC;AAE/E,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,gBAAgB,EAChB,wBAAwB,EACzB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EACL,YAAY,EACZ,SAAS,EACT,UAAU,EACV,eAAe,EACf,UAAU,EACV,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,4BAA4B,CAAC"}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["fetchFile","readArrayBuffer","setLoaderOptions","getLoaderOptions","registerLoaders","selectLoader","selectLoaderSync","parse","parseSync","parseInBatches","load","loadInBatches","encodeTable","encodeTableAsText","encodeTableInBatches","encode","encodeSync","encodeInBatches","encodeURLtoURL","encodeText","encodeTextSync","setPathPrefix","getPathPrefix","resolvePath","RequestScheduler","makeIterator","makeStream","NullWorkerLoader","NullLoader","JSONLoader","fetchProgress","_fetchProgress","BrowserFileSystem","_BrowserFileSystem","_unregisterLoaders","isBrowser","isWorker","self","window","global","document","assert","forEach","concatenateArrayBuffersAsync","makeTextDecoderIterator","makeTextEncoderIterator","makeLineIterator","makeNumberedLineIterator","isPureObject","isPromise","isIterable","isAsyncIterable","isIterator","isResponse","isReadableStream","isWritableStream"],"sources":["../src/index.ts"],"sourcesContent":["// loaders.gl, MIT license\n// Copyright (c) vis.gl contributors\n\n// TYPES\nexport type {\n Loader,\n LoaderWithParser,\n LoaderContext,\n LoaderOptions,\n Writer,\n WriterOptions,\n DataType,\n SyncDataType,\n BatchableDataType,\n ReadableFile,\n WritableFile,\n Stat,\n FileSystem,\n RandomAccessFileSystem\n} from '@loaders.gl/loader-utils';\n\n// FILE READING AND WRITING\nexport {fetchFile} from './lib/fetch/fetch-file';\n\nexport {readArrayBuffer} from './lib/fetch/read-array-buffer';\n// export {readFileSync} from './lib/fetch/read-file';\n// export {writeFile, writeFileSync} from './lib/fetch/write-file';\n\n// CONFIGURATION\nexport {setLoaderOptions, getLoaderOptions} from './lib/api/loader-options';\nexport {registerLoaders} from './lib/api/register-loaders';\nexport {selectLoader, selectLoaderSync} from './lib/api/select-loader';\n\n// LOADING (READING + PARSING)\nexport {parse} from './lib/api/parse';\nexport {parseSync} from './lib/api/parse-sync';\nexport {parseInBatches} from './lib/api/parse-in-batches';\n\nexport {load} from './lib/api/load';\nexport {loadInBatches} from './lib/api/load-in-batches';\n\n// ENCODING (ENCODING AND WRITING)\nexport {encodeTable, encodeTableAsText, encodeTableInBatches} from './lib/api/encode-table';\nexport {encode, encodeSync, encodeInBatches, encodeURLtoURL} from './lib/api/encode';\nexport {encodeText, encodeTextSync} from './lib/api/encode';\n\n// CORE UTILS SHARED WITH LOADERS (RE-EXPORTED FROM LOADER-UTILS)\nexport {setPathPrefix, getPathPrefix, resolvePath} from '@loaders.gl/loader-utils';\nexport {RequestScheduler} from '@loaders.gl/loader-utils';\n\n// ITERATOR UTILS\nexport {makeIterator} from './iterators/make-iterator/make-iterator';\nexport {makeStream} from './iterators/make-stream/make-stream';\n\n// CORE LOADERS\nexport {NullWorkerLoader, NullLoader} from './null-loader';\nexport {JSONLoader} from '@loaders.gl/loader-utils';\n\n// EXPERIMENTAL\nexport {fetchProgress as _fetchProgress} from './lib/progress/fetch-progress';\nexport {BrowserFileSystem as _BrowserFileSystem} from './lib/filesystems/browser-filesystem';\n\n// FOR TESTING\nexport {_unregisterLoaders} from './lib/api/register-loaders';\n\n//\n// TODO - MOVE TO LOADER-UTILS AND DEPRECATE IN CORE?\n//\n\nexport {isBrowser, isWorker, self, window, global, document} from '@loaders.gl/loader-utils';\nexport {assert} from '@loaders.gl/loader-utils';\nexport {forEach, concatenateArrayBuffersAsync} from '@loaders.gl/loader-utils';\n\nexport {\n makeTextDecoderIterator,\n makeTextEncoderIterator,\n makeLineIterator,\n makeNumberedLineIterator\n} from '@loaders.gl/loader-utils';\n\n// \"JAVASCRIPT\" UTILS - move to loader-utils?\nexport {\n isPureObject,\n isPromise,\n isIterable,\n isAsyncIterable,\n isIterator,\n isResponse,\n isReadableStream,\n isWritableStream\n} from './javascript-utils/is-type';\n"],"mappings":"SAsBQA,SAAS;AAAA,SAETC,eAAe;AAAA,SAKfC,gBAAgB,EAAEC,gBAAgB;AAAA,SAClCC,eAAe;AAAA,SACfC,YAAY,EAAEC,gBAAgB;AAAA,SAG9BC,KAAK;AAAA,SACLC,SAAS;AAAA,SACTC,cAAc;AAAA,SAEdC,IAAI;AAAA,SACJC,aAAa;AAAA,SAGbC,WAAW,EAAEC,iBAAiB,EAAEC,oBAAoB;AAAA,SACpDC,MAAM,EAAEC,UAAU,EAAEC,eAAe,EAAEC,cAAc;AAAA,SACnDC,UAAU,EAAEC,cAAc;AAGlC,SAAQC,aAAa,EAAEC,aAAa,EAAEC,WAAW,QAAO,0BAA0B;AAClF,SAAQC,gBAAgB,QAAO,0BAA0B;AAAC,SAGlDC,YAAY;AAAA,SACZC,UAAU;AAAA,SAGVC,gBAAgB,EAAEC,UAAU;AACpC,SAAQC,UAAU,QAAO,0BAA0B;AAAC,SAG5CC,aAAa,IAAIC,cAAc;AAAA,SAC/BC,iBAAiB,IAAIC,kBAAkB;AAAA,SAGvCC,kBAAkB;AAM1B,SAAQC,SAAS,EAAEC,QAAQ,EAAEC,IAAI,EAAEC,MAAM,EAAEC,MAAM,EAAEC,QAAQ,QAAO,0BAA0B;AAC5F,SAAQC,MAAM,QAAO,0BAA0B;AAC/C,SAAQC,OAAO,EAAEC,4BAA4B,QAAO,0BAA0B;AAE9E,SACEC,uBAAuB,EACvBC,uBAAuB,EACvBC,gBAAgB,EAChBC,wBAAwB,QACnB,0BAA0B;AAAC,SAIhCC,YAAY,EACZC,SAAS,EACTC,UAAU,EACVC,eAAe,EACfC,UAAU,EACVC,UAAU,EACVC,gBAAgB,EAChBC,gBAAgB"}
1
+ {"version":3,"file":"index.js","names":["fetchFile","readArrayBuffer","setLoaderOptions","getLoaderOptions","registerLoaders","selectLoader","selectLoaderSync","parse","parseSync","parseInBatches","load","loadInBatches","encodeTable","encodeTableAsText","encodeTableInBatches","encode","encodeSync","encodeInBatches","encodeURLtoURL","encodeText","encodeTextSync","setPathPrefix","getPathPrefix","resolvePath","RequestScheduler","makeIterator","makeStream","NullWorkerLoader","NullLoader","JSONLoader","fetchProgress","_fetchProgress","BrowserFileSystem","_BrowserFileSystem","_unregisterLoaders","isBrowser","isWorker","self","window","global","document","assert","forEach","concatenateArrayBuffersAsync","makeTextDecoderIterator","makeTextEncoderIterator","makeLineIterator","makeNumberedLineIterator","isPureObject","isPromise","isIterable","isAsyncIterable","isIterator","isResponse","isReadableStream","isWritableStream"],"sources":["../src/index.ts"],"sourcesContent":["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\n// TYPES\nexport type {\n Loader,\n LoaderWithParser,\n LoaderContext,\n LoaderOptions,\n Writer,\n WriterOptions,\n DataType,\n SyncDataType,\n BatchableDataType,\n ReadableFile,\n WritableFile,\n Stat,\n FileSystem,\n RandomAccessFileSystem\n} from '@loaders.gl/loader-utils';\n\n// FILE READING AND WRITING\nexport {fetchFile} from './lib/fetch/fetch-file';\n\nexport {readArrayBuffer} from './lib/fetch/read-array-buffer';\n// export {readFileSync} from './lib/fetch/read-file';\n// export {writeFile, writeFileSync} from './lib/fetch/write-file';\n\n// CONFIGURATION\nexport {setLoaderOptions, getLoaderOptions} from './lib/api/loader-options';\nexport {registerLoaders} from './lib/api/register-loaders';\nexport {selectLoader, selectLoaderSync} from './lib/api/select-loader';\n\n// LOADING (READING + PARSING)\nexport {parse} from './lib/api/parse';\nexport {parseSync} from './lib/api/parse-sync';\nexport {parseInBatches} from './lib/api/parse-in-batches';\n\nexport {load} from './lib/api/load';\nexport {loadInBatches} from './lib/api/load-in-batches';\n\n// ENCODING (ENCODING AND WRITING)\nexport {encodeTable, encodeTableAsText, encodeTableInBatches} from './lib/api/encode-table';\nexport {encode, encodeSync, encodeInBatches, encodeURLtoURL} from './lib/api/encode';\nexport {encodeText, encodeTextSync} from './lib/api/encode';\n\n// CORE UTILS SHARED WITH LOADERS (RE-EXPORTED FROM LOADER-UTILS)\nexport {setPathPrefix, getPathPrefix, resolvePath} from '@loaders.gl/loader-utils';\nexport {RequestScheduler} from '@loaders.gl/loader-utils';\n\n// ITERATOR UTILS\nexport {makeIterator} from './iterators/make-iterator/make-iterator';\nexport {makeStream} from './iterators/make-stream/make-stream';\n\n// CORE LOADERS\nexport {NullWorkerLoader, NullLoader} from './null-loader';\nexport {JSONLoader} from '@loaders.gl/loader-utils';\n\n// EXPERIMENTAL\nexport {fetchProgress as _fetchProgress} from './lib/progress/fetch-progress';\nexport {BrowserFileSystem as _BrowserFileSystem} from './lib/filesystems/browser-filesystem';\n\n// FOR TESTING\nexport {_unregisterLoaders} from './lib/api/register-loaders';\n\n//\n// TODO - MOVE TO LOADER-UTILS AND DEPRECATE IN CORE?\n//\n\nexport {isBrowser, isWorker, self, window, global, document} from '@loaders.gl/loader-utils';\nexport {assert} from '@loaders.gl/loader-utils';\nexport {forEach, concatenateArrayBuffersAsync} from '@loaders.gl/loader-utils';\n\nexport {\n makeTextDecoderIterator,\n makeTextEncoderIterator,\n makeLineIterator,\n makeNumberedLineIterator\n} from '@loaders.gl/loader-utils';\n\n// \"JAVASCRIPT\" UTILS - move to loader-utils?\nexport {\n isPureObject,\n isPromise,\n isIterable,\n isAsyncIterable,\n isIterator,\n isResponse,\n isReadableStream,\n isWritableStream\n} from './javascript-utils/is-type';\n"],"mappings":"SAuBQA,SAAS;AAAA,SAETC,eAAe;AAAA,SAKfC,gBAAgB,EAAEC,gBAAgB;AAAA,SAClCC,eAAe;AAAA,SACfC,YAAY,EAAEC,gBAAgB;AAAA,SAG9BC,KAAK;AAAA,SACLC,SAAS;AAAA,SACTC,cAAc;AAAA,SAEdC,IAAI;AAAA,SACJC,aAAa;AAAA,SAGbC,WAAW,EAAEC,iBAAiB,EAAEC,oBAAoB;AAAA,SACpDC,MAAM,EAAEC,UAAU,EAAEC,eAAe,EAAEC,cAAc;AAAA,SACnDC,UAAU,EAAEC,cAAc;AAGlC,SAAQC,aAAa,EAAEC,aAAa,EAAEC,WAAW,QAAO,0BAA0B;AAClF,SAAQC,gBAAgB,QAAO,0BAA0B;AAAC,SAGlDC,YAAY;AAAA,SACZC,UAAU;AAAA,SAGVC,gBAAgB,EAAEC,UAAU;AACpC,SAAQC,UAAU,QAAO,0BAA0B;AAAC,SAG5CC,aAAa,IAAIC,cAAc;AAAA,SAC/BC,iBAAiB,IAAIC,kBAAkB;AAAA,SAGvCC,kBAAkB;AAM1B,SAAQC,SAAS,EAAEC,QAAQ,EAAEC,IAAI,EAAEC,MAAM,EAAEC,MAAM,EAAEC,QAAQ,QAAO,0BAA0B;AAC5F,SAAQC,MAAM,QAAO,0BAA0B;AAC/C,SAAQC,OAAO,EAAEC,4BAA4B,QAAO,0BAA0B;AAE9E,SACEC,uBAAuB,EACvBC,uBAAuB,EACvBC,gBAAgB,EAChBC,wBAAwB,QACnB,0BAA0B;AAAC,SAIhCC,YAAY,EACZC,SAAS,EACTC,UAAU,EACVC,eAAe,EACfC,UAAU,EACVC,UAAU,EACVC,gBAAgB,EAChBC,gBAAgB"}
@@ -1 +1 @@
1
- {"version":3,"file":"timed-batch-iterator.d.ts","sourceRoot":"","sources":["../../../src/iterators/batch-iterators/timed-batch-iterator.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,wBAAuB,kBAAkB,CAAC,KAAK,EAC7C,aAAa,EAAE,aAAa,CAAC,KAAK,CAAC,EACnC,OAAO,EAAE,MAAM,GACd,aAAa,CAAC,KAAK,EAAE,CAAC,CAexB"}
1
+ {"version":3,"file":"timed-batch-iterator.d.ts","sourceRoot":"","sources":["../../../src/iterators/batch-iterators/timed-batch-iterator.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,wBAAuB,kBAAkB,CAAC,KAAK,EAC7C,aAAa,EAAE,aAAa,CAAC,KAAK,CAAC,EACnC,OAAO,EAAE,MAAM,GACd,aAAa,CAAC,KAAK,EAAE,CAAC,CAexB"}
@@ -1 +1 @@
1
- {"version":3,"file":"timed-batch-iterator.js","names":["timedBatchIterator","batchIterator","timeout","start","Date","now","batches","batch","push"],"sources":["../../../src/iterators/batch-iterators/timed-batch-iterator.ts"],"sourcesContent":["// loaders.gl, MIT license\n// Copyright (c) vis.gl contributors\n\n/**\n * \"Debounces\" batches and returns them in groups\n */\nexport async function* timedBatchIterator<Batch>(\n batchIterator: AsyncIterable<Batch>,\n timeout: number\n): AsyncIterable<Batch[]> {\n let start = Date.now();\n let batches: Batch[] = [];\n for await (const batch of batchIterator) {\n batches.push(batch);\n if (Date.now() - start > timeout) {\n yield batches;\n start = Date.now();\n batches = [];\n }\n }\n\n if (batches) {\n yield batches;\n }\n}\n"],"mappings":"AAMA,OAAO,gBAAgBA,kBAAkBA,CACvCC,aAAmC,EACnCC,OAAe,EACS;EACxB,IAAIC,KAAK,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC;EACtB,IAAIC,OAAgB,GAAG,EAAE;EACzB,WAAW,MAAMC,KAAK,IAAIN,aAAa,EAAE;IACvCK,OAAO,CAACE,IAAI,CAACD,KAAK,CAAC;IACnB,IAAIH,IAAI,CAACC,GAAG,CAAC,CAAC,GAAGF,KAAK,GAAGD,OAAO,EAAE;MAChC,MAAMI,OAAO;MACbH,KAAK,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC;MAClBC,OAAO,GAAG,EAAE;IACd;EACF;EAEA,IAAIA,OAAO,EAAE;IACX,MAAMA,OAAO;EACf;AACF"}
1
+ {"version":3,"file":"timed-batch-iterator.js","names":["timedBatchIterator","batchIterator","timeout","start","Date","now","batches","batch","push"],"sources":["../../../src/iterators/batch-iterators/timed-batch-iterator.ts"],"sourcesContent":["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\n/**\n * \"Debounces\" batches and returns them in groups\n */\nexport async function* timedBatchIterator<Batch>(\n batchIterator: AsyncIterable<Batch>,\n timeout: number\n): AsyncIterable<Batch[]> {\n let start = Date.now();\n let batches: Batch[] = [];\n for await (const batch of batchIterator) {\n batches.push(batch);\n if (Date.now() - start > timeout) {\n yield batches;\n start = Date.now();\n batches = [];\n }\n }\n\n if (batches) {\n yield batches;\n }\n}\n"],"mappings":"AAOA,OAAO,gBAAgBA,kBAAkBA,CACvCC,aAAmC,EACnCC,OAAe,EACS;EACxB,IAAIC,KAAK,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC;EACtB,IAAIC,OAAgB,GAAG,EAAE;EACzB,WAAW,MAAMC,KAAK,IAAIN,aAAa,EAAE;IACvCK,OAAO,CAACE,IAAI,CAACD,KAAK,CAAC;IACnB,IAAIH,IAAI,CAACC,GAAG,CAAC,CAAC,GAAGF,KAAK,GAAGD,OAAO,EAAE;MAChC,MAAMI,OAAO;MACbH,KAAK,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC;MAClBC,OAAO,GAAG,EAAE;IACd;EACF;EAEA,IAAIA,OAAO,EAAE;IACX,MAAMA,OAAO;EACf;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"make-array-buffer-iterator.d.ts","sourceRoot":"","sources":["../../../src/iterators/make-iterator/make-array-buffer-iterator.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,iBAAiB,CAAC;AAIrD;;;;;GAKG;AACH,wBAAiB,uBAAuB,CACtC,WAAW,EAAE,WAAW,EACxB,OAAO,GAAE,eAAoB,GAC5B,QAAQ,CAAC,WAAW,CAAC,CAmBvB"}
1
+ {"version":3,"file":"make-array-buffer-iterator.d.ts","sourceRoot":"","sources":["../../../src/iterators/make-iterator/make-array-buffer-iterator.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,iBAAiB,CAAC;AAIrD;;;;;GAKG;AACH,wBAAiB,uBAAuB,CACtC,WAAW,EAAE,WAAW,EACxB,OAAO,GAAE,eAAoB,GAC5B,QAAQ,CAAC,WAAW,CAAC,CAmBvB"}
@@ -1 +1 @@
1
- {"version":3,"file":"make-array-buffer-iterator.js","names":["DEFAULT_CHUNK_SIZE","makeArrayBufferIterator","arrayBuffer","options","arguments","length","undefined","chunkSize","byteOffset","byteLength","chunkByteLength","Math","min","chunk","ArrayBuffer","sourceArray","Uint8Array","chunkArray","set"],"sources":["../../../src/iterators/make-iterator/make-array-buffer-iterator.ts"],"sourcesContent":["// loaders.gl, MIT license\n// Copyright (c) vis.gl contributors\n\nimport type {IteratorOptions} from './make-iterator';\n\nconst DEFAULT_CHUNK_SIZE = 256 * 1024;\n\n/**\n * Returns an iterator that breaks a big ArrayBuffer into chunks and yields them one-by-one\n * @param blob ArrayBuffer to iterate over\n * @param options\n * @param options.chunkSize\n */\nexport function* makeArrayBufferIterator(\n arrayBuffer: ArrayBuffer,\n options: IteratorOptions = {}\n): Iterable<ArrayBuffer> {\n const {chunkSize = DEFAULT_CHUNK_SIZE} = options;\n\n let byteOffset = 0;\n\n while (byteOffset < arrayBuffer.byteLength) {\n // Create a chunk of the right size\n const chunkByteLength = Math.min(arrayBuffer.byteLength - byteOffset, chunkSize);\n const chunk = new ArrayBuffer(chunkByteLength);\n\n // Copy data from the big chunk\n const sourceArray = new Uint8Array(arrayBuffer, byteOffset, chunkByteLength);\n const chunkArray = new Uint8Array(chunk);\n chunkArray.set(sourceArray);\n\n // yield the chunk\n byteOffset += chunkByteLength;\n yield chunk;\n }\n}\n"],"mappings":"AAKA,MAAMA,kBAAkB,GAAG,GAAG,GAAG,IAAI;AAQrC,OAAO,SAAUC,uBAAuBA,CACtCC,WAAwB;EAAA,IACxBC,OAAwB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAAA,oBACN;IACvB,MAAM;MAACG,SAAS,GAAGP;IAAkB,CAAC,GAAGG,OAAO;IAEhD,IAAIK,UAAU,GAAG,CAAC;IAElB,OAAOA,UAAU,GAAGN,WAAW,CAACO,UAAU,EAAE;MAE1C,MAAMC,eAAe,GAAGC,IAAI,CAACC,GAAG,CAACV,WAAW,CAACO,UAAU,GAAGD,UAAU,EAAED,SAAS,CAAC;MAChF,MAAMM,KAAK,GAAG,IAAIC,WAAW,CAACJ,eAAe,CAAC;MAG9C,MAAMK,WAAW,GAAG,IAAIC,UAAU,CAACd,WAAW,EAAEM,UAAU,EAAEE,eAAe,CAAC;MAC5E,MAAMO,UAAU,GAAG,IAAID,UAAU,CAACH,KAAK,CAAC;MACxCI,UAAU,CAACC,GAAG,CAACH,WAAW,CAAC;MAG3BP,UAAU,IAAIE,eAAe;MAC7B,MAAMG,KAAK;IACb;EACF,CAAC;AAAA"}
1
+ {"version":3,"file":"make-array-buffer-iterator.js","names":["DEFAULT_CHUNK_SIZE","makeArrayBufferIterator","arrayBuffer","options","arguments","length","undefined","chunkSize","byteOffset","byteLength","chunkByteLength","Math","min","chunk","ArrayBuffer","sourceArray","Uint8Array","chunkArray","set"],"sources":["../../../src/iterators/make-iterator/make-array-buffer-iterator.ts"],"sourcesContent":["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport type {IteratorOptions} from './make-iterator';\n\nconst DEFAULT_CHUNK_SIZE = 256 * 1024;\n\n/**\n * Returns an iterator that breaks a big ArrayBuffer into chunks and yields them one-by-one\n * @param blob ArrayBuffer to iterate over\n * @param options\n * @param options.chunkSize\n */\nexport function* makeArrayBufferIterator(\n arrayBuffer: ArrayBuffer,\n options: IteratorOptions = {}\n): Iterable<ArrayBuffer> {\n const {chunkSize = DEFAULT_CHUNK_SIZE} = options;\n\n let byteOffset = 0;\n\n while (byteOffset < arrayBuffer.byteLength) {\n // Create a chunk of the right size\n const chunkByteLength = Math.min(arrayBuffer.byteLength - byteOffset, chunkSize);\n const chunk = new ArrayBuffer(chunkByteLength);\n\n // Copy data from the big chunk\n const sourceArray = new Uint8Array(arrayBuffer, byteOffset, chunkByteLength);\n const chunkArray = new Uint8Array(chunk);\n chunkArray.set(sourceArray);\n\n // yield the chunk\n byteOffset += chunkByteLength;\n yield chunk;\n }\n}\n"],"mappings":"AAMA,MAAMA,kBAAkB,GAAG,GAAG,GAAG,IAAI;AAQrC,OAAO,SAAUC,uBAAuBA,CACtCC,WAAwB;EAAA,IACxBC,OAAwB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAAA,oBACN;IACvB,MAAM;MAACG,SAAS,GAAGP;IAAkB,CAAC,GAAGG,OAAO;IAEhD,IAAIK,UAAU,GAAG,CAAC;IAElB,OAAOA,UAAU,GAAGN,WAAW,CAACO,UAAU,EAAE;MAE1C,MAAMC,eAAe,GAAGC,IAAI,CAACC,GAAG,CAACV,WAAW,CAACO,UAAU,GAAGD,UAAU,EAAED,SAAS,CAAC;MAChF,MAAMM,KAAK,GAAG,IAAIC,WAAW,CAACJ,eAAe,CAAC;MAG9C,MAAMK,WAAW,GAAG,IAAIC,UAAU,CAACd,WAAW,EAAEM,UAAU,EAAEE,eAAe,CAAC;MAC5E,MAAMO,UAAU,GAAG,IAAID,UAAU,CAACH,KAAK,CAAC;MACxCI,UAAU,CAACC,GAAG,CAACH,WAAW,CAAC;MAG3BP,UAAU,IAAIE,eAAe;MAC7B,MAAMG,KAAK;IACb;EACF,CAAC;AAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"make-blob-iterator.d.ts","sourceRoot":"","sources":["../../../src/iterators/make-iterator/make-blob-iterator.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,iBAAiB,CAAC;AAIrD;;;;;GAKG;AACH,wBAAuB,gBAAgB,CACrC,IAAI,EAAE,IAAI,EACV,OAAO,CAAC,EAAE,eAAe,GACxB,aAAa,CAAC,WAAW,CAAC,CAY5B"}
1
+ {"version":3,"file":"make-blob-iterator.d.ts","sourceRoot":"","sources":["../../../src/iterators/make-iterator/make-blob-iterator.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,iBAAiB,CAAC;AAIrD;;;;;GAKG;AACH,wBAAuB,gBAAgB,CACrC,IAAI,EAAE,IAAI,EACV,OAAO,CAAC,EAAE,eAAe,GACxB,aAAa,CAAC,WAAW,CAAC,CAY5B"}
@@ -1 +1 @@
1
- {"version":3,"file":"make-blob-iterator.js","names":["DEFAULT_CHUNK_SIZE","makeBlobIterator","blob","options","chunkSize","offset","size","end","chunk","slice","arrayBuffer"],"sources":["../../../src/iterators/make-iterator/make-blob-iterator.ts"],"sourcesContent":["// loaders.gl, MIT license\n// Copyright (c) vis.gl contributors\n\nimport type {IteratorOptions} from './make-iterator';\n\nconst DEFAULT_CHUNK_SIZE = 1024 * 1024; // 1MB — biggest value that keeps UI responsive\n\n/**\n * Returns an iterator that breaks a big Blob into chunks and yields them one-by-one\n * @param blob Blob or File object\n * @param options\n * @param options.chunkSize\n */\nexport async function* makeBlobIterator(\n blob: Blob,\n options?: IteratorOptions\n): AsyncIterable<ArrayBuffer> {\n const chunkSize = options?.chunkSize || DEFAULT_CHUNK_SIZE;\n\n let offset = 0;\n while (offset < blob.size) {\n const end = offset + chunkSize;\n\n const chunk = await blob.slice(offset, end).arrayBuffer();\n\n offset = end;\n yield chunk;\n }\n}\n"],"mappings":"AAKA,MAAMA,kBAAkB,GAAG,IAAI,GAAG,IAAI;AAQtC,OAAO,gBAAgBC,gBAAgBA,CACrCC,IAAU,EACVC,OAAyB,EACG;EAC5B,MAAMC,SAAS,GAAG,CAAAD,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEC,SAAS,KAAIJ,kBAAkB;EAE1D,IAAIK,MAAM,GAAG,CAAC;EACd,OAAOA,MAAM,GAAGH,IAAI,CAACI,IAAI,EAAE;IACzB,MAAMC,GAAG,GAAGF,MAAM,GAAGD,SAAS;IAE9B,MAAMI,KAAK,GAAG,MAAMN,IAAI,CAACO,KAAK,CAACJ,MAAM,EAAEE,GAAG,CAAC,CAACG,WAAW,CAAC,CAAC;IAEzDL,MAAM,GAAGE,GAAG;IACZ,MAAMC,KAAK;EACb;AACF"}
1
+ {"version":3,"file":"make-blob-iterator.js","names":["DEFAULT_CHUNK_SIZE","makeBlobIterator","blob","options","chunkSize","offset","size","end","chunk","slice","arrayBuffer"],"sources":["../../../src/iterators/make-iterator/make-blob-iterator.ts"],"sourcesContent":["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport type {IteratorOptions} from './make-iterator';\n\nconst DEFAULT_CHUNK_SIZE = 1024 * 1024; // 1MB — biggest value that keeps UI responsive\n\n/**\n * Returns an iterator that breaks a big Blob into chunks and yields them one-by-one\n * @param blob Blob or File object\n * @param options\n * @param options.chunkSize\n */\nexport async function* makeBlobIterator(\n blob: Blob,\n options?: IteratorOptions\n): AsyncIterable<ArrayBuffer> {\n const chunkSize = options?.chunkSize || DEFAULT_CHUNK_SIZE;\n\n let offset = 0;\n while (offset < blob.size) {\n const end = offset + chunkSize;\n\n const chunk = await blob.slice(offset, end).arrayBuffer();\n\n offset = end;\n yield chunk;\n }\n}\n"],"mappings":"AAMA,MAAMA,kBAAkB,GAAG,IAAI,GAAG,IAAI;AAQtC,OAAO,gBAAgBC,gBAAgBA,CACrCC,IAAU,EACVC,OAAyB,EACG;EAC5B,MAAMC,SAAS,GAAG,CAAAD,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEC,SAAS,KAAIJ,kBAAkB;EAE1D,IAAIK,MAAM,GAAG,CAAC;EACd,OAAOA,MAAM,GAAGH,IAAI,CAACI,IAAI,EAAE;IACzB,MAAMC,GAAG,GAAGF,MAAM,GAAGD,SAAS;IAE9B,MAAMI,KAAK,GAAG,MAAMN,IAAI,CAACO,KAAK,CAACJ,MAAM,EAAEE,GAAG,CAAC,CAACG,WAAW,CAAC,CAAC;IAEzDL,MAAM,GAAGE,GAAG;IACZ,MAAMC,KAAK;EACb;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"make-iterator.d.ts","sourceRoot":"","sources":["../../../src/iterators/make-iterator/make-iterator.ts"],"names":[],"mappings":";AAGA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,IAAI,CAAC;AAKnC,OAAO,KAAK,EAAC,qBAAqB,EAAC,MAAM,wBAAwB,CAAC;AAIlE;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,qBAAqB,GAAG;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,WAAW,GAAG,MAAM,GAAG,IAAI,GAAG,QAAQ,GAAG,cAAc,GAAG,UAAU,EAC1E,OAAO,CAAC,EAAE,eAAe,GACxB,aAAa,CAAC,WAAW,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC,CAmBpD"}
1
+ {"version":3,"file":"make-iterator.d.ts","sourceRoot":"","sources":["../../../src/iterators/make-iterator/make-iterator.ts"],"names":[],"mappings":";AAIA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,IAAI,CAAC;AAKnC,OAAO,KAAK,EAAC,qBAAqB,EAAC,MAAM,wBAAwB,CAAC;AAIlE;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,qBAAqB,GAAG;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,WAAW,GAAG,MAAM,GAAG,IAAI,GAAG,QAAQ,GAAG,cAAc,GAAG,UAAU,EAC1E,OAAO,CAAC,EAAE,eAAe,GACxB,aAAa,CAAC,WAAW,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC,CAmBpD"}
@@ -1 +1 @@
1
- {"version":3,"file":"make-iterator.js","names":["makeStringIterator","makeArrayBufferIterator","makeBlobIterator","makeStreamIterator","isBlob","isReadableStream","isResponse","makeIterator","data","options","ArrayBuffer","response","body","Error"],"sources":["../../../src/iterators/make-iterator/make-iterator.ts"],"sourcesContent":["// loaders.gl, MIT license\n// Copyright (c) vis.gl contributors\n\nimport type {ReadStream} from 'fs';\n\nimport {makeStringIterator} from './make-string-iterator';\nimport {makeArrayBufferIterator} from './make-array-buffer-iterator';\nimport {makeBlobIterator} from './make-blob-iterator';\nimport type {StreamIteratorOptions} from './make-stream-iterator';\nimport {makeStreamIterator} from './make-stream-iterator';\nimport {isBlob, isReadableStream, isResponse} from '../../javascript-utils/is-type';\n\n/**\n * @param [options.chunkSize]\n */\nexport type IteratorOptions = StreamIteratorOptions & {\n chunkSize?: number;\n};\n\n/**\n * Returns an iterator that breaks its input into chunks and yields them one-by-one.\n * @param data\n * @param options\n * @returns\n * This function can e.g. be used to enable data sources that can only be read atomically\n * (such as `Blob` and `File` via `FileReader`) to still be parsed in batches.\n */\nexport function makeIterator(\n data: ArrayBuffer | string | Blob | Response | ReadableStream | ReadStream,\n options?: IteratorOptions\n): AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer> {\n if (typeof data === 'string') {\n // Note: Converts string chunks to binary\n return makeStringIterator(data, options);\n }\n if (data instanceof ArrayBuffer) {\n return makeArrayBufferIterator(data, options);\n }\n if (isBlob(data)) {\n return makeBlobIterator(data as Blob, options);\n }\n if (isReadableStream(data)) {\n return makeStreamIterator(data as ReadableStream, options);\n }\n if (isResponse(data)) {\n const response = data as Response;\n return makeStreamIterator(response.body as ReadableStream, options);\n }\n throw new Error('makeIterator');\n}\n"],"mappings":"SAKQA,kBAAkB;AAAA,SAClBC,uBAAuB;AAAA,SACvBC,gBAAgB;AAAA,SAEhBC,kBAAkB;AAAA,SAClBC,MAAM,EAAEC,gBAAgB,EAAEC,UAAU;AAiB5C,OAAO,SAASC,YAAYA,CAC1BC,IAA0E,EAC1EC,OAAyB,EAC2B;EACpD,IAAI,OAAOD,IAAI,KAAK,QAAQ,EAAE;IAE5B,OAAOR,kBAAkB,CAACQ,IAAI,EAAEC,OAAO,CAAC;EAC1C;EACA,IAAID,IAAI,YAAYE,WAAW,EAAE;IAC/B,OAAOT,uBAAuB,CAACO,IAAI,EAAEC,OAAO,CAAC;EAC/C;EACA,IAAIL,MAAM,CAACI,IAAI,CAAC,EAAE;IAChB,OAAON,gBAAgB,CAACM,IAAI,EAAUC,OAAO,CAAC;EAChD;EACA,IAAIJ,gBAAgB,CAACG,IAAI,CAAC,EAAE;IAC1B,OAAOL,kBAAkB,CAACK,IAAI,EAAoBC,OAAO,CAAC;EAC5D;EACA,IAAIH,UAAU,CAACE,IAAI,CAAC,EAAE;IACpB,MAAMG,QAAQ,GAAGH,IAAgB;IACjC,OAAOL,kBAAkB,CAACQ,QAAQ,CAACC,IAAI,EAAoBH,OAAO,CAAC;EACrE;EACA,MAAM,IAAII,KAAK,CAAC,cAAc,CAAC;AACjC"}
1
+ {"version":3,"file":"make-iterator.js","names":["makeStringIterator","makeArrayBufferIterator","makeBlobIterator","makeStreamIterator","isBlob","isReadableStream","isResponse","makeIterator","data","options","ArrayBuffer","response","body","Error"],"sources":["../../../src/iterators/make-iterator/make-iterator.ts"],"sourcesContent":["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport type {ReadStream} from 'fs';\n\nimport {makeStringIterator} from './make-string-iterator';\nimport {makeArrayBufferIterator} from './make-array-buffer-iterator';\nimport {makeBlobIterator} from './make-blob-iterator';\nimport type {StreamIteratorOptions} from './make-stream-iterator';\nimport {makeStreamIterator} from './make-stream-iterator';\nimport {isBlob, isReadableStream, isResponse} from '../../javascript-utils/is-type';\n\n/**\n * @param [options.chunkSize]\n */\nexport type IteratorOptions = StreamIteratorOptions & {\n chunkSize?: number;\n};\n\n/**\n * Returns an iterator that breaks its input into chunks and yields them one-by-one.\n * @param data\n * @param options\n * @returns\n * This function can e.g. be used to enable data sources that can only be read atomically\n * (such as `Blob` and `File` via `FileReader`) to still be parsed in batches.\n */\nexport function makeIterator(\n data: ArrayBuffer | string | Blob | Response | ReadableStream | ReadStream,\n options?: IteratorOptions\n): AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer> {\n if (typeof data === 'string') {\n // Note: Converts string chunks to binary\n return makeStringIterator(data, options);\n }\n if (data instanceof ArrayBuffer) {\n return makeArrayBufferIterator(data, options);\n }\n if (isBlob(data)) {\n return makeBlobIterator(data as Blob, options);\n }\n if (isReadableStream(data)) {\n return makeStreamIterator(data as ReadableStream, options);\n }\n if (isResponse(data)) {\n const response = data as Response;\n return makeStreamIterator(response.body as ReadableStream, options);\n }\n throw new Error('makeIterator');\n}\n"],"mappings":"SAMQA,kBAAkB;AAAA,SAClBC,uBAAuB;AAAA,SACvBC,gBAAgB;AAAA,SAEhBC,kBAAkB;AAAA,SAClBC,MAAM,EAAEC,gBAAgB,EAAEC,UAAU;AAiB5C,OAAO,SAASC,YAAYA,CAC1BC,IAA0E,EAC1EC,OAAyB,EAC2B;EACpD,IAAI,OAAOD,IAAI,KAAK,QAAQ,EAAE;IAE5B,OAAOR,kBAAkB,CAACQ,IAAI,EAAEC,OAAO,CAAC;EAC1C;EACA,IAAID,IAAI,YAAYE,WAAW,EAAE;IAC/B,OAAOT,uBAAuB,CAACO,IAAI,EAAEC,OAAO,CAAC;EAC/C;EACA,IAAIL,MAAM,CAACI,IAAI,CAAC,EAAE;IAChB,OAAON,gBAAgB,CAACM,IAAI,EAAUC,OAAO,CAAC;EAChD;EACA,IAAIJ,gBAAgB,CAACG,IAAI,CAAC,EAAE;IAC1B,OAAOL,kBAAkB,CAACK,IAAI,EAAoBC,OAAO,CAAC;EAC5D;EACA,IAAIH,UAAU,CAACE,IAAI,CAAC,EAAE;IACpB,MAAMG,QAAQ,GAAGH,IAAgB;IACjC,OAAOL,kBAAkB,CAACQ,QAAQ,CAACC,IAAI,EAAoBH,OAAO,CAAC;EACrE;EACA,MAAM,IAAII,KAAK,CAAC,cAAc,CAAC;AACjC"}
@@ -1 +1 @@
1
- {"version":3,"file":"make-stream-iterator.d.ts","sourceRoot":"","sources":["../../../src/iterators/make-iterator/make-stream-iterator.ts"],"names":[],"mappings":";AAGA,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,QAAQ,CAAC;AAGrC,MAAM,MAAM,qBAAqB,GAAG;IAClC,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAC;AAEF;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,cAAc,GAAG,QAAQ,EACjC,OAAO,CAAC,EAAE,qBAAqB,GAC9B,aAAa,CAAC,WAAW,CAAC,CAI5B"}
1
+ {"version":3,"file":"make-stream-iterator.d.ts","sourceRoot":"","sources":["../../../src/iterators/make-iterator/make-stream-iterator.ts"],"names":[],"mappings":";AAIA,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,QAAQ,CAAC;AAGrC,MAAM,MAAM,qBAAqB,GAAG;IAClC,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAC;AAEF;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,cAAc,GAAG,QAAQ,EACjC,OAAO,CAAC,EAAE,qBAAqB,GAC9B,aAAa,CAAC,WAAW,CAAC,CAI5B"}
@@ -1 +1 @@
1
- {"version":3,"file":"make-stream-iterator.js","names":["isBrowser","toArrayBuffer","makeStreamIterator","stream","options","makeBrowserStreamIterator","makeNodeStreamIterator","reader","getReader","nextBatchPromise","currentBatchPromise","read","_streamReadAhead","done","value","error","releaseLock","chunk"],"sources":["../../../src/iterators/make-iterator/make-stream-iterator.ts"],"sourcesContent":["// loaders.gl, MIT license\n// Copyright (c) vis.gl contributors\n\nimport type {Readable} from 'stream';\nimport {isBrowser, toArrayBuffer} from '@loaders.gl/loader-utils';\n\nexport type StreamIteratorOptions = {\n _streamReadAhead?: boolean;\n};\n\n/**\n * Returns an async iterable that reads from a stream (works in both Node.js and browsers)\n * @param stream stream to iterator over\n */\nexport function makeStreamIterator(\n stream: ReadableStream | Readable,\n options?: StreamIteratorOptions\n): AsyncIterable<ArrayBuffer> {\n return isBrowser\n ? makeBrowserStreamIterator(stream as ReadableStream, options)\n : makeNodeStreamIterator(stream as Readable, options);\n}\n\n/**\n * Returns an async iterable that reads from a DOM (browser) stream\n * @param stream stream to iterate from\n * @see https://jakearchibald.com/2017/async-iterators-and-generators/#making-streams-iterate\n */\nasync function* makeBrowserStreamIterator(\n stream: ReadableStream,\n options?: StreamIteratorOptions\n): AsyncIterable<ArrayBuffer> {\n // WhatWG: stream is supposed to have a `getIterator` method\n // if (typeof stream.getIterator === 'function') {\n // return stream.getIterator();\n // }\n // if (typeof stream[Symbol.asyncIterator] === 'function') {\n // return makeToArrayBufferIterator(stream);\n // }\n\n // In the browser, we first need to get a lock on the stream\n const reader = stream.getReader();\n\n let nextBatchPromise: Promise<{done?: boolean; value?: Uint8Array}> | undefined;\n\n try {\n // eslint-disable-next-line no-constant-condition\n while (true) {\n const currentBatchPromise = nextBatchPromise || reader.read();\n // Issue a read for an additional batch, while we await the next batch\n // Idea is to make fetching happen in parallel with processing / parsing\n if (options?._streamReadAhead) {\n nextBatchPromise = reader.read();\n }\n // Read from the stream\n // value is a Uint8Array\n const {done, value} = await currentBatchPromise;\n // Exit if we're done\n if (done) {\n return;\n }\n // Else yield the chunk\n yield toArrayBuffer(value);\n }\n } catch (error) {\n // TODO - examples makes it look like this should always be called,\n // but that generates exceptions so only call it if we do not reach the end\n reader.releaseLock();\n }\n}\n\n/**\n * Returns an async iterable that reads from a DOM (browser) stream\n * @param stream stream to iterate from\n * @note Requires Node.js >= 10\n */\nasync function* makeNodeStreamIterator(\n stream: Readable,\n options?: StreamIteratorOptions\n): AsyncIterable<ArrayBuffer> {\n // Hacky test for node version to ensure we don't call bad polyfills\n // NODE 10+: stream is an asyncIterator\n for await (const chunk of stream) {\n yield toArrayBuffer(chunk); // Coerce each chunk to ArrayBuffer\n }\n}\n/* TODO - remove NODE < 10\n * @see https://github.com/bustle/streaming-iterables, MIT license\n *\n if (typeof stream[Symbol.asyncIterator] === 'function') {\n return;\n }\n\n // TODO - check if is this ever used in Node 10+?\n // eslint-disable-next-line no-constant-condition\n while (true) {\n const data = stream.read();\n if (data !== null) {\n yield toArrayBuffer(data);\n // eslint-disable-next-line no-continue\n continue;\n }\n if (stream._readableState?.ended) {\n return;\n }\n await onceReadable(stream);\n }\n\nasync function onceReadable(stream: Readable): Promise<any> {\n return new Promise((resolve) => {\n stream.once('readable', resolve);\n });\n}\n */\n"],"mappings":"AAIA,SAAQA,SAAS,EAAEC,aAAa,QAAO,0BAA0B;AAUjE,OAAO,SAASC,kBAAkBA,CAChCC,MAAiC,EACjCC,OAA+B,EACH;EAC5B,OAAOJ,SAAS,GACZK,yBAAyB,CAACF,MAAM,EAAoBC,OAAO,CAAC,GAC5DE,sBAAsB,CAACH,MAAM,EAAcC,OAAO,CAAC;AACzD;AAOA,gBAAgBC,yBAAyBA,CACvCF,MAAsB,EACtBC,OAA+B,EACH;EAU5B,MAAMG,MAAM,GAAGJ,MAAM,CAACK,SAAS,CAAC,CAAC;EAEjC,IAAIC,gBAA2E;EAE/E,IAAI;IAEF,OAAO,IAAI,EAAE;MACX,MAAMC,mBAAmB,GAAGD,gBAAgB,IAAIF,MAAM,CAACI,IAAI,CAAC,CAAC;MAG7D,IAAIP,OAAO,aAAPA,OAAO,eAAPA,OAAO,CAAEQ,gBAAgB,EAAE;QAC7BH,gBAAgB,GAAGF,MAAM,CAACI,IAAI,CAAC,CAAC;MAClC;MAGA,MAAM;QAACE,IAAI;QAAEC;MAAK,CAAC,GAAG,MAAMJ,mBAAmB;MAE/C,IAAIG,IAAI,EAAE;QACR;MACF;MAEA,MAAMZ,aAAa,CAACa,KAAK,CAAC;IAC5B;EACF,CAAC,CAAC,OAAOC,KAAK,EAAE;IAGdR,MAAM,CAACS,WAAW,CAAC,CAAC;EACtB;AACF;AAOA,gBAAgBV,sBAAsBA,CACpCH,MAAgB,EAChBC,OAA+B,EACH;EAG5B,WAAW,MAAMa,KAAK,IAAId,MAAM,EAAE;IAChC,MAAMF,aAAa,CAACgB,KAAK,CAAC;EAC5B;AACF"}
1
+ {"version":3,"file":"make-stream-iterator.js","names":["isBrowser","toArrayBuffer","makeStreamIterator","stream","options","makeBrowserStreamIterator","makeNodeStreamIterator","reader","getReader","nextBatchPromise","currentBatchPromise","read","_streamReadAhead","done","value","error","releaseLock","chunk"],"sources":["../../../src/iterators/make-iterator/make-stream-iterator.ts"],"sourcesContent":["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport type {Readable} from 'stream';\nimport {isBrowser, toArrayBuffer} from '@loaders.gl/loader-utils';\n\nexport type StreamIteratorOptions = {\n _streamReadAhead?: boolean;\n};\n\n/**\n * Returns an async iterable that reads from a stream (works in both Node.js and browsers)\n * @param stream stream to iterator over\n */\nexport function makeStreamIterator(\n stream: ReadableStream | Readable,\n options?: StreamIteratorOptions\n): AsyncIterable<ArrayBuffer> {\n return isBrowser\n ? makeBrowserStreamIterator(stream as ReadableStream, options)\n : makeNodeStreamIterator(stream as Readable, options);\n}\n\n/**\n * Returns an async iterable that reads from a DOM (browser) stream\n * @param stream stream to iterate from\n * @see https://jakearchibald.com/2017/async-iterators-and-generators/#making-streams-iterate\n */\nasync function* makeBrowserStreamIterator(\n stream: ReadableStream,\n options?: StreamIteratorOptions\n): AsyncIterable<ArrayBuffer> {\n // WhatWG: stream is supposed to have a `getIterator` method\n // if (typeof stream.getIterator === 'function') {\n // return stream.getIterator();\n // }\n // if (typeof stream[Symbol.asyncIterator] === 'function') {\n // return makeToArrayBufferIterator(stream);\n // }\n\n // In the browser, we first need to get a lock on the stream\n const reader = stream.getReader();\n\n let nextBatchPromise: Promise<{done?: boolean; value?: Uint8Array}> | undefined;\n\n try {\n // eslint-disable-next-line no-constant-condition\n while (true) {\n const currentBatchPromise = nextBatchPromise || reader.read();\n // Issue a read for an additional batch, while we await the next batch\n // Idea is to make fetching happen in parallel with processing / parsing\n if (options?._streamReadAhead) {\n nextBatchPromise = reader.read();\n }\n // Read from the stream\n // value is a Uint8Array\n const {done, value} = await currentBatchPromise;\n // Exit if we're done\n if (done) {\n return;\n }\n // Else yield the chunk\n yield toArrayBuffer(value);\n }\n } catch (error) {\n // TODO - examples makes it look like this should always be called,\n // but that generates exceptions so only call it if we do not reach the end\n reader.releaseLock();\n }\n}\n\n/**\n * Returns an async iterable that reads from a DOM (browser) stream\n * @param stream stream to iterate from\n * @note Requires Node.js >= 10\n */\nasync function* makeNodeStreamIterator(\n stream: Readable,\n options?: StreamIteratorOptions\n): AsyncIterable<ArrayBuffer> {\n // Hacky test for node version to ensure we don't call bad polyfills\n // NODE 10+: stream is an asyncIterator\n for await (const chunk of stream) {\n yield toArrayBuffer(chunk); // Coerce each chunk to ArrayBuffer\n }\n}\n/* TODO - remove NODE < 10\n * @see https://github.com/bustle/streaming-iterables, MIT license\n *\n if (typeof stream[Symbol.asyncIterator] === 'function') {\n return;\n }\n\n // TODO - check if is this ever used in Node 10+?\n // eslint-disable-next-line no-constant-condition\n while (true) {\n const data = stream.read();\n if (data !== null) {\n yield toArrayBuffer(data);\n // eslint-disable-next-line no-continue\n continue;\n }\n if (stream._readableState?.ended) {\n return;\n }\n await onceReadable(stream);\n }\n\nasync function onceReadable(stream: Readable): Promise<any> {\n return new Promise((resolve) => {\n stream.once('readable', resolve);\n });\n}\n */\n"],"mappings":"AAKA,SAAQA,SAAS,EAAEC,aAAa,QAAO,0BAA0B;AAUjE,OAAO,SAASC,kBAAkBA,CAChCC,MAAiC,EACjCC,OAA+B,EACH;EAC5B,OAAOJ,SAAS,GACZK,yBAAyB,CAACF,MAAM,EAAoBC,OAAO,CAAC,GAC5DE,sBAAsB,CAACH,MAAM,EAAcC,OAAO,CAAC;AACzD;AAOA,gBAAgBC,yBAAyBA,CACvCF,MAAsB,EACtBC,OAA+B,EACH;EAU5B,MAAMG,MAAM,GAAGJ,MAAM,CAACK,SAAS,CAAC,CAAC;EAEjC,IAAIC,gBAA2E;EAE/E,IAAI;IAEF,OAAO,IAAI,EAAE;MACX,MAAMC,mBAAmB,GAAGD,gBAAgB,IAAIF,MAAM,CAACI,IAAI,CAAC,CAAC;MAG7D,IAAIP,OAAO,aAAPA,OAAO,eAAPA,OAAO,CAAEQ,gBAAgB,EAAE;QAC7BH,gBAAgB,GAAGF,MAAM,CAACI,IAAI,CAAC,CAAC;MAClC;MAGA,MAAM;QAACE,IAAI;QAAEC;MAAK,CAAC,GAAG,MAAMJ,mBAAmB;MAE/C,IAAIG,IAAI,EAAE;QACR;MACF;MAEA,MAAMZ,aAAa,CAACa,KAAK,CAAC;IAC5B;EACF,CAAC,CAAC,OAAOC,KAAK,EAAE;IAGdR,MAAM,CAACS,WAAW,CAAC,CAAC;EACtB;AACF;AAOA,gBAAgBV,sBAAsBA,CACpCH,MAAgB,EAChBC,OAA+B,EACH;EAG5B,WAAW,MAAMa,KAAK,IAAId,MAAM,EAAE;IAChC,MAAMF,aAAa,CAACgB,KAAK,CAAC;EAC5B;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"make-string-iterator.d.ts","sourceRoot":"","sources":["../../../src/iterators/make-iterator/make-string-iterator.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,iBAAiB,CAAC;AAIrD;;;;;GAKG;AACH,wBAAiB,kBAAkB,CACjC,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,eAAe,GACxB,QAAQ,CAAC,WAAW,CAAC,CAcvB"}
1
+ {"version":3,"file":"make-string-iterator.d.ts","sourceRoot":"","sources":["../../../src/iterators/make-iterator/make-string-iterator.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,iBAAiB,CAAC;AAIrD;;;;;GAKG;AACH,wBAAiB,kBAAkB,CACjC,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,eAAe,GACxB,QAAQ,CAAC,WAAW,CAAC,CAcvB"}
@@ -1 +1 @@
1
- {"version":3,"file":"make-string-iterator.js","names":["DEFAULT_CHUNK_SIZE","makeStringIterator","string","options","chunkSize","offset","textEncoder","TextEncoder","length","chunkLength","Math","min","chunk","slice","encode"],"sources":["../../../src/iterators/make-iterator/make-string-iterator.ts"],"sourcesContent":["// loaders.gl, MIT license\n// Copyright (c) vis.gl contributors\n\nimport type {IteratorOptions} from './make-iterator';\n\nconst DEFAULT_CHUNK_SIZE = 256 * 1024;\n\n/**\n * Returns an iterator that breaks a big string into chunks and yields them one-by-one as ArrayBuffers\n * @param blob string to iterate over\n * @param options\n * @param options.chunkSize\n */\nexport function* makeStringIterator(\n string: string,\n options?: IteratorOptions\n): Iterable<ArrayBuffer> {\n const chunkSize = options?.chunkSize || DEFAULT_CHUNK_SIZE;\n\n let offset = 0;\n const textEncoder = new TextEncoder();\n while (offset < string.length) {\n // Create a chunk of the right size\n const chunkLength = Math.min(string.length - offset, chunkSize);\n const chunk = string.slice(offset, offset + chunkLength);\n offset += chunkLength;\n\n // yield an ArrayBuffer chunk\n yield textEncoder.encode(chunk);\n }\n}\n"],"mappings":"AAKA,MAAMA,kBAAkB,GAAG,GAAG,GAAG,IAAI;AAQrC,OAAO,UAAUC,kBAAkBA,CACjCC,MAAc,EACdC,OAAyB,EACF;EACvB,MAAMC,SAAS,GAAG,CAAAD,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEC,SAAS,KAAIJ,kBAAkB;EAE1D,IAAIK,MAAM,GAAG,CAAC;EACd,MAAMC,WAAW,GAAG,IAAIC,WAAW,CAAC,CAAC;EACrC,OAAOF,MAAM,GAAGH,MAAM,CAACM,MAAM,EAAE;IAE7B,MAAMC,WAAW,GAAGC,IAAI,CAACC,GAAG,CAACT,MAAM,CAACM,MAAM,GAAGH,MAAM,EAAED,SAAS,CAAC;IAC/D,MAAMQ,KAAK,GAAGV,MAAM,CAACW,KAAK,CAACR,MAAM,EAAEA,MAAM,GAAGI,WAAW,CAAC;IACxDJ,MAAM,IAAII,WAAW;IAGrB,MAAMH,WAAW,CAACQ,MAAM,CAACF,KAAK,CAAC;EACjC;AACF"}
1
+ {"version":3,"file":"make-string-iterator.js","names":["DEFAULT_CHUNK_SIZE","makeStringIterator","string","options","chunkSize","offset","textEncoder","TextEncoder","length","chunkLength","Math","min","chunk","slice","encode"],"sources":["../../../src/iterators/make-iterator/make-string-iterator.ts"],"sourcesContent":["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport type {IteratorOptions} from './make-iterator';\n\nconst DEFAULT_CHUNK_SIZE = 256 * 1024;\n\n/**\n * Returns an iterator that breaks a big string into chunks and yields them one-by-one as ArrayBuffers\n * @param blob string to iterate over\n * @param options\n * @param options.chunkSize\n */\nexport function* makeStringIterator(\n string: string,\n options?: IteratorOptions\n): Iterable<ArrayBuffer> {\n const chunkSize = options?.chunkSize || DEFAULT_CHUNK_SIZE;\n\n let offset = 0;\n const textEncoder = new TextEncoder();\n while (offset < string.length) {\n // Create a chunk of the right size\n const chunkLength = Math.min(string.length - offset, chunkSize);\n const chunk = string.slice(offset, offset + chunkLength);\n offset += chunkLength;\n\n // yield an ArrayBuffer chunk\n yield textEncoder.encode(chunk);\n }\n}\n"],"mappings":"AAMA,MAAMA,kBAAkB,GAAG,GAAG,GAAG,IAAI;AAQrC,OAAO,UAAUC,kBAAkBA,CACjCC,MAAc,EACdC,OAAyB,EACF;EACvB,MAAMC,SAAS,GAAG,CAAAD,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEC,SAAS,KAAIJ,kBAAkB;EAE1D,IAAIK,MAAM,GAAG,CAAC;EACd,MAAMC,WAAW,GAAG,IAAIC,WAAW,CAAC,CAAC;EACrC,OAAOF,MAAM,GAAGH,MAAM,CAACM,MAAM,EAAE;IAE7B,MAAMC,WAAW,GAAGC,IAAI,CAACC,GAAG,CAACT,MAAM,CAACM,MAAM,GAAGH,MAAM,EAAED,SAAS,CAAC;IAC/D,MAAMQ,KAAK,GAAGV,MAAM,CAACW,KAAK,CAACR,MAAM,EAAEA,MAAM,GAAGI,WAAW,CAAC;IACxDJ,MAAM,IAAII,WAAW;IAGrB,MAAMH,WAAW,CAACQ,MAAM,CAACF,KAAK,CAAC;EACjC;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"make-stream.d.ts","sourceRoot":"","sources":["../../../src/iterators/make-stream/make-stream.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,iBAAiB,GAAG;IAC9B,wEAAwE;IACxE,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,sEAAsE;IACtE,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,WAAW,EACpC,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,aAAa,CAAC,WAAW,CAAC,EAC1D,OAAO,CAAC,EAAE,iBAAiB,GAC1B,cAAc,CA4ChB"}
1
+ {"version":3,"file":"make-stream.d.ts","sourceRoot":"","sources":["../../../src/iterators/make-stream/make-stream.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,iBAAiB,GAAG;IAC9B,wEAAwE;IACxE,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,sEAAsE;IACtE,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,WAAW,EACpC,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,aAAa,CAAC,WAAW,CAAC,EAC1D,OAAO,CAAC,EAAE,iBAAiB,GAC1B,cAAc,CA4ChB"}