From 061b46150a4bbcf406a7494663944c6350d80aaa Mon Sep 17 00:00:00 2001 From: "Amir.Tugi@Gmail.com" Date: Tue, 22 May 2018 10:16:14 +0300 Subject: [PATCH] Add fixes for strictFunctionType --- types/express-paginate/express-paginate-tests.ts | 2 +- types/express-paginate/index.d.ts | 14 +++++++++----- types/express-paginate/tsconfig.json | 1 + 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/types/express-paginate/express-paginate-tests.ts b/types/express-paginate/express-paginate-tests.ts index 5847bf2b1b..d31c70362c 100644 --- a/types/express-paginate/express-paginate-tests.ts +++ b/types/express-paginate/express-paginate-tests.ts @@ -7,7 +7,7 @@ const app = express(); app.use(paginate.middleware(10, 50)) -app.get('/users', async (req: paginate.PaginatedRequest, res, next) => { +app.get('/users', async (req, res, next) => { // req.skip should be available return findAndCountAll({limit: req.query.limit, offset: req.skip}) .then(results => { diff --git a/types/express-paginate/index.d.ts b/types/express-paginate/index.d.ts index 7352dbee95..94411c2fe4 100644 --- a/types/express-paginate/index.d.ts +++ b/types/express-paginate/index.d.ts @@ -5,16 +5,20 @@ import * as express from 'express'; +declare global { + namespace Express { + export interface Request { + skip?: number, + offset?: number, + } + } +} + interface PageElement { number: number; url: typeof href; } -export interface PaginatedRequest extends express.Request { - skip: number; - offset: number; -} - export function middleware(limit: number, maxLimit: number): (req: express.Request, res: express.Response, next: express.NextFunction) => void; export function hasNextPages(req: express.Request): (pageCount: number) => boolean; export function href(req: express.Request): (prev: object | boolean, params: object) => string; diff --git a/types/express-paginate/tsconfig.json b/types/express-paginate/tsconfig.json index 61a6c089fc..9370f2106b 100644 --- a/types/express-paginate/tsconfig.json +++ b/types/express-paginate/tsconfig.json @@ -7,6 +7,7 @@ "noImplicitAny": true, "noImplicitThis": true, "strictNullChecks": true, + "strictFunctionTypes": true, "baseUrl": "../", "typeRoots": [ "../"