UNPKG

@tesler-ui/cra-template-typescript

Version:

The base TypeScript template for Create React App.

30 lines (25 loc) 672 B
import {AppState} from '../interfaces/storeSlices' import {AnyAction} from './actions' /** * Describes an application reducer * */ export type CustomReducer<ReducerState, State = AppState> = ( state: ReducerState, action: AnyAction, store?: Readonly<State> ) => ReducerState /** * */ export interface ReducerConfiguration<ReducerState, ClientActions> { initialState: ReducerState override?: boolean reducer: CustomReducer<ReducerState, ClientActions> } /** * */ export type RootReducer<ClientStore, ClientActions> = { [reducerSliceName in keyof ClientStore]: ReducerConfiguration<ClientStore[keyof ClientStore], ClientActions>; }