28 lines
685 B
JavaScript
Executable File
28 lines
685 B
JavaScript
Executable File
'use strict';
|
|
|
|
var util = require('util');
|
|
var stream = require('stream');
|
|
|
|
module.exports.createReadStream = function (object, options) {
|
|
return new MultiStream (object, options);
|
|
};
|
|
|
|
var MultiStream = function (object, options) {
|
|
if (object instanceof Buffer || typeof object === 'string') {
|
|
options = options || {};
|
|
stream.Readable.call(this, {
|
|
highWaterMark: options.highWaterMark,
|
|
encoding: options.encoding
|
|
});
|
|
} else {
|
|
stream.Readable.call(this, { objectMode: true });
|
|
}
|
|
this._object = object;
|
|
};
|
|
|
|
util.inherits(MultiStream, stream.Readable);
|
|
|
|
MultiStream.prototype._read = function () {
|
|
this.push(this._object);
|
|
this._object = null;
|
|
}; |