diff --git a/src/express5.d.ts b/src/express5.d.ts new file mode 100644 index 000000000..745f80ed7 --- /dev/null +++ b/src/express5.d.ts @@ -0,0 +1,42 @@ +/** + * @fileOverview Temporary adjustment to the Express 5 type declarations + * @see https://github.com/DefinitelyTyped/DefinitelyTyped/pull/69846/files#diff-5962769e8693df44c9e1083881fb1da149a67262026db939b7430536d514e7af + * */ +/* eslint-disable allowed/dependencies -- this is DTS */ +/* eslint-disable @typescript-eslint/no-explicit-any -- copying as is */ +import { ParsedQs } from "qs"; +import { + NextFunction, + ParamsDictionary, + Request, + Response, +} from "express-serve-static-core"; + +declare module "express-serve-static-core" { + export interface RequestHandler< + P = ParamsDictionary, + ResBody = any, + ReqBody = any, + ReqQuery = ParsedQs, + LocalsObj extends Record = Record, + > { + ( + req: Request, + res: Response, + next: NextFunction, + ): void | Promise; + } + + export type ErrorRequestHandler< + P = ParamsDictionary, + ResBody = any, + ReqBody = any, + ReqQuery = ParsedQs, + LocalsObj extends Record = Record, + > = ( + err: any, + req: Request, + res: Response, + next: NextFunction, + ) => void | Promise; +}