mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 22:47:47 +00:00
LibJS: Convert to_object() to ThrowCompletionOr
This commit is contained in:
parent
9eb065a1f6
commit
52976bfac6
45 changed files with 239 additions and 490 deletions
|
@ -277,9 +277,7 @@ Value PromiseConstructor::construct(FunctionObject& new_target)
|
|||
// 27.2.4.1 Promise.all ( iterable ), https://tc39.es/ecma262/#sec-promise.all
|
||||
JS_DEFINE_NATIVE_FUNCTION(PromiseConstructor::all)
|
||||
{
|
||||
auto* constructor = vm.this_value(global_object).to_object(global_object);
|
||||
if (!constructor)
|
||||
return {};
|
||||
auto* constructor = TRY_OR_DISCARD(vm.this_value(global_object).to_object(global_object));
|
||||
|
||||
auto promise_capability = new_promise_capability(global_object, constructor);
|
||||
if (vm.exception())
|
||||
|
@ -308,9 +306,7 @@ JS_DEFINE_NATIVE_FUNCTION(PromiseConstructor::all)
|
|||
// 27.2.4.2 Promise.allSettled ( iterable ), https://tc39.es/ecma262/#sec-promise.allsettled
|
||||
JS_DEFINE_NATIVE_FUNCTION(PromiseConstructor::all_settled)
|
||||
{
|
||||
auto* constructor = vm.this_value(global_object).to_object(global_object);
|
||||
if (!constructor)
|
||||
return {};
|
||||
auto* constructor = TRY_OR_DISCARD(vm.this_value(global_object).to_object(global_object));
|
||||
|
||||
auto promise_capability = new_promise_capability(global_object, constructor);
|
||||
if (vm.exception())
|
||||
|
@ -339,9 +335,7 @@ JS_DEFINE_NATIVE_FUNCTION(PromiseConstructor::all_settled)
|
|||
// 27.2.4.3 Promise.any ( iterable ), https://tc39.es/ecma262/#sec-promise.any
|
||||
JS_DEFINE_NATIVE_FUNCTION(PromiseConstructor::any)
|
||||
{
|
||||
auto* constructor = vm.this_value(global_object).to_object(global_object);
|
||||
if (!constructor)
|
||||
return {};
|
||||
auto* constructor = TRY_OR_DISCARD(vm.this_value(global_object).to_object(global_object));
|
||||
|
||||
auto promise_capability = new_promise_capability(global_object, constructor);
|
||||
if (vm.exception())
|
||||
|
@ -370,9 +364,7 @@ JS_DEFINE_NATIVE_FUNCTION(PromiseConstructor::any)
|
|||
// 27.2.4.5 Promise.race ( iterable ), https://tc39.es/ecma262/#sec-promise.race
|
||||
JS_DEFINE_NATIVE_FUNCTION(PromiseConstructor::race)
|
||||
{
|
||||
auto* constructor = vm.this_value(global_object).to_object(global_object);
|
||||
if (!constructor)
|
||||
return {};
|
||||
auto* constructor = TRY_OR_DISCARD(vm.this_value(global_object).to_object(global_object));
|
||||
|
||||
auto promise_capability = new_promise_capability(global_object, constructor);
|
||||
if (vm.exception())
|
||||
|
@ -401,9 +393,7 @@ JS_DEFINE_NATIVE_FUNCTION(PromiseConstructor::race)
|
|||
// 27.2.4.6 Promise.reject ( r ), https://tc39.es/ecma262/#sec-promise.reject
|
||||
JS_DEFINE_NATIVE_FUNCTION(PromiseConstructor::reject)
|
||||
{
|
||||
auto* constructor = vm.this_value(global_object).to_object(global_object);
|
||||
if (!constructor)
|
||||
return {};
|
||||
auto* constructor = TRY_OR_DISCARD(vm.this_value(global_object).to_object(global_object));
|
||||
auto promise_capability = new_promise_capability(global_object, constructor);
|
||||
if (vm.exception())
|
||||
return {};
|
||||
|
@ -415,9 +405,7 @@ JS_DEFINE_NATIVE_FUNCTION(PromiseConstructor::reject)
|
|||
// 27.2.4.7 Promise.resolve ( x ), https://tc39.es/ecma262/#sec-promise.resolve
|
||||
JS_DEFINE_NATIVE_FUNCTION(PromiseConstructor::resolve)
|
||||
{
|
||||
auto* constructor = vm.this_value(global_object).to_object(global_object);
|
||||
if (!constructor)
|
||||
return {};
|
||||
auto* constructor = TRY_OR_DISCARD(vm.this_value(global_object).to_object(global_object));
|
||||
auto value = vm.argument(0);
|
||||
return promise_resolve(global_object, *constructor, value);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue