1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
/// Macro used to wrap client-only modules
#[macro_export]
macro_rules! cfg_client {
    ($($item:item)*) => {
        $(
            #[cfg(feature = "client")]
            #[cfg_attr(doc_cfg, doc(cfg(feature = "client")))]
            $item
        )*
    }
}

/// Macro used to wrap exclusively non-client modules
#[macro_export]
macro_rules! cfg_not_client {
    ($($item:item)*) => {
        $(
            #[cfg(not(feature = "client"))]
            #[cfg_attr(doc_cfg, doc(cfg(not(feature = "client"))))]
            $item
        )*
    }
}

/// Macro used to wrap solana exclusive modules
#[macro_export]
macro_rules! cfg_solana {
    ($($item:item)*) => {
        $(
            #[cfg(feature = "solana")]
            #[cfg_attr(doc_cfg, doc(cfg(feature = "solana")))]
            $item
        )*
    }
}