flowed
Version:
A fast and reliable flow engine for orchestration and more uses in *Node.js*, *Deno* and the browser
68 lines (67 loc) • 2.79 kB
TypeScript
import { AnyValue, FlowedLogEntry, FlowStateEnum, OptPromise, TaskResolverExecutor, TaskResolverMap, ValueMap } from '../../types';
import { FlowRunStatus, SerializedFlowRunStatus } from '../flow-run-status';
import { Task } from '../task';
import { TaskProcess } from '../task-process';
import { IFlow } from './iflow';
export declare abstract class FlowState implements IFlow {
protected static builtInResolvers: TaskResolverMap;
protected runStatus: FlowRunStatus;
constructor(runStatus: FlowRunStatus);
start(params: ValueMap, expectedResults: string[], resolvers: TaskResolverMap, context: ValueMap, _options?: ValueMap): OptPromise<ValueMap>;
finished(_error?: Error | boolean): void;
pause(): Promise<ValueMap>;
paused(_error?: Error | boolean): void;
resume(): Promise<ValueMap>;
stop(): Promise<ValueMap>;
stopped(_error?: Error | boolean): void;
reset(): void;
abstract getStateCode(): FlowStateEnum;
execFinishResolve(): void;
execFinishReject(error: Error): void;
isRunning(): boolean;
setExpectedResults(expectedResults: string[]): void;
getResults(): ValueMap;
setResolvers(resolvers: TaskResolverMap): void;
setContext(context: ValueMap): void;
setRunOptions(options: ValueMap): void;
supplyParameters(params: ValueMap): void;
createFinishPromise(): void;
getResolverForTask(task: Task): TaskResolverExecutor;
getResolverByName(name: string): TaskResolverExecutor | null;
getResolvers(): TaskResolverMap;
supplyResult(resultName: string, result: AnyValue): void;
getStateInstance(state: FlowStateEnum): FlowState;
startReadyTasks(): void;
setState(newState: FlowStateEnum): void;
getSerializableState(): SerializedFlowRunStatus;
protected processFinished(process: TaskProcess, error: Error | boolean, stopFlowExecutionOnError: boolean): void;
protected postProcessFinished(_error: Error | boolean, _stopFlowExecutionOnError: boolean): void;
protected createTransitionError(transition: string): Error;
protected createMethodError(method: string): Error;
debug(formatter: string, ...args: AnyValue[]): void;
static formatDebugMessage({ n, m, l, e }: {
n?: number;
m: string;
mp?: ValueMap;
l?: string;
e?: string;
}): string;
static createLogEntry({ n, m, mp, l, e, pid, task }: {
n?: number;
m: string;
mp?: ValueMap;
l?: string;
e?: string;
pid?: number;
task?: AnyValue;
}, flowStatus?: FlowRunStatus): FlowedLogEntry;
log({ n, m, mp, l, e, pid, task }: {
n?: number;
m: string;
mp?: ValueMap;
l?: string;
e?: string;
pid?: number;
task?: AnyValue;
}): void;
}