Skip to main content

ical/tree/component/
valarm.rs

1//! # VALARM component lens
2//!
3//! The `VALARM` component lens.
4
5use crate::{
6    component::IcalComponentKind,
7    prop::IcalPropKind,
8    tree::component::{IcalComponentLens, IcalComponentSpec},
9};
10
11/// The `VALARM` component lens.
12#[allow(non_camel_case_types)]
13pub struct VALARM;
14
15impl IcalComponentLens for VALARM {}
16
17impl IcalComponentSpec for VALARM {
18    const KIND: IcalComponentKind = IcalComponentKind::VAlarm;
19
20    fn allowed_children() -> &'static [IcalComponentKind] {
21        &[IcalComponentKind::VLocation]
22    }
23
24    fn required_props() -> &'static [IcalPropKind] {
25        &[IcalPropKind::Action, IcalPropKind::Trigger]
26    }
27}