mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-04-27 23:09:08 +00:00
LibJS: Implement ConsoleObject::count() as a Console::count() wrapper
Also implement ConsoleObject::count_clear() as a wrapper for Console::count_clear()
This commit is contained in:
parent
2e92c2e5e1
commit
e9c7d4524a
Notes:
sideshowbarker
2024-07-19 07:07:02 +09:00
Author: https://github.com/emanuele6
Commit: e9c7d4524a
Pull-request: https://github.com/SerenityOS/serenity/pull/2049
3 changed files with 37 additions and 28 deletions
|
@ -28,7 +28,7 @@
|
|||
|
||||
#include <AK/FlyString.h>
|
||||
#include <AK/Function.h>
|
||||
#include <AK/HashMap.h>
|
||||
#include <LibJS/Console.h>
|
||||
#include <LibJS/Interpreter.h>
|
||||
#include <LibJS/Runtime/ConsoleObject.h>
|
||||
#include <LibJS/Runtime/GlobalObject.h>
|
||||
|
@ -115,40 +115,19 @@ Value ConsoleObject::trace(Interpreter& interpreter)
|
|||
|
||||
Value ConsoleObject::count(Interpreter& interpreter)
|
||||
{
|
||||
String counter_name;
|
||||
if (!interpreter.argument_count())
|
||||
counter_name = "default";
|
||||
if (interpreter.argument_count())
|
||||
interpreter.console().count(interpreter.argument(0).to_string());
|
||||
else
|
||||
counter_name = interpreter.argument(0).to_string();
|
||||
|
||||
auto& counters = interpreter.console().counters();
|
||||
auto counter_value = counters.get(counter_name);
|
||||
|
||||
if (counter_value.has_value()) {
|
||||
printf("%s: %d\n", counter_name.characters(), counter_value.value() + 1);
|
||||
counters.set(counter_name, counter_value.value() + 1);
|
||||
} else {
|
||||
printf("%s: 1\n", counter_name.characters());
|
||||
counters.set(counter_name, 1);
|
||||
}
|
||||
interpreter.console().count();
|
||||
return js_undefined();
|
||||
}
|
||||
|
||||
Value ConsoleObject::count_reset(Interpreter& interpreter)
|
||||
{
|
||||
String counter_name;
|
||||
if (!interpreter.argument_count())
|
||||
counter_name = "default";
|
||||
if (interpreter.argument_count())
|
||||
interpreter.console().count_reset(interpreter.argument(0).to_string());
|
||||
else
|
||||
counter_name = interpreter.argument(0).to_string();
|
||||
|
||||
auto& counters = interpreter.console().counters();
|
||||
|
||||
if (counters.contains(counter_name)) {
|
||||
counters.remove(counter_name);
|
||||
printf("%s: 0\n", counter_name.characters());
|
||||
}
|
||||
|
||||
interpreter.console().count_reset();
|
||||
return js_undefined();
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue