From 1c2ac69e3c3f9fdd22db7d0fcdc8723e68cd2f94 Mon Sep 17 00:00:00 2001 From: Timothy Flynn Date: Tue, 24 Aug 2021 22:38:08 -0400 Subject: [PATCH] js: Implement pretty-printing of Intl.DisplayNames --- Userland/Utilities/js.cpp | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/Userland/Utilities/js.cpp b/Userland/Utilities/js.cpp index 30003e35c5..763d0f5251 100644 --- a/Userland/Utilities/js.cpp +++ b/Userland/Utilities/js.cpp @@ -29,6 +29,7 @@ #include #include #include +#include #include #include #include @@ -503,6 +504,20 @@ static void print_temporal_zoned_date_time(JS::Object const& object, HashTable& seen_objects) +{ + auto& display_names = static_cast(object); + print_type("Intl.DisplayNames"); + out("\n locale: "); + print_value(js_string(object.vm(), display_names.locale()), seen_objects); + out("\n type: "); + print_value(js_string(object.vm(), display_names.type_string()), seen_objects); + out("\n style: "); + print_value(js_string(object.vm(), display_names.style_string()), seen_objects); + out("\n fallback: "); + print_value(js_string(object.vm(), display_names.fallback_string()), seen_objects); +} + static void print_primitive_wrapper_object(FlyString const& name, JS::Object const& object, HashTable& seen_objects) { // BooleanObject, NumberObject, StringObject @@ -576,6 +591,8 @@ static void print_value(JS::Value value, HashTable& seen_objects) return print_temporal_time_zone(object, seen_objects); if (is(object)) return print_temporal_zoned_date_time(object, seen_objects); + if (is(object)) + return print_intl_display_names(object, seen_objects); return print_object(object, seen_objects); }