AsValue

Trait AsValue 

Source
pub trait AsValue {
    // Required methods
    fn as_empty_value() -> Value;
    fn as_value(self) -> Value;
    fn try_from_value(value: Value) -> Result<Self>
       where Self: Sized;

    // Provided method
    fn parse(input: impl AsRef<str>) -> Result<Self>
       where Self: Sized { ... }
}
Expand description

Convert both ways between Rust types and Value (plus simple parsing).

Required Methods§

Source

fn as_empty_value() -> Value

Return a NULL equivalent variant for this type.

Source

fn as_value(self) -> Value

Convert into owned Value.

Source

fn try_from_value(value: Value) -> Result<Self>
where Self: Sized,

Try to convert a dynamic Value into Self.

Provided Methods§

Source

fn parse(input: impl AsRef<str>) -> Result<Self>
where Self: Sized,

Parse a full string into Self.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl AsValue for &'static str

Source§

fn as_empty_value() -> Value

Source§

fn as_value(self) -> Value

Source§

fn try_from_value(_value: Value) -> Result<Self>
where Self: Sized,

Source§

impl AsValue for Cow<'static, str>

Source§

fn as_empty_value() -> Value

Source§

fn as_value(self) -> Value

Source§

fn try_from_value(value: Value) -> Result<Self>
where Self: Sized,

Source§

fn parse(input: impl AsRef<str>) -> Result<Self>
where Self: Sized,

Source§

impl AsValue for Value

Source§

impl AsValue for bool

Source§

fn as_empty_value() -> Value

Source§

fn as_value(self) -> Value

Source§

fn try_from_value(value: Value) -> Result<Self>

Source§

fn parse(input: impl AsRef<str>) -> Result<Self>

Source§

impl AsValue for char

Source§

fn as_empty_value() -> Value

Source§

fn as_value(self) -> Value

Source§

fn try_from_value(value: Value) -> Result<Self>

Source§

fn parse(input: impl AsRef<str>) -> Result<Self>

Source§

impl AsValue for f32

Source§

fn as_empty_value() -> Value

Source§

fn as_value(self) -> Value

Source§

fn try_from_value(value: Value) -> Result<Self>

Source§

fn parse(input: impl AsRef<str>) -> Result<Self>

Source§

impl AsValue for f64

Source§

fn as_empty_value() -> Value

Source§

fn as_value(self) -> Value

Source§

fn try_from_value(value: Value) -> Result<Self>

Source§

fn parse(input: impl AsRef<str>) -> Result<Self>

Source§

impl AsValue for i8

Source§

fn as_empty_value() -> Value

Source§

fn as_value(self) -> Value

Source§

fn try_from_value(value: Value) -> Result<Self>

Source§

fn parse(input: impl AsRef<str>) -> Result<Self>

Source§

impl AsValue for i16

Source§

fn as_empty_value() -> Value

Source§

fn as_value(self) -> Value

Source§

fn try_from_value(value: Value) -> Result<Self>

Source§

fn parse(input: impl AsRef<str>) -> Result<Self>

Source§

impl AsValue for i32

Source§

fn as_empty_value() -> Value

Source§

fn as_value(self) -> Value

Source§

fn try_from_value(value: Value) -> Result<Self>

Source§

fn parse(input: impl AsRef<str>) -> Result<Self>

Source§

impl AsValue for i64

Source§

fn as_empty_value() -> Value

Source§

fn as_value(self) -> Value

Source§

fn try_from_value(value: Value) -> Result<Self>

Source§

fn parse(input: impl AsRef<str>) -> Result<Self>

Source§

impl AsValue for i128

Source§

fn as_empty_value() -> Value

Source§

fn as_value(self) -> Value

Source§

fn try_from_value(value: Value) -> Result<Self>

Source§

fn parse(input: impl AsRef<str>) -> Result<Self>

Source§

impl AsValue for isize

Source§

fn as_empty_value() -> Value

Source§

fn as_value(self) -> Value

Source§

fn try_from_value(value: Value) -> Result<Self>

Source§

fn parse(input: impl AsRef<str>) -> Result<Self>

Source§

impl AsValue for u8

Source§

fn as_empty_value() -> Value

Source§

fn as_value(self) -> Value

Source§

fn try_from_value(value: Value) -> Result<Self>

Source§

fn parse(input: impl AsRef<str>) -> Result<Self>

Source§

impl AsValue for u16

Source§

fn as_empty_value() -> Value

Source§

fn as_value(self) -> Value

Source§

fn try_from_value(value: Value) -> Result<Self>

Source§

fn parse(input: impl AsRef<str>) -> Result<Self>

Source§

impl AsValue for u32

Source§

fn as_empty_value() -> Value

Source§

fn as_value(self) -> Value

Source§

fn try_from_value(value: Value) -> Result<Self>

Source§

fn parse(input: impl AsRef<str>) -> Result<Self>

Source§

impl AsValue for u64

Source§

fn as_empty_value() -> Value

Source§

fn as_value(self) -> Value

Source§

fn try_from_value(value: Value) -> Result<Self>

Source§

fn parse(input: impl AsRef<str>) -> Result<Self>

Source§

impl AsValue for u128

Source§

fn as_empty_value() -> Value

Source§

fn as_value(self) -> Value

Source§

fn try_from_value(value: Value) -> Result<Self>

Source§

fn parse(input: impl AsRef<str>) -> Result<Self>

Source§

impl AsValue for usize

Source§

fn as_empty_value() -> Value

Source§

