Struct Schema

Source
pub struct Schema<'a> { /* private fields */ }
Expand description

Schema Definition

A schema is created from root types for each kind of operation and is then used against AST documents for validation and execution. In this library the schema is never executable and serves only for metadata and type information. It is hence a “Client Schema”. Reference

Implementations§

Source§

impl<'a> Schema<'a>

Source

pub fn is_empty(&self) -> bool

Returns whether the schema is a default, empty schema

Source

pub fn query_type(&self) -> Option<&'a SchemaObject<'a>>

Returns the root object type for query operations

Source

pub fn mutation_type(&self) -> Option<&'a SchemaObject<'a>>

Returns the root object type for mutation operations

Source

pub fn subscription_type(&self) -> Option<&'a SchemaObject<'a>>

Returns the root object type for subscription operations

Source

pub fn get_root_type( &self, operation_kind: OperationKind, ) -> Option<&'a SchemaObject<'a>>

Returns the appropriate object type depending on the passed operation kind

Source

pub fn get_type(&self, name: &'a str) -> Option<&'a SchemaType<'a>>

Retrieves a kind by name from known schema types.

Source

pub fn is_sub_type( &self, abstract_type: SchemaType<'a>, sub_type: SchemaType<'a>, ) -> bool

Checks whether a given type is a sub type of another.

This is typically used for return types of fields. A return type may be any given sub type of the return type of said field.

Trait Implementations§

Source§

impl<'a> Clone for Schema<'a>

Source§

fn clone(&self) -> Schema<'a>

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<'a> Debug for Schema<'a>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<'a> Freeze for Schema<'a>

§

impl<'a> !RefUnwindSafe for Schema<'a>

§

impl<'a> !Send for Schema<'a>

§

impl<'a> !Sync for Schema<'a>

§

impl<'a> Unpin for Schema<'a>

§

impl<'a> !UnwindSafe for Schema<'a>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.