Skip to content

Commit 3d7a47b

Browse files
committed
Refactor promise group creation to eliminate duplication for PromiseAll and PromiseAllSettled
1 parent 6fe8695 commit 3d7a47b

File tree

1 file changed

+9
-20
lines changed

1 file changed

+9
-20
lines changed

nova_vm/src/ecmascript/builtins/control_abstraction_objects/promise_objects/promise_constructor.rs

Lines changed: 9 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -720,26 +720,15 @@ fn perform_promise_group<'gc>(
720720

721721
// 2. Let remainingElementsCount be the Record { [[Value]]: 1 }.
722722
let promise = result_capability.promise.scope(agent, gc.nogc());
723-
let promise_group_reference = match promise_group_type {
724-
PromiseGroupType::PromiseAll => agent
725-
.heap
726-
.create(PromiseGroupRecord {
727-
promise_group_type: PromiseGroupType::PromiseAll,
728-
remaining_elements_count: 1,
729-
result_array: result_array.get(agent),
730-
promise: promise.get(agent),
731-
})
732-
.scope(agent, gc.nogc()),
733-
PromiseGroupType::PromiseAllSettled => agent
734-
.heap
735-
.create(PromiseGroupRecord {
736-
promise_group_type: PromiseGroupType::PromiseAllSettled,
737-
remaining_elements_count: 1,
738-
result_array: result_array.get(agent),
739-
promise: promise.get(agent),
740-
})
741-
.scope(agent, gc.nogc()),
742-
};
723+
let promise_group_reference = agent
724+
.heap
725+
.create(PromiseGroupRecord {
726+
promise_group_type: promise_group_type,
727+
remaining_elements_count: 1,
728+
result_array: result_array.get(agent),
729+
promise: promise.get(agent),
730+
})
731+
.scope(agent, gc.nogc());
743732

744733
// 3. Let index be 0.
745734
let mut index = 0;

0 commit comments

Comments
 (0)