vcard/tree/value/
binary.rs1use crate::{
9 tree::{
10 codec::{VcardCodec, encode::scalar_node, mode::VcardEscaper},
11 value::node::VcardValueNode,
12 },
13 value::binary::VcardBinary,
14};
15
16impl<'v> VcardCodec<'v> for VcardBinary<'v> {
17 fn decode(node: &'v VcardValueNode<'_>) -> Self {
18 VcardBinary::Base64(node.decode_scalar_at(0))
19 }
20
21 fn encode(&self, escaper: VcardEscaper) -> VcardValueNode<'static> {
22 let raw = match self {
23 VcardBinary::Uri(value) | VcardBinary::Base64(value) => value.as_ref(),
24 };
25
26 scalar_node(raw, escaper)
27 }
28}