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

LibWeb+LibJS: Add [LegacyNullToEmptyString] attribute

If specified, to_string() returns an empty string instead of "null" for
null values.
This commit is contained in:
Luke 2020-11-11 09:44:46 +00:00 committed by Andreas Kling
parent 1745e503aa
commit bb22b04d44
3 changed files with 7 additions and 6 deletions

View file

@ -143,13 +143,13 @@ PrimitiveString* Value::to_primitive_string(GlobalObject& global_object)
return js_string(global_object.heap(), string);
}
String Value::to_string(GlobalObject& global_object) const
String Value::to_string(GlobalObject& global_object, bool legacy_null_to_empty_string) const
{
switch (m_type) {
case Type::Undefined:
return "undefined";
case Type::Null:
return "null";
return !legacy_null_to_empty_string ? "null" : String::empty();
case Type::Boolean:
return m_value.as_bool ? "true" : "false";
case Type::Number:

View file

@ -241,7 +241,7 @@ public:
i32 as_i32() const;
size_t as_size_t() const;
String to_string(GlobalObject&) const;
String to_string(GlobalObject&, bool legacy_null_to_empty_string = false) const;
PrimitiveString* to_primitive_string(GlobalObject&);
Value to_primitive(PreferredType preferred_type = PreferredType::Default) const;
Object* to_object(GlobalObject&) const;