ValueMapping

edu.gemini.grackle.ValueMapping
abstract class ValueMapping[F[_]](implicit val M: Monad[F]) extends Mapping[F] with ValueMappingLike[F]

Attributes

Source:
valuemapping.scala
Graph
Supertypes
class Mapping[F]
class Object
trait Matchable
class Any

Members list

Concise view

Type members

Inherited classlikes

case class CursorField[T](fieldName: String, f: Cursor => Result[T], encoder: Encoder[T], required: List[String], hidden: Boolean)(implicit pos: SourcePos) extends FieldMapping

Attributes

Inherited from:
Mapping
Source:
mapping.scala
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any

Attributes

Inherited from:
Mapping
Source:
mapping.scala
Graph
Supertypes
class Object
trait Matchable
class Any
case class Delegate(fieldName: String, interpreter: Mapping[F], join: (Cursor, Query) => Result[Query])(implicit pos: SourcePos) extends FieldMapping

Attributes

Inherited from:
Mapping
Source:
mapping.scala
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
trait FieldMapping extends Product with Serializable

Attributes

Inherited from:
Mapping
Source:
mapping.scala
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Known subtypes
class CursorField[T]
class Delegate
class ValueField[T]
class Wrap[T]
case class LeafCursor(context: Context, focus: Any, parent: Option[Cursor], env: Env) extends Cursor

Cursor positioned at a GraphQL result leaf

Cursor positioned at a GraphQL result leaf

Attributes

Inherited from:
Mapping
Source:
mapping.scala
Graph
Supertypes
trait Serializable
trait Product
trait Equals
trait Cursor
class Object
trait Matchable
class Any

Attributes

Inherited from:
Mapping
Source:
mapping.scala
Graph
Supertypes
class Object
trait Matchable
class Any
trait LeafMapping[T] extends TypeMapping

Attributes

Inherited from:
Mapping
Source:
mapping.scala
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Known subtypes
abstract class ObjectMapping extends TypeMapping

Attributes

Inherited from:
Mapping
Source:
mapping.scala
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Known subtypes

Attributes

Inherited from:
Mapping
Source:
mapping.scala
Graph
Supertypes
class Object
trait Matchable
class Any
case class PrefixedMapping(tpe: Type, mappings: List[(List[String], ObjectMapping)])(implicit pos: SourcePos) extends TypeMapping

Attributes

Inherited from:
Mapping
Source:
mapping.scala
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
case class PrimitiveField(fieldName: String, hidden: Boolean)(implicit pos: SourcePos) extends FieldMapping

Attributes

Inherited from:
Mapping
Source:
mapping.scala
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
case class PrimitiveMapping(tpe: Type)(implicit pos: SourcePos) extends TypeMapping

Attributes

