An easy way to create a readable Stream.
from takes a getChunk function and returns a stream.
getChunk is called again and again, after each time the user calls next(),
until the user emits 'end'
if pause() is called, the getChunk won't be called again untill resume() is called.
var from = require('from')
var stream =
from(function getChunk(count, next) {
//do some sort of data
this.emit('data', whatever)
if(itsOver)
this.emit('end')
//ready to handle the next chunk
next()
//or, if it's sync:
return true
})
from also takes an Array whose elements it emits one after another.
MIT / Apache2