t

monocle.std

OptionOptics

trait OptionOptics extends AnyRef

Source
Option.scala
Linear Supertypes
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. OptionOptics
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Value Members

  1. final def none[A]: Prism[Option[A], Unit]
  2. final def optionToDisjunction[A]: Iso[Option[A], Either[Unit, A]]
  3. final def pOptionToDisjunction[A, B]: PIso[Option[A], Option[B], Either[Unit, A], Either[Unit, B]]
  4. final def pSome[A, B]: PPrism[Option[A], Option[B], A, B]
  5. final def some[A]: Prism[Option[A], A]
  6. final def withDefault[A](defaultValue: A): Iso[Option[A], A]

    Creates an Iso that maps None to defaultValue and inversely.

    Creates an Iso that maps None to defaultValue and inversely.

    val defaultTo0 = withDefault(0)
    defaultTo0.get(None) == 0
    defaultTo0.get(Some(1)) == 1
    defaultTo0.reverseGet(0) == None
    defaultTo0.reverseGet(1) == Some(1)

    withDefault is a valid Iso only if we consider the set of A without defaultValue. For example, Some(0) breaks the round-trip property of Iso:

    defaultTo0.reverseGet(defaultTo0.get(Some(0))) == None
    See also

    This method is called non in Haskell Lens.