1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 03:57:43 +00:00

LibWeb: Make (snake/title/camel) casification functions infallible

This commit is contained in:
Andreas Kling 2023-08-21 16:59:41 +02:00
parent 0b83717ea2
commit 20ea82bacc
9 changed files with 79 additions and 79 deletions

View file

@ -13,22 +13,22 @@
#include <LibCore/File.h>
#include <ctype.h>
ErrorOr<String> title_casify(StringView dashy_name)
String title_casify(StringView dashy_name)
{
auto parts = dashy_name.split_view('-');
StringBuilder builder;
for (auto& part : parts) {
if (part.is_empty())
continue;
TRY(builder.try_append(toupper(part[0])));
builder.append(toupper(part[0]));
if (part.length() == 1)
continue;
TRY(builder.try_append(part.substring_view(1, part.length() - 1)));
builder.append(part.substring_view(1, part.length() - 1));
}
return builder.to_string();
return MUST(builder.to_string());
}
ErrorOr<String> camel_casify(StringView dashy_name)
String camel_casify(StringView dashy_name)
{
auto parts = dashy_name.split_view('-');
StringBuilder builder;
@ -41,19 +41,19 @@ ErrorOr<String> camel_casify(StringView dashy_name)
ch = toupper(ch);
else
first = false;
TRY(builder.try_append(ch));
builder.append(ch);
if (part.length() == 1)
continue;
TRY(builder.try_append(part.substring_view(1, part.length() - 1)));
builder.append(part.substring_view(1, part.length() - 1));
}
return builder.to_string();
return MUST(builder.to_string());
}
ErrorOr<String> snake_casify(StringView dashy_name)
String snake_casify(StringView dashy_name)
{
// FIXME: We don't really need to convert dashy_name to a String first, but currently
// all the `replace` functions that take a StringView return DeprecatedString.
return TRY(String::from_utf8(dashy_name)).replace("-"sv, "_"sv, ReplaceMode::All);
return MUST(MUST(String::from_utf8(dashy_name)).replace("-"sv, "_"sv, ReplaceMode::All));
}
ErrorOr<JsonValue> read_entire_file_as_json(StringView filename)