@alwatr/logger
Version:
Fancy colorful console debugger with custom scope written in tiny TypeScript, ES module.
10 lines (8 loc) • 2.18 kB
JavaScript
/* 📦 @alwatr/logger v9.31.0 */
import{getGlobalThis as X}from"@alwatr/global-this";import{platformInfo as F}from"@alwatr/platform-info";var j=X().console,Y=(()=>{if(F.development)if(F.isCli)return process.env.ALWATR_DEBUG!=="0";else return typeof localStorage<"u"&&localStorage.getItem("ALWATR_DEBUG")!=="0";return F.isCli?Boolean(process.env.DEBUG):typeof localStorage<"u"&&localStorage.getItem("ALWATR_DEBUG")==="1"})(),Q=(()=>F.isCli?["0;36","0;35","0;34","0;33","0;32"]:["#35b997","#f05561","#ee224a","#91c13e","#22af4b","#f0e995","#0fe995","#0f89ca","#08b9a5","#fee851","#ee573d","#f9df30","#1da2dc","#f05123","#ee2524"])(),B=(()=>({scope:F.isCli?"\x1B[{{color}}m":"color: {{color}};",reset:F.isCli?"\x1B[0m":"color: inherit;"}))(),J=(()=>F.isCli?"%s%s%s":"%c%s%c")(),O=0;function Z(){let H=Q[O];return O=(O+1)%Q.length,H}function $(H){if(!/^[[{<]/.test(H))H=`{${H}}`;return H}function G(H,R=Y){let W=Z(),E=B.scope.replace("{{color}}",W),A=$(H),P={name:H,banner:F.isCli?j.log.bind(j,`\x1B[1;37;45m {{{ %s }}} ${B.reset}`):j.log.bind(j,"%c%s","font-size: 2rem; background-color: #5858e8; color: #fff; padding: 1rem 4rem; border-radius: 0.5rem;"),accident:F.isCli?j.warn.bind(j,`${E}⚠️
%s\x1B[33m.%s() Accident \`%s\`!${B.reset}`,A):j.warn.bind(j,"%c%s%c.%s() Accident `%s`!",E,A,B.reset),error:F.isCli?j.error.bind(j,`${E}❌
%s\x1B[31m.%s() Error \`%s\`${B.reset}
`,A):j.error.bind(j,"%c%s%c.%s() Error `%s`\n",E,A,B.reset)};if(!R)return P;return{...P,logProperty:j.debug.bind(j,J+".%s = %o;",E,A,B.reset),logMethod:j.debug.bind(j,J+".%s();",E,A,B.reset),logFileModule:j.debug.bind(j,J+"/%s.js;",E,A,B.reset),logMethodArgs:j.debug.bind(j,J+".%s(%o);",E,A,B.reset),logMethodFull:j.debug.bind(j,J+".%s(%o) => %o",E,A,B.reset),logStep:j.debug.bind(j,J+".%s() -> %s",E,A,B.reset),logOther:j.debug.bind(j,J,E,A,B.reset),logTable:j.table.bind(j),incident:F.isCli?j.log.bind(j,`${E}\uD83D\uDEB8
%s${B.reset}.%s() Incident \`%s\`!${B.reset}`,A):j.log.bind(j,"%c%s%c.%s() Incident `%s`!",E,A,"color: orange;"),time:(K)=>j.time(A+"."+K),timeEnd:(K)=>j.timeEnd(A+"."+K)}}export{G as createLogger};
//# debugId=850B43FB8F77D37564756E2164756E21
//# sourceMappingURL=main.js.map