mod queue;
mod registry;
mod worker;
use queue::*;
use registry::*;
use worker::*;
use proc_macro::TokenStream;
use proc_macro_error2::proc_macro_error;
use syn::{DeriveInput, parse_macro_input};
#[proc_macro_error]
#[proc_macro_derive(Queue, attributes(oxanus))]
pub fn derive_queue(input: TokenStream) -> TokenStream {
let input = parse_macro_input!(input as DeriveInput);
expand_derive_queue(input).into()
}
#[proc_macro_error]
#[proc_macro_derive(Worker, attributes(oxanus))]
pub fn derive_worker(input: TokenStream) -> TokenStream {
let input = parse_macro_input!(input as DeriveInput);
expand_derive_worker(input).into()
}
#[proc_macro_error]
#[proc_macro_derive(Registry, attributes(oxanus))]
pub fn derive_registry(input: TokenStream) -> TokenStream {
let input = parse_macro_input!(input as DeriveInput);
expand_derive_registry(input).into()
}