@loaders.gl/core 3.1.0-alpha.5 → 3.1.0-beta.4

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 (155) hide show
  1. package/dist/bundle.d.ts +2 -0
  2. package/dist/bundle.d.ts.map +1 -0
  3. package/dist/bundle.js +3380 -0
  4. package/dist/core-addons/write-file-browser.d.ts +1 -0
  5. package/dist/core-addons/write-file-browser.d.ts.map +1 -0
  6. package/dist/core-addons/write-file-browser.js +60 -0
  7. package/dist/es5/lib/api/register-loaders.js.map +1 -1
  8. package/dist/es5/lib/init.js +1 -1
  9. package/dist/es5/lib/init.js.map +1 -1
  10. package/dist/es5/null-loader.js +1 -1
  11. package/dist/es5/null-loader.js.map +1 -1
  12. package/dist/esm/lib/api/register-loaders.js.map +1 -1
  13. package/dist/esm/lib/init.js +1 -1
  14. package/dist/esm/lib/init.js.map +1 -1
  15. package/dist/esm/null-loader.js +1 -1
  16. package/dist/esm/null-loader.js.map +1 -1
  17. package/dist/index.d.ts +31 -0
  18. package/dist/index.d.ts.map +1 -0
  19. package/dist/index.js +106 -0
  20. package/dist/iterators/batch-iterators/timed-batch-iterator.d.ts +5 -0
  21. package/dist/iterators/batch-iterators/timed-batch-iterator.d.ts.map +1 -0
  22. package/dist/iterators/batch-iterators/timed-batch-iterator.js +22 -0
  23. package/dist/iterators/make-iterator/make-array-buffer-iterator.d.ts +9 -0
  24. package/dist/iterators/make-iterator/make-array-buffer-iterator.d.ts.map +1 -0
  25. package/dist/iterators/make-iterator/make-array-buffer-iterator.js +27 -0
  26. package/dist/iterators/make-iterator/make-blob-iterator.d.ts +9 -0
  27. package/dist/iterators/make-iterator/make-blob-iterator.d.ts.map +1 -0
  28. package/dist/iterators/make-iterator/make-blob-iterator.js +21 -0
  29. package/dist/iterators/make-iterator/make-iterator.d.ts +19 -0
  30. package/dist/iterators/make-iterator/make-iterator.d.ts.map +1 -0
  31. package/dist/iterators/make-iterator/make-iterator.js +37 -0
  32. package/dist/iterators/make-iterator/make-stream-iterator.d.ts +11 -0
  33. package/dist/iterators/make-iterator/make-stream-iterator.d.ts.map +1 -0
  34. package/dist/iterators/make-iterator/make-stream-iterator.js +96 -0
  35. package/dist/iterators/make-iterator/make-string-iterator.d.ts +9 -0
  36. package/dist/iterators/make-iterator/make-string-iterator.d.ts.map +1 -0
  37. package/dist/iterators/make-iterator/make-string-iterator.js +24 -0
  38. package/dist/iterators/make-stream/make-dom-stream.d.ts +9 -0
  39. package/dist/iterators/make-stream/make-dom-stream.d.ts.map +1 -0
  40. package/dist/iterators/make-stream/make-dom-stream.js +41 -0
  41. package/dist/iterators/make-stream/make-node-stream.d.ts +7 -0
  42. package/dist/iterators/make-stream/make-node-stream.d.ts.map +1 -0
  43. package/dist/iterators/make-stream/make-node-stream.js +58 -0
  44. package/dist/iterators/make-stream/make-stream.d.ts +9 -0
  45. package/dist/iterators/make-stream/make-stream.d.ts.map +1 -0
  46. package/dist/iterators/make-stream/make-stream.js +16 -0
  47. package/dist/javascript-utils/is-type.d.ts +22 -0
  48. package/dist/javascript-utils/is-type.d.ts.map +1 -0
  49. package/dist/javascript-utils/is-type.js +41 -0
  50. package/dist/lib/api/encode.d.ts +26 -0
  51. package/dist/lib/api/encode.d.ts.map +1 -0
  52. package/dist/lib/api/encode.js +111 -0
  53. package/dist/lib/api/load-in-batches.d.ts +13 -0
  54. package/dist/lib/api/load-in-batches.d.ts.map +1 -0
  55. package/dist/lib/api/load-in-batches.js +33 -0
  56. package/dist/lib/api/load.d.ts +12 -0
  57. package/dist/lib/api/load.d.ts.map +1 -0
  58. package/dist/lib/api/load.js +41 -0
  59. package/dist/lib/api/parse-in-batches.d.ts +10 -0
  60. package/dist/lib/api/parse-in-batches.d.ts.map +1 -0
  61. package/dist/lib/api/parse-in-batches.js +120 -0
  62. package/dist/lib/api/parse-sync.d.ts +10 -0
  63. package/dist/lib/api/parse-sync.d.ts.map +1 -0
  64. package/dist/lib/api/parse-sync.js +59 -0
  65. package/dist/lib/api/parse.d.ts +10 -0
  66. package/dist/lib/api/parse.d.ts.map +1 -0
  67. package/dist/lib/api/parse.js +74 -0
  68. package/dist/lib/api/register-loaders.d.ts +7 -0
  69. package/dist/lib/api/register-loaders.d.ts.map +1 -0
  70. package/dist/lib/api/register-loaders.js +35 -0
  71. package/dist/lib/api/save.d.ts +4 -0
  72. package/dist/lib/api/save.d.ts.map +1 -0
  73. package/dist/lib/api/save.js +15 -0
  74. package/dist/lib/api/select-loader.d.ts +22 -0
  75. package/dist/lib/api/select-loader.d.ts.map +1 -0
  76. package/dist/lib/api/select-loader.js +239 -0
  77. package/dist/lib/api/set-loader-options.d.ts +6 -0
  78. package/dist/lib/api/set-loader-options.d.ts.map +1 -0
  79. package/dist/lib/api/set-loader-options.js +12 -0
  80. package/dist/lib/common.d.ts +2 -0
  81. package/dist/lib/common.d.ts.map +1 -0
  82. package/dist/lib/common.js +2 -0
  83. package/dist/lib/fetch/fetch-error-message.d.ts +3 -0
  84. package/dist/lib/fetch/fetch-error-message.d.ts.map +1 -0
  85. package/dist/lib/fetch/fetch-error-message.js +25 -0
  86. package/dist/lib/fetch/fetch-file.d.ts +13 -0
  87. package/dist/lib/fetch/fetch-file.d.ts.map +1 -0
  88. package/dist/lib/fetch/fetch-file.js +27 -0
  89. package/dist/lib/fetch/read-array-buffer.d.ts +17 -0
  90. package/dist/lib/fetch/read-array-buffer.d.ts.map +1 -0
  91. package/dist/lib/fetch/read-array-buffer.js +41 -0
  92. package/dist/lib/fetch/read-file.d.ts +5 -0
  93. package/dist/lib/fetch/read-file.d.ts.map +1 -0
  94. package/dist/lib/fetch/read-file.js +29 -0
  95. package/dist/lib/fetch/write-file.d.ts +3 -0
  96. package/dist/lib/fetch/write-file.d.ts.map +1 -0
  97. package/dist/lib/fetch/write-file.js +22 -0
  98. package/dist/lib/filesystems/browser-filesystem.d.ts +58 -0
  99. package/dist/lib/filesystems/browser-filesystem.d.ts.map +1 -0
  100. package/dist/lib/filesystems/browser-filesystem.js +126 -0
  101. package/dist/lib/filesystems/filesystem.d.ts +46 -0
  102. package/dist/lib/filesystems/filesystem.d.ts.map +1 -0
  103. package/dist/lib/filesystems/filesystem.js +2 -0
  104. package/dist/lib/filesystems/read-array-buffer.d.ts +19 -0
  105. package/dist/lib/filesystems/read-array-buffer.d.ts.map +1 -0
  106. package/dist/lib/filesystems/read-array-buffer.js +29 -0
  107. package/dist/lib/init.d.ts +3 -0
  108. package/dist/lib/init.d.ts.map +1 -0
  109. package/dist/lib/init.js +10 -0
  110. package/dist/lib/loader-utils/check-errors.d.ts +3 -0
  111. package/dist/lib/loader-utils/check-errors.d.ts.map +1 -0
  112. package/dist/lib/loader-utils/check-errors.js +30 -0
  113. package/dist/lib/loader-utils/get-data.d.ts +6 -0
  114. package/dist/lib/loader-utils/get-data.d.ts.map +1 -0
  115. package/dist/lib/loader-utils/get-data.js +129 -0
  116. package/dist/lib/loader-utils/loader-context.d.ts +13 -0
  117. package/dist/lib/loader-utils/loader-context.d.ts.map +1 -0
  118. package/dist/lib/loader-utils/loader-context.js +49 -0
  119. package/dist/lib/loader-utils/loggers.d.ts +16 -0
  120. package/dist/lib/loader-utils/loggers.d.ts.map +1 -0
  121. package/dist/lib/loader-utils/loggers.js +41 -0
  122. package/dist/lib/loader-utils/normalize-loader.d.ts +4 -0
  123. package/dist/lib/loader-utils/normalize-loader.d.ts.map +1 -0
  124. package/dist/lib/loader-utils/normalize-loader.js +52 -0
  125. package/dist/lib/loader-utils/option-defaults.d.ts +20 -0
  126. package/dist/lib/loader-utils/option-defaults.d.ts.map +1 -0
  127. package/dist/lib/loader-utils/option-defaults.js +41 -0
  128. package/dist/lib/loader-utils/option-utils.d.ts +36 -0
  129. package/dist/lib/loader-utils/option-utils.d.ts.map +1 -0
  130. package/dist/lib/loader-utils/option-utils.js +177 -0
  131. package/dist/lib/progress/fetch-progress.d.ts +6 -0
  132. package/dist/lib/progress/fetch-progress.d.ts.map +1 -0
  133. package/dist/lib/progress/fetch-progress.js +59 -0
  134. package/dist/lib/utils/mime-type-utils.d.ts +20 -0
  135. package/dist/lib/utils/mime-type-utils.d.ts.map +1 -0
  136. package/dist/lib/utils/mime-type-utils.js +42 -0
  137. package/dist/lib/utils/resource-utils.d.ts +21 -0
  138. package/dist/lib/utils/resource-utils.d.ts.map +1 -0
  139. package/dist/lib/utils/resource-utils.js +78 -0
  140. package/dist/lib/utils/response-utils.d.ts +18 -0
  141. package/dist/lib/utils/response-utils.d.ts.map +1 -0
  142. package/dist/lib/utils/response-utils.js +114 -0
  143. package/dist/null-loader.d.ts +10 -0
  144. package/dist/null-loader.d.ts.map +1 -0
  145. package/dist/null-loader.js +44 -0
  146. package/dist/null-worker.js +178 -2
  147. package/dist/workers/null-worker.d.ts +2 -0
  148. package/dist/workers/null-worker.d.ts.map +1 -0
  149. package/dist/workers/null-worker.js +5 -0
  150. package/package.json +7 -7
  151. package/src/lib/api/register-loaders.ts +2 -1
  152. package/src/lib/{init.js → init.ts} +0 -0
  153. package/dist/dist.min.js +0 -2
  154. package/dist/dist.min.js.map +0 -1
  155. package/dist/null-worker.js.map +0 -1
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=write-file-browser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"write-file-browser.d.ts","sourceRoot":"","sources":["../../src/core-addons/write-file-browser.ts"],"names":[],"mappings":""}
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ // A browser implementation of the Node.js `fs` module's `fs.writeFile` method.
3
+ // NOTE: WAS COMMENTED OUT TO GET NODE 8 TESTS RUNNING
4
+ /*
5
+ /* global global *
6
+ /* global Blob *
7
+ import {isBrowser} from '@loaders.gl/core';
8
+
9
+ // TODO hack - trick filesaver.js to skip loading under node
10
+ const savedNavigatorExists = 'navigator' in global;
11
+ const savedNavigator = global.navigator;
12
+ if (!isBrowser) {
13
+ global.navigator = {userAgent: 'MSIE 9.'};
14
+ }
15
+
16
+ // Need to use `require` to ensure our modification of global code above happens first
17
+ const saveAs = require('filesaver.js');
18
+
19
+ if (!isBrowser) {
20
+ if (savedNavigatorExists) {
21
+ global.navigator = savedNavigator;
22
+ } else {
23
+ delete global.navigator;
24
+ }
25
+ }
26
+ // END hack
27
+
28
+ /**
29
+ * File system write function for the browser, similar to Node's fs.writeFile
30
+ *
31
+ * Saves a file by downloading it with the given file name.
32
+ *
33
+ * @param {String} file - file name
34
+ * @param {String|Blob} data - data to be written to file
35
+ * @param {String|Object} options -
36
+ * @param {Function} callback - Standard node (err, data) callback
37
+ * @return {Promise} - promise, can be used instead of callback
38
+ *
39
+ async export function writeFile(file, data, options, callback = () => {}) {
40
+ // options is optional
41
+ if (callback === undefined && typeof options === 'function') {
42
+ options = undefined;
43
+ callback = options;
44
+ }
45
+ if (typeof data === 'string') {
46
+ data = new Blob(data);
47
+ }
48
+ return new Promise((resolve, reject) => {
49
+ let result;
50
+ try {
51
+ result = saveAs(data, file, options);
52
+ } catch (error) {
53
+ reject(error);
54
+ return callback(error, null);
55
+ }
56
+ resolve();
57
+ return callback(null, result);
58
+ });
59
+ }
60
+ */
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/lib/api/register-loaders.ts"],"names":["getGlobalLoaderRegistry","state","loaderRegistry","registerLoaders","loaders","Array","isArray","loader","normalizedLoader","find","registeredLoader","unshift","getRegisteredLoaders","_unregisterLoaders"],"mappings":";;;;;;;;;AACA;;AACA;;AAIA,MAAMA,uBAAuB,GAAG,MAAM;AACpC,QAAMC,KAAK,GAAG,wCAAd;AACAA,EAAAA,KAAK,CAACC,cAAN,GAAuBD,KAAK,CAACC,cAAN,IAAwB,EAA/C;AACA,SAAOD,KAAK,CAACC,cAAb;AACD,CAJD;;AAMO,SAASC,eAAT,CAAyBC,OAAzB,EAA4C;AACjD,QAAMF,cAAc,GAAGF,uBAAuB,EAA9C;AAEAI,EAAAA,OAAO,GAAGC,KAAK,CAACC,OAAN,CAAcF,OAAd,IAAyBA,OAAzB,GAAmC,CAACA,OAAD,CAA7C;;AAEA,OAAK,MAAMG,MAAX,IAAqBH,OAArB,EAA8B;AAC5B,UAAMI,gBAAgB,GAAG,sCAAgBD,MAAhB,CAAzB;;AACA,QAAI,CAACL,cAAc,CAACO,IAAf,CAAqBC,gBAAD,IAAsBF,gBAAgB,KAAKE,gBAA/D,CAAL,EAAuF;AAErFR,MAAAA,cAAc,CAACS,OAAf,CAAuBH,gBAAvB;AACD;AACF;AACF;;AAEM,SAASI,oBAAT,GAA0C;AAC/C,SAAOZ,uBAAuB,EAA9B;AACD;;AAGM,SAASa,kBAAT,GAA8B;AACnC,QAAMZ,KAAK,GAAG,wCAAd;AACAA,EAAAA,KAAK,CAACC,cAAN,GAAuB,EAAvB;AACD","sourcesContent":["import {Loader} from '@loaders.gl/loader-utils';\nimport {normalizeLoader} from '../loader-utils/normalize-loader';\nimport {getGlobalLoaderState} from '../loader-utils/option-utils';\n\n// Store global registered loaders on the global object to increase chances of cross loaders-version interoperability\n// This use case is not reliable but can help when testing new versions of loaders.gl with existing frameworks\nconst getGlobalLoaderRegistry = () => {\n const state = getGlobalLoaderState();\n state.loaderRegistry = state.loaderRegistry || [];\n return state.loaderRegistry;\n};\n\nexport function registerLoaders(loaders: Loader[]) {\n const loaderRegistry = getGlobalLoaderRegistry();\n\n loaders = Array.isArray(loaders) ? loaders : [loaders];\n\n for (const loader of loaders) {\n const normalizedLoader = normalizeLoader(loader);\n if (!loaderRegistry.find((registeredLoader) => normalizedLoader === registeredLoader)) {\n // add to the beginning of the loaderRegistry, so the last registeredLoader get picked\n loaderRegistry.unshift(normalizedLoader);\n }\n }\n}\n\nexport function getRegisteredLoaders(): Loader[] {\n return getGlobalLoaderRegistry();\n}\n\n// For testing\nexport function _unregisterLoaders() {\n const state = getGlobalLoaderState();\n state.loaderRegistry = [];\n}\n"],"file":"register-loaders.js"}
1
+ {"version":3,"sources":["../../../../src/lib/api/register-loaders.ts"],"names":["getGlobalLoaderRegistry","state","loaderRegistry","registerLoaders","loaders","Array","isArray","loader","normalizedLoader","find","registeredLoader","unshift","getRegisteredLoaders","_unregisterLoaders"],"mappings":";;;;;;;;;AACA;;AACA;;AAIA,MAAMA,uBAAuB,GAAG,MAAM;AACpC,QAAMC,KAAK,GAAG,wCAAd;AACAA,EAAAA,KAAK,CAACC,cAAN,GAAuBD,KAAK,CAACC,cAAN,IAAwB,EAA/C;AACA,SAAOD,KAAK,CAACC,cAAb;AACD,CAJD;;AAOO,SAASC,eAAT,CAAyBC,OAAzB,EAA4C;AACjD,QAAMF,cAAc,GAAGF,uBAAuB,EAA9C;AAEAI,EAAAA,OAAO,GAAGC,KAAK,CAACC,OAAN,CAAcF,OAAd,IAAyBA,OAAzB,GAAmC,CAACA,OAAD,CAA7C;;AAEA,OAAK,MAAMG,MAAX,IAAqBH,OAArB,EAA8B;AAC5B,UAAMI,gBAAgB,GAAG,sCAAgBD,MAAhB,CAAzB;;AACA,QAAI,CAACL,cAAc,CAACO,IAAf,CAAqBC,gBAAD,IAAsBF,gBAAgB,KAAKE,gBAA/D,CAAL,EAAuF;AAErFR,MAAAA,cAAc,CAACS,OAAf,CAAuBH,gBAAvB;AACD;AACF;AACF;;AAEM,SAASI,oBAAT,GAA0C;AAC/C,SAAOZ,uBAAuB,EAA9B;AACD;;AAGM,SAASa,kBAAT,GAA8B;AACnC,QAAMZ,KAAK,GAAG,wCAAd;AACAA,EAAAA,KAAK,CAACC,cAAN,GAAuB,EAAvB;AACD","sourcesContent":["import {Loader} from '@loaders.gl/loader-utils';\nimport {normalizeLoader} from '../loader-utils/normalize-loader';\nimport {getGlobalLoaderState} from '../loader-utils/option-utils';\n\n// Store global registered loaders on the global object to increase chances of cross loaders-version interoperability\n// This use case is not reliable but can help when testing new versions of loaders.gl with existing frameworks\nconst getGlobalLoaderRegistry = () => {\n const state = getGlobalLoaderState();\n state.loaderRegistry = state.loaderRegistry || [];\n return state.loaderRegistry;\n};\n\n/** Register a list of global loaders */\nexport function registerLoaders(loaders: Loader[]) {\n const loaderRegistry = getGlobalLoaderRegistry();\n\n loaders = Array.isArray(loaders) ? loaders : [loaders];\n\n for (const loader of loaders) {\n const normalizedLoader = normalizeLoader(loader);\n if (!loaderRegistry.find((registeredLoader) => normalizedLoader === registeredLoader)) {\n // add to the beginning of the loaderRegistry, so the last registeredLoader get picked\n loaderRegistry.unshift(normalizedLoader);\n }\n }\n}\n\nexport function getRegisteredLoaders(): Loader[] {\n return getGlobalLoaderRegistry();\n}\n\n/** @deprecated For testing only */\nexport function _unregisterLoaders() {\n const state = getGlobalLoaderState();\n state.loaderRegistry = [];\n}\n"],"file":"register-loaders.js"}
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
- const version = typeof "3.1.0-alpha.5" !== 'undefined' ? "3.1.0-alpha.5" : '';
7
+ const version = typeof "3.1.0-beta.4" !== 'undefined' ? "3.1.0-beta.4" : '';
8
8
  globalThis.loaders = Object.assign(globalThis.loaders || {}, {
9
9
  VERSION: version
10
10
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/lib/init.js"],"names":["version","globalThis","loaders","Object","assign","VERSION"],"mappings":";;;;;;AACA,MAAMA,OAAO,GAAG,2BAAuB,WAAvB,qBAAmD,EAAnE;AAGAC,UAAU,CAACC,OAAX,GAAqBC,MAAM,CAACC,MAAP,CAAcH,UAAU,CAACC,OAAX,IAAsB,EAApC,EAAwC;AAC3DG,EAAAA,OAAO,EAAEL;AADkD,CAAxC,CAArB;eAKeC,UAAU,CAACC,O","sourcesContent":["// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst version = typeof __VERSION__ !== 'undefined' ? __VERSION__ : '';\n\n// @ts-ignore\nglobalThis.loaders = Object.assign(globalThis.loaders || {}, {\n VERSION: version\n});\n\n// @ts-ignore\nexport default globalThis.loaders;\n"],"file":"init.js"}
1
+ {"version":3,"sources":["../../../src/lib/init.ts"],"names":["version","globalThis","loaders","Object","assign","VERSION"],"mappings":";;;;;;AACA,MAAMA,OAAO,GAAG,0BAAuB,WAAvB,oBAAmD,EAAnE;AAGAC,UAAU,CAACC,OAAX,GAAqBC,MAAM,CAACC,MAAP,CAAcH,UAAU,CAACC,OAAX,IAAsB,EAApC,EAAwC;AAC3DG,EAAAA,OAAO,EAAEL;AADkD,CAAxC,CAArB;eAKeC,UAAU,CAACC,O","sourcesContent":["// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst version = typeof __VERSION__ !== 'undefined' ? __VERSION__ : '';\n\n// @ts-ignore\nglobalThis.loaders = Object.assign(globalThis.loaders || {}, {\n VERSION: version\n});\n\n// @ts-ignore\nexport default globalThis.loaders;\n"],"file":"init.js"}
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.NullLoader = exports.NullWorkerLoader = void 0;
7
- const VERSION = typeof "3.1.0-alpha.5" !== 'undefined' ? "3.1.0-alpha.5" : 'latest';
7
+ const VERSION = typeof "3.1.0-beta.4" !== 'undefined' ? "3.1.0-beta.4" : 'latest';
8
8
  const NullWorkerLoader = {
9
9
  name: 'Null loader',
10
10
  id: 'null',
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/null-loader.ts"],"names":["VERSION","NullWorkerLoader","name","id","module","version","worker","mimeTypes","extensions","tests","options","null","NullLoader","parse","arrayBuffer","parseSync","parseInBatches","generator","asyncIterator","batch"],"mappings":";;;;;;AAEA,MAAMA,OAAO,GAAG,2BAAuB,WAAvB,qBAAmD,QAAnE;AAOO,MAAMC,gBAAwB,GAAG;AACtCC,EAAAA,IAAI,EAAE,aADgC;AAEtCC,EAAAA,EAAE,EAAE,MAFkC;AAGtCC,EAAAA,MAAM,EAAE,MAH8B;AAItCC,EAAAA,OAAO,EAAEL,OAJ6B;AAKtCM,EAAAA,MAAM,EAAE,IAL8B;AAMtCC,EAAAA,SAAS,EAAE,CAAC,qBAAD,CAN2B;AAOtCC,EAAAA,UAAU,EAAE,CAAC,MAAD,CAP0B;AAQtCC,EAAAA,KAAK,EAAE,CAAC,MAAM,KAAP,CAR+B;AAStCC,EAAAA,OAAO,EAAE;AACPC,IAAAA,IAAI,EAAE;AADC;AAT6B,CAAjC;;AAiBA,MAAMC,UAA4B,GAAG;AAC1CV,EAAAA,IAAI,EAAE,aADoC;AAE1CC,EAAAA,EAAE,EAAE,MAFsC;AAG1CC,EAAAA,MAAM,EAAE,MAHkC;AAI1CC,EAAAA,OAAO,EAAEL,OAJiC;AAK1CO,EAAAA,SAAS,EAAE,CAAC,qBAAD,CAL+B;AAM1CC,EAAAA,UAAU,EAAE,CAAC,MAAD,CAN8B;AAO1CK,EAAAA,KAAK,EAAE,MAAOC,WAAP,IAAuBA,WAPY;AAQ1CC,EAAAA,SAAS,EAAGD,WAAD,IAAiBA,WARc;AAS1CE,EAAAA,cAAc,EAAE,gBAAgBC,SAAhB,CAA0BC,aAA1B,EAAyC;AACvD,eAAW,MAAMC,KAAjB,IAA0BD,aAA1B,EAAyC;AACvC,YAAMC,KAAN;AACD;AACF,GAbyC;AAc1CV,EAAAA,KAAK,EAAE,CAAC,MAAM,KAAP,CAdmC;AAe1CC,EAAAA,OAAO,EAAE;AACPC,IAAAA,IAAI,EAAE;AADC;AAfiC,CAArC","sourcesContent":["// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';\n\nimport {Loader, LoaderWithParser} from '@loaders.gl/loader-utils';\n\n/**\n * Loads any data and returns null (or optionally passes through data unparsed)\n */\nexport const NullWorkerLoader: Loader = {\n name: 'Null loader',\n id: 'null',\n module: 'core',\n version: VERSION,\n worker: true,\n mimeTypes: ['application/x.empty'],\n extensions: ['null'],\n tests: [() => false],\n options: {\n null: {}\n }\n};\n\n/**\n * Loads any data and returns null (or optionally passes through data unparsed)\n */\nexport const NullLoader: LoaderWithParser = {\n name: 'Null loader',\n id: 'null',\n module: 'core',\n version: VERSION,\n mimeTypes: ['application/x.empty'],\n extensions: ['null'],\n parse: async (arrayBuffer) => arrayBuffer,\n parseSync: (arrayBuffer) => arrayBuffer,\n parseInBatches: async function* generator(asyncIterator) {\n for await (const batch of asyncIterator) {\n yield batch;\n }\n },\n tests: [() => false],\n options: {\n null: {}\n }\n};\n"],"file":"null-loader.js"}
1
+ {"version":3,"sources":["../../src/null-loader.ts"],"names":["VERSION","NullWorkerLoader","name","id","module","version","worker","mimeTypes","extensions","tests","options","null","NullLoader","parse","arrayBuffer","parseSync","parseInBatches","generator","asyncIterator","batch"],"mappings":";;;;;;AAEA,MAAMA,OAAO,GAAG,0BAAuB,WAAvB,oBAAmD,QAAnE;AAOO,MAAMC,gBAAwB,GAAG;AACtCC,EAAAA,IAAI,EAAE,aADgC;AAEtCC,EAAAA,EAAE,EAAE,MAFkC;AAGtCC,EAAAA,MAAM,EAAE,MAH8B;AAItCC,EAAAA,OAAO,EAAEL,OAJ6B;AAKtCM,EAAAA,MAAM,EAAE,IAL8B;AAMtCC,EAAAA,SAAS,EAAE,CAAC,qBAAD,CAN2B;AAOtCC,EAAAA,UAAU,EAAE,CAAC,MAAD,CAP0B;AAQtCC,EAAAA,KAAK,EAAE,CAAC,MAAM,KAAP,CAR+B;AAStCC,EAAAA,OAAO,EAAE;AACPC,IAAAA,IAAI,EAAE;AADC;AAT6B,CAAjC;;AAiBA,MAAMC,UAA4B,GAAG;AAC1CV,EAAAA,IAAI,EAAE,aADoC;AAE1CC,EAAAA,EAAE,EAAE,MAFsC;AAG1CC,EAAAA,MAAM,EAAE,MAHkC;AAI1CC,EAAAA,OAAO,EAAEL,OAJiC;AAK1CO,EAAAA,SAAS,EAAE,CAAC,qBAAD,CAL+B;AAM1CC,EAAAA,UAAU,EAAE,CAAC,MAAD,CAN8B;AAO1CK,EAAAA,KAAK,EAAE,MAAOC,WAAP,IAAuBA,WAPY;AAQ1CC,EAAAA,SAAS,EAAGD,WAAD,IAAiBA,WARc;AAS1CE,EAAAA,cAAc,EAAE,gBAAgBC,SAAhB,CAA0BC,aAA1B,EAAyC;AACvD,eAAW,MAAMC,KAAjB,IAA0BD,aAA1B,EAAyC;AACvC,YAAMC,KAAN;AACD;AACF,GAbyC;AAc1CV,EAAAA,KAAK,EAAE,CAAC,MAAM,KAAP,CAdmC;AAe1CC,EAAAA,OAAO,EAAE;AACPC,IAAAA,IAAI,EAAE;AADC;AAfiC,CAArC","sourcesContent":["// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';\n\nimport {Loader, LoaderWithParser} from '@loaders.gl/loader-utils';\n\n/**\n * Loads any data and returns null (or optionally passes through data unparsed)\n */\nexport const NullWorkerLoader: Loader = {\n name: 'Null loader',\n id: 'null',\n module: 'core',\n version: VERSION,\n worker: true,\n mimeTypes: ['application/x.empty'],\n extensions: ['null'],\n tests: [() => false],\n options: {\n null: {}\n }\n};\n\n/**\n * Loads any data and returns null (or optionally passes through data unparsed)\n */\nexport const NullLoader: LoaderWithParser = {\n name: 'Null loader',\n id: 'null',\n module: 'core',\n version: VERSION,\n mimeTypes: ['application/x.empty'],\n extensions: ['null'],\n parse: async (arrayBuffer) => arrayBuffer,\n parseSync: (arrayBuffer) => arrayBuffer,\n parseInBatches: async function* generator(asyncIterator) {\n for await (const batch of asyncIterator) {\n yield batch;\n }\n },\n tests: [() => false],\n options: {\n null: {}\n }\n};\n"],"file":"null-loader.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/lib/api/register-loaders.ts"],"names":["normalizeLoader","getGlobalLoaderState","getGlobalLoaderRegistry","state","loaderRegistry","registerLoaders","loaders","Array","isArray","loader","normalizedLoader","find","registeredLoader","unshift","getRegisteredLoaders","_unregisterLoaders"],"mappings":"AACA,SAAQA,eAAR,QAA8B,kCAA9B;AACA,SAAQC,oBAAR,QAAmC,8BAAnC;;AAIA,MAAMC,uBAAuB,GAAG,MAAM;AACpC,QAAMC,KAAK,GAAGF,oBAAoB,EAAlC;AACAE,EAAAA,KAAK,CAACC,cAAN,GAAuBD,KAAK,CAACC,cAAN,IAAwB,EAA/C;AACA,SAAOD,KAAK,CAACC,cAAb;AACD,CAJD;;AAMA,OAAO,SAASC,eAAT,CAAyBC,OAAzB,EAA4C;AACjD,QAAMF,cAAc,GAAGF,uBAAuB,EAA9C;AAEAI,EAAAA,OAAO,GAAGC,KAAK,CAACC,OAAN,CAAcF,OAAd,IAAyBA,OAAzB,GAAmC,CAACA,OAAD,CAA7C;;AAEA,OAAK,MAAMG,MAAX,IAAqBH,OAArB,EAA8B;AAC5B,UAAMI,gBAAgB,GAAGV,eAAe,CAACS,MAAD,CAAxC;;AACA,QAAI,CAACL,cAAc,CAACO,IAAf,CAAqBC,gBAAD,IAAsBF,gBAAgB,KAAKE,gBAA/D,CAAL,EAAuF;AAErFR,MAAAA,cAAc,CAACS,OAAf,CAAuBH,gBAAvB;AACD;AACF;AACF;AAED,OAAO,SAASI,oBAAT,GAA0C;AAC/C,SAAOZ,uBAAuB,EAA9B;AACD;AAGD,OAAO,SAASa,kBAAT,GAA8B;AACnC,QAAMZ,KAAK,GAAGF,oBAAoB,EAAlC;AACAE,EAAAA,KAAK,CAACC,cAAN,GAAuB,EAAvB;AACD","sourcesContent":["import {Loader} from '@loaders.gl/loader-utils';\nimport {normalizeLoader} from '../loader-utils/normalize-loader';\nimport {getGlobalLoaderState} from '../loader-utils/option-utils';\n\n// Store global registered loaders on the global object to increase chances of cross loaders-version interoperability\n// This use case is not reliable but can help when testing new versions of loaders.gl with existing frameworks\nconst getGlobalLoaderRegistry = () => {\n const state = getGlobalLoaderState();\n state.loaderRegistry = state.loaderRegistry || [];\n return state.loaderRegistry;\n};\n\nexport function registerLoaders(loaders: Loader[]) {\n const loaderRegistry = getGlobalLoaderRegistry();\n\n loaders = Array.isArray(loaders) ? loaders : [loaders];\n\n for (const loader of loaders) {\n const normalizedLoader = normalizeLoader(loader);\n if (!loaderRegistry.find((registeredLoader) => normalizedLoader === registeredLoader)) {\n // add to the beginning of the loaderRegistry, so the last registeredLoader get picked\n loaderRegistry.unshift(normalizedLoader);\n }\n }\n}\n\nexport function getRegisteredLoaders(): Loader[] {\n return getGlobalLoaderRegistry();\n}\n\n// For testing\nexport function _unregisterLoaders() {\n const state = getGlobalLoaderState();\n state.loaderRegistry = [];\n}\n"],"file":"register-loaders.js"}
1
+ {"version":3,"sources":["../../../../src/lib/api/register-loaders.ts"],"names":["normalizeLoader","getGlobalLoaderState","getGlobalLoaderRegistry","state","loaderRegistry","registerLoaders","loaders","Array","isArray","loader","normalizedLoader","find","registeredLoader","unshift","getRegisteredLoaders","_unregisterLoaders"],"mappings":"AACA,SAAQA,eAAR,QAA8B,kCAA9B;AACA,SAAQC,oBAAR,QAAmC,8BAAnC;;AAIA,MAAMC,uBAAuB,GAAG,MAAM;AACpC,QAAMC,KAAK,GAAGF,oBAAoB,EAAlC;AACAE,EAAAA,KAAK,CAACC,cAAN,GAAuBD,KAAK,CAACC,cAAN,IAAwB,EAA/C;AACA,SAAOD,KAAK,CAACC,cAAb;AACD,CAJD;;AAOA,OAAO,SAASC,eAAT,CAAyBC,OAAzB,EAA4C;AACjD,QAAMF,cAAc,GAAGF,uBAAuB,EAA9C;AAEAI,EAAAA,OAAO,GAAGC,KAAK,CAACC,OAAN,CAAcF,OAAd,IAAyBA,OAAzB,GAAmC,CAACA,OAAD,CAA7C;;AAEA,OAAK,MAAMG,MAAX,IAAqBH,OAArB,EAA8B;AAC5B,UAAMI,gBAAgB,GAAGV,eAAe,CAACS,MAAD,CAAxC;;AACA,QAAI,CAACL,cAAc,CAACO,IAAf,CAAqBC,gBAAD,IAAsBF,gBAAgB,KAAKE,gBAA/D,CAAL,EAAuF;AAErFR,MAAAA,cAAc,CAACS,OAAf,CAAuBH,gBAAvB;AACD;AACF;AACF;AAED,OAAO,SAASI,oBAAT,GAA0C;AAC/C,SAAOZ,uBAAuB,EAA9B;AACD;AAGD,OAAO,SAASa,kBAAT,GAA8B;AACnC,QAAMZ,KAAK,GAAGF,oBAAoB,EAAlC;AACAE,EAAAA,KAAK,CAACC,cAAN,GAAuB,EAAvB;AACD","sourcesContent":["import {Loader} from '@loaders.gl/loader-utils';\nimport {normalizeLoader} from '../loader-utils/normalize-loader';\nimport {getGlobalLoaderState} from '../loader-utils/option-utils';\n\n// Store global registered loaders on the global object to increase chances of cross loaders-version interoperability\n// This use case is not reliable but can help when testing new versions of loaders.gl with existing frameworks\nconst getGlobalLoaderRegistry = () => {\n const state = getGlobalLoaderState();\n state.loaderRegistry = state.loaderRegistry || [];\n return state.loaderRegistry;\n};\n\n/** Register a list of global loaders */\nexport function registerLoaders(loaders: Loader[]) {\n const loaderRegistry = getGlobalLoaderRegistry();\n\n loaders = Array.isArray(loaders) ? loaders : [loaders];\n\n for (const loader of loaders) {\n const normalizedLoader = normalizeLoader(loader);\n if (!loaderRegistry.find((registeredLoader) => normalizedLoader === registeredLoader)) {\n // add to the beginning of the loaderRegistry, so the last registeredLoader get picked\n loaderRegistry.unshift(normalizedLoader);\n }\n }\n}\n\nexport function getRegisteredLoaders(): Loader[] {\n return getGlobalLoaderRegistry();\n}\n\n/** @deprecated For testing only */\nexport function _unregisterLoaders() {\n const state = getGlobalLoaderState();\n state.loaderRegistry = [];\n}\n"],"file":"register-loaders.js"}
@@ -1,4 +1,4 @@
1
- const version = typeof "3.1.0-alpha.5" !== 'undefined' ? "3.1.0-alpha.5" : '';
1
+ const version = typeof "3.1.0-beta.4" !== 'undefined' ? "3.1.0-beta.4" : '';
2
2
  globalThis.loaders = Object.assign(globalThis.loaders || {}, {
3
3
  VERSION: version
4
4
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/lib/init.js"],"names":["version","globalThis","loaders","Object","assign","VERSION"],"mappings":"AACA,MAAMA,OAAO,GAAG,2BAAuB,WAAvB,qBAAmD,EAAnE;AAGAC,UAAU,CAACC,OAAX,GAAqBC,MAAM,CAACC,MAAP,CAAcH,UAAU,CAACC,OAAX,IAAsB,EAApC,EAAwC;AAC3DG,EAAAA,OAAO,EAAEL;AADkD,CAAxC,CAArB;AAKA,eAAeC,UAAU,CAACC,OAA1B","sourcesContent":["// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst version = typeof __VERSION__ !== 'undefined' ? __VERSION__ : '';\n\n// @ts-ignore\nglobalThis.loaders = Object.assign(globalThis.loaders || {}, {\n VERSION: version\n});\n\n// @ts-ignore\nexport default globalThis.loaders;\n"],"file":"init.js"}
1
+ {"version":3,"sources":["../../../src/lib/init.ts"],"names":["version","globalThis","loaders","Object","assign","VERSION"],"mappings":"AACA,MAAMA,OAAO,GAAG,0BAAuB,WAAvB,oBAAmD,EAAnE;AAGAC,UAAU,CAACC,OAAX,GAAqBC,MAAM,CAACC,MAAP,CAAcH,UAAU,CAACC,OAAX,IAAsB,EAApC,EAAwC;AAC3DG,EAAAA,OAAO,EAAEL;AADkD,CAAxC,CAArB;AAKA,eAAeC,UAAU,CAACC,OAA1B","sourcesContent":["// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst version = typeof __VERSION__ !== 'undefined' ? __VERSION__ : '';\n\n// @ts-ignore\nglobalThis.loaders = Object.assign(globalThis.loaders || {}, {\n VERSION: version\n});\n\n// @ts-ignore\nexport default globalThis.loaders;\n"],"file":"init.js"}
@@ -1,4 +1,4 @@
1
- const VERSION = typeof "3.1.0-alpha.5" !== 'undefined' ? "3.1.0-alpha.5" : 'latest';
1
+ const VERSION = typeof "3.1.0-beta.4" !== 'undefined' ? "3.1.0-beta.4" : 'latest';
2
2
  export const NullWorkerLoader = {
3
3
  name: 'Null loader',
4
4
  id: 'null',
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/null-loader.ts"],"names":["VERSION","NullWorkerLoader","name","id","module","version","worker","mimeTypes","extensions","tests","options","null","NullLoader","parse","arrayBuffer","parseSync","parseInBatches","generator","asyncIterator","batch"],"mappings":"AAEA,MAAMA,OAAO,GAAG,2BAAuB,WAAvB,qBAAmD,QAAnE;AAOA,OAAO,MAAMC,gBAAwB,GAAG;AACtCC,EAAAA,IAAI,EAAE,aADgC;AAEtCC,EAAAA,EAAE,EAAE,MAFkC;AAGtCC,EAAAA,MAAM,EAAE,MAH8B;AAItCC,EAAAA,OAAO,EAAEL,OAJ6B;AAKtCM,EAAAA,MAAM,EAAE,IAL8B;AAMtCC,EAAAA,SAAS,EAAE,CAAC,qBAAD,CAN2B;AAOtCC,EAAAA,UAAU,EAAE,CAAC,MAAD,CAP0B;AAQtCC,EAAAA,KAAK,EAAE,CAAC,MAAM,KAAP,CAR+B;AAStCC,EAAAA,OAAO,EAAE;AACPC,IAAAA,IAAI,EAAE;AADC;AAT6B,CAAjC;AAiBP,OAAO,MAAMC,UAA4B,GAAG;AAC1CV,EAAAA,IAAI,EAAE,aADoC;AAE1CC,EAAAA,EAAE,EAAE,MAFsC;AAG1CC,EAAAA,MAAM,EAAE,MAHkC;AAI1CC,EAAAA,OAAO,EAAEL,OAJiC;AAK1CO,EAAAA,SAAS,EAAE,CAAC,qBAAD,CAL+B;AAM1CC,EAAAA,UAAU,EAAE,CAAC,MAAD,CAN8B;AAO1CK,EAAAA,KAAK,EAAE,MAAOC,WAAP,IAAuBA,WAPY;AAQ1CC,EAAAA,SAAS,EAAGD,WAAD,IAAiBA,WARc;AAS1CE,EAAAA,cAAc,EAAE,gBAAgBC,SAAhB,CAA0BC,aAA1B,EAAyC;AACvD,eAAW,MAAMC,KAAjB,IAA0BD,aAA1B,EAAyC;AACvC,YAAMC,KAAN;AACD;AACF,GAbyC;AAc1CV,EAAAA,KAAK,EAAE,CAAC,MAAM,KAAP,CAdmC;AAe1CC,EAAAA,OAAO,EAAE;AACPC,IAAAA,IAAI,EAAE;AADC;AAfiC,CAArC","sourcesContent":["// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';\n\nimport {Loader, LoaderWithParser} from '@loaders.gl/loader-utils';\n\n/**\n * Loads any data and returns null (or optionally passes through data unparsed)\n */\nexport const NullWorkerLoader: Loader = {\n name: 'Null loader',\n id: 'null',\n module: 'core',\n version: VERSION,\n worker: true,\n mimeTypes: ['application/x.empty'],\n extensions: ['null'],\n tests: [() => false],\n options: {\n null: {}\n }\n};\n\n/**\n * Loads any data and returns null (or optionally passes through data unparsed)\n */\nexport const NullLoader: LoaderWithParser = {\n name: 'Null loader',\n id: 'null',\n module: 'core',\n version: VERSION,\n mimeTypes: ['application/x.empty'],\n extensions: ['null'],\n parse: async (arrayBuffer) => arrayBuffer,\n parseSync: (arrayBuffer) => arrayBuffer,\n parseInBatches: async function* generator(asyncIterator) {\n for await (const batch of asyncIterator) {\n yield batch;\n }\n },\n tests: [() => false],\n options: {\n null: {}\n }\n};\n"],"file":"null-loader.js"}
1
+ {"version":3,"sources":["../../src/null-loader.ts"],"names":["VERSION","NullWorkerLoader","name","id","module","version","worker","mimeTypes","extensions","tests","options","null","NullLoader","parse","arrayBuffer","parseSync","parseInBatches","generator","asyncIterator","batch"],"mappings":"AAEA,MAAMA,OAAO,GAAG,0BAAuB,WAAvB,oBAAmD,QAAnE;AAOA,OAAO,MAAMC,gBAAwB,GAAG;AACtCC,EAAAA,IAAI,EAAE,aADgC;AAEtCC,EAAAA,EAAE,EAAE,MAFkC;AAGtCC,EAAAA,MAAM,EAAE,MAH8B;AAItCC,EAAAA,OAAO,EAAEL,OAJ6B;AAKtCM,EAAAA,MAAM,EAAE,IAL8B;AAMtCC,EAAAA,SAAS,EAAE,CAAC,qBAAD,CAN2B;AAOtCC,EAAAA,UAAU,EAAE,CAAC,MAAD,CAP0B;AAQtCC,EAAAA,KAAK,EAAE,CAAC,MAAM,KAAP,CAR+B;AAStCC,EAAAA,OAAO,EAAE;AACPC,IAAAA,IAAI,EAAE;AADC;AAT6B,CAAjC;AAiBP,OAAO,MAAMC,UAA4B,GAAG;AAC1CV,EAAAA,IAAI,EAAE,aADoC;AAE1CC,EAAAA,EAAE,EAAE,MAFsC;AAG1CC,EAAAA,MAAM,EAAE,MAHkC;AAI1CC,EAAAA,OAAO,EAAEL,OAJiC;AAK1CO,EAAAA,SAAS,EAAE,CAAC,qBAAD,CAL+B;AAM1CC,EAAAA,UAAU,EAAE,CAAC,MAAD,CAN8B;AAO1CK,EAAAA,KAAK,EAAE,MAAOC,WAAP,IAAuBA,WAPY;AAQ1CC,EAAAA,SAAS,EAAGD,WAAD,IAAiBA,WARc;AAS1CE,EAAAA,cAAc,EAAE,gBAAgBC,SAAhB,CAA0BC,aAA1B,EAAyC;AACvD,eAAW,MAAMC,KAAjB,IAA0BD,aAA1B,EAAyC;AACvC,YAAMC,KAAN;AACD;AACF,GAbyC;AAc1CV,EAAAA,KAAK,EAAE,CAAC,MAAM,KAAP,CAdmC;AAe1CC,EAAAA,OAAO,EAAE;AACPC,IAAAA,IAAI,EAAE;AADC;AAfiC,CAArC","sourcesContent":["// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';\n\nimport {Loader, LoaderWithParser} from '@loaders.gl/loader-utils';\n\n/**\n * Loads any data and returns null (or optionally passes through data unparsed)\n */\nexport const NullWorkerLoader: Loader = {\n name: 'Null loader',\n id: 'null',\n module: 'core',\n version: VERSION,\n worker: true,\n mimeTypes: ['application/x.empty'],\n extensions: ['null'],\n tests: [() => false],\n options: {\n null: {}\n }\n};\n\n/**\n * Loads any data and returns null (or optionally passes through data unparsed)\n */\nexport const NullLoader: LoaderWithParser = {\n name: 'Null loader',\n id: 'null',\n module: 'core',\n version: VERSION,\n mimeTypes: ['application/x.empty'],\n extensions: ['null'],\n parse: async (arrayBuffer) => arrayBuffer,\n parseSync: (arrayBuffer) => arrayBuffer,\n parseInBatches: async function* generator(asyncIterator) {\n for await (const batch of asyncIterator) {\n yield batch;\n }\n },\n tests: [() => false],\n options: {\n null: {}\n }\n};\n"],"file":"null-loader.js"}
@@ -0,0 +1,31 @@
1
+ export { fetchFile } from './lib/fetch/fetch-file';
2
+ export { readArrayBuffer } from './lib/fetch/read-array-buffer';
3
+ export { readFileSync } from './lib/fetch/read-file';
4
+ export { writeFile, writeFileSync } from './lib/fetch/write-file';
5
+ export { setLoaderOptions } from './lib/api/set-loader-options';
6
+ export { registerLoaders } from './lib/api/register-loaders';
7
+ export { selectLoader, selectLoaderSync } from './lib/api/select-loader';
8
+ export { parse } from './lib/api/parse';
9
+ export { parseSync } from './lib/api/parse-sync';
10
+ export { parseInBatches } from './lib/api/parse-in-batches';
11
+ export { load } from './lib/api/load';
12
+ export { loadInBatches } from './lib/api/load-in-batches';
13
+ export { encode, encodeSync, encodeInBatches, encodeText, encodeURLtoURL } from './lib/api/encode';
14
+ export { save, saveSync } from './lib/api/save';
15
+ export { setPathPrefix, getPathPrefix, resolvePath } from '@loaders.gl/loader-utils';
16
+ export { RequestScheduler } from '@loaders.gl/loader-utils';
17
+ export { makeIterator } from './iterators/make-iterator/make-iterator';
18
+ export { makeStream } from './iterators/make-stream/make-stream';
19
+ export { makeDOMStream } from './iterators/make-stream/make-dom-stream';
20
+ export { default as makeNodeStream } from './iterators/make-stream/make-node-stream';
21
+ export { NullWorkerLoader, NullLoader } from './null-loader';
22
+ export { JSONLoader } from '@loaders.gl/loader-utils';
23
+ export { default as _fetchProgress } from './lib/progress/fetch-progress';
24
+ export { default as _BrowserFileSystem } from './lib/filesystems/browser-filesystem';
25
+ export { _unregisterLoaders } from './lib/api/register-loaders';
26
+ export { isBrowser, isWorker, self, window, global, document } from '@loaders.gl/loader-utils';
27
+ export { assert } from '@loaders.gl/loader-utils';
28
+ export { forEach, concatenateArrayBuffersAsync } from '@loaders.gl/loader-utils';
29
+ export { makeTextDecoderIterator, makeTextEncoderIterator, makeLineIterator, makeNumberedLineIterator } from '@loaders.gl/loader-utils';
30
+ export { isPureObject, isPromise, isIterable, isAsyncIterable, isIterator, isResponse, isReadableStream, isWritableStream } from './javascript-utils/is-type';
31
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,SAAS,EAAC,MAAM,wBAAwB,CAAC;AAEjD,OAAO,EAAC,eAAe,EAAC,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAC,YAAY,EAAC,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAC,SAAS,EAAE,aAAa,EAAC,MAAM,wBAAwB,CAAC;AAGhE,OAAO,EAAC,gBAAgB,EAAC,MAAM,8BAA8B,CAAC;AAC9D,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,MAAM,EAAE,UAAU,EAAE,eAAe,EAAE,UAAU,EAAE,cAAc,EAAC,MAAM,kBAAkB,CAAC;AACjG,OAAO,EAAC,IAAI,EAAE,QAAQ,EAAC,MAAM,gBAAgB,CAAC;AAG9C,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;AAC/D,OAAO,EAAC,aAAa,EAAC,MAAM,yCAAyC,CAAC;AACtE,OAAO,EAAC,OAAO,IAAI,cAAc,EAAC,MAAM,0CAA0C,CAAC;AAGnF,OAAO,EAAC,gBAAgB,EAAE,UAAU,EAAC,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAC,UAAU,EAAC,MAAM,0BAA0B,CAAC;AAGpD,OAAO,EAAC,OAAO,IAAI,cAAc,EAAC,MAAM,+BAA+B,CAAC;AACxE,OAAO,EAAC,OAAO,IAAI,kBAAkB,EAAC,MAAM,sCAAsC,CAAC;AAGnF,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 ADDED
@@ -0,0 +1,106 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.isPromise = exports.isPureObject = exports.makeNumberedLineIterator = exports.makeLineIterator = exports.makeTextEncoderIterator = exports.makeTextDecoderIterator = exports.concatenateArrayBuffersAsync = exports.forEach = exports.assert = exports.document = exports.global = exports.window = exports.self = exports.isWorker = exports.isBrowser = exports._unregisterLoaders = exports._BrowserFileSystem = exports._fetchProgress = exports.JSONLoader = exports.NullLoader = exports.NullWorkerLoader = exports.makeNodeStream = exports.makeDOMStream = exports.makeStream = exports.makeIterator = exports.RequestScheduler = exports.resolvePath = exports.getPathPrefix = exports.setPathPrefix = exports.saveSync = exports.save = exports.encodeURLtoURL = exports.encodeText = exports.encodeInBatches = exports.encodeSync = exports.encode = exports.loadInBatches = exports.load = exports.parseInBatches = exports.parseSync = exports.parse = exports.selectLoaderSync = exports.selectLoader = exports.registerLoaders = exports.setLoaderOptions = exports.writeFileSync = exports.writeFile = exports.readFileSync = exports.readArrayBuffer = exports.fetchFile = void 0;
7
+ exports.isWritableStream = exports.isReadableStream = exports.isResponse = exports.isIterator = exports.isAsyncIterable = exports.isIterable = void 0;
8
+ // FILE READING AND WRITING
9
+ var fetch_file_1 = require("./lib/fetch/fetch-file");
10
+ Object.defineProperty(exports, "fetchFile", { enumerable: true, get: function () { return fetch_file_1.fetchFile; } });
11
+ var read_array_buffer_1 = require("./lib/fetch/read-array-buffer");
12
+ Object.defineProperty(exports, "readArrayBuffer", { enumerable: true, get: function () { return read_array_buffer_1.readArrayBuffer; } });
13
+ var read_file_1 = require("./lib/fetch/read-file");
14
+ Object.defineProperty(exports, "readFileSync", { enumerable: true, get: function () { return read_file_1.readFileSync; } });
15
+ var write_file_1 = require("./lib/fetch/write-file");
16
+ Object.defineProperty(exports, "writeFile", { enumerable: true, get: function () { return write_file_1.writeFile; } });
17
+ Object.defineProperty(exports, "writeFileSync", { enumerable: true, get: function () { return write_file_1.writeFileSync; } });
18
+ // CONFIGURATION
19
+ var set_loader_options_1 = require("./lib/api/set-loader-options");
20
+ Object.defineProperty(exports, "setLoaderOptions", { enumerable: true, get: function () { return set_loader_options_1.setLoaderOptions; } });
21
+ var register_loaders_1 = require("./lib/api/register-loaders");
22
+ Object.defineProperty(exports, "registerLoaders", { enumerable: true, get: function () { return register_loaders_1.registerLoaders; } });
23
+ var select_loader_1 = require("./lib/api/select-loader");
24
+ Object.defineProperty(exports, "selectLoader", { enumerable: true, get: function () { return select_loader_1.selectLoader; } });
25
+ Object.defineProperty(exports, "selectLoaderSync", { enumerable: true, get: function () { return select_loader_1.selectLoaderSync; } });
26
+ // LOADING (READING + PARSING)
27
+ var parse_1 = require("./lib/api/parse");
28
+ Object.defineProperty(exports, "parse", { enumerable: true, get: function () { return parse_1.parse; } });
29
+ var parse_sync_1 = require("./lib/api/parse-sync");
30
+ Object.defineProperty(exports, "parseSync", { enumerable: true, get: function () { return parse_sync_1.parseSync; } });
31
+ var parse_in_batches_1 = require("./lib/api/parse-in-batches");
32
+ Object.defineProperty(exports, "parseInBatches", { enumerable: true, get: function () { return parse_in_batches_1.parseInBatches; } });
33
+ var load_1 = require("./lib/api/load");
34
+ Object.defineProperty(exports, "load", { enumerable: true, get: function () { return load_1.load; } });
35
+ var load_in_batches_1 = require("./lib/api/load-in-batches");
36
+ Object.defineProperty(exports, "loadInBatches", { enumerable: true, get: function () { return load_in_batches_1.loadInBatches; } });
37
+ // ENCODING (ENCODING AND WRITING)
38
+ var encode_1 = require("./lib/api/encode");
39
+ Object.defineProperty(exports, "encode", { enumerable: true, get: function () { return encode_1.encode; } });
40
+ Object.defineProperty(exports, "encodeSync", { enumerable: true, get: function () { return encode_1.encodeSync; } });
41
+ Object.defineProperty(exports, "encodeInBatches", { enumerable: true, get: function () { return encode_1.encodeInBatches; } });
42
+ Object.defineProperty(exports, "encodeText", { enumerable: true, get: function () { return encode_1.encodeText; } });
43
+ Object.defineProperty(exports, "encodeURLtoURL", { enumerable: true, get: function () { return encode_1.encodeURLtoURL; } });
44
+ var save_1 = require("./lib/api/save");
45
+ Object.defineProperty(exports, "save", { enumerable: true, get: function () { return save_1.save; } });
46
+ Object.defineProperty(exports, "saveSync", { enumerable: true, get: function () { return save_1.saveSync; } });
47
+ // CORE UTILS SHARED WITH LOADERS (RE-EXPORTED FROM LOADER-UTILS)
48
+ var loader_utils_1 = require("@loaders.gl/loader-utils");
49
+ Object.defineProperty(exports, "setPathPrefix", { enumerable: true, get: function () { return loader_utils_1.setPathPrefix; } });
50
+ Object.defineProperty(exports, "getPathPrefix", { enumerable: true, get: function () { return loader_utils_1.getPathPrefix; } });
51
+ Object.defineProperty(exports, "resolvePath", { enumerable: true, get: function () { return loader_utils_1.resolvePath; } });
52
+ var loader_utils_2 = require("@loaders.gl/loader-utils");
53
+ Object.defineProperty(exports, "RequestScheduler", { enumerable: true, get: function () { return loader_utils_2.RequestScheduler; } });
54
+ // ITERATOR UTILS
55
+ var make_iterator_1 = require("./iterators/make-iterator/make-iterator");
56
+ Object.defineProperty(exports, "makeIterator", { enumerable: true, get: function () { return make_iterator_1.makeIterator; } });
57
+ var make_stream_1 = require("./iterators/make-stream/make-stream");
58
+ Object.defineProperty(exports, "makeStream", { enumerable: true, get: function () { return make_stream_1.makeStream; } });
59
+ var make_dom_stream_1 = require("./iterators/make-stream/make-dom-stream");
60
+ Object.defineProperty(exports, "makeDOMStream", { enumerable: true, get: function () { return make_dom_stream_1.makeDOMStream; } });
61
+ var make_node_stream_1 = require("./iterators/make-stream/make-node-stream");
62
+ Object.defineProperty(exports, "makeNodeStream", { enumerable: true, get: function () { return __importDefault(make_node_stream_1).default; } });
63
+ // CORE LOADERS
64
+ var null_loader_1 = require("./null-loader");
65
+ Object.defineProperty(exports, "NullWorkerLoader", { enumerable: true, get: function () { return null_loader_1.NullWorkerLoader; } });
66
+ Object.defineProperty(exports, "NullLoader", { enumerable: true, get: function () { return null_loader_1.NullLoader; } });
67
+ var loader_utils_3 = require("@loaders.gl/loader-utils");
68
+ Object.defineProperty(exports, "JSONLoader", { enumerable: true, get: function () { return loader_utils_3.JSONLoader; } });
69
+ // EXPERIMENTAL
70
+ var fetch_progress_1 = require("./lib/progress/fetch-progress");
71
+ Object.defineProperty(exports, "_fetchProgress", { enumerable: true, get: function () { return __importDefault(fetch_progress_1).default; } });
72
+ var browser_filesystem_1 = require("./lib/filesystems/browser-filesystem");
73
+ Object.defineProperty(exports, "_BrowserFileSystem", { enumerable: true, get: function () { return __importDefault(browser_filesystem_1).default; } });
74
+ // FOR TESTING
75
+ var register_loaders_2 = require("./lib/api/register-loaders");
76
+ Object.defineProperty(exports, "_unregisterLoaders", { enumerable: true, get: function () { return register_loaders_2._unregisterLoaders; } });
77
+ //
78
+ // TODO - MOVE TO LOADER-UTILS AND DEPRECATE IN CORE?
79
+ //
80
+ var loader_utils_4 = require("@loaders.gl/loader-utils");
81
+ Object.defineProperty(exports, "isBrowser", { enumerable: true, get: function () { return loader_utils_4.isBrowser; } });
82
+ Object.defineProperty(exports, "isWorker", { enumerable: true, get: function () { return loader_utils_4.isWorker; } });
83
+ Object.defineProperty(exports, "self", { enumerable: true, get: function () { return loader_utils_4.self; } });
84
+ Object.defineProperty(exports, "window", { enumerable: true, get: function () { return loader_utils_4.window; } });
85
+ Object.defineProperty(exports, "global", { enumerable: true, get: function () { return loader_utils_4.global; } });
86
+ Object.defineProperty(exports, "document", { enumerable: true, get: function () { return loader_utils_4.document; } });
87
+ var loader_utils_5 = require("@loaders.gl/loader-utils");
88
+ Object.defineProperty(exports, "assert", { enumerable: true, get: function () { return loader_utils_5.assert; } });
89
+ var loader_utils_6 = require("@loaders.gl/loader-utils");
90
+ Object.defineProperty(exports, "forEach", { enumerable: true, get: function () { return loader_utils_6.forEach; } });
91
+ Object.defineProperty(exports, "concatenateArrayBuffersAsync", { enumerable: true, get: function () { return loader_utils_6.concatenateArrayBuffersAsync; } });
92
+ var loader_utils_7 = require("@loaders.gl/loader-utils");
93
+ Object.defineProperty(exports, "makeTextDecoderIterator", { enumerable: true, get: function () { return loader_utils_7.makeTextDecoderIterator; } });
94
+ Object.defineProperty(exports, "makeTextEncoderIterator", { enumerable: true, get: function () { return loader_utils_7.makeTextEncoderIterator; } });
95
+ Object.defineProperty(exports, "makeLineIterator", { enumerable: true, get: function () { return loader_utils_7.makeLineIterator; } });
96
+ Object.defineProperty(exports, "makeNumberedLineIterator", { enumerable: true, get: function () { return loader_utils_7.makeNumberedLineIterator; } });
97
+ // "JAVASCRIPT" UTILS - move to loader-utils?
98
+ var is_type_1 = require("./javascript-utils/is-type");
99
+ Object.defineProperty(exports, "isPureObject", { enumerable: true, get: function () { return is_type_1.isPureObject; } });
100
+ Object.defineProperty(exports, "isPromise", { enumerable: true, get: function () { return is_type_1.isPromise; } });
101
+ Object.defineProperty(exports, "isIterable", { enumerable: true, get: function () { return is_type_1.isIterable; } });
102
+ Object.defineProperty(exports, "isAsyncIterable", { enumerable: true, get: function () { return is_type_1.isAsyncIterable; } });
103
+ Object.defineProperty(exports, "isIterator", { enumerable: true, get: function () { return is_type_1.isIterator; } });
104
+ Object.defineProperty(exports, "isResponse", { enumerable: true, get: function () { return is_type_1.isResponse; } });
105
+ Object.defineProperty(exports, "isReadableStream", { enumerable: true, get: function () { return is_type_1.isReadableStream; } });
106
+ Object.defineProperty(exports, "isWritableStream", { enumerable: true, get: function () { return is_type_1.isWritableStream; } });
@@ -0,0 +1,5 @@
1
+ /**
2
+ * "Debounces" batches and returns them in groups
3
+ */
4
+ export declare function timedBatchIterator<Batch>(batchIterator: AsyncIterable<Batch>, timeout: any): AsyncGenerator<Batch[], void, unknown>;
5
+ //# sourceMappingURL=timed-batch-iterator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timed-batch-iterator.d.ts","sourceRoot":"","sources":["../../../src/iterators/batch-iterators/timed-batch-iterator.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAuB,kBAAkB,CAAC,KAAK,EAAE,aAAa,EAAE,aAAa,CAAC,KAAK,CAAC,EAAE,OAAO,KAAA,0CAe5F"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.timedBatchIterator = void 0;
4
+ /**
5
+ * "Debounces" batches and returns them in groups
6
+ */
7
+ async function* timedBatchIterator(batchIterator, timeout) {
8
+ let start = Date.now();
9
+ let batches = [];
10
+ for await (const batch of batchIterator) {
11
+ batches.push(batch);
12
+ if (Date.now() - start > timeout) {
13
+ yield batches;
14
+ start = Date.now();
15
+ batches = [];
16
+ }
17
+ }
18
+ if (batches) {
19
+ yield batches;
20
+ }
21
+ }
22
+ exports.timedBatchIterator = timedBatchIterator;
@@ -0,0 +1,9 @@
1
+ import type { IteratorOptions } from './make-iterator';
2
+ /**
3
+ * Returns an iterator that breaks a big ArrayBuffer into chunks and yields them one-by-one
4
+ * @param blob ArrayBuffer to iterate over
5
+ * @param options
6
+ * @param options.chunkSize
7
+ */
8
+ export declare function makeArrayBufferIterator(arrayBuffer: ArrayBuffer, options?: IteratorOptions): Iterable<ArrayBuffer>;
9
+ //# sourceMappingURL=make-array-buffer-iterator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"make-array-buffer-iterator.d.ts","sourceRoot":"","sources":["../../../src/iterators/make-iterator/make-array-buffer-iterator.ts"],"names":[],"mappings":"AAAA,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"}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.makeArrayBufferIterator = void 0;
4
+ const DEFAULT_CHUNK_SIZE = 256 * 1024;
5
+ /**
6
+ * Returns an iterator that breaks a big ArrayBuffer into chunks and yields them one-by-one
7
+ * @param blob ArrayBuffer to iterate over
8
+ * @param options
9
+ * @param options.chunkSize
10
+ */
11
+ function* makeArrayBufferIterator(arrayBuffer, options = {}) {
12
+ const { chunkSize = DEFAULT_CHUNK_SIZE } = options;
13
+ let byteOffset = 0;
14
+ while (byteOffset < arrayBuffer.byteLength) {
15
+ // Create a chunk of the right size
16
+ const chunkByteLength = Math.min(arrayBuffer.byteLength - byteOffset, chunkSize);
17
+ const chunk = new ArrayBuffer(chunkByteLength);
18
+ // Copy data from the big chunk
19
+ const sourceArray = new Uint8Array(arrayBuffer, byteOffset, chunkByteLength);
20
+ const chunkArray = new Uint8Array(chunk);
21
+ chunkArray.set(sourceArray);
22
+ // yield the chunk
23
+ byteOffset += chunkByteLength;
24
+ yield chunk;
25
+ }
26
+ }
27
+ exports.makeArrayBufferIterator = makeArrayBufferIterator;
@@ -0,0 +1,9 @@
1
+ import type { IteratorOptions } from './make-iterator';
2
+ /**
3
+ * Returns an iterator that breaks a big Blob into chunks and yields them one-by-one
4
+ * @param blob Blob or File object
5
+ * @param options
6
+ * @param options.chunkSize
7
+ */
8
+ export declare function makeBlobIterator(blob: Blob, options?: IteratorOptions): AsyncIterable<ArrayBuffer>;
9
+ //# sourceMappingURL=make-blob-iterator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"make-blob-iterator.d.ts","sourceRoot":"","sources":["../../../src/iterators/make-iterator/make-blob-iterator.ts"],"names":[],"mappings":"AAAA,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"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.makeBlobIterator = void 0;
4
+ const DEFAULT_CHUNK_SIZE = 1024 * 1024; // 1MB — biggest value that keeps UI responsive
5
+ /**
6
+ * Returns an iterator that breaks a big Blob into chunks and yields them one-by-one
7
+ * @param blob Blob or File object
8
+ * @param options
9
+ * @param options.chunkSize
10
+ */
11
+ async function* makeBlobIterator(blob, options) {
12
+ const chunkSize = options?.chunkSize || DEFAULT_CHUNK_SIZE;
13
+ let offset = 0;
14
+ while (offset < blob.size) {
15
+ const end = offset + chunkSize;
16
+ const chunk = await blob.slice(offset, end).arrayBuffer();
17
+ offset = end;
18
+ yield chunk;
19
+ }
20
+ }
21
+ exports.makeBlobIterator = makeBlobIterator;
@@ -0,0 +1,19 @@
1
+ /// <reference types="node" />
2
+ import type { ReadStream } from 'fs';
3
+ import type { StreamIteratorOptions } from './make-stream-iterator';
4
+ /**
5
+ * @param [options.chunkSize]
6
+ */
7
+ export declare type IteratorOptions = StreamIteratorOptions & {
8
+ chunkSize?: number;
9
+ };
10
+ /**
11
+ * Returns an iterator that breaks its input into chunks and yields them one-by-one.
12
+ * @param data
13
+ * @param options
14
+ * @returns
15
+ * This function can e.g. be used to enable data sources that can only be read atomically
16
+ * (such as `Blob` and `File` via `FileReader`) to still be parsed in batches.
17
+ */
18
+ export declare function makeIterator(data: ArrayBuffer | string | Blob | Response | ReadableStream | ReadStream, options?: IteratorOptions): AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>;
19
+ //# sourceMappingURL=make-iterator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"make-iterator.d.ts","sourceRoot":"","sources":["../../../src/iterators/make-iterator/make-iterator.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,IAAI,CAAC;AAKnC,OAAO,KAAK,EAAC,qBAAqB,EAAC,MAAM,wBAAwB,CAAC;AAIlE;;GAEG;AACH,oBAAY,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"}
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.makeIterator = void 0;
4
+ const make_string_iterator_1 = require("./make-string-iterator");
5
+ const make_array_buffer_iterator_1 = require("./make-array-buffer-iterator");
6
+ const make_blob_iterator_1 = require("./make-blob-iterator");
7
+ const make_stream_iterator_1 = require("./make-stream-iterator");
8
+ const is_type_1 = require("../../javascript-utils/is-type");
9
+ /**
10
+ * Returns an iterator that breaks its input into chunks and yields them one-by-one.
11
+ * @param data
12
+ * @param options
13
+ * @returns
14
+ * This function can e.g. be used to enable data sources that can only be read atomically
15
+ * (such as `Blob` and `File` via `FileReader`) to still be parsed in batches.
16
+ */
17
+ function makeIterator(data, options) {
18
+ if (typeof data === 'string') {
19
+ // Note: Converts string chunks to binary
20
+ return (0, make_string_iterator_1.makeStringIterator)(data, options);
21
+ }
22
+ if (data instanceof ArrayBuffer) {
23
+ return (0, make_array_buffer_iterator_1.makeArrayBufferIterator)(data, options);
24
+ }
25
+ if ((0, is_type_1.isBlob)(data)) {
26
+ return (0, make_blob_iterator_1.makeBlobIterator)(data, options);
27
+ }
28
+ if ((0, is_type_1.isReadableStream)(data)) {
29
+ return (0, make_stream_iterator_1.makeStreamIterator)(data, options);
30
+ }
31
+ if ((0, is_type_1.isResponse)(data)) {
32
+ const response = data;
33
+ return (0, make_stream_iterator_1.makeStreamIterator)(response.body, options);
34
+ }
35
+ throw new Error('makeIterator');
36
+ }
37
+ exports.makeIterator = makeIterator;
@@ -0,0 +1,11 @@
1
+ /// <reference types="node" />
2
+ import type { Readable } from 'stream';
3
+ export declare type StreamIteratorOptions = {
4
+ _streamReadAhead?: boolean;
5
+ };
6
+ /**
7
+ * Returns an async iterable that reads from a stream (works in both Node.js and browsers)
8
+ * @param stream stream to iterator over
9
+ */
10
+ export declare function makeStreamIterator(stream: ReadableStream | Readable, options?: StreamIteratorOptions): AsyncIterable<ArrayBuffer>;
11
+ //# sourceMappingURL=make-stream-iterator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"make-stream-iterator.d.ts","sourceRoot":"","sources":["../../../src/iterators/make-iterator/make-stream-iterator.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,QAAQ,CAAC;AAGrC,oBAAY,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"}
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.makeStreamIterator = void 0;
4
+ const loader_utils_1 = require("@loaders.gl/loader-utils");
5
+ /**
6
+ * Returns an async iterable that reads from a stream (works in both Node.js and browsers)
7
+ * @param stream stream to iterator over
8
+ */
9
+ function makeStreamIterator(stream, options) {
10
+ return loader_utils_1.isBrowser
11
+ ? makeBrowserStreamIterator(stream, options)
12
+ : makeNodeStreamIterator(stream, options);
13
+ }
14
+ exports.makeStreamIterator = makeStreamIterator;
15
+ /**
16
+ * Returns an async iterable that reads from a DOM (browser) stream
17
+ * @param stream stream to iterate from
18
+ * @see https://jakearchibald.com/2017/async-iterators-and-generators/#making-streams-iterate
19
+ */
20
+ async function* makeBrowserStreamIterator(stream, options) {
21
+ // WhatWG: stream is supposed to have a `getIterator` method
22
+ // if (typeof stream.getIterator === 'function') {
23
+ // return stream.getIterator();
24
+ // }
25
+ // if (typeof stream[Symbol.asyncIterator] === 'function') {
26
+ // return makeToArrayBufferIterator(stream);
27
+ // }
28
+ // In the browser, we first need to get a lock on the stream
29
+ const reader = stream.getReader();
30
+ let nextBatchPromise;
31
+ try {
32
+ // eslint-disable-next-line no-constant-condition
33
+ while (true) {
34
+ const currentBatchPromise = nextBatchPromise || reader.read();
35
+ // Issue a read for an additional batch, while we await the next batch
36
+ // Idea is to make fetching happen in parallel with processing / parsing
37
+ if (options?._streamReadAhead) {
38
+ nextBatchPromise = reader.read();
39
+ }
40
+ // Read from the stream
41
+ // value is a Uint8Array
42
+ const { done, value } = await currentBatchPromise;
43
+ // Exit if we're done
44
+ if (done) {
45
+ return;
46
+ }
47
+ // Else yield the chunk
48
+ yield (0, loader_utils_1.toArrayBuffer)(value);
49
+ }
50
+ }
51
+ catch (error) {
52
+ // TODO - examples makes it look like this should always be called,
53
+ // but that generates exceptions so only call it if we do not reach the end
54
+ reader.releaseLock();
55
+ }
56
+ }
57
+ /**
58
+ * Returns an async iterable that reads from a DOM (browser) stream
59
+ * @param stream stream to iterate from
60
+ * @note Requires Node.js >= 10
61
+ */
62
+ async function* makeNodeStreamIterator(stream, options) {
63
+ // Hacky test for node version to ensure we don't call bad polyfills
64
+ // NODE 10+: stream is an asyncIterator
65
+ for await (const chunk of stream) {
66
+ yield (0, loader_utils_1.toArrayBuffer)(chunk); // Coerce each chunk to ArrayBuffer
67
+ }
68
+ }
69
+ /* TODO - remove NODE < 10
70
+ * @see https://github.com/bustle/streaming-iterables, MIT license
71
+ *
72
+ if (typeof stream[Symbol.asyncIterator] === 'function') {
73
+ return;
74
+ }
75
+
76
+ // TODO - check if is this ever used in Node 10+?
77
+ // eslint-disable-next-line no-constant-condition
78
+ while (true) {
79
+ const data = stream.read();
80
+ if (data !== null) {
81
+ yield toArrayBuffer(data);
82
+ // eslint-disable-next-line no-continue
83
+ continue;
84
+ }
85
+ if (stream._readableState?.ended) {
86
+ return;
87
+ }
88
+ await onceReadable(stream);
89
+ }
90
+
91
+ async function onceReadable(stream: Readable): Promise<any> {
92
+ return new Promise((resolve) => {
93
+ stream.once('readable', resolve);
94
+ });
95
+ }
96
+ */