From 9802b16298848712c959f3f0b09fb0db4d9e589d Mon Sep 17 00:00:00 2001 From: Idan Horowitz Date: Sun, 30 Jan 2022 01:32:57 +0200 Subject: [PATCH] js: Implement pretty-printing of Intl Segments objects --- Userland/Utilities/js.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/Userland/Utilities/js.cpp b/Userland/Utilities/js.cpp index 8dc6ec60c0..7822fdd36f 100644 --- a/Userland/Utilities/js.cpp +++ b/Userland/Utilities/js.cpp @@ -41,6 +41,7 @@ #include #include #include +#include #include #include #include @@ -841,6 +842,16 @@ static void print_intl_segmenter(JS::Object const& object, HashTable& seen_objects) +{ + auto& segments = static_cast(object); + print_type("Segments"); + out("\n string: "); + print_value(js_string(object.vm(), segments.segments_string()), seen_objects); + out("\n segmenter: "); + print_value(&segments.segments_segmenter(), seen_objects); +} + static void print_primitive_wrapper_object(FlyString const& name, JS::Object const& object, HashTable& seen_objects) { // BooleanObject, NumberObject, StringObject @@ -944,6 +955,8 @@ static void print_value(JS::Value value, HashTable& seen_objects) return print_intl_collator(object, seen_objects); if (is(object)) return print_intl_segmenter(object, seen_objects); + if (is(object)) + return print_intl_segments(object, seen_objects); return print_object(object, seen_objects); }