async_graphql

Trait OutputType

source
pub trait OutputType: Send + Sync {
    // Required methods
    fn type_name() -> Cow<'static, str>;
    fn create_type_info(registry: &mut Registry) -> String;
    fn resolve(
        &self,
        ctx: &ContextSelectionSet<'_>,
        field: &Positioned<Field>,
    ) -> impl Future<Output = ServerResult<Value>> + Send;

    // Provided methods
    fn qualified_type_name() -> String { ... }
    fn introspection_type_name(&self) -> Cow<'static, str> { ... }
}
Expand description

Represents a GraphQL output type.

Required Methods§

source

fn type_name() -> Cow<'static, str>

Type the name.

source

fn create_type_info(registry: &mut Registry) -> String

Create type information in the registry and return qualified typename.

source

fn resolve( &self, ctx: &ContextSelectionSet<'_>, field: &Positioned<Field>, ) -> impl Future<Output = ServerResult<Value>> + Send

Resolve an output value to async_graphql::Value.

Provided Methods§

source

fn qualified_type_name() -> String

Qualified typename.

source

fn introspection_type_name(&self) -> Cow<'static, str>

Introspection type name

Is the return value of field __typename, the interface and union should return the current type, and the others return Type::type_name.

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl OutputType for Bson

source§

fn type_name() -> Cow<'static, str>

source§

fn create_type_info(registry: &mut Registry) -> String

source§

async fn resolve( &self, _: &ContextSelectionSet<'_>, _field: &Positioned<Field>, ) -> ServerResult<Value>

source§

impl OutputType for Tz

source§

fn type_name() -> Cow<'static, str>

source§

fn create_type_info(registry: &mut Registry) -> String

source§

async fn resolve( &self, _: &ContextSelectionSet<'_>, _field: &Positioned<Field>, ) -> ServerResult<Value>

source§

impl OutputType for Value

source§

fn type_name() -> Cow<'static, str>

source§

fn create_type_info(registry: &mut Registry) -> String

source§

async fn resolve( &self, _ctx: &ContextSelectionSet<'_>, _field: &Positioned<Field>, ) -> ServerResult<Value>

source§

impl OutputType for bool

source§

fn type_name() -> Cow<'static, str>

source§

fn create_type_info(registry: &mut Registry) -> String

source§

async fn resolve( &self, _: &ContextSelectionSet<'_>, _field: &Positioned<Field>, ) -> ServerResult<Value>

source§

impl OutputType for char

source§

fn type_name() -> Cow<'static, str>

source§

fn create_type_info(registry: &mut Registry) -> String

source§

async fn resolve( &self, _: &ContextSelectionSet<'_>, _field: &Positioned<Field>, ) -> ServerResult<Value>

source§

impl OutputType for f32

source§

fn type_name() -> Cow<'static, str>

source§

fn create_type_info(registry: &mut Registry) -> String

source§

async fn resolve( &self, _: &ContextSelectionSet<'_>, _field: &Positioned<Field>, ) -> ServerResult<Value>

source§

impl OutputType for f64

source§

fn type_name() -> Cow<'static, str>

source§

fn create_type_info(registry: &mut Registry) -> String

source§

async fn resolve( &self, _: &ContextSelectionSet<'_>, _field: &Positioned<Field>, ) -> ServerResult<Value>

source§

impl OutputType for i8

source§

fn type_name() -> Cow<'static, str>

source§

fn create_type_info(registry: &mut Registry) -> String

source§

async fn resolve( &self, _: &ContextSelectionSet<'_>, _field: &Positioned<Field>, ) -> ServerResult<Value>

source§

impl OutputType for i16

source§

fn type_name() -> Cow<'static, str>

source§

fn create_type_info(registry: &mut Registry) -> String

source§

async fn resolve( &self, _: &ContextSelectionSet<'_>, _field: &Positioned<Field>, ) -> ServerResult<Value>

source§

impl OutputType for i32

source§

fn type_name() -> Cow<'static, str>

source§

fn create_type_info(registry: &mut Registry) -> String

source§

async fn resolve( &self, _: &ContextSelectionSet<'_>, _field: &Positioned<Field>, ) -> ServerResult<Value>

source§

impl OutputType for i64

source§

fn type_name() -> Cow<'static, str>

source§

fn create_type_info(registry: &mut Registry) -> String

source§

async fn resolve( &self, _: &ContextSelectionSet<'_>, _field: &Positioned<Field>, ) -> ServerResult<Value>

source§

impl OutputType for isize

source§

fn type_name() -> Cow<'static, str>

source§

fn create_type_info(registry: &mut Registry) -> String

source§

async fn resolve( &self, _: &ContextSelectionSet<'_>, _field: &Positioned<Field>, ) -> ServerResult<Value>

source§

impl OutputType for str

source§

fn type_name() -> Cow<'static, str>

source§

fn create_type_info(registry: &mut Registry) -> String

source§

async fn resolve( &self, _: &ContextSelectionSet<'_>, _field: &Positioned<Field>, ) -> ServerResult<Value>

source§

impl OutputType for u8

source§

fn type_name() -> Cow<'static, str>

source§

fn create_type_info(registry: &mut Registry) -> String

source§

async fn resolve( &self, _: &ContextSelectionSet<'_>, _field: &Positioned<Field>, ) -> ServerResult<Value>

source§

impl OutputType for u16

source§

fn type_name() -> Cow<'static, str>

source§

fn create_type_info(registry: &mut Registry) -> String

source§

async fn resolve( &self, _: &ContextSelectionSet<'_>, _field: &Positioned<Field>, ) -> ServerResult<Value>

source§

impl OutputType for u32

source§

fn type_name() -> Cow<'static, str>

source§

fn create_type_info(registry: &mut Registry) -> String

source§

async fn resolve( &self, _: &ContextSelectionSet<'_>, _field: &Positioned<Field>, ) -> ServerResult<Value>

source§

impl OutputType for u64

source§

fn type_name() -> Cow<'static, str>

source§

fn create_type_info(registry: &mut Registry) -> String

source§

async fn resolve( &self, _: &ContextSelectionSet<'_>, _field: &Positioned<Field>, ) -> ServerResult<Value>

source§

impl OutputType for usize

source§

fn type_name() -> Cow<'static, str>

source§

fn create_type_info(registry: &mut Registry) -> String

source§

async fn resolve( &self, _: &ContextSelectionSet<'_>, _field: &Positioned<Field>, ) -> ServerResult<Value>

source§

impl OutputType for String

source§

fn type_name() -> Cow<'static, str>

source§

fn create_type_info(registry: &mut Registry) -> String

source§

async fn resolve( &self, _: &ContextSelectionSet<'_>, _field: &Positioned<Field>, ) -> ServerResult<Value>

source§

impl OutputType for BigDecimal

source§

fn type_name() -> Cow<'static, str>

source§

fn create_type_info(registry: &mut Registry) -> String

source§

async fn resolve( &self, _: &ContextSelectionSet<'_>, _field: &Positioned<Field>, ) -> ServerResult<Value>

source§

impl OutputType for DateTime

source§

fn type_name() -> Cow<'static, str>

source§

fn create_type_info(registry: &mut Registry) -> String

source§

async fn resolve( &self, _: &ContextSelectionSet<'_>, _field: &Positioned<Field>, ) -> ServerResult<Value>

source§

impl OutputType for Document

source§

fn type_name() -> Cow<'static, str>

source§

fn create_type_info(registry: &mut Registry) -> String

source§

async fn resolve( &self, _: &ContextSelectionSet<'_>, _field: &Positioned<Field>, ) -> ServerResult<Value>

source§

impl OutputType for ObjectId

source§

fn type_name() -> Cow<'static, str>

source§

fn create_type_info(registry: &mut Registry) -> String

source§

async fn resolve( &self, _: &ContextSelectionSet<'_>, _field: &Positioned<Field>, ) -> ServerResult<Value>

source§

impl OutputType for Uuid

source§

fn type_name() -> Cow<'static, str>

source§

fn create_type_info(registry: &mut Registry) -> String

source§

async fn resolve( &self, _: &ContextSelectionSet<'_>, _field: &Positioned<Field>, ) -> ServerResult<Value>

source§

impl OutputType for Bytes

source§

fn type_name() -> Cow<'static, str>

source§

fn create_type_info(registry: &mut Registry) -> String

source§

async fn resolve( &self, _: &ContextSelectionSet<'_>, _field: &Positioned<Field>, ) -> ServerResult<Value>

source§

impl OutputType for DateTime<FixedOffset>

source§

fn type_name() -> Cow<'static, str>

source§

fn create_type_info(registry: &mut Registry) -> String

source§

async fn resolve( &self, _: &ContextSelectionSet<'_>, _field: &Positioned<Field>, ) -> ServerResult<Value>

source§

impl OutputType for DateTime<Local>

source§

fn type_name() -> Cow<'static, str>

source§

fn create_type_info(registry: &mut Registry) -> String

source§

async fn resolve( &self, _: &ContextSelectionSet<'_>, _field: &Positioned<Field>, ) -> ServerResult<Value>

source§

impl OutputType for DateTime<Utc>

source§

fn type_name() -> Cow<'static, str>

source§

fn create_type_info(registry: &mut Registry) -> String

source§

async fn resolve( &self, _: &ContextSelectionSet<'_>, _field: &Positioned<Field>, ) -> ServerResult<Value>

source§

impl OutputType for NaiveDate

source§

fn type_name() -> Cow<'static, str>

source§

fn create_type_info(registry: &mut Registry) -> String

source§

async fn resolve( &self, _: &ContextSelectionSet<'_>, _field: &Positioned<Field>, ) -> ServerResult<Value>

source§

impl OutputType for NaiveDateTime

source§

fn type_name() -> Cow<'static, str>

source§

fn create_type_info(registry: &mut Registry) -> String

source§

async fn resolve( &self, _: &ContextSelectionSet<'_>, _field: &Positioned<Field>, ) -> ServerResult<Value>

source§

impl OutputType for NaiveTime

source§

fn type_name() -> Cow<'static, str>

source§

fn create_type_info(registry: &mut Registry) -> String

source§

async fn resolve( &self, _: &ContextSelectionSet<'_>, _field: &Positioned<Field>, ) -> ServerResult<Value>

source§

impl OutputType for Decimal

source§

fn type_name() -> Cow<'static, str>

source§

fn create_type_info(registry: &mut Registry) -> String

source§

async fn resolve( &self, _: &ContextSelectionSet<'_>, _field: &Positioned<Field>, ) -> ServerResult<Value>

source§

impl OutputType for SmolStr

source§

fn type_name() -> Cow<'static, str>

source§

fn create_type_info(registry: &mut Registry) -> String

source§

async fn resolve( &self, _: &ContextSelectionSet<'_>, _field: &Positioned<Field>, ) -> ServerResult<Value>

source§

impl OutputType for Date

source§

fn type_name() -> Cow<'static, str>

source§

fn create_type_info(registry: &mut Registry) -> String

source§

async fn resolve( &self, _: &ContextSelectionSet<'_>, _field: &Positioned<Field>, ) -> ServerResult<Value>

source§

impl OutputType for OffsetDateTime

source§

fn type_name() -> Cow<'static, str>

source§

fn create_type_info(registry: &mut Registry) -> String

source§

async fn resolve( &self, _: &ContextSelectionSet<'_>, _field: &Positioned<Field>, ) -> ServerResult<Value>

source§

impl OutputType for PrimitiveDateTime

source§

fn type_name() -> Cow<'static, str>

source§

fn create_type_info(registry: &mut Registry) -> String

source§

async fn resolve( &self, _: &ContextSelectionSet<'_>, _field: &Positioned<Field>, ) -> ServerResult<Value>

source§

impl OutputType for Url

source§

fn type_name() -> Cow<'static, str>

source§

fn create_type_info(registry: &mut Registry) -> String

source§

async fn resolve( &self, _: &ContextSelectionSet<'_>, _field: &Positioned<Field>, ) -> ServerResult<Value>

source§

impl OutputType for Uuid

source§

fn type_name() -> Cow<'static, str>

source§

fn create_type_info(registry: &mut Registry) -> String

source§

async fn resolve( &self, _: &ContextSelectionSet<'_>, _field: &Positioned<Field>, ) -> ServerResult<Value>

source§

impl OutputType for NonZeroI8

source§

fn type_name() -> Cow<'static, str>

source§

fn create_type_info(registry: &mut Registry) -> String

source§

async fn resolve( &self, _: &ContextSelectionSet<'_>, _field: &Positioned<Field>, ) -> ServerResult<Value>

source§

impl OutputType for NonZeroI16

source§

fn type_name() -> Cow<'static, str>

source§

fn create_type_info(registry: &mut Registry) -> String

source§

async fn resolve( &self, _: &ContextSelectionSet<'_>, _field: &Positioned<Field>, ) -> ServerResult<Value>

source§

impl OutputType for NonZeroI32

source§

fn type_name() -> Cow<'static, str>

source§

fn create_type_info(registry: &mut Registry) -> String

source§

async fn resolve( &self, _: &ContextSelectionSet<'_>, _field: &Positioned<Field>, ) -> ServerResult<Value>

source§

impl OutputType for NonZeroI64

source§

fn type_name() -> Cow<'static, str>

source§

fn create_type_info(registry: &mut Registry) -> String

source§

async fn resolve( &self, _: &ContextSelectionSet<'_>, _field: &Positioned<Field>, ) -> ServerResult<Value>

source§

impl OutputType for NonZeroIsize

source§

fn type_name() -> Cow<'static, str>

source§

fn create_type_info(registry: &mut Registry) -> String

source§

async fn resolve( &self, _: &ContextSelectionSet<'_>, _field: &Positioned<Field>, ) -> ServerResult<Value>

source§

impl OutputType for NonZeroU8

source§

fn type_name() -> Cow<'static, str>

source§

fn create_type_info(registry: &mut Registry) -> String

source§

async fn resolve( &self, _: &ContextSelectionSet<'_>, _field: &Positioned<Field>, ) -> ServerResult<Value>

source§

impl OutputType for NonZeroU16

source§

fn type_name() -> Cow<'static, str>

source§

fn create_type_info(registry: &mut Registry) -> String

source§

async fn resolve( &self, _: &ContextSelectionSet<'_>, _field: &Positioned<Field>, ) -> ServerResult<Value>

source§

impl OutputType for NonZeroU32

source§

fn type_name() -> Cow<'static, str>

source§

fn create_type_info(registry: &mut Registry) -> String

source§

async fn resolve( &self, _: &ContextSelectionSet<'_>, _field: &Positioned<Field>, ) -> ServerResult<Value>

source§

impl OutputType for NonZeroU64

source§

fn type_name() -> Cow<'static, str>

source§

fn create_type_info(registry: &mut Registry) -> String

source§

async fn resolve( &self, _: &ContextSelectionSet<'_>, _field: &Positioned<Field>, ) -> ServerResult<Value>

source§

impl OutputType for NonZeroUsize

source§

fn type_name() -> Cow<'static, str>

source§

fn create_type_info(registry: &mut Registry) -> String

source§

async fn resolve( &self, _: &ContextSelectionSet<'_>, _field: &Positioned<Field>, ) -> ServerResult<Value>

source§

impl OutputType for Duration

source§

fn type_name() -> Cow<'static, str>

source§

fn create_type_info(registry: &mut Registry) -> String

source§

async fn resolve( &self, _: &ContextSelectionSet<'_>, _field: &Positioned<Field>, ) -> ServerResult<Value>

source§

impl<'a, T> OutputType for Cow<'a, T>
where T: OutputType + ToOwned + ?Sized, <T as ToOwned>::Owned: Send + Sync,

source§

fn type_name() -> Cow<'static, str>

source§

fn create_type_info(registry: &mut Registry) -> String

source§

async fn resolve( &self, ctx: &ContextSelectionSet<'_>, field: &Positioned<Field>, ) -> ServerResult<Value>

source§

impl<'a, T: OutputType + 'a> OutputType for &'a [T]

source§

fn type_name() -> Cow<'static, str>

source§

fn qualified_type_name() -> String

source§

fn create_type_info(registry: &mut Registry) -> String

source§

async fn resolve( &self, ctx: &ContextSelectionSet<'_>, field: &Positioned<Field>, ) -> ServerResult<Value>

source§

impl<K, V> OutputType for BTreeMap<K, V>
where K: ToString + Ord + Send + Sync, V: Serialize + Send + Sync,

source§

fn type_name() -> Cow<'static, str>

source§

fn create_type_info(registry: &mut Registry) -> String

source§

async fn resolve( &self, _ctx: &ContextSelectionSet<'_>, _field: &Positioned<Field>, ) -> ServerResult<Value>

source§

impl<K, V> OutputType for HashMap<K, V>
where K: ToString + Eq + Hash + Send + Sync, V: Serialize + Send + Sync,

source§

fn type_name() -> Cow<'static, str>

source§

fn create_type_info(registry: &mut Registry) -> String

source§

async fn resolve( &self, _ctx: &ContextSelectionSet<'_>, _field: &Positioned<Field>, ) -> ServerResult<Value>

source§

impl<K, V, S> OutputType for HashMap<K, V, S>
where K: ToString + Eq + Hash + Send + Sync, V: Serialize + Send + Sync, S: Send + Sync,

source§

fn type_name() -> Cow<'static, str>

source§

fn create_type_info(registry: &mut Registry) -> String

source§

async fn resolve( &self, _ctx: &ContextSelectionSet<'_>, _field: &Positioned<Field>, ) -> ServerResult<Value>

source§

impl<T: OutputType + Ord> OutputType for BTreeSet<T>

source§

fn type_name() -> Cow<'static, str>

source§

fn qualified_type_name() -> String

source§

fn create_type_info(registry: &mut Registry) -> String

source§

async fn resolve( &self, ctx: &ContextSelectionSet<'_>, field: &Positioned<Field>, ) -> ServerResult<Value>

source§

impl<T: OutputType + Hash + Eq> OutputType for HashSet<T>

source§

fn type_name() -> Cow<'static, str>

source§

fn qualified_type_name() -> String

source§

fn create_type_info(registry: &mut Registry) -> String

source§

async fn resolve( &self, ctx: &ContextSelectionSet<'_>, field: &Positioned<Field>, ) -> ServerResult<Value>

source§

impl<T: OutputType + Hash + Eq> OutputType for HashSet<T>

source§

fn type_name() -> Cow<'static, str>

source§

fn qualified_type_name() -> String

source§

fn create_type_info(registry: &mut Registry) -> String

source§

async fn resolve( &self, ctx: &ContextSelectionSet<'_>, field: &Positioned<Field>, ) -> ServerResult<Value>

source§

impl<T: OutputType + Sync> OutputType for Option<T>

source§

fn type_name() -> Cow<'static, str>

source§

fn qualified_type_name() -> String

source§

fn create_type_info(registry: &mut Registry) -> String

source§

async fn resolve( &self, ctx: &ContextSelectionSet<'_>, field: &Positioned<Field>, ) -> ServerResult<Value>

source§

impl<T: OutputType + ?Sized> OutputType for &T

source§

fn type_name() -> Cow<'static, str>

source§

fn create_type_info(registry: &mut Registry) -> String

source§

async fn resolve( &self, ctx: &ContextSelectionSet<'_>, field: &Positioned<Field>, ) -> ServerResult<Value>

source§

impl<T: OutputType + ?Sized> OutputType for Box<T>

source§

fn type_name() -> Cow<'static, str>

source§

fn create_type_info(registry: &mut Registry) -> String

source§

fn resolve( &self, ctx: &ContextSelectionSet<'_>, field: &Positioned<Field>, ) -> impl Future<Output = ServerResult<Value>> + Send

source§

impl<T: OutputType + ?Sized> OutputType for Arc<T>

source§

fn type_name() -> Cow<'static, str>

source§

fn create_type_info(registry: &mut Registry) -> String

source§

async fn resolve( &self, ctx: &ContextSelectionSet<'_>, field: &Positioned<Field>, ) -> ServerResult<Value>

source§

impl<T: OutputType + ?Sized> OutputType for Weak<T>

source§

fn type_name() -> Cow<'static, str>

source§

fn create_type_info(registry: &mut Registry) -> String

source§

async fn resolve( &self, ctx: &ContextSelectionSet<'_>, field: &Positioned<Field>, ) -> ServerResult<Value>

source§

impl<T: OutputType> OutputType for Box<[T]>

source§

fn type_name() -> Cow<'static, str>

source§

fn qualified_type_name() -> String

source§

fn create_type_info(registry: &mut Registry) -> String

source§

async fn resolve( &self, ctx: &ContextSelectionSet<'_>, field: &Positioned<Field>, ) -> ServerResult<Value>

source§

impl<T: OutputType> OutputType for LinkedList<T>

source§

fn type_name() -> Cow<'static, str>

source§

fn qualified_type_name() -> String

source§

fn create_type_info(registry: &mut Registry) -> String

source§

async fn resolve( &self, ctx: &ContextSelectionSet<'_>, field: &Positioned<Field>, ) -> ServerResult<Value>

source§

impl<T: OutputType> OutputType for VecDeque<T>

source§

fn type_name() -> Cow<'static, str>

source§

fn qualified_type_name() -> String

source§

fn create_type_info(registry: &mut Registry) -> String

source§

async fn resolve( &self, ctx: &ContextSelectionSet<'_>, field: &Positioned<Field>, ) -> ServerResult<Value>

source§

impl<T: OutputType> OutputType for Arc<[T]>

source§

fn type_name() -> Cow<'static, str>

source§

fn qualified_type_name() -> String

source§

fn create_type_info(registry: &mut Registry) -> String

source§

async fn resolve( &self, ctx: &ContextSelectionSet<'_>, field: &Positioned<Field>, ) -> ServerResult<Value>

source§

impl<T: OutputType> OutputType for Vec<T>

source§

fn type_name() -> Cow<'static, str>

source§

fn qualified_type_name() -> String

source§

fn create_type_info(registry: &mut Registry) -> String

source§

async fn resolve( &self, ctx: &ContextSelectionSet<'_>, field: &Positioned<Field>, ) -> ServerResult<Value>

source§

impl<T: OutputType> OutputType for Mutex<T>

source§

fn type_name() -> Cow<'static, str>

source§

fn create_type_info(registry: &mut Registry) -> String

source§

async fn resolve( &self, ctx: &ContextSelectionSet<'_>, field: &Positioned<Field>, ) -> ServerResult<Value>

source§

impl<T: OutputType> OutputType for RwLock<T>

source§

fn type_name() -> Cow<'static, str>

source§

fn create_type_info(registry: &mut Registry) -> String

source§

async fn resolve( &self, ctx: &ContextSelectionSet<'_>, field: &Positioned<Field>, ) -> ServerResult<Value>

source§

impl<T: OutputType, const N: usize> OutputType for [T; N]

source§

fn type_name() -> Cow<'static, str>

source§

fn qualified_type_name() -> String

source§

fn create_type_info(registry: &mut Registry) -> String

source§

async fn resolve( &self, ctx: &ContextSelectionSet<'_>, field: &Positioned<Field>, ) -> ServerResult<Value>

Implementors§

source§

impl OutputType for EmptyFields

source§

impl OutputType for PageInfo

source§

impl OutputType for Any

source§

impl OutputType for EmptyMutation

source§

impl OutputType for ID

source§

impl<Cursor, Node, ConnectionFields, EdgeFields, Name, EdgeName> OutputType for Connection<Cursor, Node, ConnectionFields, EdgeFields, Name, EdgeName, DisableNodesField>
where Cursor: CursorType + Send + Sync, Node: OutputType, ConnectionFields: ObjectType, EdgeFields: ObjectType, Name: ConnectionNameType, EdgeName: EdgeNameType,

source§

impl<Cursor, Node, ConnectionFields, EdgeFields, Name, EdgeName> OutputType for Connection<Cursor, Node, ConnectionFields, EdgeFields, Name, EdgeName, EnableNodesField>
where Cursor: CursorType + Send + Sync, Node: OutputType, ConnectionFields: ObjectType, EdgeFields: ObjectType, Name: ConnectionNameType, EdgeName: EdgeNameType,

source§

impl<Cursor, Node, EdgeFields, Name> OutputType for Edge<Cursor, Node, EdgeFields, Name>
where Cursor: CursorType + Send + Sync, Node: OutputType, EdgeFields: ObjectType, Name: EdgeNameType,

source§

impl<T: Num + Display + Send + Sync> OutputType for StringNumber<T>
where <T as Num>::FromStrRadixErr: Display,

source§

impl<T: Serialize + Send + Sync> OutputType for Json<T>

source§

impl<T: OutputType + Sync, E: Into<Error> + Send + Sync + Clone> OutputType for Result<T, E>