Allows to get the actual field name and alias in ResolveInfo
. #551
This commit is contained in:
parent
3b5b0eee25
commit
1b173b7588
|
@ -365,6 +365,8 @@ pub fn generate(
|
|||
path_node: ctx_selection_set.path_node.as_ref().unwrap(),
|
||||
parent_type: #gql_typename,
|
||||
return_type: &<<#stream_ty as #crate_name::futures_util::stream::Stream>::Item as #crate_name::Type>::qualified_type_name(),
|
||||
name: field.node.name.node.as_str(),
|
||||
alias: field.node.alias.as_ref().map(|alias| alias.node.as_str()),
|
||||
};
|
||||
let resolve_fut = async {
|
||||
#crate_name::OutputType::resolve(&msg, &ctx_selection_set, &*field)
|
||||
|
|
|
@ -103,6 +103,12 @@ pub struct ResolveInfo<'a> {
|
|||
|
||||
/// Current return type, is qualified name.
|
||||
pub return_type: &'a str,
|
||||
|
||||
/// Current field name
|
||||
pub name: &'a str,
|
||||
|
||||
/// Current field alias
|
||||
pub alias: Option<&'a str>,
|
||||
}
|
||||
|
||||
type RequestFut<'a> = &'a mut (dyn Future<Output = Response> + Send + Unpin);
|
||||
|
|
|
@ -204,6 +204,12 @@ impl<'a> Fields<'a> {
|
|||
));
|
||||
}
|
||||
},
|
||||
name: field.node.name.node.as_str(),
|
||||
alias: field
|
||||
.node
|
||||
.alias
|
||||
.as_ref()
|
||||
.map(|alias| alias.node.as_str()),
|
||||
};
|
||||
|
||||
let resolve_fut = root.resolve_field(&ctx_field);
|
||||
|
|
|
@ -23,6 +23,8 @@ pub async fn resolve_list<'a, T: OutputType + 'a>(
|
|||
path_node: ctx_idx.path_node.as_ref().unwrap(),
|
||||
parent_type: &Vec::<T>::type_name(),
|
||||
return_type: &T::qualified_type_name(),
|
||||
name: field.node.name.node.as_str(),
|
||||
alias: field.node.alias.as_ref().map(|alias| alias.node.as_str()),
|
||||
};
|
||||
let resolve_fut = async {
|
||||
OutputType::resolve(&item, &ctx_idx, field)
|
||||
|
|
Loading…
Reference in New Issue
Block a user