From 531969451044d6ef01780943a77baf5ff5e551e3 Mon Sep 17 00:00:00 2001 From: Linus Groh Date: Tue, 6 Jul 2021 23:56:32 +0100 Subject: [PATCH] js: Implement pretty-printing of Temporal.TimeZone objects --- Userland/Utilities/js.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/Userland/Utilities/js.cpp b/Userland/Utilities/js.cpp index 1611b2d85f..bdda3f4915 100644 --- a/Userland/Utilities/js.cpp +++ b/Userland/Utilities/js.cpp @@ -41,6 +41,7 @@ #include #include #include +#include #include #include #include @@ -425,6 +426,18 @@ static void print_data_view(JS::Object const& object, HashTable& se out(" @ {:p}", data_view.viewed_array_buffer()); } +static void print_temporal_time_zone(JS::Object const& object, HashTable& seen_objects) +{ + auto& time_zone = static_cast(object); + print_type("Temporal.TimeZone"); + out("\n identifier: "); + print_value(JS::js_string(object.vm(), time_zone.identifier()), seen_objects); + if (time_zone.offset_nanoseconds().has_value()) { + out("\n offset (ns): "); + print_value(JS::Value(*time_zone.offset_nanoseconds()), seen_objects); + } +} + static void print_primitive_wrapper_object(FlyString const& name, JS::Object const& object, HashTable& seen_objects) { // BooleanObject, NumberObject, StringObject @@ -482,6 +495,8 @@ static void print_value(JS::Value value, HashTable& seen_objects) return print_primitive_wrapper_object("Number", object, seen_objects); if (is(object)) return print_primitive_wrapper_object("Boolean", object, seen_objects); + if (is(object)) + return print_temporal_time_zone(object, seen_objects); return print_object(object, seen_objects); }