Skip to main content

clankerdiff_core/models/
diff_side.rs

1use serde::{Deserialize, Serialize};
2
3/// The side of a patch to which a line or comment belongs.
4#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize, PartialOrd, Ord)]
5pub enum DiffSide {
6    Old,
7    New,
8}
9
10impl DiffSide {
11    #[must_use]
12    pub const fn opposite(self) -> Self {
13        match self {
14            Self::Old => Self::New,
15            Self::New => Self::Old,
16        }
17    }
18
19    #[must_use]
20    pub const fn as_str(self) -> &'static str {
21        match self {
22            Self::Old => "old",
23            Self::New => "new",
24        }
25    }
26}