#[macro_export]
macro_rules! vmap {
{} => {
{
use std::collections::HashMap;
use runar_serializer::ArcValue;
let map: HashMap<String, ArcValue> = HashMap::new();
ArcValue::new_map(map)
}
};
{ $($key:expr => $value:expr),* $(,)? } => {
{
use std::collections::HashMap;
use runar_serializer::ArcValue;
let mut map = HashMap::new();
$(
map.insert($key.to_string(), ArcValue::new_primitive($value));
)*
ArcValue::new_map(map)
}
};
}
#[macro_export]
macro_rules! hmap {
{} => {
{
use std::collections::HashMap;
let map: HashMap<String, _> = HashMap::new();
ArcValue::new_map(map)
}
};
{ $($key:expr => $value:expr),* $(,)? } => {
{
use std::collections::HashMap;
use runar_serializer::ArcValue;
let mut map = HashMap::new();
$(map.insert($key.to_string(), $value);)*
ArcValue::new_map(map)
}
};
}
#[macro_export]
macro_rules! params {
{} => {
{
use std::collections::HashMap;
use runar_serializer::ArcValue;
let map: HashMap<String, ArcValue> = HashMap::new();
ArcValue::new_map(map)
}
};
{ $($key:expr => $value:expr),* $(,)? } => {
{
use std::collections::HashMap;
use runar_serializer::ArcValue;
let mut map = HashMap::new();
$(
map.insert($key.to_string(), ArcValue::new_primitive($value));
)*
ArcValue::new_map(map)
}
};
}
#[macro_export]
macro_rules! runar_log {
($logger:expr, Debug, $($arg:tt)*) => {{
if ::log::log_enabled!(::log::Level::Debug) {
($logger).debug_args(format_args!($($arg)*));
}
}};
($logger:expr, Info, $($arg:tt)*) => {{
if ::log::log_enabled!(::log::Level::Info) {
($logger).info_args(format_args!($($arg)*));
}
}};
($logger:expr, Warn, $($arg:tt)*) => {{
if ::log::log_enabled!(::log::Level::Warn) {
($logger).warn_args(format_args!($($arg)*));
}
}};
($logger:expr, Error, $($arg:tt)*) => {{
if ::log::log_enabled!(::log::Level::Error) {
($logger).error_args(format_args!($($arg)*));
}
}};
}
#[macro_export]
macro_rules! log_debug {
($logger:expr, $($arg:tt)*) => {
$crate::runar_log!($logger, Debug, $($arg)*);
}
}
#[macro_export]
macro_rules! log_info {
($logger:expr, $($arg:tt)*) => {
$crate::runar_log!($logger, Info, $($arg)*);
}
}
#[macro_export]
macro_rules! log_warn {
($logger:expr, $($arg:tt)*) => {
$crate::runar_log!($logger, Warn, $($arg)*);
}
}
#[macro_export]
macro_rules! log_error {
($logger:expr, $($arg:tt)*) => {
$crate::runar_log!($logger, Error, $($arg)*);
}
}