summaryrefslogtreecommitdiff
path: root/Userland
diff options
context:
space:
mode:
authorTimothy Flynn <trflynn89@pm.me>2021-09-06 08:44:54 -0400
committerLinus Groh <mail@linusgroh.de>2021-09-06 23:49:56 +0100
commit1a7443bec7250cdd6c609decafed8101011600c4 (patch)
tree33d6987440c4364092830354c1b2467f3ab439fa /Userland
parent8e75e5fabba920de2e813677029a55eb79b1a06a (diff)
downloadserenity-1a7443bec7250cdd6c609decafed8101011600c4.zip
js: Implement pretty-printing of Intl.ListFormat
Diffstat (limited to 'Userland')
-rw-r--r--Userland/Utilities/js.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/Userland/Utilities/js.cpp b/Userland/Utilities/js.cpp
index a45e28332c..d964d0e42a 100644
--- a/Userland/Utilities/js.cpp
+++ b/Userland/Utilities/js.cpp
@@ -30,6 +30,7 @@
#include <LibJS/Runtime/FunctionObject.h>
#include <LibJS/Runtime/GlobalObject.h>
#include <LibJS/Runtime/Intl/DisplayNames.h>
+#include <LibJS/Runtime/Intl/ListFormat.h>
#include <LibJS/Runtime/Intl/Locale.h>
#include <LibJS/Runtime/Map.h>
#include <LibJS/Runtime/NativeFunction.h>
@@ -577,6 +578,18 @@ static void print_intl_locale(JS::Object const& object, HashTable<JS::Object*>&
print_value(JS::Value(locale.numeric()), seen_objects);
}
+static void print_intl_list_format(JS::Object const& object, HashTable<JS::Object*>& seen_objects)
+{
+ auto& list_format = static_cast<JS::Intl::ListFormat const&>(object);
+ print_type("Intl.ListFormat");
+ out("\n locale: ");
+ print_value(js_string(object.vm(), list_format.locale()), seen_objects);
+ out("\n type: ");
+ print_value(js_string(object.vm(), list_format.type_string()), seen_objects);
+ out("\n style: ");
+ print_value(js_string(object.vm(), list_format.style_string()), seen_objects);
+}
+
static void print_primitive_wrapper_object(FlyString const& name, JS::Object const& object, HashTable<JS::Object*>& seen_objects)
{
// BooleanObject, NumberObject, StringObject
@@ -658,6 +671,8 @@ static void print_value(JS::Value value, HashTable<JS::Object*>& seen_objects)
return print_intl_display_names(object, seen_objects);
if (is<JS::Intl::Locale>(object))
return print_intl_locale(object, seen_objects);
+ if (is<JS::Intl::ListFormat>(object))
+ return print_intl_list_format(object, seen_objects);
return print_object(object, seen_objects);
}