encoder.py 508 B

123456789101112131415161718192021
  1. from pydantic import BaseModel
  2. from enum import Enum
  3. from typing import List
  4. def serialize_base_model_array(l: List[BaseModel]) -> str:
  5. class _BaseModel(BaseModel):
  6. __root__: List[BaseModel]
  7. """
  8. {"__root__": [BaseModel, BaseModel, ...]}
  9. """
  10. return _BaseModel(__root__=l).json()
  11. def serialize_base_model_dict(b: dict) -> str:
  12. class _BaseModel(BaseModel):
  13. __root__: dict
  14. """
  15. {"__root__": {BaseModel}}
  16. """
  17. return _BaseModel(__root__=b).json()