mal_api/
macros.rs

1//! Module for ease-of-use macros
2
3/// Macro for creating a vector of valid AnimeCommonFields
4#[macro_export]
5macro_rules! anime_common_fields {
6    ($($variant:path),* $(,)?) => {
7        {
8            let mut v = Vec::new();
9            $(
10                v.push($variant);
11            )*
12            AnimeCommonFields(v)
13        }
14    };
15}
16
17/// Macro for creating a vector of valid AnimeDetailFields
18#[macro_export]
19macro_rules! anime_detail_fields {
20    ($($variant:path),* $(,)?) => {
21        {
22            let mut v = Vec::new();
23            $(
24                v.push($variant);
25            )*
26            AnimeDetailFields(v)
27        }
28    };
29}
30
31/// Macro for creating a vector of valid MangaCommonFields
32#[macro_export]
33macro_rules! manga_common_fields {
34    ($($variant:path),* $(,)?) => {
35        {
36            let mut v = Vec::new();
37            $(
38                v.push($variant);
39            )*
40            MangaFields(v)
41        }
42    };
43}
44
45/// Macro for creating a vector of valid MangaDetailFields
46#[macro_export]
47macro_rules! manga_detail_fields {
48    ($($variant:path),* $(,)?) => {
49        {
50            let mut v = Vec::new();
51            $(
52                v.push($variant);
53            )*
54            MangaDetailFields(v)
55        }
56    };
57}
58
59/// Macro for creating a vector of valid UserFields
60#[cfg(feature = "user")]
61#[macro_export]
62macro_rules! user_fields {
63    ($($variant:path),* $(,)?) => {
64        {
65            let mut v = Vec::new();
66            $(
67                v.push($variant);
68            )*
69            UserFields(v)
70        }
71    };
72}