split
split a Text Stream into a Line Stream
Last updated 3 years ago by dominictarr .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install split 
SYNC missed versions from official npm registry.

Split (matcher)

build status

Break up a stream and reassemble it so that each line is a chunk. matcher may be a String, or a RegExp

Example, read every line in a file ...

  fs.createReadStream(file)
    .pipe(split())
    .on('data', function (line) {
      //each chunk now is a separate line!
    })

split takes the same arguments as string.split except it defaults to '/\r?\n/' instead of ',', and the optional limit parameter is ignored. String#split

split takes an optional options object on its third argument.

  split(matcher, mapper, options)

Valid options:

  • maxLength - The maximum buffer length without seeing a newline or matcher, if a single line exceeds this, the split stream will emit an error.
  split(JSON.parse, null, { maxLength: 2})
  • trailing - By default the last buffer not delimited by a newline or matcher will be emitted. To prevent this set options.trailing to false.
  split(JSON.parse, null, { trailing: false })

keep matched splitter

As with String#split, if you split by a regular expression with a matching group, the matches will be retained in the collection.

stdin
.pipe(split(/(\r?\n)/))
... //lines + separators.

NDJ - Newline Delimited Json

split accepts a function which transforms each line.

fs.createReadStream(file)
  .pipe(split(JSON.parse))
  .on('data', function (obj) {
    //each chunk now is a a js object
  })
  .on('error', function (err) {
    //syntax errors will land here
    //note, this ends the stream.
  })

License

MIT

Current Tags

  • 1.0.1                                ...           latest (3 years ago)

20 Versions

  • 1.0.1                                ...           3 years ago
  • 1.0.0                                ...           5 years ago
  • 0.3.3                                ...           5 years ago
  • 0.3.2                                ...           6 years ago
  • 0.3.1                                ...           6 years ago
  • 0.3.0                                ...           6 years ago
  • 0.2.10                                ...           7 years ago
  • 0.2.9                                ...           7 years ago
  • 0.2.8                                ...           7 years ago
  • 0.2.7                                ...           7 years ago
  • 0.2.6                                ...           7 years ago
  • 0.2.5                                ...           7 years ago
  • 0.2.4                                ...           7 years ago
  • 0.2.3                                ...           7 years ago
  • 0.2.1                                ...           7 years ago
  • 0.2.0                                ...           7 years ago
  • 0.1.2                                ...           7 years ago
  • 0.1.1                                ...           8 years ago
  • 0.1.0                                ...           8 years ago
  • 0.0.0                                ...           8 years ago
Maintainers (1)
Downloads
Today 1,636
This Week 32,695
This Month 54,006
Last Day 5,330
Last Week 33,339
Last Month 145,273
Dependencies (1)
Dev Dependencies (6)
Dependents (1037)

Copyright 2014 - 2016 © taobao.org |