https://github.com/darmody/rxact-rxjs
Rxact plugin for improving RxJS supporting to Rxact.
https://github.com/darmody/rxact-rxjs
rxact rxjs
Last synced: over 1 year ago
JSON representation
Rxact plugin for improving RxJS supporting to Rxact.
- Host: GitHub
- URL: https://github.com/darmody/rxact-rxjs
- Owner: Darmody
- License: mit
- Created: 2017-10-20T03:48:49.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2017-10-31T01:45:17.000Z (over 8 years ago)
- Last Synced: 2024-04-24T15:45:04.102Z (about 2 years ago)
- Topics: rxact, rxjs
- Language: JavaScript
- Homepage:
- Size: 44.9 KB
- Stars: 3
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Rxact Rxjs
[](https://www.npmjs.com/package/rxact-rxjs)
[](https://circleci.com/gh/Darmody/rxact-rxjs/tree/master)
[](https://coveralls.io/github/Darmody/rxact-rxjs)
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
```javascript
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
```javascript
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.
## License
[MIT](https://github.com/Darmody/rxact-rxjs/blob/master/LICENSE)