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() }