From 34ccd26ee6d8666d2de9f1ec7e11d3c43ee365fe Mon Sep 17 00:00:00 2001 From: Ivan Enderlin Date: Wed, 2 Jul 2025 15:12:26 +0200 Subject: [PATCH] refactor(sdk): Rename `RoomEventCache::rfind_event_in_memory_by` to `rfind_map_event_in_memory_by`. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This patch changes `RoomEventCache::rfind_event_in_memory_by` to `rfind_map…`. --- crates/matrix-sdk/src/event_cache/room/mod.rs | 40 +++++++++---------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/crates/matrix-sdk/src/event_cache/room/mod.rs b/crates/matrix-sdk/src/event_cache/room/mod.rs index 17998c629..2c2e53eb5 100644 --- a/crates/matrix-sdk/src/event_cache/room/mod.rs +++ b/crates/matrix-sdk/src/event_cache/room/mod.rs @@ -319,11 +319,11 @@ impl RoomEventCache { /// /// **Warning**! It looks into the loaded events from the in-memory linked /// chunk **only**. It doesn't look inside the storage. - pub async fn rfind_event_in_memory_by

(&self, predicate: P) -> Option + pub async fn rfind_map_event_in_memory_by(&self, predicate: P) -> Option where - P: FnMut(&Event) -> bool, + P: FnMut(&Event) -> Option, { - self.inner.state.read().await.rfind_event_in_memory_by(predicate) + self.inner.state.read().await.rfind_map_event_in_memory_by(predicate) } /// Try to find an event by ID in this room. @@ -1291,13 +1291,11 @@ mod private { /// **Warning**! It looks into the loaded events from the in-memory /// linked chunk **only**. It doesn't look inside the storage, /// contrary to [`Self::find_event`]. - pub fn rfind_event_in_memory_by

(&self, mut predicate: P) -> Option + pub fn rfind_map_event_in_memory_by(&self, mut predicate: P) -> Option where - P: FnMut(&Event) -> bool, + P: FnMut(&Event) -> Option, { - self.room_linked_chunk - .revents() - .find_map(|(_position, event)| predicate(event).then(|| event.clone())) + self.room_linked_chunk.revents().find_map(|(_position, event)| predicate(event)) } /// Find a single event in this room. @@ -3195,7 +3193,7 @@ mod timed_tests { } #[async_test] - async fn test_rfind_event_in_memory_by() { + async fn test_rfind_map_event_in_memory_by() { let user_id = user_id!("@mnt_io:matrix.org"); let room_id = room_id!("!raclette:patate.ch"); let client = MockClientBuilder::new(None).build().await; @@ -3258,12 +3256,12 @@ mod timed_tests { // Look for an event from `BOB`: it must be `event_0`. assert_matches!( room_event_cache - .rfind_event_in_memory_by(|event| { - event.raw().get_field::("sender").unwrap().as_deref() == Some(*BOB) + .rfind_map_event_in_memory_by(|event| { + (event.raw().get_field::("sender").unwrap().as_deref() == Some(*BOB)).then(|| event.event_id()) }) .await, - Some(event) => { - assert_eq!(event.event_id().as_deref(), Some(event_id_0)); + Some(event_id) => { + assert_eq!(event_id.as_deref(), Some(event_id_0)); } ); @@ -3271,24 +3269,26 @@ mod timed_tests { // because events are looked for in reverse order. assert_matches!( room_event_cache - .rfind_event_in_memory_by(|event| { - event.raw().get_field::("sender").unwrap().as_deref() == Some(*ALICE) + .rfind_map_event_in_memory_by(|event| { + (event.raw().get_field::("sender").unwrap().as_deref() == Some(*ALICE)).then(|| event.event_id()) }) .await, - Some(event) => { - assert_eq!(event.event_id().as_deref(), Some(event_id_2)); + Some(event_id) => { + assert_eq!(event_id.as_deref(), Some(event_id_2)); } ); // Look for an event that is inside the storage, but not loaded. assert!(room_event_cache - .rfind_event_in_memory_by(|event| { - event.raw().get_field::("sender").unwrap().as_deref() == Some(user_id) + .rfind_map_event_in_memory_by(|event| { + (event.raw().get_field::("sender").unwrap().as_deref() + == Some(user_id)) + .then(|| event.event_id()) }) .await .is_none()); // Look for an event that doesn't exist. - assert!(room_event_cache.rfind_event_in_memory_by(|_| false).await.is_none()); + assert!(room_event_cache.rfind_map_event_in_memory_by(|_| None::<()>).await.is_none()); } }