use std::path::PathBuf;
use eure::query::{CacheOptions, parse_duration};
#[derive(clap::Args, Clone, Default)]
pub struct CacheArgs {
#[arg(long)]
pub offline: bool,
#[arg(long)]
pub refresh: bool,
#[arg(long)]
pub max_age: Option<String>,
#[arg(long)]
pub cache_dir: Option<PathBuf>,
}
impl CacheArgs {
pub fn to_cache_options(&self) -> CacheOptions {
CacheOptions {
cache_dir: self.cache_dir.clone(),
offline: self.offline,
refresh: self.refresh,
max_age: self.max_age.as_ref().and_then(|s| parse_duration(s)),
..Default::default()
}
}
}