ts2json-schema
Version:
Build JSON schemas for your typescript types matching a pattern.
53 lines • 1.91 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Logger = void 0;
class Logger {
// eslint-disable-next-line @typescript-eslint/no-empty-function
constructor(level = 1 /* WARN */, log = () => { }) {
this._log = log;
this.logLevel = level;
}
info(message, ...optionalParams) {
this.log(2 /* INFO */, message, ...optionalParams);
}
debug(message, ...optionalParams) {
this.log(4 /* DEBUG */, message, ...optionalParams);
}
error(message, ...optionalParams) {
this.log(0 /* ERROR */, message, ...optionalParams);
}
warn(message, ...optionalParams) {
this.log(1 /* WARN */, message, ...optionalParams);
}
verbose(message, ...optionalParams) {
this.log(3 /* VERBOSE */, message, ...optionalParams);
}
log(level, message, ...optionalParams) {
if (!message || level > this.logLevel) {
return;
}
switch (level) {
case 3 /* VERBOSE */:
this._log(Logger.infoPrefix + message, ...optionalParams);
break;
case 4 /* DEBUG */:
this._log(Logger.debugPrefix + message, ...optionalParams);
break;
case 2 /* INFO */:
this._log(Logger.infoPrefix + message, ...optionalParams);
break;
case 1 /* WARN */:
this._log(Logger.warnPrefix + message, ...optionalParams);
break;
case 0 /* ERROR */:
this._log(Logger.errorPrefix + message, ...optionalParams);
break;
}
}
}
exports.Logger = Logger;
Logger.errorPrefix = '\x1b[31m[ERROR]\x1b[0m ';
Logger.warnPrefix = '\x1b[33m[WARN]\x1b[0m ';
Logger.infoPrefix = '\x1b[32m[INFO]\x1b[0m ';
Logger.debugPrefix = '\x1b[37m[DEBUG]\x1b[0m ';
//# sourceMappingURL=logger.js.map