@@ -5,28 +5,32 @@ use syn::{Expr, Ident, Result, meta::ParseNestedMeta};
55use crate :: validation:: Validation ;
66
77pub struct Regex {
8- pub expr : Expr ,
8+ pub expression : Expr ,
99}
1010
1111impl Validation for Regex {
1212 fn parse ( meta : & ParseNestedMeta < ' _ > ) -> Result < Self > {
13- let mut expr: Option < Expr > = None ;
14-
15- meta. parse_nested_meta ( |meta| {
16- if meta. path . is_ident ( "expr" ) {
17- expr = Some ( meta. value ( ) ?. parse ( ) ?) ;
18-
19- Ok ( ( ) )
20- } else {
21- Err ( meta. error ( "unknown parameter" ) )
22- }
23- } ) ?;
13+ let mut expression: Option < Expr > = None ;
14+
15+ if let Ok ( value) = meta. value ( ) {
16+ expression = Some ( value. parse ( ) ?) ;
17+ } else {
18+ meta. parse_nested_meta ( |meta| {
19+ if meta. path . is_ident ( "expression" ) {
20+ expression = Some ( meta. value ( ) ?. parse ( ) ?) ;
21+
22+ Ok ( ( ) )
23+ } else {
24+ Err ( meta. error ( "unknown parameter" ) )
25+ }
26+ } ) ?;
27+ }
2428
25- let Some ( expr ) = expr else {
26- return Err ( meta. error ( "missing expr parameter" ) ) ;
29+ let Some ( expression ) = expression else {
30+ return Err ( meta. error ( "missing expression parameter" ) ) ;
2731 } ;
2832
29- Ok ( Regex { expr } )
33+ Ok ( Regex { expression } )
3034 }
3135
3236 fn is_async ( & self ) -> bool {
@@ -42,10 +46,10 @@ impl Validation for Regex {
4246 }
4347
4448 fn tokens ( & self , expr : & TokenStream ) -> TokenStream {
45- let regex_expr = & self . expr ;
49+ let expression = & self . expression ;
4650
4751 quote ! {
48- #expr. validate_regex( #regex_expr )
52+ #expr. validate_regex( #expression )
4953 }
5054 }
5155}
0 commit comments