繁体   English   中英

如何推断联合的泛型类型参数?

[英]How to infer generic type argument of union?

我想推断一个联合的通用 arguments ,如附加代码中。 InferValueTypes 应该是什么?

interface WithValue<T> {}

interface ValuedNumber extends WithValue<number> {}
interface ValuedString extends WithValue<string> {}

type Valued = ValuedNumber | ValuedString;

type InverValueType<T extends WithValue<any>> = T extends WithValue<infer V>  ? V : never;
type AType = InferValueType<ValuedNumber>; // Will infer `number`

type InferValueTypes<T> = ???;
type ValueTypes = InferValueTypes<Valued>; // Expect to infer `string | number`

InferValueTypes可以很好地处理联合。 我需要更加专心。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM