@5minds/processcube_engine
Version:
The ProcessCube Engine. Stores and executes BPMNs.
18 lines (17 loc) • 1.5 kB
TypeScript
import { BaseError, FlowNodeInstance, Model } from '@5minds/processcube_engine_sdk';
import { FlowNodeInstanceTypeSpecificData } from '../../../Contracts';
import { FlowNodeHandler } from '../FlowNodeHandler';
export declare abstract class GatewayHandler<TFlowNode extends Model.Gateways.Gateway> extends FlowNodeHandler<TFlowNode> {
protected flowNodeInstancesArrivedAtGateway: Array<string>;
protected unresolved: Function[];
protected beforeExecute(resolveFunction?: Function, rejectFunction?: Function, resumedFlowNodeInstances?: Array<FlowNodeInstance>): Promise<void>;
protected afterExecute(): Promise<void>;
execute(previousFlowNodeInstanceId?: string, previousResult?: any): Promise<void>;
resume(flowNodeInstanceForHandler: FlowNodeInstance, allFlowNodeInstances: Array<FlowNodeInstance>): Promise<void>;
protected resumeFromState(flowNodeInstance: FlowNodeInstance, processFlowNodeInstances?: Array<FlowNodeInstance>): Promise<Array<Model.Base.FlowNode>>;
protected resumeAfterExit(allFlowNodeInstances?: Array<FlowNodeInstance>): Promise<Array<Model.Base.FlowNode>>;
protected persistOnTerminate<TFlowNodeData extends FlowNodeInstanceTypeSpecificData>(typeData?: TFlowNodeData): Promise<void>;
protected persistOnError<TFlowNodeData extends FlowNodeInstanceTypeSpecificData>(error: BaseError, typeData?: TFlowNodeData): Promise<void>;
protected publishGatewayReachedNotification(): void;
protected publishGatewayFinishedNotification(): void;
}