Skip to main content

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}