File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -34,6 +34,10 @@ def as_aapi_dict(self, ignore_event_type=True):
3434 if attrs .has (self ):
3535 for field in attrs .fields (self .__class__ ):
3636 value = self .__getattribute__ (field .name )
37+ ## API serialization hook
38+ if "_aapi_serialize" in field .metadata :
39+ value = field .metadata ["_aapi_serialize" ](value )
40+
3741 aapi_repr = field .metadata .get ("_aapi_repr_" )
3842
3943 if value in [None , [], {}]:
Original file line number Diff line number Diff line change @@ -88,7 +88,7 @@ class Units(enum.Enum):
8888 Days = "Days"
8989
9090 times : int = attrs .field (kw_only = True , default = None , metadata = {
91- '_aapi_repr_' : 'Times' })
91+ '_aapi_repr_' : 'Times' , '_aapi_serialize' : lambda v : str ( v ) if v is not None else None })
9292 every : str = attrs .field (kw_only = True , default = None , metadata = {
9393 '_aapi_repr_' : 'Every' })
9494 from_ : From = attrs .field (kw_only = True , default = None , metadata = {
You can’t perform that action at this time.
0 commit comments