2025-11-24 21:29:54 +00:00
|
|
|
import type { Event } from "Enums/Event";
|
2026-05-05 19:54:34 +00:00
|
|
|
import { Events, type EventRef } from "obsidian";
|
2025-11-24 21:29:54 +00:00
|
|
|
|
|
|
|
|
export class EventService extends Events {
|
|
|
|
|
|
2026-05-05 19:54:34 +00:00
|
|
|
public on(name: Event.DiffOpened, callback: () => void): EventRef;
|
|
|
|
|
public on(name: Event.DiffClosed, callback: () => void): EventRef;
|
2026-07-06 15:11:30 +00:00
|
|
|
public on(name: Event.PlanApprovalOpened, callback: () => void): EventRef;
|
|
|
|
|
public on(name: Event.PlanApprovalClosed, callback: () => void): EventRef;
|
2026-05-05 19:54:34 +00:00
|
|
|
public on(name: Event.RateLimitCountdown, callback: (delayMs: number) => void): EventRef;
|
|
|
|
|
|
|
|
|
|
public on<T extends unknown[]>(name: string, callback: (...data: T) => unknown): EventRef {
|
|
|
|
|
return super.on(name, callback as (...data: unknown[]) => unknown);
|
|
|
|
|
}
|
|
|
|
|
|
2025-11-24 21:29:54 +00:00
|
|
|
public trigger(name: Event.DiffOpened, data?: unknown): void;
|
|
|
|
|
public trigger(name: Event.DiffClosed, data?: unknown): void;
|
2026-07-06 15:11:30 +00:00
|
|
|
public trigger(name: Event.PlanApprovalOpened, data?: unknown): void;
|
|
|
|
|
public trigger(name: Event.PlanApprovalClosed, data?: unknown): void;
|
2026-01-05 21:49:51 +00:00
|
|
|
public trigger(name: Event.RateLimitCountdown, delayMs: number): void;
|
2025-11-24 21:29:54 +00:00
|
|
|
|
|
|
|
|
public trigger(name: string, ...data: unknown[]): void {
|
|
|
|
|
super.trigger(name, ...data);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|