node package manager

Introducing npm Enterprise add-ons. Integrate third-party dev tools into npm…


block stream data on criteria


Filter your streams.

streamPolice(validateFunction[, streamOptions]) -> DuplexStream

  • For every chunk of data written to DuplexStream, 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 DuplexStream
var police = require('stream-police')
var stream = police(isNaN)
stream.write('5') // stream emits nothing 
stream.write('!') // stream emits '!' 


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'}