async-graphql 1.6.3

The GraphQL server library implemented by rust
Documentation
use crate::validation::visitor::{Visitor, VisitorContext};
use graphql_parser::query::FragmentSpread;

#[derive(Default)]
pub struct KnownFragmentNames;

impl<'a> Visitor<'a> for KnownFragmentNames {
    fn enter_fragment_spread(
        &mut self,
        ctx: &mut VisitorContext<'a>,
        fragment_spread: &'a FragmentSpread,
    ) {
        if !ctx.is_known_fragment(&fragment_spread.fragment_name) {
            ctx.report_error(
                vec![fragment_spread.position],
                format!(r#"Unknown fragment: "{}""#, fragment_spread.fragment_name),
            );
        }
    }
}