| 187 | |
| 188 | template <typename T> |
| 189 | std::optional<T> FromJSONObjectOptional(json_t const * root, char const * field) |
| 190 | { |
| 191 | auto * json = base::GetJSONOptionalField(root, field); |
| 192 | if (!json) |
| 193 | return {}; |
| 194 | |
| 195 | std::optional<T> result{T{}}; |
| 196 | FromJSON(json, *result); |
| 197 | return result; |
| 198 | } |
| 199 | |
| 200 | template <typename T> |
| 201 | void FromJSONObjectOptionalField(json_t const * root, std::string const & field, T & result) |
no test coverage detected