Représente le résultat d'un appel à un événement.
Ce type discriminé permet de distinguer sans ambiguïté les trois cas possibles lors de l'appel des callbacks d'un événement, même si ReturnType<T> est lui-même un objet.
ReturnType<T>
Le type du callback, doit étendre Func.
Aucun callback enregistré — l'appel n'a produit aucun résultat.
Un seul callback enregistré — value contient son résultat.
value
Plusieurs callbacks enregistrés — values associe chaque clé à son résultat.
values
const result = monEvent.call(...args);switch (result.type) { case 'empty': // Aucun callback enregistré break; case 'single': console.log(result.value); // ReturnType<T> break; case 'multiple': console.log(result.values); // Record<string, ReturnType<T>> break;} Copy
const result = monEvent.call(...args);switch (result.type) { case 'empty': // Aucun callback enregistré break; case 'single': console.log(result.value); // ReturnType<T> break; case 'multiple': console.log(result.values); // Record<string, ReturnType<T>> break;}
Représente le résultat d'un appel à un événement.
Ce type discriminé permet de distinguer sans ambiguïté les trois cas possibles lors de l'appel des callbacks d'un événement, même si
ReturnType<T>est lui-même un objet.