upon/value/
mod.rs

1//! Defines the [`Value`] enum, representing any valid renderable data.
2
3mod cow;
4mod from;
5#[cfg(feature = "serde")]
6mod ser;
7
8use std::collections::BTreeMap;
9
10pub(crate) use crate::value::cow::ValueCow;
11#[cfg(feature = "serde")]
12#[cfg_attr(docsrs, doc(cfg(feature = "serde")))]
13pub use crate::value::ser::to_value;
14
15/// Data to be rendered represented as a recursive enum.
16#[derive(Debug, Clone, PartialEq)]
17pub enum Value {
18    None,
19    Bool(bool),
20    Integer(i64),
21    Float(f64),
22    String(String),
23    List(Vec<Value>),
24    Map(BTreeMap<String, Value>),
25}
26
27impl Default for Value {
28    fn default() -> Self {
29        Self::None
30    }
31}
32
33impl AsRef<Value> for Value {
34    fn as_ref(&self) -> &Value {
35        self
36    }
37}