use serde::Serialize;
use super::CollectionWireRef;
use super::ScalarWireRef;
use crate::ValueContainer;
#[derive(Clone, Copy, Serialize)]
pub(in crate::value_wire) enum WireShapeRef<'a> {
#[serde(rename = "scalar")]
Scalar(
ScalarWireRef<'a>,
),
#[serde(rename = "collection")]
Collection(
CollectionWireRef<'a>,
),
}
impl<'a> From<&'a ValueContainer> for WireShapeRef<'a> {
#[inline]
fn from(value: &'a ValueContainer) -> Self {
match value {
ValueContainer::Scalar(value) => Self::Scalar(value.into()),
ValueContainer::Collection(values) => Self::Collection(values.into()),
}
}
}