type LogLevel = "info" | "warn" | "error"; export class Logger { constructor(private readonly enabled: boolean) {} private getStyle(level: LogLevel): string { switch (level) { case "info": return "color: green;font-size: 12px;font-weight:600;"; case "warn": return "color: orange;font-size: 12px;font-weight:600;"; case "error": return "color: red;font-size: 12px;font-weight:600;"; } } private format(level: LogLevel, message: string): [string, string] { return [`%cSirrusSDK: ${message}`, this.getStyle(level)]; } info(message: string, ...args: unknown[]): void { if (!this.enabled) { return; } console.log(...this.format("info", message), ...args); } warn(message: string, ...args: unknown[]): void { if (!this.enabled) { return; } console.warn(...this.format("warn", message), ...args); } error(message: string, ...args: unknown[]): void { console.error(...this.format("error", message), ...args); } }