redis-workflow
Version:
Simple Promise based multi-channel workflow rules engine using Redis backing
33 lines (32 loc) • 1.13 kB
TypeScript
import IAction from "./IAction";
import IRule from "./IRule";
import ITrigger from "./ITrigger";
import IWorkflow from "./IWorkflow";
export default class Workflow implements IWorkflow {
protected id: string;
protected name: string;
protected trigger: ITrigger;
protected rules: IRule[];
protected actions: IAction[];
protected evaluator: any;
constructor(name?: string, trigger?: ITrigger, rules?: IRule[], actions?: IAction[], id?: string);
getId(): string;
setId(id: string): void;
getName(): string;
setName(name: string): void;
getTrigger(): ITrigger;
setTrigger(trigger: ITrigger): void;
getRules(): IRule[];
setRules(rules: IRule[]): void;
addRule(rule: IRule): void;
removeRule(name: string): void;
getActions(): IAction[];
setActions(actions: IAction[]): void;
addAction(action: IAction): void;
removeAction(name: string): void;
getEvaluator(): any;
setEvaluator(evaluator: any): void;
getActionsForContext(context: Dictionary): Promise<IAction[]>;
fromDict(dict: Dictionary): IWorkflow;
toDict(): Dictionary;
}