yoonite-saga
Version:
> Orchestration de workflows transactionnels avec gestion de compensation (pattern Saga)
29 lines (28 loc) • 881 B
TypeScript
import { SagaResponse } from "./types/saga-response";
import { ServicesList } from "./types/services.type";
import { Workflow } from "./types/workflow.type";
export declare class SagaProcessor<T> {
private steps;
private history;
private services;
private ctx;
private currentStep;
private toCompensate;
private errors;
private currentExecution;
private errorFormatter;
constructor(services?: ServicesList);
add(workflow: Workflow): SagaProcessor<T>;
handleExceptions(formatter: any): void;
start(): Promise<SagaResponse<T>>;
private runStep;
private runInvoke;
validate(dto: any): Promise<void>;
checkCondition(condition: any): any;
private makeStepForward;
private compensate;
private formatResponse;
startLog(name: any): void;
endLog(state: any): void;
debug(...params: any[]): void;
}