-
Notifications
You must be signed in to change notification settings - Fork 68
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Series 0.15.0 mega PR #379
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Contributor
Baccata
commented
Aug 18, 2022
- Adds support for smithy 2.0
- Adds support for custom refinements
* Revised bijection/surjection schema * Deleted "Isomorphism" in favour of a new "Bijection" construct * Changed the Refinement construct to also hold the reverse function * Changed the BijectionSchema and SurjectionSchema constructs to hold respectively the Bijection and Surjection * Rename Surjection to Refinement Fix Scala 3 code * Rename Validator to RefinementProvider * Add smart constructors * add example/smoke test for refined * add java trait for refined; filter out canonical shapes * update renderer to work with refined types * update how refined/validated are rendered * rm hints when they are captured by refined/validated * working with list, set, map * lock down refinements to simple or collection shapes * disallow constrained shapes * refactor decl method back to option * fix tests compilation issue * add headers * fix json test compile errors * Removed FieldValidator construct * Addressing comments * add unwrap trait with example spec * unwrap working in structure * unwrapping of collections * add docs * make refinement provider implicit * Using PartiallyApplied pattern for refinement * update examples Co-authored-by: Olivier Mélois <olivier.melois@disneystreaming.com> Co-authored-by: Olivier Mélois <baccata64@gmail.com>
Update to smithy 2.0; add int enum support
Now, when a client gets an unsuccessful response from a server, it'll try to inspect the X-Error-Type header first, and then will try to match the received status code against the errors it knows about (provided the code in question is uniquely used) If the client cannot infer a unique alternative based on this information, it'll raise a generic "UnknownErrorResponse"
first pass at using mixins to create traits
Best-effort error-decoding fix
Smithy 2.0 syntax is released in the 1.23.0 artifact
A new ADT LineSegment has been introduced. This facilitates name and type ref collision detection between types defined in Smithy and types that are part of the core code generated. It also brings in a more intuitive reading of the core scala code template that is used for code generation
* Add the logic to render default parameters * Handle unwrapped parameters, add comments * Drop Hint.* import, makes code clearer * Protect ref name Co-authored-by: David Francoeur <dfrancoeur04@gmail.com>
currently, the error message is too terse. the most crucial piece of information to debug this kind of issue is hidden away. instead of `Missing required field`, we get `Missing required field at .thing[1].someName`
This reverts commit 0eae8fc.
Backported jsonName fixes
add default support in several locations
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.