vcard/tree/value/
datetime.rs1use crate::{
7 tree::{
8 codec::{VcardCodec, encode::scalar_node, mode::VcardEscaper},
9 value::node::VcardValueNode,
10 },
11 value::datetime::{VcardDateAndOrTime, VcardTimestamp},
12};
13
14impl<'v> VcardCodec<'v> for VcardDateAndOrTime<'v> {
15 fn decode(node: &'v VcardValueNode<'_>) -> Self {
16 VcardDateAndOrTime(node.decode_scalar_at(0))
17 }
18
19 fn encode(&self, escaper: VcardEscaper) -> VcardValueNode<'static> {
20 scalar_node(&self.0, escaper)
21 }
22}
23
24impl<'v> VcardCodec<'v> for VcardTimestamp<'v> {
25 fn decode(node: &'v VcardValueNode<'_>) -> Self {
26 VcardTimestamp(node.decode_scalar_at(0))
27 }
28
29 fn encode(&self, escaper: VcardEscaper) -> VcardValueNode<'static> {
30 scalar_node(&self.0, escaper)
31 }
32}