holidays-ru 0.1.2

A library for determining working days, weekends, and holidays in Russia.
Documentation
use crate::data::{YearFact, months};

/// Официальный производственный календарь на 2004 год.
///
/// На основе ТК РФ (ред. до 29.12.2004) и Постановления Правительства РФ.
///
/// Федеральные праздники 2004 года: 1–2 янв, 7 янв, 23 фев, 8 мар,
/// 1–2 мая, 9 мая, 12 июн, 7 ноя, 12 дек.
pub(crate) const Y2004: YearFact = YearFact {
    holidays: months! {
        Jan: [1, 2, 7],  // Новогодние каникулы (1–2) + Рождество Христово (7)
        Feb: [23],        // День защитника Отечества
        Mar: [8],         // Международный женский день
        May: [1, 2, 9],   // Праздник Весны и Труда (1–2), День Победы (9)
        Jun: [12],        // День России
        Nov: [7],         // День согласия и примирения
        Dec: [12],        // День Конституции
    },

    // Переносы: 1 мая (сб)→3 мая, 2 мая (вс)→4 мая, 9 мая (вс)→10 мая,
    // 12 июн (сб)→14 июн, 7 ноя (вс)→8 ноя, 12 дек (вс)→13 дек
    extra_days_off: months! {
        May: [3, 4, 10],
        Jun: [14],
        Nov: [8],
        Dec: [13],
    },

    // Рабочие субботы: нет
    working_days: months! {},

    // Сокращённые дни: последний рабочий день перед праздником
    short_days: months! {
        Jan: [6],   // вт перед 7 янв (ср)
        Apr: [30],  // пт перед 1 мая (сб)
        Jun: [11],  // пт перед 12 июн (сб)
        Dec: [10],  // пт перед 12 дек (вс)
    },

    // Источники и цели переносов
    transferred_days: months! {
        May: [1, 2, 3, 4, 9, 10],  // источники: 1 мая (сб), 2 мая (вс), 9 мая (вс) + цели: 3,4,10 мая
        Jun: [12, 14],              // источник: 12 июн (сб) + цель 14 июн
        Nov: [7, 8],                // источник: 7 ноя (вс) + цель 8 ноя
        Dec: [12, 13],              // источник: 12 дек (вс) + цель 13 дек
    },
};