| 107 | // is disabled (the common case for trace/debug in production). Falls |
| 108 | // through when `enabled` is absent, e.g. SDK overrides with plain fns. |
| 109 | protected emit(fn: (...args: unknown[]) => void, messages: unknown[]) { |
| 110 | if ((fn as { enabled?: boolean }).enabled === false) { |
| 111 | return; |
| 112 | } |
| 113 | const prefix = this.contextPrefix; |
| 114 | if (prefix) { |
| 115 | fn(prefix, ...messages); |
| 116 | } else { |
| 117 | fn(...messages); |
| 118 | } |
| 119 | } |
| 120 | |
| 121 | public trace(...messages: unknown[]) { |
| 122 | this.emit(this._trace, messages); |