forked from lix-project/lix-website
25 lines
702 B
JavaScript
25 lines
702 B
JavaScript
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 buffer = Buffer.from(''),
|
|
bufferStream = Stream.Transform()
|
|
.on('finish',function() {
|
|
resolve(buffer);
|
|
})
|
|
.on('error',reject);
|
|
|
|
bufferStream._transform = function(d,e,cb) {
|
|
buffer = Buffer.concat([buffer,d]);
|
|
cb();
|
|
};
|
|
entry.on('error',reject)
|
|
.pipe(bufferStream);
|
|
});
|
|
}; |