LeftProjection

final case class LeftProjection[+A, +B](e: Either[A, B])

Projects an Either into a Left.

trait Product
trait Equals
class Object
trait Matchable
class Any

Value members

Concrete methods

def exists(p: A => Boolean): Boolean

Returns false if Right or returns the result of the application of the given function to the Left value.

Left(12).left.exists(_ > 10) // true Left(7).left.exists(_ > 10) // false Right(12).left.exists(_ > 10) // false
def filterToOption[B1](p: A => Boolean): Option[Either[A, B1]]

Returns None if this is a Right or if the given predicate p does not hold for the left value, otherwise, returns a Left.

Left(12).left.filterToOption(_ > 10) // Some(Left(12)) Left(7).left.filterToOption(_ > 10) // None Right(12).left.filterToOption(_ > 10) // None
def flatMap[A1, B1 >: B](f: A => Either[A1, B1]): Either[A1, B1]

Binds the given function across Left.

Left(12).left.flatMap(x => Left("scala")) // Left("scala") Right(12).left.flatMap(x => Left("scala")) // Right(12)
Value Params
f

The function to bind across Left.

Source
Either.scala
def forall(p: A => Boolean): Boolean

Returns true if Right or returns the result of the application of the given function to the Left value.

Left(12).left.forall(_ > 10) // true Left(7).left.forall(_ > 10) // false Right(12).left.forall(_ > 10) // true
def foreach[U](f: A => U): Unit

Executes the given side-effecting function if this is a Left.

Left(12).left.foreach(x => println(x)) // prints "12" Right(12).left.foreach(x => println(x)) // doesn't print
Value Params
f

The side-effecting function to execute.

Source
Either.scala
def getOrElse[A1 >: A](or: => A1): A1

Returns the value from this Left or the given argument if this is a Right.

Left(12).left.getOrElse(17) // 12 Right(12).left.getOrElse(17) // 17
def map[A1](f: A => A1): Either[A1, B]

Maps the function argument through Left.

Left(12).left.map(_ + 2) // Left(14) Right[Int, Int](12).left.map(_ + 2) // Right(12)
def toOption: Option[A]

Returns a Some containing the Left value if it exists or a None if this is a Right.

Left(12).left.toOption // Some(12) Right(12).left.toOption // None
def toSeq: Seq[A]

Returns a Seq containing the Left value if it exists or an empty Seq if this is a Right.

Left(12).left.toSeq // Seq(12) Right(12).left.toSeq // Seq()

Deprecated methods

@deprecated("Use `filterToOption`, which more accurately reflects the return type", "2.13.0")
def filter[B1](p: A => Boolean): Option[Either[A, B1]]

Returns None if this is a Right or if the given predicate p does not hold for the left value, otherwise, returns a Left.

Left(12).left.filter(_ > 10) // Some(Left(12)) Left(7).left.filter(_ > 10) // None Right(12).left.filter(_ > 10) // None
Deprecated
Source
Either.scala
@deprecated("use `Either.swap.getOrElse` instead", "2.13.0")
def get: A

Returns the value from this Left or throws NoSuchElementException if this is a Right.

Left(12).left.get // 12 Right(12).left.get // NoSuchElementException
Throws
NoSuchElementException

if the projection is scala.util.Right

Deprecated
Source
Either.scala

Inherited methods

An iterator over the names of all the elements of this product.

Inherited from
Product
Source
Product.scala

An iterator over all the elements of this product.

Returns

in the default implementation, an Iterator[Any]

Inherited from
Product
Source
Product.scala