package rules
- Alphabetic
- Public
- Protected
Package Members
- package experimental
Type Members
- case class AstAndDef(astField: Field, tpe: Option[OutputType[_]], field: Option[Field[_, _]]) extends Product with Serializable
- case class Conflict(reason: ConflictReason, fields1: List[Field], fields2: List[Field]) extends Product with Serializable
- case class ConflictReason(fieldName: String, reason: Either[String, Vector[ConflictReason]]) extends Product with Serializable
- class ExecutableDefinitions extends ValidationRule
Executable definitions
Executable definitions
A GraphQL document is only valid for execution if all definitions are either operation or fragment definitions.
- class FieldsOnCorrectType extends ValidationRule
Fields on correct type
Fields on correct type
A GraphQL document is only valid if all fields selected are defined by the parent type, or are an allowed meta field such as typenamme
- class FragmentsOnCompositeTypes extends ValidationRule
Fragments on composite type
Fragments on composite type
Fragments use a type condition to determine if they apply, since fragments can only be spread into a composite type (object, interface, or union), the type condition must also be a composite type.
- class InputDocumentNonConflictingVariableInference extends ValidationRule
All inferred variables within input document should not conflict in it's inferred type
- class KnownArgumentNames extends ValidationRule
Known argument names
Known argument names
A GraphQL field is only valid if all supplied arguments are defined by that field.
- class KnownDirectives extends ValidationRule
Known directives
Known directives
A GraphQL document is only valid if all
@directivesare known by the schema and legally positioned. - class KnownFragmentNames extends ValidationRule
Known fragment names
Known fragment names
A GraphQL document is only valid if all
...Fragmentfragment spreads refer to fragments defined in the same document. - class KnownTypeNames extends ValidationRule
Known type names
Known type names
A GraphQL document is only valid if referenced types (specifically variable definitions and fragment conditions) are defined by the type schema.
- class LoneAnonymousOperation extends ValidationRule
Lone anonymous operation
Lone anonymous operation
A GraphQL document is only valid if when it contains an anonymous operation (the query short-hand) that it contains only that one operation definition.
- class NoFragmentCycles extends ValidationRule
- class NoUndefinedVariables extends ValidationRule
No undefined variables
No undefined variables
A GraphQL operation is only valid if all variables encountered, both directly and via fragment spreads, are defined by that operation.
- class NoUnusedFragments extends ValidationRule
No unused fragments
No unused fragments
A GraphQL document is only valid if all fragment definitions are spread within operations, or spread within other fragments spread within operations.
- class NoUnusedVariables extends ValidationRule
No unused variables
No unused variables
A GraphQL operation is only valid if all variables defined by an operation are used, either directly or within a spread fragment.
- class OverlappingFieldsCanBeMerged extends ValidationRule
Overlapping fields can be merged
Overlapping fields can be merged
A selection set is only valid if all fields (including spreading any fragments) either correspond to distinct response names or can be merged without ambiguity.
- class PossibleFragmentSpreads extends ValidationRule
Possible fragment spread
Possible fragment spread
A fragment spread is only valid if the type condition could ever possibly be true: if there is a non-empty intersection of the possible parent types, and possible types which pass the type condition.
- class ProvidedRequiredArguments extends ValidationRule
Provided required arguments
Provided required arguments
A field or directive is only valid if all required (non-null without a default value) field arguments have been provided.
- class ScalarLeafs extends ValidationRule
Scalar leafs
Scalar leafs
A GraphQL document is valid only if all leaf fields (fields without sub selections) are of scalar or enum types.
- class SingleFieldSubscriptions extends ValidationRule
Subscriptions must only include one field.
Subscriptions must only include one field.
A GraphQL subscription is valid only if it contains a single root field.
- class UniqueArgumentNames extends ValidationRule
Unique argument names
Unique argument names
A GraphQL field or directive is only valid if all supplied arguments are uniquely named.
- class UniqueDirectivesPerLocation extends ValidationRule
Unique directive names per location
Unique directive names per location
A GraphQL document is only valid if all directives at a given location are uniquely named.
- class UniqueFragmentNames extends ValidationRule
Unique fragment names
Unique fragment names
A GraphQL document is only valid if all defined fragments have unique names.
- class UniqueInputFieldNames extends ValidationRule
Unique input field names
Unique input field names
A GraphQL input object value is only valid if all supplied fields are uniquely named.
- class UniqueOperationNames extends ValidationRule
Unique operation names
Unique operation names
A GraphQL document is only valid if all defined operations have unique names.
- class UniqueVariableNames extends ValidationRule
Unique variable names
Unique variable names
A GraphQL operation is only valid if all its variables are uniquely named.
- class ValuesOfCorrectType extends ValidationRule
Value literals of correct type
Value literals of correct type
A GraphQL document is only valid if all value literals are of the type expected at their position.
- class VariablesAreInputTypes extends ValidationRule
Variables are input types
Variables are input types
A GraphQL operation is only valid if all the variables it defines are of input types (scalar, enum, or input object).
- class VariablesInAllowedPosition extends ValidationRule
Variables passed to field arguments conform to type
Value Members
- object KnownDirectives
- object KnownTypeNames