@slickteam/nestjs-utils
Version:
Utils functions and classes for Nestjs
81 lines • 2.69 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ErrorEnum = void 0;
exports.LoggerParams = LoggerParams;
exports.throwErrorAndLog = throwErrorAndLog;
exports.logLevel = logLevel;
const common_1 = require("@nestjs/common");
var ErrorEnum;
(function (ErrorEnum) {
ErrorEnum[ErrorEnum["INTERNAL_ERROR"] = 0] = "INTERNAL_ERROR";
ErrorEnum[ErrorEnum["NOT_FOUND"] = 1] = "NOT_FOUND";
})(ErrorEnum || (exports.ErrorEnum = ErrorEnum = {}));
function LoggerParams(level = 'verbose') {
return (target, propertyKey, descriptor) => {
const original = descriptor.value;
descriptor.value = function (...args) {
let message = `${propertyKey}(`;
for (let i = 0; i < args.length; i++) {
const arg = args[i];
if (Array.isArray(arg)) {
message += `[${i}]=${arg.length}`;
}
else {
message += `[${i}]=${String(arg)}`;
}
if (i < args.length - 1) {
message += ',';
}
}
message += ')';
const className = target.constructor.name;
switch (level) {
case 'verbose':
common_1.Logger.verbose(message, className);
break;
case 'debug':
common_1.Logger.debug(message, className);
break;
case 'log':
common_1.Logger.log(message, className);
break;
case 'warn':
common_1.Logger.warn(message, className);
break;
default:
common_1.Logger.error(message, className);
break;
}
const value = original.apply(this, args);
return value;
};
};
}
function throwErrorAndLog(logger, message, typeError = ErrorEnum.INTERNAL_ERROR) {
let error;
if (typeError === ErrorEnum.NOT_FOUND) {
error = new common_1.NotFoundException(message);
}
else {
error = new common_1.InternalServerErrorException(message);
}
logger?.error(message);
throw error;
}
function logLevel(level) {
const levelTab = [];
switch (level) {
case 'verbose':
levelTab.push('verbose');
case 'debug':
levelTab.push('debug');
case 'log':
levelTab.push('log');
case 'warn':
levelTab.push('warn');
default:
levelTab.push('error');
}
return levelTab;
}
//# sourceMappingURL=index.js.map