1.0.1 • Published 8 years ago

muxer v1.0.1

Weekly downloads
356
License
ISC
Repository
github
Last release
8 years ago

muxer

Build Status npm semantic-release

A simple multiplexer utility of RxJS based streams.

Installation

npm install muxer --save

Example

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 => 7%3 === 0).map(7)
  mux({mod2$, mod3$})
} 
 
// 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))

Functions

External

mux(sources) ⇒ Observable

Creates a multiplexed stream from all the input streams

Kind: global function
Returns: Observable - Multiplexed stream

ParamTypeDescription
sourcesObjectDictionary of source streams.

demux(source$, ...keys) ⇒ Array

De-multiplexes the source stream

Kind: global function
Returns: Array - Tuple of the selected streams and the rest of them

ParamTypeDescription
source$ObservableInput multiplexed stream
...keysStringMap of source streams

Observable

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