clado
Version:
A React state machine based on Context API.
28 lines (27 loc) • 734 B
TypeScript
type State = {
[key: string]: (data: any) => JSX.Element;
};
type StateMachineProps = {
data?: any;
states: State;
initialState?: string;
};
type HistoryItem = {
state?: string;
data?: any;
loaded: boolean;
};
declare const StateMachine: ({ states, initialState, data, }: StateMachineProps) => import("react/jsx-runtime").JSX.Element;
declare const useStateMachine: <T>() => {
data: T;
state: string | undefined;
history: Array<HistoryItem>;
lastState: () => string | undefined;
setState: (newState?: string, newData?: any) => void;
} | {
data: T;
history: never[];
lastState: () => string | undefined;
setState: () => void;
};
export { StateMachine, useStateMachine };