Remove unnecessary Option-wrapping and successive unwrapping
parent
b291e76572
commit
808741bcb6
|
@ -160,15 +160,12 @@ pub async fn get_public_rooms_filtered_helper(
|
||||||
.map(|c| {
|
.map(|c| {
|
||||||
// Convert ruma::api::federation::directory::get_public_rooms::v1::PublicRoomsChunk
|
// Convert ruma::api::federation::directory::get_public_rooms::v1::PublicRoomsChunk
|
||||||
// to ruma::api::client::r0::directory::PublicRoomsChunk
|
// to ruma::api::client::r0::directory::PublicRoomsChunk
|
||||||
Ok::<_, Error>(
|
|
||||||
serde_json::from_str(
|
serde_json::from_str(
|
||||||
&serde_json::to_string(&c)
|
&serde_json::to_string(&c)
|
||||||
.expect("PublicRoomsChunk::to_string always works"),
|
.expect("PublicRoomsChunk::to_string always works"),
|
||||||
)
|
)
|
||||||
.expect("federation and client-server PublicRoomsChunk are the same type"),
|
.expect("federation and client-server PublicRoomsChunk are the same type")
|
||||||
)
|
|
||||||
})
|
})
|
||||||
.filter_map(|r| r.ok())
|
|
||||||
.collect(),
|
.collect(),
|
||||||
prev_batch: response.prev_batch,
|
prev_batch: response.prev_batch,
|
||||||
next_batch: response.next_batch,
|
next_batch: response.next_batch,
|
||||||
|
|
|
@ -2023,10 +2023,7 @@ impl Rooms {
|
||||||
.map(str::to_lowercase)
|
.map(str::to_lowercase)
|
||||||
.collect::<Vec<_>>();
|
.collect::<Vec<_>>();
|
||||||
|
|
||||||
let iterators = words
|
let iterators = words.clone().into_iter().map(move |word| {
|
||||||
.clone()
|
|
||||||
.into_iter()
|
|
||||||
.map(move |word| {
|
|
||||||
let mut prefix2 = prefix.clone();
|
let mut prefix2 = prefix.clone();
|
||||||
prefix2.extend_from_slice(word.as_bytes());
|
prefix2.extend_from_slice(word.as_bytes());
|
||||||
prefix2.push(0xff);
|
prefix2.push(0xff);
|
||||||
|
@ -2034,7 +2031,6 @@ impl Rooms {
|
||||||
let mut last_possible_id = prefix2.clone();
|
let mut last_possible_id = prefix2.clone();
|
||||||
last_possible_id.extend_from_slice(&u64::MAX.to_be_bytes());
|
last_possible_id.extend_from_slice(&u64::MAX.to_be_bytes());
|
||||||
|
|
||||||
Ok::<_, Error>(
|
|
||||||
self.tokenids
|
self.tokenids
|
||||||
.iter_from(&last_possible_id, true) // Newest pdus first
|
.iter_from(&last_possible_id, true) // Newest pdus first
|
||||||
.take_while(move |(k, _)| k.starts_with(&prefix2))
|
.take_while(move |(k, _)| k.starts_with(&prefix2))
|
||||||
|
@ -2052,10 +2048,8 @@ impl Rooms {
|
||||||
|
|
||||||
Ok::<_, Error>(pdu_id)
|
Ok::<_, Error>(pdu_id)
|
||||||
})
|
})
|
||||||
.filter_map(|r| r.ok()),
|
.filter_map(|r| r.ok())
|
||||||
)
|
});
|
||||||
})
|
|
||||||
.filter_map(|r| r.ok());
|
|
||||||
|
|
||||||
Ok((
|
Ok((
|
||||||
utils::common_elements(iterators, |a, b| {
|
utils::common_elements(iterators, |a, b| {
|
||||||
|
|
|
@ -532,15 +532,11 @@ pub async fn get_public_rooms_filtered_route(
|
||||||
.map(|c| {
|
.map(|c| {
|
||||||
// Convert ruma::api::federation::directory::get_public_rooms::v1::PublicRoomsChunk
|
// Convert ruma::api::federation::directory::get_public_rooms::v1::PublicRoomsChunk
|
||||||
// to ruma::api::client::r0::directory::PublicRoomsChunk
|
// to ruma::api::client::r0::directory::PublicRoomsChunk
|
||||||
Ok::<_, Error>(
|
|
||||||
serde_json::from_str(
|
serde_json::from_str(
|
||||||
&serde_json::to_string(&c)
|
&serde_json::to_string(&c).expect("PublicRoomsChunk::to_string always works"),
|
||||||
.expect("PublicRoomsChunk::to_string always works"),
|
|
||||||
)
|
|
||||||
.expect("federation and client-server PublicRoomsChunk are the same type"),
|
|
||||||
)
|
)
|
||||||
|
.expect("federation and client-server PublicRoomsChunk are the same type")
|
||||||
})
|
})
|
||||||
.filter_map(|r| r.ok())
|
|
||||||
.collect(),
|
.collect(),
|
||||||
prev_batch: response.prev_batch,
|
prev_batch: response.prev_batch,
|
||||||
next_batch: response.next_batch,
|
next_batch: response.next_batch,
|
||||||
|
@ -580,15 +576,11 @@ pub async fn get_public_rooms_route(
|
||||||
.map(|c| {
|
.map(|c| {
|
||||||
// Convert ruma::api::federation::directory::get_public_rooms::v1::PublicRoomsChunk
|
// Convert ruma::api::federation::directory::get_public_rooms::v1::PublicRoomsChunk
|
||||||
// to ruma::api::client::r0::directory::PublicRoomsChunk
|
// to ruma::api::client::r0::directory::PublicRoomsChunk
|
||||||
Ok::<_, Error>(
|
|
||||||
serde_json::from_str(
|
serde_json::from_str(
|
||||||
&serde_json::to_string(&c)
|
&serde_json::to_string(&c).expect("PublicRoomsChunk::to_string always works"),
|
||||||
.expect("PublicRoomsChunk::to_string always works"),
|
|
||||||
)
|
|
||||||
.expect("federation and client-server PublicRoomsChunk are the same type"),
|
|
||||||
)
|
)
|
||||||
|
.expect("federation and client-server PublicRoomsChunk are the same type")
|
||||||
})
|
})
|
||||||
.filter_map(|r| r.ok())
|
|
||||||
.collect(),
|
.collect(),
|
||||||
prev_batch: response.prev_batch,
|
prev_batch: response.prev_batch,
|
||||||
next_batch: response.next_batch,
|
next_batch: response.next_batch,
|
||||||
|
|
Loading…
Reference in New Issue