/// Represents the application state.
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub enum AppState {
    Running,
    Halted,
}

impl AppState {
    /// Creates a new [AppState].
    pub const fn new() -> Self {
        Self::Running
    }

    /// Gets whether the [AppState] is running.
    pub const fn is_running(&self) -> bool {
        matches!(self, Self::Running)
    }
}

impl Default for AppState {
    fn default() -> Self {
        Self::new()
    }
}
