node-binary-split
TypeScript icon, indicating that this package has built-in type declarations

1.2.1 • Public • Published

Binary Split

GitHub stars npm version Build Coverage Status Known Vulnerabilities License: MIT

A Transform Stream that splits a binary stream into chunks based on a delimiter. The delimiter can be a String or a Buffer.

Install

npm install node-binary-split --save

Usage

import split from 'node-binary-split';

split(delimiter);

or

import { BinarySplit } from 'node-binary-split';

new BinarySplit(delimiter);

delimiter can be a string or a buffer.

Sample

import {BinarySplit } = from 'node-binary-split';
fs.createReadStream(file)
  .pipe(new BinarySplit('\n'))
  .on('data', function(line) {
    //each chunk now is a separate line!
  });
const split = require('node-binary-split');
fs.createReadStream(file)
  .pipe(split('\n'))
  .on('data', function (line) {
    //each chunk now is a separate line!
  });

Benchmarks

Benchmarking node-binary-split against other similar packages with benchmark.js. One with newline as delimiter and one with a longer string

Split on a string:

node-binary-split x 1,368 ops/sec ±3.68% (70 runs sampled)
binary-split x 773 ops/sec ±2.75% (74 runs sampled)
split x 504 ops/sec ±2.02% (75 runs sampled)
split2 x 486 ops/sec ±1.95% (75 runs sampled)
Fastest is node-binary-split
Split on newline:

node-binary-split x 1,682 ops/sec ±3.51% (72 runs sampled)
binary-split x 472 ops/sec ±2.68% (76 runs sampled)
split x 574 ops/sec ±3.34% (73 runs sampled)
split2 x 477 ops/sec ±2.51% (77 runs sampled)
Fastest is node-binary-split

Development

Test

Run tests by:

npm test

Run benchmarks by:

npm run bench

Support

Submit an issue

Contribute

Contribute usage docs

License

MIT License

Simen Haugerud Granlund © 2019

Credits

Dependencies (0)

    Dev Dependencies (12)

    Package Sidebar

    Install

    npm i node-binary-split

    Weekly Downloads

    58

    Version

    1.2.1

    License

    MIT

    Unpacked Size

    7.62 kB

    Total Files

    5

    Last publish

    Collaborators

    • hgranlund