我有一个可能很奇怪的情况,我试图用 typescript 建模。
我有一堆函数,格式如下
type State = { something: any }
type InitialFn = (state: State, ...args: string[]) => void
我希望能够创建一个类型来表示InitialFn
,并去掉第一个参数。
// this doesn't work, as F is unused, and args doesn't correspond to the previous arguments
type PostTransformationFn<F extends InitialFn> = (...args: string[]) => void
这可能吗?
3条答案
按热度按时间p4rjhz4m1#
我想你可以用一种更通用的方式来做:
然后:
PG级
laawzig22#
可以使用条件类型提取其余参数:
Playground链接
jfgube3f3#
这个问题我已经提过几次了,因为我从来都记不住从Typescript导出的
3.3
实用程序的名称,OmitThisParameter<Type>
不像@georg发布的解决方案那样通用。但当我偶然发现这个问题时,我一直在寻找答案。希望其他人也能发现这一点(至少下次我忘记实用程序的名称时会看到它)