Skip to main content

kmp_plugin_api/domain/
evidence_segment_kind.rs

1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
4#[serde(rename_all = "snake_case")]
5pub enum EvidenceSegmentKind {
6    SourceCode,
7    Math,
8    Url,
9    Text,
10}
11
12impl EvidenceSegmentKind {
13    pub fn precedence(self) -> u8 {
14        match self {
15            Self::SourceCode => 0,
16            Self::Math => 1,
17            Self::Url => 2,
18            Self::Text => 3,
19        }
20    }
21
22    pub fn is_interpretable_text(self) -> bool {
23        self == Self::Text
24    }
25
26    pub fn is_protected(self) -> bool {
27        !self.is_interpretable_text()
28    }
29}