#[derive(Debug, Eq, PartialEq, Clone, Copy, Default, Hash)]
#[non_exhaustive]
pub struct DecimalFormatterOptions {
pub grouping_strategy: Option<GroupingStrategy>,
}
impl From<GroupingStrategy> for DecimalFormatterOptions {
fn from(grouping_strategy: GroupingStrategy) -> Self {
Self {
grouping_strategy: Some(grouping_strategy),
}
}
}
#[non_exhaustive]
#[derive(Debug, Eq, PartialEq, Clone, Copy, Hash, Default)]
pub enum GroupingStrategy {
#[default]
Auto,
Never,
Always,
Min2,
}
#[cfg(feature = "unstable")]
#[derive(Debug, Eq, PartialEq, Clone)]
#[non_exhaustive]
pub struct CompactDecimalFormatterOptions {
pub grouping_strategy: Option<GroupingStrategy>,
}
#[cfg(feature = "unstable")]
impl Default for CompactDecimalFormatterOptions {
fn default() -> Self {
GroupingStrategy::Min2.into()
}
}
#[cfg(feature = "unstable")]
impl From<DecimalFormatterOptions> for CompactDecimalFormatterOptions {
fn from(decimal_formatter_options: DecimalFormatterOptions) -> Self {
Self {
grouping_strategy: decimal_formatter_options.grouping_strategy,
}
}
}
#[cfg(feature = "unstable")]
impl From<CompactDecimalFormatterOptions> for DecimalFormatterOptions {
fn from(decimal_formatter_options: CompactDecimalFormatterOptions) -> Self {
Self {
grouping_strategy: decimal_formatter_options.grouping_strategy,
}
}
}
#[cfg(feature = "unstable")]
impl From<GroupingStrategy> for CompactDecimalFormatterOptions {
fn from(grouping_strategy: GroupingStrategy) -> Self {
Self {
grouping_strategy: Some(grouping_strategy),
}
}
}