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