UNPKG

fsm-state-manager

Version:

A Flow FSM using a finite state machine pattern

29 lines (28 loc) 1.12 kB
import FSMConfigI from "./interfaces/fsm-config.i"; import StateDataI from "./interfaces/state-data.i"; import Subscription from "./interfaces/subscription.i"; import TransitionRulesType from "./types/transition-rules-type"; interface FSMOptions { devMode?: boolean; logTransitions?: boolean; subscriptionMode?: boolean; } export declare class StateManagerFSM<Config extends FSMConfigI> { private stateData; private transitionRules; private options; private subscriptionManager; constructor(transitionRules: TransitionRulesType<Config>, options?: Partial<FSMOptions>); setStateData(currentStateData: StateDataI<Config>): void; getStateData(): StateDataI<Config>; transition(event: Config['event'], appliedData?: Config['data'][]): void; private isInitialized; private warnWrongTransition; private warnGuard; private applyTransition; private transitionAction; private checkGuard; canTransition(event: Config['event']): boolean; subscribe(state: Config['state'], callback: (newStateData: StateDataI<Config>) => void): Subscription; } export {};