Use `Option::map` instead of if-else

This commit is contained in:
Mikolaj Wielgus 2023-08-30 05:12:11 +02:00
parent 247b78087c
commit 0d7b10606a
1 changed files with 7 additions and 11 deletions

View File

@ -20,7 +20,7 @@ impl Segbend {
dot: DotIndex,
graph: &StableDiGraph<TaggedWeight, Label, usize>,
) -> Option<Self> {
if let Some(tagged_prev) = Dot::new(dot, graph).tagged_prev() {
Dot::new(dot, graph).tagged_prev().map(|tagged_prev| {
let bend = *tagged_prev.as_bend().unwrap();
let dot = Bend::new(bend, graph).prev().unwrap();
let seg = *Dot::new(dot, graph)
@ -29,18 +29,16 @@ impl Segbend {
.as_seg()
.unwrap();
Some(Self { bend, dot, seg })
} else {
None
}
Self { bend, dot, seg }
})
}
pub fn from_dot_next(
dot: DotIndex,
graph: &StableDiGraph<TaggedWeight, Label, usize>,
) -> Option<Self> {
if let Some(tagged_prev) = Dot::new(dot, graph).tagged_next() {
let bend = *tagged_prev.as_bend().unwrap();
Dot::new(dot, graph).tagged_next().map(|tagged_next| {
let bend = *tagged_next.as_bend().unwrap();
let dot = Bend::new(bend, graph).next().unwrap();
let seg = *Dot::new(dot, graph)
.tagged_next()
@ -48,10 +46,8 @@ impl Segbend {
.as_seg()
.unwrap();
Some(Self { bend, dot, seg })
} else {
None
}
Self { bend, dot, seg }
})
}
}