Ruby-Cogs/extendedeconomy/common/__init__.py
2025-05-23 02:30:00 -04:00

28 lines
994 B
Python

import orjson
from pydantic import VERSION, BaseModel
class Base(BaseModel):
def model_dump_json(self, *args, **kwargs):
if VERSION >= "2.0.1":
return super().model_dump_json(*args, **kwargs)
return super().json(*args, **kwargs)
def model_dump(self, *args, **kwargs):
if VERSION >= "2.0.1":
return super().model_dump(*args, **kwargs)
if kwargs.pop("mode", "") == "json":
return orjson.loads(super().json(*args, **kwargs))
return super().dict(*args, **kwargs)
@classmethod
def model_validate_json(cls, obj, *args, **kwargs):
if VERSION >= "2.0.1":
return super().model_validate_json(obj, *args, **kwargs)
return super().parse_raw(obj, *args, **kwargs)
@classmethod
def model_validate(cls, obj, *args, **kwargs):
if VERSION >= "2.0.1":
return super().model_validate(obj, *args, **kwargs)
return super().parse_obj(obj, *args, **kwargs)