A write stream constructor that supports a flush function that is called before finish
is emitted
npm install flush-write-stream
var writer = require('flush-write-stream') var ws = writer(write, flush) ws.on('finish', function () { console.log('finished') }) ws.write('hello') ws.write('world') ws.end() function write (data, enc, cb) { // i am your normal ._write method console.log('writing', data.toString()) cb() } function flush (cb) { // i am called before finish is emitted setTimeout(cb, 1000) // wait 1 sec }
If you run the above it will produce the following output
writing hello writing world (nothing happens for 1 sec) finished
var ws = writer([options], write, [flush])
Create a new writable stream. Options are forwarded to the stream constructor.
var ws = writer.obj([options], write, [flush])
Same as the above except objectMode
is set to true
per default.
MIT