feat: enhance discriminated union error reporting #3784
Closed
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.
Motivation
When working with discriminated unions, it's crucial to have clear and informative error messages when validation fails. The current implementation lacks some important details that can help developers quickly identify and fix issues.
Changes
Added the
received
value to the error message:This allows developers to see exactly what value was provided for the discriminator, making it easier to debug issues where the wrong value is being sent.
Modified the error path:
The new path includes information about the union option, providing more context about where in the schema structure the error occurred.
Updated relevant tests:
The test suite has been updated to reflect these changes and ensure that the new error format is working as expected.
Fixed type errors:
All type-related issues have been addressed to maintain type safety and consistency.