我有一个来自OpenAPI规范的过滤器对象;比如:
export interface Filters {
field1: string[]
field2: string[]
field3: boolean
field4: number
}
我想通过选择属性的类型从过滤器接口派生一个类型:
比如:
export type MultivalueFields = Select<Filters, string[]>
// type MultivalueFields = 'field1' | 'field2'
这有内在的规律吗?一个人怎样才能得到想要的结果?
2条答案
按热度按时间a14dhokn1#
您可以构建一个实用程序类型,如下所示:
所有的功劳都归功于乌克兰的@captain-yossarian
dgenwo3n2#
有几个版本的类型可以做到这一点,最新的版本是在Map类型中使用
as
子句:Playground链接
也可以使用类似类型拾取特定类型的特性:
Playground链接