IntrospectionMapping

grackle.Introspection.IntrospectionMapping
class IntrospectionMapping(targetSchema: Schema) extends ValueMapping[[_] =>> Either[Throwable, _$4]]

Attributes

Source
introspection.scala
Graph
Supertypes
class ValueMapping[[_] =>> Either[Throwable, _$4]]
trait ValueMappingLike[[_] =>> Either[Throwable, _$4]]
class Mapping[[_] =>> Either[Throwable, _$4]]
class Object
trait Matchable
class Any
Show all

Members list

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
Supertypes
trait FieldMapping
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
object CursorField

Attributes

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

Attributes

Inherited from:
Mapping
Source
mapping.scala
Supertypes
trait FieldMapping
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
case class EffectField(fieldName: String, handler: EffectHandler[F], required: List[String], hidden: Boolean)(implicit pos: SourcePos) extends EffectMapping

Attributes

Inherited from:
Mapping
Source
mapping.scala
Supertypes
trait FieldMapping
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
trait EffectMapping extends FieldMapping

Abstract type of field mappings with effects.

Abstract type of field mappings with effects.

Attributes

Inherited from:
Mapping
Source
mapping.scala
Supertypes
trait FieldMapping
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
Known subtypes
class EffectField
class RootEffect
class RootStream

Attributes

Inherited from:
Mapping
Source
mapping.scala
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
Known subtypes
class CursorField[T]
class Delegate
class EffectField
class RootEffect
class RootStream
class ValueField[T]
class Wrap[T]
Show all
case class FieldTransformCursor[T](underlying: Cursor, f: T => Result[T])(implicit evidence$1: ClassTag[T], evidence$2: TypeName[T]) extends ProxyCursor

Proxy Cursor which applies a function to the focus of an underlying LeafCursor.

Proxy Cursor which applies a function to the focus of an underlying LeafCursor.

Attributes

Inherited from:
Mapping
Source
mapping.scala
Supertypes
trait Serializable
trait Product
trait Equals
class ProxyCursor
trait Cursor
class Object
trait Matchable
class Any
Show all
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
Supertypes
trait Serializable
trait Product
trait Equals
trait Cursor
class Object
trait Matchable
class Any
Show all
object LeafMapping

Attributes

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

Attributes

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

Attributes

Inherited from:
Mapping
Source
mapping.scala
Supertypes
trait TypeMapping
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
Known subtypes
object ObjectMapping

Attributes

Inherited from:
Mapping
Source
mapping.scala
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
Supertypes
trait TypeMapping
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
case class PrimitiveField(fieldName: String, hidden: Boolean)(implicit pos: SourcePos) extends FieldMapping

Attributes

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

Attributes

Inherited from:
Mapping
Source
mapping.scala
Supertypes
trait TypeMapping
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
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 in Mapping subtypes.

Attributes

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

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.

These effects are used to perform initial effectful setup for a query or to perform the effect associated with a GraphQL mutation. Convenience methods are provided to cover the cases where only one of the query or the cursor are computed.

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
Supertypes
trait FieldMapping
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
object RootEffect

Attributes

Inherited from:
Mapping
Source
mapping.scala
Supertypes
class Object
trait Matchable
class Any
case class RootStream extends EffectMapping

Root streams can perform an intial effect prior to emitting the resulting cursors and effective queries.

Root streams can perform an intial effect prior to emitting the resulting cursors and effective queries.

Stream effects are used for GraphQL subscriptions. Convenience methods are provided to cover the cases where only one of the query or the cursor are computed

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
Supertypes
trait FieldMapping
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
object RootStream

Attributes

Inherited from:
Mapping
Source
mapping.scala
Supertypes
class Object
trait Matchable
class Any

Attributes

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

Attributes

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

Attributes

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

Attributes

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

Attributes

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

Attributes

Inherited from:
ValueMappingLike
Source
valuemapping.scala
Supertypes
trait FieldMapping
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
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
Supertypes
trait TypeMapping
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

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 combineAndRun(queries: List[(Query, Cursor)]): F[Result[List[ProtoJson]]]

Combine and execute multiple queries.

Combine and execute multiple queries.

Each query is interpreted in the context of the Cursor it is paired with. The result list is aligned with the argument query list. For each query at most one stage will be run and the corresponding result may contain deferred components.

Errors are aggregated across all the argument queries and are accumulated on the Left of the result.

This method is typically called at the end of a stage to evaluate deferred subqueries in the result of that stage. These will be grouped by and passed jointly to the responsible mapping in the next stage using this method. Maappongs which are able to benefit from combining queries may do so by overriding this method to implement their specific combinging logic.

Attributes

Inherited from:
Mapping
Source
mapping.scala
def compileAndRun(text: String, name: Option[String], untypedVars: Option[Json], introspectionLevel: IntrospectionLevel, env: Env)(implicit sc: Compiler[[_] =>> Either[Throwable, _$4], [_] =>> Either[Throwable, _$4]]): F[Json]

Compile and run a single GraphQL query or mutation.

Compile and run a single GraphQL query or mutation.

Yields a JSON response containing the result of the query or mutation.

Attributes

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

Compile and run a GraphQL subscription.

Compile and run a GraphQL subscription.

Yields a stream of JSON responses containing the results of the subscription.

Attributes

Inherited from:
Mapping
Source
mapping.scala

Attributes

Inherited from:
Mapping
Source
mapping.scala
def defaultRootCursor(query: Query, tpe: Type, parentCursor: Option[Cursor]): 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
def encoderForLeaf(tpe: Type): Option[Encoder[Any]]

Yields the Encoder associated with the provided type, if any.

Yields the Encoder associated with the provided type, if any.

Attributes

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

Yields the FieldMapping associated with fieldName in context, if any.

Yields the FieldMapping associated with fieldName in context, if any.

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
def leafMapping[T](tpe: Type): Option[LeafMapping[T]]

Yields the LeafMapping associated with the provided type, if any.

Yields the LeafMapping associated with the provided type, if any.

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
def mkResponse(result: Result[Json]): F[Json]

Construct a GraphQL response from a Result.

Construct a GraphQL response from a Result.

Attributes

Inherited from:
Mapping
Source
mapping.scala
def mkResponse(data: Option[Json], errors: Chain[Problem]): Json

Construct a GraphQL response from the possibly absent result data and a collection of errors.

Construct a GraphQL response from the possibly absent result data and a collection of errors.

Attributes

Inherited from:
Mapping
Source
mapping.scala

Yields the ObjectMapping associated with the provided context, if any.

Yields the ObjectMapping associated with the provided context, if any.

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 rootStream(context: Context, fieldName: String): Option[RootStream]

Yields the RootStream, if any, associated with fieldName.

Yields the RootStream, if any, associated with fieldName.

Attributes

Inherited from:
Mapping
Source
mapping.scala

Yields the TypeMapping associated with the provided type, if any.

Yields the TypeMapping associated with the provided type, if any.

Attributes

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

Attributes

Inherited from:
ValueMappingLike
Source
valuemapping.scala

Concrete fields

Attributes

Source
introspection.scala
val schema: Schema

Attributes

Source
introspection.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

Implicits

Inherited implicits

implicit val M: MonadThrow[[_] =>> Either[Throwable, _$4]]

Attributes

Inherited from:
ValueMapping
Source
valuemapping.scala