ArgumentsOfCorrectTypeRule Argument values of correct type
A GraphQL document is only valid if all field argument literal values are of the type expected by their position.
No description provided by the author
DefaultTypeInfoFieldDef Not exactly the same as the executor's definition of FieldDef, in this statically evaluated environment we do not always have an Object type, and need to handle Interface and Union types.
DefaultValuesOfCorrectTypeRule Variable default values of correct type
A GraphQL document is only valid if all variable default values are of the type expected by their definition.
No description provided by the author
No description provided by the author
No description provided by the author
FieldsOnCorrectTypeRule 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.
FragmentsOnCompositeTypesRule 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.
GetNamed returns the Named type of the given GraphQL type.
GetNullable returns the Nullable type of the given GraphQL type.
No description provided by the author
IsCompositeType determines if given type is a GraphQLComposite type.
IsInputType determines if given type is a GraphQLInputType.
IsLeafType determines if given type is a leaf value.
IsOutputType determines if given type is a GraphQLOutputType.
KnownArgumentNamesRule Known argument names
A GraphQL field is only valid if all supplied arguments are defined by that field.
KnownDirectivesRule Known directives
A GraphQL document is only valid if all `@directives` are known by the schema and legally positioned.
KnownFragmentNamesRule Known fragment names
A GraphQL document is only valid if all `...Fragment` fragment spreads refer to fragments defined in the same document.
KnownTypeNamesRule Known type names
A GraphQL document is only valid if referenced types (specifically variable definitions and fragment conditions) are defined by the type schema.
LoneAnonymousOperationRule 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.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
NewScalar creates a new GraphQLScalar.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
NoFragmentCyclesRule No fragment cycles.
NoUndefinedVariablesRule No undefined variables
A GraphQL operation is only valid if all variables encountered, both directly and via fragment spreads, are defined by that operation.
NoUnusedFragmentsRule 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.
NoUnusedVariablesRule 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.
OverlappingFieldsCanBeMergedRule 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.
PossibleFragmentSpreadsRule 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.
ProvidedNonNullArgumentsRule Provided required arguments
A field or directive is only valid if all required (non-null) field arguments have been provided.
ScalarLeafsRule Scalar leafs
A GraphQL document is valid only if all leaf fields (fields without sub selections) are of scalar or enum types.
No description provided by the author
No description provided by the author
UniqueArgumentNamesRule Unique argument names
A GraphQL field or directive is only valid if all supplied arguments are uniquely named.
UniqueFragmentNamesRule Unique fragment names
A GraphQL document is only valid if all defined fragments have unique names.
UniqueInputFieldNamesRule Unique input field names
A GraphQL input object value is only valid if all supplied fields are uniquely named.
UniqueOperationNamesRule Unique operation names
A GraphQL document is only valid if all defined operations have unique names.
UniqueVariableNamesRule Unique variable names
A GraphQL operation is only valid if all its variables are uniquely named.
No description provided by the author
No description provided by the author
VariablesAreInputTypesRule 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).
VariablesInAllowedPositionRule Variables passed to field arguments conform to type.
VisitUsingRules This uses a specialized visitor which runs multiple visitors in parallel, while maintaining the visitor skip and break API.