feat: simplify return type of catalog.list_by_subclass method

This commit is contained in:
2026-02-27 10:48:43 +01:00
parent dcfa4dee4b
commit 181e310ebd
2 changed files with 2 additions and 4 deletions

View File

@@ -24,7 +24,7 @@ impl Catalog {
///
/// Returns `Err(FailedTo::LockCatalog)` if the catalog's internal mutex
/// could not be locked.
pub fn list_by_subclass<T>(&self, subclass: &str) -> Result<Vec<Result<T, FailedTo>>, FailedTo>
pub fn list_by_subclass<T>(&self, subclass: &str) -> Result<Vec<T>, FailedTo>
where
T: EAV,
{
@@ -33,7 +33,7 @@ impl Catalog {
.values()
.filter(move |item| item.class == T::class())
.filter(move |item| item.subclass == Some(subclass.to_string()))
.map(|item| T::try_from(item.clone()).map_err(|_| FailedTo::ConvertEntity))
.filter_map(|item| { T::try_from(item.clone()).ok() })
.collect())
})
}

View File

@@ -26,7 +26,6 @@ mod tests {
.list_by_subclass::<Item>("electronics")
.unwrap()
.into_iter()
.map(|item| item.unwrap())
.collect();
assert_eq!(results.len(), 2);
assert!(results.contains(&item1));
@@ -46,7 +45,6 @@ mod tests {
.list_by_subclass::<Item>("books")
.unwrap()
.into_iter()
.map(|item| item.unwrap())
.collect();
assert!(results.is_empty());
}