is_plutus_data_derive/lib.rs
1use quote::ToTokens;
2use syn::{parse_macro_input, DeriveInput};
3
4pub(crate) mod derive_impl;
5
6#[proc_macro_derive(IsPlutusData, attributes(is_plutus_data_derive_strategy))]
7pub fn derive_is_plutus_data(input: proc_macro::TokenStream) -> proc_macro::TokenStream {
8 let input = parse_macro_input!(input as DeriveInput);
9 derive_impl::get_is_plutus_data_instance(input)
10 .unwrap()
11 .into_token_stream()
12 .into()
13}