• Login
    • Report A Bug
    • System Information
    • System Tests
    • System Policies
    • Code Documentation
    • Occam Source Code
    • Web Client Source Code
    • About Occam
    • Acknowledgements
    • Guides / Documentation
    • Publications

translation missing: en.flash.saving
translation missing: en.flash.error
  • Bibliography Data
  • Metadata
resource
  • git
    https://github.com/mafintosh/pump.git Source Repository
    QmR2HYwJua42xTnDuoLTUokezi5N5HUdw4UwAL7pu7HvAX
    b05d1838cc3be47f7c3cd9020c73f6ebbafd3aa0
      QmR2HYwJua42xTnDuoLTUokezi5N5HUdw4UwAL7pu7HvAX
      b05d1838cc3be47f7c3cd9020c73f6ebbafd3aa0

      • Details
      • Files
      • History
        • Source

          https://github.com/mafintosh/pump.git

          pump

          pump is a small node module that pipes streams together and destroys all of them if one of them closes.

          npm install pump
          

          build status

          What problem does it solve?

          When using standard source.pipe(dest) source will not be destroyed if dest emits close or an error. You are also not able to provide a callback to tell when then pipe has finished.

          pump does these two things for you

          Usage

          Simply pass the streams you want to pipe together to pump and add an optional callback

          var pump = require('pump')
          var fs = require('fs')
          
          var source = fs.createReadStream('/dev/random')
          var dest = fs.createWriteStream('/dev/null')
          
          pump(source, dest, function(err) {
            console.log('pipe finished', err)
          })
          
          setTimeout(function() {
            dest.destroy() // when dest is closed pump will destroy source
          }, 1000)
          

          You can use pump to pipe more than two streams together as well

          var transform = someTransformStream()
          
          pump(source, transform, anotherTransform, dest, function(err) {
            console.log('pipe finished', err)
          })
          

          If source, transform, anotherTransform or dest closes all of them will be destroyed.

          Similarly to stream.pipe(), pump() returns the last stream passed in, so you can do:

          return pump(s1, s2) // returns s2
          

          If you want to return a stream that combines both s1 and s2 to a single stream use pumpify instead.

          License

          MIT

          Related

          pump is part of the mississippi stream utility collection which includes more useful stream modules similar to this one.

          Related

          • maintainer

            npm

          Share

          • URL

            Copy
          • Embed Link

            Copy
          • QR Code

        • JavaScript must be enabled.

          There was an error retrieving this content.

          The content could not be found.

        • JavaScript must be enabled.

          There was an error retrieving this content.

          The content could not be found.

        Confirm
        Do you wish to proceed?

        Confirm message?