pub const DEFAULT_MAX_HISTORY_VERSIONS: usize = 10;
pub const MIN_HISTORY_VERSIONS: usize = 1;
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct Config {
max_historical_versions: usize,
}
impl Config {
pub fn max_history_versions(&self) -> usize {
self.max_historical_versions
}
}
impl Config {
pub fn with_max_history_versions(mut self, max_historical_versions: usize) -> Self {
self.max_historical_versions = if max_historical_versions < MIN_HISTORY_VERSIONS {
MIN_HISTORY_VERSIONS
} else {
max_historical_versions
};
self
}
}
impl Default for Config {
fn default() -> Self {
let max_historical_versions = DEFAULT_MAX_HISTORY_VERSIONS;
Self { max_historical_versions }
}
}