diff --git a/Cargo.lock b/Cargo.lock index c0f9980..9ada0c7 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2,10 +2,22 @@ # It is not intended for manual editing. version = 4 +[[package]] +name = "async-trait" +version = "0.1.88" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e539d3fca749fcee5236ab05e93a52867dd549cc157c8cb7f99595f3cedffdb5" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "derive_http" version = "0.1.0" dependencies = [ + "async-trait", "proc-macro2", "quote", "syn", diff --git a/Cargo.toml b/Cargo.toml index 5675a3f..3715e24 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -7,6 +7,7 @@ edition = "2024" proc-macro = true [dependencies] +async-trait = "0.1.88" proc-macro2 = "1.0.95" quote = "1.0.40" syn = { version = "2.0.104", features = ["full"] } diff --git a/src/lib.rs b/src/lib.rs index c217a04..ce4fc1e 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,22 +1,8 @@ +use async_trait::async_trait; use proc_macro::TokenStream; use quote::quote; use syn::{parse_macro_input, ItemEnum, Lit, DeriveInput, Fields, Data}; -#[async_trait] -pub trait Queryable { - ///send the query types query and get the response returned as the - ///proper response type - pub fn send( - &self, - base_url: &str, - headers: Option>, - ) -> Result; -} - -pub trait Responsable { - pub fn receive(resp: Response) -> Result; -} - #[proc_macro_derive(HttpRequest, attributes(http_get))] pub fn derive_http_get_request(input: TokenStream) -> TokenStream { let input = parse_macro_input!(input as DeriveInput);