do not clone Schema, clone only when the inner struct is Bool #34
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.
follow-up for #32 (comment)
Previously
DiffWalker::diff
would receiveSchemaObject
instead ofSchema
. When we want to call the method recursively, however, this interface forces us to clone the schema, as the type for child schemas (subschemas, properties and array items) isSchema
, notSchemaObject
. Cloning should be performed only on boolean schema, because it is ok to clone boolean schema which is small, but notSchemaObject
because the object could be huge depending on the user input.