UNPKG

@node-ts/bus-workflow

Version:

A workflow engine for orchestrating logic flows in distributed applications.

19 lines (18 loc) 1.24 kB
import { Message, MessageAttributes } from '@node-ts/bus-messages'; import { WorkflowData, WorkflowDataConstructor } from '../workflow-data'; import { Logger } from '@node-ts/logger-core'; import { Handler } from '@node-ts/bus-core'; import { WorkflowHandlerFn } from './workflow-handler-fn'; import { Persistence } from '../persistence'; import { HandlerWithId, handlerIdProperty } from './handler-with-id'; export declare abstract class WorkflowHandlerProxy<TMessage extends Message, TWorkflowData extends WorkflowData> implements Handler<TMessage>, HandlerWithId { readonly handler: WorkflowHandlerFn<TMessage, TWorkflowData>; protected readonly workflowDataConstructor: WorkflowDataConstructor<TWorkflowData>; protected readonly persistence: Persistence; protected readonly logger: Logger; readonly [handlerIdProperty]: string; constructor(handler: WorkflowHandlerFn<TMessage, TWorkflowData>, workflowDataConstructor: WorkflowDataConstructor<TWorkflowData>, persistence: Persistence, logger: Logger); handle(message: TMessage, messageOptions: MessageAttributes): Promise<void>; abstract getWorkflowData(message: TMessage, messageOptions: MessageAttributes): Promise<TWorkflowData[]>; private persist; }