[ICO]NameLast modifiedSizeDescription
[PARENTDIR]Parent Directory  -  
[DIR]node_modules/2024-05-21 17:03 -  
[TXT]README.md2024-05-21 17:04 1.2K595aea1 more query options + view options [كارل مبارك]
[   ]index.js2024-05-21 17:04 1.0K 
[   ]package.json2024-05-21 17:04 799 afd0ccc remove unused [كارل مبارك]
[   ]LICENSE2024-05-21 17:04 765  
# 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.