@loaders.gl/loader-utils 3.4.14 → 3.4.15
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/es5/index.js +50 -51
- package/dist/es5/index.js.map +1 -1
- package/dist/es5/json-loader.js +5 -24
- package/dist/es5/json-loader.js.map +1 -1
- package/dist/es5/lib/binary-utils/array-buffer-utils.js +18 -37
- package/dist/es5/lib/binary-utils/array-buffer-utils.js.map +1 -1
- package/dist/es5/lib/binary-utils/dataview-copy-utils.js +14 -14
- package/dist/es5/lib/binary-utils/dataview-copy-utils.js.map +1 -1
- package/dist/es5/lib/binary-utils/get-first-characters.js +5 -5
- package/dist/es5/lib/binary-utils/get-first-characters.js.map +1 -1
- package/dist/es5/lib/binary-utils/memory-conversion-utils.js +6 -9
- package/dist/es5/lib/binary-utils/memory-conversion-utils.js.map +1 -1
- package/dist/es5/lib/binary-utils/memory-copy-utils.js +6 -6
- package/dist/es5/lib/binary-utils/memory-copy-utils.js.map +1 -1
- package/dist/es5/lib/env-utils/globals.js +9 -11
- package/dist/es5/lib/env-utils/globals.js.map +1 -1
- package/dist/es5/lib/filesystems/node-filesystem.js +51 -199
- package/dist/es5/lib/filesystems/node-filesystem.js.map +1 -1
- package/dist/es5/lib/filesystems/readable-file.js +9 -74
- package/dist/es5/lib/filesystems/readable-file.js.map +1 -1
- package/dist/es5/lib/filesystems/writable-file.js +11 -65
- package/dist/es5/lib/filesystems/writable-file.js.map +1 -1
- package/dist/es5/lib/iterators/async-iteration.js +27 -177
- package/dist/es5/lib/iterators/async-iteration.js.map +1 -1
- package/dist/es5/lib/iterators/text-iterators.js +44 -293
- package/dist/es5/lib/iterators/text-iterators.js.map +1 -1
- package/dist/es5/lib/node/buffer.js +1 -1
- package/dist/es5/lib/node/buffer.js.map +1 -1
- package/dist/es5/lib/node/fs.browser.js +13 -13
- package/dist/es5/lib/node/fs.browser.js.map +1 -1
- package/dist/es5/lib/node/fs.js +21 -49
- package/dist/es5/lib/node/fs.js.map +1 -1
- package/dist/es5/lib/node/promisify.js +3 -21
- package/dist/es5/lib/node/promisify.js.map +1 -1
- package/dist/es5/lib/node/stream.browser.js +2 -2
- package/dist/es5/lib/node/stream.browser.js.map +1 -1
- package/dist/es5/lib/node/stream.js +2 -2
- package/dist/es5/lib/node/stream.js.map +1 -1
- package/dist/es5/lib/option-utils/merge-loader-options.js +5 -12
- package/dist/es5/lib/option-utils/merge-loader-options.js.map +1 -1
- package/dist/es5/lib/path-utils/file-aliases.js +4 -4
- package/dist/es5/lib/path-utils/file-aliases.js.map +1 -1
- package/dist/es5/lib/path-utils/get-cwd.js +1 -1
- package/dist/es5/lib/path-utils/get-cwd.js.map +1 -1
- package/dist/es5/lib/path-utils/path.js +22 -22
- package/dist/es5/lib/path-utils/path.js.map +1 -1
- package/dist/es5/lib/request-utils/request-scheduler.js +88 -110
- package/dist/es5/lib/request-utils/request-scheduler.js.map +1 -1
- package/dist/es5/lib/worker-loader-utils/create-loader-worker.js +64 -105
- package/dist/es5/lib/worker-loader-utils/create-loader-worker.js.map +1 -1
- package/dist/es5/lib/worker-loader-utils/parse-with-worker.js +48 -94
- package/dist/es5/lib/worker-loader-utils/parse-with-worker.js.map +1 -1
- package/dist/esm/json-loader.js +1 -1
- package/package.json +4 -4
|
@@ -1,90 +1,25 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
3
|
Object.defineProperty(exports, "__esModule", {
|
|
5
4
|
value: true
|
|
6
5
|
});
|
|
7
6
|
exports.makeReadableFile = makeReadableFile;
|
|
8
|
-
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
9
|
-
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
10
7
|
function makeReadableFile(data) {
|
|
11
8
|
if (data instanceof ArrayBuffer) {
|
|
12
|
-
|
|
9
|
+
const arrayBuffer = data;
|
|
13
10
|
return {
|
|
14
|
-
read:
|
|
15
|
-
|
|
16
|
-
return _regenerator.default.wrap(function _callee$(_context) {
|
|
17
|
-
while (1) switch (_context.prev = _context.next) {
|
|
18
|
-
case 0:
|
|
19
|
-
return _context.abrupt("return", Buffer.from(data, start, length));
|
|
20
|
-
case 1:
|
|
21
|
-
case "end":
|
|
22
|
-
return _context.stop();
|
|
23
|
-
}
|
|
24
|
-
}, _callee);
|
|
25
|
-
}));
|
|
26
|
-
function read(_x, _x2) {
|
|
27
|
-
return _read.apply(this, arguments);
|
|
28
|
-
}
|
|
29
|
-
return read;
|
|
30
|
-
}(),
|
|
31
|
-
close: function () {
|
|
32
|
-
var _close = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee2() {
|
|
33
|
-
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
34
|
-
while (1) switch (_context2.prev = _context2.next) {
|
|
35
|
-
case 0:
|
|
36
|
-
case "end":
|
|
37
|
-
return _context2.stop();
|
|
38
|
-
}
|
|
39
|
-
}, _callee2);
|
|
40
|
-
}));
|
|
41
|
-
function close() {
|
|
42
|
-
return _close.apply(this, arguments);
|
|
43
|
-
}
|
|
44
|
-
return close;
|
|
45
|
-
}(),
|
|
11
|
+
read: async (start, length) => Buffer.from(data, start, length),
|
|
12
|
+
close: async () => {},
|
|
46
13
|
size: arrayBuffer.byteLength
|
|
47
14
|
};
|
|
48
15
|
}
|
|
49
|
-
|
|
16
|
+
const blob = data;
|
|
50
17
|
return {
|
|
51
|
-
read:
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
case 0:
|
|
57
|
-
_context3.next = 2;
|
|
58
|
-
return blob.slice(start, start + length).arrayBuffer();
|
|
59
|
-
case 2:
|
|
60
|
-
arrayBuffer = _context3.sent;
|
|
61
|
-
return _context3.abrupt("return", Buffer.from(arrayBuffer));
|
|
62
|
-
case 4:
|
|
63
|
-
case "end":
|
|
64
|
-
return _context3.stop();
|
|
65
|
-
}
|
|
66
|
-
}, _callee3);
|
|
67
|
-
}));
|
|
68
|
-
function read(_x3, _x4) {
|
|
69
|
-
return _read2.apply(this, arguments);
|
|
70
|
-
}
|
|
71
|
-
return read;
|
|
72
|
-
}(),
|
|
73
|
-
close: function () {
|
|
74
|
-
var _close2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee4() {
|
|
75
|
-
return _regenerator.default.wrap(function _callee4$(_context4) {
|
|
76
|
-
while (1) switch (_context4.prev = _context4.next) {
|
|
77
|
-
case 0:
|
|
78
|
-
case "end":
|
|
79
|
-
return _context4.stop();
|
|
80
|
-
}
|
|
81
|
-
}, _callee4);
|
|
82
|
-
}));
|
|
83
|
-
function close() {
|
|
84
|
-
return _close2.apply(this, arguments);
|
|
85
|
-
}
|
|
86
|
-
return close;
|
|
87
|
-
}(),
|
|
18
|
+
read: async (start, length) => {
|
|
19
|
+
const arrayBuffer = await blob.slice(start, start + length).arrayBuffer();
|
|
20
|
+
return Buffer.from(arrayBuffer);
|
|
21
|
+
},
|
|
22
|
+
close: async () => {},
|
|
88
23
|
size: blob.size
|
|
89
24
|
};
|
|
90
25
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"readable-file.js","names":["makeReadableFile","data","ArrayBuffer","arrayBuffer","read","
|
|
1
|
+
{"version":3,"file":"readable-file.js","names":["makeReadableFile","data","ArrayBuffer","arrayBuffer","read","start","length","Buffer","from","close","size","byteLength","blob","slice"],"sources":["../../../../src/lib/filesystems/readable-file.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nexport type ReadableFile = {\n read: (position: number, length: number) => Promise<Buffer>;\n close: () => Promise<void>;\n /** Length of file in bytes */\n size: number;\n};\n\n/** Helper function to create an envelope reader for a binary memory input */\nexport function makeReadableFile(data: Blob | ArrayBuffer): ReadableFile {\n if (data instanceof ArrayBuffer) {\n const arrayBuffer: ArrayBuffer = data;\n return {\n read: async (start: number, length: number) => Buffer.from(data, start, length),\n close: async () => {},\n size: arrayBuffer.byteLength\n };\n }\n\n const blob: Blob = data;\n return {\n read: async (start: number, length: number) => {\n const arrayBuffer = await blob.slice(start, start + length).arrayBuffer();\n return Buffer.from(arrayBuffer);\n },\n close: async () => {},\n size: blob.size\n };\n}\n"],"mappings":";;;;;;AAUO,SAASA,gBAAgBA,CAACC,IAAwB,EAAgB;EACvE,IAAIA,IAAI,YAAYC,WAAW,EAAE;IAC/B,MAAMC,WAAwB,GAAGF,IAAI;IACrC,OAAO;MACLG,IAAI,EAAE,MAAAA,CAAOC,KAAa,EAAEC,MAAc,KAAKC,MAAM,CAACC,IAAI,CAACP,IAAI,EAAEI,KAAK,EAAEC,MAAM,CAAC;MAC/EG,KAAK,EAAE,MAAAA,CAAA,KAAY,CAAC,CAAC;MACrBC,IAAI,EAAEP,WAAW,CAACQ;IACpB,CAAC;EACH;EAEA,MAAMC,IAAU,GAAGX,IAAI;EACvB,OAAO;IACLG,IAAI,EAAE,MAAAA,CAAOC,KAAa,EAAEC,MAAc,KAAK;MAC7C,MAAMH,WAAW,GAAG,MAAMS,IAAI,CAACC,KAAK,CAACR,KAAK,EAAEA,KAAK,GAAGC,MAAM,CAAC,CAACH,WAAW,CAAC,CAAC;MACzE,OAAOI,MAAM,CAACC,IAAI,CAACL,WAAW,CAAC;IACjC,CAAC;IACDM,KAAK,EAAE,MAAAA,CAAA,KAAY,CAAC,CAAC;IACrBC,IAAI,EAAEE,IAAI,CAACF;EACb,CAAC;AACH"}
|
|
@@ -1,82 +1,28 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
3
|
Object.defineProperty(exports, "__esModule", {
|
|
6
4
|
value: true
|
|
7
5
|
});
|
|
8
6
|
exports.makeWritableFile = makeWritableFile;
|
|
9
|
-
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
10
|
-
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
11
7
|
var _globals = require("../env-utils/globals");
|
|
12
8
|
var fs = _interopRequireWildcard(require("../node/fs"));
|
|
13
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function
|
|
14
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null ||
|
|
9
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
10
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
15
11
|
function makeWritableFile(pathOrStream, options) {
|
|
16
12
|
if (_globals.isBrowser) {
|
|
17
13
|
return {
|
|
18
|
-
write:
|
|
19
|
-
|
|
20
|
-
return _regenerator.default.wrap(function _callee$(_context) {
|
|
21
|
-
while (1) switch (_context.prev = _context.next) {
|
|
22
|
-
case 0:
|
|
23
|
-
case "end":
|
|
24
|
-
return _context.stop();
|
|
25
|
-
}
|
|
26
|
-
}, _callee);
|
|
27
|
-
}));
|
|
28
|
-
function write() {
|
|
29
|
-
return _write.apply(this, arguments);
|
|
30
|
-
}
|
|
31
|
-
return write;
|
|
32
|
-
}(),
|
|
33
|
-
close: function () {
|
|
34
|
-
var _close = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee2() {
|
|
35
|
-
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
36
|
-
while (1) switch (_context2.prev = _context2.next) {
|
|
37
|
-
case 0:
|
|
38
|
-
case "end":
|
|
39
|
-
return _context2.stop();
|
|
40
|
-
}
|
|
41
|
-
}, _callee2);
|
|
42
|
-
}));
|
|
43
|
-
function close() {
|
|
44
|
-
return _close.apply(this, arguments);
|
|
45
|
-
}
|
|
46
|
-
return close;
|
|
47
|
-
}()
|
|
14
|
+
write: async () => {},
|
|
15
|
+
close: async () => {}
|
|
48
16
|
};
|
|
49
17
|
}
|
|
50
|
-
|
|
18
|
+
const outputStream = typeof pathOrStream === 'string' ? fs.createWriteStream(pathOrStream, options) : pathOrStream;
|
|
51
19
|
return {
|
|
52
|
-
write:
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
outputStream.write(buffer, function (err) {
|
|
59
|
-
return err ? reject(err) : resolve();
|
|
60
|
-
});
|
|
61
|
-
}));
|
|
62
|
-
case 1:
|
|
63
|
-
case "end":
|
|
64
|
-
return _context3.stop();
|
|
65
|
-
}
|
|
66
|
-
}, _callee3);
|
|
67
|
-
}));
|
|
68
|
-
function write(_x) {
|
|
69
|
-
return _write2.apply(this, arguments);
|
|
70
|
-
}
|
|
71
|
-
return write;
|
|
72
|
-
}(),
|
|
73
|
-
close: function close() {
|
|
74
|
-
return new Promise(function (resolve, reject) {
|
|
75
|
-
outputStream.close(function (err) {
|
|
76
|
-
return err ? reject(err) : resolve();
|
|
77
|
-
});
|
|
78
|
-
});
|
|
79
|
-
}
|
|
20
|
+
write: async buffer => new Promise((resolve, reject) => {
|
|
21
|
+
outputStream.write(buffer, err => err ? reject(err) : resolve());
|
|
22
|
+
}),
|
|
23
|
+
close: () => new Promise((resolve, reject) => {
|
|
24
|
+
outputStream.close(err => err ? reject(err) : resolve());
|
|
25
|
+
})
|
|
80
26
|
};
|
|
81
27
|
}
|
|
82
28
|
//# sourceMappingURL=writable-file.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"writable-file.js","names":["_globals","require","fs","_interopRequireWildcard","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","
|
|
1
|
+
{"version":3,"file":"writable-file.js","names":["_globals","require","fs","_interopRequireWildcard","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","makeWritableFile","pathOrStream","options","isBrowser","write","close","outputStream","createWriteStream","buffer","Promise","resolve","reject","err"],"sources":["../../../../src/lib/filesystems/writable-file.ts"],"sourcesContent":["// Forked from https://github.com/kbajalc/parquets under MIT license (Copyright (c) 2017 ironSource Ltd.)\nimport {isBrowser} from '../env-utils/globals';\nimport * as fs from '../node/fs';\nimport type {Writable} from 'stream';\n\nexport type WritableFile = {\n write: (buf: Buffer) => Promise<void>;\n close: () => Promise<void>;\n};\n\nexport interface WriteStreamOptions {\n flags?: string;\n encoding?: 'utf8';\n fd?: number;\n mode?: number;\n autoClose?: boolean;\n start?: number;\n}\n\n/** Helper function to create an envelope reader for a binary memory input */\nexport function makeWritableFile(\n pathOrStream: string | Writable,\n options?: WriteStreamOptions\n): WritableFile {\n if (isBrowser) {\n return {\n write: async () => {},\n close: async () => {}\n };\n }\n\n const outputStream: Writable =\n typeof pathOrStream === 'string' ? fs.createWriteStream(pathOrStream, options) : pathOrStream;\n return {\n write: async (buffer: Buffer) =>\n new Promise((resolve, reject) => {\n outputStream.write(buffer, (err) => (err ? reject(err) : resolve()));\n }),\n close: () =>\n new Promise((resolve, reject) => {\n (outputStream as any).close((err) => (err ? reject(err) : resolve()));\n })\n };\n}\n"],"mappings":";;;;;;AACA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,EAAA,GAAAC,uBAAA,CAAAF,OAAA;AAAiC,SAAAG,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAF,wBAAAM,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,CAAAJ,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAkB1B,SAASW,gBAAgBA,CAC9BC,YAA+B,EAC/BC,OAA4B,EACd;EACd,IAAIC,kBAAS,EAAE;IACb,OAAO;MACLC,KAAK,EAAE,MAAAA,CAAA,KAAY,CAAC,CAAC;MACrBC,KAAK,EAAE,MAAAA,CAAA,KAAY,CAAC;IACtB,CAAC;EACH;EAEA,MAAMC,YAAsB,GAC1B,OAAOL,YAAY,KAAK,QAAQ,GAAGzB,EAAE,CAAC+B,iBAAiB,CAACN,YAAY,EAAEC,OAAO,CAAC,GAAGD,YAAY;EAC/F,OAAO;IACLG,KAAK,EAAE,MAAOI,MAAc,IAC1B,IAAIC,OAAO,CAAC,CAACC,OAAO,EAAEC,MAAM,KAAK;MAC/BL,YAAY,CAACF,KAAK,CAACI,MAAM,EAAGI,GAAG,IAAMA,GAAG,GAAGD,MAAM,CAACC,GAAG,CAAC,GAAGF,OAAO,CAAC,CAAE,CAAC;IACtE,CAAC,CAAC;IACJL,KAAK,EAAEA,CAAA,KACL,IAAII,OAAO,CAAC,CAACC,OAAO,EAAEC,MAAM,KAAK;MAC9BL,YAAY,CAASD,KAAK,CAAEO,GAAG,IAAMA,GAAG,GAAGD,MAAM,CAACC,GAAG,CAAC,GAAGF,OAAO,CAAC,CAAE,CAAC;IACvE,CAAC;EACL,CAAC;AACH"}
|
|
@@ -1,190 +1,40 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
3
|
Object.defineProperty(exports, "__esModule", {
|
|
5
4
|
value: true
|
|
6
5
|
});
|
|
7
6
|
exports.concatenateArrayBuffersAsync = concatenateArrayBuffersAsync;
|
|
8
7
|
exports.concatenateStringsAsync = concatenateStringsAsync;
|
|
9
8
|
exports.forEach = forEach;
|
|
10
|
-
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
|
-
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
12
9
|
var _arrayBufferUtils = require("../binary-utils/array-buffer-utils");
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
10
|
+
async function forEach(iterator, visitor) {
|
|
11
|
+
while (true) {
|
|
12
|
+
const {
|
|
13
|
+
done,
|
|
14
|
+
value
|
|
15
|
+
} = await iterator.next();
|
|
16
|
+
if (done) {
|
|
17
|
+
iterator.return();
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
const cancel = visitor(value);
|
|
21
|
+
if (cancel) {
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
17
25
|
}
|
|
18
|
-
function
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
if (!true) {
|
|
25
|
-
_context.next = 14;
|
|
26
|
-
break;
|
|
27
|
-
}
|
|
28
|
-
_context.next = 3;
|
|
29
|
-
return iterator.next();
|
|
30
|
-
case 3:
|
|
31
|
-
_yield$iterator$next = _context.sent;
|
|
32
|
-
done = _yield$iterator$next.done;
|
|
33
|
-
value = _yield$iterator$next.value;
|
|
34
|
-
if (!done) {
|
|
35
|
-
_context.next = 9;
|
|
36
|
-
break;
|
|
37
|
-
}
|
|
38
|
-
iterator.return();
|
|
39
|
-
return _context.abrupt("return");
|
|
40
|
-
case 9:
|
|
41
|
-
cancel = visitor(value);
|
|
42
|
-
if (!cancel) {
|
|
43
|
-
_context.next = 12;
|
|
44
|
-
break;
|
|
45
|
-
}
|
|
46
|
-
return _context.abrupt("return");
|
|
47
|
-
case 12:
|
|
48
|
-
_context.next = 0;
|
|
49
|
-
break;
|
|
50
|
-
case 14:
|
|
51
|
-
case "end":
|
|
52
|
-
return _context.stop();
|
|
53
|
-
}
|
|
54
|
-
}, _callee);
|
|
55
|
-
}));
|
|
56
|
-
return _forEach.apply(this, arguments);
|
|
26
|
+
async function concatenateArrayBuffersAsync(asyncIterator) {
|
|
27
|
+
const arrayBuffers = [];
|
|
28
|
+
for await (const chunk of asyncIterator) {
|
|
29
|
+
arrayBuffers.push(chunk);
|
|
30
|
+
}
|
|
31
|
+
return (0, _arrayBufferUtils.concatenateArrayBuffers)(...arrayBuffers);
|
|
57
32
|
}
|
|
58
|
-
function
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
65
|
-
while (1) switch (_context2.prev = _context2.next) {
|
|
66
|
-
case 0:
|
|
67
|
-
arrayBuffers = [];
|
|
68
|
-
_iteratorAbruptCompletion = false;
|
|
69
|
-
_didIteratorError = false;
|
|
70
|
-
_context2.prev = 3;
|
|
71
|
-
_iterator = _asyncIterator(asyncIterator);
|
|
72
|
-
case 5:
|
|
73
|
-
_context2.next = 7;
|
|
74
|
-
return _iterator.next();
|
|
75
|
-
case 7:
|
|
76
|
-
if (!(_iteratorAbruptCompletion = !(_step = _context2.sent).done)) {
|
|
77
|
-
_context2.next = 13;
|
|
78
|
-
break;
|
|
79
|
-
}
|
|
80
|
-
chunk = _step.value;
|
|
81
|
-
arrayBuffers.push(chunk);
|
|
82
|
-
case 10:
|
|
83
|
-
_iteratorAbruptCompletion = false;
|
|
84
|
-
_context2.next = 5;
|
|
85
|
-
break;
|
|
86
|
-
case 13:
|
|
87
|
-
_context2.next = 19;
|
|
88
|
-
break;
|
|
89
|
-
case 15:
|
|
90
|
-
_context2.prev = 15;
|
|
91
|
-
_context2.t0 = _context2["catch"](3);
|
|
92
|
-
_didIteratorError = true;
|
|
93
|
-
_iteratorError = _context2.t0;
|
|
94
|
-
case 19:
|
|
95
|
-
_context2.prev = 19;
|
|
96
|
-
_context2.prev = 20;
|
|
97
|
-
if (!(_iteratorAbruptCompletion && _iterator.return != null)) {
|
|
98
|
-
_context2.next = 24;
|
|
99
|
-
break;
|
|
100
|
-
}
|
|
101
|
-
_context2.next = 24;
|
|
102
|
-
return _iterator.return();
|
|
103
|
-
case 24:
|
|
104
|
-
_context2.prev = 24;
|
|
105
|
-
if (!_didIteratorError) {
|
|
106
|
-
_context2.next = 27;
|
|
107
|
-
break;
|
|
108
|
-
}
|
|
109
|
-
throw _iteratorError;
|
|
110
|
-
case 27:
|
|
111
|
-
return _context2.finish(24);
|
|
112
|
-
case 28:
|
|
113
|
-
return _context2.finish(19);
|
|
114
|
-
case 29:
|
|
115
|
-
return _context2.abrupt("return", _arrayBufferUtils.concatenateArrayBuffers.apply(void 0, arrayBuffers));
|
|
116
|
-
case 30:
|
|
117
|
-
case "end":
|
|
118
|
-
return _context2.stop();
|
|
119
|
-
}
|
|
120
|
-
}, _callee2, null, [[3, 15, 19, 29], [20,, 24, 28]]);
|
|
121
|
-
}));
|
|
122
|
-
return _concatenateArrayBuffersAsync.apply(this, arguments);
|
|
123
|
-
}
|
|
124
|
-
function concatenateStringsAsync(_x4) {
|
|
125
|
-
return _concatenateStringsAsync.apply(this, arguments);
|
|
126
|
-
}
|
|
127
|
-
function _concatenateStringsAsync() {
|
|
128
|
-
_concatenateStringsAsync = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee3(asyncIterator) {
|
|
129
|
-
var strings, _iteratorAbruptCompletion2, _didIteratorError2, _iteratorError2, _iterator2, _step2, chunk;
|
|
130
|
-
return _regenerator.default.wrap(function _callee3$(_context3) {
|
|
131
|
-
while (1) switch (_context3.prev = _context3.next) {
|
|
132
|
-
case 0:
|
|
133
|
-
strings = [];
|
|
134
|
-
_iteratorAbruptCompletion2 = false;
|
|
135
|
-
_didIteratorError2 = false;
|
|
136
|
-
_context3.prev = 3;
|
|
137
|
-
_iterator2 = _asyncIterator(asyncIterator);
|
|
138
|
-
case 5:
|
|
139
|
-
_context3.next = 7;
|
|
140
|
-
return _iterator2.next();
|
|
141
|
-
case 7:
|
|
142
|
-
if (!(_iteratorAbruptCompletion2 = !(_step2 = _context3.sent).done)) {
|
|
143
|
-
_context3.next = 13;
|
|
144
|
-
break;
|
|
145
|
-
}
|
|
146
|
-
chunk = _step2.value;
|
|
147
|
-
strings.push(chunk);
|
|
148
|
-
case 10:
|
|
149
|
-
_iteratorAbruptCompletion2 = false;
|
|
150
|
-
_context3.next = 5;
|
|
151
|
-
break;
|
|
152
|
-
case 13:
|
|
153
|
-
_context3.next = 19;
|
|
154
|
-
break;
|
|
155
|
-
case 15:
|
|
156
|
-
_context3.prev = 15;
|
|
157
|
-
_context3.t0 = _context3["catch"](3);
|
|
158
|
-
_didIteratorError2 = true;
|
|
159
|
-
_iteratorError2 = _context3.t0;
|
|
160
|
-
case 19:
|
|
161
|
-
_context3.prev = 19;
|
|
162
|
-
_context3.prev = 20;
|
|
163
|
-
if (!(_iteratorAbruptCompletion2 && _iterator2.return != null)) {
|
|
164
|
-
_context3.next = 24;
|
|
165
|
-
break;
|
|
166
|
-
}
|
|
167
|
-
_context3.next = 24;
|
|
168
|
-
return _iterator2.return();
|
|
169
|
-
case 24:
|
|
170
|
-
_context3.prev = 24;
|
|
171
|
-
if (!_didIteratorError2) {
|
|
172
|
-
_context3.next = 27;
|
|
173
|
-
break;
|
|
174
|
-
}
|
|
175
|
-
throw _iteratorError2;
|
|
176
|
-
case 27:
|
|
177
|
-
return _context3.finish(24);
|
|
178
|
-
case 28:
|
|
179
|
-
return _context3.finish(19);
|
|
180
|
-
case 29:
|
|
181
|
-
return _context3.abrupt("return", strings.join(''));
|
|
182
|
-
case 30:
|
|
183
|
-
case "end":
|
|
184
|
-
return _context3.stop();
|
|
185
|
-
}
|
|
186
|
-
}, _callee3, null, [[3, 15, 19, 29], [20,, 24, 28]]);
|
|
187
|
-
}));
|
|
188
|
-
return _concatenateStringsAsync.apply(this, arguments);
|
|
33
|
+
async function concatenateStringsAsync(asyncIterator) {
|
|
34
|
+
const strings = [];
|
|
35
|
+
for await (const chunk of asyncIterator) {
|
|
36
|
+
strings.push(chunk);
|
|
37
|
+
}
|
|
38
|
+
return strings.join('');
|
|
189
39
|
}
|
|
190
40
|
//# sourceMappingURL=async-iteration.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"async-iteration.js","names":["_arrayBufferUtils","require","
|
|
1
|
+
{"version":3,"file":"async-iteration.js","names":["_arrayBufferUtils","require","forEach","iterator","visitor","done","value","next","return","cancel","concatenateArrayBuffersAsync","asyncIterator","arrayBuffers","chunk","push","concatenateArrayBuffers","concatenateStringsAsync","strings","join"],"sources":["../../../../src/lib/iterators/async-iteration.ts"],"sourcesContent":["import {concatenateArrayBuffers} from '../binary-utils/array-buffer-utils';\n\n// GENERAL UTILITIES\n\n/**\n * Iterate over async iterator, without resetting iterator if end is not reached\n * - forEach intentionally does not reset iterator if exiting loop prematurely\n * so that iteration can continue in a second loop\n * - It is recommended to use a standard for-await as last loop to ensure\n * iterator gets properly reset\n *\n * TODO - optimize using sync iteration if argument is an Iterable?\n *\n * @param iterator\n * @param visitor\n */\nexport async function forEach(iterator, visitor) {\n // eslint-disable-next-line\n while (true) {\n const {done, value} = await iterator.next();\n if (done) {\n iterator.return();\n return;\n }\n const cancel = visitor(value);\n if (cancel) {\n return;\n }\n }\n}\n\n// Breaking big data into iterable chunks, concatenating iterable chunks into big data objects\n\n/**\n * Concatenates all data chunks yielded by an (async) iterator\n * This function can e.g. be used to enable atomic parsers to work on (async) iterator inputs\n */\n\nexport async function concatenateArrayBuffersAsync(\n asyncIterator: AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>\n): Promise<ArrayBuffer> {\n const arrayBuffers: ArrayBuffer[] = [];\n for await (const chunk of asyncIterator) {\n arrayBuffers.push(chunk);\n }\n return concatenateArrayBuffers(...arrayBuffers);\n}\n\nexport async function concatenateStringsAsync(\n asyncIterator: AsyncIterable<string> | Iterable<string>\n): Promise<string> {\n const strings: string[] = [];\n for await (const chunk of asyncIterator) {\n strings.push(chunk);\n }\n return strings.join('');\n}\n"],"mappings":";;;;;;;;AAAA,IAAAA,iBAAA,GAAAC,OAAA;AAgBO,eAAeC,OAAOA,CAACC,QAAQ,EAAEC,OAAO,EAAE;EAE/C,OAAO,IAAI,EAAE;IACX,MAAM;MAACC,IAAI;MAAEC;IAAK,CAAC,GAAG,MAAMH,QAAQ,CAACI,IAAI,CAAC,CAAC;IAC3C,IAAIF,IAAI,EAAE;MACRF,QAAQ,CAACK,MAAM,CAAC,CAAC;MACjB;IACF;IACA,MAAMC,MAAM,GAAGL,OAAO,CAACE,KAAK,CAAC;IAC7B,IAAIG,MAAM,EAAE;MACV;IACF;EACF;AACF;AASO,eAAeC,4BAA4BA,CAChDC,aAAiE,EAC3C;EACtB,MAAMC,YAA2B,GAAG,EAAE;EACtC,WAAW,MAAMC,KAAK,IAAIF,aAAa,EAAE;IACvCC,YAAY,CAACE,IAAI,CAACD,KAAK,CAAC;EAC1B;EACA,OAAO,IAAAE,yCAAuB,EAAC,GAAGH,YAAY,CAAC;AACjD;AAEO,eAAeI,uBAAuBA,CAC3CL,aAAuD,EACtC;EACjB,MAAMM,OAAiB,GAAG,EAAE;EAC5B,WAAW,MAAMJ,KAAK,IAAIF,aAAa,EAAE;IACvCM,OAAO,CAACH,IAAI,CAACD,KAAK,CAAC;EACrB;EACA,OAAOI,OAAO,CAACC,IAAI,CAAC,EAAE,CAAC;AACzB"}
|