Struct sudograph::Schema[][src]

pub struct Schema<Query, Mutation, Subscription>(_);
Expand description

GraphQL schema.

Cloning a schema is cheap, so it can be easily shared.

Implementations

impl<Query, Mutation, Subscription> Schema<Query, Mutation, Subscription> where
    Subscription: SubscriptionType + 'static,
    Query: ObjectType + 'static,
    Mutation: ObjectType + 'static, 
[src]

pub fn build(
    query: Query,
    mutation: Mutation,
    subscription: Subscription
) -> SchemaBuilder<Query, Mutation, Subscription>
[src]

Create a schema builder

The root object for the query and Mutation needs to be specified. If there is no mutation, you can use EmptyMutation. If there is no subscription, you can use EmptySubscription.

pub fn new(
    query: Query,
    mutation: Mutation,
    subscription: Subscription
) -> Schema<Query, Mutation, Subscription>
[src]

Create a schema

pub fn sdl(&self) -> String[src]

Returns SDL(Schema Definition Language) of this schema.

pub fn federation_sdl(&self) -> String[src]

Returns Federation SDL(Schema Definition Language) of this schema.

pub fn names(&self) -> Vec<String, Global>[src]

Get all names in this schema

Maybe you want to serialize a custom binary protocol. In order to minimize message size, a dictionary is usually used to compress type names, field names, directive names, and parameter names. This function gets all the names, so you can create this dictionary.

pub async fn execute(&'_ self, request: impl Into<Request>) -> Response[src]

Execute a GraphQL query.

pub async fn execute_batch(
    &'_ self,
    batch_request: BatchRequest
) -> BatchResponse
[src]

Execute a GraphQL batch query.

pub fn execute_stream(
    &self,
    request: impl Into<Request>
) -> impl Stream<Item = Response> + Send + Unpin
[src]

Execute a GraphQL subscription.

Trait Implementations

impl<Query, Mutation, Subscription> Clone for Schema<Query, Mutation, Subscription>[src]

pub fn clone(&self) -> Schema<Query, Mutation, Subscription>[src]

Returns a copy of the value. Read more

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

impl<Query, Mutation, Subscription> Default for Schema<Query, Mutation, Subscription> where
    Subscription: Default + SubscriptionType + 'static,
    Query: Default + ObjectType + 'static,
    Mutation: Default + ObjectType + 'static, 
[src]

pub fn default() -> Schema<Query, Mutation, Subscription>[src]

Returns the “default value” for a type. Read more

impl<Query, Mutation, Subscription> Deref for Schema<Query, Mutation, Subscription>[src]

type Target = SchemaInner<Query, Mutation, Subscription>

The resulting type after dereferencing.

pub fn deref(&self) -> &<Schema<Query, Mutation, Subscription> as Deref>::Target[src]

Dereferences the value.

Auto Trait Implementations

impl<Query, Mutation, Subscription> !RefUnwindSafe for Schema<Query, Mutation, Subscription>

impl<Query, Mutation, Subscription> Send for Schema<Query, Mutation, Subscription> where
    Mutation: Send + Sync,
    Query: Send + Sync,
    Subscription: Send + Sync

impl<Query, Mutation, Subscription> Sync for Schema<Query, Mutation, Subscription> where
    Mutation: Send + Sync,
    Query: Send + Sync,
    Subscription: Send + Sync

impl<Query, Mutation, Subscription> Unpin for Schema<Query, Mutation, Subscription>

impl<Query, Mutation, Subscription> !UnwindSafe for Schema<Query, Mutation, Subscription>

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

impl<T> From<T> for T[src]

pub fn from(t: T) -> T[src]

Performs the conversion.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

pub fn into(self) -> U[src]

Performs the conversion.

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

pub fn to_owned(&self) -> T[src]

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

pub fn clone_into(&self, target: &mut T)[src]

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

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

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

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

Performs the conversion.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

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

Performs the conversion.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 

pub fn vzip(self) -> V