baker 0.2.0

Derive macro for creating intermediate structs.
Documentation
#![doc = include_str!("../README.md")]

use darling::FromDeriveInput;
use proc_macro::TokenStream;
use syn::{parse_macro_input, DeriveInput};

mod bake;

#[proc_macro_derive(Bake, attributes(baked))]
pub fn restcrab(input: TokenStream) -> TokenStream {
  let input_parsed = match bake::Struct::from_derive_input(&parse_macro_input!(input as DeriveInput)) {
    Ok(v) => v,
    Err(e) => {
      return TokenStream::from(e.write_errors());
    }
  };

  match bake::bake(input_parsed) {
    Ok(ok) => ok,
    Err(err) => err,
  }
  .into()
}