Add simple instructions for pre-commit
Signed-off-by: Cristian Le <cristian.le@mpsd.mpg.de>
This commit is contained in:
parent
6a077ce610
commit
061d9d2f3c
20
README.md
20
README.md
@ -1,4 +1,3 @@
|
|||||||
|
|
||||||
[](https://travis-ci.org/pboettch/json-schema-validator)
|
[](https://travis-ci.org/pboettch/json-schema-validator)
|
||||||
|
|
||||||
# JSON schema validator for JSON for Modern C++
|
# 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
|
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
|
(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
|
Version **2** supports JSON schema draft 7, whereas 1 was supporting draft 4
|
||||||
only. Please update your schemas.
|
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:
|
the `BUILD_SHARED_LIBS`-cmake variable:
|
||||||
|
|
||||||
In your initial call to cmake simply add:
|
In your initial call to cmake simply add:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
cmake [..] -DBUILD_SHARED_LIBS=ON [..]
|
cmake [..] -DBUILD_SHARED_LIBS=ON [..]
|
||||||
```
|
```
|
||||||
@ -151,6 +151,7 @@ and
|
|||||||
```CMake
|
```CMake
|
||||||
target_link_libraries(<your-target> [..] nlohmann_json_schema_validator)
|
target_link_libraries(<your-target> [..] nlohmann_json_schema_validator)
|
||||||
```
|
```
|
||||||
|
|
||||||
to build and link.
|
to build and link.
|
||||||
|
|
||||||
## Code
|
## 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`
|
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
|
## Default value processing
|
||||||
|
|
||||||
As a result of the validation, the library returns a json patch including the default values of the specified schema.
|
As a result of the validation, the library returns a json patch including the default values of the specified schema.
|
||||||
|
|
||||||
```C++
|
```C++
|
||||||
@ -348,15 +350,17 @@ int main()
|
|||||||
return EXIT_SUCCESS;
|
return EXIT_SUCCESS;
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
The example above will output the specified default values `{"height":10,"width":20}` to stdout.
|
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`).
|
> 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
|
# Contributing
|
||||||
|
|
||||||
Before opening a pull request, please apply the coding style given in the
|
This project uses [`pre-commit`](https://pre-commit.com/) to enforce style-checks. Please install and run it before
|
||||||
`.clang-format` by running clang-format from the git top-level for all touched
|
creating commits and making pull requests.
|
||||||
files:
|
|
||||||
|
|
||||||
```shell
|
```console
|
||||||
git diff master --name-only | grep '\.[ch]pp$' | xargs -P 3 -I{} clang-format -i {}
|
$ pip install pre-commit
|
||||||
|
$ pre-commit install
|
||||||
```
|
```
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user