Transform sync, async or generator function to Stream. Correctly handle errors and optional arguments.
Install
npm i callback2stream --save
Usage
For more use-cases see the tests
const callback2stream = require('callback2stream')
Create a stream from sync, async or generator function.
Params
Example
var fs = require('fs')
var cb2stream = require('callback2stream')
var readFileStream = cb2stream(fs.readFile)
var stream = readFileStream('package.json', 'utf8')
stream
.on('data', function (val) {
var json = JSON.parse(val)
console.log(json.name)
})
.once('error', console.error)
.once('end', function () {
console.log('reading finished')
})
stream.promise
.then(JSON.parse, console.error)
.then(function (val) {
console.log(val.name)
}, console.error)
.catch(console.error)
Contributing
Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.
But before doing anything, please read the CONTRIBUTING.md guidelines.