1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-24 22:47:44 +00:00

LibJS: Convert PromiseResolvingElementFunction to ThrowCompletionOr

This commit is contained in:
Linus Groh 2022-01-04 22:04:22 +01:00
parent b4208c8ea1
commit 245d486ba4
2 changed files with 13 additions and 13 deletions

View file

@ -58,7 +58,7 @@ PromiseAllResolveElementFunction::PromiseAllResolveElementFunction(size_t index,
{
}
Value PromiseAllResolveElementFunction::resolve_element()
ThrowCompletionOr<Value> PromiseAllResolveElementFunction::resolve_element()
{
auto& vm = this->vm();
auto& global_object = this->global_object();
@ -73,7 +73,7 @@ Value PromiseAllResolveElementFunction::resolve_element()
auto* values_array = Array::create_from(global_object, m_values.values());
// b. Return ? Call(promiseCapability.[[Resolve]], undefined, « valuesArray »).
return TRY_OR_DISCARD(vm.call(*m_capability.resolve, js_undefined(), values_array));
return vm.call(*m_capability.resolve, js_undefined(), values_array);
}
// 11. Return undefined.
@ -90,7 +90,7 @@ PromiseAllSettledResolveElementFunction::PromiseAllSettledResolveElementFunction
{
}
Value PromiseAllSettledResolveElementFunction::resolve_element()
ThrowCompletionOr<Value> PromiseAllSettledResolveElementFunction::resolve_element()
{
auto& vm = this->vm();
auto& global_object = this->global_object();
@ -114,7 +114,7 @@ Value PromiseAllSettledResolveElementFunction::resolve_element()
auto* values_array = Array::create_from(global_object, m_values.values());
// b. Return ? Call(promiseCapability.[[Resolve]], undefined, « valuesArray »).
return TRY_OR_DISCARD(vm.call(*m_capability.resolve, js_undefined(), values_array));
return vm.call(*m_capability.resolve, js_undefined(), values_array);
}
// 15. Return undefined.
@ -131,7 +131,7 @@ PromiseAllSettledRejectElementFunction::PromiseAllSettledRejectElementFunction(s
{
}
Value PromiseAllSettledRejectElementFunction::resolve_element()
ThrowCompletionOr<Value> PromiseAllSettledRejectElementFunction::resolve_element()
{
auto& vm = this->vm();
auto& global_object = this->global_object();
@ -155,7 +155,7 @@ Value PromiseAllSettledRejectElementFunction::resolve_element()
auto values_array = Array::create_from(global_object, m_values.values());
// b. Return ? Call(promiseCapability.[[Resolve]], undefined, « valuesArray »).
return TRY_OR_DISCARD(vm.call(*m_capability.resolve, js_undefined(), values_array));
return vm.call(*m_capability.resolve, js_undefined(), values_array);
}
// 15. Return undefined.
@ -172,7 +172,7 @@ PromiseAnyRejectElementFunction::PromiseAnyRejectElementFunction(size_t index, P
{
}
Value PromiseAnyRejectElementFunction::resolve_element()
ThrowCompletionOr<Value> PromiseAnyRejectElementFunction::resolve_element()
{
auto& vm = this->vm();
auto& global_object = this->global_object();
@ -191,7 +191,7 @@ Value PromiseAnyRejectElementFunction::resolve_element()
MUST(error->define_property_or_throw(vm.names.errors, { .value = errors_array, .writable = true, .enumerable = false, .configurable = true }));
// c. Return ? Call(promiseCapability.[[Reject]], undefined, « error »).
return TRY_OR_DISCARD(vm.call(*m_capability.reject, js_undefined(), error));
return vm.call(*m_capability.reject, js_undefined(), error);
}
return js_undefined();

View file

@ -51,7 +51,7 @@ public:
protected:
explicit PromiseResolvingElementFunction(size_t, PromiseValueList&, PromiseCapability, RemainingElements&, Object& prototype);
virtual Value resolve_element() = 0;
virtual ThrowCompletionOr<Value> resolve_element() = 0;
size_t m_index { 0 };
PromiseValueList& m_values;
@ -75,7 +75,7 @@ public:
virtual ~PromiseAllResolveElementFunction() override = default;
private:
virtual Value resolve_element() override;
virtual ThrowCompletionOr<Value> resolve_element() override;
};
// 27.2.4.2.2 Promise.allSettled Resolve Element Functions, https://tc39.es/ecma262/#sec-promise.allsettled-resolve-element-functions
@ -89,7 +89,7 @@ public:
virtual ~PromiseAllSettledResolveElementFunction() override = default;
private:
virtual Value resolve_element() override;
virtual ThrowCompletionOr<Value> resolve_element() override;
};
// 27.2.4.2.3 Promise.allSettled Reject Element Functions, https://tc39.es/ecma262/#sec-promise.allsettled-reject-element-functions
@ -103,7 +103,7 @@ public:
virtual ~PromiseAllSettledRejectElementFunction() override = default;
private:
virtual Value resolve_element() override;
virtual ThrowCompletionOr<Value> resolve_element() override;
};
// 27.2.4.3.2 Promise.any Reject Element Functions, https://tc39.es/ecma262/#sec-promise.any-reject-element-functions
@ -117,7 +117,7 @@ public:
virtual ~PromiseAnyRejectElementFunction() override = default;
private:
virtual Value resolve_element() override;
virtual ThrowCompletionOr<Value> resolve_element() override;
};
}