use syn::{Data, DeriveInput, Fields, FieldsNamed};
pub fn validate_input(input: &DeriveInput) -> syn::Result<&FieldsNamed> {
match &input.data {
Data::Struct(data_struct) => match &data_struct.fields {
Fields::Named(fields) => Ok(fields),
_ => Err(syn::Error::new_spanned(
&input.ident,
"config::Deserialize can only be derived for structs with named fields",
)),
},
_ => Err(syn::Error::new_spanned(
&input.ident,
"config::Deserialize can only be derived for structs with named fields",
)),
}
}