| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 | 
							- # flush-write-stream
 
- A write stream constructor that supports a flush function that is called before `finish` is emitted
 
- ```
 
- npm install flush-write-stream
 
- ```
 
- [](http://travis-ci.org/mafintosh/flush-write-stream)
 
- ## Usage
 
- ``` js
 
- 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
 
 
  |