use crate::core::Params;
#[derive(Debug, Clone, Copy, PartialEq)]
pub enum EPICParams<'p>
{
Natural(&'p str),
NaturalDate(&'p str),
NaturalAll,
NaturalAvailable,
Enhanced,
EhancedDate(&'p str),
EnhancedAll,
EnhancedAvailable,
}
impl<'p> Default for EPICParams<'p>
{
fn default() -> Self
{
EPICParams::NaturalAll
}
}
impl<'p> Into<String> for EPICParams<'p>
{
fn into(self) -> String
{
match self
{
EPICParams::Natural(date) => format!("natural/date/{}", date),
EPICParams::NaturalDate(date) => format!("natural/date/{}", date),
EPICParams::NaturalAll => "natural/all".to_string(),
EPICParams::NaturalAvailable => "natural/available".to_string(),
EPICParams::Enhanced => "enhanced".to_string(),
EPICParams::EhancedDate(date) => format!("enhanced/date/{}", date),
EPICParams::EnhancedAll => "enhanced/all".to_string(),
EPICParams::EnhancedAvailable => "enhanced/available".to_string(),
}
}
}
impl<'p> Params for EPICParams<'p> {}