Uniformly pick a random value from a stream
Switch branches/tags
Nothing to show
Clone or download
Cannot retrieve the latest commit at this time.
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.gitignore
.travis.yml
LICENSE
README.md
index.js
package.json

README.md

pick-random-stream

Uniformly pick a random value from a stream

npm install pick-random-stream

build status

Usage

var random = require('pick-random-stream')

someStream.pipe(random()).on('data', function (data) {
  console.log('current random element is', data)
})

The random value will be chosen with propability 1/n where n is the total number of elements in the stream

For example to pick a random node module on npm you can do

var JSONStream = require('JSONStream')
var request = require('request')
var random = require('pick-random-stream')

request('http://node-modules.com/modules.json')
  .pipe(JSONStream.parse('*'))
  .pipe(random())
  .on('data', function (module) {
    console.log('current random module is', module)
  })

License

MIT