@hotmeshio/hotmesh
Version:
Serverless Workflow
45 lines (37 loc) • 633 B
text/typescript
interface HookCondition {
expected: string;
actual: string;
}
enum HookGate {
AND = 'and',
OR = 'or',
}
interface HookConditions {
gate?: HookGate;
match: HookCondition[];
}
interface HookRule {
to: string;
conditions: HookConditions;
}
interface HookRules {
[eventName: string]: HookRule[];
}
type HookSignal = {
topic: string;
resolved: string;
jobId: string;
expire: number;
};
interface HookInterface {
(topic: string, data: { [key: string]: any; id: string }): Promise<void>;
}
export {
HookCondition,
HookConditions,
HookGate,
HookInterface,
HookRule,
HookRules,
HookSignal,
};