abstract class Mapping[F[_]] extends QueryExecutor[F, Json]

Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Mapping
  2. QueryExecutor
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new Mapping()

Type Members

  1. case class CursorField[T](fieldName: String, f: (Cursor) => Result[T], encoder: Encoder[T], required: List[String], hidden: Boolean)(implicit pos: SourcePos) extends FieldMapping with Product with Serializable
  2. case class Delegate(fieldName: String, interpreter: Mapping[F], join: (Cursor, Query) => Result[Query] = ComponentElaborator.TrivialJoin)(implicit pos: SourcePos) extends FieldMapping with Product with Serializable
  3. trait FieldMapping extends Product with Serializable
  4. case class LeafCursor(context: Context, focus: Any, parent: Option[Cursor], env: Env) extends Cursor with Product with Serializable

    Cursor positioned at a GraphQL result leaf

  5. trait LeafMapping[T] extends TypeMapping
  6. abstract class ObjectMapping extends TypeMapping
  7. case class PrefixedMapping(tpe: Type, mappings: List[(List[String], ObjectMapping)])(implicit pos: SourcePos) extends TypeMapping with Product with Serializable
  8. case class PrimitiveField(fieldName: String, hidden: Boolean = false)(implicit pos: SourcePos) extends FieldMapping with Product with Serializable
  9. case class PrimitiveMapping(tpe: Type)(implicit pos: SourcePos) extends TypeMapping with Product with Serializable
  10. case class RootCursor(context: Context, parent: Option[Cursor], env: Env) extends AbstractCursor with Product with Serializable

    Root Cursor focussed on the top level operation of a query

    Root Cursor focussed on the top level operation of a query

    Construction of mapping-specific cursors is handled by delegation to mkCursorForField which is typically overridden in Mapping subtypes.

  11. case class RootEffect extends FieldMapping with Product with Serializable

    Root effects can perform an intial effect prior to computing the resulting Cursor and effective Query.

    Root effects can perform an intial effect prior to computing the resulting Cursor and effective Query.

    Convenience methods are provided to cover the cases where only one of the query or the cursor are computed, and for where the computation is one-shot or a Stream. One-shot effects are used to perform initial effectful setup for a query or to perform the effect associated with a GraphQL mutation. Stream effects are used for GraphQL subscriptions.

    If only the query is computed the default root cursor for the mapping will be used. If only the cursor is computed the client query (after elaboration) is used unmodified ... in this case results of the performed effect can only be passed to the result construction stage via the environment associated with the returned cursor.

  12. trait TypeMapping extends Product with Serializable

Abstract Value Members

  1. implicit abstract val M: Monad[F]
  2. abstract val schema: Schema
  3. abstract val typeMappings: List[TypeMapping]

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  6. def compileAndRun(text: String, name: Option[String] = None, untypedVars: Option[Json] = None, introspectionLevel: IntrospectionLevel = Full, env: Env = Env.empty)(implicit sc: Compiler[F, F]): F[Json]
    Definition Classes
    QueryExecutor
  7. def compileAndRunAll(text: String, name: Option[String] = None, untypedVars: Option[Json] = None, introspectionLevel: IntrospectionLevel = Full, env: Env = Env.empty): Stream[F, Json]
    Definition Classes
    MappingQueryExecutor
  8. def compileAndRunOne(text: String, name: Option[String] = None, untypedVars: Option[Json] = None, introspectionLevel: IntrospectionLevel = Full, env: Env = Env.empty)(implicit sc: Compiler[F, F]): F[Json]
    Definition Classes
    MappingQueryExecutor
  9. lazy val compiler: QueryCompiler
  10. def compilerPhases: List[Phase]
  11. lazy val componentElaborator: ComponentElaborator[[_]F[_]]
  12. def defaultRootCursor(query: Query, tpe: Type, env: Env): F[Result[(Query, Cursor)]]

    Yields a Cursor focused on the top level operation type of the query

  13. def encoderForLeaf(tpe: Type): Option[Encoder[Any]]
  14. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  15. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  16. def fieldMapping(context: Context, fieldName: String): Option[FieldMapping]
  17. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  18. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  19. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  20. val interpreter: QueryInterpreter[F]
  21. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  22. def isLeaf(tpe: Type): Boolean

    True if the supplied type is a leaf with respect to the GraphQL schema or mapping, false otherwise.

  23. def leafMapping[T](tpe: Type): Option[LeafMapping[T]]
  24. def mkCursorForField(parent: Cursor, fieldName: String, resultName: Option[String]): Result[Cursor]

    Yields a Cursor suitable for traversing the query result corresponding to the fieldName child of parent.

    Yields a Cursor suitable for traversing the query result corresponding to the fieldName child of parent.

    This method is typically overridden in and delegated to by Mapping subtypes.

  25. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  26. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  27. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  28. def objectMapping(context: Context): Option[ObjectMapping]
  29. def rootEffect(context: Context, fieldName: String): Option[RootEffect]

    Yields the RootEffect, if any, associated with fieldName.

  30. def run(op: Operation, env: Env = Env.empty): Stream[F, Json]
  31. def run(query: Query, rootTpe: Type, env: Env): Stream[F, Json]
  32. val selectElaborator: SelectElaborator
  33. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  34. def toString(): String
    Definition Classes
    AnyRef → Any
  35. def typeMapping(tpe: NamedType): Option[TypeMapping]
  36. val validator: MappingValidator
  37. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  38. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  39. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  40. object CursorField extends Serializable
  41. object LeafMapping extends Serializable
  42. object ObjectMapping extends Serializable
  43. object RootEffect extends Serializable

Inherited from QueryExecutor[F, Json]

Inherited from AnyRef

Inherited from Any

Ungrouped