@@ -8,15 +8,16 @@ import ShallotAWSSocketJsonBodyParser, {
88 TShallotJSONBodyParserOptions ,
99} from './json-body-parser' ;
1010
11- export type WebSocketRequestContext < TAuthorizer = unknown > =
11+ export type WebSocketRequestContext < TAuthorizer extends RequestDataBase = unknown > =
1212 APIGatewayProxyEvent [ 'requestContext' ] & {
1313 connectionId : string ;
1414 authorizer : TAuthorizer ;
1515 } ;
1616
17- export type APIGatewayWebSocketEvent < TAuthorizer = unknown > = APIGatewayProxyEvent & {
18- requestContext : WebSocketRequestContext < TAuthorizer > ;
19- } ;
17+ export type APIGatewayWebSocketEvent < TAuthorizer extends RequestDataBase = unknown > =
18+ APIGatewayProxyEvent & {
19+ requestContext : WebSocketRequestContext < TAuthorizer > ;
20+ } ;
2021
2122type ParsedJSON = Record < string | number | symbol , unknown > ;
2223export type RequestDataBase = ParsedJSON | unknown ;
@@ -30,7 +31,7 @@ export type TShallotSocketEvent<
3031 TPathParameters extends RequestDataBase = unknown ,
3132 THeaders extends RequestDataBase = unknown ,
3233 TBody extends RequestDataBase = unknown ,
33- TAuthorizer = unknown
34+ TAuthorizer extends RequestDataBase = unknown
3435> = Omit <
3536 Omit <
3637 Omit < Omit < APIGatewayWebSocketEvent < TAuthorizer > , 'body' > , 'queryStringParameters' > ,
@@ -44,15 +45,14 @@ export type TShallotSocketEvent<
4445 body ?: TBody ;
4546} ;
4647
47- type TShallotSocketHandler = (
48- // eslint-disable-next-line @typescript-eslint/no-explicit-any
49- handler : ShallotRawHandler < any > ,
48+ type TShallotSocketHandler < TEvent extends TShallotSocketEvent = TShallotSocketEvent > = (
49+ handler : ShallotRawHandler < TEvent > ,
5050 successStatusCode ?: number ,
5151 middlewareOpts ?: {
5252 HttpErrorHandlerOpts ?: TShallotErrorHandlerOptions ;
5353 HttpJsonBodyParserOpts ?: TShallotJSONBodyParserOptions ;
5454 }
55- ) => ShallotAWSHandler < TShallotSocketEvent > ;
55+ ) => ShallotAWSHandler < TEvent > ;
5656
5757const ShallotSocketWrapper : TShallotSocketHandler = (
5858 handler ,
0 commit comments