warframe-macros 7.0.1

Macros for the `warframe` crate.
Documentation
use enum_impl::parse_enum;
use proc_macro2::TokenStream;
use struct_impl::parse_struct;
use syn::{
    Item,
    spanned::Spanned,
};

mod enum_impl;
mod struct_impl;

pub fn expand(args: TokenStream, item: TokenStream) -> syn::Result<TokenStream> {
    match syn::parse2::<Item>(item)? {
        Item::Enum(enum_item) => parse_enum(args, enum_item),
        Item::Struct(struct_item) => parse_struct(args, struct_item),
        item => Err(syn::Error::new(
            item.span(),
            "Only structs and enums are supported",
        )),
    }
}