1#[macro_export]
2macro_rules! null {
3 () => {
4 $crate::value::Value::Null
5 };
6}
7
8#[macro_export]
9macro_rules! bool {
10 ($val:expr) => {
11 $crate::value::Value::Bool($val)
12 };
13}
14
15#[macro_export]
16macro_rules! int {
17 ($val:expr) => {
18 $crate::value::Value::Int($val)
19 };
20}
21
22#[macro_export]
23macro_rules! string {
24 ($val:expr) => {
25 $crate::value::Value::String($val.to_string())
26 };
27}
28
29#[macro_export]
30macro_rules! bytes {
31 ([$($val:expr),* $(,)?]) => {
33 $crate::value::Value::Bytes(vec![$($val as u8),*])
34 };
35 ($val:expr) => {
37 $crate::value::Value::Bytes(($val).into())
38 };
39}
40
41#[macro_export]
42macro_rules! list {
43 () => {
45 $crate::value::Value::List(Vec::new())
46 };
47 ($($val:expr),* $(,)?) => {{
49 $crate::value::Value::List(vec![$($val),*])
50 }};
51}
52#[macro_export]
53macro_rules! map {
54 () => {{
56 $crate::value::Value::Map(::std::collections::BTreeMap::new())
57 }};
58 ($($key:literal => $val:expr),* $(,)?) => {{
60 let mut m = ::std::collections::BTreeMap::new();
61 $(
62 m.insert(($key).to_owned(), $val);
64 )*
65 $crate::value::Value::Map(m)
66 }};
67}