use crate::DirectiveAnnotation;
use crate::loc;
use crate::operation::FragmentRegistry;
use crate::operation::SelectionSet;
use crate::operation::Variable;
use crate::schema::Schema;
use indexmap::IndexMap;
#[derive(Clone, Debug, PartialEq)]
pub(super) struct OperationData<'schema, 'fragreg> {
pub(super) directives: Vec<DirectiveAnnotation>,
pub(super) def_location: loc::SourceLocation,
pub(super) fragment_registry: &'fragreg FragmentRegistry<'schema>,
pub(super) name: Option<String>,
pub(super) schema: &'schema Schema,
pub(super) selection_set: SelectionSet<'schema>,
pub(super) variables: IndexMap<String, Variable>,
}