import { Request, Response, NextFunction, RequestHandler } from 'express'; type AsyncFunction = ( req: Request, res: Response, next: NextFunction ) => Promise; const asyncHandler = (fn: AsyncFunction): RequestHandler => { return (req: Request, res: Response, next: NextFunction) => { Promise.resolve(fn(req, res, next)).catch(next); }; }; export default asyncHandler;