Skip to content

Commit 1756f15

Browse files
authored
refactor: refactor is_result and is_match_compare logic (#577)
1 parent 205d97f commit 1756f15

File tree

1 file changed

+14
-18
lines changed

1 file changed

+14
-18
lines changed

src/subcommand/tree.rs

Lines changed: 14 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -370,27 +370,23 @@ fn is_result<'a>(pkg_installed: &Version<'a>, dep: &BaseDep<'_>) -> bool {
370370
};
371371

372372
if let Some(t) = dep.comp_type() {
373-
let confirm = match t {
374-
">" | ">>" => |cmp| cmp == Ordering::Greater,
375-
"<" | "<<" => |cmp| cmp == Ordering::Less,
376-
">=" => |cmp| [Ordering::Greater, Ordering::Equal].contains(&cmp),
377-
"<=" => |cmp| [Ordering::Less, Ordering::Equal].contains(&cmp),
378-
"=" | "==" => |cmp| Ordering::Equal == cmp,
379-
"!=" => |cmp| Ordering::Equal != cmp,
380-
"" => |_cmp| true,
381-
x => unreachable!("unsupported comp type {x}"),
382-
};
383-
384-
debug!("{} {t} {required_ver}", dep.name());
385-
386373
let cmp = installed.cmp(&required_ver);
387-
388374
debug!("{} {pkg_installed} {cmp:?} {required_ver}", dep.name());
389-
390-
if !confirm(cmp) {
391-
return false;
392-
}
375+
return is_match_compare(t, cmp);
393376
}
394377

395378
true
396379
}
380+
381+
fn is_match_compare(t: &str, cmp: Ordering) -> bool {
382+
match t {
383+
">" | ">>" => cmp == Ordering::Greater,
384+
"<" | "<<" => cmp == Ordering::Less,
385+
">=" => [Ordering::Greater, Ordering::Equal].contains(&cmp),
386+
"<=" => [Ordering::Less, Ordering::Equal].contains(&cmp),
387+
"=" | "==" => Ordering::Equal == cmp,
388+
"!=" => Ordering::Equal != cmp,
389+
"" => true,
390+
x => unreachable!("unsupported comp type {x}"),
391+
}
392+
}

0 commit comments

Comments
 (0)