use darling::{FromDeriveInput, FromField};
#[derive(Debug, FromDeriveInput)]
#[darling(attributes(serde_diff))]
pub struct SerdeDiffStructArgs {
pub ident: syn::Ident,
#[darling(default)]
pub opaque: bool,
#[darling(default)]
pub target: Option<String>,
pub generics: syn::Generics,
}
#[derive(Debug, FromField, Clone)]
#[darling(attributes(serde_diff))]
pub struct SerdeDiffFieldArgs {
ident: Option<syn::Ident>,
ty: syn::Type,
#[darling(default)]
skip: bool,
#[darling(default)]
opaque: bool,
}
impl SerdeDiffFieldArgs {
pub fn ident(&self) -> &Option<syn::Ident> {
&self.ident
}
pub fn ty(&self) -> &syn::Type {
&self.ty
}
pub fn skip(&self) -> bool {
self.skip
}
pub fn opaque(&self) -> bool {
self.opaque
}
}