made_core/value_objects/support_rationale.rs
1use serde::{Deserialize, Serialize};
2
3/// Explanation recorded alongside an evidence-support decision.
4#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
5#[serde(transparent)]
6pub struct SupportRationale(String);
7
8impl SupportRationale {
9 #[must_use]
10 pub fn new(raw: impl Into<String>) -> Self {
11 Self(raw.into().trim().to_owned())
12 }
13
14 #[must_use]
15 pub fn as_str(&self) -> &str {
16 &self.0
17 }
18}