pub struct UniqueDirectivesPerLocation {}
Expand description
Unique directive names per location
A GraphQL document is only valid if all non-repeatable directives at a given location are uniquely named.
See https://spec.graphql.org/draft/#sec-Directives-Are-Unique-Per-Location
Implementations§
Source§impl UniqueDirectivesPerLocation
impl UniqueDirectivesPerLocation
pub fn new() -> Self
pub fn check_duplicate_directive( &self, ctx: &mut OperationVisitorContext<'_>, err_context: &mut ValidationErrorContext, directives: &[Directive], )
Trait Implementations§
Source§impl<'a> OperationVisitor<'a, ValidationErrorContext> for UniqueDirectivesPerLocation
impl<'a> OperationVisitor<'a, ValidationErrorContext> for UniqueDirectivesPerLocation
fn enter_operation_definition( &mut self, ctx: &mut OperationVisitorContext<'a>, err_ctx: &mut ValidationErrorContext, operation: &OperationDefinition, )
fn enter_field( &mut self, ctx: &mut OperationVisitorContext<'a>, err_ctx: &mut ValidationErrorContext, field: &Field, )
fn enter_fragment_definition( &mut self, ctx: &mut OperationVisitorContext<'a>, err_ctx: &mut ValidationErrorContext, fragment: &FragmentDefinition, )
fn enter_fragment_spread( &mut self, ctx: &mut OperationVisitorContext<'a>, err_ctx: &mut ValidationErrorContext, fragment_spread: &FragmentSpread, )
fn enter_inline_fragment( &mut self, ctx: &mut OperationVisitorContext<'a>, err_ctx: &mut ValidationErrorContext, inline_fragment: &InlineFragment, )
fn enter_document( &mut self, _: &mut OperationVisitorContext<'a>, _: &mut UserContext, _: &'a Document, )
fn leave_document( &mut self, _: &mut OperationVisitorContext<'a>, _: &mut UserContext, _: &Document, )
fn leave_operation_definition( &mut self, _: &mut OperationVisitorContext<'a>, _: &mut UserContext, _: &OperationDefinition, )
fn leave_fragment_definition( &mut self, _: &mut OperationVisitorContext<'a>, _: &mut UserContext, _: &FragmentDefinition, )
fn enter_variable_definition( &mut self, _: &mut OperationVisitorContext<'a>, _: &mut UserContext, _: &'a VariableDefinition, )
fn leave_variable_definition( &mut self, _: &mut OperationVisitorContext<'a>, _: &mut UserContext, _: &VariableDefinition, )
fn enter_directive( &mut self, _: &mut OperationVisitorContext<'a>, _: &mut UserContext, _: &Directive, )
fn leave_directive( &mut self, _: &mut OperationVisitorContext<'a>, _: &mut UserContext, _: &Directive, )
fn enter_argument( &mut self, _: &mut OperationVisitorContext<'a>, _: &mut UserContext, _: &'a (String, Value), )
fn leave_argument( &mut self, _: &mut OperationVisitorContext<'a>, _: &mut UserContext, _: &(String, Value), )
fn enter_selection_set( &mut self, _: &mut OperationVisitorContext<'a>, _: &mut UserContext, _: &'a SelectionSet, )
fn leave_selection_set( &mut self, _: &mut OperationVisitorContext<'a>, _: &mut UserContext, _: &SelectionSet, )
fn leave_field( &mut self, _: &mut OperationVisitorContext<'a>, _: &mut UserContext, _: &Field, )
fn leave_fragment_spread( &mut self, _: &mut OperationVisitorContext<'a>, _: &mut UserContext, _: &FragmentSpread, )
fn leave_inline_fragment( &mut self, _: &mut OperationVisitorContext<'a>, _: &mut UserContext, _: &InlineFragment, )
fn enter_null_value( &mut self, _: &mut OperationVisitorContext<'a>, _: &mut UserContext, _: (), )
fn leave_null_value( &mut self, _: &mut OperationVisitorContext<'a>, _: &mut UserContext, _: (), )
fn enter_scalar_value( &mut self, _: &mut OperationVisitorContext<'a>, _: &mut UserContext, _: &Value, )
fn leave_scalar_value( &mut self, _: &mut OperationVisitorContext<'a>, _: &mut UserContext, _: &Value, )
fn enter_enum_value( &mut self, _: &mut OperationVisitorContext<'a>, _: &mut UserContext, _: &String, )
fn leave_enum_value( &mut self, _: &mut OperationVisitorContext<'a>, _: &mut UserContext, _: &String, )
fn enter_variable_value( &mut self, _: &mut OperationVisitorContext<'a>, _: &mut UserContext, _: &'a str, )
fn leave_variable_value( &mut self, _: &mut OperationVisitorContext<'a>, _: &mut UserContext, _: &String, )
fn enter_list_value( &mut self, _: &mut OperationVisitorContext<'a>, _: &mut UserContext, _: &Vec<Value>, )
fn leave_list_value( &mut self, _: &mut OperationVisitorContext<'a>, _: &mut UserContext, _: &Vec<Value>, )
fn enter_object_value( &mut self, _: &mut OperationVisitorContext<'a>, _: &mut UserContext, _: &BTreeMap<String, Value>, )
fn leave_object_value( &mut self, _: &mut OperationVisitorContext<'a>, _: &mut UserContext, _: &BTreeMap<String, Value>, )
fn enter_object_field( &mut self, _: &mut OperationVisitorContext<'a>, _: &mut UserContext, _: &(String, Value), )
fn leave_object_field( &mut self, _: &mut OperationVisitorContext<'a>, _: &mut UserContext, _: &(String, Value), )
Source§impl ValidationRule for UniqueDirectivesPerLocation
impl ValidationRule for UniqueDirectivesPerLocation
fn error_code<'a>(&self) -> &'a str
fn validate( &self, ctx: &mut OperationVisitorContext<'_>, error_collector: &mut ValidationErrorContext, )
Auto Trait Implementations§
impl Freeze for UniqueDirectivesPerLocation
impl RefUnwindSafe for UniqueDirectivesPerLocation
impl Send for UniqueDirectivesPerLocation
impl Sync for UniqueDirectivesPerLocation
impl Unpin for UniqueDirectivesPerLocation
impl UnwindSafe for UniqueDirectivesPerLocation
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more