This is a starter for building a custom evaluation handler for [@hyperjump/json-schema
] using its AST. Using the AST allows you to support any JSON Schema version [@hyperjump/json-schema
] supports without having to code for the inticacies of schema identification and referencing. You can implement each keyword as if there were no references.
This code will walk through the schema using the AST. You provide a handler for each keyword to do whatever evaluation you require.
The concept of keywords being identified as URIs is unique to [@hyperjump/json-schema
] and not part of the JSON Schema standard. Unfortunately, there are some keywords that have changed from one release to another and using URIs to identify them allows us to distinguish between two keywords with the same name. For example, items
changes behavior in 2020-12, so there are different URIs for each version.