1use can_dbc_pest::Rule;
2
3use crate::DbcError;
4
5#[derive(Copy, Clone, Debug, PartialEq)]
7#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
8pub enum EnvType {
9 Integer,
10 Float,
11 String,
12}
13
14impl TryFrom<Rule> for EnvType {
15 type Error = DbcError;
16
17 fn try_from(value: Rule) -> Result<Self, Self::Error> {
18 match value {
19 Rule::env_var_type_int => Ok(Self::Integer),
20 Rule::env_var_type_float => Ok(Self::Float),
21 Rule::env_var_type_string => Ok(Self::String),
22 v => Err(DbcError::UnknownRule(v)),
23 }
24 }
25}