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) => EventInterceptorCreates the event interceptor.
destroy
method
() => voidDestroys the event interceptor.
hasSubscribers
method
(event: keyof ClientEvents) => booleanWhether the event has subscribers.
getSubscriberCount
method
(event: keyof ClientEvents) => numberReturns the number of subscribers for the event.
hasGlobalHandlers
method
() => booleanWhether the event has global handlers.
getGlobalHandlersCount
method
() => numberReturns the number of global handlers.
subscribe
method
(event: Event, listener: (...args: ClientEvents[Event]) => void, options?: EventInterceptorContextData<Event>) => () => voidSubscribes to an event.
unsubscribe
method
(event: Event, listener: (...args: ClientEvents[Event]) => void, reason?: string) => voidUnsubscribes from an event.