pub struct ResolverContext {
pub execution: ExecutionContext,
pub parent: Option<Value>,
pub arguments: HashMap<String, Value>,
pub path: Vec<String>,
pub schema: Arc<GraphQLSchema>,
}Expand description
Resolver context passed to field resolvers
Fields§
§execution: ExecutionContextExecution context
parent: Option<Value>Parent value (for nested resolvers)
arguments: HashMap<String, Value>Field arguments
path: Vec<String>Field path
schema: Arc<GraphQLSchema>Schema reference
Implementations§
Source§impl ResolverContext
impl ResolverContext
Sourcepub fn new(schema: Arc<GraphQLSchema>, execution: ExecutionContext) -> Self
pub fn new(schema: Arc<GraphQLSchema>, execution: ExecutionContext) -> Self
Create a new resolver context
Sourcepub fn with_parent(self, parent: Value) -> Self
pub fn with_parent(self, parent: Value) -> Self
Set the parent value
Sourcepub fn with_arguments(self, arguments: HashMap<String, Value>) -> Self
pub fn with_arguments(self, arguments: HashMap<String, Value>) -> Self
Set arguments
Sourcepub fn arg<T: DeserializeOwned>(&self, name: &str) -> Option<T>
pub fn arg<T: DeserializeOwned>(&self, name: &str) -> Option<T>
Get an argument value
Sourcepub fn required_arg<T: DeserializeOwned>(
&self,
name: &str,
) -> Result<T, ResolverError>
pub fn required_arg<T: DeserializeOwned>( &self, name: &str, ) -> Result<T, ResolverError>
Get a required argument
Sourcepub fn parent_field(&self, name: &str) -> Option<&Value>
pub fn parent_field(&self, name: &str) -> Option<&Value>
Get a field from the parent
Trait Implementations§
Source§impl Clone for ResolverContext
impl Clone for ResolverContext
Source§fn clone(&self) -> ResolverContext
fn clone(&self) -> ResolverContext
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for ResolverContext
impl RefUnwindSafe for ResolverContext
impl Send for ResolverContext
impl Sync for ResolverContext
impl Unpin for ResolverContext
impl UnsafeUnpin for ResolverContext
impl UnwindSafe for ResolverContext
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more