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.
This fixes two problems with JSON pointer refs and known keywords:
If the ref resolved to a
Keyword
object with a schema value (eg,#/items
),unknown_schema!
was called, which was only defined forUnknownKeyword
. I changed the name toparsed_schema
and defined itfor all keywords, though it still feels brittle since it requires
keywords to pre-parse their values into schema objects.
If the ref resolved through a
Keyword
object with a schema value(eg,
#/items/not
),fetch
was called on the keyword's parsedschema, which wasn't defined. I settled on a
fetch
method forKeyword
andSchema
to find child objects by key/index. That way akeyword with a schema value will delegate
fetch
to its parsed schemaobject.
UnknownKeyword
also becomes less of a special case.I also added a
Schema
type check after pointer resolution to helppeople identify misdirected pointers.
Closes: #159