UNPKG

nyks

Version:

nodejs exupery style

35 lines (22 loc) 647 B
"use strict"; // drain a stream, return the contents as a buffer function drain(stream) { if(stream.then) return stream.then(drain); return new Promise(function(resolve, reject) { var body = []; //if stream as already been drained (or is closed), returns a void buffer var state = stream._readableState; if(state && state.ended && !state.length) resolve(Buffer.concat(body)); stream.on('error', reject); stream.on('data', function(buf) { body.push(buf); }); stream.on('end', function() { resolve(Buffer.concat(body)); }); return stream; }); } module.exports = drain;