use crate::AnErr;
#[non_exhaustive]
#[repr(u8)]
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[cfg_attr(feature = "tsify", derive(tsify::Tsify))]
#[cfg_attr(feature = "defmt", derive(defmt::Format))]
pub enum DtErrKind {
UnexpectedEnd,
TruncatedDirective,
UnknownItem,
MissingFeature,
MissingRefTimeOrStd,
MustStartWith,
UnsupportedItem,
MismatchedLiteral,
ExpectedUnit,
ExpectedValue,
ExpectedYear,
ExpectedCentury,
ExpectedMonth,
ExpectedDay,
ExpectedDayOfYear,
ExpectedHour,
ExpectedMinute,
ExpectedSecond,
ExpectedFractional,
ExpectedTimestamp,
ExpectedWeekNumber,
ExpectedWeekdayNumber,
ExpectedDigits,
ExpectedMonWeekday,
ExpectedSunWeekday,
ExpectedMonWeek,
ExpectedSunWeek,
MonWeekdayOutOfRange,
SunWeekdayOutOfRange,
InvalidCodeId,
NonMonotonic,
TFieldTooShort,
PFieldTooShort,
InvalidSubmillisecond,
InvalidWeekdayName,
InvalidMonthName,
InvalidMeridiem,
InvalidScale,
InvalidDate,
InvalidTime,
InvalidYear,
InvalidMonth,
InvalidDay,
InvalidDayOfYear,
InvalidIsoWeekYear,
InvalidIsoWeek,
InvalidSunWeek,
InvalidMonWeek,
InvalidHour,
InvalidMinute,
InvalidSecond,
InvalidFractional,
InvalidTimestamp,
InvalidName,
InvalidTimeZone,
OffsetMissingSign,
InvalidOffsetHour,
InvalidOffsetMinute,
InvalidOffsetSecond,
InvalidOffsetColons,
InvalidOffset,
InvalidNumber,
InvalidItem,
InvalidBytes,
InvalidSyntax,
OutOfRange,
MonthOutOfRange,
DayOutOfRange,
DayOfYearOutOfRange,
HourOutOfRange,
MinuteOutOfRange,
SecondOutOfRange,
WeekOutOfRange,
IsoWeekOutOfRange,
YearOutOfRange,
FracOutOfRange,
MjdOutOfRange,
TrailingCharacters,
Incomplete,
InvalidInput,
InvalidLen,
InternalErr,
ConversionFail,
IOErr,
Empty,
}
pub type DtErr = AnErr<DtErrKind, 15>;