minipass-flush
Advanced tools
Weekly downloads
Readme
A Minipass stream that calls a flush function before emitting 'end'
const Flush = require('minipass-flush')
cons f = new Flush({
flush (cb) {
// call the cb when done, or return a promise
// the 'end' event will wait for it, along with
// close, finish, and prefinish.
// call the cb with an error, or return a rejecting
// promise to emit 'error' instead of doing the 'end'
return rerouteAllEncryptions().then(() => clearAllChannels())
},
// all other minipass options accepted as well
})
someDataSource.pipe(f).on('end', () => {
// proper flushing has been accomplished
})
// Or as a subclass implementing a 'flush' method:
class MyFlush extends Flush {
flush (cb) {
// old fashioned callback style!
rerouteAllEncryptions(er => {
if (er)
return cb(er)
clearAllChannels(er => {
if (er)
cb(er)
cb()
})
})
}
}
That's about it.
If your flush
method doesn't have to do anything asynchronous, then it's
better to call the callback right away in this tick, rather than returning
Promise.resolve()
, so that the end
event can happen as soon as
possible.
FAQs
A Minipass stream that calls a flush function before emitting 'end'
The npm package minipass-flush receives a total of 12,113,373 weekly downloads. As such, minipass-flush popularity was classified as popular.
We found that minipass-flush demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket installs a GitHub app to automatically flag issues on every pull request and report the health of your dependencies. Find out what is inside your node modules and prevent malicious activity before you update the dependencies.