如何为咖喱函数创建类型?

时间:2018-11-07 17:57:05

标签: flowtype

我有大量的API函数,它们将委托和令牌作为前两个参数。这是一个示例(为简单起见,仅包含令牌):

type Token = {
  auth: string
}

const untokenedAPI = {
  getThing: (token: Token, id: string) => id
}

const token = {
  auth: 'neat'
}

const tokenedAPI = {
  ...Object.entries(untokenedAPI).map(
    ([key, method]) => ({
      [key]: () => method(token, ...arguments)
    })
  )
}

tokenedAPI.getThing('neat')

https://flow.org/try/#0C4TwDgpgBAKg9gawgOygXigbwFBSgQwFdgALALigGdgAnAS2QHNsBfbbAYzmWqkOWCIUEACYBBAAoBJdFlxRGEYDBINGFABSCkyCvB0AaKHREVq9JgEp0APmMjW7Lj2BRtKWTjxFSFAOTIEPjAfo6c3LzugeLSnvIAdIkA8gBGAFYQHMDxKLR0EJQa-FGiklKW8QC2+GAa8ngaANpIIEaVSiRwIgC61mh2Gl54w80QIN2afXbtpF1aQshGifH4NIyE7QKUlvVQLDt4O2zYJTFS8YrKqkwaAUEhlkA

我想要一种为tokenedAPI分配类型的方法,而不必再次为每个API函数明确定义类型。 Flow有可能吗?

注意:由于getThing的不相关问题,对Object.entries的调用实际上现在无法通过类型检查,但一次是:)

0 个答案:

没有答案