Releases: cyclejs-community/redux-cycles
Releases · cyclejs-community/redux-cycles
0.4.0
This release adds support for multiple stream libraries #33.
You can simply import @cycle/<stream-lib>-run
and use the stream library in your main code.
For instance to use RxJS rather than xstream, simply install @cycle/rxjs-run
along with rxjs
and then in your code:
import {run} from '@cycle/rxjs-run'
function main(sources) {
const pong$ = sources.ACTION
.filter(action => action.type === 'PING')
.do(_ => _) // do() only exists in RxJS
.mapTo({ type: 'PONG' })
return {
ACTION: pong$
}
}
const cycleMiddleware = createCycleMiddleware()
const { makeActionDriver, makeStateDriver } = cycleMiddleware
const store = createStore(
rootReducer,
applyMiddleware(cycleMiddleware)
)
// Here run is from rxjs, not xstream
run(main, {
ACTION: makeActionDriver(),
STATE: makeStateDriver()
})
v0.3.0
BREAKING CHANGES
createCycleMiddleware()
no longer takes any arguments. Instead you need to callCycle.run
yourself (which can be installed vianpm i -s @cycle/xstream-run
) passing it yourmain
function anddrivers
explicitly:
+import {run} from '@cycle/xstream-run';
-const cycleMiddleware = createCycleMiddleware(main, drivers);
+const cycleMiddleware = createCycleMiddleware();
+const { makeActionDriver, makeStateDriver } = cycleMiddleware;
const store = createStore(
rootReducer,
applyMiddleware(cycleMiddleware)
);
+run(main, {
+ ACTION: makeActionDriver(),
+ STATE: makeStateDriver()
+})
createCycleMiddleware()
apart from returning the middleware function, also has two function properties attached to it; namely the makeActionDriver()
and the makeStateDriver()
which you can use accordingly when you call Cycle.run
.