OverviewFilesCommitsIssuesDocsReleasesPeers

mirall-cli / node_modules / unzipper / lib / BufferStream.js

20 lines · javascript ref:
const Stream = require('stream');

module.exports = function(entry) {
  return new Promise(function(resolve, reject) {
    const chunks = [];
    const bufferStream = Stream.Transform()
      .on('finish', function() {
        resolve(Buffer.concat(chunks));
      })
      .on('error', reject);

    bufferStream._transform = function(d, e, cb) {
      chunks.push(d);
      cb();
    };
    entry.on('error', reject)
      .pipe(bufferStream);
  });
};