|
|
@@ -155,7 +155,7 @@ public:
|
|
|
Status rval = Status::Accept;
|
|
|
for (size_t i = cons.applies_after_nth; i < array.size(); ++i) {
|
|
|
rval &= validate_subschema_on(cons.subschema, array[i], i);
|
|
|
- if (!rval && result_ == nullptr) {
|
|
|
+ if (rval == Status::Reject && result_ == nullptr) {
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
@@ -204,7 +204,7 @@ public:
|
|
|
size_t const n = std::min(cons.items.size(), array.size());
|
|
|
for (size_t i = 0; i < n; ++i) {
|
|
|
rval &= validate_subschema_on(cons.items[i], array[i], i);
|
|
|
- if (!rval && result_ == nullptr) {
|
|
|
+ if (rval == Status::Reject && result_ == nullptr) {
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
@@ -254,7 +254,7 @@ public:
|
|
|
if (not cons.properties.contains(key) && not matches_any_pattern(key)) {
|
|
|
rval &= validate_subschema_on(cons.subschema, elem, key);
|
|
|
}
|
|
|
- if (!rval && result_ == nullptr) {
|
|
|
+ if (rval == Status::Reject && result_ == nullptr) {
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
@@ -273,7 +273,7 @@ public:
|
|
|
}
|
|
|
|
|
|
rval &= validate_subschema(subschema);
|
|
|
- if (!rval && result_ == nullptr) {
|
|
|
+ if (rval == Status::Reject && result_ == nullptr) {
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
@@ -288,7 +288,7 @@ public:
|
|
|
}
|
|
|
|
|
|
rval &= required.empty();
|
|
|
- if (!rval && result_ == nullptr) {
|
|
|
+ if (rval == Status::Reject && result_ == nullptr) {
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
@@ -316,7 +316,7 @@ public:
|
|
|
if (regex.search(key)) {
|
|
|
rval &= validate_subschema_on(subschema, elem, key);
|
|
|
}
|
|
|
- if (!rval && result_ == nullptr) {
|
|
|
+ if (rval == Status::Reject && result_ == nullptr) {
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
@@ -344,7 +344,7 @@ public:
|
|
|
if (auto it = cons.properties.find(key); it != cons.properties.end()) {
|
|
|
rval &= validate_subschema_on(it->second, elem, key);
|
|
|
}
|
|
|
- if (!rval && result_ == nullptr) {
|
|
|
+ if (rval == Status::Reject && result_ == nullptr) {
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
@@ -384,7 +384,7 @@ public:
|
|
|
if (not local_result_->visited_items.contains(i)) {
|
|
|
rval &= validate_subschema_on(cons.subschema, array[i], i);
|
|
|
}
|
|
|
- if (!rval && result_ == nullptr) {
|
|
|
+ if (rval == Status::Reject && result_ == nullptr) {
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
@@ -399,7 +399,7 @@ public:
|
|
|
if (not local_result_->visited_properties.contains(key)) {
|
|
|
rval &= validate_subschema_on(cons.subschema, elem, key);
|
|
|
}
|
|
|
- if (!rval && result_ == nullptr) {
|
|
|
+ if (rval == Status::Reject && result_ == nullptr) {
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
@@ -422,13 +422,13 @@ public:
|
|
|
}
|
|
|
|
|
|
for (auto const & [key, p_constraint] : schema_.constraints()) {
|
|
|
- if (rval || result_) {
|
|
|
+ if (rval != Status::Reject || result_) {
|
|
|
rval &= p_constraint->accept(*this);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
for (auto const & [key, p_constraint] : schema_.post_constraints()) {
|
|
|
- if (rval || result_) {
|
|
|
+ if (rval != Status::Reject || result_) {
|
|
|
rval &= p_constraint->accept(*this);
|
|
|
}
|
|
|
}
|