从接口创建记录,并以返回类型作为原始接口的属性类型

时间:2019-09-11 10:21:11

标签: typescript typescript-generics

我有一个类似的界面

inteface A {
  a: number
}

我想用键作为A的键和值作为返回键的类型的函数来创建对象的类型

示例

const obj = {
  a: () => 4
}

这里obj的类型应该是什么,应该是具有A接口的泛型

1 个答案:

答案 0 :(得分:2)

您可以为此使用映射类型:

type Functionify<T> = { [K in keyof T]: () => T[K] }

它将遍历类型T中的所有键(属性),并将它们映射到返回原始类型T[K]的函数。

Playground