throughout
Apply a through stream to the output side of another through stream, preserving the first stream as input in the returned stream.
example
var through = ;var throughout = ;var doubler =;var counter =;processstdin;
rationale
If you want to transform just the output side of a through stream, this is actually somewhat difficult and it's not immediately obvious why something like:
var duplexer = ;{a;return ;}
shouldn't just work. The worst part is that it does work, until you try to pipe the results to a slow endpoint that will throttle with pause and resume.
The problem is that both duplexer
and .pipe()
will handle pause and resume
in a mutually exclusive way that will cause the stream to hang indefinitely if a
slow downstream consumer ever triggers a pause.
If you try to use event-stream's .pipeline() function you will get the same problem.
methods
var throughout = ;
var c = throughout(a, b)
Pipe the output of a through stream a
into the input of a through stream b
,
returning a new stream c
that writes its input to a
and forwards the output
from b
.
install
With npm do:
npm install throughout
license
MIT