some random stuff. caelestia incoming
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
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
|
||||
Reference in New Issue
Block a user