BufferStream.js 455 B

12345678910111213141516171819
  1. const Stream = require('stream');
  2. module.exports = function(entry) {
  3. return new Promise(function(resolve, reject) {
  4. const chunks = [];
  5. const bufferStream = Stream.Transform()
  6. .on('finish', function() {
  7. resolve(Buffer.concat(chunks));
  8. })
  9. .on('error', reject);
  10. bufferStream._transform = function(d, e, cb) {
  11. chunks.push(d);
  12. cb();
  13. };
  14. entry.on('error', reject)
  15. .pipe(bufferStream);
  16. });
  17. };