use crate::Resolved;
use crate::data::YearFact;
use crate::raw_date::RawDate;
use crate::data::months;
pub(crate) const FIRST_YEAR: i32 = 2024;
pub(crate) const Y2024: YearFact = YearFact {
holidays: months! {
Apr: [10, 11, 12],
Jun: [17],
},
extra_days_off: months! {},
working_days: months! {},
short_days: months! {},
transferred_days: months! {},
};
pub(crate) const Y2025: YearFact = YearFact {
holidays: months! {
Mar: [31],
Apr: [1],
Jun: [6, 7],
},
extra_days_off: months! {},
working_days: months! {},
short_days: months! {},
transferred_days: months! {},
};
pub(crate) const Y2026: YearFact = YearFact {
holidays: months! {
Mar: [19, 20, 21],
May: [27, 28, 29],
},
extra_days_off: months! {},
working_days: months! {},
short_days: months! {},
transferred_days: months! {},
};
static YEARS: [YearFact; 3] = [Y2024, Y2025, Y2026];
static PREDICT: YearFact = YearFact {
holidays: months! {},
extra_days_off: months! {},
working_days: months! {},
short_days: months! {},
transferred_days: months! {},
};
#[inline]
pub(crate) fn flags(date: RawDate) -> Resolved<crate::DayFlags> {
super::resolve(date, FIRST_YEAR, &YEARS, &PREDICT)
}