valkyrie-types 0.0.8

Shard types for valkyrie language
Documentation
use crate::ValkyrieValue;
use serde::{Serialize, Serializer};

impl Serialize for ValkyrieValue {
    fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
    where
        S: Serializer,
    {
        match self {
            Self::Nothing => {
                todo!()
            }
            Self::Null => serializer.serialize_none(),
            Self::Unit => serializer.serialize_unit(),
            Self::Boolean(v) => serializer.serialize_bool(*v),
            Self::Number(v) => v.serialize(serializer),
            Self::Unicode(v) => serializer.serialize_char(*v),
            Self::UTF8String(v) => serializer.serialize_str(&v.get()),
            Self::Bytes(_) => {
                todo!()
            }
            Self::Class(_) => {
                todo!()
            }
            Self::Variant(_) => {
                todo!()
            }
            Self::Image(_) => {
                todo!()
            }
            Self::List(v) => v.serialize(serializer),
            Self::Dict(v) => serializer.collect_map(v.raw.iter()),
            Self::Html(_) => {
                todo!()
            }
        }
    }
}