workflow_task_macros/
lib.rs1use proc_macro::TokenStream;
5use proc_macro_error3::proc_macro_error;
6use quote::{ToTokens, quote};
7use syn::parse_macro_input;
8mod task;
9
10#[proc_macro]
13#[proc_macro_error]
14pub fn task(input: TokenStream) -> TokenStream {
15 let result = parse_macro_input!(input as task::Task);
16 let ts = quote! {
17 workflow_task::Task::new(#result)
18 };
19 ts.into()
20}
21
22#[proc_macro]
25#[proc_macro_error]
26pub fn set_task(input: TokenStream) -> TokenStream {
27 let result = parse_macro_input!(input as task::SetTask);
28 let ts = result.to_token_stream();
29 ts.into()
30}