UNPKG

ts-express-kit

Version:

A TypeScript starter kit for building Express applications with best practices.

48 lines (44 loc) 1.09 kB
/* eslint-disable no-unused-vars */ /* eslint-disable @typescript-eslint/no-unused-vars */ import { ErrorRequestHandler } from 'express'; import { TErrorSources } from '../interface/error'; import AppError from '../errors/AppError'; import config from '../config'; const globalErrorHandler: ErrorRequestHandler = (err, req, res, next) => { // setting default values let statusCode = 500; let message = 'Something went wrong'; let errorSources: TErrorSources = [ { path: '', message: 'Something went wrong' } ]; if (err instanceof AppError) { statusCode = err?.statusCode; message = err?.message; errorSources = [ { path: '', message: err?.message } ]; } else if (err instanceof Error) { message = err?.message; errorSources = [ { path: '', message: err?.message } ]; } // actual return return res.status(statusCode).json({ success: false, message, errorSources, err, stack: config.NODE_ENV === 'development' ? err?.stack : null }); }; export default globalErrorHandler;