Trait tau_engine::AsValue

source ·
pub trait AsValue {
    // Required method
    fn as_value(&self) -> Value<'_>;
}
Expand description

A data type that can be represented as a Value.

Implementations

As long as the data type can be coerced into one of the values provided by Value then AsValue can be implemented on that type. Below is a contrived example:

use std::borrow::Cow;

use tau_engine::{AsValue, Value};

enum Foo {
    Bar,
    Baz
}

impl AsValue for Foo {
    fn as_value(&self) -> Value<'_> {
        match self {
            Self::Bar => Value::String(Cow::Borrowed("bar")),
            Self::Baz => Value::String(Cow::Borrowed("baz")),
        }
    }
}

Required Methods§

source

fn as_value(&self) -> Value<'_>

Returns the implemented type as a Value

Example
use tau_engine::AsValue;

let value = "foobar".as_value();

Implementations on Foreign Types§

source§

impl<V> AsValue for Option<V>where V: AsValue,

source§

fn as_value(&self) -> Value<'_>

source§

impl AsValue for Yaml

source§

fn as_value(&self) -> Value<'_>

source§

impl AsValue for isize

source§

fn as_value(&self) -> Value<'_>

source§

impl AsValue for u8

source§

fn as_value(&self) -> Value<'_>

source§

impl AsValue for u64

source§

fn as_value(&self) -> Value<'_>

source§

impl AsValue for str

source§

fn as_value(&self) -> Value<'_>

source§

impl AsValue for Json

source§

fn as_value(&self) -> Value<'_>

source§

impl AsValue for f32

source§

fn as_value(&self) -> Value<'_>

source§

impl AsValue for ()

source§

fn as_value(&self) -> Value<'_>

source§

impl AsValue for usize

source§

fn as_value(&self) -> Value<'_>

source§

impl AsValue for i16

source§

fn as_value(&self) -> Value<'_>

source§

impl AsValue for u32

source§

fn as_value(&self) -> Value<'_>

source§

impl<V> AsValue for Vec<V>where V: AsValue,

source§

fn as_value(&self) -> Value<'_>

source§

impl AsValue for u16

source§

fn as_value(&self) -> Value<'_>

source§

impl AsValue for i64

source§

fn as_value(&self) -> Value<'_>

source§

impl AsValue for i32

source§

fn as_value(&self) -> Value<'_>

source§

impl AsValue for f64

source§

fn as_value(&self) -> Value<'_>

source§

impl AsValue for String

source§

fn as_value(&self) -> Value<'_>

source§

impl AsValue for bool

source§

fn as_value(&self) -> Value<'_>

source§

impl AsValue for i8

source§

fn as_value(&self) -> Value<'_>

source§

impl<V> AsValue for HashSet<V>where V: AsValue,

source§

fn as_value(&self) -> Value<'_>

Implementors§

source§

impl<O: Object> AsValue for O