Files
30-seconds-of-code/node_modules/xstate/lib/StateTree.d.ts
2019-08-20 15:52:05 +02:00

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;
}