@loaders.gl/core 3.1.0-beta.5 → 3.1.1

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 (101) hide show
  1. package/dist/bundle.js +89 -22
  2. package/dist/es5/bundle.js +1 -1
  3. package/dist/es5/bundle.js.map +1 -1
  4. package/dist/es5/index.js +56 -56
  5. package/dist/es5/iterators/batch-iterators/timed-batch-iterator.js +119 -14
  6. package/dist/es5/iterators/batch-iterators/timed-batch-iterator.js.map +1 -1
  7. package/dist/es5/iterators/make-iterator/make-array-buffer-iterator.js +53 -17
  8. package/dist/es5/iterators/make-iterator/make-array-buffer-iterator.js.map +1 -1
  9. package/dist/es5/iterators/make-iterator/make-blob-iterator.js +53 -12
  10. package/dist/es5/iterators/make-iterator/make-blob-iterator.js.map +1 -1
  11. package/dist/es5/iterators/make-iterator/make-iterator.js +1 -1
  12. package/dist/es5/iterators/make-iterator/make-iterator.js.map +1 -1
  13. package/dist/es5/iterators/make-iterator/make-stream-iterator.js +161 -24
  14. package/dist/es5/iterators/make-iterator/make-stream-iterator.js.map +1 -1
  15. package/dist/es5/iterators/make-iterator/make-string-iterator.js +41 -13
  16. package/dist/es5/iterators/make-iterator/make-string-iterator.js.map +1 -1
  17. package/dist/es5/iterators/make-stream/make-dom-stream.js +69 -24
  18. package/dist/es5/iterators/make-stream/make-dom-stream.js.map +1 -1
  19. package/dist/es5/iterators/make-stream/make-node-stream.js +189 -53
  20. package/dist/es5/iterators/make-stream/make-node-stream.js.map +1 -1
  21. package/dist/es5/iterators/make-stream/node-stream-polyfill.js +24 -0
  22. package/dist/es5/iterators/make-stream/node-stream-polyfill.js.map +1 -0
  23. package/dist/es5/javascript-utils/is-type.js +58 -18
  24. package/dist/es5/javascript-utils/is-type.js.map +1 -1
  25. package/dist/es5/lib/api/encode.js +242 -46
  26. package/dist/es5/lib/api/encode.js.map +1 -1
  27. package/dist/es5/lib/api/load-in-batches.js +52 -9
  28. package/dist/es5/lib/api/load-in-batches.js.map +1 -1
  29. package/dist/es5/lib/api/load.js +60 -15
  30. package/dist/es5/lib/api/load.js.map +1 -1
  31. package/dist/es5/lib/api/parse-in-batches.js +333 -81
  32. package/dist/es5/lib/api/parse-in-batches.js.map +1 -1
  33. package/dist/es5/lib/api/parse-sync.js +15 -11
  34. package/dist/es5/lib/api/parse-sync.js.map +1 -1
  35. package/dist/es5/lib/api/parse.js +142 -50
  36. package/dist/es5/lib/api/parse.js.map +1 -1
  37. package/dist/es5/lib/api/register-loaders.js +30 -8
  38. package/dist/es5/lib/api/register-loaders.js.map +1 -1
  39. package/dist/es5/lib/api/save.js +37 -4
  40. package/dist/es5/lib/api/save.js.map +1 -1
  41. package/dist/es5/lib/api/select-loader.js +209 -74
  42. package/dist/es5/lib/api/select-loader.js.map +1 -1
  43. package/dist/es5/lib/fetch/fetch-error-message.js +55 -13
  44. package/dist/es5/lib/fetch/fetch-error-message.js.map +1 -1
  45. package/dist/es5/lib/fetch/fetch-file.js +47 -10
  46. package/dist/es5/lib/fetch/fetch-file.js.map +1 -1
  47. package/dist/es5/lib/fetch/read-array-buffer.js +80 -19
  48. package/dist/es5/lib/fetch/read-array-buffer.js.map +1 -1
  49. package/dist/es5/lib/fetch/read-file.js +3 -2
  50. package/dist/es5/lib/fetch/read-file.js.map +1 -1
  51. package/dist/es5/lib/fetch/write-file.js +38 -9
  52. package/dist/es5/lib/fetch/write-file.js.map +1 -1
  53. package/dist/es5/lib/filesystems/browser-filesystem.js +266 -77
  54. package/dist/es5/lib/filesystems/browser-filesystem.js.map +1 -1
  55. package/dist/es5/lib/filesystems/read-array-buffer.js +43 -6
  56. package/dist/es5/lib/filesystems/read-array-buffer.js.map +1 -1
  57. package/dist/es5/lib/init.js +1 -1
  58. package/dist/es5/lib/init.js.map +1 -1
  59. package/dist/es5/lib/loader-utils/check-errors.js +50 -12
  60. package/dist/es5/lib/loader-utils/check-errors.js.map +1 -1
  61. package/dist/es5/lib/loader-utils/get-data.js +238 -71
  62. package/dist/es5/lib/loader-utils/get-data.js.map +1 -1
  63. package/dist/es5/lib/loader-utils/loader-context.js +19 -8
  64. package/dist/es5/lib/loader-utils/loader-context.js.map +1 -1
  65. package/dist/es5/lib/loader-utils/loggers.js +81 -36
  66. package/dist/es5/lib/loader-utils/loggers.js.map +1 -1
  67. package/dist/es5/lib/loader-utils/normalize-loader.js +13 -7
  68. package/dist/es5/lib/loader-utils/normalize-loader.js.map +1 -1
  69. package/dist/es5/lib/loader-utils/option-defaults.js +2 -2
  70. package/dist/es5/lib/loader-utils/option-defaults.js.map +1 -1
  71. package/dist/es5/lib/loader-utils/option-utils.js +85 -51
  72. package/dist/es5/lib/loader-utils/option-utils.js.map +1 -1
  73. package/dist/es5/lib/progress/fetch-progress.js +150 -49
  74. package/dist/es5/lib/progress/fetch-progress.js.map +1 -1
  75. package/dist/es5/lib/utils/mime-type-utils.js +4 -4
  76. package/dist/es5/lib/utils/mime-type-utils.js.map +1 -1
  77. package/dist/es5/lib/utils/resource-utils.js +4 -4
  78. package/dist/es5/lib/utils/resource-utils.js.map +1 -1
  79. package/dist/es5/lib/utils/response-utils.js +215 -88
  80. package/dist/es5/lib/utils/response-utils.js.map +1 -1
  81. package/dist/es5/null-loader.js +137 -10
  82. package/dist/es5/null-loader.js.map +1 -1
  83. package/dist/esm/iterators/make-stream/make-node-stream.js +2 -2
  84. package/dist/esm/iterators/make-stream/make-node-stream.js.map +1 -1
  85. package/dist/esm/iterators/make-stream/node-stream-polyfill.js +15 -0
  86. package/dist/esm/iterators/make-stream/node-stream-polyfill.js.map +1 -0
  87. package/dist/esm/lib/init.js +1 -1
  88. package/dist/esm/lib/init.js.map +1 -1
  89. package/dist/esm/null-loader.js +1 -1
  90. package/dist/esm/null-loader.js.map +1 -1
  91. package/dist/iterators/make-stream/make-node-stream.d.ts +1 -1
  92. package/dist/iterators/make-stream/make-node-stream.d.ts.map +1 -1
  93. package/dist/iterators/make-stream/make-node-stream.js +3 -2
  94. package/dist/iterators/make-stream/node-stream-polyfill.d.ts +6 -0
  95. package/dist/iterators/make-stream/node-stream-polyfill.d.ts.map +1 -0
  96. package/dist/iterators/make-stream/node-stream-polyfill.js +21 -0
  97. package/dist/lib/fetch/read-file.d.ts +1 -1
  98. package/dist/lib/fetch/read-file.d.ts.map +1 -1
  99. package/package.json +5 -6
  100. package/src/iterators/make-stream/make-node-stream.ts +4 -3
  101. package/src/iterators/make-stream/node-stream-polyfill.ts +19 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/iterators/make-iterator/make-string-iterator.ts"],"names":["DEFAULT_CHUNK_SIZE","makeStringIterator","string","options","chunkSize","offset","textEncoder","TextEncoder","length","chunkLength","Math","min","chunk","slice","encode"],"mappings":";;;;;;AAEA,MAAMA,kBAAkB,GAAG,MAAM,IAAjC;;AAQO,UAAUC,kBAAV,CACLC,MADK,EAELC,OAFK,EAGkB;AACvB,QAAMC,SAAS,GAAG,CAAAD,OAAO,SAAP,IAAAA,OAAO,WAAP,YAAAA,OAAO,CAAEC,SAAT,KAAsBJ,kBAAxC;AAEA,MAAIK,MAAM,GAAG,CAAb;AACA,QAAMC,WAAW,GAAG,IAAIC,WAAJ,EAApB;;AACA,SAAOF,MAAM,GAAGH,MAAM,CAACM,MAAvB,EAA+B;AAE7B,UAAMC,WAAW,GAAGC,IAAI,CAACC,GAAL,CAAST,MAAM,CAACM,MAAP,GAAgBH,MAAzB,EAAiCD,SAAjC,CAApB;AACA,UAAMQ,KAAK,GAAGV,MAAM,CAACW,KAAP,CAAaR,MAAb,EAAqBA,MAAM,GAAGI,WAA9B,CAAd;AACAJ,IAAAA,MAAM,IAAII,WAAV;AAGA,UAAMH,WAAW,CAACQ,MAAZ,CAAmBF,KAAnB,CAAN;AACD;AACF","sourcesContent":["import 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"],"file":"make-string-iterator.js"}
