有一个实用程序ReturnType
,可以提取函数的返回类型。
想知道是否有一种方法可以从函数的记录(字典)中提取返回类型,例如:
const list = {
function1: (a: string, b: B) => ({ a, b }),
function2: (c: string, d: D) => ({ c, d }),
...
}
type FunctionReturnList = ExtractReturnTypes<list>
ExtractReturnTypes
是什么(如果可能)?
答案 0 :(得分:1)
要提取list
字典的值,您可以定义类似于ValueOf
的{{1}}查找类型:
keyof
在type ValueOf<T> = T[keyof T];
值上使用它会产生所有功能的并集:
list
要最终获得这些函数的所有返回类型的并集类型,请使用ReturnType<T>
实用程序:
type Functions = ValueOf<typeof list>;
看看这个运动场demo,看看它的作用。
答案 1 :(得分:0)
这只是部分答案。您可以使用ReturnType
utility type
type Function1 = ReturnType<typeof list.function1>
有什么理由将它们存储在这样的列表中?
注意::在您的示例中,list
实际上不是列表,而是record
或dictionary