taitan_orm_parser/
condition_def.rs

1use 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}