我非常依赖ADT来建模我的数据。我发现自己一遍又一遍地写Key extends keyof DiscriminatedMap = keyof DiscriminatedMap
。是否有更短的方式来声明相同的内容?
type DiscriminatedUnion<Key extends keyof DiscriminatedMap = keyof DiscriminatedMap> =
DiscriminatedMap[Key] & { kind: Key }
type DiscriminatedMap = {
kindA: { someRecordType: string }
kindB: { someOtherRecordType: number }
}