state-res: Replace two uses of map_or with simpler match
This commit is contained in:
parent
d1fa58abb2
commit
22cee51e1a
@ -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())?,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user