(
eventSuffix: TEvent,
cb: (event: TanStackDevtoolsEvent<TEvent, TEventMap[TEvent]>) => void,
options?: {
withEventTarget?: boolean
},
)
| 235 | } |
| 236 | |
| 237 | on<TEvent extends keyof TEventMap & string>( |
| 238 | eventSuffix: TEvent, |
| 239 | cb: (event: TanStackDevtoolsEvent<TEvent, TEventMap[TEvent]>) => void, |
| 240 | options?: { |
| 241 | withEventTarget?: boolean |
| 242 | }, |
| 243 | ) { |
| 244 | const withEventTarget = options?.withEventTarget ?? false |
| 245 | const eventName = `${this.#pluginId}:${eventSuffix}` as const |
| 246 | if (withEventTarget) { |
| 247 | if (!this.#internalEventTarget) { |
| 248 | this.#internalEventTarget = new EventTarget() |
| 249 | } |
| 250 | this.#internalEventTarget.addEventListener(eventName, (e) => { |
| 251 | cb((e as CustomEvent).detail) |
| 252 | }) |
| 253 | } |
| 254 | if (!this.#enabled) { |
| 255 | this.debugLog( |
| 256 | 'Event bus client is disabled, not registering event', |
| 257 | eventName, |
| 258 | ) |
| 259 | return () => {} |
| 260 | } |
| 261 | const handler = (e: Event) => { |
| 262 | this.debugLog('Received event from bus', (e as CustomEvent).detail) |
| 263 | cb((e as CustomEvent).detail) |
| 264 | } |
| 265 | this.#eventTarget().addEventListener(eventName, handler) |
| 266 | this.debugLog('Registered event to bus', eventName) |
| 267 | return () => { |
| 268 | if (withEventTarget) { |
| 269 | this.#internalEventTarget?.removeEventListener(eventName, handler) |
| 270 | } |
| 271 | this.#eventTarget().removeEventListener(eventName, handler) |
| 272 | } |
| 273 | } |
| 274 | |
| 275 | onAll(cb: (event: TanStackDevtoolsEvent<string, any>) => void) { |
| 276 | if (!this.#enabled) { |
no test coverage detected