obix-macros 0.7.1

macros for obix crate
Documentation
#![cfg_attr(feature = "fail-on-warnings", deny(warnings))]
#![cfg_attr(feature = "fail-on-warnings", deny(clippy::all))]
#![forbid(unsafe_code)]

mod outbox_event;
mod tables;

use proc_macro::TokenStream;
use syn::parse_macro_input;

#[proc_macro_derive(MailboxTables, attributes(obix))]
pub fn mailbox_tables_derive(input: TokenStream) -> TokenStream {
    let ast = parse_macro_input!(input as syn::DeriveInput);
    match tables::derive(ast) {
        Ok(tokens) => tokens.into(),
        Err(e) => e.write_errors().into(),
    }
}

#[proc_macro_derive(OutboxEvent, attributes(obix))]
pub fn outbox_event_derive(input: TokenStream) -> TokenStream {
    let ast = parse_macro_input!(input as syn::DeriveInput);
    match outbox_event::derive(ast) {
        Ok(tokens) => tokens.into(),
        Err(e) => e.write_errors().into(),
    }
}