问题描述
TypeScript版本:
3.9.7
我想做什么:
代码:
export type Cast<X,Y> =
X extends Y
? X
: Y
type _uncurryArgs<
Current extends (...args: any[]) => any,Args extends any[] = [],CurrentArgs extends any[] = Current extends (...args: infer U) => any ? U : []
> = {
last: Cast<Concat<Args,CurrentArgs>,any[]>,deeper: _uncurryArgs<
ReturnType<Current>,Cast<Concat<Args,any[]>
>
} [
ReturnType<Current> extends (...args: any[]) => any
? 'deeper'
: 'last'
]
type _uncurry<F extends (...args: any) => any> = (...args: Cast<_uncurryArgs<F>,any[]>) => void
问题:
在类型_uncurry
上,_uncurryArgs<F>
返回错误“ 类型实例化的深度过深,甚至可能是无限的”(ts 2589)。
我理解为什么会出现错误,但是目前我除了找到//@ts-ignore
之外没有找到其他解决方案,这非常可怕……因此,如果有人有想法,我将非常高兴!
谢谢预先的家伙!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)