holidays-ru 0.1.2

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

/// Официальный производственный календарь на 2002 год.
///
/// На основе ТК РФ (введён с 01.02.2002) и Постановления Правительства РФ № 767 от 06.11.2001.
///
/// Федеральные праздники: 1–2,7 янв; 23 фев; 8 мар; 1–2,9 мая; 12 июн; 7 ноя; 12 дек.
pub(crate) const Y2002: 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],        // День Конституции
    },

    // Постановление № 767: 27 апр (сб)→3 мая, 18 мая (сб)→10 мая,
    // 10 ноя (вс)→8 ноя, 15 дек (вс)→13 дек
    // Автоматический: 23 фев (сб) → 25 фев (пн)
    extra_days_off: months! {
        Feb: [25],
        May: [3, 10],
        Nov: [8],
        Dec: [13],
    },

    // Рабочие дни-источники: 27 апр, 18 мая, 10 ноя, 15 дек
    working_days: months! {
        Apr: [27],
        May: [18],
        Nov: [10],
        Dec: [15],
    },

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

    // Источники и цели переносов
    transferred_days: months! {
        Feb: [23, 25],          // источник 23 фев (сб) + цель 25 фев
        Apr: [27],              // рабочая сб
        May: [3, 10, 18],       // цели 3,10 мая + рабочая сб 18 мая
        Nov: [8, 10],           // цель 8 ноя + рабочее вс 10 ноя
        Dec: [13, 15],          // цель 13 дек + рабочее вс 15 дек
    },
};