thisweek_core/
weekdays.rs1pub const SEVEN_DAY_WEEK_SIZE: i32 = 7;
2
3#[repr(i32)]
15pub enum WeekDaysUnixOffset {
16 Thu = 0,
17 Fri = 1,
18 Sat = 2,
19 Sun = 3,
20 Mon = 4,
21 Tue = 5,
22 Wed = 6,
23}
24
25impl From<String> for WeekDaysUnixOffset {
26 fn from(val: String) -> Self {
27 match val.as_str() {
28 "THU" => WeekDaysUnixOffset::Thu,
29 "FRI" => WeekDaysUnixOffset::Fri,
30 "SAT" => WeekDaysUnixOffset::Sat,
31 "SUN" => WeekDaysUnixOffset::Sun,
32 "MON" => WeekDaysUnixOffset::Mon,
33 "TUE" => WeekDaysUnixOffset::Tue,
34 "WED" => WeekDaysUnixOffset::Wed,
35 s => panic!("invalid weekday string: {s}"),
36 }
37 }
38}
39
40impl From<i32> for WeekDaysUnixOffset {
41 fn from(val: i32) -> Self {
42 match val {
43 0 => WeekDaysUnixOffset::Thu,
44 1 => WeekDaysUnixOffset::Fri,
45 2 => WeekDaysUnixOffset::Sat,
46 3 => WeekDaysUnixOffset::Sun,
47 4 => WeekDaysUnixOffset::Mon,
48 5 => WeekDaysUnixOffset::Tue,
49 6 => WeekDaysUnixOffset::Wed,
50 _ => WeekDaysUnixOffset::Thu,
51 }
52 }
53}
54
55pub fn convert_weekday(weekday: chrono::prelude::Weekday) -> WeekDaysUnixOffset {
56 match weekday {
57 chrono::Weekday::Mon => WeekDaysUnixOffset::Mon,
58 chrono::Weekday::Tue => WeekDaysUnixOffset::Tue,
59 chrono::Weekday::Wed => WeekDaysUnixOffset::Wed,
60 chrono::Weekday::Thu => WeekDaysUnixOffset::Thu,
61 chrono::Weekday::Fri => WeekDaysUnixOffset::Fri,
62 chrono::Weekday::Sat => WeekDaysUnixOffset::Sat,
63 chrono::Weekday::Sun => WeekDaysUnixOffset::Sun,
64 }
65}