holidays-ru 0.1.2

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

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

    // Автоматический: 7 янв (вс) → 8 янв (пн)
    // Постановление № 84: 11 мар (вс)→9 мар, 28 апр (сб)→30 апр,
    // 9 июн (сб)→11 июн, 29 дек (сб)→31 дек
    extra_days_off: months! {
        Jan: [8],
        Mar: [9],
        Apr: [30],
        Jun: [11],
        Dec: [31],
    },

    // Рабочие дни-источники: 11 мар, 28 апр, 9 июн, 29 дек
    working_days: months! {
        Mar: [11],
        Apr: [28],
        Jun: [9],
        Dec: [29],
    },

    // Сокращённые дни (с учётом переносов)
    short_days: months! {
        Mar: [7],   // ср перед 8 мар (чт)
        Apr: [28],  // рабочая сб перед 1 мая (вт)
        May: [8],   // вт перед 9 мая (ср)
        Jun: [9],   // рабочая сб перед 12 июн (вт)
        Nov: [6],   // вт перед 7 ноя (ср)
        Dec: [11, 29],  // вт перед 12 дек (ср), рабочая сб перед 1 янв 2002 (вт)
    },

    // Источники и цели переносов
    transferred_days: months! {
        Jan: [7, 8],           // источник 7 янв (вс) + цель 8 янв
        Mar: [9, 11],          // цель 9 мар + рабочее вс 11 мар
        Apr: [28, 30],         // рабочая сб + цель
        Jun: [9, 11],          // рабочая сб + цель
        Dec: [29, 31],         // рабочая сб + цель
    },
};