Model/packages/字体精简工具/node_modules/pump
2024-08-28 11:12:05 +08:00
..
.travis.yml 模板更新,更新了埋点上传失败3次上传,5秒10秒15秒,更新了更改分享链接和分享内容,增加了scode 2024-08-28 11:12:05 +08:00
index.js 模板更新,更新了埋点上传失败3次上传,5秒10秒15秒,更新了更改分享链接和分享内容,增加了scode 2024-08-28 11:12:05 +08:00
LICENSE 模板更新,更新了埋点上传失败3次上传,5秒10秒15秒,更新了更改分享链接和分享内容,增加了scode 2024-08-28 11:12:05 +08:00
package.json 模板更新,更新了埋点上传失败3次上传,5秒10秒15秒,更新了更改分享链接和分享内容,增加了scode 2024-08-28 11:12:05 +08:00
README.md 模板更新,更新了埋点上传失败3次上传,5秒10秒15秒,更新了更改分享链接和分享内容,增加了scode 2024-08-28 11:12:05 +08:00
test-browser.js 模板更新,更新了埋点上传失败3次上传,5秒10秒15秒,更新了更改分享链接和分享内容,增加了scode 2024-08-28 11:12:05 +08:00
test-node.js 模板更新,更新了埋点上传失败3次上传,5秒10秒15秒,更新了更改分享链接和分享内容,增加了scode 2024-08-28 11:12:05 +08:00

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.

License

MIT

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