edu.gemini.grackle

Type members

Classlikes

object Ast
Source:
ast.scala
abstract class ComposedMapping[F[_]](implicit val M: Monad[F]) extends Mapping[F]
trait Cursor

Indicates a position within an abstract data model during the interpretation of a GraphQL query.

Indicates a position within an abstract data model during the interpretation of a GraphQL query.

Companion:
object
Source:
cursor.scala
object Cursor
Companion:
class
Source:
cursor.scala
case class Directive(name: String, description: Option[String], locations: List[DirectiveLocation], args: List[InputValue])

The Directive type represents a Directive that a server supports.

The Directive type represents a Directive that a server supports.

See also:
Source:
schema.scala
case class EnumType(name: String, description: Option[String], enumValues: List[EnumValue]) extends Type with NamedType

Enums are special scalars that can only have a defined set of values.

Enums are special scalars that can only have a defined set of values.

See also:
Source:
schema.scala
case class EnumValue(name: String, description: Option[String], isDeprecated: Boolean, deprecationReason: Option[String])

The EnumValue type represents one of possible values of an enum.

The EnumValue type represents one of possible values of an enum.

See also:
Source:
schema.scala
case class Field(name: String, description: Option[String], args: List[InputValue], tpe: Type, isDeprecated: Boolean, deprecationReason: Option[String])

The Field type represents each field in an Object or Interface type.

The Field type represents each field in an Object or Interface type.

See also:
Source:
schema.scala
case class InputObjectType(name: String, description: Option[String], inputFields: List[InputValue]) extends Type with NamedType

Input objects are composite types used as inputs into queries defined as a list of named input values.

Input objects are composite types used as inputs into queries defined as a list of named input values.

See also:
Source:
schema.scala
case class InputValue(name: String, description: Option[String], tpe: Type, defaultValue: Option[Value])
Value parameters:
defaultValue

a String encoding (using the GraphQL language) of the default value used by this input value in the condition a value is not provided at runtime.

Source:
schema.scala
case class InterfaceType(name: String, description: Option[String], fields: List[Field], interfaces: List[NamedType]) extends Type with TypeWithFields

Interfaces are an abstract type where there are common fields declared. Any type that implements an interface must define all the fields with names and types exactly matching.

Interfaces are an abstract type where there are common fields declared. Any type that implements an interface must define all the fields with names and types exactly matching.

See also:
Source:
schema.scala
case class ListType(ofType: Type) extends Type

Lists represent sequences of values in GraphQL. A List type is a type modifier: it wraps another type instance in the ofType field, which defines the type of each item in the list.

Lists represent sequences of values in GraphQL. A List type is a type modifier: it wraps another type instance in the ofType field, which defines the type of each item in the list.

See also:
Source:
schema.scala
object Literals
abstract class Mapping[F[_]] extends QueryExecutor[F, Json]
sealed trait NamedType extends Type

A type with a schema-defined name.

A type with a schema-defined name.

This includes object types, inferface types and enums.

Source:
schema.scala
case class NullableType(ofType: Type) extends Type

A Non‐null type is a type modifier: it wraps another type instance in the ofType field. Non‐null types do not allow null as a response, and indicate required inputs for arguments and input object fields.

A Non‐null type is a type modifier: it wraps another type instance in the ofType field. Non‐null types do not allow null as a response, and indicate required inputs for arguments and input object fields.

See also:
Source:
schema.scala
case class ObjectType(name: String, description: Option[String], fields: List[Field], interfaces: List[NamedType]) extends Type with TypeWithFields

Object types represent concrete instantiations of sets of fields.

Object types represent concrete instantiations of sets of fields.

See also:
Source:
schema.scala
case class Operation(query: Query, rootTpe: NamedType)
case class Path

A path starting from some root type.

A path starting from some root type.

Companion:
object
Source:
predicate.scala
object Path
Companion:
class
Source:
predicate.scala
sealed trait PathTerm
Companion:
object
Source:
predicate.scala
object PathTerm
Companion:
class
Source:
predicate.scala
trait Predicate extends Term[Boolean]
Companion:
object
Source:
predicate.scala
object Predicate
Companion:
class
Source:
predicate.scala
final case class Problem(message: String, locations: List[(Int, Int)], path: List[String])

A problem, to be reported back to the user.

A problem, to be reported back to the user.

Companion:
object
Source:
problem.scala
object Problem
Companion:
class
Source:
problem.scala
sealed trait Query

GraphQL query Algebra

GraphQL query Algebra

Companion:
object
Source:
query.scala
object Query
Companion:
class
Source:
query.scala
class QueryCompiler(schema: Schema, phases: List[Phase])

GraphQL query compiler.

GraphQL query compiler.

A QueryCompiler parses GraphQL queries to query algebra terms, then applies a collection of transformation phases in sequence, yielding a query algebra term which can be directly interpreted.

Companion:
object
Source:
compiler.scala
Companion:
class
Source:
compiler.scala
trait QueryExecutor[F[_], T]
class QueryInterpreter[F[_]](mapping: Mapping[F])

GraphQL query parser

GraphQL query parser

Source:
compiler.scala
object Result
case class ScalarType(name: String, description: Option[String]) extends Type with NamedType

Represents scalar types such as Int, String, and Boolean. Scalars cannot have fields.

Represents scalar types such as Int, String, and Boolean. Scalars cannot have fields.

See also:
Companion:
object
Source:
schema.scala
object ScalarType
Companion:
class
Source:
schema.scala
trait Schema

Representation of a GraphQL schema

Representation of a GraphQL schema

A Schema is a collection of type and directive declarations.

Companion:
object
Source:
schema.scala
object Schema
Companion:
class
Source:
schema.scala

GraphQL schema parser

GraphQL schema parser

Source:
schema.scala
trait Term[T] extends Product with Serializable

A reified function over a Cursor.

A reified function over a Cursor.

Query interpreters will typically need to introspect predicates (eg. in the doobie module we need to be able to construct where clauses from predicates over fields/attributes), so these cannot be arbitrary functions Cursor => Boolean.

Companion:
object
Source:
predicate.scala
object Term extends TermLow
Companion:
class
Source:
predicate.scala
sealed trait Type extends Product

A GraphQL type definition.

A GraphQL type definition.

Source:
schema.scala
case class TypeRef(schema: Schema, name: String) extends NamedType

A by name reference to a type defined in schema.

A by name reference to a type defined in schema.

Source:
schema.scala
sealed trait TypeWithFields extends NamedType

A type with fields.

A type with fields.

This includes object types and inferface types.

Source:
schema.scala
case class UnionType(name: String, description: Option[String], members: List[NamedType]) extends Type with NamedType

Unions are an abstract type where no common fields are declared. The possible types of a union are explicitly listed out in elements. Types can be made parts of unions without modification of that type.

Unions are an abstract type where no common fields are declared. The possible types of a union are explicitly listed out in elements. Types can be made parts of unions without modification of that type.

See also:
Source:
schema.scala
sealed trait UntypedOperation
Companion:
object
Source:
operation.scala
Companion:
class
Source:
operation.scala
sealed trait Value
Companion:
object
Source:
schema.scala
object Value
Companion:
class
Source:
schema.scala
abstract class ValueMapping[F[_]](implicit val M: Monad[F]) extends Mapping[F] with ValueMappingLike[F]
trait ValueMappingLike[F[_]] extends Mapping[F]
object syntax

Types

type Result[+T] = IorNec[Problem, T]

A result value.

A result value.

A result of type T, a non-empty collection of errors encoded as Json, or both.

Source:
package.scala