use crate::{
set::{CardType, Set},
SlimCard,
};
impl Set {
pub fn list(&self, ty: CardType) -> Vec<SlimCard> {
self.cards
.values()
.filter(|card| {
ty == CardType::All
|| (ty == CardType::Difficult && card.difficult)
|| (ty == CardType::Starred && card.starred)
})
.map(|card| SlimCard {
question: card.question.to_string(),
answer: card.answer.to_string(),
difficult: card.difficult,
starred: card.starred,
})
.collect::<_>()
}
}