polodb_bson/
macros.rs

1
2#[macro_export]
3macro_rules! mk_document(
4    {} => (
5        $crate::Document::new_without_id()
6    );
7    { $($key:literal : $value:expr),+ $(,)? } => {
8        {
9            let mut m = $crate::Document::new_without_id();
10            $(
11                m.insert($key.into(), $crate::Value::from($value));
12            )+
13            m
14        }
15     };
16);
17
18#[macro_export]
19macro_rules! mk_array(
20    [] => (
21        $crate::Array::new()
22    );
23    [ $($elem:expr),+ $(,)? ] => {
24        {
25            let mut arr = $crate::Array::new();
26            $(
27                arr.push($crate::Value::from($elem));
28            )+
29            arr
30        }
31    }
32);
33
34#[macro_export]
35macro_rules! doc(
36    {} => (
37        $crate::Document::new_without_id()
38    );
39    { $($key:literal : $value:expr),+ $(,)? } => {
40        {
41            let mut m = $crate::Document::new_without_id();
42            $(
43                m.insert($key.into(), $crate::Value::from($value));
44            )+
45            m
46        }
47     };
48);
49
50#[macro_export]
51macro_rules! arr(
52    [] => (
53        $crate::Array::new()
54    );
55    [ $($elem:expr),+ $(,)? ] => {
56        {
57            let mut arr = $crate::Array::new();
58            $(
59                arr.push($crate::Value::from($elem));
60            )+
61            arr
62        }
63    }
64);