【发布时间】:2021-11-05 19:19:27
【问题描述】:
是否有可能以某种方式从 typescript 的类型中省略所有 never 类型?我有一个类型,它采用其他两种类型,并根据值生成第三种类型,并将所有不正确或不同值的元素设置为从不:
type MapForeignKeys<TExpandMap extends expandMap, TForeignKeys> = {
[Prop in keyof TExpandMap]:
TExpandMap[Prop] extends { association: 'belongsTo', instance: BaseModel, foreignKey: any }
? TExpandMap[Prop]['instance']['_creationAttributes'] | TExpandMap[Prop]['instance'] | TForeignKeys[TExpandMap[Prop]['foreignKey']]
: never
}
当我尝试使用此类型时,输出包含应设置为 never 的属性,而不是从类型定义中省略这些类型,因此这变得无法使用。
可以在this playground link中找到一个描述我的问题的简单示例
编辑:带有一些reproductible example of the problem的新链接
【问题讨论】:
标签: typescript