state-res: Replace two uses of map_or with simpler match

This commit is contained in:
Jonas Platte 2021-09-04 01:35:42 +02:00
parent d1fa58abb2
commit 22cee51e1a
No known key found for this signature in database
GPG Key ID: CC154DE0E30B7C67

View File

@ -396,28 +396,25 @@ fn valid_membership_change<E: Event>(
let join_rules_event = join_rules_event.as_ref(); let join_rules_event = join_rules_event.as_ref();
let sender_is_joined = { let sender_is_joined = {
let sender_membership = let sender_membership = match sender_membership_event {
sender_membership_event.map_or(Ok::<_, Error>(MembershipState::Leave), |pdu| { Some(pdu) => serde_json::from_value(
Ok(serde_json::from_value::<MembershipState>(
pdu.content() pdu.content()
.get("membership") .get("membership")
.expect("we assume existing events are valid") .expect("we assume existing events are valid")
.clone(), .clone(),
)?) )?,
})?; None => MembershipState::Leave,
};
sender_membership == MembershipState::Join sender_membership == MembershipState::Join
}; };
let target_user_current_membership = let target_user_current_membership = match target_user_membership_event {
target_user_membership_event.map_or(Ok::<_, Error>(MembershipState::Leave), |pdu| { Some(pdu) => serde_json::from_value(
Ok(serde_json::from_value::<MembershipState>( pdu.content().get("membership").expect("we assume existing events are valid").clone(),
pdu.content() )?,
.get("membership") None => MembershipState::Leave,
.expect("we assume existing events are valid") };
.clone(),
)?)
})?;
let power_levels: PowerLevelsEventContent = match power_levels_event { let power_levels: PowerLevelsEventContent = match power_levels_event {
Some(ev) => serde_json::from_value(ev.content())?, Some(ev) => serde_json::from_value(ev.content())?,