Improve QueryBuilder Generic Support #1012
Merged
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.
Hey, I believe the current implementation of generics on the QueryBuilder don't work as expected.
Currently, the following code:
Produces the following:
In order to get this to the more precise:
I have implemented two changes. The first, is to use a new generic for the
for
method, as it is static. See examples: using generic from class & using generic from method .The second is to specify make use of this generic, when calling the method with a
Relation
. The<T, *, *>
syntax means we're making use of the first generic, but don't care about the second and third (they can be anything - hence the asterisk).I think ideally there would some type assertions for this functionality - I'd be open to adding some if desirable?