use super::{Field, FieldError};
use std::str::FromStr;
#[derive(Debug, PartialEq)]
pub enum CustArea {
Blank,
Custom,
PreferredRoute,
AFR,
CAN,
EEU,
EUR,
LAM,
MES,
PAC,
SAM,
SPA,
USA,
}
impl Field for CustArea {}
impl FromStr for CustArea {
type Err = FieldError;
fn from_str(s: &str) -> Result<Self, Self::Err> {
Ok(match &s[1..4] {
"AFR" => Self::AFR,
"CAN" => Self::CAN,
"EEU" => Self::EEU,
"EUR" => Self::EUR,
"LAM" => Self::LAM,
"MES" => Self::MES,
"PAC" => Self::PAC,
"SAM" => Self::SAM,
"SPA" => Self::SPA,
"USA" => Self::USA,
"PDR" => Self::PreferredRoute,
" " => Self::Blank,
_ => Self::Custom,
})
}
}