From a6a21d5dfa180218f5be35b38e59648ab780e0c7 Mon Sep 17 00:00:00 2001 From: Kitaiti Makoto Date: Sun, 13 Feb 2022 01:05:25 +0900 Subject: [PATCH] Rewrite to_as_string() using method chain instead of if expressions --- plume-common/src/activity_pub/mod.rs | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/plume-common/src/activity_pub/mod.rs b/plume-common/src/activity_pub/mod.rs index 8a5c9590..fc9098b2 100644 --- a/plume-common/src/activity_pub/mod.rs +++ b/plume-common/src/activity_pub/mod.rs @@ -414,14 +414,13 @@ pub trait ToAsString { impl ToAsString for OneOrMany<&AnyString> { fn to_as_string(&self) -> Option { - if let Some(prop) = self.as_one() { - prop.as_as_str() - } else if let Some(props) = self.as_many() { - props.iter().next().and_then(|prop| prop.as_as_str()) - } else { - None - } - .map(|s| s.to_string()) + self.as_one() + .and_then(|prop| prop.as_as_str()) + .or_else(|| { + self.as_many() + .and_then(|props| props.iter().next().and_then(|prop| prop.as_as_str())) + }) + .map(|s| s.to_string()) } }