use crate::StaticStr;
#[derive(bon::Builder, Debug)]
pub struct Filters {
#[builder(field)]
pub subjects: Option<Vec<StaticStr>>,
#[builder(field)]
pub exclude_subjects: Option<Vec<StaticStr>>,
#[builder(into)]
pub sender: Option<StaticStr>,
}
impl<S: filters_builder::State> FiltersBuilder<S> {
pub fn subject(mut self, value: impl Into<StaticStr>) -> Self {
self.subjects.get_or_insert_default().push(value.into());
self
}
pub fn exclude_subject(mut self, value: impl Into<StaticStr>) -> Self {
self.exclude_subjects
.get_or_insert_default()
.push(value.into());
self
}
}