Spe*_*sG3 5 arrays union merge types typescript
我有一个未知类型的联盟。我想得到它的合并类型。例如:
const a = {
x: 10
}
const b = {
y: 'qwer'
}
const array = [a, b]
type TArr = typeof array
// I use a function which receives an array as argument so I only have type of array from now on
type TUnion = keyof TArr[number] // { x: number } | { y: string }
type TMerge = ? // { x: number } & { y: string }
Run Code Online (Sandbox Code Playgroud)
哪里TMerge几乎相同
type TMerge = {
x: number
y: string
}
Run Code Online (Sandbox Code Playgroud)
我无法确定数组中的类型,因为最初数组由用作模块的不同类组成。如果没有这样的联合合并,我的最终类就不知道所有方法和属性。
我认为不可能直接从数组中获得合并类型,因为&交集和合并之间存在歧义,但如果有一个技巧,我很想听听。