1
0
mirror of https://github.com/SerenityOS/serenity synced 2024-07-09 15:10:45 +00:00

IDLGenerators: Allow specifying default non-empty string values

This commit is contained in:
Matthew Olsson 2023-11-06 15:16:59 +00:00 committed by Andreas Kling
parent fc42c75a0c
commit 111e0159ff

View File

@ -1388,6 +1388,11 @@ static void generate_to_cpp(SourceGenerator& generator, ParameterType& parameter
if (optional_default_value == "\"\"") {
union_generator.append(R"~~~(
@union_type@ @cpp_name@ = @js_name@@js_suffix@.is_undefined() ? String {} : TRY(@js_name@@js_suffix@_to_variant(@js_name@@js_suffix@));
)~~~");
} else if (optional_default_value->starts_with("\""sv) && optional_default_value->ends_with("\""sv)) {
union_generator.set("default_string_value", optional_default_value.value());
union_generator.append(R"~~~(
@union_type@ @cpp_name@ = @js_name@@js_suffix@.is_undefined() ? MUST(String::from_utf8(@default_string_value@sv)) : TRY(@js_name@@js_suffix@_to_variant(@js_name@@js_suffix@));
)~~~");
} else if (optional_default_value == "{}") {
VERIFY(dictionary_type);