bevy_console_parser/
value.rs

1#[derive(Clone, Debug, PartialEq)]
2pub enum ValueRaw<'a> {
3    String(String),
4    Int(i64, &'a str),
5    Float(f64, &'a str),
6    Bool(bool, &'a str),
7}
8
9#[derive(Clone, Debug, PartialEq)]
10pub enum ValueRawOwned {
11    String(String),
12    Int(i64, String),
13    Float(f64, String),
14    Bool(bool, String),
15}
16
17#[derive(Clone, Debug, PartialEq)]
18pub enum Value {
19    String(String),
20    Int(i64),
21    Float(f64),
22    Bool(bool),
23}
24
25impl From<ValueRaw<'_>> for ValueRawOwned {
26    fn from(value: ValueRaw) -> Self {
27        match value {
28            ValueRaw::String(s) => ValueRawOwned::String(s),
29            ValueRaw::Int(num, raw) => ValueRawOwned::Int(num, raw.to_string()),
30            ValueRaw::Float(num, raw) => ValueRawOwned::Float(num, raw.to_string()),
31            ValueRaw::Bool(b, raw) => ValueRawOwned::Bool(b, raw.to_string()),
32        }
33    }
34}
35
36impl From<ValueRaw<'_>> for Value {
37    fn from(value: ValueRaw) -> Self {
38        match value {
39            ValueRaw::String(s) => Value::String(s),
40            ValueRaw::Int(num, _) => Value::Int(num),
41            ValueRaw::Float(num, _) => Value::Float(num),
42            ValueRaw::Bool(b, _) => Value::Bool(b),
43        }
44    }
45}
46
47impl From<ValueRawOwned> for Value {
48    fn from(value: ValueRawOwned) -> Self {
49        match value {
50            ValueRawOwned::String(s) => Value::String(s),
51            ValueRawOwned::Int(num, _) => Value::Int(num),
52            ValueRawOwned::Float(num, _) => Value::Float(num),
53            ValueRawOwned::Bool(b, _) => Value::Bool(b),
54        }
55    }
56}