You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
25 lines
669 B
25 lines
669 B
var Promise = require('bluebird');
|
|
var Stream = require('stream');
|
|
var Buffer = require('./Buffer');
|
|
|
|
// Backwards compatibility for node versions < 8
|
|
if (!Stream.Writable || !Stream.Writable.prototype.destroy)
|
|
Stream = require('readable-stream');
|
|
|
|
module.exports = function(entry) {
|
|
return new Promise(function(resolve,reject) {
|
|
var chunks = [];
|
|
var 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);
|
|
});
|
|
};
|
|
|