Skip to main content

ical/tree/component/
available.rs

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