如何迭代接口键,使新的接口的值是依赖于键。
type IParse<T> = {
[K in keyof T as K extends string ? K : never]: string // How to make if K === 'a' the type should be number
}
interface X {
a: number
b: string
c: string[]
d: number[]
}
type Result = IParse<X>
// Actual result
interface Actual {
a: string
b: string
c: string
d: string
}
// Expected result
interface Expected {
a: number
b: string
c: string
d: string
}
Playground
1条答案
按热度按时间0sgqnhkj1#
你可以通过在你所拥有的值部分添加一个条件来做到这一点:
Playground链接