Skip to content
Closed
Show file tree
Hide file tree
Changes from 9 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