rxact-rxjs
v1.0.0-beta.1
Published
Rx.js binding for Rxact
Downloads
3
Readme
Rxact Rxjs is a Rxact plugin for improving RxJS supporting to Rxact.
NOTE: Rxact support RxJS natively, this plugin is optional.
What does this plugin do:
- Make calling state stream's operator just like RxJS operator.
Installation
yarn add rxact rxact-rxjs
Usage
There are two ways:
1. Install as a plugin
import Rx from 'rxjs'
import { setup, StateStream } from 'rxact'
import { plugin as rxactRxjs } from 'rxact-rxjs'
setup({
Observable: Rx.Observable,
plugins: [rxactRxjs()],
})
const stream = new StateStream('stream', { name: 'rxact' })
// define an operator
stream.operator = () => { console.log('I am an operator.') }
// you can access operator on Rx.Observable.prototype as 'stream$operator'
stream.state$
.map(value => value)
.stream$operator()
.subscribe()
2. Enhance StateStream
import Rx from 'rxjs'
import { setup, StateStream } from 'rxact'
import { decorator as rxactRxjs } from 'rxact-rxjs'
const EnhancedStateStream = decorator()(StateStream)
setup({
Observable: Rx.Observable,
StateStream: EnhancedStateStream,
})
const stream = new EnhancedStateStream('stream', { name: 'rxact' })
stream.operator = () => { console.log('I am an operator.') }
stream.state$
.map(value => value)
.stream$operator()
.subscribe()
This plugin help you map state stream's opertors to RxJS operators.
The name mapped in the form [streamName]$[operatorName]
, such as:
user$login
, note$add
.
API
plugin()
return a StateStream plugin.
decorator()
return a function for wrapping StateStream.