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}