EitherUtils

This utility methods are not intended to replace cats, but as IntelliJ raises some ugly false errors in the code when using cats this functions encapsulate the errors in here so your code does not look ugly.

class Object
trait Matchable
class Any

Value members

Concrete methods

def sequence[A, E](of: List[Either[E, A]]): Either[E, List[A]]

Reduces from a list of either objects to a single either where the left represents first error found and right a list of the right values.

Reduces from a list of either objects to a single either where the left represents first error found and right a list of the right values.

Type Params
A

is the type of the Right value.

E

is the type of the Left value.

Value Params
of

is the initial list of either objects from where the reduction will be performed.

Returns

a unique Either object with a list of right value types and the left type value if present.

def takeSingle[A](from: List[A], message: String): Either[String, A]

From a list of values and a message will create an Either object where the Right part will be the very first and unique element from the list of values. If the list is empty or contains more than one value the Either will be Left will the message.

From a list of values and a message will create an Either object where the Right part will be the very first and unique element from the list of values. If the list is empty or contains more than one value the Either will be Left will the message.

Type Params
A

is the type of the elements received in the list of values.

Value Params
from

is the list from where the Either will be created.

message

to set in as Left if the list is empty or has more than one element.

Returns

the Either object, if the list has one and only one element will return a Right containing that element. Else a Left with the message.