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

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