@turbox3d/reactivity
Version:
Large-scale reactive state management library
20 lines (19 loc) • 797 B
TypeScript
import { ActionStatus } from '../const/enums';
import { HistoryNode } from './time-travel';
import { MutationConfig } from '../decorators/mutation';
export declare const actionPool: Action[];
export declare class Action {
static context?: Action;
static create(name: string, displayName?: string): Action;
static abortAll(revert?: boolean): void;
static get(...args: string[]): Action[];
name: string;
displayName: string;
status: ActionStatus;
historyNode: HistoryNode;
execute(runner: (...payload: any[]) => void | Promise<void>, payload?: any[], isWrapMutation?: boolean, options?: MutationConfig): Promise<void> | void;
complete(): void;
undo(keepHistory?: boolean): void;
redo(keepHistory?: boolean): void;
abort(revert?: boolean): void;
}