$
This commit is contained in:
47
node_modules/minipass-flush/README.md
generated
vendored
Normal file
47
node_modules/minipass-flush/README.md
generated
vendored
Normal file
@@ -0,0 +1,47 @@
|
||||
# minipass-flush
|
||||
|
||||
A Minipass stream that calls a flush function before emitting 'end'
|
||||
|
||||
## USAGE
|
||||
|
||||
```js
|
||||
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.
|
Reference in New Issue
Block a user