1mod queue;
2mod registry;
3mod worker;
4
5use queue::*;
6use registry::*;
7use worker::*;
8
9use proc_macro::TokenStream;
10use proc_macro_error2::proc_macro_error;
11use syn::{DeriveInput, parse_macro_input};
12
13#[proc_macro_error]
24#[proc_macro_derive(Queue, attributes(oxanus))]
25pub fn derive_queue(input: TokenStream) -> TokenStream {
26 let input = parse_macro_input!(input as DeriveInput);
27
28 expand_derive_queue(input).into()
29}
30
31#[proc_macro_error]
43#[proc_macro_derive(Worker, attributes(oxanus))]
44pub fn derive_worker(input: TokenStream) -> TokenStream {
45 let input = parse_macro_input!(input as DeriveInput);
46
47 expand_derive_worker(input).into()
48}
49
50#[proc_macro_error]
52#[proc_macro_derive(Registry, attributes(oxanus))]
53pub fn derive_registry(input: TokenStream) -> TokenStream {
54 let input = parse_macro_input!(input as DeriveInput);
55
56 expand_derive_registry(input).into()
57}