pub trait CustomValue: Debug + Send + Sync + Serialize + Deserialize {
    // Required methods
    fn clone_value(&self, span: Span) -> Value;
    fn value_string(&self) -> String;
    fn to_base_value(&self, span: Span) -> Result<Value, ShellError>;
    fn as_any(&self) -> &dyn Any;

    // Provided methods
    fn follow_path_int(
        &self,
        _count: usize,
        span: Span
    ) -> Result<Value, ShellError> { ... }
    fn follow_path_string(
        &self,
        _column_name: String,
        span: Span
    ) -> Result<Value, ShellError> { ... }
    fn partial_cmp(&self, _other: &Value) -> Option<Ordering> { ... }
    fn operation(
        &self,
        _lhs_span: Span,
        operator: Operator,
        op: Span,
        _right: &Value
    ) -> Result<Value, ShellError> { ... }
}

Required Methods§

source

fn clone_value(&self, span: Span) -> Value

source

fn value_string(&self) -> String

source

fn to_base_value(&self, span: Span) -> Result<Value, ShellError>

source

fn as_any(&self) -> &dyn Any

Provided Methods§

source

fn follow_path_int( &self, _count: usize, span: Span ) -> Result<Value, ShellError>

source

fn follow_path_string( &self, _column_name: String, span: Span ) -> Result<Value, ShellError>

source

fn partial_cmp(&self, _other: &Value) -> Option<Ordering>

source

fn operation( &self, _lhs_span: Span, operator: Operator, op: Span, _right: &Value ) -> Result<Value, ShellError>

Trait Implementations§

source§

impl<'de> Deserialize<'de> for Box<dyn CustomValue>

source§

fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl<'de> Deserialize<'de> for Box<dyn CustomValue + Send>

source§

fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl<'de> Deserialize<'de> for Box<dyn CustomValue + Send + Sync>

source§

fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl<'de> Deserialize<'de> for Box<dyn CustomValue + Sync>

source§

fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl<'typetag> Serialize for dyn CustomValue + 'typetag

source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>where S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl<'typetag> Serialize for dyn CustomValue + Send + 'typetag

source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>where S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl<'typetag> Serialize for dyn CustomValue + Send + Sync + 'typetag

source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>where S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl<'typetag> Serialize for dyn CustomValue + Sync + 'typetag

source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>where S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Strictest for dyn CustomValue

§

type Object = dyn CustomValue + Sync + Send + 'static

Implementors§