From bb65b0e50bd48ebb3da056192fd47422242bc917 Mon Sep 17 00:00:00 2001 From: Matthias Beyer Date: Sun, 3 Jan 2021 10:20:57 +0100 Subject: Simplify aggregation Signed-off-by: Matthias Beyer --- src/config.rs | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/src/config.rs b/src/config.rs index 1da9a6c..e19f19f 100644 --- a/src/config.rs +++ b/src/config.rs @@ -135,20 +135,19 @@ impl TryFrom for Config { /// Lets serde do the deserialization, and transforms the given data /// for later access fn try_from(conf_deser: ConfigDeser) -> std::result::Result { - let l_items: Vec = conf_deser.item + let items: Vec = conf_deser.item .into_iter() .map(LogItem::try_from) .collect::>()?; // combines all aliases into one Vec for the /search endpoint - let mut all_als : Vec = Vec::new(); - for li in l_items.iter() { - for als in li.aliases() { - all_als.push((*als).clone()); - } - } + let all_aliases = items.iter() + .map(|li| li.aliases()) + .flatten() + .cloned() + .collect(); - Ok(Config { items: l_items, all_aliases : all_als }) + Ok(Config { items, all_aliases }) } } -- cgit v1.2.3