Skip to main content

vale_derive/
lib.rs

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}