Skip to content

Commit 5781cf8

Browse files
committed
fix: type error in logger module
1 parent 926d863 commit 5781cf8

File tree

3 files changed

+29
-16
lines changed

3 files changed

+29
-16
lines changed

bun.lockb

392 Bytes
Binary file not shown.

package.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,8 @@
1010
"build": "bun run build.ts"
1111
},
1212
"devDependencies": {
13-
"@types/bun": "latest"
13+
"@types/bun": "latest",
14+
"@types/chalk": "^2.2.0"
1415
},
1516
"peerDependencies": {
1617
"typescript": "^5.0.0"

src/utils/logger.ts

+27-15
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,17 @@
11
import chalk from "chalk";
22

3-
export enum LogLevel {
4-
DEBUG,
5-
INFO,
6-
WARN,
7-
ERROR,
8-
}
3+
export const LogLevel = {
4+
DEBUG: "DEBUG" as const,
5+
INFO: "INFO" as const,
6+
WARN: "WARN" as const,
7+
ERROR: "ERROR" as const,
8+
};
9+
10+
export type LogLevelType = (typeof LogLevel)[keyof typeof LogLevel];
911

1012
export class Logger {
1113
private static instance: Logger;
12-
private currentLevel: LogLevel = LogLevel.INFO;
14+
private currentLevel: LogLevelType = LogLevel.INFO; // Default level
1315

1416
private constructor() {}
1517

@@ -20,16 +22,26 @@ export class Logger {
2022
return Logger.instance;
2123
}
2224

23-
getLevel(): LogLevel {
25+
getLevel(): LogLevelType {
2426
return this.currentLevel;
2527
}
2628

27-
setLevel(level: LogLevel) {
29+
setLevel(level: LogLevelType) {
2830
this.currentLevel = level;
2931
}
3032

31-
private log(level: LogLevel, color: chalk.ChalkFunction, tag: string, ...messages: any[]) {
32-
if (this.currentLevel <= level) {
33+
private logLevelValue(level: LogLevelType): number {
34+
const levels = {
35+
[LogLevel.DEBUG]: 0,
36+
[LogLevel.INFO]: 1,
37+
[LogLevel.WARN]: 2,
38+
[LogLevel.ERROR]: 3,
39+
};
40+
return levels[level];
41+
}
42+
43+
private log(level: LogLevelType, color: (str: string) => string, tag: string, ...messages: any[]) {
44+
if (this.logLevelValue(this.currentLevel) <= this.logLevelValue(level)) {
3345
const formattedMessages = messages
3446
.map((msg) => (typeof msg === "object" ? JSON.stringify(msg) : msg))
3547
.join(" ");
@@ -38,19 +50,19 @@ export class Logger {
3850
}
3951

4052
debug(...messages: any[]) {
41-
this.log(LogLevel.DEBUG, chalk.gray, "DEBUG", ...messages);
53+
this.log(LogLevel.DEBUG, chalk.gray, LogLevel.DEBUG, ...messages);
4254
}
4355

4456
info(...messages: any[]) {
45-
this.log(LogLevel.INFO, chalk.blue, "INFO", ...messages);
57+
this.log(LogLevel.INFO, chalk.blue, LogLevel.INFO, ...messages);
4658
}
4759

4860
warn(...messages: any[]) {
49-
this.log(LogLevel.WARN, chalk.yellow, "WARN", ...messages);
61+
this.log(LogLevel.WARN, chalk.yellow, LogLevel.WARN, ...messages);
5062
}
5163

5264
error(...messages: any[]) {
53-
this.log(LogLevel.ERROR, chalk.red, "ERROR", ...messages);
65+
this.log(LogLevel.ERROR, chalk.red, LogLevel.ERROR, ...messages);
5466
}
5567

5668
command(...messages: any[]) {

0 commit comments

Comments
 (0)