ical/tree/prop/rnum.rs
1//! # RNUM lens
2//!
3//! Reading and editing the `RNUM` property in place: it decodes as an
4//! [`IcalInteger`] and edits through the generic [`IcalValueCursor`].
5//!
6//! Its RFC contract sits on the marker, [`RNUM`].
7
8use crate::{
9 prop::rnum::RNUM,
10 tree::{line::IcalLine, prop::lens::IcalPropLens, value::cursor::IcalValueCursor},
11 value::integer::IcalInteger,
12};
13
14impl IcalPropLens for RNUM {
15 type Target<'v> = IcalInteger<'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}