drive_v3_macros/
lib.rs

1mod utils;
2mod field;
3mod symbols;
4mod request;
5mod data_struct;
6mod derive_macro;
7mod attribute_macro;
8
9#[proc_macro_attribute]
10#[cfg(not(tarpaulin_include))]
11pub fn request( args: proc_macro::TokenStream, input: proc_macro::TokenStream ) -> proc_macro::TokenStream {
12    let result = match attribute_macro::implement_for( args.into(), input.into() ) {
13        Ok(tokens) => tokens,
14        Err(error) => error.to_compile_error(),
15    };
16
17    result.into()
18}
19
20#[proc_macro_derive( DriveRequestBuilder, attributes(drive_v3) )]
21#[cfg(not(tarpaulin_include))]
22pub fn drive_request_builder_derive( token_stream: proc_macro::TokenStream ) -> proc_macro::TokenStream {
23    let result = match derive_macro::implement_for( token_stream.into() ) {
24        Ok(tokens) => tokens,
25        Err(error) => error.to_compile_error(),
26    };
27
28    result.into()
29}