workflow_task_macros/
lib.rs

1use 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}