expansion/helpers/derive_input_helper/
mod.rs1type StructFields = syn::punctuated::Punctuated<syn::Field, syn::Token![,]>;
2
3pub struct DeriveInputHelper {
4 value: syn::DeriveInput
5}
6
7impl DeriveInputHelper {
8 pub fn new(value: syn::DeriveInput) -> Self { Self { value } }
10 pub fn value(&self) -> &syn::DeriveInput { &self.value }
11 pub fn get_fields(&self) -> syn::Result<&StructFields> {
12 if let syn::Data::Struct(
13 syn::DataStruct {
14 fields: syn::Fields::Named(
15 syn::FieldsNamed {
16 ref named,
17 ..
18 }
19 ),
20 ..
21 }
22 ) = self.value().data {
23 Ok(named)
24 } else {
25 Err(syn::Error::new_spanned(self.value(), "Must Define On Struct, Not Allow On Enum Or Union".to_string()))
26 }
27 }
28}
29