{"version":3,"file":"lsp-logger-CF8e27mS.mjs","names":["debug: boolean","prefix: string","value: T","logObj: LogObject","_ctx: { options: ConsolaOptions }","consolaOptions: Partial<LanguageServerLoggerOptions> | string","debug: boolean"],"sources":["../../language-server/package.json","../src/log/lsp-reporter.ts","../src/log/lsp-logger.ts"],"sourcesContent":["{\n  \"name\": \"@arkts/language-server\",\n  \"version\": \"1.0.6\",\n  \"description\": \"ArkTS Language Server.\",\n  \"author\": \"Naily Zero <zero@naily.cc>\",\n  \"license\": \"MIT\",\n  \"homepage\": \"https://github.com/Groupguanfang/arkTS/tree/main/packages/language-server\",\n  \"repository\": {\n    \"type\": \"git\",\n    \"url\": \"https://github.com/Groupguanfang/arkTS\",\n    \"directory\": \"packages/language-server\"\n  },\n  \"bugs\": {\n    \"url\": \"https://github.com/Groupguanfang/arkTS/issues\",\n    \"email\": \"zero@naily.cc\"\n  },\n  \"keywords\": [\n    \"language-server\",\n    \"language-server-protocol\",\n    \"harmonyos\",\n    \"arkts\",\n    \"ets\"\n  ],\n  \"exports\": {\n    \".\": {\n      \"types\": \"./out/index.d.ts\",\n      \"import\": \"./out/index.mjs\",\n      \"default\": \"./out/index.js\"\n    },\n    \"./dist/*\": \"./dist/*\"\n  },\n  \"main\": \"out/index.js\",\n  \"bin\": {\n    \"ets-language-server\": \"./bin/ets-language-server.js\"\n  },\n  \"files\": [\n    \"bin\",\n    \"out\",\n    \"src\"\n  ],\n  \"engines\": {\n    \"node\": \">=16.0.0\"\n  },\n  \"publishConfig\": {\n    \"access\": \"public\"\n  },\n  \"scripts\": {\n    \"build\": \"tsdown --tsconfig ./tsconfig.build.json\",\n    \"prepublishOnly\": \"tsdown --tsconfig ./tsconfig.build.json\",\n    \"release\": \"pnpm publish\"\n  },\n  \"devDependencies\": {\n    \"@arkts/language-plugin\": \"workspace:*\",\n    \"@arkts/shared\": \"workspace:*\",\n    \"@types/vscode\": \"catalog:dev\",\n    \"@volar/language-core\": \"catalog:prod\",\n    \"@volar/language-server\": \"catalog:prod\",\n    \"@volar/typescript\": \"catalog:prod\",\n    \"ohos-typescript\": \"workspace:*\",\n    \"volar-service-css\": \"catalog:prod\",\n    \"volar-service-emmet\": \"catalog:prod\",\n    \"volar-service-html\": \"catalog:prod\",\n    \"volar-service-typescript\": \"catalog:prod\",\n    \"vscode-html-languageservice\": \"catalog:prod\",\n    \"vscode-uri\": \"catalog:prod\"\n  }\n}\n","/* eslint-disable no-console */\nimport type { ConsolaOptions, ConsolaReporter, LogObject } from 'consola'\nimport kleur from 'kleur'\n\nexport class LspReporter implements ConsolaReporter {\n  constructor(private readonly debug: boolean, private readonly prefix: string) {}\n\n  private safeStringify<T>(value: T): string {\n    try {\n      return JSON.stringify(value)\n    }\n    catch {\n      return String(value)\n    }\n  }\n\n  private toString(logObj: LogObject): string {\n    if (logObj.message)\n      return logObj.message\n    if (logObj.args.length === 0)\n      return this.safeStringify(logObj)\n    return logObj.args.join(' ')\n  }\n\n  private getPrefix(): string {\n    if (this.prefix)\n      return `<${this.prefix}>`\n    return ''\n  }\n\n  log(logObj: LogObject, _ctx: { options: ConsolaOptions }): void {\n    switch (logObj.type) {\n      case 'log':\n        console.log(kleur.gray(`[${logObj.type.toUpperCase()}] 📅:${logObj.tag} ${this.getPrefix()} ${kleur.dim(logObj.date.toLocaleString())} ${this.toString(logObj)}`))\n        break\n      case 'warn':\n        console.warn(kleur.yellow(`[${logObj.type.toUpperCase()}] ⚠️:${logObj.tag} ${this.getPrefix()} ${kleur.dim(logObj.date.toLocaleString())} ${this.toString(logObj)}`))\n        break\n      case 'info':\n        console.info(kleur.blue(`[${logObj.type.toUpperCase()}] 🔥:${logObj.tag} ${this.getPrefix()} ${kleur.dim(logObj.date.toLocaleString())} ${this.toString(logObj)}`))\n        break\n      case 'success':\n      case 'ready':\n      case 'start':\n        console.log(kleur.green(`[${logObj.type.toUpperCase()}] ✅:${logObj.tag} ${this.getPrefix()} ${kleur.dim(logObj.date.toLocaleString())} ${this.toString(logObj)}`))\n        break\n      case 'fail':\n      case 'fatal':\n      case 'error':\n        console.error(kleur.red(`[${logObj.type.toUpperCase()}] ❌:${logObj.tag} ${this.getPrefix()} ${kleur.dim(logObj.date.toLocaleString())} ${this.toString(logObj)}`))\n        break\n      case 'debug':\n      case 'verbose':\n      case 'trace':\n        if (!this.debug)\n          return\n        console.log(kleur.gray(`[${logObj.type.toUpperCase()}] 🐛:${logObj.tag} ${this.getPrefix()} ${kleur.dim(logObj.date.toLocaleString())} ${this.toString(logObj)}`))\n        break\n      case 'box':\n        console.log(kleur.gray(`[${logObj.type.toUpperCase()}] 📦:${logObj.tag} ${this.getPrefix()} ${kleur.dim(logObj.date.toLocaleString())} ${this.toString(logObj)}`))\n        break\n    }\n  }\n}\n","import type { ConsolaInstance, ConsolaOptions } from 'consola'\nimport { createConsola } from 'consola/basic'\nimport { version } from '../../../language-server/package.json'\nimport { LspReporter } from './lsp-reporter'\n\nexport interface LanguageServerLoggerOptions extends ConsolaOptions {\n  prefix?: string\n}\n\nexport class LanguageServerLogger {\n  private logger: ConsolaInstance\n  private debug: boolean = false\n  private static versionIsLogged = false\n\n  constructor(consolaOptions?: Partial<LanguageServerLoggerOptions>)\n  constructor(prefix: string)\n  constructor(consolaOptions: Partial<LanguageServerLoggerOptions> | string = {}) {\n    this.logger = createConsola({\n      ...(typeof consolaOptions === 'string' ? {} : consolaOptions),\n      reporters: [\n        new LspReporter(this.debug, typeof consolaOptions === 'string' ? consolaOptions : (consolaOptions.prefix ?? '')),\n        ...(typeof consolaOptions === 'string' ? [] : consolaOptions.reporters || []),\n      ],\n    })\n    if (!LanguageServerLogger.versionIsLogged) {\n      this.logger.info(`ETS Support language server version: ${version}`)\n      LanguageServerLogger.versionIsLogged = true\n    }\n  }\n\n  getConsola(): ConsolaInstance {\n    return this.logger\n  }\n\n  setDebug(debug: boolean): this {\n    this.debug = debug\n    return this\n  }\n\n  getDebug(): boolean {\n    return this.debug\n  }\n}\n"],"mappings":"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"}