mirror of
https://github.com/RGBCube/serenity
synced 2025-05-14 09:14:58 +00:00
Everywhere: Use to_number<T> instead of to_{int,uint,float,double}
In a bunch of cases, this actually ends up simplifying the code as to_number will handle something such as: ``` Optional<I> opt; if constexpr (IsSigned<I>) opt = view.to_int<I>(); else opt = view.to_uint<I>(); ``` For us. The main goal here however is to have a single generic number conversion API between all of the String classes.
This commit is contained in:
parent
a4ecc65398
commit
e2e7c4d574
155 changed files with 397 additions and 412 deletions
|
@ -278,13 +278,13 @@ ErrorOr<JsonValue> JsonParser::parse_number()
|
|||
|
||||
StringView number_string(number_buffer.data(), number_buffer.size());
|
||||
|
||||
auto to_unsigned_result = number_string.to_uint<u64>();
|
||||
auto to_unsigned_result = number_string.to_number<u64>();
|
||||
if (to_unsigned_result.has_value()) {
|
||||
if (*to_unsigned_result <= NumericLimits<u32>::max())
|
||||
return JsonValue((u32)*to_unsigned_result);
|
||||
|
||||
return JsonValue(*to_unsigned_result);
|
||||
} else if (auto signed_number = number_string.to_int<i64>(); signed_number.has_value()) {
|
||||
} else if (auto signed_number = number_string.to_number<i64>(); signed_number.has_value()) {
|
||||
|
||||
if (*signed_number <= NumericLimits<i32>::max())
|
||||
return JsonValue((i32)*signed_number);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue