oo-redux-utils2
Version:
Object-oriented Redux utils
8 lines (7 loc) • 841 B
TypeScript
import AbstractAction from './AbstractAction';
import type { ReduxActionObject } from './ReduxDispatch';
export default class OOReduxUtils {
static mergeOwnAndForeignState<TOwnState extends Record<string, unknown>, TForeignState extends Record<string, unknown>>(ownState: TOwnState, foreignState: TForeignState): TOwnState & TForeignState;
static createStateReducer<TState>(initialState: TState, actionBaseClasses: abstract new (...args: any[]) => AbstractAction<any, any>): (state: TState | undefined, reduxAction: ReduxActionObject) => TState;
static createNamespacedStateReducer<TState, TStateNamespace extends string>(initialState: TState, actionBaseClasses: abstract new (...args: any[]) => AbstractAction<any, any>, stateNamespace: TStateNamespace): (state: TState | undefined, reduxAction: ReduxActionObject) => TState;
}