@rotomeca/event - v5.0.0
    Preparing search index...

    Type Alias EventCallResult<T>

    EventCallResult:
        | { type: "empty" }
        | { type: "single"; value: ReturnType<T> }
        | { type: "multiple"; values: Record<string, ReturnType<T>> }

    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.

    Type Parameters

    • T extends Func

      Le type du callback, doit étendre Func.

    Type Declaration

    • { type: "empty" }

      Aucun callback enregistré — l'appel n'a produit aucun résultat.

    • { type: "single"; value: ReturnType<T> }

      Un seul callback enregistré — value contient son résultat.

    • { type: "multiple"; values: Record<string, ReturnType<T>> }

      Plusieurs callbacks enregistrés — values associe chaque clé à son résultat.

    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;
    }