%PDF- <> %âãÏÓ endobj 2 0 obj <> endobj 3 0 obj <>/ExtGState<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/Annots[ 28 0 R 29 0 R] /MediaBox[ 0 0 595.5 842.25] /Contents 4 0 R/Group<>/Tabs/S>> endobj ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<> endobj 2 0 obj<>endobj 2 0 obj<>es 3 0 R>> endobj 2 0 obj<> ox[ 0.000000 0.000000 609.600000 935.600000]/Fi endobj 3 0 obj<> endobj 7 1 obj<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Subtype/Form>> stream
# 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.