reducer-class
Version:
Boilerplate free class-based reducer creator. Built with TypeScript. Works with Redux and NGRX. Has integration with immer.
14 lines (13 loc) • 666 B
TypeScript
import { IReducerClassConstraintComplete, ReducerClassHelpers, ReducerImmer, ReducerPure } from './reducer-class-helpers';
interface IReducerClassStatic<T> {
create: () => Reducer<T>;
reducerClassHelpers: ReducerClassHelpers;
}
declare type Reducer<T> = (state: T | undefined, action: any) => T;
export declare abstract class ReducerClass<T> implements IReducerClassConstraintComplete<T> {
[index: string]: ReducerPure<T> | ReducerImmer<T> | T;
static reducerClassHelpers: ReducerClassHelpers;
static create<T>(this: (new () => IReducerClassConstraintComplete<T>) & IReducerClassStatic<T>): Reducer<T>;
abstract initialState: T;
}
export {};