#[derive(Default, Debug, Clone)]
pub struct Config {
backtraces: Backtraces,
}
#[derive(PartialEq, Eq, Debug, Clone)]
pub(crate) enum Backtraces {
Show,
Hide,
}
impl Config {
pub fn new() -> Self {
Config::default()
}
pub fn show_backtraces(mut self) -> Self {
self.backtraces = Backtraces::show();
self
}
pub fn hide_backtraces(mut self) -> Self {
self.backtraces = Backtraces::hide();
self
}
pub(crate) fn backtraces(&self) -> &Backtraces {
&self.backtraces
}
}
impl Backtraces {
fn show() -> Self {
Backtraces::Show
}
fn hide() -> Self {
Backtraces::Hide
}
pub(crate) fn is_hide(&self) -> bool {
self == &Backtraces::Hide
}
}
impl Default for Backtraces {
fn default() -> Self {
Backtraces::Show
}
}