(dft: Any)
| 974 | |
| 975 | |
| 976 | def encode_default(dft: Any) -> Any: |
| 977 | from pydantic.v1.main import BaseModel |
| 978 | |
| 979 | if isinstance(dft, BaseModel) or is_dataclass(dft): |
| 980 | dft = cast('dict[str, Any]', pydantic_encoder(dft)) |
| 981 | |
| 982 | if isinstance(dft, dict): |
| 983 | return {encode_default(k): encode_default(v) for k, v in dft.items()} |
| 984 | elif isinstance(dft, Enum): |
| 985 | return dft.value |
| 986 | elif isinstance(dft, (int, float, str)): |
| 987 | return dft |
| 988 | elif isinstance(dft, (list, tuple)): |
| 989 | t = dft.__class__ |
| 990 | seq_args = (encode_default(v) for v in dft) |
| 991 | return t(*seq_args) if is_namedtuple(t) else t(seq_args) |
| 992 | elif dft is None: |
| 993 | return None |
| 994 | else: |
| 995 | return pydantic_encoder(dft) |
| 996 | |
| 997 | |
| 998 | _map_types_constraint: Dict[Any, Callable[..., type]] = {int: conint, float: confloat, Decimal: condecimal} |
no test coverage detected