Skip to content

Latest commit

 

History

History
60 lines (44 loc) · 1.93 KB

README.md

File metadata and controls

60 lines (44 loc) · 1.93 KB

ReadlineTransform

npm Node License dependencies Status Build Status Coverage Status

Reading String or Buffer content from a Readable stream and writing each line which ends without line break as object

Install

$ npm install -save readline-transform

How to Use

Create a ReadlineTransform

new ReadlineTransform(options)

  • options <Object>
    • breakMatcher is the regular expression to split content by line break for str.split(). (default: /\r?\n/)
    • ignoreEndOfBreak is boolean. if content ends with line break, ignore last empty line. (default: true)
    • skipEmpty is boolean. if line is empty string, skip it (default: false)

An example

const { PassThrough } = require('stream');
const ReadlineTransform = require('readline-transform');

const readStream = new PassThrough();
const transform = new ReadlineTransform({ skipEmpty: true });
const writeStream = new PassThrough({ objectMode: true });

writeStream.on('data', (line) => {
  console.log(line);
}).on('finish', () => {
  console.log('<<< all done >>>');
});

readStream.pipe(transform).pipe(writeStream);

readStream.write(new Buffer('foo\nba'));
readStream.write(new Buffer('r\r\n\n\r'));
readStream.end(new Buffer('\nbaz'));

Console output

$ node example.js
foo
bar
baz
<<< all done >>>