【发布时间】:2017-01-25 22:43:13
【问题描述】:
我一直在考虑将 Flow 添加到我的 javascript 项目中。
在某些情况下,我会做这样的事情,我有一个对象。
const myObject = {
x: 12,
y: "Hello World"
}
我有一个通用函数,它对对象进行一些映射,保留键但替换值。
function enfunctionate(someObject) {
return _.mapValues(myObject, (value) => () => value)
}
我希望函数返回 {x: () => number, y: () => string} 类型有没有办法做到这一点?
当然,我可以将它更一般地键入为 {[key: string]: any},但我会失去很多我想通过使用 flow 获得的静态类型。
如果我可以用代码生成或可以工作的宏替换我的少数案例,但我看不出用流来做这件事的好方法。
有没有办法解决这个问题?
【问题讨论】:
-
如您在此处看到的docs.omniref.com/js/npm/lodash-node/3.1.0/symbols/_.mapValues
mapValues接受any并返回副本,因此您不能将其保留在type中。
标签: javascript flowtype