#[derive(Debug, Clone, Copy, PartialEq, Default)]
pub enum Mode {
#[default]
Read,
Replace,
Append,
ReadReplace,
ReadAppend,
}
impl Mode {
pub fn readable(&self) -> bool {
match self {
Self::Read | Self::ReadReplace | Self::ReadAppend => true,
_ => false,
}
}
pub fn writable(&self) -> bool {
match self {
Self::Replace | Self::Append | Self::ReadAppend | Self::ReadReplace => true,
_ => false,
}
}
pub fn appendable(&self) -> bool {
match self {
Self::Append | Self::ReadAppend => true,
_ => false,
}
}
}