陈鹏铭 93064e9f91 首次提交 11 months ago
..
.travis.yml 93064e9f91 首次提交 11 months ago
LICENSE 93064e9f91 首次提交 11 months ago
README.md 93064e9f91 首次提交 11 months ago
example.js 93064e9f91 首次提交 11 months ago
index.js 93064e9f91 首次提交 11 months ago
package.json 93064e9f91 首次提交 11 months ago
test.js 93064e9f91 首次提交 11 months ago

README.md

flush-write-stream

A write stream constructor that supports a flush function that is called before finish is emitted

npm install flush-write-stream

build status

Usage

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

API

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.

License

MIT