minipass-flush
A Minipass stream that calls a flush function before emitting 'end'
Last updated 5 years ago by isaacs .
ISC · Repository · Bugs · Original npm · Tarball · package.json
$ gnpm install minipass-flush 
SYNC missed versions from official npm registry.

minipass-flush

A Minipass stream that calls a flush function before emitting 'end'

USAGE

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.

Current Tags

  • 1.0.5                                ...           latest (5 years ago)

6 Versions

  • 1.0.5                                ...           5 years ago
  • 1.0.4                                ...           5 years ago
  • 1.0.3                                ...           5 years ago
  • 1.0.2                                ...           5 years ago
  • 1.0.1                                ...           5 years ago
  • 1.0.0                                ...           5 years ago
Maintainers (1)
Downloads
Today 0
This Week 0
This Month 18
Last Day 0
Last Week 0
Last Month 0
Dependencies (1)
Dev Dependencies (1)
Dependents (2)

Copyright 2013 - present © cnpmjs.org | Home |