@microsoft/teams.common 0.2.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (92) hide show
  1. package/README.md +36 -0
  2. package/dist/events/event-emitter.d.mts +20 -0
  3. package/dist/events/event-emitter.d.ts +20 -0
  4. package/dist/events/event-emitter.js +38 -0
  5. package/dist/events/event-emitter.js.map +1 -0
  6. package/dist/events/event-emitter.mjs +36 -0
  7. package/dist/events/event-emitter.mjs.map +1 -0
  8. package/dist/events/index.d.mts +1 -0
  9. package/dist/events/index.d.ts +1 -0
  10. package/dist/events/index.js +14 -0
  11. package/dist/events/index.js.map +1 -0
  12. package/dist/events/index.mjs +3 -0
  13. package/dist/events/index.mjs.map +1 -0
  14. package/dist/http/client.d.mts +83 -0
  15. package/dist/http/client.d.ts +83 -0
  16. package/dist/http/client.js +159 -0
  17. package/dist/http/client.js.map +1 -0
  18. package/dist/http/client.mjs +153 -0
  19. package/dist/http/client.mjs.map +1 -0
  20. package/dist/http/index.d.mts +5 -0
  21. package/dist/http/index.d.ts +5 -0
  22. package/dist/http/index.js +28 -0
  23. package/dist/http/index.js.map +1 -0
  24. package/dist/http/index.mjs +5 -0
  25. package/dist/http/index.mjs.map +1 -0
  26. package/dist/http/interceptor.d.mts +53 -0
  27. package/dist/http/interceptor.d.ts +53 -0
  28. package/dist/http/interceptor.js +4 -0
  29. package/dist/http/interceptor.js.map +1 -0
  30. package/dist/http/interceptor.mjs +3 -0
  31. package/dist/http/interceptor.mjs.map +1 -0
  32. package/dist/http/token.d.mts +9 -0
  33. package/dist/http/token.d.ts +9 -0
  34. package/dist/http/token.js +4 -0
  35. package/dist/http/token.js.map +1 -0
  36. package/dist/http/token.mjs +3 -0
  37. package/dist/http/token.mjs.map +1 -0
  38. package/dist/index.d.mts +10 -0
  39. package/dist/index.d.ts +10 -0
  40. package/dist/index.js +35 -0
  41. package/dist/index.js.map +1 -0
  42. package/dist/index.mjs +6 -0
  43. package/dist/index.mjs.map +1 -0
  44. package/dist/logging/ansi.d.mts +34 -0
  45. package/dist/logging/ansi.d.ts +34 -0
  46. package/dist/logging/ansi.js +39 -0
  47. package/dist/logging/ansi.js.map +1 -0
  48. package/dist/logging/ansi.mjs +37 -0
  49. package/dist/logging/ansi.mjs.map +1 -0
  50. package/dist/logging/console.d.mts +18 -0
  51. package/dist/logging/console.d.ts +18 -0
  52. package/dist/logging/console.js +91 -0
  53. package/dist/logging/console.js.map +1 -0
  54. package/dist/logging/console.mjs +89 -0
  55. package/dist/logging/console.mjs.map +1 -0
  56. package/dist/logging/index.d.mts +3 -0
  57. package/dist/logging/index.d.ts +3 -0
  58. package/dist/logging/index.js +28 -0
  59. package/dist/logging/index.js.map +1 -0
  60. package/dist/logging/index.mjs +5 -0
  61. package/dist/logging/index.mjs.map +1 -0
  62. package/dist/logging/logger.d.mts +45 -0
  63. package/dist/logging/logger.d.ts +45 -0
  64. package/dist/logging/logger.js +4 -0
  65. package/dist/logging/logger.js.map +1 -0
  66. package/dist/logging/logger.mjs +3 -0
  67. package/dist/logging/logger.mjs.map +1 -0
  68. package/dist/logging/string.d.mts +36 -0
  69. package/dist/logging/string.d.ts +36 -0
  70. package/dist/logging/string.js +121 -0
  71. package/dist/logging/string.js.map +1 -0
  72. package/dist/logging/string.mjs +119 -0
  73. package/dist/logging/string.mjs.map +1 -0
  74. package/dist/storage/index.d.mts +2 -0
  75. package/dist/storage/index.d.ts +2 -0
  76. package/dist/storage/index.js +21 -0
  77. package/dist/storage/index.js.map +1 -0
  78. package/dist/storage/index.mjs +4 -0
  79. package/dist/storage/index.mjs.map +1 -0
  80. package/dist/storage/local-storage.d.mts +23 -0
  81. package/dist/storage/local-storage.d.ts +23 -0
  82. package/dist/storage/local-storage.js +69 -0
  83. package/dist/storage/local-storage.js.map +1 -0
  84. package/dist/storage/local-storage.mjs +67 -0
  85. package/dist/storage/local-storage.mjs.map +1 -0
  86. package/dist/storage/storage.d.mts +22 -0
  87. package/dist/storage/storage.d.ts +22 -0
  88. package/dist/storage/storage.js +4 -0
  89. package/dist/storage/storage.js.map +1 -0
  90. package/dist/storage/storage.mjs +3 -0
  91. package/dist/storage/storage.mjs.map +1 -0
  92. package/package.json +91 -0
