-
-
Notifications
You must be signed in to change notification settings - Fork 106
fix(zod): generated schemas fail to compile when a delegate discrimin ator field has default value #1705
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
Conversation
…ator field has default value Fixes #1693
WalkthroughWalkthroughThe changes in this pull request focus on improving the handling of discriminator fields in the schema generation logic for the ZenStack framework. Key modifications include renaming variables for clarity and adjusting logic to ensure proper exclusion of discriminator fields from mutation schemas and optional fields. Additionally, a new regression test has been introduced to validate the schema loading functionality, particularly in the context of model inheritance and delegation. Changes
Assessment against linked issues
Possibly related PRs
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
Outside diff range and nitpick comments (1)
tests/regression/tests/issue-1693.test.ts (1)
1-20
: Add assertions to strengthen the test case.The test case is well-structured and effectively reproduces the scenario related to issue #1693. However, to provide better coverage and ensure the correctness of the fix, consider adding assertions to verify the following:
- The schema is loaded successfully without any compilation errors.
- The generated Zod schemas for the
Animal
andDog
models have the expected structure and field types.- The default value for the
animalType
field is correctly applied in the generated Zod schema.By including these assertions, the test case will not only ensure that the schema loading process completes without errors but also validate that the generated Zod schemas are accurate and match the expected behavior.
Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Files selected for processing (2)
- packages/schema/src/plugins/zod/generator.ts (2 hunks)
- tests/regression/tests/issue-1693.test.ts (1 hunks)
Additional comments not posted (2)
packages/schema/src/plugins/zod/generator.ts (2)
373-376
: LGTM!The renaming of
delegateFields
todelegateDiscriminatorFields
improves clarity by emphasizing that the variable specifically pertains to discriminator fields. The logic correctly ensures that only the relevant discriminator fields are excluded from mutation schemas.
488-492
: LGTM!The adjustment to the logic for marking fields with defaults as optional correctly filters out discriminator fields from being made partial. This change ensures that the schema remains valid and compiles correctly, as the discriminator fields are omitted from the base schema.
Fixes #1693