A simple multiplexer utility of RxJS based streams.
npm install muxer --save
import {Observable as O} from 'rx'
import {mux, demux} from 'muxer'
function create$ () {
const interval$ = O.interval(1000)
const mod2$ = interval$.filter(x => x%2 === 0).map(2)
const mod3$ = interval$.filter(x => x%3 === 0).map(3)
const mod7$ = interval$.filter(x => x%7 === 0).map(7)
mux({mod2$, mod3$, mod7$})
}
// Create a single stream that contains events from each of the individual streams
const mod$ = create$()
const [{mod2$}, rest$] = demux(mod$, 'mod2$')
mod2$.subscribe(x => console.log('MOD2', x))
rest$.subscribe(x => console.log('REST', x))
- mux(sources) ⇒
Observable
- demux(source$, ...keys) ⇒
Array
mux(sources) ⇒ Observable
Creates a multiplexed stream from all the input streams
Kind: global function
Returns: Observable
- Multiplexed stream
Param | Type | Description |
---|---|---|
sources | Object |
Dictionary of source streams. |
De-multiplexes the source stream
Kind: global function
Returns: Array
- Tuple of the selected streams and the rest of them
Param | Type | Description |
---|---|---|
source$ | Observable |
Input multiplexed stream |
...keys | String |
Map of source streams |
An observable is an interface that provides a generalized mechanism for push-based notification, also known as observer design pattern.
Kind: global external
See: RxJS Observable