Open
Description
Talking with @trevnorris, it sounds like it would be useful to allow a stream to be removed from a pipeline as an optimization.
For example, if a.pipeThrough(b).pipeTo(c)
, remove b
at some point so a
goes straight to c
.
This optimization is particularly useful if a
and c
are native C++ implementations and removing b
means its not necessary to execute javascript any more.
Potential APIs for this would be b.collapse()
or perhaps b
could return a special value from its write or read methods signalling it should be removed from the pipe chain.