icu_locale_core/preferences/extensions/unicode/keywords/
timezone.rs1use crate::preferences::extensions::unicode::errors::PreferencesParseError;
6use crate::preferences::extensions::unicode::struct_keyword;
7use crate::{extensions::unicode::Value, subtags::Subtag};
8
9struct_keyword!(
10 [Copy]
14 TimeZoneShortId,
15 "tz",
16 Subtag,
17 |input: &Value| {
18 input
19 .as_single_subtag()
20 .copied()
21 .map(Self)
22 .ok_or(PreferencesParseError::InvalidKeywordValue)
23 },
24 |input: &TimeZoneShortId| {
25 Value::from_subtag(Some(input.0))
26 }
27);