@elimeleth/vct-flow
Version:
Crea un archivo app.ts, coloca el codigo de abajo alli y luego puedes correrlo con `npx tsx src/app.ts`
35 lines (34 loc) • 1.56 kB
TypeScript
import { Context, GlobalCheckpoint, ICheckpointer, Nodes, Metadata, EventRegex, WorkflowKey, Extensions, MethodsOROptions } from "../types";
import { ProviderClass } from "../io/providerClass";
import DatastoreService from "./store";
import { OptionsWorkFlow } from "..";
export declare const EVENTS: EventRegex;
export declare const EVENTSREGEXP: RegExp;
export declare class Workflow<TName extends string, TProvider extends Partial<ProviderClass> = Partial<ProviderClass>> {
key: WorkflowKey;
metadata: Metadata<TName>;
child: Array<Nodes>;
options: OptionsWorkFlow<TName>;
private callbackMap;
private static idCounter;
private signal;
private logger;
ctx: Context;
provider: TProvider;
constructor(key?: WorkflowKey, options?: OptionsWorkFlow<TName>);
set signal_controller(signal: AbortSignal);
private executeNode;
executeNodeSafe(node: Nodes, stateHandler: DatastoreService, checkpointer: ICheckpointer, messages: string[], ctx: Context, extensions: Extensions<TProvider>): Promise<{
error?: Error;
success: boolean;
}>;
onError(error: Error, args: GlobalCheckpoint, checkpointer: ICheckpointer): Promise<void>;
getNextAvailableNode(currentNodeId: number | string): Nodes | null;
private delay;
getNodeById(nodeId: number | string): Nodes | null;
addAction(cbOrOptions: string | MethodsOROptions<TProvider>, callback?: MethodsOROptions<TProvider>): this;
private createInternalMethods;
private end;
private goto;
private extractRouteInfo;
}