-
Notifications
You must be signed in to change notification settings - Fork 129
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
Added strict runtime type validation for all @dataclass
'es and method arguments
#264
Open
nfx
wants to merge
3
commits into
main
Choose a base branch
from
add-runtime-type-validation
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+7,735
−4,388
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
nfx
added
enhancement
New feature or request
codegen
issues related to generated code
labels
Aug 4, 2023
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. |
nfx
changed the title
Added strict method argument type validation
Added strict runtime type validation for all Aug 4, 2023
@dataclass
and method arguments
nfx
changed the title
Added strict runtime type validation for all
Added strict runtime type validation for all Aug 4, 2023
@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
nfx
force-pushed
the
add-runtime-type-validation
branch
from
August 10, 2023 12:15
6c15d42
to
7a34d2a
Compare
integration tests pass |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
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:
@dataclass
types instead of using dictionaries, where they could before.