2017-09-07 4 views
0

J'ai une fonction avec des options. En fonction des propriétés de l'option, différents types de résultats sont renvoyés. La fonction est écrite en plan JS, je veux lui donner des types en utilisant un fichier index.d.ts.Fichier de définition typographique d.ts fonction propriétés facultatives

Voici quelques exemples d'appels et ce qu'il retourne:

func(): Results 

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

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

Comment puis-je définir cela dans le fichier index.d.ts? Aussi key et keys doivent être mutuellement exclusifs

Répondre

1

semble que vous devriez être en mesure de le faire avec les mêmes définitions que vous souhaitez utiliser pour overloading

vous devriez être en mesure d'écrire plusieurs définitions explicites suivie d'une définition universelle; tapuscrit choisira la définition la plus appropriée pour vérifier le contexte.

+0

Oui, vous utilisez des interfaces pour définir différents types d'options. Ensuite, faites un tas de surcharges. agréable –