File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -28,15 +28,23 @@ def utc_now() -> datetime:
2828def _primitive (value : Any ) -> Any :
2929 """Convert dataclasses, enums, and datetimes into JSON-friendly primitives."""
3030 if is_dataclass (value ):
31- return {key : _primitive (item ) for key , item in asdict (value ).items ()}
31+ return {
32+ key : _primitive (item )
33+ for key , item in asdict (value ).items ()
34+ if item is not None
35+ }
3236 if isinstance (value , datetime ):
3337 return value .isoformat ()
3438 if hasattr (value , "value" ):
3539 return value .value
3640 if isinstance (value , list ):
37- return [_primitive (item ) for item in value ]
41+ return [_primitive (item ) for item in value if item is not None ]
3842 if isinstance (value , dict ):
39- return {key : _primitive (item ) for key , item in value .items ()}
43+ return {
44+ key : _primitive (item )
45+ for key , item in value .items ()
46+ if item is not None
47+ }
4048 return value
4149
4250
You can’t perform that action at this time.
0 commit comments