diff --git a/README.md b/README.md index 1e930bf..e9b80ed 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,3 @@ - [![Build Status](https://travis-ci.org/pboettch/json-schema-validator.svg?branch=master)](https://travis-ci.org/pboettch/json-schema-validator) # JSON schema validator for JSON for Modern C++ @@ -23,7 +22,7 @@ is rather simple. Although significant changes have been done for the 2nd version (a complete rewrite) the API is compatible with the 1.0.0 release. Except for -the namespace which is now `nlohmann::json_schema. +the namespace which is now `nlohmann::json_schema`. Version **2** supports JSON schema draft 7, whereas 1 was supporting draft 4 only. Please update your schemas. @@ -101,6 +100,7 @@ By default a static library is built. Shared libraries can be generated by using the `BUILD_SHARED_LIBS`-cmake variable: In your initial call to cmake simply add: + ```bash cmake [..] -DBUILD_SHARED_LIBS=ON [..] ``` @@ -151,6 +151,7 @@ and ```CMake target_link_libraries( [..] nlohmann_json_schema_validator) ``` + to build and link. ## Code @@ -298,9 +299,10 @@ json_validator validator(loader, // or nullptr for no loader Supported formats: `date-time, date, time, email, hostname, ipv4, ipv6, uuid, regex` -More formats can be added in `src/string-format-check.cpp`. Please contribute implementions for missing json schema draft formats. +More formats can be added in `src/string-format-check.cpp`. Please contribute implementions for missing json schema draft formats. ## Default value processing + As a result of the validation, the library returns a json patch including the default values of the specified schema. ```C++ @@ -348,15 +350,17 @@ int main() return EXIT_SUCCESS; } ``` + The example above will output the specified default values `{"height":10,"width":20}` to stdout. + > Note that the default value specified in a `$ref` may be overridden by the current instance location. Also note that this behavior will break draft-7, but it is compliant to newer drafts (e.g. `2019-09` or `2020-12`). # Contributing -Before opening a pull request, please apply the coding style given in the -`.clang-format` by running clang-format from the git top-level for all touched -files: +This project uses [`pre-commit`](https://pre-commit.com/) to enforce style-checks. Please install and run it before +creating commits and making pull requests. -```shell -git diff master --name-only | grep '\.[ch]pp$' | xargs -P 3 -I{} clang-format -i {} +```console +$ pip install pre-commit +$ pre-commit install ```