我有一个以函数作为参数的函数,参数函数返回几个枚举中的一个。如何通过使用参数函数的返回类型来推断包装器函数的类型。
我认为通过下面的例子更容易理解:
const foo = { a: 1, b: '2' }
function h(k: (() => 'a' | 'b')) {
return foo[k()]
}
const d = h(() => 'a')
// expected: d should be of type number
// actual: d is of type number | string