fix ComposerMethodArgs type

This commit is contained in:
2022-08-29 20:21:46 +03:00
parent 0cb3199507
commit dd3603667a
3 changed files with 54 additions and 105 deletions

View File

@@ -9,10 +9,12 @@ export type Filter<T extends any[], F> = T extends []
: [];
export type OnlyFunctionPropertyNames<T> = {
[K in keyof T]: T[K] extends (...args: any) => any ? K : never;
[K in keyof T]: T[K] extends (...args: any[]) => any ? K : never;
}[keyof T];
type ParametersOrNever<T> = T extends (...args: any[]) => any ? Parameters<T> : never;
export type ComposerMethodArgs<
T extends Composer<never>,
U extends OnlyFunctionPropertyNames<T> = OnlyFunctionPropertyNames<T>,
> = Filter<Parameters<T[U]>, Middleware<never>>;
> = Filter<ParametersOrNever<T[U]>, Middleware<never>>;