Switch to justinrainbow library for JSON validation #20
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.
Fixes #17
This switches RootedJsonData to use justinrainbow/json-schema as its JSON validation library, replacing OPIs JSON Schema 1.x.
Overall the RootedJsonData API should behave similarly, but of course some paradigms have changed. Error handling has been moved to a new ErrorHelper class, which is fairly small now but could be expanded.
Opis can validate schemas directly, while justinrainbow only validates schemas as part of data validation. So rather than validating the schema before attempting to validate the data, we are validating once and catching schema validation exceptions.
The major change to the API will be that the errors returned with our exceptions are in a different format. So any code that consumes that data will need to be updated. Merging this PR requires a new major version of the library.