package grackle
- Alphabetic
- By Inheritance
- grackle
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- abstract class AbstractCursor[T] extends Cursor
- trait AttributePredicate extends Predicate
A reified predicate over a
Cursor
focussed on an attribute. - class ComposedQueryInterpreter[F[_]] extends QueryInterpreter[F]
A query interpreter composed from the supplied
Map
of labelled component interpreters. - trait Cursor extends AnyRef
Indicates a position within an abstract data model during the interpretation of a GraphQL query.
- trait CursorBuilder[T] extends AnyRef
- case class DataTypeCursor(tpe: Type, focus: Any, fields: PartialFunction[(Any, String), Any], attrs: PartialFunction[(Any, String), Any], narrows: PartialFunction[(Any, TypeRef), Any]) extends Cursor with Product with Serializable
A
Cursor
for aDataTypeQueryInterpreter
backed by a Scala data type. - class DataTypeQueryInterpreter[F[_]] extends QueryInterpreter[F]
An interpreter of GraphQL queries relative to a model backed by an in-memory Scala data type.
An interpreter of GraphQL queries relative to a model backed by an in-memory Scala data type.
The interpreter is parameterized with,
1.
root
: aPartialFunction
from the top-level field name of the query to an initial GraphQL type and Scala value representing the starting point in the model for aCursor
-based traversal of the model to evaluate that query.2.
fields
: aPartialFunction
from a Scala value and a GraphQL field name to a Scala value. The argument value is the focus element in the model and corresponds to the GraphQL type at the currentCursor
position. The GraphQL field name represents an edge out of that node, and the resulting Scala value corresponds to the GraphQL value of the field.3.
attrs
: aPartialFunction
from a Scala value and an attribute name to a Scala value. The argument value is the focus element in the model and corresponds to the GraphQL type at the currentCursor
position. The attribute name selects an attribute value from that node, which is returned as the result. - case class Directive(name: String, description: Option[String], locations: List[DirectiveLocation], args: List[InputValue]) extends Product with Serializable
The
Directive
type represents a Directive that a server supports.The
Directive
type represents a Directive that a server supports.- See also
https://facebook.github.io/graphql/draft/#sec-The-Directive-Type
- case class EnumType(name: String, description: Option[String], enumValues: List[EnumValue]) extends Type with NamedType with Product with Serializable
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
https://facebook.github.io/graphql/draft/#sec-Enum
- case class EnumValue(name: String, description: Option[String], isDeprecated: Boolean = false, deprecationReason: Option[String] = None) extends Product with Serializable
The
EnumValue
type represents one of possible values of an enum.The
EnumValue
type represents one of possible values of an enum.- See also
https://facebook.github.io/graphql/draft/#sec-The-EnumValue-Type
- case class Field extends Product with Serializable
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
https://facebook.github.io/graphql/draft/#sec-The-Field-Type
- trait FieldPredicate extends Predicate
A reified predicate over a
Cursor
focussed on a field. - case class InputObjectType(name: String, description: Option[String], inputFields: List[InputValue]) extends Type with NamedType with Product with Serializable
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
https://facebook.github.io/graphql/draft/#sec-Input-Object
- case class InputValue extends Product with Serializable
- case class InterfaceType(name: String, description: Option[String], fields: List[Field], interfaces: List[NamedType]) extends Type with TypeWithFields with Product with Serializable
Interfaces are an abstract type where there are common fields declared.
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
https://facebook.github.io/graphql/draft/#sec-Interface
- case class ListType(ofType: Type) extends Type with Product with Serializable
Lists represent sequences of values in GraphQL.
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
https://facebook.github.io/graphql/draft/#sec-Type-Kinds.List
- 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.
- case class NullableType(ofType: Type) extends Type with Product with Serializable
A Non‐null type is a type modifier: it wraps another type instance in the
ofType
field.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
https://facebook.github.io/graphql/draft/#sec-Type-Kinds.Non-Null
- case class ObjectType(name: String, description: Option[String], fields: List[Field], interfaces: List[NamedType]) extends Type with TypeWithFields with Product with Serializable
Object types represent concrete instantiations of sets of fields.
Object types represent concrete instantiations of sets of fields.
- See also
https://facebook.github.io/graphql/draft/#sec-Object
- trait Predicate extends Product with (Cursor) => Boolean
A reified predicate over a
Cursor
.A reified predicate 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
. - abstract class PrimitiveCursor[T] extends AbstractCursor[T]
- sealed trait Query extends AnyRef
GraphQL query Algebra
- abstract class QueryCompiler extends AnyRef
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.
- abstract class QueryInterpreter[F[_]] extends AnyRef
- type Result[T] = Ior[NonEmptyChain[Json], T]
A result value.
A result value.
A result of type
T
, a non-empty collection of errors encoded as Json, or both. - case class ScalarType(name: String, description: Option[String]) extends Type with NamedType with Product with Serializable
Represents scalar types such as Int, String, and Boolean.
Represents scalar types such as Int, String, and Boolean. Scalars cannot have fields.
- See also
https://facebook.github.io/graphql/draft/#sec-Scalar
- trait Schema extends AnyRef
Representation of a GraphQL schema
Representation of a GraphQL schema
A
Schema
is a collection of type and directive declarations. - sealed trait Type extends AnyRef
A GraphQL type definition.
- case class TypeRef(schema: Schema, name: String) extends NamedType with Product with Serializable
A by name reference to a type defined in
schema
. - sealed trait TypeWithFields extends NamedType
A type with fields.
A type with fields.
This includes object types and inferface types.
- case class UnionType(name: String, description: Option[String], members: List[NamedType]) extends Type with NamedType with Product with Serializable
Unions are an abstract type where no common fields are declared.
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
https://facebook.github.io/graphql/draft/#sec-Union
- sealed trait Value extends AnyRef
Value Members
- object Ast
- object CommentedText
- object CursorBuilder
- object GraphQLParser
- object IntrospectionQueryInterpreter
- object NoType extends Type with Product with Serializable
A sentinel value indicating the absence of a type.
- object Predicate
- object Query
- object QueryCompiler
- object QueryInterpreter
- object QueryParser
GraphQL query parser
- object ScalarType extends Serializable
- object Schema
- object SchemaParser
GraphQL schema parser
- object SchemaRenderer
- object SchemaSchema extends Schema
- object Type
- object Value