Add debug logs to EventBus
Events now logs to console when _debug is true: - [Events.on] event (N handlers) - green - [Events.off] event - orange - [Events.emit] event data → N handlers - blue Toggle in browser console: Events._debug = false // disable Events._debug = true // enable (default) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -808,12 +808,21 @@ const State = {
|
|||||||
// =============================================================================
|
// =============================================================================
|
||||||
const Events = {
|
const Events = {
|
||||||
_handlers: {},
|
_handlers: {},
|
||||||
on(event, fn) { (this._handlers[event] ||= []).push(fn); },
|
_debug: true, // Toggle: Events._debug = false to disable
|
||||||
|
on(event, fn) {
|
||||||
|
(this._handlers[event] ||= []).push(fn);
|
||||||
|
if (this._debug) console.log(`%c[Events.on] ${event}`, 'color: #4CAF50', `(${this._handlers[event].length} handlers)`);
|
||||||
|
},
|
||||||
off(event, fn) {
|
off(event, fn) {
|
||||||
if (!fn) delete this._handlers[event];
|
if (!fn) delete this._handlers[event];
|
||||||
else this._handlers[event] = (this._handlers[event] || []).filter(h => h !== fn);
|
else this._handlers[event] = (this._handlers[event] || []).filter(h => h !== fn);
|
||||||
|
if (this._debug) console.log(`%c[Events.off] ${event}`, 'color: #FF9800');
|
||||||
},
|
},
|
||||||
emit(event, data) { (this._handlers[event] || []).forEach(fn => fn(data)); }
|
emit(event, data) {
|
||||||
|
const handlers = this._handlers[event] || [];
|
||||||
|
if (this._debug) console.log(`%c[Events.emit] ${event}`, 'color: #7c8aff; font-weight: bold', data !== undefined ? data : '', `→ ${handlers.length} handlers`);
|
||||||
|
handlers.forEach(fn => fn(data));
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
// =============================================================================
|
// =============================================================================
|
||||||
|
|||||||
Reference in New Issue
Block a user