Package

fetch

Permalink

package fetch

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. fetch
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. final case class Cached[A](a: A) extends FetchOp[A] with Product with Serializable

    Permalink
  2. final case class Concurrent(as: List[FetchMany[_, _]]) extends FetchOp[Env] with Product with Serializable

    Permalink
  3. final case class ConcurrentRound(ids: Map[String, List[Any]]) extends RoundKind with Product with Serializable

    Permalink
  4. trait DataSource[I, A] extends AnyRef

    Permalink

    A DataSource is the recipe for fetching a certain identity I, which yields results of type A.

  5. trait DataSourceCache extends AnyRef

    Permalink

    A Cache trait so the users of the library can provide their own cache.

  6. type DataSourceIdentity = (DataSourceName, Any)

    Permalink
  7. type DataSourceName = String

    Permalink
  8. trait Env extends AnyRef

    Permalink

    An environment that is passed along during the fetch rounds.

    An environment that is passed along during the fetch rounds. It holds the cache and the list of rounds that have been executed.

  9. type Fetch[A] = Free[FetchOp, A]

    Permalink
  10. case class FetchEnv(cache: DataSourceCache, ids: List[Any] = Nil, rounds: Queue[Round] = Queue.empty) extends Env with Product with Serializable

    Permalink

    A concrete implementation of Env used in the default Fetch interpreter.

  11. final case class FetchError[A, E <: Throwable](err: E) extends FetchOp[A] with Product with Serializable

    Permalink
  12. case class FetchFailure(env: Env) extends Throwable with Product with Serializable

    Permalink

    An exception thrown from the interpreter when failing to perform a data fetch.

  13. type FetchInterpreter[M[_]] = AnyRef { type f[x] = cats.data.StateT[M,fetch.FetchEnv,x] }

    Permalink
  14. trait FetchInterpreters extends AnyRef

    Permalink
  15. final case class FetchMany[I, A](as: NonEmptyList[I], ds: DataSource[I, A]) extends FetchOp[List[A]] with Product with Serializable

    Permalink
  16. type FetchMonadError[M[_]] = MonadError[M, Throwable]

    Permalink
  17. final case class FetchOne[I, A](a: I, ds: DataSource[I, A]) extends FetchOp[A] with Product with Serializable

    Permalink
  18. sealed abstract class FetchOp[A] extends Product with Serializable

    Permalink

    Primitive operations in the Fetch Free monad.

  19. case class InMemoryCache(state: Map[DataSourceIdentity, Any]) extends DataSourceCache with Product with Serializable

    Permalink

    A cache that stores its elements in memory.

  20. final case class ManyRound(ids: List[Any]) extends RoundKind with Product with Serializable

    Permalink
  21. final case class OneRound(id: Any) extends RoundKind with Product with Serializable

    Permalink
  22. case class Round(cache: DataSourceCache, ds: DataSourceName, kind: RoundKind, startRound: Long, endRound: Long, cached: Boolean = false) extends Product with Serializable

    Permalink

    A data structure that holds information about a fetch round.

  23. sealed trait RoundKind extends AnyRef

    Permalink

Value Members

  1. object Fetch extends FetchInterpreters with Serializable

    Permalink
  2. object InMemoryCache extends Serializable

    Permalink
  3. implicit val fetchApplicative: Applicative[Fetch]

    Permalink
  4. object implicits

    Permalink
  5. object syntax

    Permalink

Inherited from AnyRef

Inherited from Any

Ungrouped