taitan_orm_parser/
condition_def.rs1use crate::{ConditionParser, FieldDef, NamedVariantDef};
2use std::borrow::Cow;
3use syn::DeriveInput;
4
5
6#[derive(Debug, PartialEq, Clone)]
7pub enum VariantsOrFields<'a> {
8 Variants(Vec<NamedVariantDef<'a>>),
9 Fields(Vec<FieldDef<'a>>),
10}
11
12
13#[derive(Debug, PartialEq, Clone)]
14pub struct ConditionDef<'a> {
15 pub struct_name: Cow<'a, str>,
16 pub table_name: Cow<'a, str>,
17 pub variants_or_fields: VariantsOrFields<'a>,
18}
19
20impl<'a> ConditionDef<'a> {
21 pub fn parse(input: &'a DeriveInput) -> ConditionDef<'a> {
22 ConditionParser::parse(&input)
23 }
24}