data_bucket_derive 0.2.4

DataBucket is container for WorkTable
Documentation
use crate::persistable::parser::Parser;
use proc_macro2::TokenStream;
use quote::quote;

mod generator;
mod parser;

pub fn expand(input: &TokenStream) -> syn::Result<TokenStream> {
    let input_struct = Parser::parse_struct(input)?;
    let attrs = Parser::parse_attributes(&input_struct.attrs);
    let gen = generator::Generator {
        is_full_row: attrs.is_full_row,
        is_generic_unsized: attrs.is_generic_unsized,
        struct_def: input_struct,
    };

    let def = gen.gen_def()?;

    Ok(quote! {
        #def
    })
}