Skip to content

whenLeft

whenLeft<E, T>(x, f): E extends Left<unknown> ? T : E

If the given Either is a Left, apply the given function to the Left value and return the result. Otherwise, return the given Either.

Example

whenLeft({ left: 'foo' }, (x) => `${x}${x}`)
// => "foofoo"
whenLeft({ right: 'bar' }, (x) => `${x}${x}`)
// => { right: "bar" }

Type Parameters

E extends Either<unknown, unknown>

T extends Either<unknown, unknown>

The mapped type.

Parameters

x

E

The either value to map.

f

(l) => T

The map function.

Returns

E extends Left<unknown> ? T : E

The mapped value if right.