Use boolean expressions/functions to conditionally attach a stream as a detour or an alternative destination stream.
This module is inspired by gulp-if. The difference is that this module is not created for gulp.
Following the above diagram, if bool is unsatisfied, then data from stream A will pass through to Stream D.
Otherwise, data will pipe to Stream B whenever bool is satisfied.
If branch is true, then data will not be piped back to Stream D. This is useful when emulating if/else with streams.
detour-stream
is a function that creates a writable stream: https://nodejs.org/api/stream.html#stream_readable_pipe_destination_options
The writable stream is created via through2 v0.x.y
: https://github.com/rvagg/through2
var detour = require('detour-stream');
stream = fs
.createReadStream(filepath)
.pipe(detour(someBoolean, decodeStream(someOptions))) // just pipe it
.pipe(writeStream);
detour
will pipe data to stream appropriately whenever bool
is satisfied.
Type: boolean
, or function
If a function is given, then the function is passed a data chunk. The function should return a boolean
.
Stream for detour-stream to pipe data into whenever bool satisfies.
Type: boolean
Default: false
branch
controls the flow behavior of whether detour-stream should pipe stream
back to the main stream (i.e. detour stream).
If true
, then gulp-if will not pipe stream
back to the main stream. This emulates if/else stream flow.
MIT.