ts-express-kit
Version:
A TypeScript starter kit for building Express applications with best practices.
47 lines (46 loc) • 1.57 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const AppError_1 = __importDefault(require("../errors/AppError"));
const config_1 = __importDefault(require("../config"));
const globalErrorHandler = (err, req, res, next) => {
// setting default values
let statusCode = 500;
let message = 'Something went wrong';
let errorSources = [
{
path: '',
message: 'Something went wrong'
}
];
if (err instanceof AppError_1.default) {
statusCode = err === null || err === void 0 ? void 0 : err.statusCode;
message = err === null || err === void 0 ? void 0 : err.message;
errorSources = [
{
path: '',
message: err === null || err === void 0 ? void 0 : err.message
}
];
}
else if (err instanceof Error) {
message = err === null || err === void 0 ? void 0 : err.message;
errorSources = [
{
path: '',
message: err === null || err === void 0 ? void 0 : err.message
}
];
}
// actual return
return res.status(statusCode).json({
success: false,
message,
errorSources,
err,
stack: config_1.default.NODE_ENV === 'development' ? err === null || err === void 0 ? void 0 : err.stack : null
});
};
exports.default = globalErrorHandler;