Files
cloudwork-exercise/src/state/workloads/epics.ts
2019-02-12 19:03:09 +00:00

26 lines
675 B
TypeScript

import { combineEpics, Epic } from 'redux-observable';
import { filter, map, tap, ignoreElements } from 'rxjs/operators';
import { isActionOf } from 'typesafe-actions';
import { RootAction, RootState } from '../reducer';
import * as workloadsActions from './actions';
type AppEpic = Epic<RootAction, RootAction, RootState>;
const logWorkloadSubmissions: AppEpic = (action$, state$) => (
action$.pipe(
filter(isActionOf(workloadsActions.submit)),
map(action => action.payload),
tap((payload) => console.log('Workload submitted', payload)),
ignoreElements(),
)
);
export const epics = combineEpics(
logWorkloadSubmissions,
);
export default epics;