tokio_postgres_extractor_macros/
lib.rs1#![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}