writsy
v1.0.8
Published
Write stream wrapper that supports async initialization and flush function
Downloads
55
Readme
writsy
Write stream wrapper that supports async initialization and flush function.
npm install writsyvar ws = writsy([opts])
var ws = writsy.obj([opts])
Wraps a new writable stream (or object stream) by passing init callback function.
Supports optional flush function that is called before 'finish' emitted.
var writsy = require('writsy')
...
var ws = writsy({
init (cb) {
// async initialization, error handling
mkdirp('/tmp/foo/', (err) => {
if (err) return cb(err)
cb(null, fs.createWriteStream('/tmp/foo/bar.txt'))
})
},
flush (cb) {
// flush before finish
fs.rename('/tmp/foo/bar.txt', './dest.txt', cb)
}
})
fs.createReadStream('loremipsum.txt').pipe(ws)Or class inheritance by setting _init and _flush methods:
var Writsy = require('writsy')
class Writer extends Writsy {
constructor (opts) {
super(opts)
}
_init (cb) {
// async initialization, error handling
mkdirp('/tmp/foo/', (err) => {
if (err) return cb(err)
cb(null, fs.createWriteStream('/tmp/foo/bar.txt'))
})
}
_flush (cb) {
// flush before finish
fs.rename('/tmp/foo/bar.txt', './dest.txt', cb)
}
}
fs.createReadStream('loremipsum.txt').pipe(new Writer())License
MIT
