Skip to content

Commit 34ccd26

Browse files
committed
refactor(sdk): Rename RoomEventCache::rfind_event_in_memory_by to rfind_map_event_in_memory_by.
This patch changes `RoomEventCache::rfind_event_in_memory_by` to `rfind_map…`.
1 parent 3eeb046 commit 34ccd26

File tree

1 file changed

+20
-20
lines changed
  • crates/matrix-sdk/src/event_cache/room

1 file changed

+20
-20
lines changed

crates/matrix-sdk/src/event_cache/room/mod.rs

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -319,11 +319,11 @@ impl RoomEventCache {
319319
///
320320
/// **Warning**! It looks into the loaded events from the in-memory linked
321321
/// chunk **only**. It doesn't look inside the storage.
322-
pub async fn rfind_event_in_memory_by<P>(&self, predicate: P) -> Option<Event>
322+
pub async fn rfind_map_event_in_memory_by<O, P>(&self, predicate: P) -> Option<O>
323323
where
324-
P: FnMut(&Event) -> bool,
324+
P: FnMut(&Event) -> Option<O>,
325325
{
326-
self.inner.state.read().await.rfind_event_in_memory_by(predicate)
326+
self.inner.state.read().await.rfind_map_event_in_memory_by(predicate)
327327
}
328328

329329
/// Try to find an event by ID in this room.
@@ -1291,13 +1291,11 @@ mod private {
12911291
/// **Warning**! It looks into the loaded events from the in-memory
12921292
/// linked chunk **only**. It doesn't look inside the storage,
12931293
/// contrary to [`Self::find_event`].
1294-
pub fn rfind_event_in_memory_by<P>(&self, mut predicate: P) -> Option<Event>
1294+
pub fn rfind_map_event_in_memory_by<O, P>(&self, mut predicate: P) -> Option<O>
12951295
where
1296-
P: FnMut(&Event) -> bool,
1296+
P: FnMut(&Event) -> Option<O>,
12971297
{
1298-
self.room_linked_chunk
1299-
.revents()
1300-
.find_map(|(_position, event)| predicate(event).then(|| event.clone()))
1298+
self.room_linked_chunk.revents().find_map(|(_position, event)| predicate(event))
13011299
}
13021300

13031301
/// Find a single event in this room.
@@ -3195,7 +3193,7 @@ mod timed_tests {
31953193
}
31963194

31973195
#[async_test]
3198-
async fn test_rfind_event_in_memory_by() {
3196+
async fn test_rfind_map_event_in_memory_by() {
31993197
let user_id = user_id!("@mnt_io:matrix.org");
32003198
let room_id = room_id!("!raclette:patate.ch");
32013199
let client = MockClientBuilder::new(None).build().await;
@@ -3258,37 +3256,39 @@ mod timed_tests {
32583256
// Look for an event from `BOB`: it must be `event_0`.
32593257
assert_matches!(
32603258
room_event_cache
3261-
.rfind_event_in_memory_by(|event| {
3262-
event.raw().get_field::<OwnedUserId>("sender").unwrap().as_deref() == Some(*BOB)
3259+
.rfind_map_event_in_memory_by(|event| {
3260+
(event.raw().get_field::<OwnedUserId>("sender").unwrap().as_deref() == Some(*BOB)).then(|| event.event_id())
32633261
})
32643262
.await,
3265-
Some(event) => {
3266-
assert_eq!(event.event_id().as_deref(), Some(event_id_0));
3263+
Some(event_id) => {
3264+
assert_eq!(event_id.as_deref(), Some(event_id_0));
32673265
}
32683266
);
32693267

32703268
// Look for an event from `ALICE`: it must be `event_2`, right before `event_1`
32713269
// because events are looked for in reverse order.
32723270
assert_matches!(
32733271
room_event_cache
3274-
.rfind_event_in_memory_by(|event| {
3275-
event.raw().get_field::<OwnedUserId>("sender").unwrap().as_deref() == Some(*ALICE)
3272+
.rfind_map_event_in_memory_by(|event| {
3273+
(event.raw().get_field::<OwnedUserId>("sender").unwrap().as_deref() == Some(*ALICE)).then(|| event.event_id())
32763274
})
32773275
.await,
3278-
Some(event) => {
3279-
assert_eq!(event.event_id().as_deref(), Some(event_id_2));
3276+
Some(event_id) => {
3277+
assert_eq!(event_id.as_deref(), Some(event_id_2));
32803278
}
32813279
);
32823280

32833281
// Look for an event that is inside the storage, but not loaded.
32843282
assert!(room_event_cache
3285-
.rfind_event_in_memory_by(|event| {
3286-
event.raw().get_field::<OwnedUserId>("sender").unwrap().as_deref() == Some(user_id)
3283+
.rfind_map_event_in_memory_by(|event| {
3284+
(event.raw().get_field::<OwnedUserId>("sender").unwrap().as_deref()
3285+
== Some(user_id))
3286+
.then(|| event.event_id())
32873287
})
32883288
.await
32893289
.is_none());
32903290

32913291
// Look for an event that doesn't exist.
3292-
assert!(room_event_cache.rfind_event_in_memory_by(|_| false).await.is_none());
3292+
assert!(room_event_cache.rfind_map_event_in_memory_by(|_| None::<()>).await.is_none());
32933293
}
32943294
}

0 commit comments

Comments
 (0)