libgraphql-core 0.0.8

Core libraries provided by the `libgraphql` crate.
Documentation
use crate::operation::FragmentRegistry;
use crate::types::GraphQLType;
use crate::DirectiveAnnotation;
use crate::loc;
use crate::operation::OperationBuilderTrait;
use crate::operation::SelectionSet;
use crate::operation::Variable;
use crate::schema::Schema;
use indexmap::IndexMap;

// Implements the set of things
pub(super) trait OperationTrait<
    'schema: 'fragreg,
    'fragreg,
    TAst,
    TBuildError,
    TBuilder: OperationBuilderTrait<'schema, 'fragreg, TAst, TBuildError, Self>,
> where Self: Sized {
    fn builder(
        schema: &'schema Schema,
        fragment_registry: &'fragreg FragmentRegistry<'schema>,
    ) -> TBuilder;
    fn def_location(&self) -> &loc::SourceLocation;
    fn directives(&self) -> &Vec<DirectiveAnnotation>;
    fn name(&self) -> Option<&str>;
    fn root_graphql_type(&self, schema: &'schema Schema) -> &GraphQLType;
    fn selection_set(&self) -> &SelectionSet<'fragreg>;
    fn variables(&self) -> &IndexMap<String, Variable>;
}