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}