32 lines
1.2 KiB
TypeScript
32 lines
1.2 KiB
TypeScript
import { StateNode } from './StateNode';
|
|
import { StateValue, EntryExitStateArrays, EventType, EventObject } from './types';
|
|
export interface StateTreeOptions {
|
|
resolved?: boolean;
|
|
}
|
|
export declare class StateTree {
|
|
stateNode: StateNode;
|
|
stateValue: StateValue | undefined;
|
|
parent?: StateTree | undefined;
|
|
root: StateTree;
|
|
nodes: Record<string, StateTree>;
|
|
isResolved: boolean;
|
|
private reentryNodes;
|
|
constructor(stateNode: StateNode, stateValue: StateValue | undefined, options?: StateTreeOptions, parent?: StateTree | undefined);
|
|
readonly done: boolean;
|
|
getDoneData<TContext>(context: TContext, event: EventObject): any;
|
|
readonly atomicNodes: StateNode[];
|
|
getDoneEvents(entryStateNodes?: Set<StateNode>): EventObject[];
|
|
readonly resolved: StateTree;
|
|
readonly paths: string[][];
|
|
readonly absolute: StateTree;
|
|
readonly nextEvents: EventType[];
|
|
clone(): StateTree;
|
|
combine(tree: StateTree): StateTree;
|
|
readonly value: StateValue;
|
|
matches(parentValue: StateValue): boolean;
|
|
getEntryExitStates(prevTree?: StateTree): EntryExitStateArrays<any>;
|
|
getEntryStates(): StateNode[];
|
|
getExitStates(): StateNode[];
|
|
addReentryNode(reentryNode: StateNode): void;
|
|
}
|