1
0
Fork 0

Adding upstream version 0.5.1.

Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
Daniel Baumann 2025-05-04 22:22:32 +02:00
parent 303fa6e9d8
commit 97e6d74bac
Signed by: daniel
GPG key ID: FBB4F0E80A80222F
110 changed files with 12006 additions and 0 deletions

View file

@ -0,0 +1,33 @@
from typing import TYPE_CHECKING, Any, Union
from pydantic import BaseModel, Field
from openapi_pydantic.compat import PYDANTIC_V2
from .v3_0 import OpenAPI as OpenAPIv3_0
from .v3_1 import OpenAPI as OpenAPIv3_1
OpenAPIv3 = Union[OpenAPIv3_1, OpenAPIv3_0]
if TYPE_CHECKING:
def parse_obj(data: Any) -> OpenAPIv3:
"""Parse a raw object into an OpenAPI model with version inference."""
...
elif PYDANTIC_V2:
from pydantic import RootModel
class _OpenAPI(RootModel):
root: OpenAPIv3 = Field(discriminator="openapi")
def parse_obj(data: Any) -> OpenAPIv3:
return _OpenAPI.model_validate(data).root
else:
class _OpenAPI(BaseModel):
__root__: OpenAPIv3 = Field(discriminator="openapi")
def parse_obj(data: Any) -> OpenAPIv3:
return _OpenAPI.parse_obj(data).__root__