打字稿定义文件d.ts函数可选属性

时间:2017-09-07 01:37:49

标签: typescript typescript-typings

我有一个带选项的功能。根据存在的选项属性,返回不同类型的结果。该函数是用计划JS编写的,我想用index.d.ts文件给它类型。

以下是一些示例调用及其返回的内容:

func(): Results

func({key: 'str'}): DifferentResults

func({keys: ['a', 'b']}): EvenMoredifferentResults

如何在index.d.ts文件中定义它? keykeys也应该是互斥的

1 个答案:

答案 0 :(得分:1)

看起来您应该可以使用overloading

中使用的相同定义来执行此操作

你应该能够编写几个明确的定义,然后是通用的定义; typescript将选择最合适的定义来检查上下文。