@ronniepettersson/homebridge-dummy
Version:
Create Homebridge accessories to help with automation and control — scheduling, delays, sensors, commands, webhooks, and more
52 lines • 1.58 kB
JavaScript
export var LogType;
(function (LogType) {
LogType[LogType["ALWAYS"] = 0] = "ALWAYS";
LogType[LogType["WARNING"] = 1] = "WARNING";
LogType[LogType["ERROR"] = 2] = "ERROR";
LogType[LogType["SUCCESS"] = 3] = "SUCCESS";
})(LogType || (LogType = {}));
export class Log {
logger;
verbose;
constructor(logger, verbose) {
this.logger = logger;
this.verbose = verbose;
}
always(message, ...parameters) {
this.logger.info(message, ...parameters);
}
warning(message, ...parameters) {
this.logger.warn(message, ...parameters);
}
error(message, ...parameters) {
this.logger.error(message, ...parameters);
}
success(message, ...parameters) {
this.logger.success(message, ...parameters);
}
ifVerbose(levelOrMessage, ...rest) {
if (!this.verbose) {
return;
}
if (typeof levelOrMessage === 'string') {
this.always(levelOrMessage, ...rest);
return;
}
const [message, ...parameters] = rest;
switch (levelOrMessage) {
case LogType.ALWAYS:
this.always(message, ...parameters);
break;
case LogType.WARNING:
this.warning(message, ...parameters);
break;
case LogType.ERROR:
this.error(message, ...parameters);
break;
case LogType.SUCCESS:
this.error(message, ...parameters);
break;
}
}
}
//# sourceMappingURL=log.js.map