Use xstream with redux-observable
This requires peer dependencies of rxjs@5
and xstream
, which will have to be installed as well.
npm install --save redux-observable-adapter-xstream
This library basically will convert the RxJS ActionsObservable
provided to your Epics into a xstream version. Then the xstream you return in your Epic will be converted back to an RxJS Observable inside the middleware.
import xstreamAdapter, {ofType} from 'redux-observable-adapter-xstream';
const epicMiddleware = createEpicMiddleware(rootEpic, { adapter: xstreamAdapter });
// your Epics are now xstreams
const pingPongEpic = action$ =>
action$
.filter(ofType(PING))
.map(action => ({
type: PONG
}));