use proc_macro::TokenStream;
#[proc_macro_derive(Categorize, attributes(sbor))]
pub fn categorize(input: TokenStream) -> TokenStream {
sbor_derive_common::categorize::handle_categorize(proc_macro2::TokenStream::from(input), None)
.unwrap_or_else(|err| err.to_compile_error())
.into()
}
#[proc_macro_derive(Encode, attributes(sbor))]
pub fn encode(input: TokenStream) -> TokenStream {
sbor_derive_common::encode::handle_encode(proc_macro2::TokenStream::from(input), None)
.unwrap_or_else(|err| err.to_compile_error())
.into()
}
#[proc_macro_derive(Decode, attributes(sbor))]
pub fn decode(input: TokenStream) -> TokenStream {
sbor_derive_common::decode::handle_decode(proc_macro2::TokenStream::from(input), None)
.unwrap_or_else(|err| err.to_compile_error())
.into()
}
#[proc_macro_derive(Describe, attributes(sbor))]
pub fn describe(input: TokenStream) -> TokenStream {
sbor_derive_common::describe::handle_describe(proc_macro2::TokenStream::from(input), None)
.unwrap_or_else(|err| err.to_compile_error())
.into()
}
#[proc_macro_derive(Sbor, attributes(sbor))]
pub fn sbor(input: TokenStream) -> TokenStream {
sbor_derive_common::sbor::handle_sbor(proc_macro2::TokenStream::from(input), None, None)
.unwrap_or_else(|err| err.to_compile_error())
.into()
}
const BASIC_CUSTOM_VALUE_KIND: &str = "sbor::NoCustomValueKind";
const BASIC_CUSTOM_TYPE_KIND: &str = "sbor::NoCustomTypeKind";
#[proc_macro_derive(BasicCategorize, attributes(sbor))]
pub fn basic_categorize(input: TokenStream) -> TokenStream {
sbor_derive_common::categorize::handle_categorize(
proc_macro2::TokenStream::from(input),
Some(BASIC_CUSTOM_VALUE_KIND),
)
.unwrap_or_else(|err| err.to_compile_error())
.into()
}
#[proc_macro_derive(BasicEncode, attributes(sbor))]
pub fn basic_encode(input: TokenStream) -> TokenStream {
sbor_derive_common::encode::handle_encode(
proc_macro2::TokenStream::from(input),
Some(BASIC_CUSTOM_VALUE_KIND),
)
.unwrap_or_else(|err| err.to_compile_error())
.into()
}
#[proc_macro_derive(BasicDecode, attributes(sbor))]
pub fn basic_decode(input: TokenStream) -> TokenStream {
sbor_derive_common::decode::handle_decode(
proc_macro2::TokenStream::from(input),
Some(BASIC_CUSTOM_VALUE_KIND),
)
.unwrap_or_else(|err| err.to_compile_error())
.into()
}
#[proc_macro_derive(BasicDescribe, attributes(sbor))]
pub fn basic_describe(input: TokenStream) -> TokenStream {
sbor_derive_common::describe::handle_describe(
proc_macro2::TokenStream::from(input),
Some(BASIC_CUSTOM_TYPE_KIND),
)
.unwrap_or_else(|err| err.to_compile_error())
.into()
}
#[proc_macro_derive(BasicSbor, attributes(sbor))]
pub fn basic_sbor(input: TokenStream) -> TokenStream {
sbor_derive_common::sbor::handle_sbor(
proc_macro2::TokenStream::from(input),
Some(BASIC_CUSTOM_VALUE_KIND),
Some(BASIC_CUSTOM_TYPE_KIND),
)
.unwrap_or_else(|err| err.to_compile_error())
.into()
}