UNPKG

1.03 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3exports.readableForEachSync = exports.readableForEach = void 0;
4const js_lib_1 = require("@naturalcycles/js-lib");
5const index_1 = require("../../index");
6const transformMap_1 = require("../transform/transformMap");
7/**
8 * Convenience function to do `.forEach` over a Readable.
9 * Typed! (unlike default Readable).
10 *
11 * @experimental
12 */
13async function readableForEach(readable, mapper, opt = {}) {
14 await index_1._pipeline([
15 readable,
16 transformMap_1.transformMap(mapper, { ...opt, predicate: js_lib_1._passNothingPredicate }),
17 ]);
18}
19exports.readableForEach = readableForEach;
20/**
21 * Convenience function to do `.forEach` over a Readable.
22 * Typed! (unlike default Readable).
23 *
24 * @experimental
25 */
26async function readableForEachSync(readable, mapper) {
27 // async iteration
28 let index = 0;
29 for await (const item of readable) {
30 mapper(item, index++);
31 }
32}
33exports.readableForEachSync = readableForEachSync;