[RFC] Pass $objectValue
by reference when calling resolveType
#1774
+120
−5
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This allows the Interface or Union type resolver to modify the object value.
This is useful when you have a single entity that needs different representations. For example, when your data layer returns a generic
PetEntity
with a type discriminator, but your GraphQL schema has separateDog
andCat
types.Example:
Now field resolvers receive the properly typed Dog or Cat object instead of the generic PetEntity,
allowing for type-safe resolution without needing to transform objects before they reach the type
resolver.
Common use cases:
Important
Unfortunately, this breaks the InterfaceType and UnionType contract. So this can only be done in a new major
But this serves as a RFC. Maybe there is a better non-breaking way to do this.
/cc @spawnia @simPod