umya_spreadsheet/structs/
true_false_value.rs1#[derive(Clone, Default, Debug)]
2pub struct TrueFalseValue {
3 value: Option<bool>,
4 value_default: bool,
5}
6impl TrueFalseValue {
7 #[inline]
8 pub(crate) fn get_value(&self) -> &bool {
9 self.value.as_ref().unwrap_or(&self.value_default)
10 }
11
12 #[inline]
13 pub(crate) fn get_value_string(&self) -> &str {
14 match self.get_value() {
15 true => "t",
16 false => "f",
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 let value: String = value.into();
29 self.set_value(!(value.eq_ignore_ascii_case("f") || value.eq_ignore_ascii_case("false")))
30 }
31
32 #[inline]
33 pub(crate) fn has_value(&self) -> bool {
34 self.value.is_some()
35 }
36
37 #[inline]
38 pub(crate) fn _get_hash_string(&self) -> &str {
39 if self.has_value() {
40 return self.get_value_string();
41 }
42 "empty!!"
43 }
44}