@@ -125,7 +125,7 @@ def _get_type_name(fd: typing.Any) -> str:
125125 return md ["name" ]
126126
127127
128- def _get_type_ctor (fd : typing .Any ) -> typing .Optional [ typing . Callable [..., celtypes .Value ]] :
128+ def _get_type_ctor (fd : typing .Any ) -> typing .Callable [..., celtypes .Value ] | None :
129129 md = _FIELD_DESC_METADATA_MAP .get (fd )
130130 if md is None :
131131 return None
@@ -312,19 +312,19 @@ def validate(self, ctx: RuleContext, _: message.Message):
312312class CelRunner :
313313 runner : celpy .Runner
314314 rule : validate_pb2 .Rule
315- rule_value : typing .Optional [ typing . Any ] = None
316- rule_cel : typing . Optional [ celtypes .Value ] = None
317- rule_path : typing . Optional [ validate_pb2 .FieldPath ] = None
315+ rule_value : typing .Any | None = None
316+ rule_cel : celtypes .Value | None = None
317+ rule_path : validate_pb2 .FieldPath | None = None
318318
319319
320320class CelRules (Rules ):
321321 """A rule that has rules written in CEL."""
322322
323323 _cel : list [CelRunner ]
324- _rules : typing . Optional [ message .Message ] = None
325- _rules_cel : typing . Optional [ celtypes .Value ] = None
324+ _rules : message .Message | None = None
325+ _rules_cel : celtypes .Value | None = None
326326
327- def __init__ (self , rules : typing . Optional [ message .Message ] ):
327+ def __init__ (self , rules : message .Message | None ):
328328 self ._cel = []
329329 if rules is not None :
330330 self ._rules = rules
@@ -334,8 +334,8 @@ def _validate_cel(
334334 self ,
335335 ctx : RuleContext ,
336336 * ,
337- this_value : typing .Optional [ typing . Any ] = None ,
338- this_cel : typing . Optional [ celtypes .Value ] = None ,
337+ this_value : typing .Any | None = None ,
338+ this_cel : celtypes .Value | None = None ,
339339 for_key : bool = False ,
340340 ):
341341 activation : dict [str , celtypes .Value ] = {}
@@ -379,8 +379,8 @@ def add_rule(
379379 funcs : dict [str , celpy .CELFunction ],
380380 rules : validate_pb2 .Rule ,
381381 * ,
382- rule_field : typing . Optional [ descriptor .FieldDescriptor ] = None ,
383- rule_path : typing . Optional [ validate_pb2 .FieldPath ] = None ,
382+ rule_field : descriptor .FieldDescriptor | None = None ,
383+ rule_path : validate_pb2 .FieldPath | None = None ,
384384 ):
385385 ast = env .compile (rules .expression )
386386 prog = env .program (ast , functions = funcs )
@@ -430,7 +430,7 @@ class MessageRules(CelRules):
430430
431431 _oneofs : list [MessageOneofRule ]
432432
433- def __init__ (self , rules : typing . Optional [ message .Message ] , desc : descriptor .Descriptor ):
433+ def __init__ (self , rules : message .Message | None , desc : descriptor .Descriptor ):
434434 super ().__init__ (rules )
435435 self ._oneofs = []
436436 self ._desc = desc
@@ -467,7 +467,7 @@ def add_oneof(
467467 self ._oneofs .append (MessageOneofRule (fields , required = rule .required ))
468468
469469
470- def check_field_type (field : descriptor .FieldDescriptor , expected : int , wrapper_name : typing . Optional [ str ] = None ):
470+ def check_field_type (field : descriptor .FieldDescriptor , expected : int , wrapper_name : str | None = None ):
471471 if field .type != expected and (
472472 field .type != descriptor .FieldDescriptor .TYPE_MESSAGE or field .message_type .full_name != wrapper_name
473473 ):
@@ -713,7 +713,7 @@ def validate(self, ctx: RuleContext, message: message.Message):
713713class RepeatedRules (FieldRules ):
714714 """Rules for a repeated field."""
715715
716- _item_rules : typing . Optional [ FieldRules ] = None
716+ _item_rules : FieldRules | None = None
717717
718718 _items_rules_suffix : typing .ClassVar [list [validate_pb2 .FieldPathElement ]] = [
719719 _field_to_element (
@@ -730,7 +730,7 @@ def __init__(
730730 funcs : dict [str , celpy .CELFunction ],
731731 field : descriptor .FieldDescriptor ,
732732 field_level : validate_pb2 .FieldRules ,
733- item_rules : typing . Optional [ FieldRules ] ,
733+ item_rules : FieldRules | None ,
734734 ):
735735 super ().__init__ (env , funcs , field , field_level )
736736 if item_rules is not None :
@@ -760,8 +760,8 @@ def validate(self, ctx: RuleContext, message: message.Message):
760760class MapRules (FieldRules ):
761761 """Rules for a map field."""
762762
763- _key_rules : typing . Optional [ FieldRules ] = None
764- _value_rules : typing . Optional [ FieldRules ] = None
763+ _key_rules : FieldRules | None = None
764+ _value_rules : FieldRules | None = None
765765
766766 _key_rules_suffix : typing .ClassVar [list [validate_pb2 .FieldPathElement ]] = [
767767 _field_to_element (validate_pb2 .MapRules .DESCRIPTOR .fields_by_number [validate_pb2 .MapRules .KEYS_FIELD_NUMBER ]),
@@ -783,8 +783,8 @@ def __init__(
783783 funcs : dict [str , celpy .CELFunction ],
784784 field : descriptor .FieldDescriptor ,
785785 field_level : validate_pb2 .FieldRules ,
786- key_rules : typing . Optional [ FieldRules ] ,
787- value_rules : typing . Optional [ FieldRules ] ,
786+ key_rules : FieldRules | None ,
787+ value_rules : FieldRules | None ,
788788 ):
789789 super ().__init__ (env , funcs , field , field_level )
790790 if key_rules is not None :
@@ -850,7 +850,7 @@ class RuleFactory:
850850
851851 _env : celpy .Environment
852852 _funcs : dict [str , celpy .CELFunction ]
853- _cache : dict [descriptor .Descriptor , typing . Union [ list [Rules ], Exception ] ]
853+ _cache : dict [descriptor .Descriptor , list [Rules ] | Exception ]
854854
855855 def __init__ (self , funcs : dict [str , celpy .CELFunction ]):
856856 self ._env = celpy .Environment (runner_class = InterpretedRunner )
@@ -1022,7 +1022,7 @@ def _new_field_rule(
10221022
10231023 def _new_rules (self , desc : descriptor .Descriptor ) -> list [Rules ]:
10241024 result : list [Rules ] = []
1025- rule : typing . Optional [ Rules ] = None
1025+ rule : Rules | None = None
10261026 all_msg_oneof_fields = set ()
10271027 if desc .GetOptions ().HasExtension (validate_pb2 .message ): # type: ignore
10281028 message_level = desc .GetOptions ().Extensions [validate_pb2 .message ] # type: ignore
0 commit comments