UNPKG

@slickteam/nestjs-utils

Version:
81 lines 2.69 kB
"use strict"; 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