stream-converter

Converts anything to a Node.js ReadStream

Downloads in past

Stats

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

Readme

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

Install

npm install stream-converter

Usage

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):
stream.pipe(process.stdout);
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.