Skip to main content

ical/tree/value/
duration.rs

1//! # duration value codec (RFC 5545 3.3.6)
2//!
3//! [`Codec`] for the duration value. A single scalar value.
4
5use crate::{
6    tree::{
7        codec::{Codec, encode::scalar_node, mode::Escaper},
8        value::IcalValueNode,
9    },
10    value::duration::IcalDuration,
11};
12
13impl<'v> Codec<'v> for IcalDuration<'v> {
14    fn decode(node: &'v IcalValueNode<'_>) -> Self {
15        IcalDuration(node.decode_scalar_at(0))
16    }
17
18    fn encode(&self, escaper: Escaper) -> IcalValueNode<'static> {
19        scalar_node(&self.0, escaper)
20    }
21}