26 lines
675 B
TypeScript
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;
|