@rpidanny/streamline.js
TypeScript icon, indicating that this package has built-in type declarations

1.0.3 • Public • Published

streamline.js

gh-actions codecov

A JavaScript package that helps to reads and processes a stream line-by-line in order or in batches in parallel.

Install

$ npm install --save @rpidanny/streamline.js

Usage

Functions

processLine(readStream, handler, concurrency)

Parameters Default Description
readStream None Any Node.js ReadStream object
handler None A processing function that is called on every line of the stream with the line as the argument
concurrency 1 The number of concurrent execution of the handler

processJson(readStream, handler, concurrency)

Parameters Default Description
readStream None Any Node.js ReadStream object
handler None A processing function that is called on every line of the stream with the parsed JSON object as the argument
concurrency 1 The number of concurrent execution of the handler

processCsv(readStream, handler, concurrency)

Parameters Default Description
readStream None Any Node.js ReadStream object
handler None A processing function that is called on every line of the stream with the parsed CSV as the argument
concurrency 1 The number of concurrent execution of the handler

Example

const readStream = fs.createReadStream(`jsonlFile.json`)
await processJson(
  readStream,
  async (item: Record<string, unknown>) => {
    console.log(item)
  },
  2,
)

Classes

Base classes

  • Streamline
  • StreamlineCsv
  • StreamlineJson

These are abstract classes that can be inherited to create complex classes to process read streams.

Forked classes

These classes are derived from Base classes which is suitable for some common use cases.

  • SimpleCsvProcessor
  • SimpleJsonProcessor
  • SimpleCsvProcessor

/@rpidanny/streamline.js/

    Package Sidebar

    Install

    npm i @rpidanny/streamline.js

    Weekly Downloads

    12

    Version

    1.0.3

    License

    MIT

    Unpacked Size

    74.5 kB

    Total Files

    31

    Last publish

    Collaborators

    • mabhishek