ui video selector

This commit is contained in:
2026-02-06 09:41:50 -03:00
parent daabd15c19
commit 2cf6c89fbb
7 changed files with 613 additions and 47 deletions

View File

@@ -28,7 +28,9 @@ class TypeScriptGenerator(BaseGenerator):
if hasattr(models, "models"):
# SchemaLoader
content = self._generate_from_definitions(
models.models, getattr(models, "enums", [])
models.models,
getattr(models, "enums", []),
api_models=getattr(models, "api_models", []),
)
elif isinstance(models, tuple):
# (models, enums) tuple
@@ -42,7 +44,10 @@ class TypeScriptGenerator(BaseGenerator):
output_path.write_text(content)
def _generate_from_definitions(
self, models: List[ModelDefinition], enums: List[EnumDefinition]
self,
models: List[ModelDefinition],
enums: List[EnumDefinition],
api_models: List[ModelDefinition] = None,
) -> str:
"""Generate from ModelDefinition objects."""
lines = self._generate_header()
@@ -58,6 +63,14 @@ class TypeScriptGenerator(BaseGenerator):
lines.extend(self._generate_interface_from_definition(model_def))
lines.append("")
# Generate API request/response interfaces
if api_models:
lines.append("// API request/response types")
lines.append("")
for model_def in api_models:
lines.extend(self._generate_interface_from_definition(model_def))
lines.append("")
return "\n".join(lines)
def _generate_from_dataclasses(self, dataclasses: List[type]) -> str: