fp-ts-stream
TypeScript icon, indicating that this package has built-in type declarations

0.1.11 • Public • Published

Streams for fp-ts

This library provides Stream and AsyncStream type classes which uses Generator and AsyncGenerator internally, therefore enabling the developers to have transducers, that are executed as much as they are used. See the following example:

import { range, filter, map, take, toArray } from 'fp-ts-stream/Stream'
import { pipe } from 'fp-ts/lib/function'

// The following will only run/execute the `range` iterator only 4 times.
//
// No array will be allocated, until `toArray` and the rest of the iteration
// will be skipped/not completed.
pipe(
  range(0, 10000),            // iterates 4 times
  filter(it => it % 2 == 1),  // iterates 2 times
  map(it => it * 3),          // ...
  take(2),                    // ...
  toArray,                    // executed once
  console.log
)

The Stream is implementing all the functions that an array would normally have, therefore the instances of it admit implementations such as Traversable, Chain and etc.


Support

To support the project, you can send donations to following addresses:

- Bitcoin     : bc1qtut2ss8udkr68p6k6axd0na6nhvngm5dqlyhtn
- Bitcoin Cash: qzmmv43ztae0tfsjx8zf4wwnq3uk6k7zzgcfr9jruk
- Ether       : 0xf542BED91d0218D9c195286e660da2275EF8eC84

Package Sidebar

Install

npm i fp-ts-stream

Weekly Downloads

245

Version

0.1.11

License

SEE LICENSE IN LICENSE

Unpacked Size

1.07 MB

Total Files

782

Last publish

Collaborators

  • incetarik