@naturalcycles/nodejs-lib
Version:
Standard library for Node.js
34 lines (33 loc) • 1.04 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.readableForEachSync = exports.readableForEach = void 0;
const js_lib_1 = require("@naturalcycles/js-lib");
const index_1 = require("../../index");
const transformMap_1 = require("../transform/transformMap");
/**
* Convenience function to do `.forEach` over a Readable.
* Typed! (unlike default Readable).
*
* @experimental
*/
async function readableForEach(readable, mapper, opt = {}) {
await (0, index_1._pipeline)([
readable,
(0, transformMap_1.transformMap)(mapper, { ...opt, predicate: js_lib_1._passNothingPredicate }),
]);
}
exports.readableForEach = readableForEach;
/**
* Convenience function to do `.forEach` over a Readable.
* Typed! (unlike default Readable).
*
* @experimental
*/
async function readableForEachSync(readable, mapper) {
// async iteration
let index = 0;
for await (const item of readable) {
mapper(item, index++);
}
}
exports.readableForEachSync = readableForEachSync;