All merged objects will no longer be removed. #308
This commit is contained in:
parent
c777150dcd
commit
a1e57eb4a8
|
@ -67,8 +67,8 @@ pub fn generate(object_args: &args::InputObject) -> GeneratorResult<TokenStream>
|
||||||
#crate_name::static_assertions::assert_impl_one!(#ty: #crate_name::InputObjectType);
|
#crate_name::static_assertions::assert_impl_one!(#ty: #crate_name::InputObjectType);
|
||||||
#ty::create_type_info(registry);
|
#ty::create_type_info(registry);
|
||||||
if let Some(#crate_name::registry::MetaType::InputObject{ input_fields, .. }) =
|
if let Some(#crate_name::registry::MetaType::InputObject{ input_fields, .. }) =
|
||||||
registry.types.remove(&*<#ty as #crate_name::Type>::type_name()) {
|
registry.types.get(&*<#ty as #crate_name::Type>::type_name()) {
|
||||||
fields.extend(input_fields);
|
fields.extend(input_fields.clone());
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
@ -70,9 +70,9 @@ pub fn generate(object_args: &args::MergedObject) -> GeneratorResult<TokenStream
|
||||||
fields: obj_fields,
|
fields: obj_fields,
|
||||||
cache_control: obj_cache_control,
|
cache_control: obj_cache_control,
|
||||||
..
|
..
|
||||||
}) = registry.types.remove(&*#merged_type::type_name()) {
|
}) = registry.types.get(&*#merged_type::type_name()) {
|
||||||
fields = obj_fields;
|
fields = obj_fields.clone();
|
||||||
cache_control = obj_cache_control;
|
cache_control = *obj_cache_control;
|
||||||
}
|
}
|
||||||
|
|
||||||
#crate_name::registry::MetaType::Object {
|
#crate_name::registry::MetaType::Object {
|
||||||
|
|
|
@ -59,8 +59,8 @@ pub fn generate(object_args: &args::MergedSubscription) -> GeneratorResult<Token
|
||||||
if let Some(#crate_name::registry::MetaType::Object {
|
if let Some(#crate_name::registry::MetaType::Object {
|
||||||
fields: obj_fields,
|
fields: obj_fields,
|
||||||
..
|
..
|
||||||
}) = registry.types.remove(&*#merged_type::type_name()) {
|
}) = registry.types.get(&*#merged_type::type_name()) {
|
||||||
fields = obj_fields;
|
fields = obj_fields.clone();
|
||||||
}
|
}
|
||||||
|
|
||||||
#crate_name::registry::MetaType::Object {
|
#crate_name::registry::MetaType::Object {
|
||||||
|
|
|
@ -100,8 +100,8 @@ pub fn generate(union_args: &args::Union) -> GeneratorResult<TokenStream> {
|
||||||
} else {
|
} else {
|
||||||
possible_types.push(quote! {
|
possible_types.push(quote! {
|
||||||
if let Some(#crate_name::registry::MetaType::Union { possible_types: possible_types2, .. }) =
|
if let Some(#crate_name::registry::MetaType::Union { possible_types: possible_types2, .. }) =
|
||||||
registry.types.remove(&*<#p as #crate_name::Type>::type_name()) {
|
registry.types.get(&*<#p as #crate_name::Type>::type_name()) {
|
||||||
possible_types.extend(possible_types2);
|
possible_types.extend(possible_types2.clone());
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -52,9 +52,9 @@ where
|
||||||
registry.create_type::<Self, _>(|registry| {
|
registry.create_type::<Self, _>(|registry| {
|
||||||
E::create_type_info(registry);
|
E::create_type_info(registry);
|
||||||
let additional_fields = if let Some(registry::MetaType::Object { fields, .. }) =
|
let additional_fields = if let Some(registry::MetaType::Object { fields, .. }) =
|
||||||
registry.types.remove(E::type_name().as_ref())
|
registry.types.get(E::type_name().as_ref())
|
||||||
{
|
{
|
||||||
fields
|
fields.clone()
|
||||||
} else {
|
} else {
|
||||||
unreachable!()
|
unreachable!()
|
||||||
};
|
};
|
||||||
|
|
|
@ -26,9 +26,9 @@ impl<A: Type, B: Type> Type for MergedObject<A, B> {
|
||||||
fields: a_fields,
|
fields: a_fields,
|
||||||
cache_control: a_cc,
|
cache_control: a_cc,
|
||||||
..
|
..
|
||||||
}) = registry.types.remove(&*A::type_name())
|
}) = registry.types.get(&*A::type_name())
|
||||||
{
|
{
|
||||||
fields.extend(a_fields);
|
fields.extend(a_fields.clone());
|
||||||
cc = cc.merge(&a_cc);
|
cc = cc.merge(&a_cc);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -37,9 +37,9 @@ impl<A: Type, B: Type> Type for MergedObject<A, B> {
|
||||||
fields: b_fields,
|
fields: b_fields,
|
||||||
cache_control: b_cc,
|
cache_control: b_cc,
|
||||||
..
|
..
|
||||||
}) = registry.types.remove(&*B::type_name())
|
}) = registry.types.get(&*B::type_name())
|
||||||
{
|
{
|
||||||
fields.extend(b_fields);
|
fields.extend(b_fields.clone());
|
||||||
cc = cc.merge(&b_cc);
|
cc = cc.merge(&b_cc);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user