reifydb_type/value/
as_string.rs1use crate::value::Value;
5
6pub trait AsString {
7 fn as_string(&self) -> String;
8}
9
10impl AsString for Value {
11 fn as_string(&self) -> String {
12 match self {
13 Value::None {
14 ..
15 } => "none".to_string(),
16 Value::Boolean(b) => b.to_string(),
17 Value::Float4(f) => f.to_string(),
18 Value::Float8(f) => f.to_string(),
19 Value::Int1(i) => i.to_string(),
20 Value::Int2(i) => i.to_string(),
21 Value::Int4(i) => i.to_string(),
22 Value::Int8(i) => i.to_string(),
23 Value::Int16(i) => i.to_string(),
24 Value::Utf8(s) => s.clone(),
25 Value::Uint1(u) => u.to_string(),
26 Value::Uint2(u) => u.to_string(),
27 Value::Uint4(u) => u.to_string(),
28 Value::Uint8(u) => u.to_string(),
29 Value::Uint16(u) => u.to_string(),
30 Value::Date(d) => d.to_string(),
31 Value::DateTime(dt) => dt.to_string(),
32 Value::Time(t) => t.to_string(),
33 Value::Duration(i) => i.to_string(),
34 Value::IdentityId(id) => id.to_string(),
35 Value::Uuid4(u) => u.to_string(),
36 Value::Uuid7(u) => u.to_string(),
37 Value::Blob(b) => b.to_string(),
38 Value::Int(bi) => bi.to_string(),
39 Value::Uint(bu) => bu.to_string(),
40 Value::Decimal(bd) => bd.to_string(),
41 Value::DictionaryId(id) => id.to_string(),
42 Value::Type(t) => t.to_string(),
43 Value::Any(v) => v.as_string(),
44 }
45 }
46}
47
48impl Value {
49 pub fn as_string(&self) -> String {
50 AsString::as_string(self)
51 }
52}