From 0724fda47e7146ff682eef101b5260331cb11d26 Mon Sep 17 00:00:00 2001 From: Ben Bridle Date: Tue, 4 Mar 2025 11:13:14 +1300 Subject: Add as_str and as_str_opt methods for values These are borrowing versions of the as_string and as_string_opt methods. --- src/value.rs | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'src/value.rs') diff --git a/src/value.rs b/src/value.rs index 99468fa..7725490 100644 --- a/src/value.rs +++ b/src/value.rs @@ -67,11 +67,18 @@ impl QueriedValue { return None; } + pub fn as_str(&mut self) -> &str { + self.value().map(|v| v.as_str()).unwrap_or_else(|| self.missing("string")) + } + pub fn as_str_opt(&mut self) -> Option<&str> { + self.value().map(|v| v.as_str()) + } + pub fn as_string(&mut self) -> String { - self.as_string_opt().unwrap_or_else(|| self.missing("string")) + self.as_str().to_string() } pub fn as_string_opt(&mut self) -> Option { - self.value().cloned() + self.as_str_opt().map(|s| s.to_string()) } as_number!{ f32, "f32" , std::num::ParseFloatError } -- cgit v1.2.3-70-g09d2