use clap::Args;
use super::{DEFAULT_ENVIRONMENT, ICP_ENVIRONMENT_ENV};
#[derive(Args, Clone, Debug)]
pub(crate) struct CanisterTarget {
#[arg(value_name = "CANISTER")]
canister: String,
#[arg(
short,
long,
env = ICP_ENVIRONMENT_ENV,
default_value = DEFAULT_ENVIRONMENT,
value_name = "ENV"
)]
environment: String,
}
impl CanisterTarget {
pub(crate) const fn canister_name(&self) -> &str {
self.canister.as_str()
}
pub(crate) const fn environment(&self) -> &str {
self.environment.as_str()
}
}
#[derive(Args, Clone, Debug)]
pub(crate) struct EnvironmentTarget {
#[arg(
short,
long,
env = ICP_ENVIRONMENT_ENV,
default_value = DEFAULT_ENVIRONMENT,
value_name = "ENV"
)]
environment: String,
}
impl EnvironmentTarget {
pub(crate) const fn environment(&self) -> &str {
self.environment.as_str()
}
}