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?
Improvement
What is the current behavior?
Database / Schema types can be supplied / inferred.
What is the new behavior?
Able to extend/reuse the types for schema interfaces.
Additional context
It's not strictly necessary but I think is friendlier to export all the named types that are referenced in exported types.
I'm making a library that expects a table with a specific schema to be defined, it's nicer to be able to require the
SupabaseClient
that a user passes through has the table with the expected schema defined, plus all usage of the client conforms to the declared interfaces. Also declaring my schema as extendsGenericSchema
catches issues from future type changes in the right place, and also documents to consumers what the schema/database objects are.It's also nicer for future breaks in the interfaces to cause errors in the types that use them instead of in function calls spread around.