///|
fn date_autoformatter_index(unit : String) -> Int32 raise @core.DataError {
match unit {
"year" => 0
"month" => 1
"day" => 2
"hour" => 3
"minute" => 4
"second" => 5
"microsecond" => 6
_ =>
raise @core.DataError::InvalidTicks(
message="unknown date autoformatter unit: " + unit,
)
}
}
///|
/// Return copied defaults in year/month/day/hour/minute/second/microsecond order.
pub fn date_autoformats() -> Array[String] {
current.val.date_autoformats.copy()
}
///|
/// Read a date.autoformatter default by its unit name, such as "minute".
pub fn date_autoformatter(unit : String) -> String raise @core.DataError {
current.val.date_autoformats[date_autoformatter_index(unit)]
}
///|
/// Configure newly constructed automatic date formatters. Existing objects
/// retain the defaults captured when they were constructed.
pub fn set_date_autoformatter(
unit : String,
format : String,
) -> Unit raise @core.DataError {
current.val.date_autoformats[date_autoformatter_index(unit)] = format
}
///|
pub fn RcParams::date_autoformats(self : RcParams) -> Array[String] {
self.date_autoformats.copy()
}
///|
pub fn RcParams::date_autoformatter(
self : RcParams,
unit : String,
) -> String raise @core.DataError {
self.date_autoformats[date_autoformatter_index(unit)]
}