vcard/tree/value/utc_offset.rs
1//! # UTC-offset value codec (RFC 6350 4.7)
2//!
3//! [`VcardCodec`] for a UTC-offset value, a single scalar kept as its raw text.
4
5use crate::{
6 tree::{
7 codec::{VcardCodec, encode::scalar_node, mode::VcardEscaper},
8 value::node::VcardValueNode,
9 },
10 value::utc_offset::VcardUtcOffset,
11};
12
13impl<'v> VcardCodec<'v> for VcardUtcOffset<'v> {
14 fn decode(node: &'v VcardValueNode<'_>) -> Self {
15 VcardUtcOffset(node.decode_scalar_at(0))
16 }
17
18 fn encode(&self, escaper: VcardEscaper) -> VcardValueNode<'static> {
19 scalar_node(&self.0, escaper)
20 }
21}