bluejay_validator/executable/document/
rules.rs

1mod all_variable_usages_allowed;
2mod all_variable_uses_defined;
3mod all_variables_used;
4mod argument_names;
5mod argument_uniqueness;
6mod directives_are_defined;
7mod directives_are_in_valid_locations;
8mod directives_are_unique_per_location;
9mod field_selection_merging;
10mod field_selections;
11mod fragment_name_uniqueness;
12mod fragment_spread_is_possible;
13mod fragment_spread_target_defined;
14mod fragment_spread_type_exists;
15mod fragment_spreads_must_not_form_cycles;
16mod fragments_must_be_used;
17mod fragments_on_composite_types;
18mod leaf_field_selections;
19mod lone_anonymous_operation;
20mod named_operation_name_uniqueness;
21mod operation_type_is_defined;
22mod required_arguments;
23mod subscription_operation_single_root_field;
24mod value_is_valid;
25mod variable_uniqueness;
26mod variables_are_input_types;
27
28pub use all_variable_usages_allowed::AllVariableUsagesAllowed;
29pub use all_variable_uses_defined::AllVariableUsesDefined;
30pub use all_variables_used::AllVariablesUsed;
31pub use argument_names::ArgumentNames;
32pub use argument_uniqueness::ArgumentUniqueness;
33pub use directives_are_defined::DirectivesAreDefined;
34pub use directives_are_in_valid_locations::DirectivesAreInValidLocations;
35pub use directives_are_unique_per_location::DirectivesAreUniquePerLocation;
36pub use field_selection_merging::FieldSelectionMerging;
37pub use field_selections::FieldSelections;
38pub use fragment_name_uniqueness::FragmentNameUniqueness;
39pub use fragment_spread_is_possible::FragmentSpreadIsPossible;
40pub use fragment_spread_target_defined::FragmentSpreadTargetDefined;
41pub use fragment_spread_type_exists::FragmentSpreadTypeExists;
42pub use fragment_spreads_must_not_form_cycles::FragmentSpreadsMustNotFormCycles;
43pub use fragments_must_be_used::FragmentsMustBeUsed;
44pub use fragments_on_composite_types::FragmentsOnCompositeTypes;
45pub use leaf_field_selections::LeafFieldSelections;
46pub use lone_anonymous_operation::LoneAnonymousOperation;
47pub use named_operation_name_uniqueness::NamedOperationNameUniqueness;
48pub use operation_type_is_defined::OperationTypeIsDefined;
49pub use required_arguments::RequiredArguments;
50pub use subscription_operation_single_root_field::SubscriptionOperationSingleRootField;
51pub use value_is_valid::ValueIsValid;
52pub use variable_uniqueness::VariableUniqueness;
53pub use variables_are_input_types::VariablesAreInputTypes;
54
55pub type BuiltinRules<'a, E, S> = (
56    NamedOperationNameUniqueness<'a, E>,
57    LoneAnonymousOperation<'a, E>,
58    SubscriptionOperationSingleRootField<'a, E>,
59    FieldSelections<'a, E, S>,
60    FieldSelectionMerging<'a, E, S>,
61    OperationTypeIsDefined<'a, E, S>,
62    LeafFieldSelections<'a, E, S>,
63    ArgumentNames<'a, E, S>,
64    ArgumentUniqueness<'a, E, S>,
65    RequiredArguments<'a, E, S>,
66    FragmentNameUniqueness<'a, E>,
67    FragmentSpreadTypeExists<'a, E, S>,
68    FragmentsOnCompositeTypes<'a, E, S>,
69    FragmentsMustBeUsed<'a, E>,
70    FragmentSpreadTargetDefined<'a, E, S>,
71    FragmentSpreadsMustNotFormCycles<'a, E, S>,
72    FragmentSpreadIsPossible<'a, E, S>,
73    ValueIsValid<'a, E, S>,
74    DirectivesAreDefined<'a, E, S>,
75    DirectivesAreInValidLocations<'a, E, S>,
76    DirectivesAreUniquePerLocation<'a, E, S>,
77    VariableUniqueness<'a, E, S>,
78    VariablesAreInputTypes<'a, E, S>,
79    AllVariableUsesDefined<'a, E, S>,
80    AllVariablesUsed<'a, E, S>,
81    AllVariableUsagesAllowed<'a, E, S>,
82);