Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 6 additions & 3 deletions compiler/crates/relay-codegen/src/build_ast.rs
Original file line number Diff line number Diff line change
Expand Up @@ -438,10 +438,13 @@ impl<'schema, 'builder, 'config> CodegenBuilder<'schema, 'builder, 'config> {
),
operation: Primitive::GraphQLModuleDependency(GraphQLModuleDependency::Name(refetch_metadata.operation_name.into())),
};
if let Some(identifier_field) = refetch_metadata.identifier_field {
if let Some(identifier_info) = &refetch_metadata.identifier_info {
refetch_object.push(ObjectEntry {
key: CODEGEN_CONSTANTS.identifier_field,
value: Primitive::String(identifier_field),
key: CODEGEN_CONSTANTS.identifier_info,
value: Primitive::Key(self.object(object! {
identifier_field: Primitive::String(identifier_info.identifier_field),
identifier_query_variable_name: Primitive::String(identifier_info.identifier_query_variable_name),
})),
});
}

Expand Down
4 changes: 4 additions & 0 deletions compiler/crates/relay-codegen/src/constants.rs
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,8 @@ pub struct CodegenConstants {
pub has_client_edges: StringKey,
pub id: StringKey,
pub identifier_field: StringKey,
pub identifier_query_variable_name: StringKey,
pub identifier_info: StringKey,
pub if_: StringKey,
pub inline_data_fragment_spread: StringKey,
pub inline_data_fragment: StringKey,
Expand Down Expand Up @@ -170,6 +172,8 @@ lazy_static! {
has_client_edges: "hasClientEdges".intern(),
id: "id".intern(),
identifier_field: "identifierField".intern(),
identifier_query_variable_name: "identifierQueryVariableName".intern(),
identifier_info: "identifierInfo".intern(),
if_: "if".intern(),
inline_data_fragment_spread: "InlineDataFragmentSpread".intern(),
inline_data_fragment: "InlineDataFragment".intern(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,10 @@ extend type User {
"node"
],
"operation": require('ClientEdgeQuery_Foo_user_best_friend.graphql'),
"identifierField": "id"
"indentifierInfo": {
"identifierField": "id",
"identifierQueryVariableName": "id"
}
}
},
"name": "RefetchableClientEdgeQuery_Foo_user_best_friend",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -244,7 +244,10 @@ fragment fragmentOnNodeInterface_RefetchableFragment on Node {
"node"
],
"operation": require('RefetchableFragmentQuery.graphql'),
"identifierField": "id"
"indentifierInfo": {
"identifierField": "id",
"identifierQueryVariableName": "id"
}
}
},
"name": "fragmentOnNodeInterface_RefetchableFragment",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -263,7 +263,10 @@ fragment fragmentOnNonNodeFetchableType_RefetchableFragment on NonNodeStory {
"fetch__NonNodeStory"
],
"operation": require('RefetchableFragmentQuery.graphql'),
"identifierField": "fetch_id"
"indentifierInfo": {
"identifierField": "fetch_id",
"identifierQueryVariableName": "id"
}
}
},
"name": "fragmentOnNonNodeFetchableType_RefetchableFragment",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -235,7 +235,10 @@ fragment fragmentOnObjectImplementingNodeInterface_RefetchableFragment on User {
"node"
],
"operation": require('RefetchableFragmentQuery.graphql'),
"identifierField": "id"
"indentifierInfo": {
"identifierField": "id",
"identifierQueryVariableName": "id"
}
}
},
"name": "fragmentOnObjectImplementingNodeInterface_RefetchableFragment",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -321,7 +321,10 @@ fragment providedVariableRefetchableFragment_providedVariableFragment on User {
"node"
],
"operation": require('refetchableQuery.graphql'),
"identifierField": "id"
"indentifierInfo": {
"identifierField": "id",
"identifierQueryVariableName": "id"
}
}
},
"name": "providedVariableRefetchableFragment",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -318,7 +318,10 @@ fragment refetchableConnectionCustomHandler_RefetchableConnection_feedback on Fe
"node"
],
"operation": require('RefetchableConnectionQuery.graphql'),
"identifierField": "id"
"indentifierInfo": {
"identifierField": "id",
"identifierQueryVariableName": "id"
}
}
},
"name": "refetchableConnectionCustomHandler_RefetchableConnection_feedback",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -318,7 +318,10 @@ fragment refetchableConnection_RefetchableConnection_feedback on Feedback {
"node"
],
"operation": require('RefetchableConnectionQuery.graphql'),
"identifierField": "id"
"indentifierInfo": {
"identifierField": "id",
"identifierQueryVariableName": "id"
}
}
},
"name": "refetchableConnection_RefetchableConnection_feedback",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -243,7 +243,10 @@ fragment refetchableFragmentOnNodeWithMissingId_RefetchableFragment on Node {
"node"
],
"operation": require('RefetchableFragmentQuery.graphql'),
"identifierField": "id"
"indentifierInfo": {
"identifierField": "id",
"identifierQueryVariableName": "id"
}
}
},
"name": "refetchableFragmentOnNodeWithMissingId_RefetchableFragment",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -421,7 +421,10 @@ fragment refetchableFragmentWithConnectionBidirectional_PaginationFragment_1G22u
"node"
],
"operation": require('RefetchableFragmentQuery.graphql'),
"identifierField": "id"
"indentifierInfo": {
"identifierField": "id",
"identifierQueryVariableName": "id"
}
}
},
"name": "refetchableFragmentWithConnectionBidirectional_PaginationFragment",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -355,7 +355,10 @@ import RefetchableFragmentQuery_graphql from './RefetchableFragmentQuery.graphql
"node"
],
"operation": RefetchableFragmentQuery_graphql,
"identifierField": "id"
"indentifierInfo": {
"identifierField": "id",
"identifierQueryVariableName": "id"
}
}
},
"name": "refetchableFragmentWithConnectionEsModules_PaginationFragment",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -365,7 +365,10 @@ fragment refetchableFragmentWithConnectionWithStream_PaginationFragment_1G22uz o
"node"
],
"operation": require('RefetchableFragmentQuery.graphql'),
"identifierField": "id"
"indentifierInfo": {
"identifierField": "id",
"identifierQueryVariableName": "id"
}
}
},
"name": "refetchableFragmentWithConnectionWithStream_PaginationFragment",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -348,7 +348,10 @@ fragment refetchableFragmentWithConnection_PaginationFragment_1G22uz on Node {
"node"
],
"operation": require('RefetchableFragmentQuery.graphql'),
"identifierField": "id"
"indentifierInfo": {
"identifierField": "id",
"identifierQueryVariableName": "id"
}
}
},
"name": "refetchableFragmentWithConnection_PaginationFragment",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -287,7 +287,10 @@ fragment relayResolverBackingClientEdge_best_friend_resolver on User {
"node"
],
"operation": require('ClientEdgeQuery_relayResolverBackingClientEdgeQuery_me__best_friend.graphql'),
"identifierField": "id"
"indentifierInfo": {
"identifierField": "id",
"identifierQueryVariableName": "id"
}
}
},
"name": "RefetchableClientEdgeQuery_relayResolverBackingClientEdgeQuery_me__best_friend",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -292,7 +292,10 @@ fragment relayResolverWithRequiredClientEdge_best_friend_resolver on User {
"node"
],
"operation": require('ClientEdgeQuery_relayResolverWithRequiredClientEdgeQuery_me__best_friend.graphql'),
"identifierField": "id"
"indentifierInfo": {
"identifierField": "id",
"identifierQueryVariableName": "id"
}
}
},
"name": "RefetchableClientEdgeQuery_relayResolverWithRequiredClientEdgeQuery_me__best_friend",
Expand Down
Loading