1
+ {"version":3,"sources":["../../../../src/iterators/make-iterator/make-string-iterator.ts"],"names":["makeStringIterator","DEFAULT_CHUNK_SIZE","string","options","chunkSize","offset","textEncoder","TextEncoder","length","chunkLength","Math","min","chunk","slice","encode"],"mappings":";;;;;;;;;;;wCAUiBA,kB;;AARjB,IAAMC,kBAAkB,GAAG,MAAM,IAAjC;;AAQO,SAAUD,kBAAV,CACLE,MADK,EAELC,OAFK;AAAA;AAAA;AAAA;AAAA;AAAA;AAICC,UAAAA,SAJD,GAIa,CAAAD,OAAO,SAAP,IAAAA,OAAO,WAAP,YAAAA,OAAO,CAAEC,SAAT,KAAsBH,kBAJnC;AAMDI,UAAAA,MANC,GAMQ,CANR;AAOCC,UAAAA,WAPD,GAOe,IAAIC,WAAJ,EAPf;;AAAA;AAAA,gBAQEF,MAAM,GAAGH,MAAM,CAACM,MARlB;AAAA;AAAA;AAAA;;AAUGC,UAAAA,WAVH,GAUiBC,IAAI,CAACC,GAAL,CAAST,MAAM,CAACM,MAAP,GAAgBH,MAAzB,EAAiCD,SAAjC,CAVjB;AAWGQ,UAAAA,KAXH,GAWWV,MAAM,CAACW,KAAP,CAAaR,MAAb,EAAqBA,MAAM,GAAGI,WAA9B,CAXX;AAYHJ,UAAAA,MAAM,IAAII,WAAV;AAZG;AAeH,iBAAMH,WAAW,CAACQ,MAAZ,CAAmBF,KAAnB,CAAN;;AAfG;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA","sourcesContent":["import 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"],"file":"make-string-iterator.js"}
@@ -1,41 +1,86 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
3
5
  Object.defineProperty(exports, "__esModule", {
4
6
  value: true
5
7
  });
6
8
  exports.makeDOMStream = makeDOMStream;
7
9
 
10
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
+
12
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
+
14
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
15
+
16
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
17
+
18
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
19
+
8
20
  function makeDOMStream(source, options) {
9
- const iterator = source[Symbol.asyncIterator] ? source[Symbol.asyncIterator]() : source[Symbol.iterator]();
21
+ var iterator = source[Symbol.asyncIterator] ? source[Symbol.asyncIterator]() : source[Symbol.iterator]();
10
22
  return new ReadableStream({
11
23
  type: 'bytes',
24
+ pull: function pull(controller) {
25
+ return (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee() {
26
+ var _yield$iterator$next, done, value;
12
27
 
13
- async pull(controller) {
14
- try {
15
- const {
16
- done,
17
- value
18
- } = await iterator.next();
19
-
20
- if (done) {
21
- controller.close();
22
- } else {
23
- controller.enqueue(new Uint8Array(value));
24
- }
25
- } catch (error) {
26
- controller.error(error);
27
- }
28
+ return _regenerator.default.wrap(function _callee$(_context) {
29
+ while (1) {
30
+ switch (_context.prev = _context.next) {
31
+ case 0:
32
+ _context.prev = 0;
33
+ _context.next = 3;
34
+ return iterator.next();
35
+
36
+ case 3:
37
+ _yield$iterator$next = _context.sent;
38
+ done = _yield$iterator$next.done;
39
+ value = _yield$iterator$next.value;
40
+
41
+ if (done) {
42
+ controller.close();
43
+ } else {
44
+ controller.enqueue(new Uint8Array(value));
45
+ }
46
+
47
+ _context.next = 12;
48
+ break;
49
+
50
+ case 9:
51
+ _context.prev = 9;
52
+ _context.t0 = _context["catch"](0);
53
+ controller.error(_context.t0);
54
+
55
+ case 12:
56
+ case "end":
57
+ return _context.stop();
58
+ }
59
+ }
60
+ }, _callee, null, [[0, 9]]);
61
+ }))();
28
62
  },
63
+ cancel: function cancel() {
64
+ return (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee2() {
65
+ var _iterator$return;
29
66
 
30
- async cancel() {
31
- var _iterator$return;
67
+ return _regenerator.default.wrap(function _callee2$(_context2) {
68
+ while (1) {
69
+ switch (_context2.prev = _context2.next) {
70
+ case 0:
71
+ _context2.next = 2;
72
+ return iterator === null || iterator === void 0 ? void 0 : (_iterator$return = iterator.return) === null || _iterator$return === void 0 ? void 0 : _iterator$return.call(iterator);
32
73
 
33
- await (iterator === null || iterator === void 0 ? void 0 : (_iterator$return = iterator.return) === null || _iterator$return === void 0 ? void 0 : _iterator$return.call(iterator));
74
+ case 2:
75
+ case "end":
76
+ return _context2.stop();
77
+ }
78
+ }
79
+ }, _callee2);
80
+ }))();
34
81
  }
35
-
36
- }, {
37
- highWaterMark: 2 ** 24,
38
- ...options
39
- });
82
+ }, _objectSpread({
83
+ highWaterMark: Math.pow(2, 24)
84
+ }, options));
40
85
  }
