Пишу Django приложение, используя channels и pydantic:
class VideoConsumer(AsyncWebsocketConsumer):
async def receive(self, text_data):
method:Methods = Methods.parse_raw(text_data)
result = method.result(self).model_dump_json()
await self.send(result)
class Method(pydantic.BaseModel):
method_name:str
class GetInfoAboutVideo(Method):
method_name:str = "get_info_about_video"
class Result(pydantic.BaseModel):
video_duration:int | float
splitted_time: int
def result(self, consumer:VideoConsumer):
return self.Result(
video_duration=consumer.splitted_video.video_duration,
splitted_time=consumer.splitted_video.splitted_time
)
Methods = Union[
GetInfoAboutVideo
]
Пока что есть что-то такое, и я хотел бы каким-то образом экспортировать эти и будущие модели в классы JavaScript, чтобы и со стороны Python и со стороны JS были одинаковые модели, для общения через WebSocket.
Кто-нибудь сталкивался с чем-то подобным? Нашел лишь
pydantic-to-typescript, вроде написано, что для JS тоже подходит, но я хз