我想获取生成器函数的返回类型。
例如:
function* test(){
yield 'a';
yield 123;
return true;
}
// what I'm trying to get
type A = GetGeneratorReturn<test>; // -> A has type boolean
我目前正在从事的工作。
type B = ReturnType<ReturnType<typeof test>['next']>['value'];
// B has type `true | "a" | 123`
(我认为如果我获取联合类型B的第一个项目,就可以获得返回类型)
X | Y
等同于Y | X
,因此将X
或Y
从X | Y
中提取出来的任何解决方案可能都存在潜在风险。为什么需要这个呢?一个使用案例可能有助于某人提供替代方案。 - jcalz