我有一个带选项的功能。根据存在的选项属性,返回不同类型的结果。该函数是用计划JS编写的,我想用index.d.ts文件给它类型。
以下是一些示例调用及其返回的内容:
func(): Results
func({key: 'str'}): DifferentResults
func({keys: ['a', 'b']}): EvenMoredifferentResults
如何在index.d.ts文件中定义它? key
和keys
也应该是互斥的
答案 0 :(得分:1)
看起来您应该可以使用overloading
中使用的相同定义来执行此操作你应该能够编写几个明确的定义,然后是通用的定义; typescript将选择最合适的定义来检查上下文。