From 9a142c7557a887c3b4879cb9fb6e8ae402978298 Mon Sep 17 00:00:00 2001 From: Olivia Lee Date: Sun, 20 Jul 2025 12:24:41 -0700 Subject: [PATCH] refactor Pdu::copy_redacts to use early returns --- src/service/pdu.rs | 37 +++++++++++++++++++------------------ 1 file changed, 19 insertions(+), 18 deletions(-) diff --git a/src/service/pdu.rs b/src/service/pdu.rs index b6052a4c..1131a5b8 100644 --- a/src/service/pdu.rs +++ b/src/service/pdu.rs @@ -161,26 +161,27 @@ impl PduEvent { pub(crate) fn copy_redacts( &self, ) -> (Option>, Box) { - if self.kind == TimelineEventType::RoomRedaction { - if let Ok(mut content) = serde_json::from_str::< - RoomRedactionEventContent, - >(self.content.get()) - { - if let Some(redacts) = content.redacts { - return (Some(redacts.into()), self.content.clone()); - } else if let Some(redacts) = self.redacts.clone() { - content.redacts = Some(redacts.into()); - return ( - self.redacts.clone(), - to_raw_value(&content).expect( - "Must be valid, we only added redacts field", - ), - ); - } - } + if self.kind != TimelineEventType::RoomRedaction { + return (self.redacts.clone(), self.content.clone()); } + let Ok(mut content) = serde_json::from_str::( + self.content.get(), + ) else { + return (self.redacts.clone(), self.content.clone()); + }; - (self.redacts.clone(), self.content.clone()) + if let Some(redacts) = content.redacts { + (Some(redacts.into()), self.content.clone()) + } else if let Some(redacts) = self.redacts.clone() { + content.redacts = Some(redacts.into()); + ( + self.redacts.clone(), + to_raw_value(&content) + .expect("Must be valid, we only added redacts field"), + ) + } else { + (self.redacts.clone(), self.content.clone()) + } } #[tracing::instrument(skip(self))]