Skip to content

Commit

Permalink
Use UnvalidatedStr for Eras (#3441)
Browse files Browse the repository at this point in the history
  • Loading branch information
skius committed May 19, 2023
1 parent 4a80545 commit bfed7e6
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 8 deletions.
8 changes: 4 additions & 4 deletions components/datetime/src/provider/calendar/symbols.rs
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ use alloc::borrow::Cow;
use icu_calendar::types::MonthCode;
use icu_provider::prelude::*;
use tinystr::{tinystr, TinyStr4};
use zerovec::ZeroMap;
use zerovec::{ule::UnvalidatedStr, ZeroMap};

/// Symbol data for the months, weekdays, and eras needed to format a date.
///
Expand Down Expand Up @@ -111,17 +111,17 @@ pub struct Eras<'data> {
///
/// Keys are era codes, and values are display names. See [`Eras`].
#[cfg_attr(feature = "serde", serde(borrow))]
pub names: ZeroMap<'data, str, str>,
pub names: ZeroMap<'data, UnvalidatedStr, str>,
/// Symbol data for era abbreviations.
///
/// Keys are era codes, and values are display names. See [`Eras`].
#[cfg_attr(feature = "serde", serde(borrow))]
pub abbr: ZeroMap<'data, str, str>,
pub abbr: ZeroMap<'data, UnvalidatedStr, str>,
/// Symbol data for era narrow forms.
///
/// Keys are era codes, and values are display names. See [`Eras`].
#[cfg_attr(feature = "serde", serde(borrow))]
pub narrow: ZeroMap<'data, str, str>,
pub narrow: ZeroMap<'data, UnvalidatedStr, str>,
}

// Note: the SymbolsV* struct doc strings metadata are attached to `$name` in the macro invocation to
Expand Down
4 changes: 3 additions & 1 deletion components/datetime/src/provider/date_time.rs
Original file line number Diff line number Diff line change
Expand Up @@ -412,7 +412,9 @@ impl<'data> DateSymbols for provider::calendar::DateSymbolsV1<'data> {
fields::FieldLength::Narrow => &self.eras.narrow,
_ => &self.eras.abbr,
};
symbols.get(&era_code.0).unwrap_or(&era_code.0)
symbols
.get(era_code.0.as_str().into())
.unwrap_or(&era_code.0)
}
}

Expand Down
6 changes: 3 additions & 3 deletions provider/datagen/src/transform/cldr/datetime/symbols.rs
Original file line number Diff line number Diff line change
Expand Up @@ -29,13 +29,13 @@ fn convert_eras(eras: &cldr_serde::ca::Eras, calendar: &str) -> Eras<'static> {

for (cldr, code) in map.into_iter() {
if let Some(name) = eras.names.get(&cldr) {
out_eras.names.insert(&code, name);
out_eras.names.insert(code.as_str().into(), name);
}
if let Some(abbr) = eras.abbr.get(&cldr) {
out_eras.abbr.insert(&code, abbr);
out_eras.abbr.insert(code.as_str().into(), abbr);
}
if let Some(narrow) = eras.narrow.get(&cldr) {
out_eras.narrow.insert(&code, narrow);
out_eras.narrow.insert(code.as_str().into(), narrow);
}
}
out_eras
Expand Down

0 comments on commit bfed7e6

Please sign in to comment.