1macro_rules! cfg_feature {
2 ($feature:literal, $($item:item)*) => {
3 $(
4 #[cfg(feature = $feature)]
5 #[cfg_attr(docsrs, doc(cfg(feature = $feature)))]
6 $item
7 )*
8 }
9}
10
11macro_rules! cfg_client {
12 ($($item:item)*) => {
13 $(
14 #[cfg(any(
15 feature = "jsonrpsee-http-client", feature = "jsonrpsee-wasm-client", feature = "jsonrpsee-ws-client",
16 feature = "client", feature = "async-client", feature = "client-core", feature = "async-wasm-client"
17 ))]
18 $item
19 )*
20 }
21}
22
23macro_rules! cfg_http_client {
24 ($($item:item)*) => {
25 cfg_feature!("jsonrpsee-http-client", $($item)*);
26 };
27}
28
29macro_rules! cfg_ws_client {
30 ($($item:item)*) => {
31 cfg_feature!("jsonrpsee-ws-client", $($item)*);
32 };
33}
34
35macro_rules! cfg_wasm_client {
36 ($($item:item)*) => {
37 cfg_feature!("jsonrpsee-wasm-client", $($item)*);
38 };
39}
40
41macro_rules! cfg_async_client {
42 ($($item:item)*) => {
43 cfg_feature!("async-client", $($item)*);
44 };
45}
46
47macro_rules! cfg_client_transport {
48 ($($item:item)*) => {
49 cfg_feature!("jsonrpsee-client-transport", $($item)*);
50 };
51}
52
53macro_rules! cfg_server {
54 ($($item:item)*) => {
55 cfg_feature!("server", $($item)*);
56 }
57}
58
59macro_rules! cfg_server_core {
60 ($($item:item)*) => {
61 cfg_feature!("server-core", $($item)*);
62 }
63}
64
65macro_rules! cfg_proc_macros {
66 ($($item:item)*) => {
67 cfg_feature!("jsonrpsee-proc-macros", $($item)*);
68 };
69}
70
71macro_rules! cfg_types {
72 ($($item:item)*) => {
73 cfg_feature!("jsonrpsee-types", $($item)*);
74 };
75}
76
77macro_rules! cfg_client_or_server {
78 ($($item:item)*) => {
79 $(
80 #[cfg(any(
81 feature = "jsonrpsee-http-client", feature = "jsonrpsee-wasm-client", feature = "jsonrpsee-ws-client",
82 feature = "client", feature = "async-client", feature = "async-wasm-client",
83 feature = "client-core", feature = "server", feature = "server-core"
84 ))]
85 $item
86 )*
87 }
88}