LibJS: Convert IterableToList AO to ThrowCompletionOr

This commit is contained in:
Timothy Flynn 2021-10-20 13:41:27 -04:00 committed by Linus Groh
commit 03b251a704
Notes: sideshowbarker 2024-07-18 02:06:48 +09:00
5 changed files with 8 additions and 14 deletions

View file

@ -147,19 +147,19 @@ Object* create_iterator_result_object(GlobalObject& global_object, Value value,
}
// 7.4.10 IterableToList ( items [ , method ] ), https://tc39.es/ecma262/#sec-iterabletolist
MarkedValueList iterable_to_list(GlobalObject& global_object, Value iterable, Value method)
ThrowCompletionOr<MarkedValueList> iterable_to_list(GlobalObject& global_object, Value iterable, Value method)
{
auto& vm = global_object.vm();
MarkedValueList values(vm.heap());
(void)get_iterator_values(
TRY(get_iterator_values(
global_object, iterable, [&](auto value) -> Optional<Completion> {
values.append(value);
return {};
},
method);
method));
return values;
return { move(values) };
}
Completion get_iterator_values(GlobalObject& global_object, Value iterable, IteratorValueCallback callback, Value method)