in below/below_derive/src/queriable.rs [106:126]
fn get_queriable_struct_props(ast: &DeriveInput) -> syn::Result<QueriableStructProps> {
let mut field_id_name = None;
let mut field_id_name_kw = None;
for meta in get_metadata("queriable", &ast.attrs)? {
match meta {
StructMeta::FieldIdName { value, kw } => {
if let Some(fst_kw) = field_id_name_kw {
return Err(occurrence_error(fst_kw, kw, "field_id_name"));
}
field_id_name_kw = Some(kw);
field_id_name = Some(value);
}
}
}
Ok(QueriableStructProps {
field_id_name: field_id_name
// Add `FieldId` suffix for default FieldId enum name.
.unwrap_or_else(|| Ident::new(&format!("{}FieldId", ast.ident), ast.ident.span())),
ident: ast.ident.clone(),
})
}