1mod derive;
2mod rule;
3mod ruleset;
4
5#[proc_macro_derive(Validate, attributes(validate))]
6pub fn derive_validator(ts: proc_macro::TokenStream) -> proc_macro::TokenStream {
7 let ds = syn::parse_macro_input!(ts as derive::Validate);
8 ds.finish().into()
9}
10
11
12#[proc_macro]
13pub fn rule(ts: proc_macro::TokenStream) -> proc_macro::TokenStream {
14 let ds = syn::parse_macro_input!(ts as rule::Rule);
15 ds.finish().into()
16}
17
18#[proc_macro_attribute]
19pub fn ruleset(_: proc_macro::TokenStream, ts: proc_macro::TokenStream) -> proc_macro::TokenStream {
20 let ds = syn::parse_macro_input!(ts as ruleset::Ruleset);
21 ds.finish().into()
22}