在同一对象的另一个属性中使用推断的属性类型

时间:2019-04-13 19:49:26

标签: typescript

是否可以在TypeScript中执行此操作?

注意:任何属性名称在props参数中都是有效的

type Values<T extends object> = Pick<T, Exclude<keyof T, 'onStart'>>

declare function animate<T extends {
    onStart?: (values: Values<T>) => void
}>(props: T): void

animate({
    foo: 100,
    onStart(values) {
        // $Expect(values == { foo: number })
    }
})

Playground

0 个答案:

没有答案