From 7f9adbee7341408274e0aab325d459d41be4d61a Mon Sep 17 00:00:00 2001 From: Martin Zagora Date: Wed, 7 Jun 2017 16:00:41 +1000 Subject: [PATCH 1/2] express header methods can return undefined --- types/express-serve-static-core/index.d.ts | 6 +++--- types/express-serve-static-core/tsconfig.json | 2 +- types/express/express-tests.ts | 9 +++++++++ types/express/tsconfig.json | 2 +- 4 files changed, 14 insertions(+), 5 deletions(-) diff --git a/types/express-serve-static-core/index.d.ts b/types/express-serve-static-core/index.d.ts index 8e1f075f03..3050f080a9 100644 --- a/types/express-serve-static-core/index.d.ts +++ b/types/express-serve-static-core/index.d.ts @@ -197,11 +197,11 @@ interface Request extends http.IncomingMessage, Express.Request { * * @param name */ - get(name: string): string; + get(name: string): string | undefined; - header(name: string): string; + header(name: string): string | undefined; - headers: { [key: string]: string; }; + headers: { [key: string]: string | undefined; }; /** * Check if the given `type(s)` is acceptable, returning diff --git a/types/express-serve-static-core/tsconfig.json b/types/express-serve-static-core/tsconfig.json index 40ee779963..cdb77c3573 100644 --- a/types/express-serve-static-core/tsconfig.json +++ b/types/express-serve-static-core/tsconfig.json @@ -6,7 +6,7 @@ ], "noImplicitAny": true, "noImplicitThis": true, - "strictNullChecks": false, + "strictNullChecks": true, "baseUrl": "../", "typeRoots": [ "../" diff --git a/types/express/express-tests.ts b/types/express/express-tests.ts index 04165d5e09..cc8c63ef81 100644 --- a/types/express/express-tests.ts +++ b/types/express/express-tests.ts @@ -71,6 +71,15 @@ namespace express_tests { language = req.acceptsLanguages(['en', 'ja']); language = req.acceptsLanguages('en', 'ja'); + let existingHeader1 = req.get('existingHeader') as string; + let nonExistingHeader1 = req.get('nonExistingHeader') as undefined; + + let existingHeader2 = req.header('existingHeader') as string; + let nonExistingHeader2 = req.header('nonExistingHeader') as undefined; + + let existingHeader3 = req.headers.existingHeader as string; + let nonExistingHeader3 = req.headers.nonExistingHeader as undefined; + res.send(req.query['token']); }); diff --git a/types/express/tsconfig.json b/types/express/tsconfig.json index 0fc87c2800..009cb9ec00 100644 --- a/types/express/tsconfig.json +++ b/types/express/tsconfig.json @@ -6,7 +6,7 @@ ], "noImplicitAny": true, "noImplicitThis": true, - "strictNullChecks": false, + "strictNullChecks": true, "baseUrl": "../", "typeRoots": [ "../" From 72af5467eee6dc36dc47b01e229ce3db607adda8 Mon Sep 17 00:00:00 2001 From: Martin Zagora Date: Wed, 7 Jun 2017 16:18:28 +1000 Subject: [PATCH 2/2] set TS version to 2.2 --- types/express/index.d.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/types/express/index.d.ts b/types/express/index.d.ts index 9b913db473..d48d58c0c9 100644 --- a/types/express/index.d.ts +++ b/types/express/index.d.ts @@ -2,6 +2,7 @@ // Project: http://expressjs.com // Definitions by: Boris Yankov // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped +// TypeScript Version: 2.2 /* =================== USAGE ===================