fix: throwOnError function call should return response success type always #454
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.
What kind of change does this PR introduce?
This PR improves the typing of
.throwOnError
function. Which should returnPostgrestResponseSuccess<T>
type.What is the current behavior?
Right now
.throwOnError
is returning nullable data.What is the new behavior?
If
.throwOnError
called on the query it will always returnPostgrestResponseSuccess<T>
instead ofPostgrestResponseSuccess<T> | PostgrestResponseFailure
Additional context
This is a breaking change because previously you could call other functions after
.throwOnError
because it does not execute the query but only sets theshouldThrowOnError
property totrue
to be used later on when executing the query.With this change, chaining more functions after
.throwOnError
is not possible since it executes the query and check the result and throws in case of error or return thePostgrestResponseSuccess
in case of success.I saw this PR right after I finished working on that. Which resolves the same issue with Typescript only instead, which I also tried at first since it gives developers more flexibility since we don't necessarily have to execute the query after
.throwOnError
. But looks like that PR is freezed/stuck since Nov 2022 because of a Typescript issue.Also related with: supabase/supabase-js#801