{"version":3,"sources":["../src/core/logger.ts"],"sourcesContent":["export enum LogLevel {\n    DEBUG = 0,\n    INFO = 1,\n    WARN = 2,\n    ERROR = 3,\n}\n\nexport interface LoggerOptions {\n    level?: LogLevel;\n    prefix?: string;\n    timestamp?: boolean;\n}\n\nexport class Logger {\n    private level: LogLevel;\n    private prefix: string;\n    private timestamp: boolean;\n\n    constructor(options: LoggerOptions = {}) {\n        this.level = options.level ?? LogLevel.INFO;\n        this.prefix = options.prefix ?? '[Fusion]';\n        this.timestamp = options.timestamp ?? true;\n    }\n\n    private formatMessage(level: string, ...args: any[]): string {\n        const timestamp = this.timestamp ? `[${new Date().toISOString()}]` : '';\n        return `${timestamp} ${this.prefix} ${level}: ${args.join(' ')}`;\n    }\n\n    debug(...args: any[]): void {\n        if (this.level <= LogLevel.DEBUG) {\n            console.log(this.formatMessage('DEBUG', ...args));\n        }\n    }\n\n    info(...args: any[]): void {\n        if (this.level <= LogLevel.INFO) {\n            console.log(this.formatMessage('INFO', ...args));\n        }\n    }\n\n    warn(...args: any[]): void {\n        if (this.level <= LogLevel.WARN) {\n            console.warn(this.formatMessage('WARN', ...args));\n        }\n    }\n\n    error(...args: any[]): void {\n        if (this.level <= LogLevel.ERROR) {\n            console.error(this.formatMessage('ERROR', ...args));\n        }\n    }\n\n    success(...args: any[]): void {\n        console.log(this.formatMessage('✓', ...args));\n    }\n}\n\n// Export singleton instance\nexport const logger = new Logger();\n\n// Export factory\nexport function createLogger(options: LoggerOptions): Logger {\n    return new Logger(options);\n}\n"],"mappings":";;;;;AAAO,IAAKA,WAAAA,0BAAAA,WAAAA;;;;;SAAAA;;AAaL,IAAMC,SAAN,MAAMA;EAbb,OAaaA;;;EACDC;EACAC;EACAC;EAER,YAAYC,UAAyB,CAAC,GAAG;AACrC,SAAKH,QAAQG,QAAQH,SAAK;AAC1B,SAAKC,SAASE,QAAQF,UAAU;AAChC,SAAKC,YAAYC,QAAQD,aAAa;EAC1C;EAEQE,cAAcJ,UAAkBK,MAAqB;AACzD,UAAMH,YAAY,KAAKA,YAAY,KAAI,oBAAII,KAAAA,GAAOC,YAAW,CAAA,MAAQ;AACrE,WAAO,GAAGL,SAAAA,IAAa,KAAKD,MAAM,IAAID,KAAAA,KAAUK,KAAKG,KAAK,GAAA,CAAA;EAC9D;EAEAC,SAASJ,MAAmB;AACxB,QAAI,KAAKL,SAAK,GAAoB;AAC9BU,cAAQC,IAAI,KAAKP,cAAc,SAAA,GAAYC,IAAAA,CAAAA;IAC/C;EACJ;EAEAO,QAAQP,MAAmB;AACvB,QAAI,KAAKL,SAAK,GAAmB;AAC7BU,cAAQC,IAAI,KAAKP,cAAc,QAAA,GAAWC,IAAAA,CAAAA;IAC9C;EACJ;EAEAQ,QAAQR,MAAmB;AACvB,QAAI,KAAKL,SAAK,GAAmB;AAC7BU,cAAQG,KAAK,KAAKT,cAAc,QAAA,GAAWC,IAAAA,CAAAA;IAC/C;EACJ;EAEAS,SAAST,MAAmB;AACxB,QAAI,KAAKL,SAAK,GAAoB;AAC9BU,cAAQI,MAAM,KAAKV,cAAc,SAAA,GAAYC,IAAAA,CAAAA;IACjD;EACJ;EAEAU,WAAWV,MAAmB;AAC1BK,YAAQC,IAAI,KAAKP,cAAc,UAAA,GAAQC,IAAAA,CAAAA;EAC3C;AACJ;AAGO,IAAMW,SAAS,IAAIjB,OAAAA;AAGnB,SAASkB,aAAad,SAAsB;AAC/C,SAAO,IAAIJ,OAAOI,OAAAA;AACtB;AAFgBc;","names":["LogLevel","Logger","level","prefix","timestamp","options","formatMessage","args","Date","toISOString","join","debug","console","log","info","warn","error","success","logger","createLogger"]}