str-to-stream

Convert string into a readable stream.

Usage no npm install needed!

<script type="module">
  import strToStream from 'https://cdn.skypack.dev/str-to-stream';
</script>

README

String to Stream

Build Status Test Covarage Greenkeeper Latest Version

Convert string into a readable stream.

Installation

$ npm install str-to-stream

Usage

Pipe a string into a writable stream:

const strToStream = require("str-to-stream");

const stream = strToStream("hello world!");

stream.pipe(process.stdout);

Listen to data event:

const strToStream = require("str-to-stream");

const stream = strToStream("hello world!");

stream.on("data", chunk => console.log(`Data received: ${chunk.toString()}`));

stream.on("end", () => console.log("All data have been received."));

Recipes

Set the Data Bytes Limit for Each Chunk

By default, each data chunk is limited to 16,384 bytes. You can override this by passing the highWaterMark option:

const strToStream = require("str-to-stream");

const stream = strToStream("hello world!", {
  highWaterMark: 6
});

const chunks = [];

stream.on("data", chunk => chunks.push(chunk.toString()));

stream.on("end", () => console.log(chunks)); // ["hello ", "world!"]

Emit Data in One Shot

To emit all string data in one shot, set the objectMode option to true. The highWaterMark option value won't have any effect.

const strToStream = require("str-to-stream");

const stream = strToStream("a very long long string...", {
  highWaterMark: 6, // Won't have any effect.
  objectMode: true
});

stream.on("data", chunk => {
  console.log(chunk.toString()); // a very long long string...
});

Write to a File

const fs = require("fs");
const strToStream = require("str-to-stream");

const file = fs.createWriteStream("./hello.txt");

const stream = strToStream("hello world!");

stream.pipe(file);

API

strToStream(data, [{ highWaterMark, objectMode }])

Parameters

  • data (String): The string to convert to a readable stream.
  • highWaterMark (optional Number): The maximum number of bytes for each chunk, default to 16384 (16kb).
  • objectMode (optional Boolean): When it sets to true, the string data will be emitted in one shot ignoring the highWaterMark option. Default to false.

Returns

It returns Readable Stream instance.

License

MIT © Risan Bagja Pradana