1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#[macro_export]
macro_rules! procedure_args {
($($key:expr => $value:expr,)+) => (procedure_args!($($key => $value),+));
($($key:expr => $value:expr),*) => {
{
#[allow(unused_mut)]
let mut map = ::std::collections::BTreeMap::new();
$(
let _ = map.insert($key, serde_json::Value::from($value));
)*
map
}
};
}
#[macro_export]
macro_rules! procedure_object {
($($key:expr => $value:expr,)+) => (procedure_args!($($key => $value),+));
($($key:literal => $value:expr),*) => (procedure_object!($(String::from($key) => $value),+));
($($key:expr => $value:expr),*) => {
{
#[allow(unused_mut)]
let mut map = ::serde_json::Map::new();
$(
let _ = map.insert($key, serde_json::Value::from($value));
)*
map
}
};
}