dioxus_class/
macros.rs

1#[macro_export]
2macro_rules! constant_internal {
3    ( $( $part:ident )+ _ $next:ident $( $extra:ident )+  ) => {
4        constant_internal!($( $part )* $next _ $( $extra )*);
5    };
6    ( $( $part:ident )+ _ $last:ident ) => {
7        paste!{
8            #[doc = concat!($( stringify!($part), "-", )* stringify!($last))]
9            pub const [< $( $part _ )* $last >]: &'static str = concat!($( stringify!($part), "-", )* stringify!($last));
10        }
11    };
12    ( $( $part:ident )+ _ $last:literal ) => {
13        paste!{
14            #[doc = concat!($( stringify!($part), "-", )* $last)]
15            pub const [< $( $part _ )* $last >]: &'static str = concat!($( stringify!($part), "-", )* $last);
16        }
17    };
18}
19
20#[macro_export]
21macro_rules! constant {
22    ( $last:ident ) => {
23        #[doc = concat!(stringify!($last))]
24        pub const $last: &'static str = concat!(stringify!($last));
25    };
26    ( $first:ident $( $extra:ident )+  ) => {
27        constant_internal!($first _ $( $extra )*);
28    };
29    ( $( $part:ident )+ $last:literal ) => {
30        constant_internal!($( $part )* _ $last);
31    };
32}