@strong-roots-capital/aggregating-stream
TypeScript icon, indicating that this package has built-in type declarations

1.0.0 • Public • Published

aggregating-stream Build status npm version codecov

Transform stream that aggregates elements into larger chunks

Install

npm install @strong-roots-capital/aggregating-stream

Use

import { aggregatingStream } from '@strong-roots-capital/aggregating-stream'

const source = new Readable({objectMode: true, read() {}})

const aggregator = aggregatingStream(2, (chunks: number[]) => Math.max(...chunks))

const sink = new Writable({
    objectMode: true,
    write(chunk: number, _: string, callback: any) {
        console.log(chunk)
        callback()
    }
})

source.pipe(aggregator).pipe(sink

;[1, 2, 3, 4, null].forEach(value => source.push(value))
//=>2,
//=>4

Index

Functions


Functions

aggregatingStream

aggregatingStream<I,O>(chunksToAggregate: number, aggregate: function): Transform

Defined in aggregating-stream.ts:17

Aggregate specified number of received values with aggregating function and push the aggregated result.

Type parameters:

I

O

Parameters:

Name Type Description
chunksToAggregate number number of chunks to aggregate before each push
aggregate function Function used to aggregate results into a single value

Returns: Transform


Versions

Current Tags

  • Version
    Downloads (Last 7 Days)
    • Tag
  • 1.0.0
    1
    • latest

Version History

  • Version
    Downloads (Last 7 Days)
    • Published
  • 1.0.0
    1

Package Sidebar

Install

npm i @strong-roots-capital/aggregating-stream

Weekly Downloads

1

Version

1.0.0

License

ISC

Unpacked Size

8.56 kB

Total Files

6

Last publish

Collaborators

  • amchelle
  • hamroctopus