Skip to content

Commit 83f5b91

Browse files
committed
fix __typename @tag conflict
1 parent 7b4b18a commit 83f5b91

31 files changed

+55
-64
lines changed

compiler/crates/relay-typegen/src/rescript.rs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1475,6 +1475,12 @@ fn write_object_definition_body(
14751475
let mut has_printed_keys = FnvHashSet::default();
14761476

14771477
object.values.iter().for_each(|prop| {
1478+
// If this is the inline object that forms the payload of a union
1479+
// variant tagged by __typename, do not also emit a __typename field
1480+
// inside the object payload.
1481+
if object.is_union_member_inline_obj && &*prop.key == "__typename" {
1482+
return;
1483+
}
14781484
if has_printed_keys.contains(&prop.key) {
14791485
return;
14801486
} else {
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
module Fragment = %relay(`
22
fragment UserAvatar_user on User {
33
avatarUrl
4-
...UserName_user @codesplit
4+
...UserName_user @codesplit @alias
55
}
66
`)

compiler/test-project-res-preloadable/src/__generated__/RelaySchemaAssets_graphql.res

Lines changed: 14 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

compiler/test-project-res-preloadable/src/__generated__/TestPreloadedQueryWithCodesplitQuery_graphql.res

Lines changed: 17 additions & 16 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

compiler/test-project-res-preloadable/src/__generated__/TestPreloadedQueryWithCodesplitQuery_preloadable_graphql.res

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

compiler/test-project-res-preloadable/src/__generated__/UserAvatar_user_graphql.res

Lines changed: 15 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

compiler/test-project-res/src/Test_unionFragment.res

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ module Query = %relay(`
99

1010
module Query = %relay(`
1111
query TestUnionFragmentExhaustiveQuery {
12-
member(id: "123") @exhaustive {
12+
member(id: "123") {
1313
... on User {
1414
firstName
1515
}

compiler/test-project-res/src/__generated__/TestCatchAndFriends2Query_graphql.res

Lines changed: 0 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

compiler/test-project-res/src/__generated__/TestCatchAndFriends3Query_graphql.res

Lines changed: 0 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

compiler/test-project-res/src/__generated__/TestCatchAndFriendsUser_member_graphql.res

Lines changed: 0 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)