eosio-macro 0.2.6

eosio macro for generating code for contracts
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
use eosio_codegen::Contract;
use proc_macro2::TokenStream as TokenStream2;
use syn::Result;

pub fn generate(attr: TokenStream2, input: TokenStream2) -> TokenStream2 {
    match generate_or_err(attr, input) {
        Ok(tokens) => tokens,
        Err(err) => {
            err.to_compile_error()
        },
    }
}

pub fn generate_or_err(attr: TokenStream2, input: TokenStream2) -> Result<TokenStream2> {
    let contract: Contract = Contract::new(attr, input)?;
    Ok(contract.generate_code()?)
}