Converts anything to a Node.js ReadStream

Downloads in past


100.0.17 years ago7 years agoMinified + gzip package size for stream-converter in KB


Build Status Coverage Status
Converts anything to a Node.js ReadStream, i.e Readable Stream.


npm install stream-converter


var streamify = require('stream-converter');

 * Converts source to a ReadStream
 * @param {String|Buffer|Array|Object|Stream}
 * @param {Object} [options]
var stream = streamify(source, options);
You can also check the examples folder in the repo.

Converting Streams

Indeed, it doesn't convert anything, it is just returning the stream passed as param, it will recognize readable-streams as also Node.js Core streams.

Converting Buffers or Strings

//options is not required
var stream = streamify(bufferOrString, options);
We can pipe it (for example):
or you can listen to the data event:
stream.on('data', function() {
  //do something
or every possible operation on streams. Possible options are:
var options = {
  highWaterMark: Number,
  encoding: String,
  objectMode: Boolean,
  path: Boolean

For the first three options you can read more in the documentation provided above. For the last one, i.e path, it's an option for Strings, if it is set to true it will treat the string like a path, i.e. it will return a stream using fs.createReadStream.

Converting Arrays and Objects

var stream = streamify(objectOrArray);
There are no options available, they are converted by default to a stream using objectMode: true. Because of this, they cannot be piped to a writeable stream, that accepts only Buffers or Strings. But you can listen to events and other stream stuff.
You can pipe arrays, but only if they contain Strings and Buffers.