Skip to main content

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.