Scalars validation fix (#1686) and errors extensions merging #1725 with #1727 #1728
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.
This PR merges #1725 with #1727 to address #1686 .
Both PRs improves scalars validation by preserving the original scalar coercion error messages.
#1725 allows
CoercingParseLiteralException
,CoercingParseValueException
&CoercingSerializeException
to include extensions map that is carried to the serialized errors. That is useful for conveying specific information in particular scalars validation logic (e.g. the allowed pattern).#1727 automatically populates the extensions map for all errors with the information that is available at the framework level (
validationErrorType
,queryPath
,argument
,value
,requiredType
,objectType
). This information is not available at the scalars coercion point. Since this information is provided in the extensions map, this PR simplified error messages by stripping the messages from having that information concatenated to them.This change is