minipass-split

Split a minipass text stream into a line stream

Usage no npm install needed!

<script type="module">
  import minipassSplit from 'https://cdn.skypack.dev/minipass-split';
</script>

README

minipass-split

Splits a minipass text stream into a line stream.

The equivalent of a line-splitting Transform stream, similar to split2, but based on minipass.

It is intentionally NOT API-compatible with split or split2.

Installation

npm install --save minipass minipass-split

Usage

const fsm = require('fs-minipass')
const SplitStream = require('minipass-split')

const readStream = new fsm.ReadStream('input.txt')
const splitSteam = new SplitStream()
const writeStream = new fsm.WriteStream('output.txt')

// Read a file, break it into chunks by line, write those chunks to a new file
//
// NOTE: In this example, the new file will NOT contain:
//  - any of the line breaks!
//  - any lines that are empty without their line breaks
readStream.pipe(splitStream).pipe(writeStream)

Options

An options argument may be passed into the constructor.

Valid options include:

separator

Optional. (String or RegExp): The pattern describing where each split should occur, identical to the separator parameter of String.prototype.split. Defaults to /\r?\n/.

// Split on every ';' character
new SplitStream({ separator: ';' })

// Split on every 'BREAK' string
new SplitStream({ separator: 'BREAK' })

// Split on every ';' character, optionally followed by whitespace
new SplitStream({ separator: /,\s*/ })

License

MIT License (c) 2020 James M. Greene