nanojson-derive 0.4.0

Derive macros (Serialize, Deserialize) for the nanojson crate.
Documentation
extern crate proc_macro;

use proc_macro::TokenStream;

mod helpers;
mod parse_item;
mod codegen;

#[proc_macro_derive(Serialize, attributes(nanojson))]
pub fn derive_serialize(input: TokenStream) -> TokenStream {
    match parse_item::parse_item(input) {
        Ok(item) => match codegen::gen_serialize(&item) {
            Ok(ts) => ts,
            Err(err) => err,
        },
        Err(err) => err,
    }
}

#[proc_macro_derive(Deserialize, attributes(nanojson))]
pub fn derive_deserialize(input: TokenStream) -> TokenStream {
    match parse_item::parse_item(input) {
        Ok(item) => match codegen::gen_deserialize(&item) {
            Ok(ts) => ts,
            Err(err) => err,
        },
        Err(err) => err,
    }
}