aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/mozart-core/src
diff options
context:
space:
mode:
Diffstat (limited to 'crates/mozart-core/src')
-rw-r--r--crates/mozart-core/src/advisory.rs32
1 files changed, 20 insertions, 12 deletions
diff --git a/crates/mozart-core/src/advisory.rs b/crates/mozart-core/src/advisory.rs
index 4752c8b..f20405e 100644
--- a/crates/mozart-core/src/advisory.rs
+++ b/crates/mozart-core/src/advisory.rs
@@ -32,14 +32,18 @@ impl AuditFormat {
Self::Summary => FORMAT_SUMMARY,
}
}
+}
+
+impl std::str::FromStr for AuditFormat {
+ type Err = ();
- pub fn from_str(s: &str) -> Option<Self> {
+ fn from_str(s: &str) -> Result<Self, Self::Err> {
match s {
- FORMAT_TABLE => Some(Self::Table),
- FORMAT_PLAIN => Some(Self::Plain),
- FORMAT_JSON => Some(Self::Json),
- FORMAT_SUMMARY => Some(Self::Summary),
- _ => None,
+ FORMAT_TABLE => Ok(Self::Table),
+ FORMAT_PLAIN => Ok(Self::Plain),
+ FORMAT_JSON => Ok(Self::Json),
+ FORMAT_SUMMARY => Ok(Self::Summary),
+ _ => Err(()),
}
}
}
@@ -61,13 +65,17 @@ impl AbandonedHandling {
Self::Fail => ABANDONED_FAIL,
}
}
+}
+
+impl std::str::FromStr for AbandonedHandling {
+ type Err = ();
- pub fn from_str(s: &str) -> Option<Self> {
+ fn from_str(s: &str) -> Result<Self, Self::Err> {
match s {
- ABANDONED_IGNORE => Some(Self::Ignore),
- ABANDONED_REPORT => Some(Self::Report),
- ABANDONED_FAIL => Some(Self::Fail),
- _ => None,
+ ABANDONED_IGNORE => Ok(Self::Ignore),
+ ABANDONED_REPORT => Ok(Self::Report),
+ ABANDONED_FAIL => Ok(Self::Fail),
+ _ => Err(()),
}
}
}
@@ -182,7 +190,7 @@ impl AuditConfig {
let audit_abandoned = audit_val
.get("abandoned")
.and_then(|v| v.as_str())
- .and_then(AbandonedHandling::from_str)
+ .and_then(|s| s.parse::<AbandonedHandling>().ok())
.unwrap_or_default();
let block_insecure = audit_val