Commit Graph

14 Commits

Author SHA1 Message Date
opsocket
823ab6db18 🐛 pull from upstream 2023-01-30 18:49:22 -05:00
Leon De Andrade
8e4751f6f7 Add dll export macro to format check 2022-01-01 18:30:55 +01:00
Patrick Boettcher
89ed13d76b First implementation of sub-schema-validation on request.
#149 and #135
2021-06-17 09:06:23 +02:00
Michael Jabbour
73d57d9540
Fix explicit tuple constructor error on gcc-5 (#138) 2020-12-03 11:49:52 +01:00
Michael Jabbour
5302adfdc7
Remove unnecessary call to std::tie (fixes compilation error on MSVC 2017) (#137)
* replace std::tie with simple tuple

The call to std::tie was causing a compiler error on MSVC 2017.
2020-11-26 10:30:14 +01:00
Patrick Boettcher
8a30b6b483 binary-type was added to nlohmann::json 3.8.0 - this is the minimum requirement now 2020-07-13 11:18:20 +02:00
Patrick Boettcher
5ef4f903af add content-checker-callback
Used when contentEncoding or mediaType attributes are present
on a string-value.
2020-07-13 11:12:48 +02:00
Sven Fink
cb95425f59 Add schema class that is aware of a default entry
Uses json patch format for defaults: json patch (RFC 6902) makes it
clearer in case of array contents. It is supported by nlohmann::json and
can be applied with `patch` to fill up the json with defaults.
2020-03-10 14:32:10 +01:00
Sven Fink
f20017306f Avoid forced string copies 2020-02-11 07:30:09 +01:00
Sven Fink
7fbda9da0e Apply rule of five on json_validator
explicitly delete copy ctor and copy assignment
2020-02-11 07:30:09 +01:00
Sven Fink
cb892e1d20 Separate ctors of json validator 2020-02-11 07:30:09 +01:00
Sven Fink
d84e0a28d6 Allow create validator from rvalue json 2020-02-11 07:30:09 +01:00
Sven Fink
01e3dea71b Avoid copy of json on set_root_schema
If a json object containing a schema is moved into the json validator it
should not be copied. At least the public interface of the validator
class schould not force the copy.
2020-02-10 11:52:12 +01:00
Luke Kersting
8a7d1d3fde Adapt CMake project name to be coherent with nlohmann::json's naming
Now when json-schema-validator is installed CMake config files are installed in the lib/cmake/json-schema-validator directory.
The install json-schema-validatorTargets.cmake file properly imports the json-hpp and json-schema-validator libraries.
The install json-schema-validatorConfig.cmake file is used by CMake find_package function to include the json-schema-validatorTargets.cmake file and to set the variable JSON_SCHEMA_VALIDATOR_INCLUDE_DIRS to the install include directory.
To use find_package to find the json-schema-validator simply include.
A new test (test_cmake_install) has been added.

When NLohmann's JSON is install with CMake, it follows a certain
naming convention.

As we learned to do proper CMake-install thanks to @lkersting's work
this project now adapts to the way NLohmann is doing it. Namely:

- json-schema.hpp is now located (and installed)
  in a nlohmann/-subdirectory
- the CMake library and project's name is now
  nlohmann_json_schema_validator

Instead of doing non-standard acrobatics to find the json.hpp
now find_package is used in order to find NLohmann's package

Co-Authored-By: Patrick Boettcher <p@yai.se>
2019-12-05 11:12:23 +01:00