selenium-state-machine
Version:
Write Selenium tests using state machines
27 lines • 1.08 kB
TypeScript
import { DependencyMap } from './Dependency';
import { ProvideComplete, ProvidePublic } from './Provide';
export interface BaseContext {
timeout: number;
error?: Error;
}
export declare class Fsm<TContext extends BaseContext, TDependencyMap extends DependencyMap> {
private dependencies;
private states;
private context;
private i;
private lastI;
private nameMap;
private timeOnState;
private running;
constructor(context: TContext, dependencies: TDependencyMap);
get timeout(): number;
set timeout(v: number);
private addState;
state(f: ((provide: ProvidePublic, dependencies: TDependencyMap) => Promise<ProvideComplete> | ProvideComplete), timeout?: number): this;
namedState(name: string, f: ((provide: ProvidePublic, dependencies: TDependencyMap) => Promise<ProvideComplete> | ProvideComplete), timeout?: number): this;
private changeIndex;
stop(): void;
start(): Promise<void>;
}
export declare function declareDependencies<T extends DependencyMap>(dependencies: T): T;
//# sourceMappingURL=Fsm.d.ts.map