MCPcopy
hub / github.com/pydantic/pydantic / encode_default

Function encode_default

pydantic/v1/schema.py:976–995  ·  view source on GitHub ↗
(dft: Any)

Source from the content-addressed store, hash-verified

974
975
976def 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}

Callers 1

get_field_info_schemaFunction · 0.85

Calls 4

pydantic_encoderFunction · 0.90
is_namedtupleFunction · 0.90
tFunction · 0.50
itemsMethod · 0.45

Tested by

no test coverage detected