Selaa lähdekoodia

js: Implement pretty-printing of WeakSet objects

Linus Groh 3 vuotta sitten
vanhempi
commit
dee8e53773
1 muutettua tiedostoa jossa 10 lisäystä ja 0 poistoa
  1. 10 0
      Userland/Utilities/js.cpp

+ 10 - 0
Userland/Utilities/js.cpp

@@ -73,6 +73,7 @@
 #include <LibJS/Runtime/TypedArray.h>
 #include <LibJS/Runtime/Value.h>
 #include <LibJS/Runtime/WeakMap.h>
+#include <LibJS/Runtime/WeakSet.h>
 #include <LibJS/SourceTextModule.h>
 #include <LibLine/Editor.h>
 #include <LibMain/Main.h>
@@ -421,6 +422,13 @@ static void print_weak_map(JS::WeakMap const& weak_map, HashTable<JS::Object*>&)
     // Note: We could tell you what's actually inside, but not in insertion order.
 }
 
+static void print_weak_set(JS::WeakSet const& weak_set, HashTable<JS::Object*>&)
+{
+    print_type("WeakSet");
+    js_out(" ({})", weak_set.values().size());
+    // Note: We could tell you what's actually inside, but not in insertion order.
+}
+
 static void print_promise(JS::Promise const& promise, HashTable<JS::Object*>& seen_objects)
 {
     print_type("Promise");
@@ -992,6 +1000,8 @@ static void print_value(JS::Value value, HashTable<JS::Object*>& seen_objects)
             return print_set(static_cast<JS::Set&>(object), seen_objects);
         if (is<JS::WeakMap>(object))
             return print_weak_map(static_cast<JS::WeakMap&>(object), seen_objects);
+        if (is<JS::WeakSet>(object))
+            return print_weak_set(static_cast<JS::WeakSet&>(object), seen_objects);
         if (is<JS::DataView>(object))
             return print_data_view(static_cast<JS::DataView&>(object), seen_objects);
         if (is<JS::ProxyObject>(object))