EventInterceptor
EventInterceptor
The event interceptor class that allows subscribing to events and handling them with custom logic. It also supports automatic cleanup of expired subscriptions.
Signature
class EventInterceptor {
constructor(client: Client)
destroy() => void;
hasSubscribers(event: keyof ClientEvents) => boolean;
getSubscriberCount(event: keyof ClientEvents) => number;
hasGlobalHandlers() => boolean;
getGlobalHandlersCount() => number;
subscribe(event: Event, listener: (...args: ClientEvents[Event]) => void, options?: EventInterceptorContextData<Event>) => () => void;
unsubscribe(event: Event, listener: (...args: ClientEvents[Event]) => void, reason?: string) => void;
}
constructor
method
(client: Client) => EventInterceptor
Creates the event interceptor.
destroy
method
() => void
Destroys the event interceptor.
hasSubscribers
method
(event: keyof ClientEvents) => boolean
Whether the event has subscribers.
getSubscriberCount
method
(event: keyof ClientEvents) => number
Returns the number of subscribers for the event.
hasGlobalHandlers
method
() => boolean
Whether the event has global handlers.
getGlobalHandlersCount
method
() => number
Returns the number of global handlers.
subscribe
method
(event: Event, listener: (...args: ClientEvents[Event]) => void, options?: EventInterceptorContextData<Event>) => () => void
Subscribes to an event.
unsubscribe
method
(event: Event, listener: (...args: ClientEvents[Event]) => void, reason?: string) => void
Unsubscribes from an event.