Files
frontend-bootcamp/step2-05/exercise/src/reducers/index.ts
2019-02-19 14:14:34 -08:00

21 lines
477 B
TypeScript

import { Store } from '../store';
import { addTodo, remove, complete, clear } from './pureFunctions';
export function reducer(state: Store['todos'], payload: any): Store['todos'] {
switch (payload.type) {
case 'addTodo':
return addTodo(state, payload.id, payload.label);
case 'remove':
return remove(state, payload.id);
case 'complete':
return complete(state, payload.id);
case 'clear':
return clear(state);
}
return state;
}