conditionally

inline fun <L, R> conditionally(test: Boolean, ifFalse: () -> L, ifTrue: () -> R): Either<L, R>

Deprecated

This API is considered redundant. If this method is crucial for you, please let us know on the Arrow Github. Thanks! https://github.com/arrow-kt/arrow/issues Prefer explicit if-else statements, or ensure inside Either DSL

Replace with

if (test) Right(ifTrue()) else Left(ifFalse())

Will create an Either from the result of evaluating the first parameter using the functions provided on second and third parameters. Second parameter represents function for creating an Left in case of a false result of evaluation and third parameter will be used to create a Right in case of a true result.

Return

Right if evaluation succeed, Left otherwise

Parameters

test

expression to evaluate and build an Either

ifFalse

function to create a Left in case of false result of test

ifTrue

function to create a Right in case of true result of test