AK: Allow JsonValue to store 64-bit integers internally

Add dedicated internal types for Int64 and UnsignedInt64. This makes it
a bit more straightforward to work with 64-bit numbers (instead of just
implicitly storing them as doubles.)
This commit is contained in:
Andreas Kling 2019-10-29 16:36:50 +01:00
parent 5442e365c9
commit 014f8ca8c4
Notes: sideshowbarker 2024-07-19 11:30:22 +09:00
6 changed files with 120 additions and 87 deletions

View file

@ -34,10 +34,8 @@ GVariant GJsonArrayModel::data(const GModelIndex& index, Role role) const
auto data = object.get(json_field_name);
if (field_spec.massage_for_display)
return field_spec.massage_for_display(object);
if (data.is_int())
return data.as_int();
if (data.is_uint())
return data.as_uint();
if (data.is_number())
return data.to_i32();
return object.get(json_field_name).to_string();
}