p

fetch

package fetch

Linear Supertypes
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 Ap [A, B](ff: Query[(A) ⇒ B], fa: Query[A]) extends Query[B] with Product with Serializable
  2. final case class Async [A](action: (Callback[A], Errback) ⇒ Unit, timeout: Duration) extends Query[A] with Product with Serializable

    A query that can only be satisfied asynchronously.

    A query that can only be satisfied asynchronously. *

  3. final case class Concurrent (queries: NonEmptyList[FetchQuery[Any, Any]]) extends FetchOp[InMemoryCache] with FetchRequest with Product with Serializable
  4. trait DataSource [I, A] extends AnyRef

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

  5. trait DataSourceCache extends AnyRef

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

  6. type DataSourceIdentity = (DataSourceName, Any)
  7. type DataSourceName = String
  8. trait Env extends AnyRef

    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]
  10. case class FetchEnv (cache: DataSourceCache, rounds: Queue[Round] = Queue.empty) extends Env with Product with Serializable

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

  11. trait FetchException extends Throwable with Product with Serializable
  12. type FetchInterpreter[M[_]] = AnyRef { type f[x] = cats.data.StateT[M,fetch.FetchEnv,x] }
  13. trait FetchInterpreters extends AnyRef
  14. final case class FetchMany [I, A](ids: NonEmptyList[I], ds: DataSource[I, A]) extends FetchOp[List[A]] with FetchQuery[I, A] with Product with Serializable
  15. trait FetchMonadError [M[_]] extends MonadError[M, FetchException]
  16. final case class FetchOne [I, A](id: I, ds: DataSource[I, A]) extends FetchOp[A] with FetchQuery[I, A] with Product with Serializable
  17. sealed abstract class FetchOp [A] extends Product with Serializable

    Primitive operations in the Fetch Free monad.

  18. sealed trait FetchQuery [I, A] extends FetchRequest
  19. sealed trait FetchRequest extends Product with Serializable

    Requests in Fetch Free monad.

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

    A cache that stores its elements in memory.

  21. final case class Join [A, B](fl: Fetch[A], fr: Fetch[B]) extends FetchOp[(A, B)] with Product with Serializable
  22. case class MissingIdentities (env: Env, missing: Map[DataSourceName, List[Any]]) extends Throwable with FetchException with Product with Serializable
  23. case class NotFound (env: Env, request: FetchOne[_, _]) extends Throwable with FetchException with Product with Serializable
  24. sealed trait Query [A] extends Product with Serializable
  25. case class Round (cache: DataSourceCache, request: FetchRequest, response: Any, start: Long, end: Long) extends Product with Serializable

    A data structure that holds information about a fetch round.

  26. final case class Sync [A](action: Eval[A]) extends Query[A] with Product with Serializable

    A query that can be satisfied synchronously.

    A query that can be satisfied synchronously. *

  27. final case class Thrown [A](err: Throwable) extends FetchOp[A] with Product with Serializable
  28. case class UnhandledException (env: Env, err: Throwable) extends Throwable with FetchException with Product with Serializable

Inherited from AnyRef

Inherited from Any

Ungrouped