Filter your streams.
streamPolice(validateFunction[, streamOptions]) -> DuplexStream
- For every chunk of data written to
DuplexStream
, it will be passed tovalidateFunction
which is expected to return a boolean value indicating whether the value should be emitted or not. streamOptions
is an optional argument that will be passed to instantiateDuplexStream
var police = require('stream-police')
var stream = police(isNaN)
stream.write('5') // stream emits nothing
stream.write('!') // stream emits '!'
or:
var police = require('stream-police')
var stream = police(hasCat, {objectMode: true})
function hasCat (obj) {
return obj.hasOwnProperty('cat')
}
stream.write({dog: 'woof'}) // stream emits nothing
stream.write({cat: 'meow'}) // stream emits {cat: 'meow'}
MIT