在下面的代码中,SomeMagic
的类型必须是反转Y
的发布性?
type X<A> = { value: A };
type Y = X<number> | X<string>;
type Z = SomeMagic<Y>; // <-- what SomeMagic should be to get Z of X<number | string>?
答案 0 :(得分:2)
您可以反转Y.value
的类型并将其用作X
的参数:
type X<A> = { value: A };
type Y = X<number> | X<string>;
type Z = X<Y['value']>;
结果:
type Z = {
value: string | number;
};