Inherited from:
Mapping
Source:
mapping.scala
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
case class RootCursor(context: Context, parent: Option[Cursor], env: Env) extends AbstractCursor

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 inMapping` subtypes.

Attributes

Inherited from:
Mapping
Source:
mapping.scala
Graph
Supertypes
trait Serializable
trait Product
trait Equals
trait Cursor
class Object
trait Matchable
class Any
case class RootEffect extends FieldMapping

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.

Attributes

Inherited from:
Mapping
Source:
mapping.scala
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
object RootEffect

Attributes

Inherited from:
Mapping
Source:
mapping.scala
Graph
Supertypes
class Object
trait Matchable
class Any
trait TypeMapping extends Product with Serializable

Attributes

Inherited from:
Mapping
Source:
mapping.scala
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Known subtypes
case class ValueCursor(context: Context, focus: Any, parent: Option[Cursor], env: Env) extends Cursor

Attributes

Inherited from:
ValueMappingLike
Source:
valuemapping.scala
Graph
Supertypes
trait Serializable
trait Product
trait Equals
trait Cursor
class Object
trait Matchable
class Any
case class ValueField[T](fieldName: String, f: T => Any, hidden: Boolean)(implicit pos: SourcePos) extends ValueFieldMapping[T]

Attributes

Inherited from:
ValueMappingLike
Source:
valuemapping.scala
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
object ValueField

Attributes

Inherited from:
ValueMappingLike
Source:
valuemapping.scala
Graph
Supertypes
class Object
trait Matchable
class Any

Attributes

Inherited from:
ValueMappingLike
Source:
valuemapping.scala
Graph
Supertypes
class Object
trait Matchable
class Any
sealed trait ValueFieldMapping[T] extends FieldMapping

Attributes

Inherited from:
ValueMappingLike
Source:
valuemapping.scala
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Known subtypes
class ValueField[T]
class Wrap[T]
case class ValueObjectMapping[T](tpe: Type, fieldMappings: List[FieldMapping], classTag: ClassTag[T])(implicit pos: SourcePos) extends ObjectMapping

Attributes

Inherited from:
ValueMappingLike
Source:
valuemapping.scala
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any

Value members

Inherited methods

def ValueObjectMapping[T](tpe: Type, fieldMappings: List[ValueFieldMapping[T]])(implicit classTag: ClassTag[T], pos: SourcePos): ValueObjectMapping[T]

Attributes

Inherited from:
ValueMappingLike
Source:
valuemapping.scala
def compileAndRun(text: String, name: Option[String], untypedVars: Option[Json], introspectionLevel: IntrospectionLevel, env: Env)(implicit sc: Compiler[F, F]): F[T]

Attributes

Inherited from:
QueryExecutor
Source:
mapping.scala
def compileAndRunAll(text: String, name: Option[String], untypedVars: Option[Json], introspectionLevel: IntrospectionLevel, env: Env): Stream[F, Json]

Attributes

Inherited from:
Mapping
Source:
mapping.scala
def compileAndRunOne(text: String, name: Option[String], untypedVars: Option[Json], introspectionLevel: IntrospectionLevel, env: Env)(implicit sc: Compiler[F, F]): F[Json]

Attributes

Inherited from:
Mapping
Source:
mapping.scala

Attributes

Inherited from:
Mapping
Source:
mapping.scala
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

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

Attributes

Inherited from:
Mapping
Source:
mapping.scala

Attributes

Inherited from:
Mapping
Source:
mapping.scala
def fieldMapping(context: Context, fieldName: String): Option[FieldMapping]

Attributes

Inherited from:
Mapping
Source:
mapping.scala
def isLeaf(tpe: Type): Boolean

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

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

Attributes

Inherited from:
Mapping
Source:
mapping.scala

Attributes

Inherited from:
Mapping
Source:
mapping.scala
def mkCursor(context: Context, focus: Any, parent: Option[Cursor], env: Env): Cursor

Attributes

Inherited from:
ValueMappingLike
Source:
valuemapping.scala
override 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.

Attributes

Definition Classes
Inherited from:
ValueMappingLike
Source:
valuemapping.scala

Attributes

Inherited from:
Mapping
Source:
mapping.scala
def rootEffect(context: Context, fieldName: String): Option[RootEffect]

Yields the RootEffect, if any, associated with fieldName.

Yields the RootEffect, if any, associated with fieldName.

Attributes

Inherited from:
Mapping
Source:
mapping.scala
def run(op: Operation, env: Env): Stream[F, Json]

Attributes

Inherited from:
Mapping
Source:
mapping.scala
def run(query: Query, rootTpe: Type, env: Env): Stream[F, Json]

Attributes

Inherited from:
Mapping
Source:
mapping.scala

Attributes

Inherited from:
Mapping
Source:
mapping.scala
def valueCursor[T](path: Path, env: Env, t: T): Cursor

Attributes

Inherited from:
ValueMappingLike
Source:
valuemapping.scala

Inherited fields

Attributes

Inherited from:
Mapping
Source:
mapping.scala

Attributes

Inherited from:
Mapping
Source:
mapping.scala

Attributes

Inherited from:
Mapping
Source:
mapping.scala

Attributes

Inherited from:
Mapping
Source:
mapping.scala

Attributes

Inherited from:
Mapping
Source:
mapping.scala

Attributes

Inherited from:
Mapping
Source:
mapping.scala

Attributes

Inherited from:
Mapping
Source:
mapping.scala

Implicits

Implicits

implicit val M: Monad[F]

Attributes

Source:
valuemapping.scala