refactor: unify object-schema conversion through _object_schema_to_type#3884
Merged
refactor: unify object-schema conversion through _object_schema_to_type#3884
Conversation
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.
#3880 fixed the nested
list[dict]→Root()bug by adding_object_schema_to_typeand wiring it into the recursive_get_from_type_handler. The top-leveljson_schema_to_typeentry point and theanyOfdict-in-union branch continued to carry their own hand-rolled copies of the same four-case object-schema logic. That was the divergence risk that produced the original bug, and leaving two copies around means the next change to object-schema handling has to remember to touch three sites.This PR collapses all three sites into the existing helper. The top-level branch becomes a single call (passing
namethrough so explicit top-level names still overrideschema.get("title")), and theanyOfspecial case is deleted outright —_schema_to_typealready routes object subschemas through the helper, so the hand-rolled dict-in-union handling is now redundant. No behavior change, verified by the existing 863-test suite including the 229K real-world schema fuzz (same 279-baseline SchemaError count, zero crashes introduced).Closes #3882.