fn as_value(self) -> Value

Source§

fn try_from_value(value: Value) -> Result<Self>

Source§

fn parse(input: impl AsRef<str>) -> Result<Self>

Source§

impl AsValue for Box<[u8]>

Source§

fn as_empty_value() -> Value

Source§

fn as_value(self) -> Value

Source§

fn try_from_value(value: Value) -> Result<Self>

Source§

fn parse(input: impl AsRef<str>) -> Result<Self>

Source§

impl AsValue for String

Source§

fn as_empty_value() -> Value

Source§

fn as_value(self) -> Value

Source§

fn try_from_value(value: Value) -> Result<Self>

Source§

fn parse(input: impl AsRef<str>) -> Result<Self>

Source§

impl AsValue for Duration

Source§

fn as_empty_value() -> Value

Source§

fn as_value(self) -> Value

Source§

fn try_from_value(value: Value) -> Result<Self>

Source§

fn parse(input: impl AsRef<str>) -> Result<Self>

Source§

impl AsValue for Decimal

Source§

fn as_empty_value() -> Value

Source§

fn as_value(self) -> Value

Source§

fn try_from_value(value: Value) -> Result<Self>

Source§

fn parse(input: impl AsRef<str>) -> Result<Self>

Source§

impl AsValue for Date

Source§

fn as_empty_value() -> Value

Source§

fn as_value(self) -> Value

Source§

fn try_from_value(value: Value) -> Result<Self>

Source§

fn parse(input: impl AsRef<str>) -> Result<Self>

Source§

impl AsValue for Duration

Source§

fn as_empty_value() -> Value

Source§

fn as_value(self) -> Value

Source§

fn try_from_value(value: Value) -> Result<Self>

Source§

fn parse(input: impl AsRef<str>) -> Result<Self>

Source§

impl AsValue for OffsetDateTime

Source§

fn as_empty_value() -> Value

Source§

fn as_value(self) -> Value

Source§

fn try_from_value(value: Value) -> Result<Self>

Source§

fn parse(input: impl AsRef<str>) -> Result<Self>

Source§

impl AsValue for PrimitiveDateTime

Source§

fn as_empty_value() -> Value

Source§

fn as_value(self) -> Value

Source§

fn try_from_value(value: Value) -> Result<Self>

Source§

fn parse(input: impl AsRef<str>) -> Result<Self>

Source§

impl AsValue for Time

Source§

fn as_empty_value() -> Value

Source§

fn as_value(self) -> Value

Source§

fn try_from_value(value: Value) -> Result<Self>

Source§

fn parse(input: impl AsRef<str>) -> Result<Self>

Source§

impl AsValue for Uuid

Source§

fn as_empty_value() -> Value

Source§

fn as_value(self) -> Value

Source§

fn try_from_value(value: Value) -> Result<Self>

Source§

fn parse(input: impl AsRef<str>) -> Result<Self>

Source§

impl<K: AsValue + Eq + Hash, V: AsValue> AsValue for HashMap<K, V>

Source§

impl<K: AsValue + Ord, V: AsValue> AsValue for BTreeMap<K, V>

Source§

impl<T: AsValue + ToOwned<Owned = impl AsValue>> AsValue for Rc<T>

Source§

fn as_empty_value() -> Value

Source§

fn as_value(self) -> Value

Source§

fn try_from_value(value: Value) -> Result<Self>

Source§

fn parse(input: impl AsRef<str>) -> Result<Self>
where Self: Sized,

Source§

impl<T: AsValue + ToOwned<Owned = impl AsValue>> AsValue for Arc<T>

Source§

fn as_empty_value() -> Value

Source§

fn as_value(self) -> Value

Source§

fn try_from_value(value: Value) -> Result<Self>

Source§

fn parse(input: impl AsRef<str>) -> Result<Self>
where Self: Sized,

Source§

impl<T: AsValue + ToOwned<Owned = impl AsValue>> AsValue for Cell<T>

Source§

impl<T: AsValue + ToOwned<Owned = impl AsValue>> AsValue for RefCell<T>

Source§

impl<T: AsValue> AsValue for Option<T>

Source§

fn as_empty_value() -> Value

Source§

fn as_value(self) -> Value

Source§

fn try_from_value(value: Value) -> Result<Self>

Source§

fn parse(input: impl AsRef<str>) -> Result<Self>
where Self: Sized,

Source§

impl<T: AsValue> AsValue for Box<T>

Source§

fn as_empty_value() -> Value

Source§

fn as_value(self) -> Value

Source§

fn try_from_value(value: Value) -> Result<Self>

Source§

fn parse(input: impl AsRef<str>) -> Result<Self>
where Self: Sized,

Source§

impl<T: AsValue> AsValue for LinkedList<T>

Source§

impl<T: AsValue> AsValue for VecDeque<T>

Source§

impl<T: AsValue> AsValue for Vec<T>

Source§

impl<T: AsValue> AsValue for RwLock<T>

Source§

fn as_empty_value() -> Value

Source§

fn as_value(self) -> Value

Source§

fn try_from_value(value: Value) -> Result<Self>

Source§

fn parse(input: impl AsRef<str>) -> Result<Self>
where Self: Sized,

Source§

impl<T: AsValue, const N: usize> AsValue for [T; N]

Implementors§

Source§

impl AsValue for tank_core::Value

Source§

impl AsValue for Interval

Source§

impl<T: AsValue> AsValue for Passive<T>

Source§

impl<const W: u8, const S: u8> AsValue for FixedDecimal<W, S>