[][src]Trait async_graphql::resolver_utils::ObjectType

pub trait ObjectType: OutputValueType {
#[must_use]    fn resolve_field<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        ctx: &'life1 Context<'life2>
    ) -> Pin<Box<dyn Future<Output = Result<Value>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; fn collect_all_fields<'a>(
        &'a self,
        ctx: &ContextSelectionSet<'a>,
        fields: &mut Fields<'a>
    ) -> Result<()>
    where
        Self: Sized + Send + Sync
, { ... }
#[must_use] fn find_entity<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        ctx: &'life1 Context<'life2>,
        _params: &'life3 Value
    ) -> Pin<Box<dyn Future<Output = Result<Value>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: Sync + 'async_trait
, { ... } }

A GraphQL object.

This helper trait allows the type to call resolve_object on itself in its OutputValueType::resolve implementation.

Required methods

#[must_use]fn resolve_field<'life0, 'life1, 'life2, 'async_trait>(
    &'life0 self,
    ctx: &'life1 Context<'life2>
) -> Pin<Box<dyn Future<Output = Result<Value>> + Send + 'async_trait>> where
    'life0: 'async_trait,
    'life1: 'async_trait,
    'life2: 'async_trait,
    Self: 'async_trait, 

Resolves a field value and outputs it as a json value serde_json::Value.

Loading content...

Provided methods

fn collect_all_fields<'a>(
    &'a self,
    ctx: &ContextSelectionSet<'a>,
    fields: &mut Fields<'a>
) -> Result<()> where
    Self: Sized + Send + Sync

Collect all the fields of the object that are queried in the selection set.

Objects do not have to override this, but interfaces and unions must call it on their internal type.

#[must_use]fn find_entity<'life0, 'life1, 'life2, 'life3, 'async_trait>(
    &'life0 self,
    ctx: &'life1 Context<'life2>,
    _params: &'life3 Value
) -> Pin<Box<dyn Future<Output = Result<Value>> + Send + 'async_trait>> where
    'life0: 'async_trait,
    'life1: 'async_trait,
    'life2: 'async_trait,
    'life3: 'async_trait,
    Self: Sync + 'async_trait, 

Find the GraphQL entity with the given name from the parameter.

Objects should override this in case they are the query root.

Loading content...

Implementations on Foreign Types

impl<'impl0, T: ObjectType + Send + Sync> ObjectType for &'impl0 T[src]

Loading content...

Implementors

impl ObjectType for EmptyFields[src]

impl ObjectType for PageInfo[src]

impl ObjectType for EmptyMutation[src]

impl<C, T, E> ObjectType for Edge<C, T, E> where
    C: CursorType + Send + Sync,
    T: OutputValueType + Send + Sync,
    E: ObjectType + Sync + Send
[src]

impl<C, T, EC, EE> ObjectType for Connection<C, T, EC, EE> where
    C: CursorType + Send + Sync,
    T: OutputValueType + Send + Sync,
    EC: ObjectType + Sync + Send,
    EE: ObjectType + Sync + Send
[src]

Loading content...