UNPKG

ts-action-immer

Version:

Immer-based reducer creators for Redux

8 lines (7 loc) 318 B
import { produce } from "immer"; export function on(...args) { const draftReducer = args.pop(); const reducer = (state, action) => produce(state, (draft) => draftReducer(draft, action)); const types = args.reduce((result, creator) => [...result, creator.type], []); return { reducer, types }; }