use crate::*;
pub(crate) fn try_send_macro(item: TokenStream, position: Position) -> TokenStream {
inject(position, item, |context| {
quote! {
let _ = #context.try_send().await;
}
})
}
pub(crate) fn send_macro(item: TokenStream, position: Position) -> TokenStream {
inject(position, item, |context| {
quote! {
#context.send().await;
}
})
}
pub(crate) fn try_send_body_macro(item: TokenStream, position: Position) -> TokenStream {
inject(position, item, |context| {
quote! {
let _ = #context.try_send_body().await;
}
})
}
pub(crate) fn send_body_macro(item: TokenStream, position: Position) -> TokenStream {
inject(position, item, |context| {
quote! {
#context.send_body().await;
}
})
}
pub(crate) fn try_send_body_with_data_macro(
attr: TokenStream,
item: TokenStream,
position: Position,
) -> TokenStream {
let send_data: SendData = parse_macro_input!(attr as SendData);
let data: Expr = send_data.data;
inject(position, item, |context| {
quote! {
let _ = #context.try_send_body_with_data(#data).await;
}
})
}
pub(crate) fn send_body_with_data_macro(
attr: TokenStream,
item: TokenStream,
position: Position,
) -> TokenStream {
let send_data: SendData = parse_macro_input!(attr as SendData);
let data: Expr = send_data.data;
inject(position, item, |context| {
quote! {
#context.send_body_with_data(#data).await;
}
})
}