control_code/csi/
expansion.rs1use nom;
16
17#[derive(Eq, PartialEq, Copy, Clone, Debug)]
18pub enum Expansion {
19 Normal,
20 Expanded,
21 Condensed,
22}
23
24impl Expansion {
25 #[inline]
26 pub fn parse<'a>(value: u32) -> Result<Self, nom::ErrorKind> {
27 match value {
28 0 => Ok(Expansion::Normal),
29 1 => Ok(Expansion::Expanded),
30 2 => Ok(Expansion::Condensed),
31 _ => Err(nom::ErrorKind::Custom(9002)),
32 }
33 }
34}
35
36impl Into<u32> for Expansion {
37 #[inline]
38 fn into(self) -> u32 {
39 match self {
40 Expansion::Normal => 0,
41 Expansion::Expanded => 1,
42 Expansion::Condensed => 2,
43 }
44 }
45}