Files
gridpilot.gg/tests/mocks/MockAutomationLifecycleEmitter.ts

21 lines
527 B
TypeScript

export class MockAutomationLifecycleEmitter {
private callbacks: Set<(event: any) => Promise<void> | void> = new Set()
onLifecycle(cb: (event: any) => Promise<void> | void): void {
this.callbacks.add(cb)
}
offLifecycle(cb: (event: any) => Promise<void> | void): void {
this.callbacks.delete(cb)
}
async emit(event: any): Promise<void> {
for (const cb of Array.from(this.callbacks)) {
try {
await cb(event)
} catch {
// ignore subscriber errors in tests
}
}
}
}