fsmachine
Version:
> A simple and small TypeScript finite state machine
7 lines (6 loc) • 487 B
TypeScript
import { Callback, TransitionMap } from './types';
export declare type Transition<TState extends string, TEvent extends string> = [TState, TEvent, TState, Callback<TState, TEvent>] | [TState, TEvent, TState];
export declare function transitioner<TState extends string, TEvent extends string, TCallback = Callback<TState, TEvent>>(name?: string): {
transitions: TransitionMap<TState, TEvent, TCallback>;
transition: (...transition: Transition<TState, TEvent>[]) => void;
};