12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- exports.array = toArray
- exports.buffer = toBuffer
- function toArray(stream, callback) {
- var arr = []
- stream.on('data', onData)
- stream.once('end', onEnd)
- stream.once('error', callback)
- stream.once('error', cleanup)
- stream.once('close', cleanup)
- function onData(doc) {
- arr.push(doc)
- }
- function onEnd() {
- callback(null, arr)
- cleanup()
- }
- function cleanup() {
- arr = null
- stream.removeListener('data', onData)
- stream.removeListener('end', onEnd)
- stream.removeListener('error', callback)
- stream.removeListener('error', cleanup)
- stream.removeListener('close', cleanup)
- }
- return stream
- }
- function toBuffer(stream, callback) {
- toArray(stream, function (err, arr) {
- if (err || !arr)
- callback(err)
- else
- callback(null, Buffer.concat(arr))
- })
- return stream
- }
|