kosame_macro 0.1.0

Macro-based Rust ORM focused on developer ergonomics
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use syn::parse::{Parse, ParseStream};

use super::{column_override::ColumnOverride, relation::Relation};

pub enum FieldSpec {
    ColumnOverride(ColumnOverride),
    Relation(Relation),
}

impl Parse for FieldSpec {
    fn parse(input: ParseStream) -> syn::Result<Self> {
        if input.peek3(syn::token::Paren) {
            Ok(Self::Relation(input.parse()?))
        } else {
            Ok(Self::ColumnOverride(input.parse()?))
        }
    }
}