@@ -0,0 +1,18 @@
1
+ import { ILogger, LogLevel, ILoggerOptions } from './logger.mjs';
2
+
3
+ declare class ConsoleLogger implements ILogger {
4
+ protected readonly name: string;
5
+ protected readonly level: LogLevel;
6
+ private readonly _enabled;
7
+ private readonly _levels;
8
+ private readonly _colors;
9
+ constructor(name: string, options?: ILoggerOptions);
10
+ error(...msg: any[]): void;
11
+ warn(...msg: any[]): void;
12
+ info(...msg: any[]): void;
13
+ debug(...msg: any[]): void;
14
+ log(level: LogLevel, ...msg: any[]): void;
15
+ child(name: string): ConsoleLogger;
16
+ }
17
+
18
+ export { ConsoleLogger };
@@ -0,0 +1,18 @@
1
+ import { ILogger, LogLevel, ILoggerOptions } from './logger.js';
2
+
3
+ declare class ConsoleLogger implements ILogger {
4
+ protected readonly name: string;
5
+ protected readonly level: LogLevel;
6
+ private readonly _enabled;
7
+ private readonly _levels;
8
+ private readonly _colors;
9
+ constructor(name: string, options?: ILoggerOptions);
10
+ error(...msg: any[]): void;
11
+ warn(...msg: any[]): void;
12
+ info(...msg: any[]): void;
13
+ debug(...msg: any[]): void;
14
+ log(level: LogLevel, ...msg: any[]): void;
15
+ child(name: string): ConsoleLogger;
16
+ }
17
+
18
+ export { ConsoleLogger };
@@ -0,0 +1,91 @@
1
+ 'use strict';
2
+
3
+ var ansi = require('./ansi');
4
+
5
+ class ConsoleLogger {
6
+ name;
7
+ level;
8
+ _enabled;
9
+ _levels = {
10
+ error: 100,
11
+ warn: 200,
12
+ info: 300,
13
+ debug: 400
14
+ };
15
+ _colors = {
16
+ error: ansi.ANSI.ForegroundRed,
17
+ warn: ansi.ANSI.ForegroundYellow,
18
+ info: ansi.ANSI.ForegroundCyan,
19
+ debug: ansi.ANSI.ForegroundMagenta
20
+ };
21
+ constructor(name, options) {
22
+ this.name = name;
23
+ const env = typeof process === "undefined" ? void 0 : process.env;
24
+ const logNamePattern = env?.LOG || options?.pattern || "*";
25
+ this._enabled = parseMagicExpr(logNamePattern).test(name);
26
+ this.level = parseLogLevel(env?.LOG_LEVEL) || options?.level || "info";
27
+ }
28
+ error(...msg) {
29
+ this.log("error", ...msg);
30
+ }
31
+ warn(...msg) {
32
+ this.log("warn", ...msg);
33
+ }
34
+ info(...msg) {
35
+ this.log("info", ...msg);
36
+ }
37
+ debug(...msg) {
38
+ this.log("debug", ...msg);
39
+ }
40
+ log(level, ...msg) {
41
+ if (!this._enabled) {
42
+ return;
43
+ }
44
+ if (this._levels[level] > this._levels[this.level]) {
45
+ return;
46
+ }
47
+ const prefix = [this._colors[level], ansi.ANSI.Bold, `[${level.toUpperCase()}]`];
48
+ const name = [this.name, ansi.ANSI.ForegroundReset, ansi.ANSI.BoldReset];
49
+ for (const m of msg) {
50
+ let text = new String(m);
51
+ if (typeof m === "object") {
52
+ text = JSON.stringify(m, null, 2);
53
+ }
54
+ for (const line of text.split("\n")) {
55
+ console[level](prefix.join(""), name.join(""), line);
56
+ }
57
+ }
58
+ }
59
+ child(name) {
60
+ return new ConsoleLogger(`${this.name}/${name}`, {
61
+ level: this.level
62
+ });
63
+ }
64
+ }
65
+ function parseMagicExpr(pattern) {
66
+ let res = "";
67
+ const parts = pattern.split("*");
68
+ for (let i = 0; i < parts.length; i++) {
69
+ if (i > 0) {
70
+ res += ".*";
71
+ }
72
+ res += parts[i];
73
+ }
74
+ return new RegExp(res);
75
+ }
76
+ function parseLogLevel(level) {
77
+ const value = level?.toLowerCase();
78
+ switch (value) {
79
+ case "error":
80
+ case "warn":
81
+ case "info":
82
+ case "debug":
83
+ return value;
84
+ default:
85
+ return void 0;
86
+ }
87
+ }
88
+
89
+ exports.ConsoleLogger = ConsoleLogger;
90
+ //# sourceMappingURL=console.js.map
91
+ //# sourceMappingURL=console.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/logging/console.ts"],"names":["ANSI"],"mappings":"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","file":"console.js","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"]}
@@ -0,0 +1,89 @@
1
+ import { ANSI } from './ansi';
2
+
3
+ class ConsoleLogger {
4
+ name;
5
+ level;
6
+ _enabled;
7
+ _levels = {
8
+ error: 100,
9
+ warn: 200,
10
+ info: 300,
11
+ debug: 400
12
+ };
13
+ _colors = {
14
+ error: ANSI.ForegroundRed,
15
+ warn: ANSI.ForegroundYellow,
16
+ info: ANSI.ForegroundCyan,
17
+ debug: ANSI.ForegroundMagenta
18
+ };
19
+ constructor(name, options) {
20
+ this.name = name;
21
+ const env = typeof process === "undefined" ? void 0 : process.env;
22
+ const logNamePattern = env?.LOG || options?.pattern || "*";
23
+ this._enabled = parseMagicExpr(logNamePattern).test(name);
24
+ this.level = parseLogLevel(env?.LOG_LEVEL) || options?.level || "info";
25
+ }
26
+ error(...msg) {
27
+ this.log("error", ...msg);
28
+ }
29
+ warn(...msg) {
30
+ this.log("warn", ...msg);
31
+ }
32
+ info(...msg) {
33
+ this.log("info", ...msg);
34
+ }
35
+ debug(...msg) {
36
+ this.log("debug", ...msg);
37
+ }
38
+ log(level, ...msg) {
39
+ if (!this._enabled) {
40
+ return;
41
+ }
42
+ if (this._levels[level] > this._levels[this.level]) {
43
+ return;
44
+ }
45
+ const prefix = [this._colors[level], ANSI.Bold, `[${level.toUpperCase()}]`];
46
+ const name = [this.name, ANSI.ForegroundReset, ANSI.BoldReset];
47
+ for (const m of msg) {
48
+ let text = new String(m);
49
+ if (typeof m === "object") {
50
+ text = JSON.stringify(m, null, 2);
51
+ }
52
+ for (const line of text.split("\n")) {
53
+ console[level](prefix.join(""), name.join(""), line);
54
+ }
55
+ }
56
+ }
57
+ child(name) {
58
+ return new ConsoleLogger(`${this.name}/${name}`, {
59
+ level: this.level
60
+ });
61
+ }
62
+ }
63
+ function parseMagicExpr(pattern) {
64
+ let res = "";
65
+ const parts = pattern.split("*");
66
+ for (let i = 0; i < parts.length; i++) {
67
+ if (i > 0) {
68
+ res += ".*";
69
+ }
70
+ res += parts[i];
71
+ }
72
+ return new RegExp(res);
73
+ }
74
+ function parseLogLevel(level) {
75
+ const value = level?.toLowerCase();
76
+ switch (value) {
77
+ case "error":
78
+ case "warn":
79
+ case "info":
80
+ case "debug":
81
+ return value;
82
+ default:
83
+ return void 0;
84
+ }
85
+ }
86
+
87
+ export { ConsoleLogger };
88
+ //# sourceMappingURL=console.mjs.map
89
+ //# sourceMappingURL=console.mjs.map
@@ -0,0 +1 @@
1
+ {"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"]}
@@ -0,0 +1,3 @@
1
+ export { ConsoleLogger } from './console.mjs';
2
+ export { ILogger, ILoggerOptions, LogLevel } from './logger.mjs';
3
+ export { String } from './string.mjs';
@@ -0,0 +1,3 @@
1
+ export { ConsoleLogger } from './console.js';
2
+ export { ILogger, ILoggerOptions, LogLevel } from './logger.js';
3
+ export { String } from './string.js';
@@ -0,0 +1,28 @@
1
+ 'use strict';
2
+
3
+ var console = require('./console');
4
+ var logger = require('./logger');
5
+ var string = require('./string');
6
+
7
+
8
+
9
+ Object.keys(console).forEach(function (k) {
10
+ if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
11
+ enumerable: true,
12
+ get: function () { return console[k]; }
13
+ });
14
+ });
15
+ Object.keys(logger).forEach(function (k) {
16
+ if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
17
+ enumerable: true,
18
+ get: function () { return logger[k]; }
19
+ });
20
+ });
21
+ Object.keys(string).forEach(function (k) {
22
+ if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
23
+ enumerable: true,
24
+ get: function () { return string[k]; }
25
+ });
26
+ });
27
+ //# sourceMappingURL=index.js.map
28
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"index.js","sourcesContent":[]}
@@ -0,0 +1,5 @@
1
+ export * from './console';
2
+ export * from './logger';
3
+ export * from './string';
4
+ //# sourceMappingURL=index.mjs.map
5
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"index.mjs","sourcesContent":[]}
@@ -0,0 +1,45 @@
1
+ type LogLevel = 'error' | 'warn' | 'info' | 'debug';
2
+ interface ILoggerOptions {
3
+ /**
4
+ * Minimum severity level to log. When provided, log entries with lower severity are ignored.
5
+ */
6
+ readonly level?: LogLevel;
7
+ /**
8
+ * Logger name filter pattern. May contain wild cards.
9
+ * When provided, the logger is only enabled if its name matches the pattern.
10
+ */
11
+ readonly pattern?: string;
12
+ }
13
+ interface ILogger {
14
+ /**
15
+ * Output debug message
16
+ * @param msg any data to log
17
+ */
18
+ debug(...msg: any[]): void;
19
+ /**
20
+ * Output info message
21
+ * @param msg any data to log
22
+ */
23
+ info(...msg: any[]): void;
24
+ /**
25
+ * Output warn message
26
+ * @param msg any data to log
27
+ */
28
+ warn(...msg: any[]): void;
29
+ /**
30
+ * Output error message
31
+ * @param msg any data to log
32
+ */
33
+ error(...msg: any[]): void;
34
+ /**
35
+ * Output log message
36
+ * @param msg any data to log
37
+ */
38
+ log(level: LogLevel, ...msg: any[]): void;
39
+ /**
40
+ * Create a child logger instance
41
+ */
42
+ child(name: string): ILogger;
43
+ }
44
+
45
+ export type { ILogger, ILoggerOptions, LogLevel };
@@ -0,0 +1,45 @@
1
+ type LogLevel = 'error' | 'warn' | 'info' | 'debug';
2
+ interface ILoggerOptions {
3
+ /**
4
+ * Minimum severity level to log. When provided, log entries with lower severity are ignored.
5
+ */
6
+ readonly level?: LogLevel;
7
+ /**
8
+ * Logger name filter pattern. May contain wild cards.
9
+ * When provided, the logger is only enabled if its name matches the pattern.
10
+ */
11
+ readonly pattern?: string;
12
+ }
13
+ interface ILogger {
14
+ /**
15
+ * Output debug message
16
+ * @param msg any data to log
17
+ */
18
+ debug(...msg: any[]): void;
19
+ /**
20
+ * Output info message
21
+ * @param msg any data to log
22
+ */
23
+ info(...msg: any[]): void;
24
+ /**
25
+ * Output warn message
26
+ * @param msg any data to log
27
+ */
28
+ warn(...msg: any[]): void;
29
+ /**
30
+ * Output error message
31
+ * @param msg any data to log
32
+ */
33
+ error(...msg: any[]): void;
34
+ /**
35
+ * Output log message
36
+ * @param msg any data to log
37
+ */
38
+ log(level: LogLevel, ...msg: any[]): void;
39
+ /**
40
+ * Create a child logger instance
41
+ */
42
+ child(name: string): ILogger;
43
+ }
44
+
45
+ export type { ILogger, ILoggerOptions, LogLevel };
@@ -0,0 +1,4 @@
1
+ 'use strict';
2
+
3
+ //# sourceMappingURL=logger.js.map
4
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"logger.js"}
@@ -0,0 +1,3 @@
1
+
2
+ //# sourceMappingURL=logger.mjs.map
3
+ //# sourceMappingURL=logger.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"logger.mjs"}
@@ -0,0 +1,36 @@
1
+ type StringLike = {
2
+ toString(): string;
3
+ };
4
+ declare class String implements StringLike {
5
+ private _value;
6
+ constructor(value?: string);
7
+ clear(): this;
8
+ append(...text: StringLike[]): this;
9
+ reset(): this;
10
+ bold(text: StringLike): this;
11
+ italic(text: StringLike): this;
12
+ underline(text: StringLike): this;
13
+ strike(text: StringLike): this;
14
+ black(text: StringLike): this;
15
+ bgBlack(text: StringLike): this;
16
+ red(text: StringLike): this;
17
+ bgRed(text: StringLike): this;
18
+ green(text: StringLike): this;
19
+ bgGreen(text: StringLike): this;
20
+ yellow(text: StringLike): this;
21
+ bgYellow(text: StringLike): this;
22
+ blue(text: StringLike): this;
23
+ bgBlue(text: StringLike): this;
24
+ magenta(text: StringLike): this;
25
+ bgMagenta(text: StringLike): this;
26
+ cyan(text: StringLike): this;
27
+ bgCyan(text: StringLike): this;
28
+ white(text: StringLike): this;
29
+ bgWhite(text: StringLike): this;
30
+ gray(text: StringLike): this;
31
+ default(text: StringLike): this;
32
+ bgDefault(text: StringLike): this;
33
+ toString(): string;
34
+ }
35
+
36
+ export { String };
@@ -0,0 +1,36 @@
1
+ type StringLike = {
2
+ toString(): string;
3
+ };
4
+ declare class String implements StringLike {
5
+ private _value;
6
+ constructor(value?: string);
7
+ clear(): this;
8
+ append(...text: StringLike[]): this;
9
+ reset(): this;
10
+ bold(text: StringLike): this;
11
+ italic(text: StringLike): this;
12
+ underline(text: StringLike): this;
13
+ strike(text: StringLike): this;
14
+ black(text: StringLike): this;
15
+ bgBlack(text: StringLike): this;
16
+ red(text: StringLike): this;
17
+ bgRed(text: StringLike): this;
18
+ green(text: StringLike): this;
19
+ bgGreen(text: StringLike): this;
20
+ yellow(text: StringLike): this;
21
+ bgYellow(text: StringLike): this;
22
+ blue(text: StringLike): this;
23
+ bgBlue(text: StringLike): this;
24
+ magenta(text: StringLike): this;
25
+ bgMagenta(text: StringLike): this;
26
+ cyan(text: StringLike): this;
27
+ bgCyan(text: StringLike): this;
28
+ white(text: StringLike): this;
29
+ bgWhite(text: StringLike): this;
30
+ gray(text: StringLike): this;
31
+ default(text: StringLike): this;
32
+ bgDefault(text: StringLike): this;
33
+ toString(): string;
34
+ }
35
+
36
+ export { String };
@@ -0,0 +1,121 @@
1
+ 'use strict';
2
+
3
+ var ansi = require('./ansi');
4
+
5
+ class String {
6
+ _value;
7
+ constructor(value = "") {
8
+ this._value = value;
9
+ }
10
+ clear() {
11
+ this._value = "";
12
+ return this;
13
+ }
14
+ append(...text) {
15
+ this._value += text.join("");
16
+ return this;
17
+ }
18
+ reset() {
19
+ this._value += ansi.ANSI.Reset;
20
+ return this;
21
+ }
22
+ bold(text) {
23
+ this._value += ansi.ANSI.Bold + text.toString() + ansi.ANSI.BoldReset;
24
+ return this;
25
+ }
26
+ italic(text) {
27
+ this._value += ansi.ANSI.Italic + text.toString() + ansi.ANSI.ItalicReset;
28
+ return this;
29
+ }
30
+ underline(text) {
31
+ this._value += ansi.ANSI.Underline + text.toString() + ansi.ANSI.UnderlineReset;
32
+ return this;
33
+ }
34
+ strike(text) {
35
+ this._value += ansi.ANSI.Strike + text.toString() + ansi.ANSI.StrikeReset;
36
+ return this;
37
+ }
38
+ black(text) {
39
+ this._value += ansi.ANSI.ForegroundBlack + text.toString() + ansi.ANSI.ForegroundReset;
40
+ return this;
41
+ }
42
+ bgBlack(text) {
43
+ this._value += ansi.ANSI.BackgroundBlack + text.toString() + ansi.ANSI.BackgroundReset;
44
+ return this;
45
+ }
46
+ red(text) {
47
+ this._value += ansi.ANSI.ForegroundRed + text.toString() + ansi.ANSI.ForegroundReset;
48
+ return this;
49
+ }
50
+ bgRed(text) {
51
+ this._value += ansi.ANSI.BackgroundRed + text.toString() + ansi.ANSI.BackgroundReset;
52
+ return this;
53
+ }
54
+ green(text) {
55
+ this._value += ansi.ANSI.ForegroundGreen + text.toString() + ansi.ANSI.ForegroundReset;
56
+ return this;
57
+ }
58
+ bgGreen(text) {
59
+ this._value += ansi.ANSI.BackgroundGreen + text.toString() + ansi.ANSI.BackgroundReset;
60
+ return this;
61
+ }
62
+ yellow(text) {
63
+ this._value += ansi.ANSI.ForegroundYellow + text.toString() + ansi.ANSI.ForegroundReset;
64
+ return this;
65
+ }
66
+ bgYellow(text) {
67
+ this._value += ansi.ANSI.BackgroundYellow + text.toString() + ansi.ANSI.BackgroundReset;
68
+ return this;
69
+ }
70
+ blue(text) {
71
+ this._value += ansi.ANSI.ForegroundBlue + text.toString() + ansi.ANSI.ForegroundReset;
72
+ return this;
73
+ }
74
+ bgBlue(text) {
75
+ this._value += ansi.ANSI.BackgroundBlue + text.toString() + ansi.ANSI.BackgroundReset;
76
+ return this;
77
+ }
78
+ magenta(text) {
79
+ this._value += ansi.ANSI.ForegroundMagenta + text.toString() + ansi.ANSI.ForegroundReset;
80
+ return this;
81
+ }
82
+ bgMagenta(text) {
83
+ this._value += ansi.ANSI.BackgroundMagenta + text.toString() + ansi.ANSI.BackgroundReset;
84
+ return this;
85
+ }
86
+ cyan(text) {
87
+ this._value += ansi.ANSI.ForegroundCyan + text.toString() + ansi.ANSI.ForegroundReset;
88
+ return this;
89
+ }
90
+ bgCyan(text) {
91
+ this._value += ansi.ANSI.BackgroundCyan + text.toString() + ansi.ANSI.BackgroundReset;
92
+ return this;
93
+ }
94
+ white(text) {
95
+ this._value += ansi.ANSI.ForegroundWhite + text.toString() + ansi.ANSI.ForegroundReset;
96
+ return this;
97
+ }
98
+ bgWhite(text) {
99
+ this._value += ansi.ANSI.BackgroundWhite + text.toString() + ansi.ANSI.BackgroundReset;
100
+ return this;
101
+ }
102
+ gray(text) {
103
+ this._value += ansi.ANSI.ForegroundGray + text.toString() + ansi.ANSI.ForegroundReset;
104
+ return this;
105
+ }
106
+ default(text) {
107
+ this._value += ansi.ANSI.ForegroundDefault + text.toString() + ansi.ANSI.ForegroundReset;
108
+ return this;
109
+ }
110
+ bgDefault(text) {
111
+ this._value += ansi.ANSI.BackgroundDefault + text.toString() + ansi.ANSI.BackgroundReset;
112
+ return this;
113
+ }
114
+ toString() {
115
+ return this._value;
116
+ }
117
+ }
118
+
119
+ exports.String = String;
120
+ //# sourceMappingURL=string.js.map
121
+ //# sourceMappingURL=string.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/logging/string.ts"],"names":["ANSI"],"mappings":"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","file":"string.js","sourcesContent":["import { ANSI } from './ansi';\n\ntype StringLike = {\n toString(): string;\n};\n\nexport class String implements StringLike {\n private _value: string;\n\n constructor(value = '') {\n this._value = value;\n }\n\n clear() {\n this._value = '';\n return this;\n }\n\n append(...text: StringLike[]) {\n this._value += text.join('');\n return this;\n }\n\n reset() {\n this._value += ANSI.Reset;\n return this;\n }\n\n bold(text: StringLike) {\n this._value += ANSI.Bold + text.toString() + ANSI.BoldReset;\n return this;\n }\n\n italic(text: StringLike) {\n this._value += ANSI.Italic + text.toString() + ANSI.ItalicReset;\n return this;\n }\n\n underline(text: StringLike) {\n this._value += ANSI.Underline + text.toString() + ANSI.UnderlineReset;\n return this;\n }\n\n strike(text: StringLike) {\n this._value += ANSI.Strike + text.toString() + ANSI.StrikeReset;\n return this;\n }\n\n black(text: StringLike) {\n this._value += ANSI.ForegroundBlack + text.toString() + ANSI.ForegroundReset;\n return this;\n }\n\n bgBlack(text: StringLike) {\n this._value += ANSI.BackgroundBlack + text.toString() + ANSI.BackgroundReset;\n return this;\n }\n\n red(text: StringLike) {\n this._value += ANSI.ForegroundRed + text.toString() + ANSI.ForegroundReset;\n return this;\n }\n\n bgRed(text: StringLike) {\n this._value += ANSI.BackgroundRed + text.toString() + ANSI.BackgroundReset;\n return this;\n }\n\n green(text: StringLike) {\n this._value += ANSI.ForegroundGreen + text.toString() + ANSI.ForegroundReset;\n return this;\n }\n\n bgGreen(text: StringLike) {\n this._value += ANSI.BackgroundGreen + text.toString() + ANSI.BackgroundReset;\n return this;\n }\n\n yellow(text: StringLike) {\n this._value += ANSI.ForegroundYellow + text.toString() + ANSI.ForegroundReset;\n return this;\n }\n\n bgYellow(text: StringLike) {\n this._value += ANSI.BackgroundYellow + text.toString() + ANSI.BackgroundReset;\n return this;\n }\n\n blue(text: StringLike) {\n this._value += ANSI.ForegroundBlue + text.toString() + ANSI.ForegroundReset;\n return this;\n }\n\n bgBlue(text: StringLike) {\n this._value += ANSI.BackgroundBlue + text.toString() + ANSI.BackgroundReset;\n return this;\n }\n\n magenta(text: StringLike) {\n this._value += ANSI.ForegroundMagenta + text.toString() + ANSI.ForegroundReset;\n return this;\n }\n\n bgMagenta(text: StringLike) {\n this._value += ANSI.BackgroundMagenta + text.toString() + ANSI.BackgroundReset;\n return this;\n }\n\n cyan(text: StringLike) {\n this._value += ANSI.ForegroundCyan + text.toString() + ANSI.ForegroundReset;\n return this;\n }\n\n bgCyan(text: StringLike) {\n this._value += ANSI.BackgroundCyan + text.toString() + ANSI.BackgroundReset;\n return this;\n }\n\n white(text: StringLike) {\n this._value += ANSI.ForegroundWhite + text.toString() + ANSI.ForegroundReset;\n return this;\n }\n\n bgWhite(text: StringLike) {\n this._value += ANSI.BackgroundWhite + text.toString() + ANSI.BackgroundReset;\n return this;\n }\n\n gray(text: StringLike) {\n this._value += ANSI.ForegroundGray + text.toString() + ANSI.ForegroundReset;\n return this;\n }\n\n default(text: StringLike) {\n this._value += ANSI.ForegroundDefault + text.toString() + ANSI.ForegroundReset;\n return this;\n }\n\n bgDefault(text: StringLike) {\n this._value += ANSI.BackgroundDefault + text.toString() + ANSI.BackgroundReset;\n return this;\n }\n\n toString() {\n return this._value;\n }\n}\n"]}