1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
//! Korat provides rusoto implementations for using an structs as dynamodb items

#[macro_use] extern crate quote;

extern crate proc_macro;
extern crate syn;

mod dynamodb_item;

use proc_macro::TokenStream;

use dynamodb_item::expand;


#[proc_macro_derive(DynamoDBItem, attributes(hash, range))]
pub fn dynamodb_item(input: TokenStream) -> TokenStream {
    let s = input.to_string();
    let ast = syn::parse_macro_input(&s).unwrap();
    let gen = expand(&ast);
    gen.parse().unwrap()
}