floz-macros 0.1.7

Proc macro engine for floz — schema parsing and code generation
Documentation
extern crate proc_macro;

use proc_macro::TokenStream;



#[proc_macro_attribute]
pub fn model(attr: TokenStream, item: TokenStream) -> TokenStream {
    floz_macros_core::model::expand_model(attr.into(), item.into()).into()
}

#[proc_macro_attribute]
pub fn route(attr: TokenStream, item: TokenStream) -> TokenStream {
    floz_macros_core::route::expand_route(attr.into(), item.into()).into()
}

#[proc_macro_attribute]
pub fn task(attr: TokenStream, item: TokenStream) -> TokenStream {
    floz_macros_core::task::expand_task(attr.into(), item.into()).into()
}

#[proc_macro_attribute]
pub fn main(_attr: TokenStream, item: TokenStream) -> TokenStream {
    floz_macros_core::route::expand_main(item.into()).into()
}

#[proc_macro_attribute]
pub fn channel_gate(attr: TokenStream, item: TokenStream) -> TokenStream {
    floz_macros_core::channel::expand_channel_gate(attr.into(), item.into()).into()
}

/// Embeds `vX.json` fingerprint snapshots directly into the application binary 
/// at compile-time by discovering them recursively through your `src/app/**/` models.
/// Creates a securely structured static dictionary for dynamic multi-tenant migrations
/// to utilize during production SaaS initializations without filesystem access.
#[proc_macro]
pub fn embed_migrations(_input: TokenStream) -> TokenStream {
    floz_macros_core::embed::expand_embed_migrations().into()
}