假设我有以下这些类型:
上面的代码中,argTypes将等于[PagingParameters, number, string]。
我想做的是从数组中提取PagingParameters类型,使得result等于[number, string]。然而,使用ExcludeQueryParams时,结果是[never, number, string]。
如何在不包含never类型的情况下正确实现这一点?
/** Types of a function's arguments */
export type ArgumentTypes<F extends Function> = F extends (...args: infer A) => any ? A : never;
export type ExcludeQueryParams<T> = { [P in keyof T]: T[P] extends PagingParameters ? never : T[P] }
然后我有这个代码来提取函数参数的类型
function test(query: PagingParameters, as: number, f: string) {
return 1;
}
type argTypes = ArgumentTypes<typeof test>
type result = ExcludeQueryParams<argTypes>
上面的代码中,argTypes将等于[PagingParameters, number, string]。
我想做的是从数组中提取PagingParameters类型,使得result等于[number, string]。然而,使用ExcludeQueryParams时,结果是[never, number, string]。
如何在不包含never类型的情况下正确实现这一点?
ExcludeQueryParams
类型的内容吗? - Shaun Luttin