Skip to content

fix: share nested RPC validators within a module - #3

Draft
irvinebroque wants to merge 2 commits into
mainfrom
codex/share-nested-validators
Draft

fix: share nested RPC validators within a module#3
irvinebroque wants to merge 2 commits into
mainfrom
codex/share-nested-validators

Conversation

@irvinebroque

@irvinebroque irvinebroque commented Sep 5, 2026

Copy link
Copy Markdown
Owner

An API can return several objects with the same interface. Today, the validation compiler copies their rules into every place they are used, making generated bundles unnecessarily large.

This patch emits each distinct service validator once per module and reuses it. Server and client rules stay separate. Sharing compares the actual referenced type definitions, so two services called Shared cannot accidentally share string checks when one expects numbers.

Registration and emission live together in one focused module. Six regression tests cover reuse, recursive references, different contracts, and runtime rejection of invalid values. All 617 Node and Workers tests, build, type checks, and Markdown lint pass.

The package README, validation guide, and patch changeset are updated. No application changes are required.

@github-actions

github-actions Bot commented Sep 5, 2026

Copy link
Copy Markdown


Thank you for your submission, we really appreciate it. Like many open-source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution. You can sign the CLA by just posting a Pull Request Comment same as the below format.


I have read the CLA Document and I hereby sign the CLA


Brendan Irvine-Broque seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.
You can retrigger this bot by commenting recheck in this Pull Request. Posted by the CLA Assistant Lite bot.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant