Skip to main content

ormer_derive/
lib.rs

1mod model;
2mod model_enum;
3
4use proc_macro::TokenStream;
5
6#[proc_macro_derive(
7    Model,
8    attributes(
9        table, column, primary, unique, index, foreign, data_type, default, check, hypertable,
10        compress, has_many, belongs_to
11    )
12)]
13pub fn derive_model(input: TokenStream) -> TokenStream {
14    let input = syn::parse_macro_input!(input as syn::DeriveInput);
15    model::derive_model(input).into()
16}
17
18#[proc_macro_derive(ModelEnum)]
19pub fn derive_model_enum(input: TokenStream) -> TokenStream {
20    let input = syn::parse_macro_input!(input as syn::DeriveInput);
21    model_enum::derive_model_enum(input).into()
22}
23
24#[proc_macro_derive(InsertModel, attributes(table, column))]
25pub fn derive_insert_model(input: TokenStream) -> TokenStream {
26    let input = syn::parse_macro_input!(input as syn::DeriveInput);
27    model::derive_insert_model(input).into()
28}