Trait juniper::GraphQLValue [−][src]
Primary trait used to resolve GraphQL values.
All the convenience macros ultimately expand into an implementation of this trait for the given type. The macros remove duplicated definitions of fields and arguments, and add type checks on all resolving functions automatically. This can all be done manually too.
GraphQLValue
provides some convenience methods for you, in the form of optional trait
methods. The type_name
method is mandatory, but other than that, it depends on what type
you’re exposing:
- Scalars, enums, lists and non-null wrappers only require
resolve
. - Interfaces and objects require
resolve_field
orresolve
if you want to implement a custom resolution logic (probably not). - Interfaces and unions require
resolve_into_type
andconcrete_type_name
. - Input objects do not require anything.
Object safety
This trait is object safe, therefore may be turned into a trait object and used for resolving GraphQL values even when a concrete Rust type is erased.
Example
This trait is intended to be used in a conjunction with a GraphQLType
trait. See the example
in the documentation of a GraphQLType
trait.
Associated Types
type Context
[src]
Context type for this GraphQLValue
.
It’s threaded through a query execution to all affected nodes, and can be used to hold common data, e.g. database connections or request session information.
type TypeInfo
[src]
Type that may carry additional schema information for this GraphQLValue
.
It can be used to implement a schema that is partly dynamic, meaning that it can use information that is not known at compile time, for instance by reading it from a configuration file at startup.
Required methods
fn type_name<'i>(&self, info: &'i Self::TypeInfo) -> Option<&'i str>
[src]
Returns name of the GraphQLType
exposed by this GraphQLValue
.
This function will be called multiple times during a query execution. It must not perform any calculation and always return the same value.
Usually, it should just call a GraphQLType::name
inside.
Provided methods
fn resolve_field(
&self,
_info: &Self::TypeInfo,
_field_name: &str,
_arguments: &Arguments<'_, S>,
_executor: &Executor<'_, '_, Self::Context, S>
) -> ExecutionResult<S>
[src]
&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
.
The arguments
object contains all the specified arguments, with default values being
substituted for the ones not provided by the query.
The executor
can be used to drive selections into sub-objects.
Panics
The default implementation panics.
fn resolve_into_type(
&self,
info: &Self::TypeInfo,
type_name: &str,
selection_set: Option<&[Selection<'_, S>]>,
executor: &Executor<'_, '_, Self::Context, S>
) -> ExecutionResult<S>
[src]
&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.
Tries to resolve this GraphQLValue
into the provided type_name
. If the type matches,
then passes the instance along to Executor::resolve
.
Panics
The default implementation panics.
fn concrete_type_name(
&self,
context: &Self::Context,
info: &Self::TypeInfo
) -> String
[src]
&self,
context: &Self::Context,
info: &Self::TypeInfo
) -> String
Returns the concrete GraphQLType
name for this GraphQLValue
being an interface,
an union or an object.
Panics
The default implementation panics.
fn resolve(
&self,
info: &Self::TypeInfo,
selection_set: Option<&[Selection<'_, S>]>,
executor: &Executor<'_, '_, Self::Context, S>
) -> ExecutionResult<S>
[src]
&self,
info: &Self::TypeInfo,
selection_set: Option<&[Selection<'_, S>]>,
executor: &Executor<'_, '_, Self::Context, S>
) -> ExecutionResult<S>
Resolves the provided selection_set
against this GraphQLValue
.
For non-object types, the selection_set
will be None
and the value should simply
be returned.
For objects, all fields in the selection_set
should be resolved. The default
implementation uses GraphQLValue::resolve_field
to resolve all fields, including those
through a fragment expansion.
Since the GraphQL spec specifies that errors during field processing should result in
a null-value, this might return Ok(Null)
in case of a failure. Errors are recorded
internally.
Panics
The default implementation panics, if selection_set
is None
.
Implementations on Foreign Types
impl<S, T> GraphQLValue<S> for Option<T> where
S: ScalarValue,
T: GraphQLValue<S>,
[src]
S: ScalarValue,
T: GraphQLValue<S>,
type Context = T::Context
type TypeInfo = T::TypeInfo
fn type_name(&self, _: &Self::TypeInfo) -> Option<&'static str>
[src]
fn resolve(
&self,
info: &Self::TypeInfo,
_: Option<&[Selection<'_, S>]>,
executor: &Executor<'_, '_, Self::Context, S>
) -> ExecutionResult<S>
[src]
&self,
info: &Self::TypeInfo,
_: Option<&[Selection<'_, S>]>,
executor: &Executor<'_, '_, Self::Context, S>
) -> ExecutionResult<S>
impl<S, T> GraphQLValue<S> for Vec<T> where
T: GraphQLValue<S>,
S: ScalarValue,
[src]
T: GraphQLValue<S>,
S: ScalarValue,
type Context = T::Context
type TypeInfo = T::TypeInfo
fn type_name(&self, _: &Self::TypeInfo) -> Option<&'static str>
[src]
fn resolve(
&self,
info: &Self::TypeInfo,
_: Option<&[Selection<'_, S>]>,
executor: &Executor<'_, '_, Self::Context, S>
) -> ExecutionResult<S>
[src]
&self,
info: &Self::TypeInfo,
_: Option<&[Selection<'_, S>]>,
executor: &Executor<'_, '_, Self::Context, S>
) -> ExecutionResult<S>
impl<S, T> GraphQLValue<S> for [T] where
S: ScalarValue,
T: GraphQLValue<S>,
[src]
S: ScalarValue,
T: GraphQLValue<S>,
type Context = T::Context
type TypeInfo = T::TypeInfo
fn type_name(&self, _: &Self::TypeInfo) -> Option<&'static str>
[src]
fn resolve(
&self,
info: &Self::TypeInfo,
_: Option<&[Selection<'_, S>]>,
executor: &Executor<'_, '_, Self::Context, S>
) -> ExecutionResult<S>
[src]
&self,
info: &Self::TypeInfo,
_: Option<&[Selection<'_, S>]>,
executor: &Executor<'_, '_, Self::Context, S>
) -> ExecutionResult<S>
impl<S, T: ?Sized> GraphQLValue<S> for Box<T> where
T: GraphQLValue<S>,
S: ScalarValue,
[src]
T: GraphQLValue<S>,
S: ScalarValue,
type Context = T::Context
type TypeInfo = T::TypeInfo
fn type_name<'i>(&self, info: &'i Self::TypeInfo) -> Option<&'i str>
[src]
fn resolve_into_type(
&self,
info: &Self::TypeInfo,
name: &str,
selection_set: Option<&[Selection<'_, S>]>,
executor: &Executor<'_, '_, Self::Context, S>
) -> ExecutionResult<S>
[src]
&self,
info: &Self::TypeInfo,
name: &str,
selection_set: Option<&[Selection<'_, S>]>,
executor: &Executor<'_, '_, Self::Context, S>
) -> ExecutionResult<S>
fn resolve_field(
&self,
info: &Self::TypeInfo,
field: &str,
args: &Arguments<'_, S>,
executor: &Executor<'_, '_, Self::Context, S>
) -> ExecutionResult<S>
[src]
&self,
info: &Self::TypeInfo,
field: &str,
args: &Arguments<'_, S>,
executor: &Executor<'_, '_, Self::Context, S>
) -> ExecutionResult<S>
fn resolve(
&self,
info: &Self::TypeInfo,
selection_set: Option<&[Selection<'_, S>]>,
executor: &Executor<'_, '_, Self::Context, S>
) -> ExecutionResult<S>
[src]
&self,
info: &Self::TypeInfo,
selection_set: Option<&[Selection<'_, S>]>,
executor: &Executor<'_, '_, Self::Context, S>
) -> ExecutionResult<S>
impl<'e, S, T: ?Sized> GraphQLValue<S> for &'e T where
S: ScalarValue,
T: GraphQLValue<S>,
[src]
S: ScalarValue,
T: GraphQLValue<S>,
type Context = T::Context
type TypeInfo = T::TypeInfo
fn type_name<'i>(&self, info: &'i Self::TypeInfo) -> Option<&'i str>
[src]
fn resolve_into_type(
&self,
info: &Self::TypeInfo,
name: &str,
selection_set: Option<&[Selection<'_, S>]>,
executor: &Executor<'_, '_, Self::Context, S>
) -> ExecutionResult<S>
[src]
&self,
info: &Self::TypeInfo,
name: &str,
selection_set: Option<&[Selection<'_, S>]>,
executor: &Executor<'_, '_, Self::Context, S>
) -> ExecutionResult<S>
fn resolve_field(
&self,
info: &Self::TypeInfo,
field: &str,
args: &Arguments<'_, S>,
executor: &Executor<'_, '_, Self::Context, S>
) -> ExecutionResult<S>
[src]
&self,
info: &Self::TypeInfo,
field: &str,
args: &Arguments<'_, S>,
executor: &Executor<'_, '_, Self::Context, S>
) -> ExecutionResult<S>
fn resolve(
&self,
info: &Self::TypeInfo,
selection_set: Option<&[Selection<'_, S>]>,
executor: &Executor<'_, '_, Self::Context, S>
) -> ExecutionResult<S>
[src]
&self,
info: &Self::TypeInfo,
selection_set: Option<&[Selection<'_, S>]>,
executor: &Executor<'_, '_, Self::Context, S>
) -> ExecutionResult<S>
impl<S, T: ?Sized> GraphQLValue<S> for Arc<T> where
S: ScalarValue,
T: GraphQLValue<S>,
[src]
S: ScalarValue,
T: GraphQLValue<S>,
type Context = T::Context
type TypeInfo = T::TypeInfo
fn type_name<'i>(&self, info: &'i Self::TypeInfo) -> Option<&'i str>
[src]
fn resolve_into_type(
&self,
info: &Self::TypeInfo,
name: &str,
selection_set: Option<&[Selection<'_, S>]>,
executor: &Executor<'_, '_, Self::Context, S>
) -> ExecutionResult<S>
[src]
&self,
info: &Self::TypeInfo,
name: &str,
selection_set: Option<&[Selection<'_, S>]>,
executor: &Executor<'_, '_, Self::Context, S>
) -> ExecutionResult<S>
fn resolve_field(
&self,
info: &Self::TypeInfo,
field: &str,
args: &Arguments<'_, S>,
executor: &Executor<'_, '_, Self::Context, S>
) -> ExecutionResult<S>
[src]
&self,
info: &Self::TypeInfo,
field: &str,
args: &Arguments<'_, S>,
executor: &Executor<'_, '_, Self::Context, S>
) -> ExecutionResult<S>
fn resolve(
&self,
info: &Self::TypeInfo,
selection_set: Option<&[Selection<'_, S>]>,
executor: &Executor<'_, '_, Self::Context, S>
) -> ExecutionResult<S>
[src]
&self,
info: &Self::TypeInfo,
selection_set: Option<&[Selection<'_, S>]>,
executor: &Executor<'_, '_, Self::Context, S>
) -> ExecutionResult<S>
impl<S> GraphQLValue<S> for String where
S: ScalarValue,
[src]
S: ScalarValue,
type Context = ()
type TypeInfo = ()
fn type_name<'__i>(&self, info: &'__i Self::TypeInfo) -> Option<&'__i str>
[src]
fn resolve(
&self,
info: &(),
selection: Option<&[Selection<'_, S>]>,
executor: &Executor<'_, '_, Self::Context, S>
) -> ExecutionResult<S>
[src]
&self,
info: &(),
selection: Option<&[Selection<'_, S>]>,
executor: &Executor<'_, '_, Self::Context, S>
) -> ExecutionResult<S>
impl<S> GraphQLValue<S> for str where
S: ScalarValue,
[src]
S: ScalarValue,
type Context = ()
type TypeInfo = ()
fn type_name<'i>(&self, info: &'i Self::TypeInfo) -> Option<&'i str>
[src]
fn resolve(
&self,
_: &(),
_: Option<&[Selection<'_, S>]>,
_: &Executor<'_, '_, Self::Context, S>
) -> ExecutionResult<S>
[src]
&self,
_: &(),
_: Option<&[Selection<'_, S>]>,
_: &Executor<'_, '_, Self::Context, S>
) -> ExecutionResult<S>
impl<S> GraphQLValue<S> for bool where
S: ScalarValue,
[src]
S: ScalarValue,
type Context = ()
type TypeInfo = ()
fn type_name<'__i>(&self, info: &'__i Self::TypeInfo) -> Option<&'__i str>
[src]
fn resolve(
&self,
info: &(),
selection: Option<&[Selection<'_, S>]>,
executor: &Executor<'_, '_, Self::Context, S>
) -> ExecutionResult<S>
[src]
&self,
info: &(),
selection: Option<&[Selection<'_, S>]>,
executor: &Executor<'_, '_, Self::Context, S>
) -> ExecutionResult<S>
impl<S> GraphQLValue<S> for i32 where
S: ScalarValue,
[src]
S: ScalarValue,
type Context = ()
type TypeInfo = ()
fn type_name<'__i>(&self, info: &'__i Self::TypeInfo) -> Option<&'__i str>
[src]
fn resolve(
&self,
info: &(),
selection: Option<&[Selection<'_, S>]>,
executor: &Executor<'_, '_, Self::Context, S>
) -> ExecutionResult<S>
[src]
&self,
info: &(),
selection: Option<&[Selection<'_, S>]>,
executor: &Executor<'_, '_, Self::Context, S>
) -> ExecutionResult<S>
impl<S> GraphQLValue<S> for f64 where
S: ScalarValue,
[src]
S: ScalarValue,
type Context = ()
type TypeInfo = ()
fn type_name<'__i>(&self, info: &'__i Self::TypeInfo) -> Option<&'__i str>
[src]
fn resolve(
&self,
info: &(),
selection: Option<&[Selection<'_, S>]>,
executor: &Executor<'_, '_, Self::Context, S>
) -> ExecutionResult<S>
[src]
&self,
info: &(),
selection: Option<&[Selection<'_, S>]>,
executor: &Executor<'_, '_, Self::Context, S>
) -> ExecutionResult<S>
impl<S> GraphQLValue<S> for DateTime<FixedOffset> where
S: ScalarValue,
[src]
S: ScalarValue,
type Context = ()
type TypeInfo = ()
fn type_name<'__i>(&self, info: &'__i Self::TypeInfo) -> Option<&'__i str>
[src]
fn resolve(
&self,
info: &(),
selection: Option<&[Selection<'_, S>]>,
executor: &Executor<'_, '_, Self::Context, S>
) -> ExecutionResult<S>
[src]
&self,
info: &(),
selection: Option<&[Selection<'_, S>]>,
executor: &Executor<'_, '_, Self::Context, S>
) -> ExecutionResult<S>
impl<S> GraphQLValue<S> for DateTime<Utc> where
S: ScalarValue,
[src]
S: ScalarValue,
type Context = ()
type TypeInfo = ()
fn type_name<'__i>(&self, info: &'__i Self::TypeInfo) -> Option<&'__i str>
[src]
fn resolve(
&self,
info: &(),
selection: Option<&[Selection<'_, S>]>,
executor: &Executor<'_, '_, Self::Context, S>
) -> ExecutionResult<S>
[src]
&self,
info: &(),
selection: Option<&[Selection<'_, S>]>,
executor: &Executor<'_, '_, Self::Context, S>
) -> ExecutionResult<S>
impl<S> GraphQLValue<S> for NaiveDate where
S: ScalarValue,
[src]
S: ScalarValue,
type Context = ()
type TypeInfo = ()
fn type_name<'__i>(&self, info: &'__i Self::TypeInfo) -> Option<&'__i str>
[src]
fn resolve(
&self,
info: &(),
selection: Option<&[Selection<'_, S>]>,
executor: &Executor<'_, '_, Self::Context, S>
) -> ExecutionResult<S>
[src]
&self,
info: &(),
selection: Option<&[Selection<'_, S>]>,
executor: &Executor<'_, '_, Self::Context, S>
) -> ExecutionResult<S>
impl<S> GraphQLValue<S> for NaiveDateTime where
S: ScalarValue,
[src]
S: ScalarValue,
type Context = ()
type TypeInfo = ()
fn type_name<'__i>(&self, info: &'__i Self::TypeInfo) -> Option<&'__i str>
[src]
fn resolve(
&self,
info: &(),
selection: Option<&[Selection<'_, S>]>,
executor: &Executor<'_, '_, Self::Context, S>
) -> ExecutionResult<S>
[src]
&self,
info: &(),
selection: Option<&[Selection<'_, S>]>,
executor: &Executor<'_, '_, Self::Context, S>
) -> ExecutionResult<S>
impl<S> GraphQLValue<S> for Url where
S: ScalarValue,
[src]
S: ScalarValue,
type Context = ()
type TypeInfo = ()
fn type_name<'__i>(&self, info: &'__i Self::TypeInfo) -> Option<&'__i str>
[src]
fn resolve(
&self,
info: &(),
selection: Option<&[Selection<'_, S>]>,
executor: &Executor<'_, '_, Self::Context, S>
) -> ExecutionResult<S>
[src]
&self,
info: &(),
selection: Option<&[Selection<'_, S>]>,
executor: &Executor<'_, '_, Self::Context, S>
) -> ExecutionResult<S>
impl<S> GraphQLValue<S> for Uuid where
S: ScalarValue,
[src]
S: ScalarValue,
type Context = ()
type TypeInfo = ()
fn type_name<'__i>(&self, info: &'__i Self::TypeInfo) -> Option<&'__i str>
[src]
fn resolve(
&self,
info: &(),
selection: Option<&[Selection<'_, S>]>,
executor: &Executor<'_, '_, Self::Context, S>
) -> ExecutionResult<S>
[src]
&self,
info: &(),
selection: Option<&[Selection<'_, S>]>,
executor: &Executor<'_, '_, Self::Context, S>
) -> ExecutionResult<S>
impl<S> GraphQLValue<S> for ObjectId where
S: ScalarValue,
[src]
S: ScalarValue,
type Context = ()
type TypeInfo = ()
fn type_name<'__i>(&self, info: &'__i Self::TypeInfo) -> Option<&'__i str>
[src]
fn resolve(
&self,
info: &(),
selection: Option<&[Selection<'_, S>]>,
executor: &Executor<'_, '_, Self::Context, S>
) -> ExecutionResult<S>
[src]
&self,
info: &(),
selection: Option<&[Selection<'_, S>]>,
executor: &Executor<'_, '_, Self::Context, S>
) -> ExecutionResult<S>
impl<S> GraphQLValue<S> for UtcDateTime where
S: ScalarValue,
[src]
S: ScalarValue,
type Context = ()
type TypeInfo = ()
fn type_name<'__i>(&self, info: &'__i Self::TypeInfo) -> Option<&'__i str>
[src]
fn resolve(
&self,
info: &(),
selection: Option<&[Selection<'_, S>]>,
executor: &Executor<'_, '_, Self::Context, S>
) -> ExecutionResult<S>
[src]
&self,
info: &(),
selection: Option<&[Selection<'_, S>]>,
executor: &Executor<'_, '_, Self::Context, S>
) -> ExecutionResult<S>
Implementors
impl<'a, S> GraphQLValue<S> for Argument<'a, S> where
S: ScalarValue + 'a,
[src]
S: ScalarValue + 'a,
type Context = SchemaType<'a, S>
type TypeInfo = ()
fn type_name<'__i>(&self, info: &'__i Self::TypeInfo) -> Option<&'__i str>
[src]
fn resolve_field(
&self,
_info: &(),
field: &str,
args: &Arguments<'_, S>,
executor: &Executor<'_, '_, Self::Context, S>
) -> ExecutionResult<S>
[src]
&self,
_info: &(),
field: &str,
args: &Arguments<'_, S>,
executor: &Executor<'_, '_, Self::Context, S>
) -> ExecutionResult<S>
fn concrete_type_name(&self, _: &Self::Context, _: &Self::TypeInfo) -> String
[src]
impl<'a, S> GraphQLValue<S> for EnumValue where
S: ScalarValue + 'a,
[src]
S: ScalarValue + 'a,
type Context = ()
type TypeInfo = ()
fn type_name<'__i>(&self, info: &'__i Self::TypeInfo) -> Option<&'__i str>
[src]
fn resolve_field(
&self,
_info: &(),
field: &str,
args: &Arguments<'_, S>,
executor: &Executor<'_, '_, Self::Context, S>
) -> ExecutionResult<S>
[src]
&self,
_info: &(),
field: &str,
args: &Arguments<'_, S>,
executor: &Executor<'_, '_, Self::Context, S>
) -> ExecutionResult<S>
fn concrete_type_name(&self, _: &Self::Context, _: &Self::TypeInfo) -> String
[src]
impl<'a, S> GraphQLValue<S> for Field<'a, S> where
S: ScalarValue + 'a,
[src]
S: ScalarValue + 'a,
type Context = SchemaType<'a, S>
type TypeInfo = ()
fn type_name<'__i>(&self, info: &'__i Self::TypeInfo) -> Option<&'__i str>
[src]
fn resolve_field(
&self,
_info: &(),
field: &str,
args: &Arguments<'_, S>,
executor: &Executor<'_, '_, Self::Context, S>
) -> ExecutionResult<S>
[src]
&self,
_info: &(),
field: &str,
args: &Arguments<'_, S>,
executor: &Executor<'_, '_, Self::Context, S>
) -> ExecutionResult<S>
fn concrete_type_name(&self, _: &Self::Context, _: &Self::TypeInfo) -> String
[src]
impl<'a, S> GraphQLValue<S> for SchemaType<'a, S> where
S: ScalarValue + 'a,
[src]
S: ScalarValue + 'a,
type Context = SchemaType<'a, S>
type TypeInfo = ()
fn type_name<'__i>(&self, info: &'__i Self::TypeInfo) -> Option<&'__i str>
[src]
fn resolve_field(
&self,
_info: &(),
field: &str,
args: &Arguments<'_, S>,
executor: &Executor<'_, '_, Self::Context, S>
) -> ExecutionResult<S>
[src]
&self,
_info: &(),
field: &str,
args: &Arguments<'_, S>,
executor: &Executor<'_, '_, Self::Context, S>
) -> ExecutionResult<S>
fn concrete_type_name(&self, _: &Self::Context, _: &Self::TypeInfo) -> String
[src]
impl<'a, S, QueryT, MutationT, SubscriptionT> GraphQLValue<S> for RootNode<'a, QueryT, MutationT, SubscriptionT, S> where
S: ScalarValue,
QueryT: GraphQLType<S>,
MutationT: GraphQLType<S, Context = QueryT::Context>,
SubscriptionT: GraphQLType<S, Context = QueryT::Context>,
[src]
S: ScalarValue,
QueryT: GraphQLType<S>,
MutationT: GraphQLType<S, Context = QueryT::Context>,
SubscriptionT: GraphQLType<S, Context = QueryT::Context>,
type Context = QueryT::Context
type TypeInfo = QueryT::TypeInfo
fn type_name<'i>(&self, info: &'i Self::TypeInfo) -> Option<&'i str>
[src]
fn concrete_type_name(
&self,
context: &Self::Context,
info: &Self::TypeInfo
) -> String
[src]
&self,
context: &Self::Context,
info: &Self::TypeInfo
) -> String
fn resolve_field(
&self,
info: &Self::TypeInfo,
field: &str,
args: &Arguments<'_, S>,
executor: &Executor<'_, '_, Self::Context, S>
) -> ExecutionResult<S>
[src]
&self,
info: &Self::TypeInfo,
field: &str,
args: &Arguments<'_, S>,
executor: &Executor<'_, '_, Self::Context, S>
) -> ExecutionResult<S>
fn resolve(
&self,
info: &Self::TypeInfo,
selection_set: Option<&[Selection<'_, S>]>,
executor: &Executor<'_, '_, Self::Context, S>
) -> ExecutionResult<S>
[src]
&self,
info: &Self::TypeInfo,
selection_set: Option<&[Selection<'_, S>]>,
executor: &Executor<'_, '_, Self::Context, S>
) -> ExecutionResult<S>
impl<S> GraphQLValue<S> for ID where
S: ScalarValue,
[src]
S: ScalarValue,
type Context = ()
type TypeInfo = ()
fn type_name<'__i>(&self, info: &'__i Self::TypeInfo) -> Option<&'__i str>
[src]
fn resolve(
&self,
info: &(),
selection: Option<&[Selection<'_, S>]>,
executor: &Executor<'_, '_, Self::Context, S>
) -> ExecutionResult<S>
[src]
&self,
info: &(),
selection: Option<&[Selection<'_, S>]>,
executor: &Executor<'_, '_, Self::Context, S>
) -> ExecutionResult<S>
impl<S, T> GraphQLValue<S> for Nullable<T> where
S: ScalarValue,
T: GraphQLValue<S>,
[src]
S: ScalarValue,
T: GraphQLValue<S>,
type Context = T::Context
type TypeInfo = T::TypeInfo
fn type_name(&self, _: &Self::TypeInfo) -> Option<&'static str>
[src]
fn resolve(
&self,
info: &Self::TypeInfo,
_: Option<&[Selection<'_, S>]>,
executor: &Executor<'_, '_, Self::Context, S>
) -> ExecutionResult<S>
[src]
&self,
info: &Self::TypeInfo,
_: Option<&[Selection<'_, S>]>,
executor: &Executor<'_, '_, Self::Context, S>
) -> ExecutionResult<S>
impl<S, T> GraphQLValue<S> for EmptyMutation<T> where
S: ScalarValue,
[src]
S: ScalarValue,
type Context = T
type TypeInfo = ()
fn type_name<'i>(&self, info: &'i Self::TypeInfo) -> Option<&'i str>
[src]
impl<S, T> GraphQLValue<S> for EmptySubscription<T> where
S: ScalarValue,
[src]
S: ScalarValue,
type Context = T
type TypeInfo = ()
fn type_name<'i>(&self, info: &'i Self::TypeInfo) -> Option<&'i str>
[src]
impl<__S> GraphQLValue<__S> for TypeKind where
__S: ScalarValue,
[src]
__S: ScalarValue,