captcha_oxide_derive 5.0.0

Useful proc macros for captcha_oxide
Documentation
use syn::{
    token::{Enum, Union},
    DataEnum, DataUnion,
};

pub fn extract_struct_data(data: syn::Data) -> deluxe::Result<syn::DataStruct> {
    match data {
        syn::Data::Struct(x) => Ok(x),
        syn::Data::Enum(DataEnum {
            enum_token: Enum { span },
            ..
        })
        | syn::Data::Union(DataUnion {
            union_token: Union { span },
            ..
        }) => Err(syn::Error::new(
            span,
            "The CaptchaTask trait can only be derived by structs",
        )),
    }
}