UNPKG

@5minds/processcube_engine

Version:

The ProcessCube Engine. Stores and executes BPMNs.

18 lines (17 loc) 1.5 kB
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; }