45 lines
1.2 KiB
Python
45 lines
1.2 KiB
Python
![]() |
# Code generated by Lark OpenAPI.
|
||
|
|
||
|
from typing import Any, Optional, Union, Dict, List, Set, IO, Callable, Type
|
||
|
from lark_oapi.core.construct import init
|
||
|
from .schema_property import SchemaProperty
|
||
|
from .schema_display import SchemaDisplay
|
||
|
|
||
|
|
||
|
class Schema(object):
|
||
|
_types = {
|
||
|
"properties": List[SchemaProperty],
|
||
|
"display": SchemaDisplay,
|
||
|
"schema_id": str,
|
||
|
}
|
||
|
|
||
|
def __init__(self, d=None):
|
||
|
self.properties: Optional[List[SchemaProperty]] = None
|
||
|
self.display: Optional[SchemaDisplay] = None
|
||
|
self.schema_id: Optional[str] = None
|
||
|
init(self, d, self._types)
|
||
|
|
||
|
@staticmethod
|
||
|
def builder() -> "SchemaBuilder":
|
||
|
return SchemaBuilder()
|
||
|
|
||
|
|
||
|
class SchemaBuilder(object):
|
||
|
def __init__(self) -> None:
|
||
|
self._schema = Schema()
|
||
|
|
||
|
def properties(self, properties: List[SchemaProperty]) -> "SchemaBuilder":
|
||
|
self._schema.properties = properties
|
||
|
return self
|
||
|
|
||
|
def display(self, display: SchemaDisplay) -> "SchemaBuilder":
|
||
|
self._schema.display = display
|
||
|
return self
|
||
|
|
||
|
def schema_id(self, schema_id: str) -> "SchemaBuilder":
|
||
|
self._schema.schema_id = schema_id
|
||
|
return self
|
||
|
|
||
|
def build(self) -> "Schema":
|
||
|
return self._schema
|