This repository has been archived by the owner on Nov 19, 2024. It is now read-only.
Do not throw an error on undefined schema output #456
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.
In the case that you don't have the output defined for a particular route, this plugin will throw an error. I believe this should be considered an error because the TRPC documentation states:
In version 9 docs:
"This is entirely optional and only if you want to ensure you don't accidentally leak anything e"
https://trpc.io/docs/v9/output-validation
In version 11 docs:
"Validating outputs is not always as important as defining inputs, since tRPC gives you automatic type-safety by inferring the return type of your procedures. Some reasons to define an output validator include"
https://trpc.io/docs/server/validators#output-validators
So it seems like the definition of an output should be considered optional, and it is not reasonable that an error should be thrown if the output is not defined.
I'm sure there were very well thought out reasons why throwing an error was chosen, so please correct me if I am wrong here or if there is an edge case I am not understanding correctly.