shaum_types/
madhab.rs

1//! Madhab and DaudStrategy enums.
2
3use serde::{Serialize, Deserialize};
4
5/// Sunni schools of jurisprudence.
6#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
7pub enum Madhab {
8    Shafi,
9    Hanafi,
10    Maliki,
11    Hanbali,
12}
13
14impl Default for Madhab {
15    fn default() -> Self { Self::Shafi }
16}
17
18/// Strategy for Daud fasting on Haram days.
19#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
20pub enum DaudStrategy {
21    /// Skip turn, lose the fast.
22    Skip,
23    /// Postpone to next permissible day.
24    Postpone,
25}
26
27impl Default for DaudStrategy {
28    fn default() -> Self { Self::Skip }
29}