Files
chatterino2/lib/twitch-eventsub-ws/ast/lib/templates/field-vector.tmpl
pajlada b01f50856d feat(eventsub): Add support for channel.moderate Warn (#5932)
* fix(eventsub): Be less strict with strings & vectors

String foo from `{"foo":null}` is now accepted, and returns an empty string
std::vector<String> foo from `{"foo":null}` is now accepted, and returns an empty array
2025-02-09 11:21:16 +00:00

15 lines
599 B
Cheetah

{% if field.tag -%}
static_assert(false && "JSON tag support is not implemented for vectors");
{%- endif %}
std::vector<{{field.type_name}}> v{{field.name}};
const auto *jv{{field.name}} = root.if_contains("{{field.json_name}}");
if (jv{{field.name}} != nullptr && !jv{{field.name}}->is_null()) {
auto {{field.name}} = boost::json::try_value_to<std::vector<{{field.type_name}}>>(*jv{{field.name}});
if ({{field.name}}.has_error())
{
{% include 'error-failed-to-deserialize.tmpl' indent content %}
} else {
v{{field.name}} = std::move({{field.name}}.value());
}
}