UNPKG

@arkts/shared

Version:
94 lines (90 loc) 3.13 kB
import { createConsola } from "consola/basic"; import kleur from "kleur"; //#region ../language-server/package.json var version = "1.0.6"; //#endregion //#region src/log/lsp-reporter.ts var LspReporter = class { constructor(debug, prefix) { this.debug = debug; this.prefix = prefix; } safeStringify(value) { try { return JSON.stringify(value); } catch { return String(value); } } toString(logObj) { if (logObj.message) return logObj.message; if (logObj.args.length === 0) return this.safeStringify(logObj); return logObj.args.join(" "); } getPrefix() { if (this.prefix) return `<${this.prefix}>`; return ""; } log(logObj, _ctx) { switch (logObj.type) { case "log": console.log(kleur.gray(`[${logObj.type.toUpperCase()}] 📅:${logObj.tag} ${this.getPrefix()} ${kleur.dim(logObj.date.toLocaleString())} ${this.toString(logObj)}`)); break; case "warn": console.warn(kleur.yellow(`[${logObj.type.toUpperCase()}] ⚠️:${logObj.tag} ${this.getPrefix()} ${kleur.dim(logObj.date.toLocaleString())} ${this.toString(logObj)}`)); break; case "info": console.info(kleur.blue(`[${logObj.type.toUpperCase()}] 🔥:${logObj.tag} ${this.getPrefix()} ${kleur.dim(logObj.date.toLocaleString())} ${this.toString(logObj)}`)); break; case "success": case "ready": case "start": console.log(kleur.green(`[${logObj.type.toUpperCase()}] ✅:${logObj.tag} ${this.getPrefix()} ${kleur.dim(logObj.date.toLocaleString())} ${this.toString(logObj)}`)); break; case "fail": case "fatal": case "error": console.error(kleur.red(`[${logObj.type.toUpperCase()}] ❌:${logObj.tag} ${this.getPrefix()} ${kleur.dim(logObj.date.toLocaleString())} ${this.toString(logObj)}`)); break; case "debug": case "verbose": case "trace": if (!this.debug) return; console.log(kleur.gray(`[${logObj.type.toUpperCase()}] 🐛:${logObj.tag} ${this.getPrefix()} ${kleur.dim(logObj.date.toLocaleString())} ${this.toString(logObj)}`)); break; case "box": console.log(kleur.gray(`[${logObj.type.toUpperCase()}] 📦:${logObj.tag} ${this.getPrefix()} ${kleur.dim(logObj.date.toLocaleString())} ${this.toString(logObj)}`)); break; } } }; //#endregion //#region src/log/lsp-logger.ts var LanguageServerLogger = class LanguageServerLogger { logger; debug = false; static versionIsLogged = false; constructor(consolaOptions = {}) { this.logger = createConsola({ ...typeof consolaOptions === "string" ? {} : consolaOptions, reporters: [new LspReporter(this.debug, typeof consolaOptions === "string" ? consolaOptions : consolaOptions.prefix ?? ""), ...typeof consolaOptions === "string" ? [] : consolaOptions.reporters || []] }); if (!LanguageServerLogger.versionIsLogged) { this.logger.info(`ETS Support language server version: ${version}`); LanguageServerLogger.versionIsLogged = true; } } getConsola() { return this.logger; } setDebug(debug) { this.debug = debug; return this; } getDebug() { return this.debug; } }; //#endregion export { LanguageServerLogger }; //# sourceMappingURL=lsp-logger-CF8e27mS.mjs.map