@node-ts/bus-workflow
Version:
A workflow engine for orchestrating logic flows in distributed applications.
21 lines (20 loc) • 1.51 kB
TypeScript
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;
}