Skip to content

Commit a90f0fd

Browse files
authored
fix: missing the param done of lookup method (#389)
* fix: missing the param done of lookup method missing the param done of lookup method * test: missing the param done of lookup method * fix: Variable 'handler' is used before being assigned
1 parent e60f8e3 commit a90f0fd

File tree

2 files changed

+13
-4
lines changed

2 files changed

+13
-4
lines changed

index.d.ts

+4-1
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,8 @@ declare namespace Router {
5858
searchParams: { [k: string]: string }
5959
) => any;
6060

61+
type Done = (err: Error | null, result: any) => void;
62+
6163
interface ConstraintStrategy<V extends HTTPVersion, T = string> {
6264
name: string,
6365
mustMatchWhenDerived?: boolean,
@@ -160,7 +162,8 @@ declare namespace Router {
160162
lookup<Context>(
161163
req: Req<V>,
162164
res: Res<V>,
163-
ctx?: Context
165+
ctx?: Context | Done,
166+
done?: Done
164167
): any;
165168

166169
find(

test/types/router.test-d.ts

+9-3
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,12 @@ let http1Req!: IncomingMessage;
77
let http1Res!: ServerResponse;
88
let http2Req!: Http2ServerRequest;
99
let http2Res!: Http2ServerResponse;
10+
let ctx!: { req: IncomingMessage; res: ServerResponse };
11+
let done!: (err: Error | null, result: any) => void;
1012

1113
// HTTP1
1214
{
13-
let handler: Router.Handler<Router.HTTPVersion.V1>
15+
let handler!: Router.Handler<Router.HTTPVersion.V1>
1416
const router = Router({
1517
ignoreTrailingSlash: true,
1618
ignoreDuplicateSlashes: true,
@@ -52,6 +54,8 @@ let http2Res!: Http2ServerResponse;
5254
expectType<void>(router.off(['GET', 'POST'], '/'))
5355

5456
expectType<any>(router.lookup(http1Req, http1Res))
57+
expectType<any>(router.lookup(http1Req, http1Res, done));
58+
expectType<any>(router.lookup(http1Req, http1Res, ctx, done));
5559
expectType<Router.FindResult<Router.HTTPVersion.V1> | null>(router.find('GET', '/'))
5660
expectType<Router.FindResult<Router.HTTPVersion.V1> | null>(router.find('GET', '/', {}))
5761
expectType<Router.FindResult<Router.HTTPVersion.V1> | null>(router.find('GET', '/', {version: '1.0.0'}))
@@ -86,7 +90,7 @@ let http2Res!: Http2ServerResponse;
8690
}
8791
}
8892

89-
let handler: Router.Handler<Router.HTTPVersion.V2>
93+
let handler!: Router.Handler<Router.HTTPVersion.V2>
9094
const router = Router<Router.HTTPVersion.V2>({
9195
ignoreTrailingSlash: true,
9296
ignoreDuplicateSlashes: true,
@@ -117,6 +121,8 @@ let http2Res!: Http2ServerResponse;
117121
expectType<void>(router.off(['GET', 'POST'], '/'))
118122

119123
expectType<any>(router.lookup(http2Req, http2Res))
124+
expectType<any>(router.lookup(http2Req, http2Res, done));
125+
expectType<any>(router.lookup(http2Req, http2Res, ctx, done));
120126
expectType<Router.FindResult<Router.HTTPVersion.V2> | null>(router.find('GET', '/', {}))
121127
expectType<Router.FindResult<Router.HTTPVersion.V2> | null>(router.find('GET', '/', {version: '1.0.0', host: 'fastify.io'}))
122128

@@ -127,7 +133,7 @@ let http2Res!: Http2ServerResponse;
127133

128134
// Custom Constraint
129135
{
130-
let handler: Router.Handler<Router.HTTPVersion.V1>
136+
let handler!: Router.Handler<Router.HTTPVersion.V1>
131137

132138
interface AcceptAndContentType { accept?: string, contentType?: string }
133139

0 commit comments

Comments
 (0)