include unknown keys in noUnknown error message#3
Open
gitramirez wants to merge 1 commit into
Open
Conversation
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.
| exclusive: true, | ||
| message: message, | ||
| test(value) { | ||
| const unknownKeys = unknown(this.schema, value); |
There was a problem hiding this comment.
Null value crashes due to eager unknown() call
High Severity
The unknown() function call was moved outside the short-circuit || chain, so it now executes unconditionally — even when value is null or undefined. The unknown function calls Object.keys(value), which throws a TypeError for null/undefined values. Previously, the short-circuit evaluation of value == null || guaranteed unknown() was only reached for non-null values.
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.


Note
Low Risk
Localized behavior change to validation error formatting with a small update to
noUnknownerror construction; low risk aside from potential snapshot/string-compare test updates downstream.Overview
Improves
object().noUnknown()validation failures by including the actual unknown keys in the generated error message.This updates the default
locale.object.noUnknowntemplate to reference an${unknown}param, passes the computed unknown key list intocreateError, and adjusts thenoUnknowntest to surface those keys; tests now assert the error string includes the extra field name.Written by Cursor Bugbot for commit 49ec7b5. This will update automatically on new commits. Configure here.