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<'doc> OperationVisitor<'doc, ValidationErrorContext> for UniqueDirectivesPerLocation
impl<'doc> OperationVisitor<'doc, ValidationErrorContext> for UniqueDirectivesPerLocation
fn enter_operation_definition( &mut self, ctx: &mut OperationVisitorContext<'doc>, err_ctx: &mut ValidationErrorContext, operation: &OperationDefinition, )
fn enter_field( &mut self, ctx: &mut OperationVisitorContext<'doc>, err_ctx: &mut ValidationErrorContext, field: &Field, )
fn enter_fragment_definition( &mut self, ctx: &mut OperationVisitorContext<'doc>, err_ctx: &mut ValidationErrorContext, fragment: &FragmentDefinition, )
fn enter_fragment_spread( &mut self, ctx: &mut OperationVisitorContext<'doc>, err_ctx: &mut ValidationErrorContext, fragment_spread: &FragmentSpread, )
fn enter_inline_fragment( &mut self, ctx: &mut OperationVisitorContext<'doc>, 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, _: &[(String, Value)], )
fn leave_object_value( &mut self, _: &mut OperationVisitorContext<'a>, _: &mut UserContext, _: &[(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(&self) -> &'static str
fn visitor<'doc>(&self) -> ValidationVisitor<'doc>
Auto Trait Implementations§
impl Freeze for UniqueDirectivesPerLocation
impl RefUnwindSafe for UniqueDirectivesPerLocation
impl Send for UniqueDirectivesPerLocation
impl Sync for UniqueDirectivesPerLocation
impl Unpin for UniqueDirectivesPerLocation
impl UnsafeUnpin 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