#[macro_export]
macro_rules! unode {
() => (
$crate::UniNode::Null
);
($value:expr) => (
$crate::UniNode::from($value)
);
($($values:expr),+ $(,)?) => ({
let data = vec![$(unode!($values),)+];
$crate::UniNode::Array(data)
});
($($key:expr => $value:expr,)+) => (
unode!($($key => $value),+)
);
($($key:expr => $value:expr),*) => ({
let mut data = $crate::value::Map::new();
$(
let _ = data.insert(String::from($key), unode!($value));
)*
$crate::UniNode::Object(data)
});
}