1 var PassThrough = require('stream').PassThrough;
2 var objectAssign = require('object-assign');
4 module.exports = function (opts) {
5 opts = objectAssign({}, opts);
7 var array = opts.array;
8 var encoding = opts.encoding;
10 var buffer = encoding === 'buffer';
11 var objectMode = false;
14 objectMode = !(encoding || buffer);
16 encoding = encoding || 'utf8';
26 var stream = new PassThrough({objectMode: objectMode});
29 stream.setEncoding(encoding);
32 stream.on('data', function (chunk) {
42 stream.getBufferedValue = function () {
46 return buffer ? Buffer.concat(ret, len) : ret.join('');
49 stream.getBufferedLength = function () {