vcard/tree/value/
unknown.rs1use crate::{
7 tree::{
8 codec::{VcardCodec, encode::encode_component, mode::VcardEscaper},
9 value::node::VcardValueNode,
10 },
11 value::VcardValueUnknown,
12};
13
14impl<'v> VcardCodec<'v> for VcardValueUnknown<'v> {
15 fn decode(node: &'v VcardValueNode<'_>) -> Self {
16 VcardValueUnknown {
17 components: (0..node.component_count())
18 .map(|i| node.decode_at(i))
19 .collect(),
20 }
21 }
22
23 fn encode(&self, escaper: VcardEscaper) -> VcardValueNode<'static> {
24 VcardValueNode::from_components(
25 self.components
26 .iter()
27 .map(|component| encode_component(component, escaper))
28 .collect(),
29 escaper,
30 )
31 }
32}