UNPKG

@node-ts/bus-workflow

Version:

A workflow engine for orchestrating logic flows in distributed applications.

21 lines (20 loc) 1.51 kB
import { Persistence } from './persistence'; import { WorkflowData } from '../workflow-data'; import { ClassConstructor } from '@node-ts/bus-core'; import { MessageWorkflowMapping } from '../message-workflow-mapping'; import { Message, MessageAttributes } from '@node-ts/bus-messages'; import { Logger } from '@node-ts/logger-core'; /** * A non-durable in-memory persistence for storage and retrieval of workflow data. Before using this, * be warned that all workflow data will not survive a process restart or application shut down. As * such this should only be used for testing, prototyping or handling unimportant workflows. */ export declare class InMemoryPersistence implements Persistence { private readonly logger; private workflowData; constructor(logger: Logger); initializeWorkflow<TWorkflowData extends WorkflowData>(workflowDataConstructor: ClassConstructor<TWorkflowData>, _: MessageWorkflowMapping<Message, TWorkflowData>[]): Promise<void>; getWorkflowData<WorkflowDataType extends WorkflowData, MessageType extends Message>(workflowDataConstructor: ClassConstructor<WorkflowDataType>, messageMap: MessageWorkflowMapping<MessageType, WorkflowDataType>, message: MessageType, messageOptions: MessageAttributes, includeCompleted?: boolean | undefined): Promise<WorkflowDataType[]>; saveWorkflowData<WorkflowDataType extends WorkflowData>(workflowData: WorkflowDataType): Promise<void>; length(workflowDataConstructor: ClassConstructor<WorkflowData>): number; }