github.com/noqcks/syft@v0.0.0-20230920222752-a9e2c4e288e5/test/integration/test-fixtures/npm-lock/node_modules/pump/README.md (about)

     1  # pump
     2  
     3  pump is a small node module that pipes streams together and destroys all of them if one of them closes.
     4  
     5  ```
     6  npm install pump
     7  ```
     8  
     9  [![build status](http://img.shields.io/travis/mafintosh/pump.svg?style=flat)](http://travis-ci.org/mafintosh/pump)
    10  
    11  ## What problem does it solve?
    12  
    13  When using standard `source.pipe(dest)` source will _not_ be destroyed if dest emits close or an error.
    14  You are also not able to provide a callback to tell when then pipe has finished.
    15  
    16  pump does these two things for you
    17  
    18  ## Usage
    19  
    20  Simply pass the streams you want to pipe together to pump and add an optional callback
    21  
    22  ``` js
    23  var pump = require('pump')
    24  var fs = require('fs')
    25  
    26  var source = fs.createReadStream('/dev/random')
    27  var dest = fs.createWriteStream('/dev/null')
    28  
    29  pump(source, dest, function(err) {
    30    console.log('pipe finished', err)
    31  })
    32  
    33  setTimeout(function() {
    34    dest.destroy() // when dest is closed pump will destroy source
    35  }, 1000)
    36  ```
    37  
    38  You can use pump to pipe more than two streams together as well
    39  
    40  ``` js
    41  var transform = someTransformStream()
    42  
    43  pump(source, transform, anotherTransform, dest, function(err) {
    44    console.log('pipe finished', err)
    45  })
    46  ```
    47  
    48  If `source`, `transform`, `anotherTransform` or `dest` closes all of them will be destroyed.
    49  
    50  Similarly to `stream.pipe()`, `pump()` returns the last stream passed in, so you can do:
    51  
    52  ```
    53  return pump(s1, s2) // returns s2
    54  ```
    55  
    56  If you want to return a stream that combines *both* s1 and s2 to a single stream use
    57  [pumpify](https://github.com/mafintosh/pumpify) instead.
    58  
    59  ## License
    60  
    61  MIT
    62  
    63  ## Related
    64  
    65  `pump` is part of the [mississippi stream utility collection](https://github.com/maxogden/mississippi) which includes more useful stream modules similar to this one.