UNPKG

@5minds/processcube_engine

Version:

The ProcessCube Engine. Stores and executes BPMNs.

30 lines (29 loc) 1.81 kB
import { BaseError, EventInstance, Model } from '@5minds/processcube_engine_sdk'; import { FlowNodeInstanceDatabaseAdapter } from '../../../Tools/DatabaseAdaptersSequelize/index'; import { EventMiddlewareHandler } from '../../../Tools/EventMiddlewareHandler'; import { TimerFacade } from '../../Facades/TimerFacade'; import { ProcessInstance } from '../../ProcessInstance'; import { FlowNodeHandlerFactory } from '../FlowNodeHandlerFactory'; import { EventHandler } from './EventHandler'; export declare class StartTimerEventHandler extends EventHandler<Model.Events.TimerStartEvent> { private timerFacade; private timerSubscription; private eventName; constructor(eventMiddlewareHandler: EventMiddlewareHandler, flowNodeHandlerFactory: FlowNodeHandlerFactory, flowNodeInstanceDatabaseAdapter: FlowNodeInstanceDatabaseAdapter, timerFacade: TimerFacade, startEventModel: Model.Events.TimerStartEvent, processInstance: ProcessInstance); private get startEvent(); protected beforeExecute(resolveFunction?: Function, rejectFunction?: Function): Promise<void>; protected persistOnSuspend(): Promise<void>; protected persistOnTerminate(): Promise<void>; protected persistOnError(error: BaseError): Promise<void>; protected persistOnExit(): Promise<void>; protected startExecution(): Promise<Array<Model.Base.FlowNode>>; protected resumeAfterSuspend(flowNodeInstance: EventInstance): Promise<Array<Model.Base.FlowNode>>; protected executeHandler(): Promise<Array<Model.Base.FlowNode>>; private sendProcessStartedMessage; private suspendAndWaitForTimerToElapse; private waitForTimerToElapse; private executeTimerExpressionIfNeeded; private validateTimer; private getEvaluatedEventName; private publishStartEventFinishedNotification; }