|
@@ -117,8 +117,9 @@ public:
|
|
|
}
|
|
}
|
|
|
os << ',' << '\n';
|
|
os << ',' << '\n';
|
|
|
os << indent(i) << '"' << name << '"' << ':' << ' ' << '{' << '\n';
|
|
os << indent(i) << '"' << name << '"' << ':' << ' ' << '{' << '\n';
|
|
|
|
|
+ char const * odiv = "";
|
|
|
for (auto const & [key, anno] : named) {
|
|
for (auto const & [key, anno] : named) {
|
|
|
- os << indent(i + 1) << '"' << key << '"' << ':' << ' ';
|
|
|
|
|
|
|
+ os << std::exchange(odiv, ",\n") << indent(i + 1) << '"' << key << '"' << ':' << ' ';
|
|
|
if (auto const * str = std::get_if<0>(&anno)) {
|
|
if (auto const * str = std::get_if<0>(&anno)) {
|
|
|
os << '"' << *str << '"';
|
|
os << '"' << *str << '"';
|
|
|
} else if (auto const * vec = std::get_if<1>(&anno)) {
|
|
} else if (auto const * vec = std::get_if<1>(&anno)) {
|
|
@@ -129,9 +130,8 @@ public:
|
|
|
}
|
|
}
|
|
|
os << '\n' << indent(i + 1) << ']';
|
|
os << '\n' << indent(i + 1) << ']';
|
|
|
}
|
|
}
|
|
|
- os << '\n';
|
|
|
|
|
}
|
|
}
|
|
|
- os << indent(i) << '}';
|
|
|
|
|
|
|
+ os << '\n' << indent(i) << '}';
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
bool valid() const { return valid_; }
|
|
bool valid() const { return valid_; }
|
|
@@ -220,7 +220,7 @@ public:
|
|
|
|
|
|
|
|
for (auto const & [doc, results] : results_) {
|
|
for (auto const & [doc, results] : results_) {
|
|
|
for (auto const & [schema, result] : results) {
|
|
for (auto const & [schema, result] : results) {
|
|
|
- if (!result.valid && !result.errors.empty()) {
|
|
|
|
|
|
|
+ if (!result.errors.empty()) {
|
|
|
rval.results_[doc][schema] = result;
|
|
rval.results_[doc][schema] = result;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|