sciforge_parser/toml/
value.rs1#[derive(Clone, Copy, Debug, PartialEq)]
2pub enum TomlValue<'a> {
3 String(&'a str),
4 Integer(i64),
5 Float(f64),
6 Bool(bool),
7 Table,
8 Array,
9 ArrayOfTables,
10}
11
12impl<'a> TomlValue<'a> {
13 pub const fn is_table(&self) -> bool {
14 matches!(self, TomlValue::Table)
15 }
16
17 pub const fn is_array(&self) -> bool {
18 matches!(self, TomlValue::Array)
19 }
20
21 pub const fn as_str(&self) -> Option<&str> {
22 match self {
23 TomlValue::String(v) => Some(v),
24 _ => None,
25 }
26 }
27
28 pub const fn as_bool(&self) -> Option<bool> {
29 match self {
30 TomlValue::Bool(v) => Some(*v),
31 _ => None,
32 }
33 }
34
35 pub const fn as_integer(&self) -> Option<i64> {
36 match self {
37 TomlValue::Integer(v) => Some(*v),
38 _ => None,
39 }
40 }
41
42 pub const fn as_float(&self) -> Option<f64> {
43 match self {
44 TomlValue::Float(v) => Some(*v),
45 _ => None,
46 }
47 }
48}