whenIsRight
Applique une fonction uniquement quand l'entrée est un EitherRight. Sinon, la valeur originale est renvoyée telle quelle.
Exemple interactif
Syntaxe
Signature classique
typescript
function whenIsRight<
const GenericInput extends unknown,
const GenericOutput
>(
input: GenericInput,
theFunction: (value: Unwrap<Extract<GenericInput, EitherRight>>) => GenericOutput
): Exclude<GenericInput, EitherRight> | GenericOutput;Signature currifiée
typescript
function whenIsRight<
const GenericInput extends unknown,
const GenericOutput
>(
theFunction: (value: Unwrap<Extract<GenericInput, EitherRight>>) => GenericOutput
): (input: GenericInput) => Exclude<GenericInput, EitherRight> | GenericOutput;Paramètres
theFunction: Callback exécuté uniquement sur la partieRight.input(surcharge 2) : Valeur à traiter immédiatement (sinon la fonction retournée attend unEither).
Valeur de retour
- Surcharge curry : retourne une fonction prête à être utilisée dans un pipeline.
- Surcharge directe : retourne soit le résultat du callback (si
Right), soit la valeur initiale.
Cas d'usage
- Enrichir un
Right(logging, transformation) sans toucher auxLeft. - Injecter
whenIsRightdanspipepour garder un flux fluide. - Remplacer des
if (E.isRight(...))répétitifs par une API fonctionnelle.
Voir aussi
isRight– Teste manuellement le type avant d'agir.whenIsLeft– Pendant côté erreur.whenHasInformation– Pattern matching basé sur l'information littérale.
