Skip to main content

ical/tree/prop/
request_status.rs

1//! # REQUEST-STATUS lens
2//!
3//! Reading and editing the `REQUEST-STATUS` property in place: it decodes as an
4//! [`IcalRequestStatus`] and edits through the generic [`IcalValueCursor`].
5//!
6//! Its RFC contract sits on the marker, [`REQUEST_STATUS`].
7
8use crate::{
9    prop::request_status::REQUEST_STATUS,
10    tree::{line::IcalLine, prop::lens::IcalPropLens, value::cursor::IcalValueCursor},
11    value::request_status::IcalRequestStatus,
12};
13
14impl IcalPropLens for REQUEST_STATUS {
15    type Target<'v> = IcalRequestStatus<'v>;
16
17    type Cursor<'c, 'a>
18        = IcalValueCursor<'c, 'a>
19    where
20        'a: 'c;
21
22    fn cursor<'c, 'a>(line: &'c mut IcalLine<'a>) -> IcalValueCursor<'c, 'a> {
23        IcalValueCursor { line }
24    }
25}