whenRights
whenRights<
Xs,T>(xs,f):ArgRights<Xs> extendsnever[] ?Left<ArgLefts<Xs>[number]> :ArgLefts<Xs>[number] extendsnever[] ?T:Left<ArgLefts<Xs>[number]> |T
whenRights takes an array of Eithers and a function that takes the rights of the Eithers as
arguments and returns a Left if any of the Eithers are Lefts or the result of the function if
all of the Eithers are Rights.
Example
whenRights([{ right: 'foo' }, { right: 'bar' }], ([x0, x1]) => ({right: `${x0}${x1}`}))// => { right: "foobar"}
whenRights([{ left: 'bar' }, { right: 'fooz' }], ([x0, x1]) => ({right: `${x0}${x1}`}))// => { left: "bar" }Type Parameters
• Xs extends Either<unknown, unknown>[]
• T extends Either<unknown, unknown>
The mapped type.
Parameters
xs
readonly [Xs]
The either values.
f
(rs) => T
The map function.
Returns
ArgRights<Xs> extends never[] ? Left<ArgLefts<Xs>[number]> : ArgLefts<Xs>[number] extends never[] ? T : Left<ArgLefts<Xs>[number]> | T
The mapped value if right.