Added strict runtime type validation for all @dataclass'es and method arguments#264
Closed
Added strict runtime type validation for all @dataclass'es and method arguments#264
@dataclass'es and method arguments#264Conversation
Contributor
Author
|
Once #262 is merged, rebase, forcepush, and retarget to main. |
Codecov ReportPatch coverage:
Additional details and impacted files@@ Coverage Diff @@
## main #264 +/- ##
==========================================
- Coverage 53.72% 48.46% -5.27%
==========================================
Files 33 33
Lines 19349 21718 +2369
==========================================
+ Hits 10396 10526 +130
- Misses 8953 11192 +2239
☔ View full report in Codecov by Sentry. |
@dataclass and method arguments
@dataclass and method arguments@dataclass'es and method arguments
This PR removes `XxxRequest` classes that are referenced only as requests, effectively removing the undocumented `request=(XxxRequest(foo=1))` API. This will enforce validation on the field names for specific requests. This PR also adds validation of custom types on the request level, so that it's clear also at the runtime level when an invalid request has been supplied. remove validation (for now) fmt fix array of enums Added strict method argument type validation This PR adds strict type validation for generated argument types, like dataclasses and enums, giving clear error messages about expected type names. add validation also to all nested fields regen
6c15d42 to
7a34d2a
Compare
Contributor
Author
|
integration tests pass |
Contributor
|
Thanks for this contribution. We're closing this PR as part of regular housekeeping since it has been inactive for over a year. This is not a reflection on the quality of the work -- if the changes are still relevant, feel free to re-open the PR or open a new one and we'll be happy to review it. |
This file contains hidden or 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
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.
This PR adds strict type validation for all types while performing request serialization:
@dataclass'es, enums, ints, strs, maps, booleans.Benefits:
Downsides:
@dataclasstypes instead of using dictionaries, where they could before.