UNPKG

deox

Version:

Functional Type-safe Flux Standard Utilities

14 lines (13 loc) 749 B
import { CreateHandlerMap, HandlerMap, InferActionFromHandlerMap, InferNextStateFromHandlerMap } from './create-handler-map'; /** * Reducer factory * @description combines multiple handler map into single reducer * @example * const counter = createReducer(0, handleAction => [ * handleAction(increment, state => state + 1), * handleAction(decrement, state => state - 1), * ]) */ export declare function createReducer<TPrevState, THandlerMap extends HandlerMap<TPrevState, any, any>>(defaultState: TPrevState, handlerMapsCreator: (handle: CreateHandlerMap<TPrevState>) => THandlerMap[]): (state: TPrevState | undefined, action: { type: string; } | InferActionFromHandlerMap<THandlerMap>) => InferNextStateFromHandlerMap<THandlerMap>;