@loaders.gl/core 3.1.3 → 4.0.0-alpha.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bundle.js +2 -2
- package/dist/bundle.js.map +1 -0
- package/dist/{es5/core-addons → core-addons}/README.md +0 -0
- package/dist/core-addons/write-file-browser.js +1 -59
- package/dist/{es5/core-addons → core-addons}/write-file-browser.js.map +0 -0
- package/dist/dist.min.js +18 -18
- package/dist/index.js +29 -102
- package/dist/index.js.map +1 -0
- package/dist/iterators/batch-iterators/timed-batch-iterator.js +17 -20
- package/dist/iterators/batch-iterators/timed-batch-iterator.js.map +1 -0
- package/dist/iterators/make-iterator/make-array-buffer-iterator.js +16 -25
- package/dist/iterators/make-iterator/make-array-buffer-iterator.js.map +1 -0
- package/dist/iterators/make-iterator/make-blob-iterator.js +12 -20
- package/dist/iterators/make-iterator/make-blob-iterator.js.map +1 -0
- package/dist/iterators/make-iterator/make-iterator.js +29 -36
- package/dist/iterators/make-iterator/make-iterator.js.map +1 -0
- package/dist/iterators/make-iterator/make-stream-iterator.js +32 -89
- package/dist/iterators/make-iterator/make-stream-iterator.js.map +1 -0
- package/dist/iterators/make-iterator/make-string-iterator.js +12 -22
- package/dist/iterators/make-iterator/make-string-iterator.js.map +1 -0
- package/dist/iterators/make-stream/make-dom-stream.js +32 -44
- package/dist/iterators/make-stream/make-dom-stream.js.map +1 -0
- package/dist/iterators/make-stream/make-node-stream.js +68 -50
- package/dist/iterators/make-stream/make-node-stream.js.map +1 -0
- package/dist/javascript-utils/is-type.js +21 -41
- package/dist/javascript-utils/is-type.js.map +1 -0
- package/dist/lib/api/encode.js +81 -101
- package/dist/lib/api/encode.js.map +1 -0
- package/dist/lib/api/load-in-batches.js +27 -30
- package/dist/lib/api/load-in-batches.js.map +1 -0
- package/dist/lib/api/load.js +24 -40
- package/dist/lib/api/load.js.map +1 -0
- package/dist/lib/api/parse-in-batches.js +92 -113
- package/dist/lib/api/parse-in-batches.js.map +1 -0
- package/dist/lib/api/parse-sync.js +54 -56
- package/dist/lib/api/parse-sync.js.map +1 -0
- package/dist/lib/api/parse.js +61 -71
- package/dist/lib/api/parse.js.map +1 -0
- package/dist/lib/api/register-loaders.js +23 -29
- package/dist/lib/api/register-loaders.js.map +1 -0
- package/dist/lib/api/save.js +9 -13
- package/dist/lib/api/save.js.map +1 -0
- package/dist/lib/api/select-loader.js +194 -205
- package/dist/lib/api/select-loader.js.map +1 -0
- package/dist/lib/api/set-loader-options.js +4 -11
- package/dist/lib/api/set-loader-options.js.map +1 -0
- package/dist/lib/common.js +2 -2
- package/dist/{es5/lib → lib}/common.js.map +0 -0
- package/dist/lib/fetch/fetch-error-message.js +17 -21
- package/dist/lib/fetch/fetch-error-message.js.map +1 -0
- package/dist/lib/fetch/fetch-file.js +15 -25
- package/dist/lib/fetch/fetch-file.js.map +1 -0
- package/dist/lib/fetch/read-array-buffer.js +27 -39
- package/dist/lib/fetch/read-array-buffer.js.map +1 -0
- package/dist/lib/fetch/read-file.js +16 -28
- package/dist/lib/fetch/read-file.js.map +1 -0
- package/dist/lib/fetch/write-file.js +23 -20
- package/dist/lib/fetch/write-file.js.map +1 -0
- package/dist/lib/filesystems/browser-filesystem.js +107 -118
- package/dist/lib/filesystems/browser-filesystem.js.map +1 -0
- package/dist/lib/filesystems/filesystem.js +2 -2
- package/dist/{es5/lib → lib}/filesystems/filesystem.js.map +0 -0
- package/dist/lib/filesystems/read-array-buffer.js +8 -28
- package/dist/lib/filesystems/read-array-buffer.js.map +1 -0
- package/dist/lib/init.js +4 -8
- package/dist/lib/init.js.map +1 -0
- package/dist/lib/loader-utils/check-errors.js +22 -26
- package/dist/lib/loader-utils/check-errors.js.map +1 -0
- package/dist/lib/loader-utils/get-data.js +122 -122
- package/dist/lib/loader-utils/get-data.js.map +1 -0
- package/dist/lib/loader-utils/loader-context.js +34 -47
- package/dist/lib/loader-utils/loader-context.js.map +1 -0
- package/dist/lib/loader-utils/loggers.js +46 -39
- package/dist/lib/loader-utils/loggers.js.map +1 -0
- package/dist/lib/loader-utils/normalize-loader.js +41 -50
- package/dist/lib/loader-utils/normalize-loader.js.map +1 -0
- package/dist/lib/loader-utils/option-defaults.js +35 -39
- package/dist/lib/loader-utils/option-defaults.js.map +1 -0
- package/dist/lib/loader-utils/option-utils.js +119 -156
- package/dist/lib/loader-utils/option-utils.js.map +1 -0
- package/dist/lib/progress/fetch-progress.js +56 -54
- package/dist/lib/progress/fetch-progress.js.map +1 -0
- package/dist/lib/utils/mime-type-utils.js +17 -38
- package/dist/lib/utils/mime-type-utils.js.map +1 -0
- package/dist/lib/utils/resource-utils.js +52 -70
- package/dist/lib/utils/resource-utils.js.map +1 -0
- package/dist/lib/utils/response-utils.js +105 -104
- package/dist/lib/utils/response-utils.js.map +1 -0
- package/dist/null-loader.js +31 -41
- package/dist/null-loader.js.map +1 -0
- package/dist/null-worker.js +1 -1
- package/dist/workers/null-worker.js +4 -5
- package/dist/workers/null-worker.js.map +1 -0
- package/package.json +9 -7
- package/dist/es5/bundle.js +0 -7
- package/dist/es5/bundle.js.map +0 -1
- package/dist/es5/core-addons/write-file-browser.js +0 -2
- package/dist/es5/index.js +0 -374
- package/dist/es5/index.js.map +0 -1
- package/dist/es5/iterators/batch-iterators/timed-batch-iterator.js +0 -131
- package/dist/es5/iterators/batch-iterators/timed-batch-iterator.js.map +0 -1
- package/dist/es5/iterators/make-iterator/make-array-buffer-iterator.js +0 -61
- package/dist/es5/iterators/make-iterator/make-array-buffer-iterator.js.map +0 -1
- package/dist/es5/iterators/make-iterator/make-blob-iterator.js +0 -61
- package/dist/es5/iterators/make-iterator/make-blob-iterator.js.map +0 -1
- package/dist/es5/iterators/make-iterator/make-iterator.js +0 -42
- package/dist/es5/iterators/make-iterator/make-iterator.js.map +0 -1
- package/dist/es5/iterators/make-iterator/make-stream-iterator.js +0 -184
- package/dist/es5/iterators/make-iterator/make-stream-iterator.js.map +0 -1
- package/dist/es5/iterators/make-iterator/make-string-iterator.js +0 -49
- package/dist/es5/iterators/make-iterator/make-string-iterator.js.map +0 -1
- package/dist/es5/iterators/make-stream/make-dom-stream.js +0 -86
- package/dist/es5/iterators/make-stream/make-dom-stream.js.map +0 -1
- package/dist/es5/iterators/make-stream/make-node-stream.js +0 -217
- package/dist/es5/iterators/make-stream/make-node-stream.js.map +0 -1
- package/dist/es5/javascript-utils/is-type.js +0 -115
- package/dist/es5/javascript-utils/is-type.js.map +0 -1
- package/dist/es5/lib/api/encode.js +0 -304
- package/dist/es5/lib/api/encode.js.map +0 -1
- package/dist/es5/lib/api/load-in-batches.js +0 -83
- package/dist/es5/lib/api/load-in-batches.js.map +0 -1
- package/dist/es5/lib/api/load.js +0 -81
- package/dist/es5/lib/api/load.js.map +0 -1
- package/dist/es5/lib/api/parse-in-batches.js +0 -366
- package/dist/es5/lib/api/parse-in-batches.js.map +0 -1
- package/dist/es5/lib/api/parse-sync.js +0 -75
- package/dist/es5/lib/api/parse-sync.js.map +0 -1
- package/dist/es5/lib/api/parse.js +0 -171
- package/dist/es5/lib/api/parse.js.map +0 -1
- package/dist/es5/lib/api/register-loaders.js +0 -63
- package/dist/es5/lib/api/register-loaders.js.map +0 -1
- package/dist/es5/lib/api/save.js +0 -55
- package/dist/es5/lib/api/save.js.map +0 -1
- package/dist/es5/lib/api/select-loader.js +0 -378
- package/dist/es5/lib/api/select-loader.js.map +0 -1
- package/dist/es5/lib/api/set-loader-options.js +0 -13
- package/dist/es5/lib/api/set-loader-options.js.map +0 -1
- package/dist/es5/lib/common.js +0 -2
- package/dist/es5/lib/fetch/fetch-error-message.js +0 -72
- package/dist/es5/lib/fetch/fetch-error-message.js.map +0 -1
- package/dist/es5/lib/fetch/fetch-file.js +0 -63
- package/dist/es5/lib/fetch/fetch-file.js.map +0 -1
- package/dist/es5/lib/fetch/read-array-buffer.js +0 -100
- package/dist/es5/lib/fetch/read-array-buffer.js.map +0 -1
- package/dist/es5/lib/fetch/read-file.js +0 -26
- package/dist/es5/lib/fetch/read-file.js.map +0 -1
- package/dist/es5/lib/fetch/write-file.js +0 -63
- package/dist/es5/lib/fetch/write-file.js.map +0 -1
- package/dist/es5/lib/filesystems/browser-filesystem.js +0 -312
- package/dist/es5/lib/filesystems/browser-filesystem.js.map +0 -1
- package/dist/es5/lib/filesystems/filesystem.js +0 -2
- package/dist/es5/lib/filesystems/read-array-buffer.js +0 -53
- package/dist/es5/lib/filesystems/read-array-buffer.js.map +0 -1
- package/dist/es5/lib/init.js +0 -13
- package/dist/es5/lib/init.js.map +0 -1
- package/dist/es5/lib/loader-utils/check-errors.js +0 -73
- package/dist/es5/lib/loader-utils/check-errors.js.map +0 -1
- package/dist/es5/lib/loader-utils/get-data.js +0 -314
- package/dist/es5/lib/loader-utils/get-data.js.map +0 -1
- package/dist/es5/lib/loader-utils/loader-context.js +0 -57
- package/dist/es5/lib/loader-utils/loader-context.js.map +0 -1
- package/dist/es5/lib/loader-utils/loggers.js +0 -110
- package/dist/es5/lib/loader-utils/loggers.js.map +0 -1
- package/dist/es5/lib/loader-utils/normalize-loader.js +0 -59
- package/dist/es5/lib/loader-utils/normalize-loader.js.map +0 -1
- package/dist/es5/lib/loader-utils/option-defaults.js +0 -47
- package/dist/es5/lib/loader-utils/option-defaults.js.map +0 -1
- package/dist/es5/lib/loader-utils/option-utils.js +0 -191
- package/dist/es5/lib/loader-utils/option-utils.js.map +0 -1
- package/dist/es5/lib/progress/fetch-progress.js +0 -169
- package/dist/es5/lib/progress/fetch-progress.js.map +0 -1
- package/dist/es5/lib/utils/mime-type-utils.js +0 -30
- package/dist/es5/lib/utils/mime-type-utils.js.map +0 -1
- package/dist/es5/lib/utils/resource-utils.js +0 -72
- package/dist/es5/lib/utils/resource-utils.js.map +0 -1
- package/dist/es5/lib/utils/response-utils.js +0 -255
- package/dist/es5/lib/utils/response-utils.js.map +0 -1
- package/dist/es5/null-loader.js +0 -169
- package/dist/es5/null-loader.js.map +0 -1
- package/dist/es5/workers/null-worker.js +0 -8
- package/dist/es5/workers/null-worker.js.map +0 -1
- package/dist/esm/bundle.js +0 -5
- package/dist/esm/bundle.js.map +0 -1
- package/dist/esm/core-addons/README.md +0 -1
- package/dist/esm/core-addons/write-file-browser.js +0 -2
- package/dist/esm/core-addons/write-file-browser.js.map +0 -1
- package/dist/esm/index.js +0 -29
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/iterators/batch-iterators/timed-batch-iterator.js +0 -19
- package/dist/esm/iterators/batch-iterators/timed-batch-iterator.js.map +0 -1
- package/dist/esm/iterators/make-iterator/make-array-buffer-iterator.js +0 -18
- package/dist/esm/iterators/make-iterator/make-array-buffer-iterator.js.map +0 -1
- package/dist/esm/iterators/make-iterator/make-blob-iterator.js +0 -13
- package/dist/esm/iterators/make-iterator/make-blob-iterator.js.map +0 -1
- package/dist/esm/iterators/make-iterator/make-iterator.js +0 -30
- package/dist/esm/iterators/make-iterator/make-iterator.js.map +0 -1
- package/dist/esm/iterators/make-iterator/make-stream-iterator.js +0 -39
- package/dist/esm/iterators/make-iterator/make-stream-iterator.js.map +0 -1
- package/dist/esm/iterators/make-iterator/make-string-iterator.js +0 -14
- package/dist/esm/iterators/make-iterator/make-string-iterator.js.map +0 -1
- package/dist/esm/iterators/make-stream/make-dom-stream.js +0 -34
- package/dist/esm/iterators/make-stream/make-dom-stream.js.map +0 -1
- package/dist/esm/iterators/make-stream/make-node-stream.js +0 -74
- package/dist/esm/iterators/make-stream/make-node-stream.js.map +0 -1
- package/dist/esm/javascript-utils/is-type.js +0 -21
- package/dist/esm/javascript-utils/is-type.js.map +0 -1
- package/dist/esm/lib/api/encode.js +0 -91
- package/dist/esm/lib/api/encode.js.map +0 -1
- package/dist/esm/lib/api/load-in-batches.js +0 -30
- package/dist/esm/lib/api/load-in-batches.js.map +0 -1
- package/dist/esm/lib/api/load.js +0 -25
- package/dist/esm/lib/api/load.js.map +0 -1
- package/dist/esm/lib/api/parse-in-batches.js +0 -99
- package/dist/esm/lib/api/parse-in-batches.js.map +0 -1
- package/dist/esm/lib/api/parse-sync.js +0 -57
- package/dist/esm/lib/api/parse-sync.js.map +0 -1
- package/dist/esm/lib/api/parse.js +0 -64
- package/dist/esm/lib/api/parse.js.map +0 -1
- package/dist/esm/lib/api/register-loaders.js +0 -29
- package/dist/esm/lib/api/register-loaders.js.map +0 -1
- package/dist/esm/lib/api/save.js +0 -11
- package/dist/esm/lib/api/save.js.map +0 -1
- package/dist/esm/lib/api/select-loader.js +0 -228
- package/dist/esm/lib/api/select-loader.js.map +0 -1
- package/dist/esm/lib/api/set-loader-options.js +0 -5
- package/dist/esm/lib/api/set-loader-options.js.map +0 -1
- package/dist/esm/lib/common.js +0 -2
- package/dist/esm/lib/common.js.map +0 -1
- package/dist/esm/lib/fetch/fetch-error-message.js +0 -21
- package/dist/esm/lib/fetch/fetch-error-message.js.map +0 -1
- package/dist/esm/lib/fetch/fetch-file.js +0 -17
- package/dist/esm/lib/fetch/fetch-file.js.map +0 -1
- package/dist/esm/lib/fetch/read-array-buffer.js +0 -29
- package/dist/esm/lib/fetch/read-array-buffer.js.map +0 -1
- package/dist/esm/lib/fetch/read-file.js +0 -17
- package/dist/esm/lib/fetch/read-file.js.map +0 -1
- package/dist/esm/lib/fetch/write-file.js +0 -25
- package/dist/esm/lib/fetch/write-file.js.map +0 -1
- package/dist/esm/lib/filesystems/browser-filesystem.js +0 -115
- package/dist/esm/lib/filesystems/browser-filesystem.js.map +0 -1
- package/dist/esm/lib/filesystems/filesystem.js +0 -2
- package/dist/esm/lib/filesystems/filesystem.js.map +0 -1
- package/dist/esm/lib/filesystems/read-array-buffer.js +0 -9
- package/dist/esm/lib/filesystems/read-array-buffer.js.map +0 -1
- package/dist/esm/lib/init.js +0 -6
- package/dist/esm/lib/init.js.map +0 -1
- package/dist/esm/lib/loader-utils/check-errors.js +0 -26
- package/dist/esm/lib/loader-utils/check-errors.js.map +0 -1
- package/dist/esm/lib/loader-utils/get-data.js +0 -129
- package/dist/esm/lib/loader-utils/get-data.js.map +0 -1
- package/dist/esm/lib/loader-utils/loader-context.js +0 -36
- package/dist/esm/lib/loader-utils/loader-context.js.map +0 -1
- package/dist/esm/lib/loader-utils/loggers.js +0 -48
- package/dist/esm/lib/loader-utils/loggers.js.map +0 -1
- package/dist/esm/lib/loader-utils/normalize-loader.js +0 -43
- package/dist/esm/lib/loader-utils/normalize-loader.js.map +0 -1
- package/dist/esm/lib/loader-utils/option-defaults.js +0 -37
- package/dist/esm/lib/loader-utils/option-defaults.js.map +0 -1
- package/dist/esm/lib/loader-utils/option-utils.js +0 -140
- package/dist/esm/lib/loader-utils/option-utils.js.map +0 -1
- package/dist/esm/lib/progress/fetch-progress.js +0 -61
- package/dist/esm/lib/progress/fetch-progress.js.map +0 -1
- package/dist/esm/lib/utils/mime-type-utils.js +0 -21
- package/dist/esm/lib/utils/mime-type-utils.js.map +0 -1
- package/dist/esm/lib/utils/resource-utils.js +0 -60
- package/dist/esm/lib/utils/resource-utils.js.map +0 -1
- package/dist/esm/lib/utils/response-utils.js +0 -115
- package/dist/esm/lib/utils/response-utils.js.map +0 -1
- package/dist/esm/null-loader.js +0 -34
- package/dist/esm/null-loader.js.map +0 -1
- package/dist/esm/workers/null-worker.js +0 -4
- package/dist/esm/workers/null-worker.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/iterators/make-iterator/make-iterator.ts"],"names":["makeIterator","data","options","ArrayBuffer","response","body","Error"],"mappings":";;;;;;;AAEA;;AACA;;AACA;;AAEA;;AACA;;AAiBO,SAASA,YAAT,CACLC,IADK,EAELC,OAFK,EAG+C;AACpD,MAAI,OAAOD,IAAP,KAAgB,QAApB,EAA8B;AAE5B,WAAO,4CAAmBA,IAAnB,EAAyBC,OAAzB,CAAP;AACD;;AACD,MAAID,IAAI,YAAYE,WAApB,EAAiC;AAC/B,WAAO,sDAAwBF,IAAxB,EAA8BC,OAA9B,CAAP;AACD;;AACD,MAAI,oBAAOD,IAAP,CAAJ,EAAkB;AAChB,WAAO,wCAAiBA,IAAjB,EAA+BC,OAA/B,CAAP;AACD;;AACD,MAAI,8BAAiBD,IAAjB,CAAJ,EAA4B;AAC1B,WAAO,4CAAmBA,IAAnB,EAA2CC,OAA3C,CAAP;AACD;;AACD,MAAI,wBAAWD,IAAX,CAAJ,EAAsB;AACpB,QAAMG,QAAQ,GAAGH,IAAjB;AACA,WAAO,4CAAmBG,QAAQ,CAACC,IAA5B,EAAoDH,OAApD,CAAP;AACD;;AACD,QAAM,IAAII,KAAJ,CAAU,cAAV,CAAN;AACD","sourcesContent":["import type {ReadStream} from 'fs';\n\nimport {makeStringIterator} from './make-string-iterator';\nimport {makeArrayBufferIterator} from './make-array-buffer-iterator';\nimport {makeBlobIterator} from './make-blob-iterator';\nimport type {StreamIteratorOptions} from './make-stream-iterator';\nimport {makeStreamIterator} from './make-stream-iterator';\nimport {isBlob, isReadableStream, isResponse} from '../../javascript-utils/is-type';\n\n/**\n * @param [options.chunkSize]\n */\nexport type IteratorOptions = StreamIteratorOptions & {\n chunkSize?: number;\n};\n\n/**\n * Returns an iterator that breaks its input into chunks and yields them one-by-one.\n * @param data\n * @param options\n * @returns\n * This function can e.g. be used to enable data sources that can only be read atomically\n * (such as `Blob` and `File` via `FileReader`) to still be parsed in batches.\n */\nexport function makeIterator(\n data: ArrayBuffer | string | Blob | Response | ReadableStream | ReadStream,\n options?: IteratorOptions\n): AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer> {\n if (typeof data === 'string') {\n // Note: Converts string chunks to binary\n return makeStringIterator(data, options);\n }\n if (data instanceof ArrayBuffer) {\n return makeArrayBufferIterator(data, options);\n }\n if (isBlob(data)) {\n return makeBlobIterator(data as Blob, options);\n }\n if (isReadableStream(data)) {\n return makeStreamIterator(data as ReadableStream, options);\n }\n if (isResponse(data)) {\n const response = data as Response;\n return makeStreamIterator(response.body as ReadableStream, options);\n }\n throw new Error('makeIterator');\n}\n"],"file":"make-iterator.js"}
|
|
@@ -1,184 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports.makeStreamIterator = makeStreamIterator;
|
|
9
|
-
|
|
10
|
-
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
|
-
|
|
12
|
-
var _asyncIterator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncIterator"));
|
|
13
|
-
|
|
14
|
-
var _awaitAsyncGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/awaitAsyncGenerator"));
|
|
15
|
-
|
|
16
|
-
var _wrapAsyncGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapAsyncGenerator"));
|
|
17
|
-
|
|
18
|
-
var _loaderUtils = require("@loaders.gl/loader-utils");
|
|
19
|
-
|
|
20
|
-
function makeStreamIterator(stream, options) {
|
|
21
|
-
return _loaderUtils.isBrowser ? makeBrowserStreamIterator(stream, options) : makeNodeStreamIterator(stream, options);
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
function makeBrowserStreamIterator(_x, _x2) {
|
|
25
|
-
return _makeBrowserStreamIterator.apply(this, arguments);
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
function _makeBrowserStreamIterator() {
|
|
29
|
-
_makeBrowserStreamIterator = (0, _wrapAsyncGenerator2.default)(_regenerator.default.mark(function _callee(stream, options) {
|
|
30
|
-
var reader, nextBatchPromise, currentBatchPromise, _yield$_awaitAsyncGen, done, value;
|
|
31
|
-
|
|
32
|
-
return _regenerator.default.wrap(function _callee$(_context) {
|
|
33
|
-
while (1) {
|
|
34
|
-
switch (_context.prev = _context.next) {
|
|
35
|
-
case 0:
|
|
36
|
-
reader = stream.getReader();
|
|
37
|
-
_context.prev = 1;
|
|
38
|
-
|
|
39
|
-
case 2:
|
|
40
|
-
if (!true) {
|
|
41
|
-
_context.next = 16;
|
|
42
|
-
break;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
currentBatchPromise = nextBatchPromise || reader.read();
|
|
46
|
-
|
|
47
|
-
if (options !== null && options !== void 0 && options._streamReadAhead) {
|
|
48
|
-
nextBatchPromise = reader.read();
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
_context.next = 7;
|
|
52
|
-
return (0, _awaitAsyncGenerator2.default)(currentBatchPromise);
|
|
53
|
-
|
|
54
|
-
case 7:
|
|
55
|
-
_yield$_awaitAsyncGen = _context.sent;
|
|
56
|
-
done = _yield$_awaitAsyncGen.done;
|
|
57
|
-
value = _yield$_awaitAsyncGen.value;
|
|
58
|
-
|
|
59
|
-
if (!done) {
|
|
60
|
-
_context.next = 12;
|
|
61
|
-
break;
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
return _context.abrupt("return");
|
|
65
|
-
|
|
66
|
-
case 12:
|
|
67
|
-
_context.next = 14;
|
|
68
|
-
return (0, _loaderUtils.toArrayBuffer)(value);
|
|
69
|
-
|
|
70
|
-
case 14:
|
|
71
|
-
_context.next = 2;
|
|
72
|
-
break;
|
|
73
|
-
|
|
74
|
-
case 16:
|
|
75
|
-
_context.next = 21;
|
|
76
|
-
break;
|
|
77
|
-
|
|
78
|
-
case 18:
|
|
79
|
-
_context.prev = 18;
|
|
80
|
-
_context.t0 = _context["catch"](1);
|
|
81
|
-
reader.releaseLock();
|
|
82
|
-
|
|
83
|
-
case 21:
|
|
84
|
-
case "end":
|
|
85
|
-
return _context.stop();
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
}, _callee, null, [[1, 18]]);
|
|
89
|
-
}));
|
|
90
|
-
return _makeBrowserStreamIterator.apply(this, arguments);
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
function makeNodeStreamIterator(_x3, _x4) {
|
|
94
|
-
return _makeNodeStreamIterator.apply(this, arguments);
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
function _makeNodeStreamIterator() {
|
|
98
|
-
_makeNodeStreamIterator = (0, _wrapAsyncGenerator2.default)(_regenerator.default.mark(function _callee2(stream, options) {
|
|
99
|
-
var _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, _value, chunk;
|
|
100
|
-
|
|
101
|
-
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
102
|
-
while (1) {
|
|
103
|
-
switch (_context2.prev = _context2.next) {
|
|
104
|
-
case 0:
|
|
105
|
-
_iteratorNormalCompletion = true;
|
|
106
|
-
_didIteratorError = false;
|
|
107
|
-
_context2.prev = 2;
|
|
108
|
-
_iterator = (0, _asyncIterator2.default)(stream);
|
|
109
|
-
|
|
110
|
-
case 4:
|
|
111
|
-
_context2.next = 6;
|
|
112
|
-
return (0, _awaitAsyncGenerator2.default)(_iterator.next());
|
|
113
|
-
|
|
114
|
-
case 6:
|
|
115
|
-
_step = _context2.sent;
|
|
116
|
-
_iteratorNormalCompletion = _step.done;
|
|
117
|
-
_context2.next = 10;
|
|
118
|
-
return (0, _awaitAsyncGenerator2.default)(_step.value);
|
|
119
|
-
|
|
120
|
-
case 10:
|
|
121
|
-
_value = _context2.sent;
|
|
122
|
-
|
|
123
|
-
if (_iteratorNormalCompletion) {
|
|
124
|
-
_context2.next = 18;
|
|
125
|
-
break;
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
chunk = _value;
|
|
129
|
-
_context2.next = 15;
|
|
130
|
-
return (0, _loaderUtils.toArrayBuffer)(chunk);
|
|
131
|
-
|
|
132
|
-
case 15:
|
|
133
|
-
_iteratorNormalCompletion = true;
|
|
134
|
-
_context2.next = 4;
|
|
135
|
-
break;
|
|
136
|
-
|
|
137
|
-
case 18:
|
|
138
|
-
_context2.next = 24;
|
|
139
|
-
break;
|
|
140
|
-
|
|
141
|
-
case 20:
|
|
142
|
-
_context2.prev = 20;
|
|
143
|
-
_context2.t0 = _context2["catch"](2);
|
|
144
|
-
_didIteratorError = true;
|
|
145
|
-
_iteratorError = _context2.t0;
|
|
146
|
-
|
|
147
|
-
case 24:
|
|
148
|
-
_context2.prev = 24;
|
|
149
|
-
_context2.prev = 25;
|
|
150
|
-
|
|
151
|
-
if (!(!_iteratorNormalCompletion && _iterator.return != null)) {
|
|
152
|
-
_context2.next = 29;
|
|
153
|
-
break;
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
_context2.next = 29;
|
|
157
|
-
return (0, _awaitAsyncGenerator2.default)(_iterator.return());
|
|
158
|
-
|
|
159
|
-
case 29:
|
|
160
|
-
_context2.prev = 29;
|
|
161
|
-
|
|
162
|
-
if (!_didIteratorError) {
|
|
163
|
-
_context2.next = 32;
|
|
164
|
-
break;
|
|
165
|
-
}
|
|
166
|
-
|
|
167
|
-
throw _iteratorError;
|
|
168
|
-
|
|
169
|
-
case 32:
|
|
170
|
-
return _context2.finish(29);
|
|
171
|
-
|
|
172
|
-
case 33:
|
|
173
|
-
return _context2.finish(24);
|
|
174
|
-
|
|
175
|
-
case 34:
|
|
176
|
-
case "end":
|
|
177
|
-
return _context2.stop();
|
|
178
|
-
}
|
|
179
|
-
}
|
|
180
|
-
}, _callee2, null, [[2, 20, 24, 34], [25,, 29, 33]]);
|
|
181
|
-
}));
|
|
182
|
-
return _makeNodeStreamIterator.apply(this, arguments);
|
|
183
|
-
}
|
|
184
|
-
//# sourceMappingURL=make-stream-iterator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/iterators/make-iterator/make-stream-iterator.ts"],"names":["makeStreamIterator","stream","options","isBrowser","makeBrowserStreamIterator","makeNodeStreamIterator","reader","getReader","currentBatchPromise","nextBatchPromise","read","_streamReadAhead","done","value","releaseLock","chunk"],"mappings":";;;;;;;;;;;;;;;;;AACA;;AAUO,SAASA,kBAAT,CACLC,MADK,EAELC,OAFK,EAGuB;AAC5B,SAAOC,yBACHC,yBAAyB,CAACH,MAAD,EAA2BC,OAA3B,CADtB,GAEHG,sBAAsB,CAACJ,MAAD,EAAqBC,OAArB,CAF1B;AAGD;;SAOeE,yB;;;;;2FAAhB,iBACEH,MADF,EAEEC,OAFF;AAAA;;AAAA;AAAA;AAAA;AAAA;AAaQI,YAAAA,MAbR,GAaiBL,MAAM,CAACM,SAAP,EAbjB;AAAA;;AAAA;AAAA,iBAmBW,IAnBX;AAAA;AAAA;AAAA;;AAoBYC,YAAAA,mBApBZ,GAoBkCC,gBAAgB,IAAIH,MAAM,CAACI,IAAP,EApBtD;;AAuBM,gBAAIR,OAAJ,aAAIA,OAAJ,eAAIA,OAAO,CAAES,gBAAb,EAA+B;AAC7BF,cAAAA,gBAAgB,GAAGH,MAAM,CAACI,IAAP,EAAnB;AACD;;AAzBP;AAAA,sDA4BkCF,mBA5BlC;;AAAA;AAAA;AA4BaI,YAAAA,IA5Bb,yBA4BaA,IA5Bb;AA4BmBC,YAAAA,KA5BnB,yBA4BmBA,KA5BnB;;AAAA,iBA8BUD,IA9BV;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAkCM,mBAAM,gCAAcC,KAAd,CAAN;;AAlCN;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAuCIP,YAAAA,MAAM,CAACQ,WAAP;;AAvCJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,G;;;;SAgDgBT,sB;;;;;wFAAhB,kBACEJ,MADF,EAEEC,OAFF;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qDAM4BD,MAN5B;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAMmBc,YAAAA,KANnB;AAAA;AAOI,mBAAM,gCAAcA,KAAd,CAAN;;AAPJ;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,G","sourcesContent":["import type {Readable} from 'stream';\nimport {isBrowser, toArrayBuffer} from '@loaders.gl/loader-utils';\n\nexport type StreamIteratorOptions = {\n _streamReadAhead?: boolean;\n};\n\n/**\n * Returns an async iterable that reads from a stream (works in both Node.js and browsers)\n * @param stream stream to iterator over\n */\nexport function makeStreamIterator(\n stream: ReadableStream | Readable,\n options?: StreamIteratorOptions\n): AsyncIterable<ArrayBuffer> {\n return isBrowser\n ? makeBrowserStreamIterator(stream as ReadableStream, options)\n : makeNodeStreamIterator(stream as Readable, options);\n}\n\n/**\n * Returns an async iterable that reads from a DOM (browser) stream\n * @param stream stream to iterate from\n * @see https://jakearchibald.com/2017/async-iterators-and-generators/#making-streams-iterate\n */\nasync function* makeBrowserStreamIterator(\n stream: ReadableStream,\n options?: StreamIteratorOptions\n): AsyncIterable<ArrayBuffer> {\n // WhatWG: stream is supposed to have a `getIterator` method\n // if (typeof stream.getIterator === 'function') {\n // return stream.getIterator();\n // }\n // if (typeof stream[Symbol.asyncIterator] === 'function') {\n // return makeToArrayBufferIterator(stream);\n // }\n\n // In the browser, we first need to get a lock on the stream\n const reader = stream.getReader();\n\n let nextBatchPromise: Promise<{done?: boolean; value?: Uint8Array}> | undefined;\n\n try {\n // eslint-disable-next-line no-constant-condition\n while (true) {\n const currentBatchPromise = nextBatchPromise || reader.read();\n // Issue a read for an additional batch, while we await the next batch\n // Idea is to make fetching happen in parallel with processing / parsing\n if (options?._streamReadAhead) {\n nextBatchPromise = reader.read();\n }\n // Read from the stream\n // value is a Uint8Array\n const {done, value} = await currentBatchPromise;\n // Exit if we're done\n if (done) {\n return;\n }\n // Else yield the chunk\n yield toArrayBuffer(value);\n }\n } catch (error) {\n // TODO - examples makes it look like this should always be called,\n // but that generates exceptions so only call it if we do not reach the end\n reader.releaseLock();\n }\n}\n\n/**\n * Returns an async iterable that reads from a DOM (browser) stream\n * @param stream stream to iterate from\n * @note Requires Node.js >= 10\n */\nasync function* makeNodeStreamIterator(\n stream: Readable,\n options?: StreamIteratorOptions\n): AsyncIterable<ArrayBuffer> {\n // Hacky test for node version to ensure we don't call bad polyfills\n // NODE 10+: stream is an asyncIterator\n for await (const chunk of stream) {\n yield toArrayBuffer(chunk); // Coerce each chunk to ArrayBuffer\n }\n}\n/* TODO - remove NODE < 10\n * @see https://github.com/bustle/streaming-iterables, MIT license\n *\n if (typeof stream[Symbol.asyncIterator] === 'function') {\n return;\n }\n\n // TODO - check if is this ever used in Node 10+?\n // eslint-disable-next-line no-constant-condition\n while (true) {\n const data = stream.read();\n if (data !== null) {\n yield toArrayBuffer(data);\n // eslint-disable-next-line no-continue\n continue;\n }\n if (stream._readableState?.ended) {\n return;\n }\n await onceReadable(stream);\n }\n\nasync function onceReadable(stream: Readable): Promise<any> {\n return new Promise((resolve) => {\n stream.once('readable', resolve);\n });\n}\n */\n"],"file":"make-stream-iterator.js"}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports.makeStringIterator = makeStringIterator;
|
|
9
|
-
|
|
10
|
-
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
|
-
|
|
12
|
-
var _marked = _regenerator.default.mark(makeStringIterator);
|
|
13
|
-
|
|
14
|
-
var DEFAULT_CHUNK_SIZE = 256 * 1024;
|
|
15
|
-
|
|
16
|
-
function makeStringIterator(string, options) {
|
|
17
|
-
var chunkSize, offset, textEncoder, chunkLength, chunk;
|
|
18
|
-
return _regenerator.default.wrap(function makeStringIterator$(_context) {
|
|
19
|
-
while (1) {
|
|
20
|
-
switch (_context.prev = _context.next) {
|
|
21
|
-
case 0:
|
|
22
|
-
chunkSize = (options === null || options === void 0 ? void 0 : options.chunkSize) || DEFAULT_CHUNK_SIZE;
|
|
23
|
-
offset = 0;
|
|
24
|
-
textEncoder = new TextEncoder();
|
|
25
|
-
|
|
26
|
-
case 3:
|
|
27
|
-
if (!(offset < string.length)) {
|
|
28
|
-
_context.next = 11;
|
|
29
|
-
break;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
chunkLength = Math.min(string.length - offset, chunkSize);
|
|
33
|
-
chunk = string.slice(offset, offset + chunkLength);
|
|
34
|
-
offset += chunkLength;
|
|
35
|
-
_context.next = 9;
|
|
36
|
-
return textEncoder.encode(chunk);
|
|
37
|
-
|
|
38
|
-
case 9:
|
|
39
|
-
_context.next = 3;
|
|
40
|
-
break;
|
|
41
|
-
|
|
42
|
-
case 11:
|
|
43
|
-
case "end":
|
|
44
|
-
return _context.stop();
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
}, _marked);
|
|
48
|
-
}
|
|
49
|
-
//# sourceMappingURL=make-string-iterator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
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,86 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports.makeStream = makeStream;
|
|
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
|
-
|
|
20
|
-
function makeStream(source, options) {
|
|
21
|
-
var iterator = source[Symbol.asyncIterator] ? source[Symbol.asyncIterator]() : source[Symbol.iterator]();
|
|
22
|
-
return new ReadableStream({
|
|
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;
|
|
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
|
-
}))();
|
|
62
|
-
},
|
|
63
|
-
cancel: function cancel() {
|
|
64
|
-
return (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee2() {
|
|
65
|
-
var _iterator$return;
|
|
66
|
-
|
|
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);
|
|
73
|
-
|
|
74
|
-
case 2:
|
|
75
|
-
case "end":
|
|
76
|
-
return _context2.stop();
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
}, _callee2);
|
|
80
|
-
}))();
|
|
81
|
-
}
|
|
82
|
-
}, _objectSpread({
|
|
83
|
-
highWaterMark: Math.pow(2, 24)
|
|
84
|
-
}, options));
|
|
85
|
-
}
|
|
86
|
-
//# sourceMappingURL=make-dom-stream.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/iterators/make-stream/make-dom-stream.ts"],"names":["makeStream","source","options","iterator","Symbol","asyncIterator","ReadableStream","type","pull","controller","next","done","value","close","enqueue","Uint8Array","error","cancel","return","highWaterMark"],"mappings":";;;;;;;;;;;;;;;;;;;AAaO,SAASA,UAAT,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 MakeStreamOptions = {\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/**\n * Builds a DOM stream from an iterator\n * This stream is currently used in browsers only,\n * but note that Web stream support is present in Node from Node 16\n * https://nodejs.org/api/webstreams.html#webstreams_web_streams_api\n */\nexport function makeStream<ArrayBuffer>(\n source: Iterable<ArrayBuffer> | AsyncIterable<ArrayBuffer>,\n options?: MakeStreamOptions\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,217 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports.makeStream = makeStream;
|
|
9
|
-
|
|
10
|
-
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
|
-
|
|
12
|
-
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
13
|
-
|
|
14
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
15
|
-
|
|
16
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
17
|
-
|
|
18
|
-
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
19
|
-
|
|
20
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
21
|
-
|
|
22
|
-
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
23
|
-
|
|
24
|
-
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
25
|
-
|
|
26
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
27
|
-
|
|
28
|
-
var _stream = require("stream");
|
|
29
|
-
|
|
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); }; }
|
|
31
|
-
|
|
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; } }
|
|
33
|
-
|
|
34
|
-
function makeStream(source, options) {
|
|
35
|
-
var iterator = source[Symbol.asyncIterator] ? source[Symbol.asyncIterator]() : source[Symbol.iterator]();
|
|
36
|
-
return new AsyncIterableReadable(iterator, options);
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
var AsyncIterableReadable = function (_Readable) {
|
|
40
|
-
(0, _inherits2.default)(AsyncIterableReadable, _Readable);
|
|
41
|
-
|
|
42
|
-
var _super = _createSuper(AsyncIterableReadable);
|
|
43
|
-
|
|
44
|
-
function AsyncIterableReadable(it, options) {
|
|
45
|
-
var _this;
|
|
46
|
-
|
|
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;
|
|
56
|
-
}
|
|
57
|
-
|
|
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
|
-
}(_stream.Readable);
|
|
217
|
-
//# sourceMappingURL=make-node-stream.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/iterators/make-stream/make-node-stream.ts"],"names":["makeStream","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","Readable"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;AAKO,SAASA,UAAT,CACLC,MADK,EAELC,OAFK,EAGK;AACV,MAAMC,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;;IAEKI,qB;;;;;AAKJ,iCAAYC,EAAZ,EAA4CL,OAA5C,EAAuE;AAAA;;AAAA;AACrE,8BAAMA,OAAN;AADqE;AAAA;AAAA;AAErE,UAAKM,SAAL,GAAiBD,EAAjB;AACA,UAAKE,QAAL,GAAgB,KAAhB;AACA,UAAKC,UAAL,GAAkB,CAACR,OAAD,IAAY,CAACA,OAAO,CAACS,UAAvC;AAJqE;AAKtE;;;;;6EAED,iBAAYC,IAAZ;AAAA;AAAA;AAAA;AAAA;AAAA,oBACO,KAAKH,QADZ;AAAA;AAAA;AAAA;;AAEI,qBAAKA,QAAL,GAAgB,IAAhB;AAFJ;AAAA,uBAG0B,KAAKI,KAAL,CAAWD,IAAX,EAAiB,KAAKJ,SAAtB,CAH1B;;AAAA;AAGI,qBAAKC,QAHT;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;gFAOA,kBAAeK,KAAf,EAAoCC,EAApC;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA,oBACO,KAAKP,SADZ;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA,qBAIMM,KAJN;AAAA;AAAA;AAAA;;AAAA;AAAA,0CAKU,KAAKN,SALf,6EAKU,gBAAgBQ,KAL1B,0DAKU,4CAAwBF,KAAxB,CALV;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA,2CAOU,KAAKN,SAPf,8EAOU,iBAAgBS,MAP1B,0DAOU,6CAAyBH,KAAzB,CAPV;;AAAA;AASEC,gBAAAA,EAAE,SAAF,IAAAA,EAAE,WAAF,YAAAA,EAAE,CAAG,IAAH,CAAF;;AATF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;6EAaA,kBAAoBH,IAApB,EAAkCL,EAAlC;AAAA;;AAAA;;AAAA;AAAA;AAAA;AAAA;AACQW,gBAAAA,EADR,GACa,KAAKR,UADlB;AAEMS,gBAAAA,CAFN,GAE8C,IAF9C;;AAAA;AAAA,+BAIS,KAAKC,QAJd;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA,uBAIsCb,EAAE,CAACc,IAAH,EAJtC;;AAAA;AAAA,iCAI4BF,CAJ5B,mBAIiDG,IAJjD;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAKI,oBAAIV,IAAI,KAAK,IAAb,EAAmB;AACjBA,kBAAAA,IAAI,IAAIM,EAAE,IAAIK,WAAW,CAACC,MAAZ,CAAmBL,CAAC,CAACM,KAArB,CAAN,GAAoCN,CAAC,CAACM,KAAF,CAAQC,UAA5C,GAAyD,CAAjE;AACD;;AAPL,sBAQQ,CAAC,KAAKC,IAAL,CAAU,IAAIC,UAAJ,CAAeT,CAAC,CAACM,KAAjB,CAAV,CAAD,IAAuCb,IAAI,IAAI,CARvD;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAYE,oBAAI,CAAC,MAAAO,CAAC,UAAD,wBAAGG,IAAH,IAAW,CAAC,KAAKF,QAAlB,MAAgC,KAAKO,IAAL,CAAU,IAAV,KAAmB,IAAnD,CAAJ,EAA8D;AAC5DpB,kBAAAA,EAAE,SAAF,IAAAA,EAAE,WAAF,0BAAAA,EAAE,CAAEU,MAAJ,+DAAAV,EAAE;AACH;;AAdH,kDAeS,CAAC,KAAKa,QAff;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;EAhCkCS,gB","sourcesContent":["import {Readable, ReadableOptions} from 'stream';\n\nexport type MakeStreamOptions = ReadableOptions;\n\n/** Builds a node stream from an iterator */\nexport function makeStream<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"],"file":"make-node-stream.js"}
|