| Current Path : /etc/kibana/node_modules/fast-stream-to-buffer/ |
| Current File : //etc/kibana/node_modules/fast-stream-to-buffer/index.js |
'use strict'
const eos = require('end-of-stream')
module.exports = streamToBuffer
streamToBuffer.onStream = onStream
function streamToBuffer (stream, cb) {
const buffers = []
stream.on('data', buffers.push.bind(buffers))
eos(stream, function (err) {
switch (buffers.length) {
case 0:
cb(err, Buffer.allocUnsafe(0), stream)
break
case 1:
cb(err, buffers[0], stream)
break
default:
cb(err, Buffer.concat(buffers), stream)
}
})
}
function onStream (cb) {
return function (stream) {
streamToBuffer(stream, cb)
}
}