umya_spreadsheet/structs/
boolean_value.rs1#[derive(Clone, Default, Debug, Eq, Ord, PartialEq, PartialOrd)]
2pub struct BooleanValue {
3 value: Option<bool>,
4}
5
6impl BooleanValue {
7 #[inline]
8 pub(crate) fn get_value(&self) -> &bool {
9 self.value.as_ref().unwrap_or(&false)
10 }
11
12 #[inline]
13 pub(crate) fn get_value_string(&self) -> &str {
14 match *self.get_value() {
15 true => "1",
16 false => "0",
17 }
18 }
19
20 #[inline]
21 pub(crate) fn set_value(&mut self, value: bool) -> &mut Self {
22 self.value = Some(value);
23 self
24 }
25
26 #[inline]
27 pub(crate) fn set_value_string<S: Into<String>>(&mut self, value: S) -> &mut Self {
28 self.set_value(matches!(value.into().as_str(), "true" | "1"))
29 }
30
31 #[inline]
32 pub(crate) fn has_value(&self) -> bool {
33 self.value.is_some()
34 }
35
36 #[inline]
37 pub(crate) fn get_hash_string(&self) -> &str {
38 if self.has_value() {
39 return self.get_value_string();
40 }
41 "empty!!"
42 }
43}