rust_gecko/macros/
simple_m.rs

1/// Get the current price of any cryptocurrencies in any other supported currencies that you need.
2///
3/// Equivalent to the [`crate::simple::price`] function.
4///
5/// # Examples
6///
7/// ```
8/// rust_gecko::simple_price!(vec!["bitcoin", "litecoin"], vec!["usd", "lkr"]);
9/// ```
10#[macro_export]
11macro_rules! simple_price {
12    ($ids: expr,
13        $vs_currencies: expr) => {
14        crate::rust_gecko::simple::price($ids, $vs_currencies, None, None, None, None)
15    };
16    ($ids: expr,
17        $vs_currencies: expr,
18        $include_market_cap:expr,
19        $include_24hr_vol: expr) => {
20        crate::rust_gecko::simple::price(
21            $ids,
22            $vs_currencies,
23            $include_market_cap,
24            None,
25            None,
26            None,
27        );
28    };
29    ($ids: expr,
30        $vs_currencies: expr,
31        $include_market_cap:expr,
32        $include_24hr_vol: expr
33        ) => {
34        crate::rust_gecko::simple::price(
35            $ids,
36            $vs_currencies,
37            $include_market_cap,
38            $include_24hr_vol,
39            None,
40            None,
41        )
42    };
43    ($ids: expr,
44        $vs_currencies: expr,
45        $include_market_cap:expr,
46        $include_24hr_vol: expr,
47        $include_24hr_change: expr) => {
48        crate::rust_gecko::simple::price(
49            $ids,
50            $vs_currencies,
51            $include_market_cap,
52            $include_24hr_vol,
53            $include_24hr_change,
54            None,
55        )
56    };
57    ($ids: expr,
58        $vs_currencies: expr,
59        $include_market_cap:expr,
60        $include_24hr_vol: expr,
61        $include_24hr_change: expr,
62        $include_last_updated_at: expr) => {
63        crate::rust_gecko::simple::price(
64            $ids,
65            $vs_currencies,
66            $include_market_cap,
67            $include_24hr_vol,
68            $include_24hr_change,
69            $include_last_updated_at,
70        )
71    };
72}
73
74/// Get current price of tokens (using contract addresses) for a given platform in any other currency that you need.
75///
76/// Equivalent to the [`crate::simple::token_price`] function.
77///
78/// # Examples
79///
80/// ```
81/// rust_gecko::simple_token_price!("bitcoin", vec!["0x8ff795a6f4d97e7887c79bea79aba5cc76444adf"], vec!["usd", "lkr"]);
82/// ```
83#[macro_export]
84macro_rules! simple_token_price {
85    ($id: expr,
86        $contract_addresses: expr,
87        $vs_currencies: expr) => {
88        crate::rust_gecko::simple::token_price(
89            $id,
90            $contract_addresses,
91            $vs_currencies,
92            None,
93            None,
94            None,
95            None,
96        )
97    };
98    ($id: expr,
99        $contract_addresses: expr,
100        $vs_currencies: expr,
101        $include_market_cap:expr) => {
102        crate::rust_gecko::simple::token_price(
103            $id,
104            $contract_addresses,
105            $vs_currencies,
106            $include_market_cap,
107            None,
108            None,
109            None,
110        )
111    };
112    ($id: expr,
113        $contract_addresses: expr,
114        $vs_currencies: expr,
115        $include_market_cap:expr,
116        $include_24hr_vol: expr) => {
117        crate::rust_gecko::simple::token_price(
118            $id,
119            $contract_addresses,
120            $vs_currencies,
121            $include_market_cap,
122            $include_24hr_vol,
123            None,
124            None,
125        )
126    };
127    ($id: expr,
128        $contract_addresses: expr,
129        $vs_currencies: expr,
130        $include_market_cap:expr,
131        $include_24hr_vol: expr,
132        $include_24hr_change: expr) => {
133        crate::rust_gecko::simple::token_price(
134            $id,
135            $contract_addresses,
136            $vs_currencies,
137            $include_market_cap,
138            $include_24hr_vol,
139            $include_24hr_change,
140            None,
141        )
142    };
143    ($id: expr,
144        $contract_addresses: expr,
145        $vs_currencies: expr,
146        $include_market_cap:expr,
147        $include_24hr_vol: expr,
148        $include_24hr_change: expr,
149        $include_last_updated_at: expr) => {
150        crate::rust_gecko::simple::token_price(
151            $id,
152            $contract_addresses,
153            $vs_currencies,
154            $include_market_cap,
155            $include_24hr_vol,
156            $include_24hr_change,
157            $include_last_updated_at,
158        )
159    };
160}