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);
|
||||
#ty::create_type_info(registry);
|
||||
if let Some(#crate_name::registry::MetaType::InputObject{ input_fields, .. }) =
|
||||
registry.types.remove(&*<#ty as #crate_name::Type>::type_name()) {
|
||||
fields.extend(input_fields);
|
||||
registry.types.get(&*<#ty as #crate_name::Type>::type_name()) {
|
||||
fields.extend(input_fields.clone());
|
||||
}
|
||||
});
|
||||
|
||||
|
|
|
@ -70,9 +70,9 @@ pub fn generate(object_args: &args::MergedObject) -> GeneratorResult<TokenStream
|
|||
fields: obj_fields,
|
||||
cache_control: obj_cache_control,
|
||||
..
|
||||
}) = registry.types.remove(&*#merged_type::type_name()) {
|
||||
fields = obj_fields;
|
||||
cache_control = obj_cache_control;
|
||||
}) = registry.types.get(&*#merged_type::type_name()) {
|
||||
fields = obj_fields.clone();
|
||||
cache_control = *obj_cache_control;
|
||||
}
|
||||
|
||||
#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 {
|
||||
fields: obj_fields,
|
||||
..
|
||||
}) = registry.types.remove(&*#merged_type::type_name()) {
|
||||
fields = obj_fields;
|
||||
}) = registry.types.get(&*#merged_type::type_name()) {
|
||||
fields = obj_fields.clone();
|
||||
}
|
||||
|
||||
#crate_name::registry::MetaType::Object {
|
||||
|
|
|
@ -100,8 +100,8 @@ pub fn generate(union_args: &args::Union) -> GeneratorResult<TokenStream> {
|
|||
} else {
|
||||
possible_types.push(quote! {
|
||||
if let Some(#crate_name::registry::MetaType::Union { possible_types: possible_types2, .. }) =
|
||||
registry.types.remove(&*<#p as #crate_name::Type>::type_name()) {
|
||||
possible_types.extend(possible_types2);
|
||||
registry.types.get(&*<#p as #crate_name::Type>::type_name()) {
|
||||
possible_types.extend(possible_types2.clone());
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
|
@ -52,9 +52,9 @@ where
|
|||
registry.create_type::<Self, _>(|registry| {
|
||||
E::create_type_info(registry);
|
||||
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 {
|
||||
unreachable!()
|
||||
};
|
||||
|
|
|
@ -26,9 +26,9 @@ impl<A: Type, B: Type> Type for MergedObject<A, B> {
|
|||
fields: a_fields,
|
||||
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);
|
||||
}
|
||||
|
||||
|
@ -37,9 +37,9 @@ impl<A: Type, B: Type> Type for MergedObject<A, B> {
|
|||
fields: b_fields,
|
||||
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);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user