use std::path::PathBuf;
use std::time::Duration;
use indexmap::IndexMap;
use typed_builder::TypedBuilder;
#[derive(Debug, Clone, TypedBuilder)]
#[builder(field_defaults(default, setter(prefix = "with_")))]
pub struct ComposeRunOption {
#[builder(default = Duration::from_secs(1))]
pub(crate) wait_interval: Duration,
#[builder(default = Duration::from_millis(96))]
pub(crate) wait_services_interval: Duration,
#[builder(setter(transform = |args: impl IntoIterator<Item = (impl Into<String>, impl Into<String>)>| args.into_iter().map(|(key, value)| (key.into(), value.into())).collect()))]
pub(crate) env: IndexMap<String, String>,
#[builder(setter(strip_option))]
pub(crate) compose_file: Option<PathBuf>,
}
impl Default for ComposeRunOption {
fn default() -> Self {
ComposeRunOption::builder().build()
}
}