feat: FromPyFromStr and ToStrToPy macros YAY
This commit is contained in:
@@ -9,3 +9,5 @@ proc-macro = true
|
||||
|
||||
[dependencies]
|
||||
python-utils-macros-impl = { path = "../python-utils-macros-impl" }
|
||||
quote = { workspace = true }
|
||||
syn = { workspace = true }
|
||||
|
||||
@@ -1,6 +1,15 @@
|
||||
use proc_macro::proc_macro_derive;
|
||||
use proc_macro::TokenStream;
|
||||
use quote::quote;
|
||||
use syn::parse_macro_input;
|
||||
|
||||
#[proc_macro_derive(PyFromStr)]
|
||||
pub fn py_from_str(input: TokenStream) -> TokenStream {
|
||||
python_utils_macros_impl::py_from_str(input.into()).into()
|
||||
#[proc_macro_derive(FromPyFromStr)]
|
||||
pub fn from_py_from_str(input: TokenStream) -> TokenStream {
|
||||
let item: python_utils_macros_impl::FromPyFromStr = parse_macro_input!(input);
|
||||
quote! { #item }.into()
|
||||
}
|
||||
|
||||
#[proc_macro_derive(ToStrToPy)]
|
||||
pub fn to_str_to_py(input: TokenStream) -> TokenStream {
|
||||
let item: python_utils_macros_impl::ToStrToPy = parse_macro_input!(input);
|
||||
quote! { #item }.into()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user