Object, SimpleObject, Subscription to add missing the where clause
This commit is contained in:
parent
c3344845c6
commit
7893c2d482
|
@ -20,6 +20,7 @@ pub fn generate(object_args: &args::Object, item_impl: &mut ItemImpl) -> Result<
|
|||
_ => return Err(Error::new_spanned(&item_impl.self_ty, "Invalid type")),
|
||||
};
|
||||
let generics = &item_impl.generics;
|
||||
let where_clause = &item_impl.generics.where_clause;
|
||||
let extends = object_args.extends;
|
||||
|
||||
let gql_typename = object_args
|
||||
|
@ -399,7 +400,7 @@ pub fn generate(object_args: &args::Object, item_impl: &mut ItemImpl) -> Result<
|
|||
let expanded = quote! {
|
||||
#item_impl
|
||||
|
||||
impl #generics #crate_name::Type for #self_ty {
|
||||
impl #generics #crate_name::Type for #self_ty #where_clause {
|
||||
fn type_name() -> std::borrow::Cow<'static, str> {
|
||||
std::borrow::Cow::Borrowed(#gql_typename)
|
||||
}
|
||||
|
@ -424,7 +425,7 @@ pub fn generate(object_args: &args::Object, item_impl: &mut ItemImpl) -> Result<
|
|||
}
|
||||
|
||||
#[#crate_name::async_trait::async_trait]
|
||||
impl#generics #crate_name::ObjectType for #self_ty {
|
||||
impl#generics #crate_name::ObjectType for #self_ty #where_clause {
|
||||
async fn resolve_field(&self, ctx: &#crate_name::Context<'_>) -> #crate_name::Result<#crate_name::serde_json::Value> {
|
||||
#(#resolvers)*
|
||||
Err(#crate_name::QueryError::FieldNotFound {
|
||||
|
@ -449,7 +450,7 @@ pub fn generate(object_args: &args::Object, item_impl: &mut ItemImpl) -> Result<
|
|||
}
|
||||
|
||||
#[#crate_name::async_trait::async_trait]
|
||||
impl #generics #crate_name::OutputValueType for #self_ty {
|
||||
impl #generics #crate_name::OutputValueType for #self_ty #where_clause {
|
||||
async fn resolve(value: &Self, ctx: &#crate_name::ContextSelectionSet<'_>, pos: #crate_name::Pos) -> #crate_name::Result<#crate_name::serde_json::Value> {
|
||||
#crate_name::do_resolve(ctx, value).await
|
||||
}
|
||||
|
|
|
@ -9,6 +9,7 @@ pub fn generate(object_args: &args::Object, input: &mut DeriveInput) -> Result<T
|
|||
let crate_name = get_crate_name(object_args.internal);
|
||||
let ident = &input.ident;
|
||||
let generics = &input.generics;
|
||||
let where_clause = &generics.where_clause;
|
||||
let extends = object_args.extends;
|
||||
let s = match &mut input.data {
|
||||
Data::Struct(e) => e,
|
||||
|
@ -140,11 +141,11 @@ pub fn generate(object_args: &args::Object, input: &mut DeriveInput) -> Result<T
|
|||
let expanded = quote! {
|
||||
#input
|
||||
|
||||
impl #generics #ident {
|
||||
impl #generics #ident #where_clause {
|
||||
#(#getters)*
|
||||
}
|
||||
|
||||
impl #generics #crate_name::Type for #ident #generics {
|
||||
impl #generics #crate_name::Type for #ident #generics #where_clause {
|
||||
fn type_name() -> std::borrow::Cow<'static, str> {
|
||||
std::borrow::Cow::Borrowed(#gql_typename)
|
||||
}
|
||||
|
@ -166,7 +167,7 @@ pub fn generate(object_args: &args::Object, input: &mut DeriveInput) -> Result<T
|
|||
}
|
||||
|
||||
#[#crate_name::async_trait::async_trait]
|
||||
impl #generics #crate_name::ObjectType for #ident #generics {
|
||||
impl #generics #crate_name::ObjectType for #ident #generics #where_clause {
|
||||
async fn resolve_field(&self, ctx: &#crate_name::Context<'_>) -> #crate_name::Result<#crate_name::serde_json::Value> {
|
||||
#(#resolvers)*
|
||||
Err(#crate_name::QueryError::FieldNotFound {
|
||||
|
@ -177,7 +178,7 @@ pub fn generate(object_args: &args::Object, input: &mut DeriveInput) -> Result<T
|
|||
}
|
||||
|
||||
#[#crate_name::async_trait::async_trait]
|
||||
impl #generics #crate_name::OutputValueType for #ident #generics {
|
||||
impl #generics #crate_name::OutputValueType for #ident #generics #where_clause {
|
||||
async fn resolve(value: &Self, ctx: &#crate_name::ContextSelectionSet<'_>, _pos: #crate_name::Pos) -> #crate_name::Result<#crate_name::serde_json::Value> {
|
||||
#crate_name::do_resolve(ctx, value).await
|
||||
}
|
||||
|
|
|
@ -22,6 +22,7 @@ pub fn generate(object_args: &args::Object, item_impl: &mut ItemImpl) -> Result<
|
|||
_ => return Err(Error::new_spanned(&item_impl.self_ty, "Invalid type")),
|
||||
};
|
||||
let generics = &item_impl.generics;
|
||||
let where_clause = &generics.where_clause;
|
||||
|
||||
let gql_typename = object_args
|
||||
.name
|
||||
|
@ -270,7 +271,7 @@ pub fn generate(object_args: &args::Object, item_impl: &mut ItemImpl) -> Result<
|
|||
let expanded = quote! {
|
||||
#item_impl
|
||||
|
||||
impl #generics #crate_name::Type for #self_ty {
|
||||
impl #generics #crate_name::Type for #self_ty #where_clause {
|
||||
fn type_name() -> std::borrow::Cow<'static, str> {
|
||||
std::borrow::Cow::Borrowed(#gql_typename)
|
||||
}
|
||||
|
@ -293,7 +294,7 @@ pub fn generate(object_args: &args::Object, item_impl: &mut ItemImpl) -> Result<
|
|||
}
|
||||
|
||||
#[#crate_name::async_trait::async_trait]
|
||||
impl #crate_name::SubscriptionType for SubscriptionRoot {
|
||||
impl #crate_name::SubscriptionType for #self_ty #where_clause {
|
||||
#[allow(unused_variables)]
|
||||
#[allow(bare_trait_objects)]
|
||||
async fn create_field_stream<Query, Mutation>(
|
||||
|
|
Loading…
Reference in New Issue
Block a user