#![allow(clippy::exhaustive_structs, clippy::exhaustive_enums)]
#![warn(unused_imports)]
use icu_provider::prelude::*;
use potential_utf::PotentialUtf8;
use tinystr::UnvalidatedTinyAsciiStr;
use zerovec::{VarZeroCow, ZeroMap};
type UnvalidatedRegion = UnvalidatedTinyAsciiStr<3>;
type UnvalidatedLanguage = UnvalidatedTinyAsciiStr<3>;
type UnvalidatedScript = UnvalidatedTinyAsciiStr<4>;
type UnvalidatedLocale = PotentialUtf8;
type UnvalidatedVariant = UnvalidatedTinyAsciiStr<8>;
#[cfg(feature = "compiled_data")]
pub use crate::provider::Baked;
icu_provider::data_marker!(
LocaleDisplayNamesV1,
LocaleDisplayNames<'static>
);
icu_provider::data_marker!(
VariantDisplayNamesV1,
VariantDisplayNames<'static>
);
icu_provider::data_marker!(
ScriptDisplayNamesV1,
ScriptDisplayNames<'static>
);
icu_provider::data_marker!(
LanguageDisplayNamesV1,
LanguageDisplayNames<'static>
);
icu_provider::data_marker!(
RegionDisplayNamesV1,
RegionDisplayNames<'static>
);
#[derive(Debug, PartialEq, Clone, Default, yoke::Yokeable, zerofrom::ZeroFrom)]
#[cfg_attr(feature = "serde", derive(serde::Deserialize))]
#[cfg_attr(feature = "datagen", derive(serde::Serialize, databake::Bake))]
#[cfg_attr(feature = "datagen", databake(path = icu_experimental::displaynames::provider))]
#[yoke(prove_covariance_manually)]
pub struct RegionDisplayNames<'data> {
#[cfg_attr(feature = "serde", serde(borrow))]
pub names: ZeroMap<'data, UnvalidatedRegion, str>,
#[cfg_attr(feature = "serde", serde(borrow))]
pub short_names: ZeroMap<'data, UnvalidatedRegion, str>,
}
icu_provider::data_struct!(RegionDisplayNames<'_>, #[cfg(feature = "datagen")]);
#[derive(Debug, PartialEq, Clone, Default, yoke::Yokeable, zerofrom::ZeroFrom)]
#[cfg_attr(feature = "serde", derive(serde::Deserialize))]
#[cfg_attr(feature = "datagen", derive(serde::Serialize, databake::Bake))]
#[cfg_attr(feature = "datagen", databake(path = icu_experimental::displaynames::provider))]
#[yoke(prove_covariance_manually)]
pub struct LanguageDisplayNames<'data> {
#[cfg_attr(feature = "serde", serde(borrow))]
pub names: ZeroMap<'data, UnvalidatedLanguage, str>,
#[cfg_attr(feature = "serde", serde(borrow))]
pub short_names: ZeroMap<'data, UnvalidatedLanguage, str>,
#[cfg_attr(feature = "serde", serde(borrow))]
pub long_names: ZeroMap<'data, UnvalidatedLanguage, str>,
#[cfg_attr(feature = "serde", serde(borrow))]
pub menu_names: ZeroMap<'data, UnvalidatedLanguage, str>,
}
icu_provider::data_struct!(LanguageDisplayNames<'_>, #[cfg(feature = "datagen")]);
#[derive(Debug, PartialEq, Clone, Default, yoke::Yokeable, zerofrom::ZeroFrom)]
#[cfg_attr(feature = "serde", derive(serde::Deserialize))]
#[cfg_attr(feature = "datagen", derive(serde::Serialize, databake::Bake))]
#[cfg_attr(feature = "datagen", databake(path = icu_experimental::displaynames::provider))]
#[yoke(prove_covariance_manually)]
pub struct ScriptDisplayNames<'data> {
#[cfg_attr(feature = "serde", serde(borrow))]
pub names: ZeroMap<'data, UnvalidatedScript, str>,
#[cfg_attr(feature = "serde", serde(borrow))]
pub short_names: ZeroMap<'data, UnvalidatedScript, str>,
}
icu_provider::data_struct!(ScriptDisplayNames<'_>, #[cfg(feature = "datagen")]);
#[derive(Debug, PartialEq, Clone, Default, yoke::Yokeable, zerofrom::ZeroFrom)]
#[cfg_attr(feature = "serde", derive(serde::Deserialize))]
#[cfg_attr(feature = "datagen", derive(serde::Serialize, databake::Bake))]
#[cfg_attr(feature = "datagen", databake(path = icu_experimental::displaynames::provider))]
#[yoke(prove_covariance_manually)]
pub struct LocaleDisplayNames<'data> {
#[cfg_attr(feature = "serde", serde(borrow))]
pub names: ZeroMap<'data, UnvalidatedLocale, str>,
#[cfg_attr(feature = "serde", serde(borrow))]
pub short_names: ZeroMap<'data, UnvalidatedLocale, str>,
#[cfg_attr(feature = "serde", serde(borrow))]
pub long_names: ZeroMap<'data, UnvalidatedLocale, str>,
#[cfg_attr(feature = "serde", serde(borrow))]
pub menu_names: ZeroMap<'data, UnvalidatedLocale, str>,
}
icu_provider::data_struct!(LocaleDisplayNames<'_>, #[cfg(feature = "datagen")]);
#[derive(Debug, PartialEq, Clone, Default, yoke::Yokeable, zerofrom::ZeroFrom)]
#[cfg_attr(feature = "serde", derive(serde::Deserialize))]
#[cfg_attr(feature = "datagen", derive(serde::Serialize, databake::Bake))]
#[cfg_attr(feature = "datagen", databake(path = icu_experimental::displaynames::provider))]
#[yoke(prove_covariance_manually)]
pub struct VariantDisplayNames<'data> {
#[cfg_attr(feature = "serde", serde(borrow))]
pub names: ZeroMap<'data, UnvalidatedVariant, str>,
}
#[derive(Debug, PartialEq, Clone, yoke::Yokeable, zerofrom::ZeroFrom)]
#[cfg_attr(feature = "serde", derive(serde::Deserialize))]
#[cfg_attr(feature = "datagen", derive(serde::Serialize, databake::Bake))]
#[cfg_attr(feature = "datagen", databake(path = icu_experimental::displaynames::provider))]
#[zerovec::make_varule(MenuNamePartsULE)]
#[zerovec::skip_derive(Ord)]
#[cfg_attr(feature = "serde", zerovec::derive(Deserialize))]
#[cfg_attr(feature = "datagen", zerovec::derive(Serialize))]
pub struct MenuNameParts<'data> {
pub core: VarZeroCow<'data, str>,
#[cfg_attr(feature = "serde", serde(borrow))]
pub extension: VarZeroCow<'data, str>,
}
icu_provider::data_struct!(VariantDisplayNames<'_>, #[cfg(feature = "datagen")]);
icu_provider::data_marker!(
LocaleNamesRegionLongV1,
"locale/names/region/long/v1",
VarZeroCow<'static, str>,
#[cfg(feature = "datagen")]
attributes_domain = "locale_names_region",
);
icu_provider::data_marker!(
LocaleNamesRegionShortV1,
"locale/names/region/short/v1",
VarZeroCow<'static, str>,
#[cfg(feature = "datagen")]
attributes_domain = "locale_names_region",
);
icu_provider::data_marker!(
LocaleNamesLanguageLongV1,
"locale/names/language/long/v1",
VarZeroCow<'static, str>,
#[cfg(feature = "datagen")]
attributes_domain = "locale_names_language",
);
icu_provider::data_marker!(
LocaleNamesLanguageShortV1,
"locale/names/language/short/v1",
VarZeroCow<'static, str>,
#[cfg(feature = "datagen")]
attributes_domain = "locale_names_language",
);
icu_provider::data_marker!(
LocaleNamesLanguageMenuLongV1,
"locale/names/language/menu/long/v1",
VarZeroCow<'static, MenuNamePartsULE>,
#[cfg(feature = "datagen")]
attributes_domain = "locale_names_language",
);
icu_provider::data_marker!(
LocaleNamesScriptLongV1,
"locale/names/script/long/v1",
VarZeroCow<'static, str>,
#[cfg(feature = "datagen")]
attributes_domain = "locale_names_script",
);
icu_provider::data_marker!(
LocaleNamesScriptShortV1,
"locale/names/script/short/v1",
VarZeroCow<'static, str>,
#[cfg(feature = "datagen")]
attributes_domain = "locale_names_script",
);
icu_provider::data_marker!(
LocaleNamesVariantLongV1,
"locale/names/variant/long/v1",
VarZeroCow<'static, str>,
#[cfg(feature = "datagen")]
attributes_domain = "locale_names_variant",
);
icu_provider::data_marker!(
LocaleNamesVariantShortV1,
"locale/names/variant/short/v1",
VarZeroCow<'static, str>,
#[cfg(feature = "datagen")]
attributes_domain = "locale_names_variant",
);