refactor divide_actions

This commit is contained in:
Dr. Matthias Ratajczak
2023-02-03 14:54:34 +01:00
parent 43f8c659d4
commit 5a2a9a6da1
+15 -9
View File
@@ -85,7 +85,16 @@ impl From<ReviewsPerBackend> for Vec<Strategy> {
let mut result = vec![]; let mut result = vec![];
for (backend, actions) in reviews { for (backend, actions) in reviews {
let (to_delete, assign_group, as_dependency) = divide_actions(actions); let mut to_delete = vec![];
let mut assign_group = vec![];
let mut as_dependency = vec![];
extract_actions(
actions,
&mut to_delete,
&mut assign_group,
&mut as_dependency,
);
result.push(Strategy::new( result.push(Strategy::new(
backend, backend,
@@ -99,13 +108,12 @@ impl From<ReviewsPerBackend> for Vec<Strategy> {
} }
} }
fn divide_actions( fn extract_actions(
actions: Vec<ReviewAction>, actions: Vec<ReviewAction>,
) -> (Vec<Package>, Vec<(Package, Rc<Group>)>, Vec<Package>) { to_delete: &mut Vec<Package>,
let mut to_delete = vec![]; assign_group: &mut Vec<(Package, Rc<Group>)>,
let mut assign_group = vec![]; as_dependency: &mut Vec<Package>,
let mut as_dependency = vec![]; ) {
for action in actions { for action in actions {
match action { match action {
ReviewAction::Delete(package) => to_delete.push(package), ReviewAction::Delete(package) => to_delete.push(package),
@@ -113,6 +121,4 @@ fn divide_actions(
ReviewAction::AsDependency(package) => as_dependency.push(package), ReviewAction::AsDependency(package) => as_dependency.push(package),
} }
} }
(to_delete, assign_group, as_dependency)
} }