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