Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jadbox/callbag-from
https://github.com/jadbox/callbag-from
Last synced: 18 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/jadbox/callbag-from
- Owner: jadbox
- License: mit
- Created: 2018-02-02T01:22:53.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2018-02-02T16:31:43.000Z (almost 7 years ago)
- Last Synced: 2024-10-19T09:07:43.725Z (25 days ago)
- Language: JavaScript
- Size: 31.3 KB
- Stars: 6
- Watchers: 3
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: readme.md
- License: LICENSE
Awesome Lists containing this project
- awesome-callbags - from
README
# callbag-from
Convert a Promise, Event, Observable, or Iterable to a callbag listenable source. This simply wraps existing conversion utilities and autodetects which one to use.
`npm install callbag-from`
## examples
Convert an Event (https://github.com/staltz/callbag-from-event)
```js
const fromAny = require('callbag-from');
const observe = require('callbag-observe');const source = fromAny(document.body, 'click');
observe(x => console.log(x))(source); // MouseEvent ...
// MouseEvent ...
```Convert a Promise (https://github.com/staltz/callbag-from-promise)
```js
const fromAny = require('callbag-from');
const observe = require('callbag-observe');const source = fromAny(
fetch('http://jsonplaceholder.typicode.com/users/1')
.then(res => res.json())
);observe(user => console.log(user.name))(source); // Leanne Graham
```Convert an Observable (https://github.com/staltz/callbag-from-obs)
```js
const Rx = require('rxjs');
const fromAny = require('callbag-from');
const observe = require('callbag-observe');const source = fromAny(Rx.Observable.interval(1000).take(4));
observe(x => console.log(x))(source); // 0
// 1
// 2
// 3
```Convert an Iterable (https://github.com/staltz/callbag-from-iter)
```js
const fromAny = require('callbag-from');
const iterate = require('callbag-iterate');const source = fromAny([10, 20, 30, 40]);
source(0, iterate(x => console.log(x)); // 10
// 20
// 30
// 40
```