whenIsLeft
Exécute une fonction uniquement lorsque l'entrée est un EitherLeft. Sinon, la valeur d'origine est renvoyée telle quelle.
Exemple interactif
Syntaxe
Signature classique
typescript
function whenIsLeft<
const GenericInput extends unknown,
const GenericOutput extends AnyValue | EscapeVoid
>(
input: GenericInput,
theFunction: (value: Unwrap<Extract<GenericInput, EitherLeft>>) => GenericOutput
): Exclude<GenericInput, EitherLeft> | GenericOutput;Signature currifiée
typescript
function whenIsLeft<
const GenericInput extends unknown,
const GenericOutput extends AnyValue | EscapeVoid
>(
theFunction: (value: Unwrap<Extract<GenericInput, EitherLeft>>) => GenericOutput
): (input: GenericInput) => Exclude<GenericInput, EitherLeft> | GenericOutput;Paramètres
theFunction: Callback déclenché uniquement sur la partieLeft.input(surcharge classique) : Valeur à traiter immédiatement. Sans cet argument, la fonction retourne une version curry adaptée aux pipelines.
Valeur de retour
- Signature classique : retourne soit la valeur transformée (si
Left), soit la valeur initiale. - Signature currifiée : retourne une fonction prête à être utilisée dans
pipe,map, etc.
Cas d'usage
- Logger ou transformer une erreur sans toucher au
Right. - Convertir un
Leften un autre type (ex.EitherLeft->string). - Simplifier des blocs
if (E.isLeft(...))répétitifs dans un style fonctionnel.
Voir aussi
whenIsRight– Pendant côté succès.isLeft– Type guard manuel.whenHasInformation– Pattern matching sur l'information littérale.
