diff options
author | Linus Groh <mail@linusgroh.de> | 2020-05-28 19:19:20 +0100 |
---|---|---|
committer | Andreas Kling <kling@serenityos.org> | 2020-05-29 08:00:02 +0200 |
commit | 70d2add22f7ac66a2dbce65613af094bbe72a834 (patch) | |
tree | 8f731c03143af5d36cac41af14fc2664c9e471f1 /Libraries/LibJS/Runtime | |
parent | 9755f8d29755362b306d8d2ac90a42a7f855100e (diff) | |
download | serenity-70d2add22f7ac66a2dbce65613af094bbe72a834.zip |
LibJS: Add Object.prototype.toLocaleString()
Diffstat (limited to 'Libraries/LibJS/Runtime')
-rw-r--r-- | Libraries/LibJS/Runtime/ObjectPrototype.cpp | 9 | ||||
-rw-r--r-- | Libraries/LibJS/Runtime/ObjectPrototype.h | 1 |
2 files changed, 10 insertions, 0 deletions
diff --git a/Libraries/LibJS/Runtime/ObjectPrototype.cpp b/Libraries/LibJS/Runtime/ObjectPrototype.cpp index 2b3624dc56..6a4b4a7efb 100644 --- a/Libraries/LibJS/Runtime/ObjectPrototype.cpp +++ b/Libraries/LibJS/Runtime/ObjectPrototype.cpp @@ -45,6 +45,7 @@ void ObjectPrototype::initialize() u8 attr = Attribute::Writable | Attribute::Configurable; define_native_function("hasOwnProperty", has_own_property, 1, attr); define_native_function("toString", to_string, 0, attr); + define_native_function("toLocaleString", to_locale_string, 0, attr); define_native_function("valueOf", value_of, 0, attr); } @@ -71,6 +72,14 @@ Value ObjectPrototype::to_string(Interpreter& interpreter) return js_string(interpreter, String::format("[object %s]", this_object->class_name())); } +Value ObjectPrototype::to_locale_string(Interpreter& interpreter) +{ + auto* this_object = interpreter.this_value().to_object(interpreter); + if (!this_object) + return {}; + return this_object->invoke("toString"); +} + Value ObjectPrototype::value_of(Interpreter& interpreter) { auto* this_object = interpreter.this_value().to_object(interpreter); diff --git a/Libraries/LibJS/Runtime/ObjectPrototype.h b/Libraries/LibJS/Runtime/ObjectPrototype.h index 8e18b5bd3b..708ddc7245 100644 --- a/Libraries/LibJS/Runtime/ObjectPrototype.h +++ b/Libraries/LibJS/Runtime/ObjectPrototype.h @@ -44,6 +44,7 @@ private: virtual const char* class_name() const override { return "ObjectPrototype"; } static Value has_own_property(Interpreter&); + static Value to_locale_string(Interpreter&); static Value value_of(Interpreter&); }; |