41
86
  //# sourceMappingURL=make-dom-stream.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/iterators/make-stream/make-dom-stream.ts"],"names":["makeDOMStream","source","options","iterator","Symbol","asyncIterator","ReadableStream","type","pull","controller","done","value","next","close","enqueue","Uint8Array","error","cancel","return","highWaterMark"],"mappings":";;;;;;;AAQO,SAASA,aAAT,CACLC,MADK,EAELC,OAFK,EAGW;AAChB,QAAMC,QAAQ,GAAGF,MAAM,CAACG,MAAM,CAACC,aAAR,CAAN,GACZJ,MAAD,CAAuCG,MAAM,CAACC,aAA9C,GADa,GAEZJ,MAAD,CAAkCG,MAAM,CAACD,QAAzC,GAFJ;AAIA,SAAO,IAAIG,cAAJ,CACL;AAKEC,IAAAA,IAAI,EAAE,OALR;;AAOE,UAAMC,IAAN,CAAWC,UAAX,EAAuB;AACrB,UAAI;AACF,cAAM;AAACC,UAAAA,IAAD;AAAOC,UAAAA;AAAP,YAAgB,MAAMR,QAAQ,CAACS,IAAT,EAA5B;;AACA,YAAIF,IAAJ,EAAU;AACRD,UAAAA,UAAU,CAACI,KAAX;AACD,SAFD,MAEO;AAELJ,UAAAA,UAAU,CAACK,OAAX,CAAmB,IAAIC,UAAJ,CAAeJ,KAAf,CAAnB;AACD;AACF,OARD,CAQE,OAAOK,KAAP,EAAc;AACdP,QAAAA,UAAU,CAACO,KAAX,CAAiBA,KAAjB;AACD;AACF,KAnBH;;AAqBE,UAAMC,MAAN,GAAe;AAAA;;AACb,aAAMd,QAAN,aAAMA,QAAN,2CAAMA,QAAQ,CAAEe,MAAhB,qDAAM,sBAAAf,QAAQ,CAAd;AACD;;AAvBH,GADK,EA2BL;AAEEgB,IAAAA,aAAa,EAAE,KAAK,EAFtB;AAGE,OAAGjB;AAHL,GA3BK,CAAP;AAiCD","sourcesContent":["export type MakeDOMStreamOptions = {\n /** Stream allocates an arrayBuffer. Enables use of a default reader. */\n autoAllocateChunkSize?: number;\n /** Total number of chunks in queue before back pressure is applied */\n highWaterMark?: number;\n};\n\n/** Builds a DOM stream from an iterator */\nexport function makeDOMStream<ArrayBuffer>(\n source: Iterable<ArrayBuffer> | AsyncIterable<ArrayBuffer>,\n options?: MakeDOMStreamOptions\n): ReadableStream {\n const iterator = source[Symbol.asyncIterator]\n ? (source as AsyncIterable<ArrayBuffer>)[Symbol.asyncIterator]()\n : (source as Iterable<ArrayBuffer>)[Symbol.iterator]();\n\n return new ReadableStream<Uint8Array>(\n {\n // Create a byte stream (enables `Response(stream).arrayBuffer()`)\n // Only supported on Chrome\n // See: https://developer.mozilla.org/en-US/docs/Web/API/ReadableByteStreamController\n // @ts-expect-error Only Chrome supports byte streams\n type: 'bytes',\n\n async pull(controller) {\n try {\n const {done, value} = await iterator.next();\n if (done) {\n controller.close();\n } else {\n // TODO - ignores controller.desiredSize\n controller.enqueue(new Uint8Array(value));\n }\n } catch (error) {\n controller.error(error);\n }\n },\n\n async cancel() {\n await iterator?.return?.();\n }\n },\n // options: QueingStrategy<Uint8Array>\n {\n // This is bytes, not chunks\n highWaterMark: 2 ** 24,\n ...options\n }\n );\n}\n"],"file":"make-dom-stream.js"}
1
+ {"version":3,"sources":["../../../../src/iterators/make-stream/make-dom-stream.ts"],"names":["makeDOMStream","source","options","iterator","Symbol","asyncIterator","ReadableStream","type","pull","controller","next","done","value","close","enqueue","Uint8Array","error","cancel","return","highWaterMark"],"mappings":";;;;;;;;;;;;;;;;;;;AAQO,SAASA,aAAT,CACLC,MADK,EAELC,OAFK,EAGW;AAChB,MAAMC,QAAQ,GAAGF,MAAM,CAACG,MAAM,CAACC,aAAR,CAAN,GACZJ,MAAD,CAAuCG,MAAM,CAACC,aAA9C,GADa,GAEZJ,MAAD,CAAkCG,MAAM,CAACD,QAAzC,GAFJ;AAIA,SAAO,IAAIG,cAAJ,CACL;AAKEC,IAAAA,IAAI,EAAE,OALR;AAOQC,IAAAA,IAPR,gBAOaC,UAPb,EAOyB;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAESN,QAAQ,CAACO,IAAT,EAFT;;AAAA;AAAA;AAEZC,gBAAAA,IAFY,wBAEZA,IAFY;AAENC,gBAAAA,KAFM,wBAENA,KAFM;;AAGnB,oBAAID,IAAJ,EAAU;AACRF,kBAAAA,UAAU,CAACI,KAAX;AACD,iBAFD,MAEO;AAELJ,kBAAAA,UAAU,CAACK,OAAX,CAAmB,IAAIC,UAAJ,CAAeH,KAAf,CAAnB;AACD;;AARkB;AAAA;;AAAA;AAAA;AAAA;AAUnBH,gBAAAA,UAAU,CAACO,KAAX;;AAVmB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAYtB,KAnBH;AAqBQC,IAAAA,MArBR,oBAqBiB;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBACPd,QADO,aACPA,QADO,2CACPA,QAAQ,CAAEe,MADH,qDACP,sBAAAf,QAAQ,CADD;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEd;AAvBH,GADK;AA6BHgB,IAAAA,aAAa,WAAE,CAAF,EAAO,EAAP;AA7BV,KA8BAjB,OA9BA,EAAP;AAiCD","sourcesContent":["export type MakeDOMStreamOptions = {\n /** Stream allocates an arrayBuffer. Enables use of a default reader. */\n autoAllocateChunkSize?: number;\n /** Total number of chunks in queue before back pressure is applied */\n highWaterMark?: number;\n};\n\n/** Builds a DOM stream from an iterator */\nexport function makeDOMStream<ArrayBuffer>(\n source: Iterable<ArrayBuffer> | AsyncIterable<ArrayBuffer>,\n options?: MakeDOMStreamOptions\n): ReadableStream {\n const iterator = source[Symbol.asyncIterator]\n ? (source as AsyncIterable<ArrayBuffer>)[Symbol.asyncIterator]()\n : (source as Iterable<ArrayBuffer>)[Symbol.iterator]();\n\n return new ReadableStream<Uint8Array>(\n {\n // Create a byte stream (enables `Response(stream).arrayBuffer()`)\n // Only supported on Chrome\n // See: https://developer.mozilla.org/en-US/docs/Web/API/ReadableByteStreamController\n // @ts-expect-error Only Chrome supports byte streams\n type: 'bytes',\n\n async pull(controller) {\n try {\n const {done, value} = await iterator.next();\n if (done) {\n controller.close();\n } else {\n // TODO - ignores controller.desiredSize\n controller.enqueue(new Uint8Array(value));\n }\n } catch (error) {\n controller.error(error);\n }\n },\n\n async cancel() {\n await iterator?.return?.();\n }\n },\n // options: QueingStrategy<Uint8Array>\n {\n // This is bytes, not chunks\n highWaterMark: 2 ** 24,\n ...options\n }\n );\n}\n"],"file":"make-dom-stream.js"}
@@ -7,77 +7,213 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.default = void 0;
9
9
 
