chore: refactor EventRegistryMap type for clarity and update Events getter to use it

This commit is contained in:
Jonas Perusquia Morales
2026-03-30 13:07:26 -06:00
parent 0489058e3c
commit 63f2a2fc3f
+7 -1
View File
@@ -14,6 +14,12 @@ export interface EmitsEvents {
emgr: EventManager; emgr: EventManager;
} }
export type EventRegistryMap<
RegisteredEvents extends Record<string, EventClass> = Record<string, EventClass>,
> = {
[K in keyof RegisteredEvents]: RegisteredEvents[K];
};
// for compatibility, moved it to Event.ts // for compatibility, moved it to Event.ts
export type { EventClass }; export type { EventClass };
@@ -65,7 +71,7 @@ export class EventManager<
return [...this.listeners]; return [...this.listeners];
} }
get Events(): { [K in keyof RegisteredEvents]: RegisteredEvents[K] } { get Events(): EventRegistryMap<RegisteredEvents> {
// proxy class to access events // proxy class to access events
return new Proxy(this, { return new Proxy(this, {
get: (_, prop: string) => { get: (_, prop: string) => {