mirror of
https://github.com/leptos-rs/leptos
synced 2024-11-10 06:44:17 +00:00
remove list of magic identifiers, use rust-analyzer to help with imports instead
This commit is contained in:
parent
f5c007df7b
commit
be084a5d1d
1 changed files with 15 additions and 31 deletions
|
@ -74,10 +74,20 @@ pub fn server_macro_impl(
|
||||||
} = args;
|
} = args;
|
||||||
let prefix = prefix.unwrap_or_else(|| Literal::string(default_path));
|
let prefix = prefix.unwrap_or_else(|| Literal::string(default_path));
|
||||||
let fn_path = fn_path.unwrap_or_else(|| Literal::string(""));
|
let fn_path = fn_path.unwrap_or_else(|| Literal::string(""));
|
||||||
let input_ident = input.unwrap_or_else(|| syn::parse_quote!(PostUrl));
|
let input_ident = input
|
||||||
let input = codec_ident(server_fn_path.as_ref(), input_ident.clone());
|
.as_ref()
|
||||||
let output = output.unwrap_or_else(|| syn::parse_quote!(Json));
|
.map(ToString::to_string)
|
||||||
let output = codec_ident(server_fn_path.as_ref(), output);
|
.unwrap_or_else(|| "PostUrl".to_string());
|
||||||
|
let input = input.map(|n| n.to_token_stream()).unwrap_or_else(|| {
|
||||||
|
quote! {
|
||||||
|
#server_fn_path::codec::PostUrl
|
||||||
|
}
|
||||||
|
});
|
||||||
|
let output = output.map(|n| n.to_token_stream()).unwrap_or_else(|| {
|
||||||
|
quote! {
|
||||||
|
#server_fn_path::codec::Json
|
||||||
|
}
|
||||||
|
});
|
||||||
// default to PascalCase version of function name if no struct name given
|
// default to PascalCase version of function name if no struct name given
|
||||||
let struct_name = struct_name.unwrap_or_else(|| {
|
let struct_name = struct_name.unwrap_or_else(|| {
|
||||||
let upper_camel_case_name = Converter::new()
|
let upper_camel_case_name = Converter::new()
|
||||||
|
@ -306,7 +316,7 @@ pub fn server_macro_impl(
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
let (is_serde, derives) = match input_ident.to_string().as_str() {
|
let (is_serde, derives) = match input_ident.as_str() {
|
||||||
"Rkyv" => todo!("implement derives for Rkyv"),
|
"Rkyv" => todo!("implement derives for Rkyv"),
|
||||||
"MultipartFormData" => (false, quote! {}),
|
"MultipartFormData" => (false, quote! {}),
|
||||||
"SerdeLite" => (
|
"SerdeLite" => (
|
||||||
|
@ -835,29 +845,3 @@ impl ServerFnBody {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Returns either the path of the codec (if it's a builtin) or the
|
|
||||||
/// original ident.
|
|
||||||
fn codec_ident(server_fn_path: Option<&Path>, ident: Ident) -> TokenStream2 {
|
|
||||||
if let Some(server_fn_path) = server_fn_path {
|
|
||||||
let str = ident.to_string();
|
|
||||||
if [
|
|
||||||
"GetUrl",
|
|
||||||
"PostUrl",
|
|
||||||
"Cbor",
|
|
||||||
"Json",
|
|
||||||
"Rkyv",
|
|
||||||
"Streaming",
|
|
||||||
"StreamingText",
|
|
||||||
"MultipartFormData",
|
|
||||||
]
|
|
||||||
.contains(&str.as_str())
|
|
||||||
{
|
|
||||||
return quote! {
|
|
||||||
#server_fn_path::codec::#ident
|
|
||||||
};
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ident.into_token_stream()
|
|
||||||
}
|
|
||||||
|
|
Loading…
Reference in a new issue