chore: refactor EventRegistryMap type for clarity and update Events getter to use it
This commit is contained in:
@@ -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) => {
|
||||||
|
|||||||
Reference in New Issue
Block a user