Express: add missing generics (#43764)

* Add missing generics

* Fix line length

* Fix dependency tests
This commit is contained in:
Oliver Joseph Ash
2020-04-09 13:20:43 -07:00
committed by GitHub
parent 0fd9f67701
commit 62e64f0335
4 changed files with 14 additions and 7 deletions
+6
View File
@@ -224,6 +224,12 @@ namespace express_tests {
app.listen(3000);
const next: express.NextFunction = () => { };
// Make sure we can use every generic
const someOtherHandler: express.RequestHandler<{}, any, any , { foo: string }> = (req, res, next) => next();
// Make sure we can use every generic
const someOtherErrorHandler: express.ErrorRequestHandler<{}, any, any , { foo: string }> = (req, res) => {};
}
/***************************
+3 -2
View File
@@ -95,7 +95,8 @@ declare namespace e {
interface Application extends core.Application { }
interface CookieOptions extends core.CookieOptions { }
interface Errback extends core.Errback { }
interface ErrorRequestHandler<P extends core.Params = core.ParamsDictionary> extends core.ErrorRequestHandler<P> { }
interface ErrorRequestHandler<P extends core.Params = core.ParamsDictionary, ResBody = any, ReqBody = any, ReqQuery = core.Query>
extends core.ErrorRequestHandler<P, ResBody, ReqBody, ReqQuery> { }
interface Express extends core.Express { }
interface Handler extends core.Handler { }
interface IRoute extends core.IRoute { }
@@ -105,7 +106,7 @@ declare namespace e {
interface MediaType extends core.MediaType { }
interface NextFunction extends core.NextFunction { }
interface Request<P extends core.Params = core.ParamsDictionary, ResBody = any, ReqBody = any, ReqQuery = core.Query> extends core.Request<P, ResBody, ReqBody, ReqQuery> { }
interface RequestHandler<P extends core.Params = core.ParamsDictionary> extends core.RequestHandler<P> { }
interface RequestHandler<P extends core.Params = core.ParamsDictionary, ResBody = any, ReqBody = any, ReqQuery = core.Query> extends core.RequestHandler<P, ResBody, ReqBody, ReqQuery> { }
interface RequestParamHandler extends core.RequestParamHandler { }
export interface Response<ResBody = any> extends core.Response<ResBody> { }
interface Router extends core.Router { }
+3 -3
View File
@@ -11,9 +11,9 @@ const fullAbideOptions: i18n.AbideOptions = {
logger: { warn(msg: string) {}, error(msg: string) {} },
};
i18n.abide(); // $ExpectType RequestHandler<ParamsDictionary>
i18n.abide(emptyAbideOptions); // $ExpectType RequestHandler<ParamsDictionary>
i18n.abide(fullAbideOptions); // $ExpectType RequestHandler<ParamsDictionary>
i18n.abide(); // $ExpectType RequestHandler<ParamsDictionary, any, any, Query>
i18n.abide(emptyAbideOptions); // $ExpectType RequestHandler<ParamsDictionary, any, any, Query>
i18n.abide(fullAbideOptions); // $ExpectType RequestHandler<ParamsDictionary, any, any, Query>
i18n.parseAcceptLanguage(""); // $ExpectType { lang: string; quality: number; }[]
+2 -2
View File
@@ -199,10 +199,10 @@ transforms.createTransformer([], new LassoContext(), (err, result) => {});
// Middleware tests
// $ExpectType RequestHandler<ParamsDictionary>
// $ExpectType RequestHandler<ParamsDictionary, any, any, Query>
serveStatic();
// $ExpectType RequestHandler<ParamsDictionary>
// $ExpectType RequestHandler<ParamsDictionary, any, any, Query>
serveStatic({
lasso,
sendOptions: {}