Skip to content

Commit

Permalink
js: Implement pretty-printing of Intl.ListFormat
Browse files Browse the repository at this point in the history
  • Loading branch information
trflynn89 authored and linusg committed Sep 6, 2021
1 parent 8e75e5f commit 1a7443b
Showing 1 changed file with 15 additions and 0 deletions.
15 changes: 15 additions & 0 deletions Userland/Utilities/js.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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>
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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);
}

Expand Down

0 comments on commit 1a7443b

Please sign in to comment.