1use proc_macro::TokenStream;
2
3mod delete;
4mod insert;
5mod insert_many;
6mod parser;
7mod select;
8mod select_all;
9mod select_many;
10mod table;
11mod update;
12
13#[proc_macro_derive(SqlSelect, attributes(table))]
14pub fn sql_select_macro_derive(input: TokenStream) -> TokenStream {
15 let mut input = syn::parse_macro_input!(input as syn::DeriveInput);
16 select::sql_select_macro_derive(&mut input)
17}
18
19#[proc_macro_derive(SqlSelectAll, attributes(table))]
20pub fn sql_select_all_macro_derive(input: TokenStream) -> TokenStream {
21 let mut input = syn::parse_macro_input!(input as syn::DeriveInput);
22 select_all::sql_select_all_macro_derive(&mut input)
23}
24
25#[proc_macro_derive(SqlSelectMany, attributes(table))]
26pub fn sql_select_many_macro_derive(input: TokenStream) -> TokenStream {
27 let mut input = syn::parse_macro_input!(input as syn::DeriveInput);
28 select_many::sql_select_many_macro_derive(&mut input)
29}
30
31#[proc_macro_derive(SqlInsert, attributes(table))]
32pub fn sql_insert_macro_derive(input: TokenStream) -> TokenStream {
33 let mut input = syn::parse_macro_input!(input as syn::DeriveInput);
34 insert::sql_insert_macro_derive(&mut input)
35}
36
37#[proc_macro_derive(SqlInsertMany, attributes(table))]
38pub fn sql_insert_many_macro_derive(input: TokenStream) -> TokenStream {
39 let mut input = syn::parse_macro_input!(input as syn::DeriveInput);
40 insert_many::sql_insert_many_macro_derive(&mut input)
41}
42
43#[proc_macro_derive(SqlUpdate, attributes(table))]
44pub fn sql_update_macro_derive(input: TokenStream) -> TokenStream {
45 let mut input = syn::parse_macro_input!(input as syn::DeriveInput);
46 update::sql_update_macro_derive(&mut input)
47}
48
49#[proc_macro_derive(SqlDelete, attributes(table))]
50pub fn sql_delete_macro_derive(input: TokenStream) -> TokenStream {
51 let mut input = syn::parse_macro_input!(input as syn::DeriveInput);
52 delete::sql_delete_macro_derive(&mut input)
53}
54
55#[proc_macro_derive(SqlTable, attributes(table))]
56pub fn sql_table_macro_derive(input: TokenStream) -> TokenStream {
57 let input = syn::parse_macro_input!(input as syn::DeriveInput);
58 table::sql_table_macro_derive(&input).unwrap()
59}