reorganize router macro package

This commit is contained in:
Evan Almloff committed 2023-05-13 18:14:30 -05:00
1 parent d6b2145aa7
commit adfc10461e
7 files changed
+183 -156

No files matched your search

+31
View File
@@ -0,0 +1,31 @@
use quote::quote;
use syn::{Ident, Type};
use proc_macro2::TokenStream as TokenStream2;
#[derive(Debug)]
pub struct QuerySegment {
pub ident: Ident,
pub ty: Type,
}
impl QuerySegment {
pub fn parse(&self) -> TokenStream2 {
let ident = &self.ident;
let ty = &self.ty;
quote! {
let #ident = <#ty as dioxus_router_core::router::FromQuery>::from_query(query);
}
}
pub fn write(&self) -> TokenStream2 {
let ident = &self.ident;
quote! {
write!(f, "?{}", #ident)?;
}
}
pub fn name(&self) -> Ident {
self.ident.clone()
}
}