Rewrite to_as_string() using method chain instead of if expressions
This commit is contained in:
parent
249fbbe891
commit
a6a21d5dfa
@ -414,14 +414,13 @@ pub trait ToAsString {
|
|||||||
|
|
||||||
impl ToAsString for OneOrMany<&AnyString> {
|
impl ToAsString for OneOrMany<&AnyString> {
|
||||||
fn to_as_string(&self) -> Option<String> {
|
fn to_as_string(&self) -> Option<String> {
|
||||||
if let Some(prop) = self.as_one() {
|
self.as_one()
|
||||||
prop.as_as_str()
|
.and_then(|prop| prop.as_as_str())
|
||||||
} else if let Some(props) = self.as_many() {
|
.or_else(|| {
|
||||||
props.iter().next().and_then(|prop| prop.as_as_str())
|
self.as_many()
|
||||||
} else {
|
.and_then(|props| props.iter().next().and_then(|prop| prop.as_as_str()))
|
||||||
None
|
})
|
||||||
}
|
.map(|s| s.to_string())
|
||||||
.map(|s| s.to_string())
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user