Files
config/.config/scripts/.venv/lib/python3.12/site-packages/mashumaro/jsonschema/plugins.py
2025-08-21 17:40:48 +01:00

29 lines
767 B
Python

from dataclasses import is_dataclass
from inspect import cleandoc
from typing import Optional
from mashumaro.jsonschema.models import Context, JSONSchema
from mashumaro.jsonschema.schema import Instance
class BasePlugin:
def get_schema(
self,
instance: Instance,
ctx: Context,
schema: Optional[JSONSchema] = None,
) -> Optional[JSONSchema]:
pass
class DocstringDescriptionPlugin(BasePlugin):
def get_schema(
self,
instance: Instance,
ctx: Context,
schema: Optional[JSONSchema] = None,
) -> Optional[JSONSchema]:
if schema and is_dataclass(instance.type) and instance.type.__doc__:
schema.description = cleandoc(instance.type.__doc__)
return None