31 lines
2.5 KiB
TypeScript
31 lines
2.5 KiB
TypeScript
import { StateNode, State } from './';
|
|
import { StateValue, Edge, PathMap, PathsItem, PathsMap, AdjacencyMap, DefaultContext, ValueAdjacencyMap, EventObject, StateMachine } from './types';
|
|
export declare function getNodes(node: StateNode): StateNode[];
|
|
export declare function getEventEdges<TContext = DefaultContext, TEvent extends EventObject = EventObject>(node: StateNode<TContext, any, TEvent>, event: string): Array<Edge<TContext, TEvent>>;
|
|
export declare function getEdges<TContext = DefaultContext, TEvent extends EventObject = EventObject>(node: StateNode<TContext, any, TEvent>, options?: {
|
|
depth: null | number;
|
|
}): Array<Edge<TContext, TEvent>>;
|
|
export declare function adjacencyMap<TContext = DefaultContext>(node: StateNode<TContext>, context?: TContext): AdjacencyMap;
|
|
export declare function deserializeStateString(valueContextString: string): {
|
|
value: StateValue;
|
|
context: any;
|
|
};
|
|
export declare function serializeState<TContext>(state: State<TContext>): string;
|
|
export declare function serializeEvent<TEvent extends EventObject>(event: TEvent): string;
|
|
export declare function deserializeEventString<TEvent extends EventObject>(eventString: string): TEvent;
|
|
export interface ValueAdjMapOptions<TContext, TEvent extends EventObject> {
|
|
events: {
|
|
[K in TEvent['type']]: Array<TEvent & {
|
|
type: K;
|
|
}>;
|
|
};
|
|
filter: (state: State<TContext>) => boolean;
|
|
formatContext: <T>(context: TContext) => T;
|
|
stateSerializer: (state: State<TContext>) => string;
|
|
eventSerializer: (event: TEvent) => string;
|
|
}
|
|
export declare function getValueAdjacencyMap<TContext = DefaultContext, TEvent extends EventObject = EventObject>(node: StateNode<TContext, any, TEvent>, options?: Partial<ValueAdjMapOptions<TContext, TEvent>>): ValueAdjacencyMap<TContext, TEvent>;
|
|
export declare function getShortestPaths<TContext = DefaultContext, TEvent extends EventObject = EventObject>(machine: StateMachine<TContext, any, TEvent>, options?: Partial<ValueAdjMapOptions<TContext, TEvent>>): PathMap<TContext, TEvent>;
|
|
export declare function getSimplePaths<TContext = DefaultContext, TEvent extends EventObject = EventObject>(machine: StateMachine<TContext, any, TEvent>, options?: Partial<ValueAdjMapOptions<TContext, TEvent>>): PathsMap<TContext, TEvent>;
|
|
export declare function getSimplePathsAsArray<TContext = DefaultContext, TEvent extends EventObject = EventObject>(machine: StateNode<TContext, any, TEvent>, options?: ValueAdjMapOptions<TContext, TEvent>): Array<PathsItem<TContext, TEvent>>;
|