#[must_use]
pub fn leaf_label(dotted_path: &str) -> Option<&'static str> {
Some(match dotted_path {
"registry.session_age_seconds" => "Session Age (seconds)",
"registry.token_cache_ttl_seconds" => "Token Cache TTL (seconds)",
"registry.token_db_retry_delay_ms" => "Token DB Retry Delay (ms)",
"registry.download_timeout_seconds" => "Download Timeout (seconds)",
"registry.download_counter_flush_seconds" => "Download Counter Flush (seconds)",
"registry.auth_failed_attempts_window_seconds" => "Auth Failed Attempts Window (seconds)",
"proxy.connect_timeout_seconds"
| "s3.connect_timeout_seconds"
| "gcs.connect_timeout_seconds" => "Connect Timeout (seconds)",
"proxy.request_timeout_seconds"
| "s3.request_timeout_seconds"
| "gcs.request_timeout_seconds" => "Request Timeout (seconds)",
"toolchain.max_size" => "Max Size (MB)",
"docs.build_timeout_seconds" => "Build Timeout (seconds)",
"registry.max_db_connections" => "Max DB Connections",
"registry.token_db_retry_count" => "Token DB Retry Count",
"proxy.url" => "URL",
"proxy.index" => "Index URL",
"proxy.api" => "API URL",
"postgresql.db" => "Database",
"postgresql.address" => "Address",
"local.ip" => "IP",
"s3.allow_http" | "gcs.allow_http" => "Allow HTTP",
"registry.data_dir" => "Data Directory",
"proxy.num_threads" => "Number of Threads",
"s3.cratesio_bucket" | "gcs.cratesio_bucket" => "Crates.io Bucket",
_ => return None,
})
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn returns_overrides_for_known_keys() {
assert_eq!(
leaf_label("registry.session_age_seconds"),
Some("Session Age (seconds)")
);
assert_eq!(leaf_label("proxy.url"), Some("URL"));
assert_eq!(leaf_label("local.ip"), Some("IP"));
}
#[test]
fn returns_none_for_humanizable_keys() {
assert_eq!(leaf_label("docs.enabled"), None);
assert_eq!(leaf_label("registry.cache_size"), None);
assert_eq!(leaf_label("not.a.real.key"), None);
}
}