1#![doc = include_str!("../README.md")]
2
3#[proc_macro_derive(Facet, attributes(facet))]
4pub fn facet_macros(input: proc_macro::TokenStream) -> proc_macro::TokenStream {
5 facet_macros_impl::facet_macros(input.into()).into()
6}
7
8#[doc(hidden)]
14#[proc_macro]
15pub fn __ext(input: proc_macro::TokenStream) -> proc_macro::TokenStream {
16 facet_macros_impl::ext_attr(input.into()).into()
17}
18
19#[doc(hidden)]
28#[proc_macro]
29pub fn __make_parse_attr(input: proc_macro::TokenStream) -> proc_macro::TokenStream {
30 facet_macros_impl::attr_grammar::make_parse_attr(input.into()).into()
31}
32
33#[doc(hidden)]
38#[proc_macro]
39pub fn __dispatch_attr(input: proc_macro::TokenStream) -> proc_macro::TokenStream {
40 facet_macros_impl::attr_grammar::dispatch_attr(input.into()).into()
41}
42
43#[doc(hidden)]
48#[proc_macro]
49pub fn __build_struct_fields(input: proc_macro::TokenStream) -> proc_macro::TokenStream {
50 facet_macros_impl::attr_grammar::build_struct_fields(input.into()).into()
51}
52
53#[doc(hidden)]
57#[proc_macro]
58pub fn __attr_error(input: proc_macro::TokenStream) -> proc_macro::TokenStream {
59 facet_macros_impl::attr_grammar::attr_error(input.into()).into()
60}
61
62#[doc(hidden)]
66#[proc_macro]
67pub fn __field_error(input: proc_macro::TokenStream) -> proc_macro::TokenStream {
68 facet_macros_impl::attr_grammar::field_error(input.into()).into()
69}
70
71#[doc(hidden)]
75#[proc_macro]
76pub fn __spanned_error(input: proc_macro::TokenStream) -> proc_macro::TokenStream {
77 facet_macros_impl::attr_grammar::spanned_error(input.into()).into()
78}
79
80#[cfg(feature = "function")]
81#[proc_macro_attribute]
82pub fn facet_fn(
83 attr: proc_macro::TokenStream,
84 item: proc_macro::TokenStream,
85) -> proc_macro::TokenStream {
86 facet_macros_impl::function::facet_fn(attr.into(), item.into()).into()
87}
88
89#[cfg(feature = "function")]
90#[proc_macro]
91pub fn fn_shape(input: proc_macro::TokenStream) -> proc_macro::TokenStream {
92 facet_macros_impl::function::fn_shape(input.into()).into()
93}
94
95#[doc(hidden)]
99#[proc_macro]
100pub fn __unknown_attr(input: proc_macro::TokenStream) -> proc_macro::TokenStream {
101 facet_macros_impl::unknown_attr(input.into()).into()
102}
103
104#[doc(hidden)]
109#[proc_macro]
110pub fn __no_args(input: proc_macro::TokenStream) -> proc_macro::TokenStream {
111 facet_macros_impl::no_args(input.into()).into()
112}
113
114#[proc_macro_attribute]
138pub fn on_error(
139 attr: proc_macro::TokenStream,
140 item: proc_macro::TokenStream,
141) -> proc_macro::TokenStream {
142 facet_macros_impl::on_error(attr.into(), item.into()).into()
143}