refactor Pdu::copy_redacts to use early returns

This commit is contained in:
Olivia Lee 2025-07-20 12:24:41 -07:00
parent 88ad596e8d
commit 9a142c7557
No known key found for this signature in database
GPG key ID: 54D568A15B9CD1F9

View file

@ -161,27 +161,28 @@ impl PduEvent {
pub(crate) fn copy_redacts( pub(crate) fn copy_redacts(
&self, &self,
) -> (Option<Arc<EventId>>, Box<RawJsonValue>) { ) -> (Option<Arc<EventId>>, Box<RawJsonValue>) {
if self.kind == TimelineEventType::RoomRedaction { if self.kind != TimelineEventType::RoomRedaction {
if let Ok(mut content) = serde_json::from_str::< return (self.redacts.clone(), self.content.clone());
RoomRedactionEventContent, }
>(self.content.get()) let Ok(mut content) = serde_json::from_str::<RoomRedactionEventContent>(
{ self.content.get(),
) else {
return (self.redacts.clone(), self.content.clone());
};
if let Some(redacts) = content.redacts { if let Some(redacts) = content.redacts {
return (Some(redacts.into()), self.content.clone()); (Some(redacts.into()), self.content.clone())
} else if let Some(redacts) = self.redacts.clone() { } else if let Some(redacts) = self.redacts.clone() {
content.redacts = Some(redacts.into()); content.redacts = Some(redacts.into());
return ( (
self.redacts.clone(), self.redacts.clone(),
to_raw_value(&content).expect( to_raw_value(&content)
"Must be valid, we only added redacts field", .expect("Must be valid, we only added redacts field"),
), )
); } else {
}
}
}
(self.redacts.clone(), self.content.clone()) (self.redacts.clone(), self.content.clone())
} }
}
#[tracing::instrument(skip(self))] #[tracing::instrument(skip(self))]
pub(crate) fn to_sync_room_event(&self) -> Raw<AnySyncTimelineEvent> { pub(crate) fn to_sync_room_event(&self) -> Raw<AnySyncTimelineEvent> {