#[macro_export]
macro_rules! df {
($($name:literal : $type:ty => $data:expr),+ $(,)?) => {
(|| -> $crate::error::AxionResult<$crate::dataframe::DataFrame> {
let mut cols: Vec<Box<dyn $crate::series::SeriesTrait>> = Vec::new();
$(
let series = $crate::series::IntoSeriesBox::<$type>::into_series_box($data, $name.to_string())?;
cols.push(series);
)+
$crate::dataframe::DataFrame::new(cols)
})()
};
($($name:literal => $data:expr),+ $(,)?) => {
(|| -> $crate::error::AxionResult<$crate::dataframe::DataFrame> {
let mut cols: Vec<Box<dyn $crate::series::SeriesTrait>> = Vec::new();
$(
let series = $crate::series::IntoSeriesBox::into_series_box($data, $name.to_string())?;
cols.push(series);
)+
$crate::dataframe::DataFrame::new(cols)
})()
};
() => {
(|| -> $crate::error::AxionResult<$crate::dataframe::DataFrame> {
$crate::dataframe::DataFrame::new(Vec::new())
})()
};
}