cursive_calendar_view/
week_day.rs

1/// Enumeration of all weekdays.
2#[derive(Copy, Clone)]
3pub enum WeekDay {
4    /// Monday.
5    Monday,
6    /// Tuesday.
7    Tuesday,
8    /// Wednesday.
9    Wednesday,
10    /// Thursday.
11    Thursday,
12    /// Friday.
13    Friday,
14    /// Saturday.
15    Saturday,
16    /// Sunday.
17    Sunday,
18}
19
20// Statics --------------------------------------------------------------------
21static WEEK_DAY_LIST: [WeekDay; 7] = [
22    WeekDay::Monday,
23    WeekDay::Tuesday,
24    WeekDay::Wednesday,
25    WeekDay::Thursday,
26    WeekDay::Friday,
27    WeekDay::Saturday,
28    WeekDay::Sunday,
29];
30
31// Conversions ----------------------------------------------------------------
32impl From<i32> for WeekDay {
33    fn from(index: i32) -> Self {
34        WEEK_DAY_LIST[((index + 7) % 7) as usize]
35    }
36}
37
38impl Into<i32> for WeekDay {
39    fn into(self) -> i32 {
40        match self {
41            WeekDay::Monday => 0,
42            WeekDay::Tuesday => 1,
43            WeekDay::Wednesday => 2,
44            WeekDay::Thursday => 3,
45            WeekDay::Friday => 4,
46            WeekDay::Saturday => 5,
47            WeekDay::Sunday => 6,
48        }
49    }
50}