use qubit_datatype::DataType;
macro_rules! define_multi_values_enum {
(
;
$(
(
[$($cfg:meta),*],
$variant:ident,
$type:ty,
$data_type:expr,
$materialization:ident,
$json_class:ident,
$number_projection:ident,
$value_doc:literal,
$multi_doc:literal
$(, $_wire:tt)*
)
),+ $(,)?
) => {
#[derive(Debug, Clone)]
pub(crate) enum MultiValuesRepr {
Unset(
/// Declared element type retained while the collection is unset.
DataType,
),
$(
#[doc = $multi_doc]
$(#[$cfg])*
$variant(
#[doc = concat!("Stored ", $multi_doc, " payload.")]
Vec<$type>,
),
)+
}
};
}
for_each_value_type!(define_multi_values_enum);