10
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
11
 
12
- var _stream = require("stream");
12
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
13
 
14
- function makeNodeStream(source, options) {
15
- const iterator = source[Symbol.asyncIterator] ? source[Symbol.asyncIterator]() : source[Symbol.iterator]();
16
- return new AsyncIterableReadable(iterator, options);
17
- }
14
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
18
15
 
19
- class AsyncIterableReadable extends _stream.Readable {
20
- constructor(it, options) {
21
- super(options);
22
- (0, _defineProperty2.default)(this, "_pulling", void 0);
23
- (0, _defineProperty2.default)(this, "_bytesMode", void 0);
24
- (0, _defineProperty2.default)(this, "_iterator", void 0);
25
- this._iterator = it;
26
- this._pulling = false;
27
- this._bytesMode = !options || !options.objectMode;
28
- }
16
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
29
17
 
30
- async _read(size) {
31
- if (!this._pulling) {
32
- this._pulling = true;
33
- this._pulling = await this._pull(size, this._iterator);
34
- }
35
- }
18
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
36
19
 
37
- async _destroy(error, cb) {
38
- if (!this._iterator) {
39
- return;
40
- }
20
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
41
21
 
42
- if (error) {
43
- var _this$_iterator, _this$_iterator$throw;
22
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
44
23
 
45
- await ((_this$_iterator = this._iterator) === null || _this$_iterator === void 0 ? void 0 : (_this$_iterator$throw = _this$_iterator.throw) === null || _this$_iterator$throw === void 0 ? void 0 : _this$_iterator$throw.call(_this$_iterator, error));
46
- } else {
47
- var _this$_iterator2, _this$_iterator2$retu;
24
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
48
25
 
49
- await ((_this$_iterator2 = this._iterator) === null || _this$_iterator2 === void 0 ? void 0 : (_this$_iterator2$retu = _this$_iterator2.return) === null || _this$_iterator2$retu === void 0 ? void 0 : _this$_iterator2$retu.call(_this$_iterator2, error));
50
- }
26
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
51
27
 
52
- cb === null || cb === void 0 ? void 0 : cb(null);
53
- }
28
+ var _nodeStreamPolyfill = require("./node-stream-polyfill");
54
29
 
55
- async _pull(size, it) {
56
- var _r;
30
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
57
31
 
58
- const bm = this._bytesMode;
59
- let r = null;
32
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
60
33
 
61
- while (this.readable && !(r = await it.next()).done) {
62
- if (size !== null) {
63
- size -= bm && ArrayBuffer.isView(r.value) ? r.value.byteLength : 1;
64
- }
34
+ function makeNodeStream(source, options) {
35
+ var iterator = source[Symbol.asyncIterator] ? source[Symbol.asyncIterator]() : source[Symbol.iterator]();
36
+ return new AsyncIterableReadable(iterator, options);
37
+ }
65
38
 
66
- if (!this.push(new Uint8Array(r.value)) || size <= 0) {
67
- break;
68
- }
69
- }
39
+ var AsyncIterableReadable = function (_ReadableStream) {
40
+ (0, _inherits2.default)(AsyncIterableReadable, _ReadableStream);
70
41
 
71
- if (((_r = r) !== null && _r !== void 0 && _r.done || !this.readable) && (this.push(null) || true)) {
72
- var _it$return;
42
+ var _super = _createSuper(AsyncIterableReadable);
73
43
 
74
- it === null || it === void 0 ? void 0 : (_it$return = it.return) === null || _it$return === void 0 ? void 0 : _it$return.call(it);
75
- }
44
+ function AsyncIterableReadable(it, options) {
45
+ var _this;
76
46
 
77
- return !this.readable;
47
+ (0, _classCallCheck2.default)(this, AsyncIterableReadable);
48
+ _this = _super.call(this, options);
49
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "_pulling", void 0);
50
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "_bytesMode", void 0);
51
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "_iterator", void 0);
52
+ _this._iterator = it;
53
+ _this._pulling = false;
54
+ _this._bytesMode = !options || !options.objectMode;
55
+ return _this;
78
56
  }
79
57
 
