Packages

object Coeval extends Serializable

Source
Coeval.scala
Linear Supertypes
Serializable, Serializable, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Coeval
  2. Serializable
  3. Serializable
  4. AnyRef
  5. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. final case class Always [+A](f: () ⇒ A) extends Coeval[A] with Product with Serializable

    Constructs a lazy Coeval instance.

    Constructs a lazy Coeval instance.

    This type can be used for "lazy" values. In some sense it is equivalent to using a Function0 value.

  2. sealed abstract class Attempt [+A] extends Coeval[A] with Product

    The Attempt represents a strict, already evaluated result of a Coeval that either resulted in success, wrapped in a Now, or in an error, wrapped in an Error.

    The Attempt represents a strict, already evaluated result of a Coeval that either resulted in success, wrapped in a Now, or in an error, wrapped in an Error.

    It's the moral equivalent of scala.util.Try.

  3. final case class Error (ex: Throwable) extends Attempt[Nothing] with Product with Serializable

    Constructs an eager Coeval instance for a result that represents an error.

  4. final case class Now [+A](value: A) extends Attempt[A] with Product with Serializable

    Constructs an eager Coeval instance from a strict value that's already known.

  5. final class Once [+A] extends Coeval[A] with () ⇒ A

    Constructs a lazy Coeval instance that gets evaluated only once.

    Constructs a lazy Coeval instance that gets evaluated only once.

    In some sense it is equivalent to using a lazy val. When caching is not required or desired, prefer Always or Now.

  6. class TypeClassInstances extends Instance[Coeval] with Instance[Coeval] with Instance[Coeval, Throwable] with Instance[Coeval] with Instance[Coeval]

    Groups the implementation for the type-classes defined in monix.types.

