@thi.ng/rstream
Version:
Reactive streams & subscription primitives for constructing dataflow graphs / pipelines
15 lines (14 loc) • 562 B
JavaScript
import { rechunk } from "@thi.ng/transducers/rechunk";
import { stream } from "./stream.js";
const fromNodeJS = (stdout, stderr, close = true, ingest = stream()) => {
stdout.on("data", (data) => ingest.next(data));
if (stderr && ingest.error)
stderr.on("data", (data) => ingest.error(data));
if (close && ingest.done) stdout.on("close", () => ingest.done());
return ingest;
};
const linesFromNodeJS = (stdout, stderr, re, close, ingest) => fromNodeJS(stdout, stderr, close, ingest).transform(rechunk(re));
export {
fromNodeJS,
linesFromNodeJS
};