flowed
Version:
A fast and reliable flow engine for orchestration and more uses in *Node.js*, *Deno* and the browser
53 lines (52 loc) • 1.58 kB
TypeScript
import { TaskResolverMap, TaskRunStatus, ValueMap, TaskMap } from '../types';
import { Flow } from './flow';
import { FlowState } from './flow-state';
import { ProcessManager } from './process-manager';
import { FlowOptions, FlowSpec } from './specs';
import { Task } from './task';
export declare class FlowRunStatus {
static nextId: number;
flow: Flow;
id: number;
processManager: ProcessManager;
tasksReady: Task[];
tasksByReq: {
[req: string]: TaskMap;
};
taskProvisions: string[];
resolvers: TaskResolverMap;
expectedResults: string[];
results: ValueMap;
context: ValueMap;
runOptions: ValueMap;
finishResolve: (result: ValueMap) => void;
finishReject: (error: Error) => void;
finishPromise: Promise<ValueMap>;
options: FlowOptions;
states: {
[stateKey: string]: FlowState;
};
spec: FlowSpec;
state: FlowState;
tasks: TaskMap;
constructor(flow: Flow, spec: FlowSpec, runStatus?: SerializedFlowRunStatus);
initRunStatus(spec: FlowSpec, runState?: SerializedFlowRunStatus): void;
fromSerializable(runState: SerializedFlowRunStatus): void;
toSerializable(): SerializedFlowRunStatus;
}
export interface SerializedFlowRunStatus {
id: number;
nextProcessId: number;
tasksReady: string[];
tasksByReq: {
[req: string]: string[];
};
taskProvisions: string[];
expectedResults: string[];
options: FlowOptions;
results: ValueMap;
context: ValueMap;
taskStatuses: {
[taskCode: string]: TaskRunStatus;
};
}