LibJS: Implement Number.isFinite()

Like the global isFinite() without the number coercion.
This commit is contained in:
Linus Groh 2020-04-26 18:24:58 +01:00 committed by Andreas Kling
commit c350f5ae67
Notes: sideshowbarker 2024-07-19 07:16:24 +09:00
6 changed files with 40 additions and 2 deletions

View file

@ -40,6 +40,7 @@ namespace JS {
NumberConstructor::NumberConstructor()
: NativeFunction("Number", *interpreter().global_object().function_prototype())
{
put_native_function("isFinite", is_finite, 1);
put_native_function("isSafeInteger", is_safe_integer, 1);
put("prototype", interpreter().global_object().number_prototype());
@ -73,6 +74,11 @@ Value NumberConstructor::construct(Interpreter& interpreter)
return NumberObject::create(interpreter.global_object(), number);
}
Value NumberConstructor::is_finite(Interpreter& interpreter)
{
return Value(interpreter.argument(0).is_finite_number());
}
Value NumberConstructor::is_safe_integer(Interpreter& interpreter)
{
if (!interpreter.argument(0).is_number())