re export renderers in dioxus

This commit is contained in:
Evan Almloff committed 2024-01-15 19:14:11 -06:00
1 parent b291a5c0b0
commit af1749d7be
61 files changed
+860 -100

No files matched your search

+112
View File
@@ -0,0 +1,112 @@
#![doc = include_str!("../README.md")]
#![doc(html_logo_url = "https://avatars.githubusercontent.com/u/79236386")]
#![doc(html_favicon_url = "https://avatars.githubusercontent.com/u/79236386")]
use proc_macro::TokenStream;
use proc_macro2::TokenStream as TokenStream2;
use quote::quote;
#[proc_macro]
pub fn server(input: TokenStream) -> TokenStream {
if cfg!(any(feature = "ssr", feature = "liveview")) {
let input = TokenStream2::from(input);
quote! {
Some(#input)
}
} else {
quote! {
None
}
}
.into()
}
#[proc_macro]
pub fn client(input: TokenStream) -> TokenStream {
if cfg!(any(feature = "desktop", feature = "web", feature = "tui")) {
let input = TokenStream2::from(input);
quote! {
Some(#input)
}
} else {
quote! {
None
}
}
.into()
}
#[proc_macro]
pub fn desktop(input: TokenStream) -> TokenStream {
if cfg!(feature = "desktop") {
let input = TokenStream2::from(input);
quote! {
Some(#input)
}
} else {
quote! {
None
}
}
.into()
}
#[proc_macro]
pub fn fullstack(input: TokenStream) -> TokenStream {
if cfg!(feature = "web") {
let input = TokenStream2::from(input);
quote! {
Some(#input)
}
} else {
quote! {
None
}
}
.into()
}
#[proc_macro]
pub fn ssr(input: TokenStream) -> TokenStream {
if cfg!(feature = "ssr") {
let input = TokenStream2::from(input);
quote! {
Some(#input)
}
} else {
quote! {
None
}
}
.into()
}
#[proc_macro]
pub fn liveview(input: TokenStream) -> TokenStream {
if cfg!(feature = "liveview") {
let input = TokenStream2::from(input);
quote! {
Some(#input)
}
} else {
quote! {
None
}
}
.into()
}
#[proc_macro]
pub fn tui(input: TokenStream) -> TokenStream {
if cfg!(feature = "tui") {
let input = TokenStream2::from(input);
quote! {
Some(#input)
}
} else {
quote! {
None
}
}
.into()
}