thisweek_core/
weekdays.rspub const SEVEN_DAY_WEEK_SIZE: i32 = 7;
#[repr(i32)]
pub enum WeekDaysUnixOffset {
Thu = 0,
Fri = 1,
Sat = 2,
Sun = 3,
Mon = 4,
Tue = 5,
Wed = 6,
}
impl Into<WeekDaysUnixOffset> for String {
fn into(self) -> WeekDaysUnixOffset {
match self.as_str() {
"THU" => WeekDaysUnixOffset::Thu,
"FRI" => WeekDaysUnixOffset::Fri,
"SAT" => WeekDaysUnixOffset::Sat,
"SUN" => WeekDaysUnixOffset::Sun,
"MON" => WeekDaysUnixOffset::Mon,
"TUE" => WeekDaysUnixOffset::Tue,
"WED" => WeekDaysUnixOffset::Wed,
s => panic!("invalid weekday string: {s}"),
}
}
}
impl Into<WeekDaysUnixOffset> for i32 {
fn into(self) -> WeekDaysUnixOffset {
match self {
0 => WeekDaysUnixOffset::Thu,
1 => WeekDaysUnixOffset::Fri,
2 => WeekDaysUnixOffset::Sat,
3 => WeekDaysUnixOffset::Sun,
4 => WeekDaysUnixOffset::Mon,
5 => WeekDaysUnixOffset::Tue,
6 => WeekDaysUnixOffset::Wed,
_ => WeekDaysUnixOffset::Thu,
}
}
}
pub fn convert_weekday(weekday: chrono::prelude::Weekday) -> WeekDaysUnixOffset {
match weekday {
chrono::Weekday::Mon => WeekDaysUnixOffset::Mon,
chrono::Weekday::Tue => WeekDaysUnixOffset::Tue,
chrono::Weekday::Wed => WeekDaysUnixOffset::Wed,
chrono::Weekday::Thu => WeekDaysUnixOffset::Thu,
chrono::Weekday::Fri => WeekDaysUnixOffset::Fri,
chrono::Weekday::Sat => WeekDaysUnixOffset::Sat,
chrono::Weekday::Sun => WeekDaysUnixOffset::Sun,
}
}