tachybase_todo/packages/plugin-workflow/src/triggers/index.ts

21 lines
495 B
TypeScript

import WorkflowModel from '../models/Workflow';
import modelTrigger from './model';
export interface Trigger {
name: string;
on(this: WorkflowModel, callback: Function): void;
off(this: WorkflowModel): void;
}
const triggers = new Map<string, Trigger>();
export function register(type: string, trigger: Trigger): void {
triggers.set(type, trigger);
}
export function get(type: string): Trigger | undefined {
return triggers.get(type);
}
register(modelTrigger.name, modelTrigger);