From dfda94ffff73e218754de09494976888324ccce2 Mon Sep 17 00:00:00 2001 From: zhennann Date: Fri, 28 Feb 2025 22:57:22 +0800 Subject: [PATCH 1/3] fix: missing the param done of lookup method missing the param done of lookup method --- index.d.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/index.d.ts b/index.d.ts index b59a08f..888b4a8 100644 --- a/index.d.ts +++ b/index.d.ts @@ -58,6 +58,8 @@ declare namespace Router { searchParams: { [k: string]: string } ) => any; + type Done = (err: Error | null, result: any) => void; + interface ConstraintStrategy { name: string, mustMatchWhenDerived?: boolean, @@ -160,7 +162,8 @@ declare namespace Router { lookup( req: Req, res: Res, - ctx?: Context + ctx?: Context | Done, + done?: Done ): any; find( From 3b6b50e4661eacc765babb5c7aa2154834eb2794 Mon Sep 17 00:00:00 2001 From: zhennann Date: Sat, 1 Mar 2025 09:56:49 +0800 Subject: [PATCH 2/3] test: missing the param done of lookup method --- test/types/router.test-d.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/test/types/router.test-d.ts b/test/types/router.test-d.ts index d00f2af..6d9bb19 100644 --- a/test/types/router.test-d.ts +++ b/test/types/router.test-d.ts @@ -7,6 +7,8 @@ let http1Req!: IncomingMessage; let http1Res!: ServerResponse; let http2Req!: Http2ServerRequest; let http2Res!: Http2ServerResponse; +let ctx!: { req: IncomingMessage; res: ServerResponse }; +let done!: (err: Error | null, result: any) => void; // HTTP1 { @@ -52,6 +54,8 @@ let http2Res!: Http2ServerResponse; expectType(router.off(['GET', 'POST'], '/')) expectType(router.lookup(http1Req, http1Res)) + expectType(router.lookup(http1Req, http1Res, done)); + expectType(router.lookup(http1Req, http1Res, ctx, done)); expectType | null>(router.find('GET', '/')) expectType | null>(router.find('GET', '/', {})) expectType | null>(router.find('GET', '/', {version: '1.0.0'})) @@ -117,6 +121,8 @@ let http2Res!: Http2ServerResponse; expectType(router.off(['GET', 'POST'], '/')) expectType(router.lookup(http2Req, http2Res)) + expectType(router.lookup(http2Req, http2Res, done)); + expectType(router.lookup(http2Req, http2Res, ctx, done)); expectType | null>(router.find('GET', '/', {})) expectType | null>(router.find('GET', '/', {version: '1.0.0', host: 'fastify.io'})) From a8641372ff0a8f6c3af8fce92eff907146541886 Mon Sep 17 00:00:00 2001 From: zhennann Date: Sat, 1 Mar 2025 10:02:16 +0800 Subject: [PATCH 3/3] fix: Variable 'handler' is used before being assigned --- test/types/router.test-d.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/test/types/router.test-d.ts b/test/types/router.test-d.ts index 6d9bb19..ee7bfeb 100644 --- a/test/types/router.test-d.ts +++ b/test/types/router.test-d.ts @@ -12,7 +12,7 @@ let done!: (err: Error | null, result: any) => void; // HTTP1 { - let handler: Router.Handler + let handler!: Router.Handler const router = Router({ ignoreTrailingSlash: true, ignoreDuplicateSlashes: true, @@ -90,7 +90,7 @@ let done!: (err: Error | null, result: any) => void; } } - let handler: Router.Handler + let handler!: Router.Handler const router = Router({ ignoreTrailingSlash: true, ignoreDuplicateSlashes: true, @@ -133,7 +133,7 @@ let done!: (err: Error | null, result: any) => void; // Custom Constraint { - let handler: Router.Handler + let handler!: Router.Handler interface AcceptAndContentType { accept?: string, contentType?: string }