Commit Graph

302 Commits

Author SHA1 Message Date
Tristan Penman
0b7efb3763 Make subschema constraint validation clearer 2023-08-24 20:45:43 +10:00
Tristan Penman
138c3785ef Tweak behaviour of format constraint validation 2023-08-24 09:37:44 +10:00
Tristan Penman
92b9514bde Revert "fail with the first unmet constraint to avoid running into type mismatches"
This reverts commit aee67d58f0.

I believe the original intention of this code was to fall through to
later constraints, even if earlier constraints were not satisfied. This
is not captured by any of the tests in the test suite, which is an
oversight on my part.
2023-08-24 09:18:24 +10:00
Marco Porsch
aee67d58f0 fail with the first unmet constraint to avoid running into type mismatches 2023-08-23 15:42:06 +02:00
Marco Porsch
f716227d0a check the type constraint first because others might rely on it 2023-08-23 15:41:15 +02:00
yekuang
94ca772cc7
[Build] Make it work on Linux (#1) 2023-06-07 22:52:25 +08:00
Cheng Cao
780bf06715 Rework adapter to build on VS 2022 with latest JSON for modern C++ 2023-06-05 14:50:43 -07:00
Chris Brumgard
9e5b479b95 Fixed validation_visitor to work with adaptors that only support the
forward_iterator_tag for array value iterators.
2023-05-18 10:11:37 -04:00
Austin Haigh
f1ff351828 fix typos in preprocessor macros 2022-11-01 13:29:16 -06:00
Tristan Penman
78ac8a737d Correct token replacement issue 2022-10-26 21:01:58 +11:00
Tristan Penman
c4355eaa47 Simplify implementation of YamlCppObject::find() 2022-09-19 21:01:37 +10:00
Tristan Penman
375eaae06c Tidy up doc-comments 2022-09-15 11:06:04 +10:00
Tristan Penman
db8daacc32 Add std::nothrow when using operator new 2022-09-12 13:02:34 +10:00
Tristan Penman
d397ac6074 Include <limits> header in custom_allocator.hpp 2022-08-10 23:50:03 +10:00
Tristan Penman
94d3bfd39a Fix format regex escape sequences 2022-07-21 22:45:25 +10:00
Johannes Rave
dee2fa64ff Support for time related format fields 2022-07-18 16:57:44 +03:00
Tristan Penman
5f49d77b1e Basic structure for format constraint 2022-07-17 07:30:55 +03:00
Tristan Penman
1ff3625482 Add script to bundle library into a single header 2022-04-09 13:46:54 +10:00
Tristan Penman
21322b2d82 Move Adapter and BasicAdapter classes to internal 2022-04-09 13:46:54 +10:00
Jesse Hoogervorst
72afeb1ff7 Fixed PocoJsonValue::getInteger being limited to 32-bit integers 2022-04-07 16:22:43 +02:00
Pras Velagapudi
b685584e42 Add optimization for find implementation. 2022-02-13 06:28:03 -05:00
Pras Velagapudi
76c9f40c42 Added simple loading utility. 2022-02-13 05:38:54 -05:00
Pras Velagapudi
f03461bb01 Fixed issue with YAML::Node reference usage. 2022-02-13 05:25:31 -05:00
Pras Velagapudi
7f23f3694b Fix unit tests to match property tree. 2022-02-11 19:22:14 -05:00
Pras Velagapudi
328db2f644 Initial pass at yaml-cpp support. 2022-02-11 19:13:43 -05:00
Tristan Penman
7d4ea9088d Add boost::json example and delete problematic constructors 2022-02-07 20:50:23 +11:00
Marco Porsch
828fc87623 use implicit conversion of unique_ptr<T, DeleterA> to unique_ptr<const T, DeleterB>
relies on DeleterB being constructible from DeleterA
also uses that T* can always be converted to void* (but not the other way around)
2021-12-20 10:37:47 +01:00
Marco Porsch
cf841e10e9 use unique_ptr for memory management in constraints and subschema 2021-12-09 15:33:25 +01:00
Tristan Penman
4a99dd79d0 Add missing include 2021-12-07 09:53:09 +11:00
Tristan Penman
26f3a8476f Less const-ness 2021-11-06 08:44:09 +11:00
Yang Jiao
0f0cc2bc55 Always apply callback function when validating schema 2021-10-05 18:23:27 -04:00
Tristan Penman
6dab4978be Update README and tweak syntax in Boost.JSON adapter 2021-09-15 10:15:03 +10:00
Matt Young
f5cf601efa Add Boost.JSON support 2021-09-10 08:55:03 +02:00
Matt Young
14325788f8 Add Boost.JSON support 2021-09-10 08:54:00 +02:00
Matt Young
d3104ea8d8 Support fetching sub-schemas from other files 2021-09-09 19:27:13 +02:00
Ray Vincent
3442709aa7 Update urn regex expression to be std::regex safe 2021-08-25 16:57:33 -07:00
Ray Vincent
f787a8a7a7 Update urn regex to match widely accepted expression 2021-08-24 13:51:32 -07:00
Ray Vincent
653d515d32 Ensure that urn regex checks to end of string 2021-08-24 13:43:00 -07:00
Ray Vincent
eac0859cd8 Ensure that urn NID cannot include '.' 2021-08-24 13:39:05 -07:00
Ray Vincent
ef42dae296 Add support for urn document references 2021-08-23 15:45:49 -07:00
Tristan Penman
11af652228 Merge remote-tracking branch 'clainio/build-fix' 2021-07-29 17:44:58 +10:00
Tristan Penman
6a04040d4f Update adapters to avoid inheriting from std::iterator 2021-07-28 22:19:36 +10:00
Tristan Penman
c63ac26f03 Disable C4702: unreachable code warnings for json_pointer.hpp 2021-07-28 17:09:45 +10:00
Tristan Penman
855365bce0 Disable C4702: unreachable code warnings within relevant headers 2021-07-28 16:58:15 +10:00
Konstantin Plotnikov
5c97e3ccd4
Fix gcc build error 2021-06-25 18:02:19 +03:00
Tristan Penman
4897d102bd Fix exclusiveMaximum and exclusiveMinimum error messages 2021-06-11 13:43:09 +10:00
Tristan Penman
df89869e00 Add maxLength and minLength tests for draft 7 2021-05-20 21:36:20 +10:00
Tristan Penman
9183462118 Fix return type on getMinLength 2021-05-20 17:01:37 +10:00
Tristan Penman
3740dc5166 Explicitly initialise optionals in Subschema class 2021-05-20 16:07:07 +10:00
Tristan Penman
cb778b6bb6 Minor changes to address msvc warnings and make cmake work on Windows 2021-05-17 14:00:55 +10:00