Enum juniper::TypeKind

source ·
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§

source§

impl Clone for TypeKind

source§

fn clone(&self) -> TypeKind

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for TypeKind

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__S> FromInputValue<__S> for TypeKindwhere
    __S: ScalarValue,

source§

fn from_input_value(v: &InputValue<__S>) -> Option<TypeKind>

Performs the conversion.
source§

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.
source§

impl<__S> GraphQLType<__S> for TypeKindwhere
    __S: ScalarValue,

source§

fn name(_: &()) -> Option<&'static str>

Returns name of this GraphQLType to expose. Read more
source§

fn meta<'r>(_: &(), registry: &mut Registry<'r, __S>) -> MetaType<'r, __S>where
    __S: 'r,

Returns MetaType representing this GraphQLType.
source§

impl<__S> GraphQLValue<__S> for TypeKindwhere
    __S: ScalarValue,

§

type Context = ()

Context type for this GraphQLValue. Read more
§

type TypeInfo = ()

Type that may carry additional schema information for this GraphQLValue. Read more
source§

fn type_name<'__i>(&self, info: &'__i Self::TypeInfo) -> Option<&'__i str>

Returns name of the GraphQLType exposed by this GraphQLValue. Read more
source§

fn resolve(
    &self,
    _: &(),
    _: Option<&[Selection<'_, __S>]>,
    _: &Executor<'_, '_, Self::Context, __S>
) -> ExecutionResult<__S>

Resolves the provided selection_set against this GraphQLValue. Read more
source§

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
source§

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
source§

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
source§

impl<__S> GraphQLValueAsync<__S> for TypeKindwhere
    __S: ScalarValue + Send + Sync,
    Self: Sync,

source§

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
source§

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
source§

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
source§

impl<__S> IsInputType<__S> for TypeKindwhere
    __S: ScalarValue,

source§

fn mark()

An arbitrary function without meaning. Read more
source§

impl<__S> IsOutputType<__S> for TypeKindwhere
    __S: ScalarValue,

source§

fn mark()

An arbitrary function without meaning. Read more
source§

impl PartialEq<TypeKind> for TypeKind

source§

fn eq(&self, other: &TypeKind) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl<__S> ToInputValue<__S> for TypeKindwhere
    __S: ScalarValue,

source§

fn to_input_value(&self) -> InputValue<__S>

Performs the conversion.
source§

impl Eq for TypeKind

source§

impl StructuralEq for TypeKind

source§

impl StructuralPartialEq for TypeKind

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere
    T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere
    T: ?Sized,

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere
    T: ?Sized,

const: unstable · source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<Q, K> Equivalent<K> for Qwhere
    Q: Eq + ?Sized,
    K: Borrow<Q> + ?Sized,

source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere
    U: From<T>,

const: unstable · source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for Twhere
    T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

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

fn clone_into(&self, target: &mut T)

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

impl<T, U> TryFrom<U> for Twhere
    U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable · source§

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

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere
    U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
const: unstable · source§

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

Performs the conversion.
§

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

§

fn vzip(self) -> V