You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I noticed that the postgrest client has issues with error highlighting on insert/upsert calls when there is a type missmatch between the expected and provided properties.
I was able to trace this back to the overload defined on insert / upsert which is causing typescript to have problems with determining the correct signature if there's an error in the payload and therefore error-highlighting the whole function call:
As an example, if I define a function without any overload, the error highlights works way better:
And if I define my test function with an overload the same way as it is done in the client, it breaks again:
A solution would be either to unify both calls into a single signature (which would just mean that defaultToNull option would be defined unnecessarily for non-bulk operations) or to just split it into insert & insertBulk / upsert & upsertBulk or something like that.
Original post (less relevant than actual issue)
As far as I can see, functions like `insert` and `upsert` in the query builder use a generic type `Row` for the values to insert when in fact this type should not be necessary at all.
I noticed that the postgrest client has issues with error highlighting on insert/upsert calls when there is a type missmatch between the expected and provided properties.
I was able to trace this back to the overload defined on insert / upsert which is causing typescript to have problems with determining the correct signature if there's an error in the payload and therefore error-highlighting the whole function call:
As an example, if I define a function without any overload, the error highlights works way better:
And if I define my test function with an overload the same way as it is done in the client, it breaks again:
A solution would be either to unify both calls into a single signature (which would just mean that
defaultToNull
option would be defined unnecessarily for non-bulk operations) or to just split it intoinsert
&insertBulk
/upsert
&upsertBulk
or something like that.Original post (less relevant than actual issue)
As far as I can see, functions like `insert` and `upsert` in the query builder use a generic type `Row` for the values to insert when in fact this type should not be necessary at all.So instead of this:
postgrest-js/src/PostgrestQueryBuilder.ts
Lines 101 to 106 in c9cebf8
It should work better if it is defined like this instead:
This would improve type discovery a bit and improve error reporting.
The reason I say it's not required is because the generic type is only used for the input and not used anywhere on the output.
The text was updated successfully, but these errors were encountered: