nerva/clients/epic/
epic_parameters.rs1use crate::core::Params;
2
3#[derive(Debug, Clone, Copy, PartialEq)]
4pub enum EPICParams<'p>
5{
6 Natural(&'p str),
8 NaturalDate(&'p str),
10 NaturalAll,
12 NaturalAvailable,
14 Enhanced,
16 EhancedDate(&'p str),
18 EnhancedAll,
20 EnhancedAvailable,
22}
23
24impl<'p> Default for EPICParams<'p>
25{
26 fn default() -> Self
27 {
28 EPICParams::NaturalAll
29 }
30}
31
32impl<'p> Into<String> for EPICParams<'p>
33{
34 fn into(self) -> String
35 {
36 match self
37 {
38 EPICParams::Natural(date) => format!("natural/date/{}", date),
39 EPICParams::NaturalDate(date) => format!("natural/date/{}", date),
40 EPICParams::NaturalAll => "natural/all".to_string(),
41 EPICParams::NaturalAvailable => "natural/available".to_string(),
42 EPICParams::Enhanced => "enhanced".to_string(),
43 EPICParams::EhancedDate(date) => format!("enhanced/date/{}", date),
44 EPICParams::EnhancedAll => "enhanced/all".to_string(),
45 EPICParams::EnhancedAvailable => "enhanced/available".to_string(),
46 }
47 }
48}
49
50impl<'p> Params for EPICParams<'p> {}