1- type CreateError = ( code : string , message : string , statusCode ?: number , Base ?: Error ) => createError . FastifyErrorConstructor
1+ declare function createError < C extends string , SC extends number > ( code : C , message : string , statusCode : SC , Base ?: Error ) : createError . FastifyErrorConstructor < { code : C ; statusCode : SC } > ;
2+ declare function createError < C extends string > ( code : C , message : string , statusCode ?: number , Base ?: Error ) : createError . FastifyErrorConstructor < { code : C ; } > ;
3+
4+ type CreateError = typeof createError ;
25
36declare namespace createError {
47 export interface FastifyError extends Error {
@@ -7,15 +10,14 @@ declare namespace createError {
710 statusCode ?: number ;
811 }
912
10- export interface FastifyErrorConstructor {
11- new ( a ?: any , b ?: any , c ?: any ) : FastifyError ;
12- ( a ?: any , b ?: any , c ?: any ) : FastifyError ;
13- readonly prototype : FastifyError ;
13+ export interface FastifyErrorConstructor < E extends { code : string ; statusCode ?: number } = { code : string ; statusCode ?: number } > {
14+ new ( a ?: any , b ?: any , c ?: any ) : FastifyError & E ;
15+ ( a ?: any , b ?: any , c ?: any ) : FastifyError & E ;
16+ readonly prototype : FastifyError & E ;
1417 }
1518
1619 export const createError : CreateError
1720 export { createError as default }
1821}
1922
20- declare function createError ( ...params : Parameters < CreateError > ) : ReturnType < CreateError >
2123export = createError
0 commit comments