Skip to content

Commit

Permalink
rename fields for sanity
Browse files Browse the repository at this point in the history
  • Loading branch information
rbalicki2 committed May 10, 2024
1 parent 389c9dd commit 9056f14
Show file tree
Hide file tree
Showing 4 changed files with 56 additions and 60 deletions.
4 changes: 2 additions & 2 deletions crates/graphql_artifact_generation/src/generate_artifacts.rs
Original file line number Diff line number Diff line change
Expand Up @@ -152,7 +152,7 @@ fn get_artifact_infos<'schema>(
ClientFieldVariant::ImperativelyLoadedField(mutation_variant) => {
let function_import_statement =
generate_function_import_statement_for_mutation_reader(
&mutation_variant.field_map,
&mutation_variant.primary_field_field_map,
);
ArtifactInfo::RefetchReader(generate_mutation_reader_artifact(
schema,
Expand Down Expand Up @@ -1157,7 +1157,7 @@ fn generate_reader_ast_node(
let refetch_query_index = find_imperatively_fetchable_query_index(
root_refetched_paths,
path,
s.mutation_field_name,
s.client_field_scalar_selection_name,
)
.0;
format!(
Expand Down
83 changes: 40 additions & 43 deletions crates/isograph_schema/src/create_merged_selection_set.rs
Original file line number Diff line number Diff line change
Expand Up @@ -339,14 +339,13 @@ pub fn create_merged_selection_set(
}
ClientFieldVariant::ImperativelyLoadedField(
ImperativelyLoadedFieldVariant {
mutation_field_name,
fetchable_type_original_field_name:
server_schema_mutation_field_name,
aliased_exposed_field_name: mutation_primary_field_name,
mutation_field_arguments,
mutation_primary_field_return_type_object_id,
field_map: _,
expose_field_fetchable_field_parent_id,
client_field_scalar_selection_name,
top_level_schema_field_name,
top_level_schema_field_arguments,
primary_field_name,
primary_field_return_type_object_id,
primary_field_field_map: _,
root_object_id,
},
) => {
// TODO we can pre-calculate this instead of re-iterating here
Expand All @@ -360,25 +359,24 @@ pub fn create_merged_selection_set(
// loaded fields. It probably makes sense to think about how we
// can name the things in this block better.

let requires_refinement =
if mutation_primary_field_return_type_object_id
== refetch_field_parent_id
{
RequiresRefinement::No
} else {
RequiresRefinement::Yes(
schema
.server_field_data
.object(refetch_field_parent_id)
.name,
)
};
let requires_refinement = if primary_field_return_type_object_id
== refetch_field_parent_id
{
RequiresRefinement::No
} else {
RequiresRefinement::Yes(
schema
.server_field_data
.object(refetch_field_parent_id)
.name,
)
};

let merged_selection_set = selection_set_wrapped(
nested_merged_selection_set,
// TODO why are these types different
server_schema_mutation_field_name.lookup().intern().into(),
mutation_field_arguments
top_level_schema_field_name.lookup().intern().into(),
top_level_schema_field_arguments
.iter()
// TODO don't clone
.cloned()
Expand Down Expand Up @@ -415,7 +413,7 @@ pub fn create_merged_selection_set(
})
})
.collect(),
Some(mutation_primary_field_name.lookup().intern().into()),
Some(primary_field_name.lookup().intern().into()),
requires_refinement,
);

Expand All @@ -431,19 +429,19 @@ pub fn create_merged_selection_set(
refetch_query_index: RefetchQueryIndex(index as u32),
root_operation_name: schema
.fetchable_types
.get(&expose_field_fetchable_field_parent_id)
.get(&root_object_id)
.expect(
"Expected root type to be fetchable here.\
This is indicative of a bug in Isograph.",
)
.clone(),
query_name: format!(
"{root_parent_object}__{mutation_field_name}"
"{root_parent_object}__{client_field_scalar_selection_name}"
)
.intern()
.into(),
});
(mutation_field_name, reachable_variables)
(client_field_scalar_selection_name, reachable_variables)
}
_ => panic!("invalid client field variant"),
};
Expand Down Expand Up @@ -479,7 +477,7 @@ pub fn create_merged_selection_set(
ClientFieldVariant::RefetchField => "__refetch".intern().into(),
ClientFieldVariant::ImperativelyLoadedField(
ImperativelyLoadedFieldVariant {
mutation_field_name,
client_field_scalar_selection_name: mutation_field_name,
..
},
) => mutation_field_name,
Expand Down Expand Up @@ -736,13 +734,13 @@ fn merge_scalar_client_field(
ClientFieldVariant::RefetchField,
));
} else if let ClientFieldVariant::ImperativelyLoadedField(ImperativelyLoadedFieldVariant {
aliased_exposed_field_name: mutation_primary_field_name,
fetchable_type_original_field_name: server_schema_mutation_field_name,
mutation_field_arguments,
mutation_field_name: _,
mutation_primary_field_return_type_object_id,
field_map,
expose_field_fetchable_field_parent_id: expose_field_parent_id,
primary_field_name,
top_level_schema_field_name,
top_level_schema_field_arguments,
client_field_scalar_selection_name: _,
primary_field_return_type_object_id,
primary_field_field_map,
root_object_id,
}) = &client_field.variant
{
merge_traversal_state.paths_to_refetch_fields.insert((
Expand All @@ -752,14 +750,13 @@ fn merge_scalar_client_field(
},
parent_type.id,
ClientFieldVariant::ImperativelyLoadedField(ImperativelyLoadedFieldVariant {
mutation_field_name: client_field.name,
fetchable_type_original_field_name: *server_schema_mutation_field_name,
aliased_exposed_field_name: *mutation_primary_field_name,
mutation_field_arguments: mutation_field_arguments.clone(),
mutation_primary_field_return_type_object_id:
*mutation_primary_field_return_type_object_id,
field_map: field_map.clone(),
expose_field_fetchable_field_parent_id: *expose_field_parent_id,
client_field_scalar_selection_name: client_field.name,
top_level_schema_field_name: *top_level_schema_field_name,
primary_field_name: *primary_field_name,
top_level_schema_field_arguments: top_level_schema_field_arguments.clone(),
primary_field_return_type_object_id: *primary_field_return_type_object_id,
primary_field_field_map: primary_field_field_map.clone(),
root_object_id: *root_object_id,
}),
));
}
Expand Down
15 changes: 7 additions & 8 deletions crates/isograph_schema/src/expose_field_directive.rs
Original file line number Diff line number Diff line change
Expand Up @@ -220,14 +220,13 @@ impl UnvalidatedSchema {
selection_set_and_unwraps: Some((fields.to_vec(), vec![])),
variant: ClientFieldVariant::ImperativelyLoadedField(
ImperativelyLoadedFieldVariant {
mutation_field_name,
fetchable_type_original_field_name,
aliased_exposed_field_name: path_selectable_field_name,
mutation_field_arguments: mutation_field_arguments.to_vec(),
mutation_primary_field_return_type_object_id:
maybe_abstract_parent_object_id,
field_map: field_map.to_vec(),
expose_field_fetchable_field_parent_id: parent_object_id,
client_field_scalar_selection_name: mutation_field_name,
top_level_schema_field_name: fetchable_type_original_field_name,
primary_field_name: path_selectable_field_name,
top_level_schema_field_arguments: mutation_field_arguments.to_vec(),
primary_field_return_type_object_id: maybe_abstract_parent_object_id,
primary_field_field_map: field_map.to_vec(),
root_object_id: parent_object_id,
},
),
variable_definitions: vec![],
Expand Down
14 changes: 7 additions & 7 deletions crates/isograph_schema/src/process_client_field_declaration.rs
Original file line number Diff line number Diff line change
Expand Up @@ -137,13 +137,13 @@ pub enum ProcessClientFieldDeclarationError {

#[derive(Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
pub struct ImperativelyLoadedFieldVariant {
pub mutation_field_name: SelectableFieldName,
pub fetchable_type_original_field_name: SelectableFieldName,
pub aliased_exposed_field_name: SelectableFieldName,
pub mutation_primary_field_return_type_object_id: ServerObjectId,
pub mutation_field_arguments: Vec<WithLocation<GraphQLInputValueDefinition>>,
pub field_map: Vec<FieldMapItem>,
pub expose_field_fetchable_field_parent_id: ServerObjectId,
pub client_field_scalar_selection_name: SelectableFieldName,
pub top_level_schema_field_name: SelectableFieldName,
pub top_level_schema_field_arguments: Vec<WithLocation<GraphQLInputValueDefinition>>,
pub primary_field_name: SelectableFieldName,
pub primary_field_return_type_object_id: ServerObjectId,
pub primary_field_field_map: Vec<FieldMapItem>,
pub root_object_id: ServerObjectId,
}

#[derive(Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
Expand Down

0 comments on commit 9056f14

Please sign in to comment.