stream-police

block stream data on criteria

stream-police

filter your streams.

streamPolice(validateFunction[, streamOptions]) -> TransformStream

  • For every chunk of data written to TransformStream, it will be passed to validateFunction 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 instantiate TransformStream
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