1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
use darling::util::SpannedValue; #[derive(darling::FromDeriveInput)] #[darling(attributes(cynic), supports(struct_named))] pub struct FragmentDeriveInput { pub(super) ident: proc_macro2::Ident, pub(super) data: darling::ast::Data<(), FragmentDeriveField>, pub schema_path: SpannedValue<String>, pub query_module: SpannedValue<String>, pub graphql_type: SpannedValue<String>, #[darling(default)] pub argument_struct: Option<syn::Ident>, } #[derive(darling::FromField)] #[darling(attributes(cynic), forward_attrs(arguments))] pub struct FragmentDeriveField { pub(super) ident: Option<proc_macro2::Ident>, pub(super) ty: syn::Type, pub(super) attrs: Vec<syn::Attribute>, #[darling(default)] pub(super) flatten: bool, }