pub enum TypeKind {
Scalar,
Object,
Interface,
Union,
Enum,
InputObject,
List,
NonNull,
}
Expand description
GraphQL type kind
The GraphQL specification defines a number of type kinds - the meta type
of a type.
Variants
Scalar
Scalar types
Scalar types appear as the leaf nodes of GraphQL queries. Strings,
numbers, and booleans are the built in types, and while it’s possible
to define your own, it’s relatively uncommon.
Object
Object types
The most common type to be implemented by users. Objects have fields
and can implement interfaces.
Interface
Interface types
Interface types are used to represent overlapping fields between
multiple types, and can be queried for their concrete type.
Union
Union types
Unions are similar to interfaces but can not contain any fields on
their own.
Enum
Enum types
Like scalars, enum types appear as the leaf nodes of GraphQL queries.
InputObject
Input objects
Represents complex values provided in queries into the system.
List
List types
Represent lists of other types. This library provides implementations
for vectors and slices, but other Rust types can be extended to serve
as GraphQL lists.
NonNull
Non-null types
In GraphQL, nullable types are the default. By putting a !
after a
type, it becomes non-nullable.
Trait Implementations
sourceimpl<__S> FromInputValue<__S> for TypeKind where
__S: ScalarValue,
impl<__S> FromInputValue<__S> for TypeKind where
__S: ScalarValue,
sourcefn from_input_value(v: &InputValue<__S>) -> Option<TypeKind>
fn from_input_value(v: &InputValue<__S>) -> Option<TypeKind>
Performs the conversion.
sourcefn from_implicit_null() -> Self
fn from_implicit_null() -> Self
Performs the conversion from an absent value (e.g. to distinguish between implicit and
explicit null). The default implementation just uses from_input_value
as if an explicit
null were provided. This conversion must not fail. Read more
sourceimpl<__S> GraphQLType<__S> for TypeKind where
__S: ScalarValue,
impl<__S> GraphQLType<__S> for TypeKind where
__S: ScalarValue,
sourceimpl<__S> GraphQLValue<__S> for TypeKind where
__S: ScalarValue,
impl<__S> GraphQLValue<__S> for TypeKind where
__S: ScalarValue,
type Context = ()
type Context = ()
Context type for this GraphQLValue
. Read more
type TypeInfo = ()
type TypeInfo = ()
Type that may carry additional schema information for this GraphQLValue
. Read more
sourcefn type_name<'__i>(&self, info: &'__i Self::TypeInfo) -> Option<&'__i str>
fn type_name<'__i>(&self, info: &'__i Self::TypeInfo) -> Option<&'__i str>
Returns name of the GraphQLType
exposed by this GraphQLValue
. Read more
sourcefn resolve(
&self,
_: &(),
_: Option<&[Selection<'_, __S>]>,
_: &Executor<'_, '_, Self::Context, __S>
) -> ExecutionResult<__S>
fn resolve(
&self,
_: &(),
_: Option<&[Selection<'_, __S>]>,
_: &Executor<'_, '_, Self::Context, __S>
) -> ExecutionResult<__S>
Resolves the provided selection_set
against this GraphQLValue
. Read more
sourcefn resolve_field(
&self,
_info: &Self::TypeInfo,
_field_name: &str,
_arguments: &Arguments<'_, S>,
_executor: &Executor<'_, '_, Self::Context, S>
) -> ExecutionResult<S>
fn resolve_field(
&self,
_info: &Self::TypeInfo,
_field_name: &str,
_arguments: &Arguments<'_, S>,
_executor: &Executor<'_, '_, Self::Context, S>
) -> ExecutionResult<S>
Resolves the value of a single field on this GraphQLValue
. Read more
sourcefn resolve_into_type(
&self,
info: &Self::TypeInfo,
type_name: &str,
selection_set: Option<&[Selection<'_, S>]>,
executor: &Executor<'_, '_, Self::Context, S>
) -> ExecutionResult<S>
fn resolve_into_type(
&self,
info: &Self::TypeInfo,
type_name: &str,
selection_set: Option<&[Selection<'_, S>]>,
executor: &Executor<'_, '_, Self::Context, S>
) -> ExecutionResult<S>
Resolves this GraphQLValue
(being an interface or an union) into a concrete
downstream object type. Read more
sourcefn concrete_type_name(
&self,
context: &Self::Context,
info: &Self::TypeInfo
) -> String
fn concrete_type_name(
&self,
context: &Self::Context,
info: &Self::TypeInfo
) -> String
Returns the concrete GraphQLType
name for this GraphQLValue
being an interface,
an union or an object. Read more
sourceimpl<__S> GraphQLValueAsync<__S> for TypeKind where
__S: ScalarValue,
__S: Send + Sync,
Self: Sync,
impl<__S> GraphQLValueAsync<__S> for TypeKind where
__S: ScalarValue,
__S: Send + Sync,
Self: Sync,
sourcefn resolve_async<'a>(
&'a self,
info: &'a Self::TypeInfo,
selection_set: Option<&'a [Selection<'_, __S>]>,
executor: &'a Executor<'_, '_, Self::Context, __S>
) -> BoxFuture<'a, ExecutionResult<__S>>
fn resolve_async<'a>(
&'a self,
info: &'a Self::TypeInfo,
selection_set: Option<&'a [Selection<'_, __S>]>,
executor: &'a Executor<'_, '_, Self::Context, __S>
) -> BoxFuture<'a, ExecutionResult<__S>>
Resolves the provided selection_set
against this GraphQLValueAsync
. Read more
sourcefn resolve_field_async<'a>(
&'a self,
_info: &'a Self::TypeInfo,
_field_name: &'a str,
_arguments: &'a Arguments<'_, S>,
_executor: &'a Executor<'_, '_, Self::Context, S>
) -> BoxFuture<'a, ExecutionResult<S>>
fn resolve_field_async<'a>(
&'a self,
_info: &'a Self::TypeInfo,
_field_name: &'a str,
_arguments: &'a Arguments<'_, S>,
_executor: &'a Executor<'_, '_, Self::Context, S>
) -> BoxFuture<'a, ExecutionResult<S>>
Resolves the value of a single field on this GraphQLValueAsync
. Read more
sourcefn resolve_into_type_async<'a>(
&'a self,
info: &'a Self::TypeInfo,
type_name: &str,
selection_set: Option<&'a [Selection<'a, S>]>,
executor: &'a Executor<'a, 'a, Self::Context, S>
) -> BoxFuture<'a, ExecutionResult<S>>
fn resolve_into_type_async<'a>(
&'a self,
info: &'a Self::TypeInfo,
type_name: &str,
selection_set: Option<&'a [Selection<'a, S>]>,
executor: &'a Executor<'a, 'a, Self::Context, S>
) -> BoxFuture<'a, ExecutionResult<S>>
Resolves this GraphQLValueAsync
(being an interface or an union) into a
concrete downstream object type. Read more
sourceimpl<__S> IsInputType<__S> for TypeKind where
__S: ScalarValue,
impl<__S> IsInputType<__S> for TypeKind where
__S: ScalarValue,
sourceimpl<__S> IsOutputType<__S> for TypeKind where
__S: ScalarValue,
impl<__S> IsOutputType<__S> for TypeKind where
__S: ScalarValue,
sourceimpl<__S> ToInputValue<__S> for TypeKind where
__S: ScalarValue,
impl<__S> ToInputValue<__S> for TypeKind where
__S: ScalarValue,
sourcefn to_input_value(&self) -> InputValue<__S>
fn to_input_value(&self) -> InputValue<__S>
Performs the conversion.
impl Eq for TypeKind
impl StructuralEq for TypeKind
impl StructuralPartialEq for TypeKind
Auto Trait Implementations
impl RefUnwindSafe for TypeKind
impl Send for TypeKind
impl Sync for TypeKind
impl Unpin for TypeKind
impl UnwindSafe for TypeKind
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<Q, K> Equivalent<K> for Q where
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Q where
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
sourcefn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to key
and return true
if they are equal.