Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/staltz/callbag-take

👜 Callbag operator that limits the total amount of data sent through
https://github.com/staltz/callbag-take

Last synced: about 2 months ago
JSON representation

👜 Callbag operator that limits the total amount of data sent through

Awesome Lists containing this project

README

        

# callbag-take

Callbag operator that limits the amount of data sent by a source. Works on either pullable and listenable sources.

`npm install callbag-take`

## example

On a listenable source:

```js
const interval = require('callbag-interval');
const forEach = require('callbag-for-each');
const take = require('callbag-take');

const source = take(3)(interval(1000));

forEach(x => console.log(x))(source); // 0
// 1
// 2
```

On a pullable source:

```js
const fromIter = require('callbag-from-iter');
const forEach = require('callbag-for-each');
const take = require('callbag-take');

function* range(from, to) {
let i = from;
while (i <= to) {
yield i;
i++;
}
}

const source = take(4)(fromIter(range(100, 999)));

forEach(x => console.log(x))(source); // 100
// 101
// 102
// 103
```