UNPKG

@microsoft/teams.common

Version:

<p> <a href="https://www.npmjs.com/package/@microsoft/teams.common" target="_blank"> <img src="https://img.shields.io/npm/v/@microsoft/teams.common" /> </a> <a href="https://www.npmjs.com/package/@microsoft/teams.common?activeTab=code"

1 lines 5.14 kB
{"version":3,"sources":["../../src/logging/console.ts"],"names":[],"mappings":";;AAGO,MAAM,aAAiC,CAAA;AAAA,EACzB,IAAA;AAAA,EACA,KAAA;AAAA,EAEF,QAAA;AAAA,EACA,OAAU,GAAA;AAAA,IACzB,KAAO,EAAA,GAAA;AAAA,IACP,IAAM,EAAA,GAAA;AAAA,IACN,IAAM,EAAA,GAAA;AAAA,IACN,KAAO,EAAA;AAAA,GACT;AAAA,EAEiB,OAAU,GAAA;AAAA,IACzB,OAAO,IAAK,CAAA,aAAA;AAAA,IACZ,MAAM,IAAK,CAAA,gBAAA;AAAA,IACX,MAAM,IAAK,CAAA,cAAA;AAAA,IACX,OAAO,IAAK,CAAA;AAAA,GACd;AAAA,EAEA,WAAA,CAAY,MAAc,OAA0B,EAAA;AAClD,IAAA,IAAA,CAAK,IAAO,GAAA,IAAA;AAEZ,IAAA,MAAM,GAAM,GAAA,OAAO,OAAY,KAAA,WAAA,GAAc,SAAY,OAAQ,CAAA,GAAA;AACjE,IAAA,MAAM,cAAiB,GAAA,GAAA,EAAK,GAAO,IAAA,OAAA,EAAS,OAAW,IAAA,GAAA;AACvD,IAAA,IAAA,CAAK,QAAW,GAAA,cAAA,CAAe,cAAc,CAAA,CAAE,KAAK,IAAI,CAAA;AACxD,IAAA,IAAA,CAAK,QAAQ,aAAc,CAAA,GAAA,EAAK,SAAS,CAAA,IAAK,SAAS,KAAS,IAAA,MAAA;AAAA;AAClE,EAEA,SAAS,GAAY,EAAA;AACnB,IAAK,IAAA,CAAA,GAAA,CAAI,OAAS,EAAA,GAAG,GAAG,CAAA;AAAA;AAC1B,EAEA,QAAQ,GAAY,EAAA;AAClB,IAAK,IAAA,CAAA,GAAA,CAAI,MAAQ,EAAA,GAAG,GAAG,CAAA;AAAA;AACzB,EAEA,QAAQ,GAAY,EAAA;AAClB,IAAK,IAAA,CAAA,GAAA,CAAI,MAAQ,EAAA,GAAG,GAAG,CAAA;AAAA;AACzB,EAEA,SAAS,GAAY,EAAA;AACnB,IAAK,IAAA,CAAA,GAAA,CAAI,OAAS,EAAA,GAAG,GAAG,CAAA;AAAA;AAC1B,EAEA,GAAA,CAAI,UAAoB,GAAY,EAAA;AAClC,IAAI,IAAA,CAAC,KAAK,QAAU,EAAA;AAClB,MAAA;AAAA;AAGF,IAAI,IAAA,IAAA,CAAK,QAAQ,KAAK,CAAA,GAAI,KAAK,OAAQ,CAAA,IAAA,CAAK,KAAK,CAAG,EAAA;AAClD,MAAA;AAAA;AAGF,IAAA,MAAM,MAAS,GAAA,CAAC,IAAK,CAAA,OAAA,CAAQ,KAAK,CAAA,EAAG,IAAK,CAAA,IAAA,EAAM,CAAI,CAAA,EAAA,KAAA,CAAM,WAAY,EAAC,CAAG,CAAA,CAAA,CAAA;AAC1E,IAAA,MAAM,OAAO,CAAC,IAAA,CAAK,MAAM,IAAK,CAAA,eAAA,EAAiB,KAAK,SAAS,CAAA;AAE7D,IAAA,KAAA,MAAW,KAAK,GAAK,EAAA;AACnB,MAAI,IAAA,IAAA,GAAO,IAAI,MAAA,CAAO,CAAC,CAAA;AAEvB,MAAI,IAAA,OAAO,MAAM,QAAU,EAAA;AACzB,QAAA,IAAA,GAAO,IAAK,CAAA,SAAA,CAAU,CAAG,EAAA,IAAA,EAAM,CAAC,CAAA;AAAA;AAGlC,MAAA,KAAA,MAAW,IAAQ,IAAA,IAAA,CAAK,KAAM,CAAA,IAAI,CAAG,EAAA;AACnC,QAAQ,OAAA,CAAA,KAAK,CAAE,CAAA,MAAA,CAAO,IAAK,CAAA,EAAE,GAAG,IAAK,CAAA,IAAA,CAAK,EAAE,CAAA,EAAG,IAAI,CAAA;AAAA;AACrD;AACF;AACF,EAEA,MAAM,IAAc,EAAA;AAClB,IAAA,OAAO,IAAI,aAAc,CAAA,CAAA,EAAG,KAAK,IAAI,CAAA,CAAA,EAAI,IAAI,CAAI,CAAA,EAAA;AAAA,MAC/C,OAAO,IAAK,CAAA;AAAA,KACb,CAAA;AAAA;AAEL;AAEA,SAAS,eAAe,OAAiB,EAAA;AACvC,EAAA,IAAI,GAAM,GAAA,EAAA;AACV,EAAM,MAAA,KAAA,GAAQ,OAAQ,CAAA,KAAA,CAAM,GAAG,CAAA;AAE/B,EAAA,KAAA,IAAS,CAAI,GAAA,CAAA,EAAG,CAAI,GAAA,KAAA,CAAM,QAAQ,CAAK,EAAA,EAAA;AACrC,IAAA,IAAI,IAAI,CAAG,EAAA;AACT,MAAO,GAAA,IAAA,IAAA;AAAA;AAGT,IAAA,GAAA,IAAO,MAAM,CAAC,CAAA;AAAA;AAGhB,EAAO,OAAA,IAAI,OAAO,GAAG,CAAA;AACvB;AAEA,SAAS,cAAc,KAAsC,EAAA;AAC3D,EAAM,MAAA,KAAA,GAAQ,OAAO,WAAY,EAAA;AACjC,EAAA,QAAQ,KAAO;AAAA,IACb,KAAK,OAAA;AAAA,IACL,KAAK,MAAA;AAAA,IACL,KAAK,MAAA;AAAA,IACL,KAAK,OAAA;AACH,MAAO,OAAA,KAAA;AAAA,IACT;AACE,MAAO,OAAA,MAAA;AAAA;AAEb","file":"console.mjs","sourcesContent":["import { ANSI } from './ansi';\nimport { ILogger, ILoggerOptions, LogLevel } from './logger';\n\nexport class ConsoleLogger implements ILogger {\n protected readonly name: string;\n protected readonly level: LogLevel;\n\n private readonly _enabled: boolean;\n private readonly _levels = {\n error: 100,\n warn: 200,\n info: 300,\n debug: 400,\n };\n\n private readonly _colors = {\n error: ANSI.ForegroundRed,\n warn: ANSI.ForegroundYellow,\n info: ANSI.ForegroundCyan,\n debug: ANSI.ForegroundMagenta,\n };\n\n constructor(name: string, options?: ILoggerOptions) {\n this.name = name;\n\n const env = typeof process === 'undefined' ? undefined : process.env;\n const logNamePattern = env?.LOG || options?.pattern || '*';\n this._enabled = parseMagicExpr(logNamePattern).test(name);\n this.level = parseLogLevel(env?.LOG_LEVEL) || options?.level || 'info';\n }\n\n error(...msg: any[]) {\n this.log('error', ...msg);\n }\n\n warn(...msg: any[]) {\n this.log('warn', ...msg);\n }\n\n info(...msg: any[]) {\n this.log('info', ...msg);\n }\n\n debug(...msg: any[]) {\n this.log('debug', ...msg);\n }\n\n log(level: LogLevel, ...msg: any[]) {\n if (!this._enabled) {\n return;\n }\n\n if (this._levels[level] > this._levels[this.level]) {\n return;\n }\n\n const prefix = [this._colors[level], ANSI.Bold, `[${level.toUpperCase()}]`];\n const name = [this.name, ANSI.ForegroundReset, ANSI.BoldReset];\n\n for (const m of msg) {\n let text = new String(m);\n\n if (typeof m === 'object') {\n text = JSON.stringify(m, null, 2);\n }\n\n for (const line of text.split('\\n')) {\n console[level](prefix.join(''), name.join(''), line);\n }\n }\n }\n\n child(name: string) {\n return new ConsoleLogger(`${this.name}/${name}`, {\n level: this.level,\n });\n }\n}\n\nfunction parseMagicExpr(pattern: string) {\n let res = '';\n const parts = pattern.split('*');\n\n for (let i = 0; i < parts.length; i++) {\n if (i > 0) {\n res += '.*';\n }\n\n res += parts[i];\n }\n\n return new RegExp(res);\n}\n\nfunction parseLogLevel(level?: string): LogLevel | undefined {\n const value = level?.toLowerCase();\n switch (value) {\n case 'error':\n case 'warn':\n case 'info':\n case 'debug':\n return value;\n default:\n return undefined;\n }\n}\n"]}