reactant-last-action
Version:
A Reactant plugin for staging last action
33 lines • 1.15 kB
TypeScript
import { PluginModule, storeKey, ReactantAction } from 'reactant-module';
import { ReducersMapObject } from 'redux';
declare const LastActionOptions: unique symbol;
export interface ILastActionState<T = any> extends ReactantAction<T> {
/**
* sync sequence
*/
_sequence?: number;
}
export type ILastActionData = Pick<ILastActionState<unknown>, Exclude<keyof ILastActionState, '_inversePatches' | 'state'>>;
export interface ILastActionOptions {
/**
* Define a string as LastAction reducer key.
*/
stateKey?: string;
/**
* ignore action tracking
*/
ignoreAction?: (action: ILastActionData) => boolean;
}
declare class ReactantLastAction extends PluginModule {
readonly [storeKey]?: any;
options: ILastActionOptions;
stateKey: string;
private _sequence;
constructor(options: ILastActionOptions);
beforeCombineRootReducers(reducers: ReducersMapObject): ReducersMapObject;
set sequence(value: number);
get sequence(): number;
get action(): ILastActionData;
}
export { ReactantLastAction as LastAction, LastActionOptions };
//# sourceMappingURL=lastAction.d.ts.map