kmp_plugin_api/domain/
evidence_segment_kind.rs1use 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}