Package

sangria.validation

rules

Permalink

package rules

Visibility
  1. Public
  2. All

Type Members

  1. case class AstAndDef(astField: Field, tpe: Option[OutputType[_]], field: Option[Field[_, _]]) extends Product with Serializable

    Permalink
  2. case class Conflict(reason: ConflictReason, fields1: List[Field], fields2: List[Field]) extends Product with Serializable

    Permalink
  3. case class ConflictReason(fieldName: String, reason: Either[String, Vector[ConflictReason]]) extends Product with Serializable

    Permalink
  4. class ExecutableDefinitions extends ValidationRule

    Permalink

    Executable definitions

    Executable definitions

    A GraphQL document is only valid for execution if all definitions are either operation or fragment definitions.

  5. class FieldsOnCorrectType extends ValidationRule

    Permalink

    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

  6. class FragmentsOnCompositeType extends ValidationRule

    Permalink

    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.

  7. class InputDocumentNonConflictingVariableInference extends ValidationRule

    Permalink

    All inferred variables within input document should not conflict in it's inferred type

  8. class KnownArgumentNames extends ValidationRule

    Permalink

    Known argument names

    Known argument names

    A GraphQL field is only valid if all supplied arguments are defined by that field.

  9. class KnownDirectives extends ValidationRule

    Permalink

    Known directives

    Known directives

    A GraphQL document is only valid if all @directives are known by the schema and legally positioned.

  10. class KnownFragmentNames extends ValidationRule

    Permalink

    Known fragment names

    Known fragment names

    A GraphQL document is only valid if all ...Fragment fragment spreads refer to fragments defined in the same document.

  11. class KnownTypeNames extends ValidationRule

    Permalink

    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.

  12. class LoneAnonymousOperation extends ValidationRule

    Permalink

    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.

  13. class NoFragmentCycles extends ValidationRule

    Permalink
  14. class NoUndefinedVariables extends ValidationRule

    Permalink

    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.

  15. class NoUnusedFragments extends ValidationRule

    Permalink

    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.

  16. class NoUnusedVariables extends ValidationRule

    Permalink

    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.

  17. class OverlappingFieldsCanBeMerged extends ValidationRule

    Permalink

    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.

  18. class PossibleFragmentSpreads extends ValidationRule

    Permalink

    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.

  19. class ProvidedNonNullArguments extends ValidationRule

    Permalink

    Provided required arguments

    Provided required arguments

    A field or directive is only valid if all required (non-null) field arguments have been provided.

  20. class ScalarLeafs extends ValidationRule

    Permalink

    Scalar leafs

    Scalar leafs

    A GraphQL document is valid only if all leaf fields (fields without sub selections) are of scalar or enum types.

  21. class SingleFieldSubscriptions extends ValidationRule

    Permalink

    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.

  22. class UniqueArgumentNames extends ValidationRule

    Permalink

    Unique argument names

    Unique argument names

    A GraphQL field or directive is only valid if all supplied arguments are uniquely named.

  23. class UniqueDirectivesPerLocation extends ValidationRule

    Permalink

    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.

  24. class UniqueFragmentNames extends ValidationRule

    Permalink

    Unique fragment names

    Unique fragment names

    A GraphQL document is only valid if all defined fragments have unique names.

  25. class UniqueInputFieldNames extends ValidationRule

    Permalink

    Unique input field names

    Unique input field names

    A GraphQL input object value is only valid if all supplied fields are uniquely named.

  26. class UniqueOperationNames extends ValidationRule

    Permalink

    Unique operation names

    Unique operation names

    A GraphQL document is only valid if all defined operations have unique names.

  27. class UniqueVariableNames extends ValidationRule

    Permalink

    Unique variable names

    Unique variable names

    A GraphQL operation is only valid if all its variables are uniquely named.

  28. class ValuesOfCorrectType extends ValidationRule

    Permalink

    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.

  29. class VariablesAreInputTypes extends ValidationRule

    Permalink

    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).

  30. class VariablesDefaultValueAllowed extends ValidationRule

    Permalink

    Variable's default value is allowed

    Variable's default value is allowed

    A GraphQL document is only valid if all variable default values are allowed due to a variable not being required.

  31. class VariablesInAllowedPosition extends ValidationRule

    Permalink

    Variables passed to field arguments conform to type

Value Members

  1. object KnownDirectives

    Permalink

Ungrouped