Class/Object

cats.data

OptionT

Related Docs: object OptionT | package data

Permalink

final case class OptionT[F[_], A](value: F[Option[A]]) extends Product with Serializable

OptionT[F[_], A] is a light wrapper on an F[Option[A]] with some convenient methods for working with this nested structure.

It may also be said that OptionT is a monad transformer for Option.

For more information, see the documentation.

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. OptionT
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. AnyRef
  7. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new OptionT(value: F[Option[A]])

    Permalink

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. def ===(that: OptionT[F, A])(implicit eq: Eq[F[Option[A]]]): Boolean

    Permalink
  5. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  6. def cata[B](default: ⇒ B, f: (A) ⇒ B)(implicit F: Functor[F]): F[B]

    Permalink

    Catamorphism on the Option.

    Catamorphism on the Option. This is identical to fold, but it only has one parameter list, which can result in better type inference in some contexts.

  7. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  8. def collect[B](f: PartialFunction[A, B])(implicit F: Functor[F]): OptionT[F, B]

    Permalink
  9. def compare(that: OptionT[F, A])(implicit o: Order[F[Option[A]]]): Int

    Permalink
  10. def contramap[B](f: (B) ⇒ A)(implicit F: Contravariant[F]): OptionT[F, B]

    Permalink
  11. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  12. def exists(f: (A) ⇒ Boolean)(implicit F: Functor[F]): F[Boolean]

    Permalink
  13. def filter(p: (A) ⇒ Boolean)(implicit F: Functor[F]): OptionT[F, A]

    Permalink
  14. def filterNot(p: (A) ⇒ Boolean)(implicit F: Functor[F]): OptionT[F, A]

    Permalink
  15. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  16. def flatMap[B](f: (A) ⇒ OptionT[F, B])(implicit F: Monad[F]): OptionT[F, B]

    Permalink
  17. def flatMapF[B](f: (A) ⇒ F[Option[B]])(implicit F: Monad[F]): OptionT[F, B]

    Permalink
  18. def flatTransform[B](f: (Option[A]) ⇒ F[Option[B]])(implicit F: Monad[F]): OptionT[F, B]

    Permalink
  19. def fold[B](default: ⇒ B)(f: (A) ⇒ B)(implicit F: Functor[F]): F[B]

    Permalink
  20. def foldLeft[B](b: B)(f: (B, A) ⇒ B)(implicit F: Foldable[F]): B

    Permalink
  21. def foldRight[B](lb: Eval[B])(f: (A, Eval[B]) ⇒ Eval[B])(implicit F: Foldable[F]): Eval[B]

    Permalink
  22. def forall(f: (A) ⇒ Boolean)(implicit F: Functor[F]): F[Boolean]

    Permalink
  23. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  24. def getOrElse[B >: A](default: ⇒ B)(implicit F: Functor[F]): F[B]

    Permalink
  25. def getOrElseF[B >: A](default: ⇒ F[B])(implicit F: Monad[F]): F[B]

    Permalink
  26. def imap[B](f: (A) ⇒ B)(g: (B) ⇒ A)(implicit F: Invariant[F]): OptionT[F, B]

    Permalink
  27. def isDefined(implicit F: Functor[F]): F[Boolean]

    Permalink
  28. def isEmpty(implicit F: Functor[F]): F[Boolean]

    Permalink
  29. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  30. def map[B](f: (A) ⇒ B)(implicit F: Functor[F]): OptionT[F, B]

    Permalink
  31. def mapFilter[B](f: (A) ⇒ Option[B])(implicit F: Functor[F]): OptionT[F, B]

    Permalink
  32. def mapK[G[_]](f: ~>[F, G]): OptionT[G, A]

    Permalink

    Modify the context F using transformation f.

  33. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  34. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  35. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  36. def orElse(default: ⇒ OptionT[F, A])(implicit F: Monad[F]): OptionT[F, A]

    Permalink
  37. def orElseF(default: ⇒ F[Option[A]])(implicit F: Monad[F]): OptionT[F, A]

    Permalink
  38. def partialCompare(that: OptionT[F, A])(implicit p: PartialOrder[F[Option[A]]]): Double

    Permalink
  39. def semiflatMap[B](f: (A) ⇒ F[B])(implicit F: Monad[F]): OptionT[F, B]

    Permalink
  40. def show(implicit F: Show[F[Option[A]]]): String

    Permalink
  41. def subflatMap[B](f: (A) ⇒ Option[B])(implicit F: Functor[F]): OptionT[F, B]

    Permalink
  42. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  43. def toLeft[R](right: ⇒ R)(implicit F: Functor[F]): EitherT[F, A, R]

    Permalink
  44. def toNested: Nested[F, Option, A]

    Permalink

    Transform this OptionT[F, A] into a Nested[F, Option, A].

    Transform this OptionT[F, A] into a Nested[F, Option, A].

    An example where toNested can be used, is to get the Apply.ap function with the behavior from the composed Apply instances from F and Option, which is inconsistent with the behavior of the ap from Monad of OptionT.

    scala> import cats.implicits._
    scala> import cats.data.OptionT
    scala> val ff: OptionT[List, Int => String] =
         |   OptionT(List(Option(_.toString), None))
    scala> val fa: OptionT[List, Int] = OptionT(List(Option(1), Option(2)))
    scala> ff.ap(fa)
    res0: OptionT[List,String] = OptionT(List(Some(1), Some(2), None))
    scala> OptionT(ff.toNested.ap(fa.toNested).value)
    res1: OptionT[List,String] = OptionT(List(Some(1), Some(2), None, None))
  45. def toRight[L](left: ⇒ L)(implicit F: Functor[F]): EitherT[F, L, A]

    Permalink
  46. def transform[B](f: (Option[A]) ⇒ Option[B])(implicit F: Functor[F]): OptionT[F, B]

    Permalink
  47. def traverse[G[_], B](f: (A) ⇒ G[B])(implicit F: Traverse[F], G: Applicative[G]): G[OptionT[F, B]]

    Permalink
  48. val value: F[Option[A]]

    Permalink
  49. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  50. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  51. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  52. def withFilter(p: (A) ⇒ Boolean)(implicit F: Functor[F]): OptionT[F, A]

    Permalink

Inherited from Serializable

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from AnyRef

Inherited from Any

Ungrouped