80
- }
58
+ (0, _createClass2.default)(AsyncIterableReadable, [{
59
+ key: "_read",
60
+ value: function () {
61
+ var _read2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(size) {
62
+ return _regenerator.default.wrap(function _callee$(_context) {
63
+ while (1) {
64
+ switch (_context.prev = _context.next) {
65
+ case 0:
66
+ if (this._pulling) {
67
+ _context.next = 5;
68
+ break;
69
+ }
70
+
71
+ this._pulling = true;
72
+ _context.next = 4;
73
+ return this._pull(size, this._iterator);
74
+
75
+ case 4:
76
+ this._pulling = _context.sent;
77
+
78
+ case 5:
79
+ case "end":
80
+ return _context.stop();
81
+ }
82
+ }
83
+ }, _callee, this);
84
+ }));
85
+
86
+ function _read(_x) {
87
+ return _read2.apply(this, arguments);
88
+ }
89
+
90
+ return _read;
91
+ }()
92
+ }, {
93
+ key: "_destroy",
94
+ value: function () {
95
+ var _destroy2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee2(error, cb) {
96
+ var _this$_iterator, _this$_iterator$throw, _this$_iterator2, _this$_iterator2$retu;
97
+
98
+ return _regenerator.default.wrap(function _callee2$(_context2) {
99
+ while (1) {
100
+ switch (_context2.prev = _context2.next) {
101
+ case 0:
102
+ if (this._iterator) {
103
+ _context2.next = 2;
104
+ break;
105
+ }
106
+
107
+ return _context2.abrupt("return");
108
+
109
+ case 2:
110
+ if (!error) {
111
+ _context2.next = 7;
112
+ break;
113
+ }
114
+
115
+ _context2.next = 5;
116
+ return (_this$_iterator = this._iterator) === null || _this$_iterator === void 0 ? void 0 : (_this$_iterator$throw = _this$_iterator.throw) === null || _this$_iterator$throw === void 0 ? void 0 : _this$_iterator$throw.call(_this$_iterator, error);
117
+
118
+ case 5:
119
+ _context2.next = 9;
120
+ break;
121
+
122
+ case 7:
123
+ _context2.next = 9;
124
+ return (_this$_iterator2 = this._iterator) === null || _this$_iterator2 === void 0 ? void 0 : (_this$_iterator2$retu = _this$_iterator2.return) === null || _this$_iterator2$retu === void 0 ? void 0 : _this$_iterator2$retu.call(_this$_iterator2, error);
125
+
126
+ case 9:
127
+ cb === null || cb === void 0 ? void 0 : cb(null);
128
+
129
+ case 10:
130
+ case "end":
131
+ return _context2.stop();
132
+ }
133
+ }
134
+ }, _callee2, this);
135
+ }));
136
+
137
+ function _destroy(_x2, _x3) {
138
+ return _destroy2.apply(this, arguments);
139
+ }
140
+
141
+ return _destroy;
142
+ }()
143
+ }, {
144
+ key: "_pull",
145
+ value: function () {
146
+ var _pull2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee3(size, it) {
147
+ var _r;
148
+
149
+ var bm, r, _it$return;
150
+
151
+ return _regenerator.default.wrap(function _callee3$(_context3) {
152
+ while (1) {
153
+ switch (_context3.prev = _context3.next) {
154
+ case 0:
155
+ bm = this._bytesMode;
156
+ r = null;
157
+
158
+ case 2:
159
+ _context3.t0 = this.readable;
160
+
161
+ if (!_context3.t0) {
162
+ _context3.next = 7;
163
+ break;
164
+ }
165
+
166
+ _context3.next = 6;
167
+ return it.next();
168
+
169
+ case 6:
170
+ _context3.t0 = !(r = _context3.sent).done;
171
+
172
+ case 7:
173
+ if (!_context3.t0) {
174
+ _context3.next = 13;
175
+ break;
176
+ }
177
+
178
+ if (size !== null) {
179
+ size -= bm && ArrayBuffer.isView(r.value) ? r.value.byteLength : 1;
180
+ }
181
+
182
+ if (!(!this.push(new Uint8Array(r.value)) || size <= 0)) {
183
+ _context3.next = 11;
184
+ break;
185
+ }
186
+
187
+ return _context3.abrupt("break", 13);
188
+
189
+ case 11:
190
+ _context3.next = 2;
191
+ break;
192
+
193
+ case 13:
194
+ if (((_r = r) !== null && _r !== void 0 && _r.done || !this.readable) && (this.push(null) || true)) {
195
+ it === null || it === void 0 ? void 0 : (_it$return = it.return) === null || _it$return === void 0 ? void 0 : _it$return.call(it);
196
+ }
197
+
198
+ return _context3.abrupt("return", !this.readable);
199
+
200
+ case 15:
201
+ case "end":
202
+ return _context3.stop();
203
+ }
204
+ }
205
+ }, _callee3, this);
206
+ }));
207
+
208
+ function _pull(_x4, _x5) {
209
+ return _pull2.apply(this, arguments);
210
+ }
211
+
212
+ return _pull;
213
+ }()
214
+ }]);
215
+ return AsyncIterableReadable;
216
+ }(_nodeStreamPolyfill.ReadableStream);
81
217
 
82
218
  var _default = makeNodeStream;
