Coverage for /Users/eugene/Development/robotnikmq/robotnikmq/utils.py: 100%
7 statements
« prev ^ index » next coverage.py v7.3.4, created at 2023-12-26 19:13 -0500
« prev ^ index » next coverage.py v7.3.4, created at 2023-12-26 19:13 -0500
1from json import JSONEncoder, dumps
2from pathlib import Path
3from typing import Any
5from typeguard import typechecked
8class MyEncoder(JSONEncoder): # pragma: no cover # not directly used in code
9 @typechecked
10 def default(self, obj: Any) -> Any: # pylint: disable=W0221
11 if isinstance(obj, Path):
12 return str(obj)
13 return JSONEncoder.default(self, obj)
16@typechecked
17def to_json(obj: Any) -> Any:
18 return dumps(obj, cls=MyEncoder)