#![allow(clippy::exhaustive_structs, clippy::exhaustive_enums)]
use alloc::borrow::Cow;
use icu_provider::prelude::*;
#[icu_provider::data_struct(DigitalDurationDataV1Marker = "duration/digital@1")]
#[derive(Debug, Clone, PartialEq)]
#[cfg_attr(feature = "datagen", derive(serde::Serialize, databake::Bake))]
#[cfg_attr(feature = "datagen", databake(path = icu_experimental::duration::provider))]
#[cfg_attr(feature = "serde", derive(serde::Deserialize))]
pub struct DigitalDurationDataV1<'data> {
#[cfg_attr(feature = "serde", serde(borrow))]
pub separator: Cow<str, 'data>,
pub hms_padding: HmsPadding,
pub hm_padding: HmPadding,
pub ms_padding: MsPadding,
}
#[derive(Debug, Clone, Copy, PartialEq)]
#[cfg_attr(feature = "datagen", derive(serde::Serialize, databake::Bake))]
#[cfg_attr(feature = "datagen", databake(path = icu_experimental::duration::provider))]
#[cfg_attr(feature = "serde", derive(serde::Deserialize))]
pub struct HmsPadding {
pub h: u8,
pub m: u8,
pub s: u8,
}
#[derive(Debug, Clone, Copy, PartialEq)]
#[cfg_attr(feature = "datagen", derive(serde::Serialize, databake::Bake))]
#[cfg_attr(feature = "datagen", databake(path = icu_experimental::duration::provider))]
#[cfg_attr(feature = "serde", derive(serde::Deserialize))]
pub struct MsPadding {
pub m: u8,
pub s: u8,
}
#[derive(Debug, Clone, Copy, PartialEq)]
#[cfg_attr(feature = "datagen", derive(serde::Serialize, databake::Bake))]
#[cfg_attr(feature = "datagen", databake(path = icu_experimental::duration::provider))]
#[cfg_attr(feature = "serde", derive(serde::Deserialize))]
pub struct HmPadding {
pub h: u8,
pub m: u8,
}