@jescrich/nestjs-workflow
Version:
Workflow and State Machines for NestJS
47 lines (46 loc) • 1.41 kB
TypeScript
import { OnModuleInit } from '@nestjs/common';
import { WorkflowDefinition } from './definition';
import { EntityService } from './entity.service';
export interface Workflow<T, E> {
emit(params: {
event: E;
urn: string;
payload?: object;
}): Promise<T>;
}
export interface Workflow<T, E> {
emit(params: {
event: E;
urn: string;
payload?: object;
}): Promise<T>;
}
export declare class WorkflowService<T, P, E, S> implements Workflow<T, E>, OnModuleInit {
private readonly definition;
private readonly kafkaClient;
private readonly logger;
private readonly actionsOnStatusChanged;
private readonly actionsOnEvent;
private entityService;
private readonly moduleRef;
constructor(definition: WorkflowDefinition<T, P, E, S>, injectedEntityService?: EntityService<T, S>);
onModuleInit(): Promise<void>;
emit(params: {
event: E;
urn: string;
payload?: T | P | object | string;
}): Promise<T>;
private transition;
private executeInlineActions;
private nextEvent;
private isInIdleStatus;
private isInFailedStatus;
private configureActions;
private configureConditions;
private initializeKakfaConsumers;
private validateActionMethod;
private loadEntity;
private getEntityStatus;
private updateEntityStatus;
private getEntityUrn;
}