typescript 如何创建一个泛型函数来Map每个键的返回类型?

xt0899hw  于 2023-04-22  发布在  TypeScript
关注(0)|答案(1)|浏览(128)

如果我有

type T1 = {
  a: () => string,
  b: () => number
}

type T2 = {
  [P in keyof T1]: ReturnType<T1[P]>
}

则T2为

{
  a: string,
  b: number
}

假设泛型类型的每个键都是一个函数,我如何创建一个泛型类型函数来Map返回类型?

type MapReturnType<T extends Record<string, ???>> = {
  [P in keyof T]: ReturnType<T[P]>
}
sxissh06

sxissh061#

您可以使用() => any,因为您拥有的值是函数

type MapReturnType<T extends Record<string, () => any>> = {
  [P in keyof T]: ReturnType<T[P]>
}

相关问题