1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-08-05 12:27:50 +00:00

Everywhere: Add deprecated_ prefix to JsonValue::to_byte_string

`JsonValue::to_byte_string` has peculiar type-erasure semantics which is
not usually intended. Unfortunately, it also has a very stereotypical
name which does not warn about unexpected behavior. So let's prefix it
with `deprecated_` to make new code use `as_string` if it just wants to
get string value or `serialized<StringBuilder>` if it needs to do proper
serialization.
This commit is contained in:
Dan Klishch 2024-01-06 15:49:17 -05:00 committed by Andrew Kaster
parent 4ed5287792
commit ccd701809f
20 changed files with 46 additions and 50 deletions

View file

@ -133,7 +133,8 @@ HashMap<ByteString, ByteString> Presentation::parse_metadata(JsonObject const& m
HashMap<ByteString, ByteString> metadata;
metadata_object.for_each_member([&](auto const& key, auto const& value) {
metadata.set(key, value.to_byte_string());
// FIXME: Do not serialize values here just to convert them back to proper types later.
metadata.set(key, value.deprecated_to_byte_string());
});
return metadata;

View file

@ -58,7 +58,7 @@ void SlideObject::set_property(StringView name, JsonValue value)
void GraphicsObject::set_property(StringView name, JsonValue value)
{
if (name == "color"sv) {
if (auto color = Gfx::Color::from_string(value.to_byte_string()); color.has_value()) {
if (auto color = Gfx::Color::from_string(value.as_string()); color.has_value()) {
m_color = color.release_value();
}
}
@ -68,15 +68,15 @@ void GraphicsObject::set_property(StringView name, JsonValue value)
void Text::set_property(StringView name, JsonValue value)
{
if (name == "text"sv) {
m_text = value.to_byte_string();
m_text = value.as_string();
} else if (name == "font"sv) {
m_font_family = value.to_byte_string();
m_font_family = value.as_string();
} else if (name == "font-weight"sv) {
m_font_weight = Gfx::name_to_weight(value.to_byte_string());
m_font_weight = Gfx::name_to_weight(value.as_string());
} else if (name == "font-size"sv) {
m_font_size_in_pt = value.to_float();
} else if (name == "text-alignment"sv) {
m_text_align = value.to_byte_string();
m_text_align = value.as_string();
}
GraphicsObject::set_property(name, move(value));
}
@ -84,11 +84,11 @@ void Text::set_property(StringView name, JsonValue value)
void Image::set_property(StringView name, JsonValue value)
{
if (name == "path"sv) {
m_src = value.to_byte_string();
m_src = value.as_string();
} else if (name == "scaling-mode"sv) {
if (value.to_byte_string() == "nearest-neighbor"sv)
if (value.as_string() == "nearest-neighbor"sv)
m_image_rendering = "crisp-edges"sv;
else if (value.to_byte_string() == "smooth-pixels"sv)
else if (value.as_string() == "smooth-pixels"sv)
m_image_rendering = "pixelated"sv;
}
SlideObject::set_property(name, move(value));

View file

@ -166,7 +166,7 @@ ByteString HelpWindow::render(StringView key)
markdown_builder.append("No required arguments.\n"sv);
for (size_t i = 0; i < argc; ++i)
markdown_builder.appendff("- `{}`\n", argnames.at(i).to_byte_string());
markdown_builder.appendff("- `{}`\n", argnames.at(i).as_string());
if (argc > 0)
markdown_builder.append("\n"sv);
@ -175,7 +175,7 @@ ByteString HelpWindow::render(StringView key)
auto opt_count = argnames.size() - argc;
markdown_builder.appendff("{} optional argument(s):\n", opt_count);
for (size_t i = argc; i < (size_t)argnames.size(); ++i)
markdown_builder.appendff("- `{}`\n", argnames.at(i).to_byte_string());
markdown_builder.appendff("- `{}`\n", argnames.at(i).as_string());
markdown_builder.append("\n"sv);
}
@ -188,8 +188,8 @@ ByteString HelpWindow::render(StringView key)
VERIFY(examples.has_value());
markdown_builder.append("# EXAMPLES\n"sv);
examples->for_each_member([&](auto& text, auto& description_value) {
dbgln("```js\n{}\n```\n\n- {}\n", text, description_value.to_byte_string());
markdown_builder.appendff("```js\n{}\n```\n\n- {}\n", text, description_value.to_byte_string());
dbgln("```js\n{}\n```\n\n- {}\n", text, description_value.as_string());
markdown_builder.appendff("```js\n{}\n```\n\n- {}\n", text, description_value.as_string());
});
}

View file

@ -731,7 +731,7 @@ ByteString Sheet::generate_inline_documentation_for(StringView function, size_t
builder.append('<');
else if (i >= argc)
builder.append('[');
builder.append(argnames[i].to_byte_string());
builder.append(argnames[i].as_string());
if (i == argument_index)
builder.append('>');
else if (i >= argc)

View file

@ -292,7 +292,7 @@ ErrorOr<NonnullOwnPtr<Profile>> Profile::load_from_perfcore_file(StringView path
HashMap<FlatPtr, ByteString> profile_strings;
for (FlatPtr string_id = 0; string_id < strings.size(); ++string_id) {
auto const& value = strings.at(string_id);
profile_strings.set(string_id, value.to_byte_string());
profile_strings.set(string_id, value.as_string());
}
auto events_value = object.get_array("events"sv);

View file

@ -144,7 +144,7 @@ void DynamicWidgetContainer::restore_view_state()
order_or_error.value().as_array().for_each([&](auto& section_label) {
for (auto& container : containers) {
if (container.section_label() == section_label.to_byte_string())
if (container.section_label() == section_label.as_string())
new_child_order.append(container);
}
});

View file

@ -138,7 +138,7 @@ Variant JsonArrayModel::data(ModelIndex const& index, ModelRole role) const
return "";
if (data->is_number())
return data.value();
return data->to_byte_string();
return data->as_string();
}
if (role == ModelRole::Sort) {

View file

@ -439,7 +439,7 @@ Value JSONObject::parse_json_value(VM& vm, JsonValue const& value)
if (value.is_number())
return Value(value.to_double(0));
if (value.is_string())
return PrimitiveString::create(vm, value.to_byte_string());
return PrimitiveString::create(vm, value.as_string());
if (value.is_bool())
return Value(static_cast<bool>(value.as_bool()));
VERIFY_NOT_REACHED();

View file

@ -269,8 +269,7 @@ ErrorOr<void, Client::WrappedError> Client::handle_request(JsonValue body)
{
if constexpr (WEBDRIVER_DEBUG) {
dbgln("Got HTTP request: {} {}", m_request->method_name(), m_request->resource());
if (!body.is_null())
dbgln("Body: {}", body.to_byte_string());
dbgln("Body: {}", body);
}
auto [handler, parameters] = TRY(match_route(*m_request));

View file

@ -323,7 +323,7 @@ Web::WebDriver::Response Client::switch_to_window(Web::WebDriver::Parameters par
if (!handle.has_value())
return Web::WebDriver::Error::from_code(Web::WebDriver::ErrorCode::InvalidArgument, "No property called 'handle' present");
return session->switch_to_window(handle->to_byte_string());
return session->switch_to_window(handle->as_string());
}
// 11.4 Get Window Handles, https://w3c.github.io/webdriver/#dfn-get-window-handles

View file

@ -2067,7 +2067,7 @@ ErrorOr<Vector<Line::CompletionSuggestion>> Shell::complete_via_program_itself(s
dbgln("LibLine: Unhandled completion kind: {}", kind);
}
} else {
suggestions.append(parsed.to_byte_string());
suggestions.append(parsed.deprecated_to_byte_string());
}
return IterationDecision::Continue;

View file

@ -108,11 +108,7 @@ void print(JsonValue const& value, int spaces_per_indent, int indent, bool use_c
else if (value.is_null())
out("\033[34;1m");
}
if (value.is_string())
out("\"");
out("{}", value.to_byte_string());
if (value.is_string())
out("\"");
out("{}", value);
if (use_color)
out("\033[0m");
}

View file

@ -42,7 +42,7 @@ ErrorOr<int> serenity_main(Main::Arguments)
out("{:>4}: ", interrupt);
for (size_t i = 0; i < cpu_count; ++i)
out("{:>10}", call_counts[i].to_byte_string());
out("{:>10}", call_counts[i].as_integer<u64>());
outln(" {:10} {:30}", controller, purpose);
});

View file

@ -49,7 +49,7 @@ ErrorOr<int> serenity_main(Main::Arguments arguments)
for (auto& value : sorted_regions) {
auto& map = value.as_object();
auto address = map.get_addr("address"sv).value_or(0);
auto size = map.get("size"sv).value_or({}).to_byte_string();
auto size = map.get_u64("size"sv).value();
auto access = ByteString::formatted("{}{}{}{}{}",
(map.get_bool("readable"sv).value_or(false) ? "r" : "-"),
@ -61,13 +61,13 @@ ErrorOr<int> serenity_main(Main::Arguments arguments)
out("{:p} ", address);
out("{:>10} ", size);
if (extended) {
auto resident = map.get("amount_resident"sv).value_or({}).to_byte_string();
auto dirty = map.get("amount_dirty"sv).value_or({}).to_byte_string();
auto vmobject = map.get_byte_string("vmobject"sv).value_or({});
auto resident = map.get_u64("amount_resident"sv).value();
auto dirty = map.get_u64("amount_dirty"sv).value();
auto vmobject = map.get_byte_string("vmobject"sv).value();
if (vmobject.ends_with("VMObject"sv))
vmobject = vmobject.substring(0, vmobject.length() - 8);
auto purgeable = map.get("purgeable"sv).value_or({}).to_byte_string();
auto cow_pages = map.get("cow_pages"sv).value_or({}).to_byte_string();
auto purgeable = map.get_u64("purgeable"sv).value();
auto cow_pages = map.get_u64("cow_pages"sv).value();
out("{:>10} ", resident);
out("{:>10} ", dirty);
out("{:6} ", access);