ical/tree/value/cal_address.rs
1//! # Calendar user address value codec (RFC 5545 3.3.3)
2//!
3//! [`Codec`] for the calendar user address value. A value whose comma is
4//! literal, not a list separator, so the whole component is kept.
5
6use crate::{
7 tree::{
8 codec::{Codec, encode::scalar_node, mode::Escaper},
9 value::node::IcalValueNode,
10 },
11 value::cal_address::IcalCalAddress,
12};
13
14impl<'v> Codec<'v> for IcalCalAddress<'v> {
15 fn decode(node: &'v IcalValueNode<'_>) -> Self {
16 IcalCalAddress(node.decode_joined_at(0))
17 }
18
19 fn encode(&self, escaper: Escaper) -> IcalValueNode<'static> {
20 scalar_node(&self.0, escaper)
21 }
22}