Skip to content

Commit d7462d8

Browse files
fix: generic type error of RouteShorthandMethod (#282)
1 parent d1c6cec commit d7462d8

File tree

2 files changed

+6
-4
lines changed

2 files changed

+6
-4
lines changed

types/index.d.ts

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -41,12 +41,13 @@ declare module 'fastify' {
4141
RawRequest extends RawRequestDefaultExpression<RawServer> = RawRequestDefaultExpression<RawServer>,
4242
RawReply extends RawReplyDefaultExpression<RawServer> = RawReplyDefaultExpression<RawServer>,
4343
TypeProvider extends FastifyTypeProvider = FastifyTypeProviderDefault,
44+
Logger extends FastifyBaseLogger = FastifyBaseLogger,
4445
> {
45-
<RequestGeneric extends RequestGenericInterface = RequestGenericInterface, ContextConfig = ContextConfigDefault, SchemaCompiler extends FastifySchema = FastifySchema, Logger extends FastifyBaseLogger = FastifyBaseLogger>(
46+
<RequestGeneric extends RequestGenericInterface = RequestGenericInterface, ContextConfig = ContextConfigDefault, SchemaCompiler extends FastifySchema = FastifySchema, InnerLogger extends Logger = Logger>(
4647
path: string,
47-
opts: RouteShorthandOptions<RawServer, RawRequest, RawReply, RequestGeneric, ContextConfig, SchemaCompiler, TypeProvider, Logger> & { websocket: true }, // this creates an overload that only applies these different types if the handler is for websockets
48-
handler?: fastifyWebsocket.WebsocketHandler<RawServer, RawRequest, RequestGeneric, ContextConfig, SchemaCompiler, TypeProvider, Logger>
49-
): FastifyInstance<RawServer, RawRequest, RawReply, Logger, TypeProvider>;
48+
opts: RouteShorthandOptions<RawServer, RawRequest, RawReply, RequestGeneric, ContextConfig, SchemaCompiler, TypeProvider, InnerLogger> & { websocket: true }, // this creates an overload that only applies these different types if the handler is for websockets
49+
handler?: fastifyWebsocket.WebsocketHandler<RawServer, RawRequest, RequestGeneric, ContextConfig, SchemaCompiler, TypeProvider, InnerLogger>
50+
): FastifyInstance<RawServer, RawRequest, RawReply, InnerLogger, TypeProvider>;
5051
}
5152

5253
interface RouteOptions<

types/index.test-d.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ app.get('/websockets-via-inferrence', { websocket: true }, async function (conne
3030
expectType<Server>(app.websocketServer);
3131
expectType<FastifyRequest<RequestGenericInterface>>(request)
3232
expectType<boolean>(request.ws);
33+
expectType<FastifyBaseLogger>(request.log);
3334
});
3435

3536
const handler: WebsocketHandler = async (connection, request) => {

0 commit comments

Comments
 (0)