{"version":3,"sources":["../../src/logger.ts"],"sourcesContent":["import chalk from \"chalk\";\n\nexport type LoggerContext = Record<string, unknown>;\n\nexport class Logger {\n  constructor(private readonly packageName: string) {}\n\n  private getTimeString() {\n    const time = new Date();\n    return `${time.getHours().toString().padStart(2, \"0\")}:${time.getMinutes().toString().padStart(2, \"0\")}:${time.getSeconds().toString().padStart(2, \"0\")}`;\n  }\n\n  private getContextString(\n    ctx?: LoggerContext,\n    color: chalk.Chalk = chalk.grey,\n  ) {\n    if (!ctx) return \"\";\n    return color(JSON.stringify(ctx, null, 2));\n  }\n\n  private log(message: string, ctx: string) {\n    const time = chalk.grey(this.getTimeString());\n    console.log(`${time} [${chalk.blue(this.packageName)}] ${message}\\n${ctx}`);\n  }\n\n  info(message: string, ctx?: LoggerContext) {\n    this.log(chalk.white(message), this.getContextString(ctx));\n  }\n\n  warn(message: string, ctx?: LoggerContext) {\n    this.log(\n      chalk.yellow(message),\n      this.getContextString(ctx, chalk.hex(\"#cc9602\")),\n    );\n  }\n\n  error(message: string, ctx?: LoggerContext): void;\n  error(message: string, error: unknown, ctx?: LoggerContext): void;\n  error(message: string, error: unknown, ctx?: LoggerContext) {\n    let errorString: string | undefined;\n    if (error instanceof Error) {\n      errorString = error.stack;\n    }\n\n    const messageWithError = errorString\n      ? `${message}\\n\\n${errorString}`\n      : message;\n    this.log(\n      chalk.red(messageWithError),\n      this.getContextString(ctx, chalk.red),\n    );\n  }\n}\n\nexport const createLogger = (packageName: string) => new Logger(packageName);\n"],"names":["Logger","createLogger","getTimeString","time","Date","getHours","toString","padStart","getMinutes","getSeconds","getContextString","ctx","color","chalk","grey","JSON","stringify","log","message","console","blue","packageName","info","white","warn","yellow","hex","error","errorString","Error","stack","messageWithError","red"],"mappings":";;;;;;;;;;;QAIaA;eAAAA;;QAkDAC;eAAAA;;;8DAtDK;;;;;;;;;;;;;;;;;;;AAIX,MAAMD;IAGHE,gBAAgB;QACtB,MAAMC,OAAO,IAAIC;QACjB,OAAO,GAAGD,KAAKE,QAAQ,GAAGC,QAAQ,GAAGC,QAAQ,CAAC,GAAG,KAAK,CAAC,EAAEJ,KAAKK,UAAU,GAAGF,QAAQ,GAAGC,QAAQ,CAAC,GAAG,KAAK,CAAC,EAAEJ,KAAKM,UAAU,GAAGH,QAAQ,GAAGC,QAAQ,CAAC,GAAG,MAAM;IAC3J;IAEQG,iBACNC,GAAmB,EACnBC,QAAqBC,cAAK,CAACC,IAAI,EAC/B;QACA,IAAI,CAACH,KAAK,OAAO;QACjB,OAAOC,MAAMG,KAAKC,SAAS,CAACL,KAAK,MAAM;IACzC;IAEQM,IAAIC,OAAe,EAAEP,GAAW,EAAE;QACxC,MAAMR,OAAOU,cAAK,CAACC,IAAI,CAAC,IAAI,CAACZ,aAAa;QAC1CiB,QAAQF,GAAG,CAAC,GAAGd,KAAK,EAAE,EAAEU,cAAK,CAACO,IAAI,CAAC,IAAI,CAACC,WAAW,EAAE,EAAE,EAAEH,QAAQ,EAAE,EAAEP,KAAK;IAC5E;IAEAW,KAAKJ,OAAe,EAAEP,GAAmB,EAAE;QACzC,IAAI,CAACM,GAAG,CAACJ,cAAK,CAACU,KAAK,CAACL,UAAU,IAAI,CAACR,gBAAgB,CAACC;IACvD;IAEAa,KAAKN,OAAe,EAAEP,GAAmB,EAAE;QACzC,IAAI,CAACM,GAAG,CACNJ,cAAK,CAACY,MAAM,CAACP,UACb,IAAI,CAACR,gBAAgB,CAACC,KAAKE,cAAK,CAACa,GAAG,CAAC;IAEzC;IAIAC,MAAMT,OAAe,EAAES,KAAc,EAAEhB,GAAmB,EAAE;QAC1D,IAAIiB;QACJ,IAAID,iBAAiBE,OAAO;YAC1BD,cAAcD,MAAMG,KAAK;QAC3B;QAEA,MAAMC,mBAAmBH,cACrB,GAAGV,QAAQ,IAAI,EAAEU,aAAa,GAC9BV;QACJ,IAAI,CAACD,GAAG,CACNJ,cAAK,CAACmB,GAAG,CAACD,mBACV,IAAI,CAACrB,gBAAgB,CAACC,KAAKE,cAAK,CAACmB,GAAG;IAExC;IA9CA,YAAY,AAAiBX,WAAmB,CAAE;;aAArBA,cAAAA;IAAsB;AA+CrD;AAEO,MAAMpB,eAAe,CAACoB,cAAwB,IAAIrB,OAAOqB"}