Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mafintosh/flush-write-stream
A write stream constructor that supports a flush function that is called before finish is emitted
https://github.com/mafintosh/flush-write-stream
Last synced: 1 day ago
JSON representation
A write stream constructor that supports a flush function that is called before finish is emitted
- Host: GitHub
- URL: https://github.com/mafintosh/flush-write-stream
- Owner: mafintosh
- License: mit
- Created: 2015-11-06T21:55:19.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2024-06-14T07:50:13.000Z (8 months ago)
- Last Synced: 2025-01-19T16:08:22.432Z (9 days ago)
- Language: JavaScript
- Size: 9.77 KB
- Stars: 33
- Watchers: 5
- Forks: 10
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Security: SECURITY.md
Awesome Lists containing this project
- awesome-nodejs - flush-write-stream - A write stream constructor that supports a flush function that is called before finish is emitted. (Repository / Streams)
- awesome-nodejs-streams - mafintosh/flush-write-stream - A write stream constructor that supports a flush function that is called before finish is emitted (Modules)
README
# 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](http://img.shields.io/travis/mafintosh/flush-write-stream.svg?style=flat)](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