stream-police

block stream data on criteria

Usage no npm install needed!

<script type="module">
  import streamPolice from 'https://cdn.skypack.dev/stream-police';
</script>

README

stream-police

Build Status npm install npm version js-standard-style License

Filter your streams.

usage

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

example

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

license

MIT