vcard/tree/value/
client_pid_map.rs1use alloc::vec;
6
7use crate::{
8 tree::{
9 codec::{VcardCodec, encode::encode_component, mode::VcardEscaper},
10 value::node::VcardValueNode,
11 },
12 value::client_pid_map::VcardClientPidMap,
13};
14
15impl<'v> VcardCodec<'v> for VcardClientPidMap<'v> {
16 fn decode(node: &'v VcardValueNode<'_>) -> Self {
17 VcardClientPidMap {
18 id: node.decode_scalar_at(0),
19 uri: node.decode_scalar_at(1),
20 }
21 }
22
23 fn encode(&self, escaper: VcardEscaper) -> VcardValueNode<'static> {
24 VcardValueNode::from_components(
25 vec![
26 encode_component(&[self.id.as_ref()], escaper),
27 encode_component(&[self.uri.as_ref()], escaper),
28 ],
29 escaper,
30 )
31 }
32}