1use crate::format_description::modifier;
4
5#[non_exhaustive]
7#[allow(deprecated)]
8#[derive(#[automatically_derived]
#[allow(deprecated)]
impl ::core::fmt::Debug for Component {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
match self {
Component::Day(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f, "Day",
&__self_0),
Component::MonthShort(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"MonthShort", &__self_0),
Component::MonthLong(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"MonthLong", &__self_0),
Component::MonthNumerical(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"MonthNumerical", &__self_0),
Component::Ordinal(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"Ordinal", &__self_0),
Component::WeekdayShort(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"WeekdayShort", &__self_0),
Component::WeekdayLong(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"WeekdayLong", &__self_0),
Component::WeekdaySunday(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"WeekdaySunday", &__self_0),
Component::WeekdayMonday(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"WeekdayMonday", &__self_0),
Component::WeekNumberIso(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"WeekNumberIso", &__self_0),
Component::WeekNumberSunday(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"WeekNumberSunday", &__self_0),
Component::WeekNumberMonday(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"WeekNumberMonday", &__self_0),
Component::CalendarYearFullExtendedRange(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"CalendarYearFullExtendedRange", &__self_0),
Component::CalendarYearFullStandardRange(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"CalendarYearFullStandardRange", &__self_0),
Component::IsoYearFullExtendedRange(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"IsoYearFullExtendedRange", &__self_0),
Component::IsoYearFullStandardRange(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"IsoYearFullStandardRange", &__self_0),
Component::CalendarYearCenturyExtendedRange(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"CalendarYearCenturyExtendedRange", &__self_0),
Component::CalendarYearCenturyStandardRange(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"CalendarYearCenturyStandardRange", &__self_0),
Component::IsoYearCenturyExtendedRange(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"IsoYearCenturyExtendedRange", &__self_0),
Component::IsoYearCenturyStandardRange(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"IsoYearCenturyStandardRange", &__self_0),
Component::CalendarYearLastTwo(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"CalendarYearLastTwo", &__self_0),
Component::IsoYearLastTwo(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"IsoYearLastTwo", &__self_0),
Component::Hour12(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f, "Hour12",
&__self_0),
Component::Hour24(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f, "Hour24",
&__self_0),
Component::Minute(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f, "Minute",
&__self_0),
Component::Period(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f, "Period",
&__self_0),
Component::Second(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f, "Second",
&__self_0),
Component::Subsecond(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"Subsecond", &__self_0),
Component::OffsetHour(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"OffsetHour", &__self_0),
Component::OffsetMinute(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"OffsetMinute", &__self_0),
Component::OffsetSecond(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"OffsetSecond", &__self_0),
Component::Ignore(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f, "Ignore",
&__self_0),
Component::UnixTimestampSecond(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"UnixTimestampSecond", &__self_0),
Component::UnixTimestampMillisecond(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"UnixTimestampMillisecond", &__self_0),
Component::UnixTimestampMicrosecond(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"UnixTimestampMicrosecond", &__self_0),
Component::UnixTimestampNanosecond(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"UnixTimestampNanosecond", &__self_0),
Component::End(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f, "End",
&__self_0),
Component::Month(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f, "Month",
&__self_0),
Component::Weekday(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"Weekday", &__self_0),
Component::WeekNumber(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"WeekNumber", &__self_0),
Component::Hour(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f, "Hour",
&__self_0),
Component::UnixTimestamp(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"UnixTimestamp", &__self_0),
Component::Year(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f, "Year",
&__self_0),
}
}
}Debug, #[automatically_derived]
#[allow(deprecated)]
impl ::core::clone::Clone for Component {
#[inline]
fn clone(&self) -> Component {
let _: ::core::clone::AssertParamIsClone<modifier::Day>;
let _: ::core::clone::AssertParamIsClone<modifier::MonthShort>;
let _: ::core::clone::AssertParamIsClone<modifier::MonthLong>;
let _: ::core::clone::AssertParamIsClone<modifier::MonthNumerical>;
let _: ::core::clone::AssertParamIsClone<modifier::Ordinal>;
let _: ::core::clone::AssertParamIsClone<modifier::WeekdayShort>;
let _: ::core::clone::AssertParamIsClone<modifier::WeekdayLong>;
let _: ::core::clone::AssertParamIsClone<modifier::WeekdaySunday>;
let _: ::core::clone::AssertParamIsClone<modifier::WeekdayMonday>;
let _: ::core::clone::AssertParamIsClone<modifier::WeekNumberIso>;
let _: ::core::clone::AssertParamIsClone<modifier::WeekNumberSunday>;
let _: ::core::clone::AssertParamIsClone<modifier::WeekNumberMonday>;
let _:
::core::clone::AssertParamIsClone<modifier::CalendarYearFullExtendedRange>;
let _:
::core::clone::AssertParamIsClone<modifier::CalendarYearFullStandardRange>;
let _:
::core::clone::AssertParamIsClone<modifier::IsoYearFullExtendedRange>;
let _:
::core::clone::AssertParamIsClone<modifier::IsoYearFullStandardRange>;
let _:
::core::clone::AssertParamIsClone<modifier::CalendarYearCenturyExtendedRange>;
let _:
::core::clone::AssertParamIsClone<modifier::CalendarYearCenturyStandardRange>;
let _:
::core::clone::AssertParamIsClone<modifier::IsoYearCenturyExtendedRange>;
let _:
::core::clone::AssertParamIsClone<modifier::IsoYearCenturyStandardRange>;
let _:
::core::clone::AssertParamIsClone<modifier::CalendarYearLastTwo>;
let _: ::core::clone::AssertParamIsClone<modifier::IsoYearLastTwo>;
let _: ::core::clone::AssertParamIsClone<modifier::Hour12>;
let _: ::core::clone::AssertParamIsClone<modifier::Hour24>;
let _: ::core::clone::AssertParamIsClone<modifier::Minute>;
let _: ::core::clone::AssertParamIsClone<modifier::Period>;
let _: ::core::clone::AssertParamIsClone<modifier::Second>;
let _: ::core::clone::AssertParamIsClone<modifier::Subsecond>;
let _: ::core::clone::AssertParamIsClone<modifier::OffsetHour>;
let _: ::core::clone::AssertParamIsClone<modifier::OffsetMinute>;
let _: ::core::clone::AssertParamIsClone<modifier::OffsetSecond>;
let _: ::core::clone::AssertParamIsClone<modifier::Ignore>;
let _:
::core::clone::AssertParamIsClone<modifier::UnixTimestampSecond>;
let _:
::core::clone::AssertParamIsClone<modifier::UnixTimestampMillisecond>;
let _:
::core::clone::AssertParamIsClone<modifier::UnixTimestampMicrosecond>;
let _:
::core::clone::AssertParamIsClone<modifier::UnixTimestampNanosecond>;
let _: ::core::clone::AssertParamIsClone<modifier::End>;
let _: ::core::clone::AssertParamIsClone<modifier::Month>;
let _: ::core::clone::AssertParamIsClone<modifier::Weekday>;
let _: ::core::clone::AssertParamIsClone<modifier::WeekNumber>;
let _: ::core::clone::AssertParamIsClone<modifier::Hour>;
let _: ::core::clone::AssertParamIsClone<modifier::UnixTimestamp>;
let _: ::core::clone::AssertParamIsClone<modifier::Year>;
*self
}
}Clone, #[automatically_derived]
#[allow(deprecated)]
impl ::core::marker::Copy for Component { }Copy, #[automatically_derived]
#[allow(deprecated)]
impl ::core::cmp::PartialEq for Component {
#[inline]
fn eq(&self, other: &Component) -> bool {
let __self_discr = ::core::intrinsics::discriminant_value(self);
let __arg1_discr = ::core::intrinsics::discriminant_value(other);
__self_discr == __arg1_discr &&
match (self, other) {
(Component::Day(__self_0), Component::Day(__arg1_0)) =>
__self_0 == __arg1_0,
(Component::MonthShort(__self_0),
Component::MonthShort(__arg1_0)) => __self_0 == __arg1_0,
(Component::MonthLong(__self_0),
Component::MonthLong(__arg1_0)) => __self_0 == __arg1_0,
(Component::MonthNumerical(__self_0),
Component::MonthNumerical(__arg1_0)) =>
__self_0 == __arg1_0,
(Component::Ordinal(__self_0), Component::Ordinal(__arg1_0))
=> __self_0 == __arg1_0,
(Component::WeekdayShort(__self_0),
Component::WeekdayShort(__arg1_0)) => __self_0 == __arg1_0,
(Component::WeekdayLong(__self_0),
Component::WeekdayLong(__arg1_0)) => __self_0 == __arg1_0,
(Component::WeekdaySunday(__self_0),
Component::WeekdaySunday(__arg1_0)) => __self_0 == __arg1_0,
(Component::WeekdayMonday(__self_0),
Component::WeekdayMonday(__arg1_0)) => __self_0 == __arg1_0,
(Component::WeekNumberIso(__self_0),
Component::WeekNumberIso(__arg1_0)) => __self_0 == __arg1_0,
(Component::WeekNumberSunday(__self_0),
Component::WeekNumberSunday(__arg1_0)) =>
__self_0 == __arg1_0,
(Component::WeekNumberMonday(__self_0),
Component::WeekNumberMonday(__arg1_0)) =>
__self_0 == __arg1_0,
(Component::CalendarYearFullExtendedRange(__self_0),
Component::CalendarYearFullExtendedRange(__arg1_0)) =>
__self_0 == __arg1_0,
(Component::CalendarYearFullStandardRange(__self_0),
Component::CalendarYearFullStandardRange(__arg1_0)) =>
__self_0 == __arg1_0,
(Component::IsoYearFullExtendedRange(__self_0),
Component::IsoYearFullExtendedRange(__arg1_0)) =>
__self_0 == __arg1_0,
(Component::IsoYearFullStandardRange(__self_0),
Component::IsoYearFullStandardRange(__arg1_0)) =>
__self_0 == __arg1_0,
(Component::CalendarYearCenturyExtendedRange(__self_0),
Component::CalendarYearCenturyExtendedRange(__arg1_0)) =>
__self_0 == __arg1_0,
(Component::CalendarYearCenturyStandardRange(__self_0),
Component::CalendarYearCenturyStandardRange(__arg1_0)) =>
__self_0 == __arg1_0,
(Component::IsoYearCenturyExtendedRange(__self_0),
Component::IsoYearCenturyExtendedRange(__arg1_0)) =>
__self_0 == __arg1_0,
(Component::IsoYearCenturyStandardRange(__self_0),
Component::IsoYearCenturyStandardRange(__arg1_0)) =>
__self_0 == __arg1_0,
(Component::CalendarYearLastTwo(__self_0),
Component::CalendarYearLastTwo(__arg1_0)) =>
__self_0 == __arg1_0,
(Component::IsoYearLastTwo(__self_0),
Component::IsoYearLastTwo(__arg1_0)) =>
__self_0 == __arg1_0,
(Component::Hour12(__self_0), Component::Hour12(__arg1_0)) =>
__self_0 == __arg1_0,
(Component::Hour24(__self_0), Component::Hour24(__arg1_0)) =>
__self_0 == __arg1_0,
(Component::Minute(__self_0), Component::Minute(__arg1_0)) =>
__self_0 == __arg1_0,
(Component::Period(__self_0), Component::Period(__arg1_0)) =>
__self_0 == __arg1_0,
(Component::Second(__self_0), Component::Second(__arg1_0)) =>
__self_0 == __arg1_0,
(Component::Subsecond(__self_0),
Component::Subsecond(__arg1_0)) => __self_0 == __arg1_0,
(Component::OffsetHour(__self_0),
Component::OffsetHour(__arg1_0)) => __self_0 == __arg1_0,
(Component::OffsetMinute(__self_0),
Component::OffsetMinute(__arg1_0)) => __self_0 == __arg1_0,
(Component::OffsetSecond(__self_0),
Component::OffsetSecond(__arg1_0)) => __self_0 == __arg1_0,
(Component::Ignore(__self_0), Component::Ignore(__arg1_0)) =>
__self_0 == __arg1_0,
(Component::UnixTimestampSecond(__self_0),
Component::UnixTimestampSecond(__arg1_0)) =>
__self_0 == __arg1_0,
(Component::UnixTimestampMillisecond(__self_0),
Component::UnixTimestampMillisecond(__arg1_0)) =>
__self_0 == __arg1_0,
(Component::UnixTimestampMicrosecond(__self_0),
Component::UnixTimestampMicrosecond(__arg1_0)) =>
__self_0 == __arg1_0,
(Component::UnixTimestampNanosecond(__self_0),
Component::UnixTimestampNanosecond(__arg1_0)) =>
__self_0 == __arg1_0,
(Component::End(__self_0), Component::End(__arg1_0)) =>
__self_0 == __arg1_0,
(Component::Month(__self_0), Component::Month(__arg1_0)) =>
__self_0 == __arg1_0,
(Component::Weekday(__self_0), Component::Weekday(__arg1_0))
=> __self_0 == __arg1_0,
(Component::WeekNumber(__self_0),
Component::WeekNumber(__arg1_0)) => __self_0 == __arg1_0,
(Component::Hour(__self_0), Component::Hour(__arg1_0)) =>
__self_0 == __arg1_0,
(Component::UnixTimestamp(__self_0),
Component::UnixTimestamp(__arg1_0)) => __self_0 == __arg1_0,
(Component::Year(__self_0), Component::Year(__arg1_0)) =>
__self_0 == __arg1_0,
_ => unsafe { ::core::intrinsics::unreachable() }
}
}
}PartialEq, #[automatically_derived]
#[allow(deprecated)]
impl ::core::cmp::Eq for Component {
#[inline]
#[doc(hidden)]
#[coverage(off)]
fn assert_fields_are_eq(&self) {
let _: ::core::cmp::AssertParamIsEq<modifier::Day>;
let _: ::core::cmp::AssertParamIsEq<modifier::MonthShort>;
let _: ::core::cmp::AssertParamIsEq<modifier::MonthLong>;
let _: ::core::cmp::AssertParamIsEq<modifier::MonthNumerical>;
let _: ::core::cmp::AssertParamIsEq<modifier::Ordinal>;
let _: ::core::cmp::AssertParamIsEq<modifier::WeekdayShort>;
let _: ::core::cmp::AssertParamIsEq<modifier::WeekdayLong>;
let _: ::core::cmp::AssertParamIsEq<modifier::WeekdaySunday>;
let _: ::core::cmp::AssertParamIsEq<modifier::WeekdayMonday>;
let _: ::core::cmp::AssertParamIsEq<modifier::WeekNumberIso>;
let _: ::core::cmp::AssertParamIsEq<modifier::WeekNumberSunday>;
let _: ::core::cmp::AssertParamIsEq<modifier::WeekNumberMonday>;
let _:
::core::cmp::AssertParamIsEq<modifier::CalendarYearFullExtendedRange>;
let _:
::core::cmp::AssertParamIsEq<modifier::CalendarYearFullStandardRange>;
let _:
::core::cmp::AssertParamIsEq<modifier::IsoYearFullExtendedRange>;
let _:
::core::cmp::AssertParamIsEq<modifier::IsoYearFullStandardRange>;
let _:
::core::cmp::AssertParamIsEq<modifier::CalendarYearCenturyExtendedRange>;
let _:
::core::cmp::AssertParamIsEq<modifier::CalendarYearCenturyStandardRange>;
let _:
::core::cmp::AssertParamIsEq<modifier::IsoYearCenturyExtendedRange>;
let _:
::core::cmp::AssertParamIsEq<modifier::IsoYearCenturyStandardRange>;
let _: ::core::cmp::AssertParamIsEq<modifier::CalendarYearLastTwo>;
let _: ::core::cmp::AssertParamIsEq<modifier::IsoYearLastTwo>;
let _: ::core::cmp::AssertParamIsEq<modifier::Hour12>;
let _: ::core::cmp::AssertParamIsEq<modifier::Hour24>;
let _: ::core::cmp::AssertParamIsEq<modifier::Minute>;
let _: ::core::cmp::AssertParamIsEq<modifier::Period>;
let _: ::core::cmp::AssertParamIsEq<modifier::Second>;
let _: ::core::cmp::AssertParamIsEq<modifier::Subsecond>;
let _: ::core::cmp::AssertParamIsEq<modifier::OffsetHour>;
let _: ::core::cmp::AssertParamIsEq<modifier::OffsetMinute>;
let _: ::core::cmp::AssertParamIsEq<modifier::OffsetSecond>;
let _: ::core::cmp::AssertParamIsEq<modifier::Ignore>;
let _: ::core::cmp::AssertParamIsEq<modifier::UnixTimestampSecond>;
let _:
::core::cmp::AssertParamIsEq<modifier::UnixTimestampMillisecond>;
let _:
::core::cmp::AssertParamIsEq<modifier::UnixTimestampMicrosecond>;
let _:
::core::cmp::AssertParamIsEq<modifier::UnixTimestampNanosecond>;
let _: ::core::cmp::AssertParamIsEq<modifier::End>;
let _: ::core::cmp::AssertParamIsEq<modifier::Month>;
let _: ::core::cmp::AssertParamIsEq<modifier::Weekday>;
let _: ::core::cmp::AssertParamIsEq<modifier::WeekNumber>;
let _: ::core::cmp::AssertParamIsEq<modifier::Hour>;
let _: ::core::cmp::AssertParamIsEq<modifier::UnixTimestamp>;
let _: ::core::cmp::AssertParamIsEq<modifier::Year>;
}
}Eq)]
9pub enum Component {
10 Day(modifier::Day),
12 MonthShort(modifier::MonthShort),
14 MonthLong(modifier::MonthLong),
16 MonthNumerical(modifier::MonthNumerical),
18 Ordinal(modifier::Ordinal),
20 WeekdayShort(modifier::WeekdayShort),
22 WeekdayLong(modifier::WeekdayLong),
24 WeekdaySunday(modifier::WeekdaySunday),
26 WeekdayMonday(modifier::WeekdayMonday),
28 WeekNumberIso(modifier::WeekNumberIso),
31 WeekNumberSunday(modifier::WeekNumberSunday),
33 WeekNumberMonday(modifier::WeekNumberMonday),
35 CalendarYearFullExtendedRange(modifier::CalendarYearFullExtendedRange),
37 CalendarYearFullStandardRange(modifier::CalendarYearFullStandardRange),
39 IsoYearFullExtendedRange(modifier::IsoYearFullExtendedRange),
41 IsoYearFullStandardRange(modifier::IsoYearFullStandardRange),
43 CalendarYearCenturyExtendedRange(modifier::CalendarYearCenturyExtendedRange),
45 CalendarYearCenturyStandardRange(modifier::CalendarYearCenturyStandardRange),
47 IsoYearCenturyExtendedRange(modifier::IsoYearCenturyExtendedRange),
49 IsoYearCenturyStandardRange(modifier::IsoYearCenturyStandardRange),
51 CalendarYearLastTwo(modifier::CalendarYearLastTwo),
53 IsoYearLastTwo(modifier::IsoYearLastTwo),
55 Hour12(modifier::Hour12),
57 Hour24(modifier::Hour24),
59 Minute(modifier::Minute),
61 Period(modifier::Period),
63 Second(modifier::Second),
65 Subsecond(modifier::Subsecond),
67 OffsetHour(modifier::OffsetHour),
69 OffsetMinute(modifier::OffsetMinute),
71 OffsetSecond(modifier::OffsetSecond),
73 Ignore(modifier::Ignore),
75 UnixTimestampSecond(modifier::UnixTimestampSecond),
77 UnixTimestampMillisecond(modifier::UnixTimestampMillisecond),
79 UnixTimestampMicrosecond(modifier::UnixTimestampMicrosecond),
81 UnixTimestampNanosecond(modifier::UnixTimestampNanosecond),
83 End(modifier::End),
86
87 #[deprecated(
92 since = "0.3.48",
93 note = "use `MonthShort`, `MonthLong`, or `MonthNumeric` instead"
94 )]
95 Month(modifier::Month),
96 #[deprecated(
98 since = "0.3.48",
99 note = "use `WeekdayShort`, `WeekdayLong`, or `WeekdaySunday`, or `WeekdayMonday` instead"
100 )]
101 Weekday(modifier::Weekday),
102 #[deprecated(
104 since = "0.3.48",
105 note = "use `WeekNumberIso`, `WeekNumberSunday`, or `WeekNumberMonday` instead"
106 )]
107 WeekNumber(modifier::WeekNumber),
108 #[deprecated(since = "0.3.48", note = "use `Hour12` or `Hour24` instead")]
110 Hour(modifier::Hour),
111 #[deprecated(
113 since = "0.3.48",
114 note = "use `UnixTimestampSeconds`, `UnixTimestampMilliseconds`, \
115 `UnixTimestampMicroseconds`, or `UnixTimestampNanoseconds` instead"
116 )]
117 UnixTimestamp(modifier::UnixTimestamp),
118 #[deprecated(
120 since = "0.3.48",
121 note = "use one of the various `Year*` components instead"
122 )]
123 Year(modifier::Year),
124}
125
126impl From<Component> for super::format_description_v3::FormatDescriptionV3Inner<'_> {
127 #[inline]
128 fn from(component: Component) -> Self {
129 match component {
130 Component::Day(modifier) => Self::Day(modifier),
131 Component::MonthShort(modifier) => Self::MonthShort(modifier),
132 Component::MonthLong(modifier) => Self::MonthLong(modifier),
133 Component::MonthNumerical(modifier) => Self::MonthNumerical(modifier),
134 Component::Ordinal(modifier) => Self::Ordinal(modifier),
135 Component::WeekdayShort(modifier) => Self::WeekdayShort(modifier),
136 Component::WeekdayLong(modifier) => Self::WeekdayLong(modifier),
137 Component::WeekdaySunday(modifier) => Self::WeekdaySunday(modifier),
138 Component::WeekdayMonday(modifier) => Self::WeekdayMonday(modifier),
139 Component::WeekNumberIso(modifier) => Self::WeekNumberIso(modifier),
140 Component::WeekNumberSunday(modifier) => Self::WeekNumberSunday(modifier),
141 Component::WeekNumberMonday(modifier) => Self::WeekNumberMonday(modifier),
142 Component::CalendarYearFullExtendedRange(modifier) => {
143 Self::CalendarYearFullExtendedRange(modifier)
144 }
145 Component::CalendarYearFullStandardRange(modifier) => {
146 Self::CalendarYearFullStandardRange(modifier)
147 }
148 Component::IsoYearFullExtendedRange(modifier) => {
149 Self::IsoYearFullExtendedRange(modifier)
150 }
151 Component::IsoYearFullStandardRange(modifier) => {
152 Self::IsoYearFullStandardRange(modifier)
153 }
154 Component::CalendarYearCenturyExtendedRange(modifier) => {
155 Self::CalendarYearCenturyExtendedRange(modifier)
156 }
157 Component::CalendarYearCenturyStandardRange(modifier) => {
158 Self::CalendarYearCenturyStandardRange(modifier)
159 }
160 Component::IsoYearCenturyExtendedRange(modifier) => {
161 Self::IsoYearCenturyExtendedRange(modifier)
162 }
163 Component::IsoYearCenturyStandardRange(modifier) => {
164 Self::IsoYearCenturyStandardRange(modifier)
165 }
166 Component::CalendarYearLastTwo(modifier) => Self::CalendarYearLastTwo(modifier),
167 Component::IsoYearLastTwo(modifier) => Self::IsoYearLastTwo(modifier),
168 Component::Hour12(modifier) => Self::Hour12(modifier),
169 Component::Hour24(modifier) => Self::Hour24(modifier),
170 Component::Minute(modifier) => Self::Minute(modifier),
171 Component::Period(modifier) => Self::Period(modifier),
172 Component::Second(modifier) => Self::Second(modifier),
173 Component::Subsecond(modifier) => Self::Subsecond(modifier),
174 Component::OffsetHour(modifier) => Self::OffsetHour(modifier),
175 Component::OffsetMinute(modifier) => Self::OffsetMinute(modifier),
176 Component::OffsetSecond(modifier) => Self::OffsetSecond(modifier),
177 Component::Ignore(modifier) => Self::Ignore(modifier),
178 Component::UnixTimestampSecond(modifier) => Self::UnixTimestampSecond(modifier),
179 Component::UnixTimestampMillisecond(modifier) => {
180 Self::UnixTimestampMillisecond(modifier)
181 }
182 Component::UnixTimestampMicrosecond(modifier) => {
183 Self::UnixTimestampMicrosecond(modifier)
184 }
185 Component::UnixTimestampNanosecond(modifier) => Self::UnixTimestampNanosecond(modifier),
186 Component::End(modifier) => Self::End(modifier),
187
188 #[expect(deprecated)]
190 Component::Month(modifier) => match modifier.repr {
191 modifier::MonthRepr::Short => Self::MonthShort(
192 modifier::MonthShort::default().with_case_sensitive(modifier.case_sensitive),
193 ),
194 modifier::MonthRepr::Long => Self::MonthLong(
195 modifier::MonthLong::default().with_case_sensitive(modifier.case_sensitive),
196 ),
197 modifier::MonthRepr::Numerical => Self::MonthNumerical(
198 modifier::MonthNumerical::default().with_padding(modifier.padding),
199 ),
200 },
201 #[expect(deprecated)]
202 Component::Weekday(modifier) => match modifier.repr {
203 modifier::WeekdayRepr::Short => Self::WeekdayShort(
204 modifier::WeekdayShort::default().with_case_sensitive(modifier.case_sensitive),
205 ),
206 modifier::WeekdayRepr::Long => Self::WeekdayLong(
207 modifier::WeekdayLong::default().with_case_sensitive(modifier.case_sensitive),
208 ),
209 modifier::WeekdayRepr::Sunday => Self::WeekdaySunday(
210 modifier::WeekdaySunday::default().with_one_indexed(modifier.one_indexed),
211 ),
212 modifier::WeekdayRepr::Monday => Self::WeekdayMonday(
213 modifier::WeekdayMonday::default().with_one_indexed(modifier.one_indexed),
214 ),
215 },
216 #[expect(deprecated)]
217 Component::WeekNumber(modifier) => match modifier.repr {
218 modifier::WeekNumberRepr::Iso => Self::WeekNumberIso(
219 modifier::WeekNumberIso::default().with_padding(modifier.padding),
220 ),
221 modifier::WeekNumberRepr::Sunday => Self::WeekNumberSunday(
222 modifier::WeekNumberSunday::default().with_padding(modifier.padding),
223 ),
224 modifier::WeekNumberRepr::Monday => Self::WeekNumberMonday(
225 modifier::WeekNumberMonday::default().with_padding(modifier.padding),
226 ),
227 },
228 #[expect(deprecated)]
229 Component::Hour(modifier) => {
230 if modifier.is_12_hour_clock {
231 Self::Hour12(modifier::Hour12::default().with_padding(modifier.padding))
232 } else {
233 Self::Hour24(modifier::Hour24::default().with_padding(modifier.padding))
234 }
235 }
236 #[expect(deprecated)]
237 Component::UnixTimestamp(modifier) => match modifier.precision {
238 modifier::UnixTimestampPrecision::Second => Self::UnixTimestampSecond(
239 modifier::UnixTimestampSecond::default()
240 .with_sign_is_mandatory(modifier.sign_is_mandatory),
241 ),
242 modifier::UnixTimestampPrecision::Millisecond => Self::UnixTimestampMillisecond(
243 modifier::UnixTimestampMillisecond::default()
244 .with_sign_is_mandatory(modifier.sign_is_mandatory),
245 ),
246 modifier::UnixTimestampPrecision::Microsecond => Self::UnixTimestampMicrosecond(
247 modifier::UnixTimestampMicrosecond::default()
248 .with_sign_is_mandatory(modifier.sign_is_mandatory),
249 ),
250 modifier::UnixTimestampPrecision::Nanosecond => Self::UnixTimestampNanosecond(
251 modifier::UnixTimestampNanosecond::default()
252 .with_sign_is_mandatory(modifier.sign_is_mandatory),
253 ),
254 },
255 #[expect(deprecated)]
256 Component::Year(modifier) => {
257 match (modifier.iso_week_based, modifier.repr, modifier.range) {
258 (true, modifier::YearRepr::Full, modifier::YearRange::Standard) => {
259 Self::IsoYearFullStandardRange(
260 modifier::IsoYearFullStandardRange::default()
261 .with_padding(modifier.padding)
262 .with_sign_is_mandatory(modifier.sign_is_mandatory),
263 )
264 }
265 (true, modifier::YearRepr::Full, modifier::YearRange::Extended) => {
266 Self::IsoYearFullExtendedRange(
267 modifier::IsoYearFullExtendedRange::default()
268 .with_padding(modifier.padding)
269 .with_sign_is_mandatory(modifier.sign_is_mandatory),
270 )
271 }
272 (false, modifier::YearRepr::Full, modifier::YearRange::Standard) => {
273 Self::CalendarYearFullStandardRange(
274 modifier::CalendarYearFullStandardRange::default()
275 .with_padding(modifier.padding)
276 .with_sign_is_mandatory(modifier.sign_is_mandatory),
277 )
278 }
279 (false, modifier::YearRepr::Full, modifier::YearRange::Extended) => {
280 Self::CalendarYearFullExtendedRange(
281 modifier::CalendarYearFullExtendedRange::default()
282 .with_padding(modifier.padding)
283 .with_sign_is_mandatory(modifier.sign_is_mandatory),
284 )
285 }
286 (true, modifier::YearRepr::Century, modifier::YearRange::Standard) => {
287 Self::IsoYearCenturyStandardRange(
288 modifier::IsoYearCenturyStandardRange::default()
289 .with_padding(modifier.padding)
290 .with_sign_is_mandatory(modifier.sign_is_mandatory),
291 )
292 }
293 (true, modifier::YearRepr::Century, modifier::YearRange::Extended) => {
294 Self::IsoYearCenturyExtendedRange(
295 modifier::IsoYearCenturyExtendedRange::default()
296 .with_padding(modifier.padding)
297 .with_sign_is_mandatory(modifier.sign_is_mandatory),
298 )
299 }
300 (false, modifier::YearRepr::Century, modifier::YearRange::Standard) => {
301 Self::CalendarYearCenturyStandardRange(
302 modifier::CalendarYearCenturyStandardRange::default()
303 .with_padding(modifier.padding)
304 .with_sign_is_mandatory(modifier.sign_is_mandatory),
305 )
306 }
307 (false, modifier::YearRepr::Century, modifier::YearRange::Extended) => {
308 Self::CalendarYearCenturyExtendedRange(
309 modifier::CalendarYearCenturyExtendedRange::default()
310 .with_padding(modifier.padding)
311 .with_sign_is_mandatory(modifier.sign_is_mandatory),
312 )
313 }
314 (true, modifier::YearRepr::LastTwo, modifier::YearRange::Standard) => {
315 Self::IsoYearLastTwo(
316 modifier::IsoYearLastTwo::default().with_padding(modifier.padding),
317 )
318 }
319 (true, modifier::YearRepr::LastTwo, modifier::YearRange::Extended) => {
320 Self::IsoYearLastTwo(
321 modifier::IsoYearLastTwo::default().with_padding(modifier.padding),
322 )
323 }
324 (false, modifier::YearRepr::LastTwo, modifier::YearRange::Standard) => {
325 Self::CalendarYearLastTwo(
326 modifier::CalendarYearLastTwo::default().with_padding(modifier.padding),
327 )
328 }
329 (false, modifier::YearRepr::LastTwo, modifier::YearRange::Extended) => {
330 Self::CalendarYearLastTwo(
331 modifier::CalendarYearLastTwo::default().with_padding(modifier.padding),
332 )
333 }
334 }
335 }
336 }
337 }
338}