[][src]Trait async_graphql::Type

pub trait Type {
    pub fn type_name() -> Cow<'static, str>;
pub fn create_type_info(registry: &mut Registry) -> String; pub fn qualified_type_name() -> String { ... }
pub fn introspection_type_name(&self) -> Cow<'static, str> { ... } }

Represents a GraphQL type.

All GraphQL types implement this trait, such as Scalar, Object, Union ...

Required methods

pub fn type_name() -> Cow<'static, str>[src][]

Type the name.

pub fn create_type_info(registry: &mut Registry) -> String[src][]

Create type information in the registry and return qualified typename.

Provided methods

pub fn qualified_type_name() -> String[src][]

Qualified typename.

pub fn introspection_type_name(&self) -> Cow<'static, str>[src][]

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.

Implementations on Foreign Types

impl<T: Type + Send + Sync + ?Sized, '_> Type for &'_ T[src][]

impl Type for bool[src][]

impl Type for char[src][]

impl<'a, T: ?Sized> Type for Cow<'a, T> where
    T: Type + ToOwned + Send + Sync
[src][]

impl Type for f32[src][]

impl Type for f64[src][]

impl Type for i8[src][]

impl Type for i16[src][]

impl Type for i32[src][]

impl Type for i64[src][]

impl Type for u8[src][]

impl Type for u16[src][]

impl Type for u32[src][]

impl Type for u64[src][]

impl Type for usize[src][]

impl Type for isize[src][]

impl<T> Type for BTreeMap<String, T> where
    T: OutputType + InputType + Send + Sync
[src][]

impl<T> Type for HashMap<String, T> where
    T: OutputType + InputType + Send + Sync
[src][]

impl<T: Type> Type for BTreeSet<T>[src][]

impl<T: Type> Type for HashSet<T>[src][]

impl<T: Type> Type for LinkedList<T>[src][]

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

impl<T: Type> Type for Vec<T>[src][]

impl<T: Type> Type for VecDeque<T>[src][]

impl Type for NonZeroI8[src][]

impl Type for NonZeroI16[src][]

impl Type for NonZeroI32[src][]

impl Type for NonZeroI64[src][]

impl Type for NonZeroU8[src][]

impl Type for NonZeroU16[src][]

impl Type for NonZeroU32[src][]

impl Type for NonZeroU64[src][]

impl<T: Type> Type for Option<T>[src][]

impl Type for String[src][]

impl Type for str[src][]

impl Type for ObjectId[src][]

impl Type for UtcDateTime[src][]

impl Type for DateTime<FixedOffset>[src][]

impl Type for DateTime<Local>[src][]

impl Type for DateTime<Utc>[src][]

impl Type for NaiveDate[src][]

impl Type for NaiveTime[src][]

impl Type for NaiveDateTime[src][]

impl Type for Url[src][]

impl Type for Uuid[src][]

Implementors

impl Type for EmptyFields[src][+]

impl Type for PageInfo[src][+]

impl Type for Any[src][+]

impl Type for EmptyMutation[src][+]

impl Type for EmptySubscription[src][+]

impl Type for ID[src][+]

impl Type for Upload[src][+]

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

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

impl<T> Type for OutputJson<T>[src][+]

impl<T: Type> Type for MaybeUndefined<T>[src][+]

impl<T: Type> Type for Result<T>[src][+]

impl<T: Num + Display + Send + Sync> Type for StringNumber<T> where
    <T as Num>::FromStrRadixErr: Display
[src][+]

impl<T: DeserializeOwned + Serialize + Send + Sync> Type for Json<T>[src][+]