UNPKG

error-advisor

Version:

NPM module that aim to facilitate the error handling by providing http errors classes and also let you customize business errors as well with handy and clean way.

55 lines 3.31 kB
"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __exportStar = (this && this.__exportStar) || function(m, exports) { for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.Utils = void 0; const Utils_1 = __importDefault(require("./advisor/util/Utils")); const logger_1 = __importDefault(require("./logger")); const InternalServerError_1 = __importDefault(require("./advisor/error/server_error/InternalServerError")); function errorAdvisor(options, err, res) { let error; const logger = new logger_1.default(options.env || "development"); if (err && err.hasOwnProperty("message") && err.hasOwnProperty("type") && err.hasOwnProperty("statusCode") && err.hasOwnProperty("timestamp")) { error = Utils_1.default.errorBuilder(err.message, err.type, err.statusCode, err.timestamp); } else if (err && err.hasOwnProperty("status")) { const errorBasedOnStatusCode = Utils_1.default.errorFactory(err.status); error = Utils_1.default.errorBuilder(errorBasedOnStatusCode.msg, errorBasedOnStatusCode.type, errorBasedOnStatusCode.status, errorBasedOnStatusCode.timestamp); } else if (err && err.hasOwnProperty("code")) { const errorBasedOnStatusCode = JSON.stringify(Utils_1.default.errorFactory(err.status)); error = Utils_1.default.errorBuilder(errorBasedOnStatusCode.message, errorBasedOnStatusCode.name, errorBasedOnStatusCode.status, errorBasedOnStatusCode.timestamp); } else if (err && err.hasOwnProperty("statusCode")) { const errorBasedOnStatusCode = JSON.stringify(Utils_1.default.errorFactory(err.status)); error = Utils_1.default.errorBuilder(errorBasedOnStatusCode.message, errorBasedOnStatusCode.type, errorBasedOnStatusCode.status, errorBasedOnStatusCode.timestamp); } else { const unrecognizedError = JSON.stringify(new InternalServerError_1.default()); error = Utils_1.default.errorBuilder(unrecognizedError.message, unrecognizedError.type, unrecognizedError.status, unrecognizedError.timestamp); } options && options.debug && typeof options.debug === "boolean" && (error.stack = err.stack); options && options.env && options.log && typeof options.log === "boolean" && logger.error(err); return res.status(error.status).json(error); } exports.default = errorAdvisor; __exportStar(require("./advisor/error/client_error/Client_Errors"), exports); __exportStar(require("./advisor/error/server_error/Server_Errors"), exports); var Utils_2 = require("./advisor/util/Utils"); Object.defineProperty(exports, "Utils", { enumerable: true, get: function () { return __importDefault(Utils_2).default; } }); //# sourceMappingURL=index.js.map