Skip to main content

ical/tree/component/
vjournal.rs

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