1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | exports.readableFromArray = void 0;
|
4 | const node_stream_1 = require("node:stream");
|
5 | const js_lib_1 = require("@naturalcycles/js-lib");
|
6 |
|
7 |
|
8 |
|
9 |
|
10 |
|
11 |
|
12 | function readableFromArray(items, mapper = js_lib_1._passthroughMapper, opt) {
|
13 | let i = -1;
|
14 | return new node_stream_1.Readable({
|
15 | objectMode: true,
|
16 | ...opt,
|
17 | async read() {
|
18 | i++;
|
19 | if (i < items.length) {
|
20 | try {
|
21 | this.push(await mapper(items[i], i));
|
22 | }
|
23 | catch (err) {
|
24 | console.error(err);
|
25 | this.destroy(err);
|
26 | }
|
27 | }
|
28 | else {
|
29 | this.push(null);
|
30 | }
|
31 | },
|
32 | });
|
33 | }
|
34 | exports.readableFromArray = readableFromArray;
|