【发布时间】:2017-12-22 06:27:46
【问题描述】:
我有一堆对象,它们都具有区分它们的属性。我将它们作为联合类型。现在我想创建一个从可区分属性到实际类型的映射。我可以自己制作,但它具有欺骗性且容易出错,所以我想知道是否有某种方法可以使用 TypeScript 以编程方式生成它。 :)
type X = { type: "x", x: number }
type Y = { type: "y", y: number }
type Value = X | Y
type Type = Value["type"]
// Is it possible to generate this?
type TypeToValue = {
x: X,
y: Y,
}
// Its useful for stuff like this
function getRecord<T extends Type>(type: T, id: string): TypeToValue[T] {
return null as any
}
【问题讨论】:
标签: typescript typescript-typings