ical-rs 0.5.1

iCalendar parser, validator, editor, merger and builder library
Documentation
//! # VTIMEZONE
//!
//! The `VTIMEZONE` component: a time zone, carrying its own transition rules
//! (RFC 5545 3.6.5).

use crate::{
    component::{IcalComponentKind, spec::IcalComponentSpec},
    prop::IcalPropKind,
};

/// The `VTIMEZONE` component marker.
pub struct VTIMEZONE;

impl IcalComponentSpec for VTIMEZONE {
    const KIND: IcalComponentKind = IcalComponentKind::VTimezone;

    fn allowed_children() -> &'static [IcalComponentKind] {
        &[IcalComponentKind::Standard, IcalComponentKind::Daylight]
    }

    fn required_props() -> &'static [IcalPropKind] {
        &[IcalPropKind::TzId]
    }
}