import { ExecutableDefinitionsRule } from './rules/ExecutableDefinitionsRule' ; import { FieldsOnCorrectTypeRule } from './rules/FieldsOnCorrectTypeRule' ; import { FragmentsOnCompositeTypesRule } from './rules/FragmentsOnCompositeTypesRule' ; import { KnownArgumentNamesOnDirectivesRule , KnownArgumentNamesRule , } from './rules/KnownArgumentNamesRule' ; import { KnownDirectivesRule } from './rules/KnownDirectivesRule' ; import { KnownFragmentNamesRule } from './rules/KnownFragmentNamesRule' ; import { KnownTypeNamesRule } from './rules/KnownTypeNamesRule' ; import { LoneAnonymousOperationRule } from './rules/LoneAnonymousOperationRule' ; import { LoneSchemaDefinitionRule } from './rules/LoneSchemaDefinitionRule' ; import { NoFragmentCyclesRule } from './rules/NoFragmentCyclesRule' ; import { NoUndefinedVariablesRule } from './rules/NoUndefinedVariablesRule' ; import { NoUnusedFragmentsRule } from './rules/NoUnusedFragmentsRule' ; import { NoUnusedVariablesRule } from './rules/NoUnusedVariablesRule' ; import { OverlappingFieldsCanBeMergedRule } from './rules/OverlappingFieldsCanBeMergedRule' ; import { PossibleFragmentSpreadsRule } from './rules/PossibleFragmentSpreadsRule' ; import { PossibleTypeExtensionsRule } from './rules/PossibleTypeExtensionsRule' ; import { ProvidedRequiredArgumentsOnDirectivesRule , ProvidedRequiredArgumentsRule , } from './rules/ProvidedRequiredArgumentsRule' ; import { ScalarLeafsRule } from './rules/ScalarLeafsRule' ; import { SingleFieldSubscriptionsRule } from './rules/SingleFieldSubscriptionsRule' ; import { UniqueArgumentDefinitionNamesRule } from './rules/UniqueArgumentDefinitionNamesRule' ; import { UniqueArgumentNamesRule } from './rules/UniqueArgumentNamesRule' ; import { UniqueDirectiveNamesRule } from './rules/UniqueDirectiveNamesRule' ; import { UniqueDirectivesPerLocationRule } from './rules/UniqueDirectivesPerLocationRule' ; import { UniqueEnumValueNamesRule } from './rules/UniqueEnumValueNamesRule' ; import { UniqueFieldDefinitionNamesRule } from './rules/UniqueFieldDefinitionNamesRule' ; import { UniqueFragmentNamesRule } from './rules/UniqueFragmentNamesRule' ; import { UniqueInputFieldNamesRule } from './rules/UniqueInputFieldNamesRule' ; import { UniqueOperationNamesRule } from './rules/UniqueOperationNamesRule' ; import { UniqueOperationTypesRule } from './rules/UniqueOperationTypesRule' ; import { UniqueTypeNamesRule } from './rules/UniqueTypeNamesRule' ; import { UniqueVariableNamesRule } from './rules/UniqueVariableNamesRule' ; import { ValuesOfCorrectTypeRule } from './rules/ValuesOfCorrectTypeRule' ; import { VariablesAreInputTypesRule } from './rules/VariablesAreInputTypesRule' ; import { VariablesInAllowedPositionRule } from './rules/VariablesInAllowedPositionRule' ; import type { SDLValidationRule , ValidationRule } from './ValidationContext' ; /**
 * This set includes all validation rules defined by the GraphQL spec.
 *
 * The order of the rules in this list has been adjusted to lead to the
 * most clear output when encountering multiple validation errors.
 */ export const specifiedRules = Object . freeze ( [ ExecutableDefinitionsRule , UniqueOperationNamesRule , LoneAnonymousOperationRule , SingleFieldSubscriptionsRule , KnownTypeNamesRule , FragmentsOnCompositeTypesRule , VariablesAreInputTypesRule , ScalarLeafsRule , FieldsOnCorrectTypeRule , UniqueFragmentNamesRule , KnownFragmentNamesRule , NoUnusedFragmentsRule , PossibleFragmentSpreadsRule , NoFragmentCyclesRule , UniqueVariableNamesRule , NoUndefinedVariablesRule , NoUnusedVariablesRule , KnownDirectivesRule , UniqueDirectivesPerLocationRule , KnownArgumentNamesRule , UniqueArgumentNamesRule , ValuesOfCorrectTypeRule , ProvidedRequiredArgumentsRule , VariablesInAllowedPositionRule , OverlappingFieldsCanBeMergedRule , UniqueInputFieldNamesRule , ] ) ; internal export const specifiedSDLRules = Object . freeze ( [ LoneSchemaDefinitionRule , UniqueOperationTypesRule , UniqueTypeNamesRule , UniqueEnumValueNamesRule , UniqueFieldDefinitionNamesRule , UniqueArgumentDefinitionNamesRule , UniqueDirectiveNamesRule , KnownTypeNamesRule , KnownDirectivesRule , UniqueDirectivesPerLocationRule , PossibleTypeExtensionsRule , KnownArgumentNamesOnDirectivesRule , UniqueArgumentNamesRule , UniqueInputFieldNamesRule , ProvidedRequiredArgumentsOnDirectivesRule , ] ) ;