Value Members

  1. def apply[A](f: ⇒ A): Coeval[A]

    Promotes a non-strict value to a Coeval.

    Promotes a non-strict value to a Coeval.

    Alias of eval.

  2. def defer[A](fa: ⇒ Coeval[A]): Coeval[A]

    Promote a non-strict value representing a Coeval to a Coeval of the same type.

  3. def delay[A](a: ⇒ A): Coeval[A]

    Alias for eval.

  4. def eval[A](a: ⇒ A): Coeval[A]

    Promote a non-strict value to a Coeval, catching exceptions in the process.

    Promote a non-strict value to a Coeval, catching exceptions in the process.

    Note that since Coeval is not memoized, this will recompute the value each time the Coeval is executed.

  5. def evalOnce[A](a: ⇒ A): Coeval[A]

    Promote a non-strict value to a Coeval that is memoized on the first evaluation, the result being then available on subsequent evaluations.

  6. def fromTry[A](a: Try[A]): Coeval[A]

    Builds a Coeval out of a Scala Try value.

  7. def now[A](a: A): Coeval[A]

    Returns a Coeval that on execution is always successful, emitting the given strict value.

  8. def pure[A](a: A): Coeval[A]

    Lifts a value into the coeval context.

    Lifts a value into the coeval context. Alias for now.

  9. def raiseError[A](ex: Throwable): Coeval[A]

    Returns a Coeval that on execution is always finishing in error emitting the specified exception.

  10. def sequence[A, M[X] <: TraversableOnce[X]](sources: M[Coeval[A]])(implicit cbf: CanBuildFrom[M[Coeval[A]], A, M[A]]): Coeval[M[A]]

    Transforms a TraversableOnce of coevals into a coeval producing the same collection of gathered results.

    Transforms a TraversableOnce of coevals into a coeval producing the same collection of gathered results.

    It's a simple version of traverse.

  11. def suspend[A](fa: ⇒ Coeval[A]): Coeval[A]

    Alias for defer.

  12. def tailRecM[A, B](a: A)(f: (A) ⇒ Coeval[Either[A, B]]): Coeval[B]

    Keeps calling f until it returns a Right result.

    Keeps calling f until it returns a Right result.

    Based on Phil Freeman's Stack Safety for Free.

  13. def traverse[A, B, M[X] <: TraversableOnce[X]](sources: M[A])(f: (A) ⇒ Coeval[B])(implicit cbf: CanBuildFrom[M[A], B, M[B]]): Coeval[M[B]]

    Transforms a TraversableOnce[A] into a coeval of the same collection using the provided function A => Coeval[B].

    Transforms a TraversableOnce[A] into a coeval of the same collection using the provided function A => Coeval[B].

    It's a generalized version of sequence.

  14. implicit val typeClassInstances: TypeClassInstances

    Implicit type-class instances of Coeval.

  15. val unit: Coeval[Unit]

    A Coeval[Unit] provided for convenience.

  16. def zip2[A1, A2, R](fa1: Coeval[A1], fa2: Coeval[A2]): Coeval[(A1, A2)]

    Pairs two Coeval instances.

  17. def zip3[A1, A2, A3](fa1: Coeval[A1], fa2: Coeval[A2], fa3: Coeval[A3]): Coeval[(A1, A2, A3)]

    Pairs three Coeval instances.

  18. def zip4[A1, A2, A3, A4](fa1: Coeval[A1], fa2: Coeval[A2], fa3: Coeval[A3], fa4: Coeval[A4]): Coeval[(A1, A2, A3, A4)]

    Pairs four Coeval instances.

  19. def zip5[A1, A2, A3, A4, A5](fa1: Coeval[A1], fa2: Coeval[A2], fa3: Coeval[A3], fa4: Coeval[A4], fa5: Coeval[A5]): Coeval[(A1, A2, A3, A4, A5)]

    Pairs five Coeval instances.

  20. def zip6[A1, A2, A3, A4, A5, A6](fa1: Coeval[A1], fa2: Coeval[A2], fa3: Coeval[A3], fa4: Coeval[A4], fa5: Coeval[A5], fa6: Coeval[A6]): Coeval[(A1, A2, A3, A4, A5, A6)]

    Pairs six Coeval instances.

  21. def zipList[A](sources: Coeval[A]*): Coeval[List[A]]

    Zips together multiple Coeval instances.

  22. def zipMap2[A1, A2, R](fa1: Coeval[A1], fa2: Coeval[A2])(f: (A1, A2) ⇒ R): Coeval[R]

    Pairs two Coeval instances, creating a new instance that will apply the given mapping function to the resulting pair.

  23. def zipMap3[A1, A2, A3, R](fa1: Coeval[A1], fa2: Coeval[A2], fa3: Coeval[A3])(f: (A1, A2, A3) ⇒ R): Coeval[R]

    Pairs three Coeval instances, applying the given mapping function to the result.

  24. def zipMap4[A1, A2, A3, A4, R](fa1: Coeval[A1], fa2: Coeval[A2], fa3: Coeval[A3], fa4: Coeval[A4])(f: (A1, A2, A3, A4) ⇒ R): Coeval[R]

    Pairs four Coeval instances, applying the given mapping function to the result.

  25. def zipMap5[A1, A2, A3, A4, A5, R](fa1: Coeval[A1], fa2: Coeval[A2], fa3: Coeval[A3], fa4: Coeval[A4], fa5: Coeval[A5])(f: (A1, A2, A3, A4, A5) ⇒ R): Coeval[R]

    Pairs five Coeval instances, applying the given mapping function to the result.

  26. def zipMap6[A1, A2, A3, A4, A5, A6, R](fa1: Coeval[A1], fa2: Coeval[A2], fa3: Coeval[A3], fa4: Coeval[A4], fa5: Coeval[A5], fa6: Coeval[A6])(f: (A1, A2, A3, A4, A5, A6) ⇒ R): Coeval[R]

    Pairs six Coeval instances, applying the given mapping function to the result.

  27. object Attempt extends Serializable
  28. object Once extends Serializable