UNPKG

classy-pay-core

Version:

Shared tools used in ClassyPay-related projects

42 lines 1.35 kB
"use strict"; // tslint:disable no-console Object.defineProperty(exports, "__esModule", { value: true }); exports.writableStream = exports.readableStream = exports.parallelTransform = void 0; const ParallelTransform = require("parallel-transform"); const stream = require("stream"); const utils_1 = require("./utils"); const parallelTransform = (concurrency, handler) => new ParallelTransform(concurrency, { objectMode: true, }, async (data, callback) => { (0, utils_1.unpromisify)(async () => await handler(data), callback); }); exports.parallelTransform = parallelTransform; const readableStream = (handler) => new stream.Readable({ objectMode: true, async read() { let value; try { value = await handler(); } catch (error) { console.error(`Error reading from stream: ${error}`); } if (value) { this.push(value); } else { this.destroy(); } }, }); exports.readableStream = readableStream; const writableStream = (handler) => new stream.Writable({ objectMode: true, async write(chunk, encoding, callback) { (0, utils_1.unpromisify)(async () => { await handler(chunk); }, callback); }, }); exports.writableStream = writableStream; //# sourceMappingURL=PipeHelpers.js.map