tokio_postgres_extractor_macros/
lib.rs

1#![allow(clippy::len_zero)]
2
3use {
4    crate::{column::columns_impl, extract::extract_impl},
5    proc_macro::TokenStream,
6    syn::{parse_macro_input, DeriveInput},
7};
8
9mod column;
10mod extract;
11
12#[proc_macro_derive(Columns, attributes(column))]
13pub fn columns(input: TokenStream) -> TokenStream {
14    let input = parse_macro_input!(input as DeriveInput);
15    columns_impl(input)
16        .unwrap_or_else(|e| e.into_compile_error())
17        .into()
18}
19
20#[proc_macro_derive(Extract)]
21pub fn extract(input: TokenStream) -> TokenStream {
22    let input = parse_macro_input!(input as DeriveInput);
23    extract_impl(input)
24        .unwrap_or_else(|e| e.into_compile_error())
25        .into()
26}