1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
use crate::validation::validate::ValidationPlan;
use super::{
FieldsOnCorrectType, FragmentsOnCompositeTypes, KnownArgumentNames, KnownFragmentNames,
KnownTypeNames, LeafFieldSelections, LoneAnonymousOperation, NoFragmentsCycle,
NoUndefinedVariables, NoUnusedFragments, NoUnusedVariables, OverlappingFieldsCanBeMerged,
PossibleFragmentSpreads, ProvidedRequiredArguments, SingleFieldSubscriptions,
UniqueArgumentNames, UniqueFragmentNames, UniqueOperationNames, UniqueVariableNames,
VariablesAreInputTypes,
};
pub fn default_rules_validation_plan() -> ValidationPlan {
let mut plan = ValidationPlan { rules: vec![] };
plan.add_rule(Box::new(UniqueOperationNames {}));
plan.add_rule(Box::new(LoneAnonymousOperation {}));
plan.add_rule(Box::new(SingleFieldSubscriptions {}));
plan.add_rule(Box::new(KnownTypeNames {}));
plan.add_rule(Box::new(FragmentsOnCompositeTypes {}));
plan.add_rule(Box::new(VariablesAreInputTypes {}));
plan.add_rule(Box::new(LeafFieldSelections {}));
plan.add_rule(Box::new(FieldsOnCorrectType {}));
plan.add_rule(Box::new(UniqueFragmentNames {}));
plan.add_rule(Box::new(KnownFragmentNames {}));
plan.add_rule(Box::new(NoUnusedFragments {}));
plan.add_rule(Box::new(OverlappingFieldsCanBeMerged {}));
plan.add_rule(Box::new(NoFragmentsCycle {}));
plan.add_rule(Box::new(PossibleFragmentSpreads {}));
plan.add_rule(Box::new(NoUnusedVariables {}));
plan.add_rule(Box::new(NoUndefinedVariables {}));
plan.add_rule(Box::new(KnownArgumentNames {}));
plan.add_rule(Box::new(UniqueArgumentNames {}));
plan.add_rule(Box::new(UniqueVariableNames {}));
plan.add_rule(Box::new(ProvidedRequiredArguments {}));
plan
}