mirror of
https://github.com/RGBCube/serenity
synced 2025-07-24 21:47:43 +00:00
LibJS: Convert PromiseResolvingElementFunction to ThrowCompletionOr
This commit is contained in:
parent
b4208c8ea1
commit
245d486ba4
2 changed files with 13 additions and 13 deletions
|
@ -58,7 +58,7 @@ PromiseAllResolveElementFunction::PromiseAllResolveElementFunction(size_t index,
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
Value PromiseAllResolveElementFunction::resolve_element()
|
ThrowCompletionOr<Value> PromiseAllResolveElementFunction::resolve_element()
|
||||||
{
|
{
|
||||||
auto& vm = this->vm();
|
auto& vm = this->vm();
|
||||||
auto& global_object = this->global_object();
|
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());
|
auto* values_array = Array::create_from(global_object, m_values.values());
|
||||||
|
|
||||||
// b. Return ? Call(promiseCapability.[[Resolve]], undefined, « valuesArray »).
|
// 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.
|
// 11. Return undefined.
|
||||||
|
@ -90,7 +90,7 @@ PromiseAllSettledResolveElementFunction::PromiseAllSettledResolveElementFunction
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
Value PromiseAllSettledResolveElementFunction::resolve_element()
|
ThrowCompletionOr<Value> PromiseAllSettledResolveElementFunction::resolve_element()
|
||||||
{
|
{
|
||||||
auto& vm = this->vm();
|
auto& vm = this->vm();
|
||||||
auto& global_object = this->global_object();
|
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());
|
auto* values_array = Array::create_from(global_object, m_values.values());
|
||||||
|
|
||||||
// b. Return ? Call(promiseCapability.[[Resolve]], undefined, « valuesArray »).
|
// 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.
|
// 15. Return undefined.
|
||||||
|
@ -131,7 +131,7 @@ PromiseAllSettledRejectElementFunction::PromiseAllSettledRejectElementFunction(s
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
Value PromiseAllSettledRejectElementFunction::resolve_element()
|
ThrowCompletionOr<Value> PromiseAllSettledRejectElementFunction::resolve_element()
|
||||||
{
|
{
|
||||||
auto& vm = this->vm();
|
auto& vm = this->vm();
|
||||||
auto& global_object = this->global_object();
|
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());
|
auto values_array = Array::create_from(global_object, m_values.values());
|
||||||
|
|
||||||
// b. Return ? Call(promiseCapability.[[Resolve]], undefined, « valuesArray »).
|
// 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.
|
// 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& vm = this->vm();
|
||||||
auto& global_object = this->global_object();
|
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 }));
|
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 »).
|
// 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();
|
return js_undefined();
|
||||||
|
|
|
@ -51,7 +51,7 @@ public:
|
||||||
protected:
|
protected:
|
||||||
explicit PromiseResolvingElementFunction(size_t, PromiseValueList&, PromiseCapability, RemainingElements&, Object& prototype);
|
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 };
|
size_t m_index { 0 };
|
||||||
PromiseValueList& m_values;
|
PromiseValueList& m_values;
|
||||||
|
@ -75,7 +75,7 @@ public:
|
||||||
virtual ~PromiseAllResolveElementFunction() override = default;
|
virtual ~PromiseAllResolveElementFunction() override = default;
|
||||||
|
|
||||||
private:
|
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
|
// 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;
|
virtual ~PromiseAllSettledResolveElementFunction() override = default;
|
||||||
|
|
||||||
private:
|
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
|
// 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;
|
virtual ~PromiseAllSettledRejectElementFunction() override = default;
|
||||||
|
|
||||||
private:
|
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
|
// 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;
|
virtual ~PromiseAnyRejectElementFunction() override = default;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
virtual Value resolve_element() override;
|
virtual ThrowCompletionOr<Value> resolve_element() override;
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue