1#![doc = include_str!("../README.md")]
2
3#[proc_macro_derive(Facet, attributes(facet))]
4pub fn facet_derive(input: proc_macro::TokenStream) -> proc_macro::TokenStream {
5 facet_derive_emit::facet_derive(input.into()).into()
6}
7
8#[cfg(feature = "function")]
9#[proc_macro_attribute]
10pub fn facet_fn(
11 attr: proc_macro::TokenStream,
12 item: proc_macro::TokenStream,
13) -> proc_macro::TokenStream {
14 facet_derive_emit::function::facet_fn(attr.into(), item.into()).into()
15}
16
17#[cfg(feature = "function")]
18#[proc_macro]
19pub fn fn_shape(input: proc_macro::TokenStream) -> proc_macro::TokenStream {
20 facet_derive_emit::function::fn_shape(input.into()).into()
21}