83
219
  exports.default = _default;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/iterators/make-stream/make-node-stream.ts"],"names":["makeNodeStream","source","options","iterator","Symbol","asyncIterator","AsyncIterableReadable","Readable","constructor","it","_iterator","_pulling","_bytesMode","objectMode","_read","size","_pull","_destroy","error","cb","throw","return","bm","r","readable","next","done","ArrayBuffer","isView","value","byteLength","push","Uint8Array"],"mappings":";;;;;;;;;;;AAAA;;AAKA,SAASA,cAAT,CACEC,MADF,EAEEC,OAFF,EAGY;AACV,QAAMC,QAAQ,GAAGF,MAAM,CAACG,MAAM,CAACC,aAAR,CAAN,GACbJ,MAAM,CAACG,MAAM,CAACC,aAAR,CAAN,EADa,GAEbJ,MAAM,CAACG,MAAM,CAACD,QAAR,CAAN,EAFJ;AAGA,SAAO,IAAIG,qBAAJ,CAA0BH,QAA1B,EAAoCD,OAApC,CAAP;AACD;;AAED,MAAMI,qBAAN,SAAoCC,gBAApC,CAA6C;AAK3CC,EAAAA,WAAW,CAACC,EAAD,EAAiCP,OAAjC,EAA4D;AACrE,UAAMA,OAAN;AADqE;AAAA;AAAA;AAErE,SAAKQ,SAAL,GAAiBD,EAAjB;AACA,SAAKE,QAAL,GAAgB,KAAhB;AACA,SAAKC,UAAL,GAAkB,CAACV,OAAD,IAAY,CAACA,OAAO,CAACW,UAAvC;AACD;;AAEU,QAALC,KAAK,CAACC,IAAD,EAA8B;AACvC,QAAI,CAAC,KAAKJ,QAAV,EAAoB;AAClB,WAAKA,QAAL,GAAgB,IAAhB;AACA,WAAKA,QAAL,GAAgB,MAAM,KAAKK,KAAL,CAAWD,IAAX,EAAiB,KAAKL,SAAtB,CAAtB;AACD;AACF;;AAEa,QAARO,QAAQ,CAACC,KAAD,EAAsBC,EAAtB,EAAoE;AAChF,QAAI,CAAC,KAAKT,SAAV,EAAqB;AACnB;AACD;;AACD,QAAIQ,KAAJ,EAAW;AAAA;;AACT,gCAAM,KAAKR,SAAX,6EAAM,gBAAgBU,KAAtB,0DAAM,4CAAwBF,KAAxB,CAAN;AACD,KAFD,MAEO;AAAA;;AACL,iCAAM,KAAKR,SAAX,8EAAM,iBAAgBW,MAAtB,0DAAM,6CAAyBH,KAAzB,CAAN;AACD;;AACDC,IAAAA,EAAE,SAAF,IAAAA,EAAE,WAAF,YAAAA,EAAE,CAAG,IAAH,CAAF;AACD;;AAGkB,QAALH,KAAK,CAACD,IAAD,EAAeN,EAAf,EAAiE;AAAA;;AAClF,UAAMa,EAAE,GAAG,KAAKV,UAAhB;AACA,QAAIW,CAAqC,GAAG,IAA5C;;AAEA,WAAO,KAAKC,QAAL,IAAiB,CAAC,CAACD,CAAC,GAAG,MAAMd,EAAE,CAACgB,IAAH,EAAX,EAAsBC,IAA/C,EAAqD;AACnD,UAAIX,IAAI,KAAK,IAAb,EAAmB;AACjBA,QAAAA,IAAI,IAAIO,EAAE,IAAIK,WAAW,CAACC,MAAZ,CAAmBL,CAAC,CAACM,KAArB,CAAN,GAAoCN,CAAC,CAACM,KAAF,CAAQC,UAA5C,GAAyD,CAAjE;AACD;;AACD,UAAI,CAAC,KAAKC,IAAL,CAAU,IAAIC,UAAJ,CAAeT,CAAC,CAACM,KAAjB,CAAV,CAAD,IAAuCd,IAAI,IAAI,CAAnD,EAAsD;AACpD;AACD;AACF;;AACD,QAAI,CAAC,MAAAQ,CAAC,UAAD,wBAAGG,IAAH,IAAW,CAAC,KAAKF,QAAlB,MAAgC,KAAKO,IAAL,CAAU,IAAV,KAAmB,IAAnD,CAAJ,EAA8D;AAAA;;AAC5DtB,MAAAA,EAAE,SAAF,IAAAA,EAAE,WAAF,0BAAAA,EAAE,CAAEY,MAAJ,+DAAAZ,EAAE;AACH;;AACD,WAAO,CAAC,KAAKe,QAAb;AACD;;AAhD0C;;eAsD9BxB,c","sourcesContent":["import {Readable, ReadableOptions} from 'stream';\n\nexport type MakeNodeStreamOptions = ReadableOptions;\n\n/** Builds a node stream from an iterator */\nfunction makeNodeStream<ArrayBuffer>(\n source: Iterable<ArrayBuffer> | AsyncIterable<ArrayBuffer>,\n options?: ReadableOptions\n): Readable {\n const iterator = source[Symbol.asyncIterator]\n ? source[Symbol.asyncIterator]()\n : source[Symbol.iterator]();\n return new AsyncIterableReadable(iterator, options);\n}\n\nclass AsyncIterableReadable extends Readable {\n private _pulling: boolean;\n private _bytesMode: boolean;\n private _iterator: AsyncIterator<ArrayBuffer>;\n\n constructor(it: AsyncIterator<ArrayBuffer>, options?: ReadableOptions) {\n super(options);\n this._iterator = it;\n this._pulling = false;\n this._bytesMode = !options || !options.objectMode;\n }\n\n async _read(size: number): Promise<void> {\n if (!this._pulling) {\n this._pulling = true;\n this._pulling = await this._pull(size, this._iterator);\n }\n }\n\n async _destroy(error: Error | null, cb: (e: Error | null) => void): Promise<void> {\n if (!this._iterator) {\n return;\n }\n if (error) {\n await this._iterator?.throw?.(error);\n } else {\n await this._iterator?.return?.(error);\n }\n cb?.(null);\n }\n\n // eslint-disable-next-line complexity\n private async _pull(size: number, it: AsyncIterator<ArrayBuffer>): Promise<boolean> {\n const bm = this._bytesMode;\n let r: IteratorResult<ArrayBuffer> | null = null;\n // while (this.readable && !(r = await it.next(bm ? size : null)).done) {\n while (this.readable && !(r = await it.next()).done) {\n if (size !== null) {\n size -= bm && ArrayBuffer.isView(r.value) ? r.value.byteLength : 1;\n }\n if (!this.push(new Uint8Array(r.value)) || size <= 0) {\n break;\n }\n }\n if ((r?.done || !this.readable) && (this.push(null) || true)) {\n it?.return?.();\n }\n return !this.readable;\n }\n}\n\n// This module is marked `false` in the the \"browser\" field of the `package.json` for\n// `@loaders.gl/core`. We avoid using named exports so that bundlers have an easier\n// time resolving this \"empty\" module.\nexport default makeNodeStream;\n"],"file":"make-node-stream.js"}
1
+ {"version":3,"sources":["../../../../src/iterators/make-stream/make-node-stream.ts"],"names":["makeNodeStream","source","options","iterator","Symbol","asyncIterator","AsyncIterableReadable","it","_iterator","_pulling","_bytesMode","objectMode","size","_pull","error","cb","throw","return","bm","r","readable","next","done","ArrayBuffer","isView","value","byteLength","push","Uint8Array","ReadableStream"],"mappings":"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","sourcesContent":["import type {ReadableOptions, Readable} from 'stream';\n// Indirection to make things work under \"problematic\" bundlers like vite and rollup\nimport {ReadableStream} from './node-stream-polyfill';\n\nexport type MakeNodeStreamOptions = ReadableOptions;\n\n/** Builds a node stream from an iterator */\nfunction makeNodeStream<ArrayBuffer>(\n source: Iterable<ArrayBuffer> | AsyncIterable<ArrayBuffer>,\n options?: ReadableOptions\n): Readable {\n const iterator = source[Symbol.asyncIterator]\n ? source[Symbol.asyncIterator]()\n : source[Symbol.iterator]();\n return new AsyncIterableReadable(iterator, options);\n}\nclass AsyncIterableReadable extends ReadableStream {\n private _pulling: boolean;\n private _bytesMode: boolean;\n private _iterator: AsyncIterator<ArrayBuffer>;\n\n constructor(it: AsyncIterator<ArrayBuffer>, options?: ReadableOptions) {\n super(options);\n this._iterator = it;\n this._pulling = false;\n this._bytesMode = !options || !options.objectMode;\n }\n\n async _read(size: number): Promise<void> {\n if (!this._pulling) {\n this._pulling = true;\n this._pulling = await this._pull(size, this._iterator);\n }\n }\n\n async _destroy(error: Error | null, cb: (e: Error | null) => void): Promise<void> {\n if (!this._iterator) {\n return;\n }\n if (error) {\n await this._iterator?.throw?.(error);\n } else {\n await this._iterator?.return?.(error);\n }\n cb?.(null);\n }\n\n // eslint-disable-next-line complexity\n private async _pull(size: number, it: AsyncIterator<ArrayBuffer>): Promise<boolean> {\n const bm = this._bytesMode;\n let r: IteratorResult<ArrayBuffer> | null = null;\n // while (this.readable && !(r = await it.next(bm ? size : null)).done) {\n while (this.readable && !(r = await it.next()).done) {\n if (size !== null) {\n size -= bm && ArrayBuffer.isView(r.value) ? r.value.byteLength : 1;\n }\n if (!this.push(new Uint8Array(r.value)) || size <= 0) {\n break;\n }\n }\n if ((r?.done || !this.readable) && (this.push(null) || true)) {\n it?.return?.();\n }\n return !this.readable;\n }\n}\n\n// This module is marked `false` in the the \"browser\" field of the `package.json` for\n// `@loaders.gl/core`. We avoid using named exports so that bundlers have an easier\n// time resolving this \"empty\" module.\nexport default makeNodeStream;\n"],"file":"make-node-stream.js"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.ReadableStream = void 0;
9
+
10
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
+
12
+ var _stream = _interopRequireDefault(require("stream"));
13
+
14
+ var Dummy = function Dummy(options) {
15
+ (0, _classCallCheck2.default)(this, Dummy);
16
+ };
17
+
18
+ var ReadableStream = Dummy;
19
+ exports.ReadableStream = ReadableStream;
20
+
21
+ try {
22
+ exports.ReadableStream = ReadableStream = _stream.default.Readable;
23
+ } catch (_unused) {}
24
+ //# sourceMappingURL=node-stream-polyfill.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/iterators/make-stream/node-stream-polyfill.ts"],"names":["Dummy","options","ReadableStream","stream","Readable"],"mappings":";;;;;;;;;;;AACA;;IAGMA,K,GAEJ,eAAYC,OAAZ,EAAqB;AAAA;AAAE,C;;AAIzB,IAAIC,cAA+B,GAAGF,KAAtC;;;AACA,IAAI;AACF,2BAAAE,cAAc,GAAGC,gBAAOC,QAAxB;AACD,CAFD,CAEE,gBAAM,CAEP","sourcesContent":["import type {Readable} from 'stream';\nimport stream from 'stream';\n\n// Make things work under bundlers like vite and rollup\nclass Dummy {\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n constructor(options) {}\n}\n\n// @ts-expect-error\nlet ReadableStream: typeof Readable = Dummy;\ntry {\n ReadableStream = stream.Readable;\n} catch {\n // eslint-disable-next-line no-empty\n}\n\nexport type {ReadableOptions, Readable} from 'stream';\nexport {ReadableStream};\n"],"file":"node-stream-polyfill.js"}
@@ -1,75 +1,115 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
3
5
  Object.defineProperty(exports, "__esModule", {
4
6
  value: true
5
7
  });
6
8
  exports.isWritableStream = exports.isReadableStream = exports.isReadableNodeStream = exports.isWritableNodeStream = exports.isReadableDOMStream = exports.isWritableDOMStream = exports.isBuffer = exports.isBlob = exports.isFile = exports.isResponse = exports.isIterator = exports.isAsyncIterable = exports.isIterable = exports.isPromise = exports.isPureObject = exports.isObject = void 0;
7
9
 
8
- const isBoolean = x => typeof x === 'boolean';
10
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
11
+
12
+ var isBoolean = function isBoolean(x) {
13
+ return typeof x === 'boolean';
14
+ };
9
15
 
10
- const isFunction = x => typeof x === 'function';
16
+ var isFunction = function isFunction(x) {
17
+ return typeof x === 'function';
18
+ };
11
19
 
12
- const isObject = x => x !== null && typeof x === 'object';
20
+ var isObject = function isObject(x) {
21
+ return x !== null && (0, _typeof2.default)(x) === 'object';
22
+ };
13
23
 
14
24
  exports.isObject = isObject;
15
25
 
16
- const isPureObject = x => isObject(x) && x.constructor === {}.constructor;
26
+ var isPureObject = function isPureObject(x) {
27
+ return isObject(x) && x.constructor === {}.constructor;
28
+ };
17
29
 
18
30
  exports.isPureObject = isPureObject;
19
31
 
20
- const isPromise = x => isObject(x) && isFunction(x.then);
32
+ var isPromise = function isPromise(x) {
33
+ return isObject(x) && isFunction(x.then);
34
+ };
21
35
 
22
36
  exports.isPromise = isPromise;
23
37
 
24
- const isIterable = x => x && typeof x[Symbol.iterator] === 'function';
38
+ var isIterable = function isIterable(x) {
39
+ return x && typeof x[Symbol.iterator] === 'function';
40
+ };
25
41
 
26
42
  exports.isIterable = isIterable;
27
43
 
28
- const isAsyncIterable = x => x && typeof x[Symbol.asyncIterator] === 'function';
44
+ var isAsyncIterable = function isAsyncIterable(x) {
45
+ return x && typeof x[Symbol.asyncIterator] === 'function';
46
+ };
29
47
 
30
48
  exports.isAsyncIterable = isAsyncIterable;
31
49
 
32
- const isIterator = x => x && isFunction(x.next);
50
+ var isIterator = function isIterator(x) {
51
+ return x && isFunction(x.next);
52
+ };
33
53
 
34
54
  exports.isIterator = isIterator;
35
55
 
36
- const isResponse = x => typeof Response !== 'undefined' && x instanceof Response || x && x.arrayBuffer && x.text && x.json;
56
+ var isResponse = function isResponse(x) {
57
+ return typeof Response !== 'undefined' && x instanceof Response || x && x.arrayBuffer && x.text && x.json;
58
+ };
37
59
 
38
60
  exports.isResponse = isResponse;
39
61
 
40
- const isFile = x => typeof File !== 'undefined' && x instanceof File;
62
+ var isFile = function isFile(x) {
63
+ return typeof File !== 'undefined' && x instanceof File;
64
+ };
41
65
 
42
66
  exports.isFile = isFile;
43
67
 
44
- const isBlob = x => typeof Blob !== 'undefined' && x instanceof Blob;
68
+ var isBlob = function isBlob(x) {
69
+ return typeof Blob !== 'undefined' && x instanceof Blob;
70
+ };
45
71
 
46
72
  exports.isBlob = isBlob;
47
73
 
48
- const isBuffer = x => x && typeof x === 'object' && x.isBuffer;
74
+ var isBuffer = function isBuffer(x) {
75
+ return x && (0, _typeof2.default)(x) === 'object' && x.isBuffer;
76
+ };
49
77
 
50
78
  exports.isBuffer = isBuffer;
51
79
 
52
- const isWritableDOMStream = x => isObject(x) && isFunction(x.abort) && isFunction(x.getWriter);
80
+ var isWritableDOMStream = function isWritableDOMStream(x) {
81
+ return isObject(x) && isFunction(x.abort) && isFunction(x.getWriter);
82
+ };
53
83
 
54
84
  exports.isWritableDOMStream = isWritableDOMStream;
55
85
 
56
- const isReadableDOMStream = x => typeof ReadableStream !== 'undefined' && x instanceof ReadableStream || isObject(x) && isFunction(x.tee) && isFunction(x.cancel) && isFunction(x.getReader);
86
+ var isReadableDOMStream = function isReadableDOMStream(x) {
87
+ return typeof ReadableStream !== 'undefined' && x instanceof ReadableStream || isObject(x) && isFunction(x.tee) && isFunction(x.cancel) && isFunction(x.getReader);
88
+ };
57
89
 
58
90
  exports.isReadableDOMStream = isReadableDOMStream;
59
91
 
60
- const isWritableNodeStream = x => isObject(x) && isFunction(x.end) && isFunction(x.write) && isBoolean(x.writable);
92
+ var isWritableNodeStream = function isWritableNodeStream(x) {
93
+ return isObject(x) && isFunction(x.end) && isFunction(x.write) && isBoolean(x.writable);
94
+ };
61
95
 
62
96
  exports.isWritableNodeStream = isWritableNodeStream;
63
97
 
64
- const isReadableNodeStream = x => isObject(x) && isFunction(x.read) && isFunction(x.pipe) && isBoolean(x.readable);
98
+ var isReadableNodeStream = function isReadableNodeStream(x) {
99
+ return isObject(x) && isFunction(x.read) && isFunction(x.pipe) && isBoolean(x.readable);
100
+ };
65
101
 
66
102
  exports.isReadableNodeStream = isReadableNodeStream;
67
103
 
68
- const isReadableStream = x => isReadableDOMStream(x) || isReadableNodeStream(x);
104
+ var isReadableStream = function isReadableStream(x) {
105
+ return isReadableDOMStream(x) || isReadableNodeStream(x);
106
+ };
69
107
 
70
108
  exports.isReadableStream = isReadableStream;
71
109
 
72
- const isWritableStream = x => isWritableDOMStream(x) || isWritableNodeStream(x);
110
+ var isWritableStream = function isWritableStream(x) {
111
+ return isWritableDOMStream(x) || isWritableNodeStream(x);
112
+ };
73
113
 
74
114
  exports.isWritableStream = isWritableStream;
75
115
  //# sourceMappingURL=is-type.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/javascript-utils/is-type.ts"],"names":["isBoolean","x","isFunction","isObject","isPureObject","constructor","isPromise","then","isIterable","Symbol","iterator","isAsyncIterable","asyncIterator","isIterator","next","isResponse","Response","arrayBuffer","text","json","isFile","File","isBlob","Blob","isBuffer","isWritableDOMStream","abort","getWriter","isReadableDOMStream","ReadableStream","tee","cancel","getReader","isWritableNodeStream","end","write","writable","isReadableNodeStream","read","pipe","readable","isReadableStream","isWritableStream"],"mappings":"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","sourcesContent":["import type {Readable} from 'stream';\n\n/** A DOM or Node readable stream */\nexport type ReadableStreamType = ReadableStream | Readable;\n\nconst isBoolean: (x: any) => boolean = (x) => typeof x === 'boolean';\nconst isFunction: (x: any) => boolean = (x) => typeof x === 'function';\n\nexport const isObject: (x: any) => boolean = (x) => x !== null && typeof x === 'object';\nexport const isPureObject: (x: any) => boolean = (x) =>\n isObject(x) && x.constructor === {}.constructor;\nexport const isPromise: (x: any) => boolean = (x) => isObject(x) && isFunction(x.then);\n\nexport const isIterable: (x: any) => boolean = (x) => x && typeof x[Symbol.iterator] === 'function';\nexport const isAsyncIterable: (x: any) => boolean = (x) =>\n x && typeof x[Symbol.asyncIterator] === 'function';\nexport const isIterator: (x: any) => boolean = (x) => x && isFunction(x.next);\n\nexport const isResponse: (x: any) => boolean = (x) =>\n (typeof Response !== 'undefined' && x instanceof Response) ||\n (x && x.arrayBuffer && x.text && x.json);\n\nexport const isFile: (x: any) => boolean = (x) => typeof File !== 'undefined' && x instanceof File;\nexport const isBlob: (x: any) => boolean = (x) => typeof Blob !== 'undefined' && x instanceof Blob;\n\n/** Check for Node.js `Buffer` without triggering bundler to include buffer polyfill */\nexport const isBuffer: (x: any) => boolean = (x) => x && typeof x === 'object' && x.isBuffer;\n\nexport const isWritableDOMStream: (x: any) => boolean = (x) =>\n isObject(x) && isFunction(x.abort) && isFunction(x.getWriter);\n\nexport const isReadableDOMStream: (x: any) => boolean = (x) =>\n (typeof ReadableStream !== 'undefined' && x instanceof ReadableStream) ||\n (isObject(x) && isFunction(x.tee) && isFunction(x.cancel) && isFunction(x.getReader));\n// Not implemented in Firefox: && isFunction(x.pipeTo)\n\nexport const isWritableNodeStream: (x: any) => boolean = (x) =>\n isObject(x) && isFunction(x.end) && isFunction(x.write) && isBoolean(x.writable);\nexport const isReadableNodeStream: (x: any) => boolean = (x) =>\n isObject(x) && isFunction(x.read) && isFunction(x.pipe) && isBoolean(x.readable);\nexport const isReadableStream: (x: any) => boolean = (x) =>\n isReadableDOMStream(x) || isReadableNodeStream(x);\nexport const isWritableStream: (x: any) => boolean = (x) =>\n isWritableDOMStream(x) || isWritableNodeStream(x);\n"],"file":"is-type.js"}
1
+ {"version":3,"sources":["../../../src/javascript-utils/is-type.ts"],"names":["isBoolean","x","isFunction","isObject","isPureObject","constructor","isPromise","then","isIterable","Symbol","iterator","isAsyncIterable","asyncIterator","isIterator","next","isResponse","Response","arrayBuffer","text","json","isFile","File","isBlob","Blob","isBuffer","isWritableDOMStream","abort","getWriter","isReadableDOMStream","ReadableStream","tee","cancel","getReader","isWritableNodeStream","end","write","writable","isReadableNodeStream","read","pipe","readable","isReadableStream","isWritableStream"],"mappings":"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","sourcesContent":["import type {Readable} from 'stream';\n\n/** A DOM or Node readable stream */\nexport type ReadableStreamType = ReadableStream | Readable;\n\nconst isBoolean: (x: any) => boolean = (x) => typeof x === 'boolean';\nconst isFunction: (x: any) => boolean = (x) => typeof x === 'function';\n\nexport const isObject: (x: any) => boolean = (x) => x !== null && typeof x === 'object';\nexport const isPureObject: (x: any) => boolean = (x) =>\n isObject(x) && x.constructor === {}.constructor;\nexport const isPromise: (x: any) => boolean = (x) => isObject(x) && isFunction(x.then);\n\nexport const isIterable: (x: any) => boolean = (x) => x && typeof x[Symbol.iterator] === 'function';\nexport const isAsyncIterable: (x: any) => boolean = (x) =>\n x && typeof x[Symbol.asyncIterator] === 'function';\nexport const isIterator: (x: any) => boolean = (x) => x && isFunction(x.next);\n\nexport const isResponse: (x: any) => boolean = (x) =>\n (typeof Response !== 'undefined' && x instanceof Response) ||\n (x && x.arrayBuffer && x.text && x.json);\n\nexport const isFile: (x: any) => boolean = (x) => typeof File !== 'undefined' && x instanceof File;\nexport const isBlob: (x: any) => boolean = (x) => typeof Blob !== 'undefined' && x instanceof Blob;\n\n/** Check for Node.js `Buffer` without triggering bundler to include buffer polyfill */\nexport const isBuffer: (x: any) => boolean = (x) => x && typeof x === 'object' && x.isBuffer;\n\nexport const isWritableDOMStream: (x: any) => boolean = (x) =>\n isObject(x) && isFunction(x.abort) && isFunction(x.getWriter);\n\nexport const isReadableDOMStream: (x: any) => boolean = (x) =>\n (typeof ReadableStream !== 'undefined' && x instanceof ReadableStream) ||\n (isObject(x) && isFunction(x.tee) && isFunction(x.cancel) && isFunction(x.getReader));\n// Not implemented in Firefox: && isFunction(x.pipeTo)\n\nexport const isWritableNodeStream: (x: any) => boolean = (x) =>\n isObject(x) && isFunction(x.end) && isFunction(x.write) && isBoolean(x.writable);\nexport const isReadableNodeStream: (x: any) => boolean = (x) =>\n isObject(x) && isFunction(x.read) && isFunction(x.pipe) && isBoolean(x.readable);\nexport const isReadableStream: (x: any) => boolean = (x) =>\n isReadableDOMStream(x) || isReadableNodeStream(x);\nexport const isWritableStream: (x: any) => boolean = (x) =>\n isWritableDOMStream(x) || isWritableNodeStream(x);\n"],"file":"is-type.js"}