rxact-rxjs

1.0.0-beta.1 • Public • Published

Rxact Rxjs

npm version CircleCI master Coveralls master

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.

License

MIT

Readme

Keywords

Package Sidebar

Install

npm i rxact-rxjs

Weekly Downloads

4

Version

1.0.0-beta.1

License

MIT

Last publish

Collaborators

  • darmody