use std::collections::HashSet;
pub struct DisplayLedger {
rendered: HashSet<String>,
}
impl DisplayLedger {
pub fn new() -> Self {
Self {
rendered: HashSet::new(),
}
}
pub fn mark_rendered(&mut self, id: &str) -> bool {
self.rendered.insert(id.to_string())
}
pub fn is_rendered(&self, id: &str) -> bool {
self.rendered.contains(id)
}
pub fn clear(&mut self) {
self.rendered.clear();
}
pub fn len(&self) -> usize {
self.rendered.len()
}
pub fn is_empty(&self) -> bool {
self.rendered.is_empty()
}
}
impl Default for DisplayLedger {
fn default() -> Self {
Self::new()
}
}
#[cfg(test)]
#[path = "display_ledger_tests.rs"]
mod tests;