{"_id":"minipass-flush","_rev":"4250245","name":"minipass-flush","description":"A Minipass stream that calls a flush function before emitting 'end'","dist-tags":{"latest":"2.0.0","v1-legacy":"1.0.7"},"maintainers":[{"name":"isaacs","email":""}],"time":{"modified":"2026-03-29T21:56:46.000Z","created":"2019-09-15T23:29:09.908Z","1.0.7":"2026-03-26T15:59:51.301Z","2.0.0":"2026-03-25T19:35:59.606Z","1.0.6":"2026-03-25T16:55:51.372Z","1.0.5":"2019-09-30T20:54:48.902Z","1.0.4":"2019-09-18T16:08:24.970Z","1.0.3":"2019-09-17T01:25:55.922Z","1.0.2":"2019-09-16T22:20:38.803Z","1.0.1":"2019-09-15T23:33:13.881Z","1.0.0":"2019-09-15T23:29:09.908Z"},"users":{},"author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"https://izs.me"},"repository":{"type":"git","url":"git+https://github.com/isaacs/minipass-flush.git"},"versions":{"1.0.7":{"name":"minipass-flush","version":"1.0.7","publishConfig":{"tag":"v1-legacy"},"description":"A Minipass stream that calls a flush function before emitting 'end'","author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"https://izs.me"},"license":"BlueOak-1.0.0","scripts":{"test":"tap","snap":"tap","preversion":"npm test","postversion":"npm publish","postpublish":"git push origin --follow-tags"},"tap":{"check-coverage":true},"devDependencies":{"tap":"^15.1.6"},"dependencies":{"minipass":"^3.0.0"},"main":"index.js","repository":{"type":"git","url":"git+https://github.com/isaacs/minipass-flush.git"},"keywords":["minipass","flush","stream"],"engines":{"node":">= 8"},"readmeFilename":"README.md","gitHead":"82ef1410575a50835e7dae4e8c9e9a0f214eeaa1","_id":"minipass-flush@1.0.7","bugs":{"url":"https://github.com/isaacs/minipass-flush/issues"},"homepage":"https://github.com/isaacs/minipass-flush#readme","_nodeVersion":"25.8.2","_npmVersion":"11.11.1","dist":{"shasum":"145c383d5ae294b36030aa80d4e872d08bebcb73","size":2191,"noattachment":false,"key":"/minipass-flush/-/minipass-flush-1.0.7.tgz","tarball":"http://registry.cnpm.dingdandao.com/minipass-flush/download/minipass-flush-1.0.7.tgz"},"_npmUser":{"name":"isaacs","email":"i@izs.me"},"directories":{},"maintainers":[{"name":"isaacs","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/minipass-flush_1.0.7_1774540791173_0.7205683408064274"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-03-26T15:59:51.301Z","publish_time":1774540791301,"_source_registry_name":"default","_cnpm_publish_time":1774540791301},"2.0.0":{"name":"minipass-flush","version":"2.0.0","description":"A Minipass stream that calls a flush function before emitting 'end'","author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"https://izs.me"},"license":"BlueOak-1.0.0","scripts":{"test":"tap","snap":"tap","preversion":"npm test","postversion":"npm publish","postpublish":"git push origin --follow-tags","prepare":"tshy","typedoc":"typedoc","prepublishOnly":"git push origin --follow-tags","pretest":"npm run prepare","presnap":"npm run prepare","lint":"oxlint --fix src test","format":"prettier --write .","postsnap":"npm run lint","postlint":"npm run format"},"devDependencies":{"@types/node":"^25.5.0","oxlint":"^1.57.0","oxlint-tsgolint":"^0.17.4","prettier":"^3.8.1","tap":"^21.6.2","tshy":"^4.0.0","typedoc":"^0.28.18"},"dependencies":{"minipass":"^7.1.3"},"main":"./dist/commonjs/index.js","repository":{"type":"git","url":"git+https://github.com/isaacs/minipass-flush.git"},"keywords":["minipass","flush","stream"],"engines":{"node":">=16 || 14 >=14.17"},"type":"module","tshy":{"selfLink":false,"compiler":"tsgo","exports":{"./package.json":"./package.json",".":"./src/index.ts"}},"exports":{"./package.json":"./package.json",".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/commonjs/index.d.ts","default":"./dist/commonjs/index.js"}}},"types":"./dist/commonjs/index.d.ts","module":"./dist/esm/index.js","gitHead":"6b4984986f6f115224419aaf6bdb0bb459d32077","_id":"minipass-flush@2.0.0","bugs":{"url":"https://github.com/isaacs/minipass-flush/issues"},"homepage":"https://github.com/isaacs/minipass-flush#readme","_nodeVersion":"25.8.2","_npmVersion":"11.11.1","dist":{"shasum":"8c7148ff179add01261cc866e90ecfd27771d7f8","size":2098,"noattachment":false,"key":"/minipass-flush/-/minipass-flush-2.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/minipass-flush/download/minipass-flush-2.0.0.tgz"},"_npmUser":{"name":"isaacs","email":"i@izs.me"},"directories":{},"maintainers":[{"name":"isaacs","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/minipass-flush_2.0.0_1774467359466_0.172369624692168"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-03-25T19:35:59.606Z","publish_time":1774467359606,"_source_registry_name":"default","_cnpm_publish_time":1774467359606},"1.0.6":{"name":"minipass-flush","version":"1.0.6","description":"A Minipass stream that calls a flush function before emitting 'end'","author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"https://izs.me"},"license":"BlueOak-1.0.0","scripts":{"test":"tap","snap":"tap","preversion":"npm test","postversion":"npm publish","postpublish":"git push origin --follow-tags"},"tap":{"check-coverage":true},"devDependencies":{"tap":"^15.1.6"},"dependencies":{"minipass":"^7.1.3"},"main":"index.js","repository":{"type":"git","url":"git+https://github.com/isaacs/minipass-flush.git"},"keywords":["minipass","flush","stream"],"engines":{"node":">=16 || 14 >=14.17"},"gitHead":"9c019e3b9e760e21106a7c675f8c3a3c2f0028ed","_id":"minipass-flush@1.0.6","bugs":{"url":"https://github.com/isaacs/minipass-flush/issues"},"homepage":"https://github.com/isaacs/minipass-flush#readme","_nodeVersion":"25.6.1","_npmVersion":"11.10.0","dist":{"shasum":"a3f43e5d588f3bd5f1585cc68504a5f05ebd77a8","size":2186,"noattachment":false,"key":"/minipass-flush/-/minipass-flush-1.0.6.tgz","tarball":"http://registry.cnpm.dingdandao.com/minipass-flush/download/minipass-flush-1.0.6.tgz"},"_npmUser":{"name":"isaacs","email":"i@izs.me"},"directories":{},"maintainers":[{"name":"isaacs","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/minipass-flush_1.0.6_1774457751211_0.07615172143821947"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-03-25T16:55:51.372Z","publish_time":1774457751372,"_source_registry_name":"default","_cnpm_publish_time":1774457751372},"1.0.5":{"name":"minipass-flush","version":"1.0.5","description":"A Minipass stream that calls a flush function before emitting 'end'","author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"https://izs.me"},"license":"ISC","scripts":{"test":"tap","snap":"tap","preversion":"npm test","postversion":"npm publish","postpublish":"git push origin --follow-tags"},"tap":{"check-coverage":true},"devDependencies":{"tap":"^14.6.9"},"dependencies":{"minipass":"^3.0.0"},"main":"index.js","repository":{"type":"git","url":"git+https://github.com/isaacs/minipass-flush.git"},"keywords":["minipass","flush","stream"],"engines":{"node":">= 8"},"gitHead":"9625266c18ca9d14bb13f85dfcdf8cb67763b14e","bugs":{"url":"https://github.com/isaacs/minipass-flush/issues"},"homepage":"https://github.com/isaacs/minipass-flush#readme","_id":"minipass-flush@1.0.5","_nodeVersion":"12.8.1","_npmVersion":"6.12.0-next.0","dist":{"shasum":"82e7135d7e89a50ffe64610a787953c4c4cbb373","size":1972,"noattachment":false,"key":"/minipass-flush/-/minipass-flush-1.0.5.tgz","tarball":"http://registry.cnpm.dingdandao.com/minipass-flush/download/minipass-flush-1.0.5.tgz"},"maintainers":[{"name":"isaacs","email":""}],"_npmUser":{"name":"isaacs","email":"i@izs.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/minipass-flush_1.0.5_1569876888688_0.9645134726115252"},"_hasShrinkwrap":false,"publish_time":1569876888902,"_cnpm_publish_time":1569876888902},"1.0.4":{"name":"minipass-flush","version":"1.0.4","description":"A Minipass stream that calls a flush function before emitting 'end'","author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"https://izs.me"},"license":"ISC","scripts":{"test":"tap","snap":"tap","preversion":"npm test","postversion":"npm publish","postpublish":"git push origin --follow-tags"},"tap":{"check-coverage":true},"devDependencies":{"tap":"^14.6.4"},"dependencies":{"minipass":"^2.6.2"},"main":"index.js","repository":{"type":"git","url":"git+https://github.com/isaacs/minipass-flush.git"},"keywords":["minipass","flush","stream"],"gitHead":"280c5c62a489e130a82b38353608522b5468f759","bugs":{"url":"https://github.com/isaacs/minipass-flush/issues"},"homepage":"https://github.com/isaacs/minipass-flush#readme","_id":"minipass-flush@1.0.4","_nodeVersion":"12.8.1","_npmVersion":"6.11.3","dist":{"shasum":"e43261649da7ff9b9db529edc635b8f835411759","size":1953,"noattachment":false,"key":"/minipass-flush/-/minipass-flush-1.0.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/minipass-flush/download/minipass-flush-1.0.4.tgz"},"maintainers":[{"name":"isaacs","email":""}],"_npmUser":{"name":"isaacs","email":"i@izs.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/minipass-flush_1.0.4_1568822904729_0.3900350616791064"},"_hasShrinkwrap":false,"publish_time":1568822904970,"_cnpm_publish_time":1568822904970},"1.0.3":{"name":"minipass-flush","version":"1.0.3","description":"A Minipass stream that calls a flush function before emitting 'end'","author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"https://izs.me"},"license":"ISC","scripts":{"test":"tap","snap":"tap","preversion":"npm test","postversion":"npm publish","postpublish":"git push origin --follow-tags"},"tap":{"check-coverage":true},"devDependencies":{"tap":"^14.6.4"},"dependencies":{"minipass":"^2.6.2"},"gitHead":"cb96dd6cfb8603a7d843a8693bc2fd65ae67054d","_id":"minipass-flush@1.0.3","_nodeVersion":"12.8.1","_npmVersion":"6.11.3","dist":{"shasum":"3089d92b79ab157f7a39b63bc20826bc7d5bab2c","size":1885,"noattachment":false,"key":"/minipass-flush/-/minipass-flush-1.0.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/minipass-flush/download/minipass-flush-1.0.3.tgz"},"maintainers":[{"name":"isaacs","email":""}],"_npmUser":{"name":"isaacs","email":"i@izs.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/minipass-flush_1.0.3_1568683555793_0.23236597573625106"},"_hasShrinkwrap":false,"publish_time":1568683555922,"_cnpm_publish_time":1568683555922},"1.0.2":{"name":"minipass-flush","version":"1.0.2","description":"A Minipass stream that calls a flush function before emitting 'end'","author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"https://izs.me"},"license":"ISC","scripts":{"test":"tap","snap":"tap","preversion":"npm test","postversion":"npm publish","postpublish":"git push origin --follow-tags"},"tap":{"check-coverage":true},"devDependencies":{"tap":"^14.6.4"},"dependencies":{"minipass":"^2.6.2"},"gitHead":"1fc00e064c1e43f1508141a2d3e7979fb057855f","_id":"minipass-flush@1.0.2","_nodeVersion":"12.8.1","_npmVersion":"6.11.3","dist":{"shasum":"9160f1b98124c151f7b3565a493660ed7c1868e6","size":1879,"noattachment":false,"key":"/minipass-flush/-/minipass-flush-1.0.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/minipass-flush/download/minipass-flush-1.0.2.tgz"},"maintainers":[{"name":"isaacs","email":""}],"_npmUser":{"name":"isaacs","email":"i@izs.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/minipass-flush_1.0.2_1568672438692_0.1324160550195963"},"_hasShrinkwrap":false,"publish_time":1568672438803,"_cnpm_publish_time":1568672438803},"1.0.1":{"name":"minipass-flush","version":"1.0.1","description":"A Minipass stream that calls a flush function before emitting 'end'","author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"https://izs.me"},"license":"ISC","scripts":{"test":"tap","snap":"tap","preversion":"npm test","postversion":"npm publish","postpublish":"git push origin --follow-tags"},"tap":{"check-coverage":true},"devDependencies":{"tap":"^14.6.4"},"dependencies":{"minipass":"^2.5.1"},"gitHead":"d6128f8833ced17233628bdbc597031ffc1a6f99","_id":"minipass-flush@1.0.1","_nodeVersion":"12.8.1","_npmVersion":"6.11.3","dist":{"shasum":"5137a873b2c60b9eb52cf1d630fa22d98c040064","size":1832,"noattachment":false,"key":"/minipass-flush/-/minipass-flush-1.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/minipass-flush/download/minipass-flush-1.0.1.tgz"},"maintainers":[{"name":"isaacs","email":""}],"_npmUser":{"name":"isaacs","email":"i@izs.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/minipass-flush_1.0.1_1568590393736_0.9540662901907238"},"_hasShrinkwrap":false,"publish_time":1568590393881,"_cnpm_publish_time":1568590393881},"1.0.0":{"name":"minipass-flush","version":"1.0.0","description":"A Minipass stream that calls a flush function before emitting 'end'","author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"https://izs.me"},"license":"ISC","scripts":{"test":"tap","snap":"tap","preversion":"npm test","postversion":"npm publish","postpublish":"git push origin --follow-tags"},"tap":{"check-coverage":true},"devDependencies":{"tap":"^14.6.4"},"dependencies":{"minipass":"^2.5.1"},"gitHead":"4c21526d3ace110d0f934e92d20ecc900496e259","_id":"minipass-flush@1.0.0","_nodeVersion":"12.8.1","_npmVersion":"6.11.3","dist":{"shasum":"b5cfb95600f009a2c62f03fc769f59e0ea1d38ff","size":1830,"noattachment":false,"key":"/minipass-flush/-/minipass-flush-1.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/minipass-flush/download/minipass-flush-1.0.0.tgz"},"maintainers":[{"name":"isaacs","email":""}],"_npmUser":{"name":"isaacs","email":"i@izs.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/minipass-flush_1.0.0_1568590149766_0.8079714738932278"},"_hasShrinkwrap":false,"publish_time":1568590149908,"_cnpm_publish_time":1568590149908}},"readme":"# minipass-flush\n\nA Minipass stream that calls a flush function before emitting\n'end'.\n\n## USAGE\n\n```ts\nimport { Flush } from 'minipass-flush'\nconst f = new Flush<Buffer>({\n  flush(cb) {\n    // call the cb when done, or return a promise\n    // the 'end' event will wait for it, along with\n    // close, finish, and prefinish.\n    // call the cb with an error, or return a rejecting\n    // promise to emit 'error' instead of doing the 'end'\n    return rerouteAllEncryptions().then(() => clearAllChannels())\n  },\n  // all other minipass options accepted as well\n})\n\nsomeDataSource.pipe(f).on('end', () => {\n  // proper flushing has been accomplished\n})\n\n// Or as a subclass implementing a 'flush' method:\nclass MyFlush extends Flush {\n  flush(cb) {\n    // old fashioned callback style!\n    rerouteAllEncryptions(er => {\n      if (er) return cb(er)\n      clearAllChannels(er => {\n        if (er) cb(er)\n        cb()\n      })\n    })\n  }\n}\n```\n\nThat's about it.\n\nIf your `flush` method doesn't have to do anything asynchronous,\nthen it's better to call the callback right away in this tick,\nrather than returning `Promise.resolve()`, so that the `end`\nevent can happen as soon as possible.\n","_attachments":{},"homepage":"https://github.com/isaacs/minipass-flush#readme","bugs":{"url":"https://github.com/isaacs/minipass-flush/issues"},"license":"BlueOak-1.0.0"}