DslService
Class: DslService
Defined in: apps/api/src/modules/dsl/dsl.service.ts:45
Сервис DSL-операций.
Отвечает за:
- валидацию DSL-схемы (через
@lowcode/dsl); - построение AST для внутреннего использования;
- компиляцию DSL в React;
- компиляцию DSL в HTML.
Сервис не содержит бизнес-логики редактора, только маршрутизацию
и нормализацию данных между API и @lowcode/dsl-compiler.
Constructors
Constructor
new DslService():
DslService
Returns
DslService
Methods
buildAst()
buildAst(
app):AstApp
Defined in: apps/api/src/modules/dsl/dsl.service.ts:154
Строит AST-дерево из DSL-схемы.
Используется:
- внутри сервиса;
- для выполнения внутренних преобразований;
- как промежуточный этап компиляции.
Parameters
app
AppSchema
Полная схема DSL-приложения
Returns
AstApp
AST-приложение (AstApp)
compileToHtml()
compileToHtml(
dto):GeneratedBundle
Defined in: apps/api/src/modules/dsl/dsl.service.ts:183
Компилирует DSL в чистый HTML/CSS-бандл.
Генерация выполняется через compileDslToHtml и идеально
подходит для статических хостингов или предпросмотра страниц.
Parameters
dto
DTO со схемой и опциями генерации HTML
Returns
GeneratedBundle
Объект GeneratedBundle
compileToReact()
compileToReact(
dto):GeneratedBundle
Defined in: apps/api/src/modules/dsl/dsl.service.ts:170
Компилирует DSL в React-бандл.
Генерация выполняется через compileDslToReact из пакета
@lowcode/dsl-compiler, который создаёт:
- React-компонент;
- bundle JS/TS;
- опциональные вспомогательные структуры.
Parameters
dto
DTO со схемой и опциями компиляции
Returns
GeneratedBundle
Объект GeneratedBundle
validate()
validate(
dto):DslValidationResult
Defined in: apps/api/src/modules/dsl/dsl.service.ts:127
Выполняет валидацию DSL-схемы через @lowcode/dsl.
Валидация включает:
- проверку структуры;
- проверку типов компонентов;
- проверку props;
- обнаружение неизвестных нод;
- формирование списка ошибок и предупреждений.
Parameters
dto
DTO, содержащее DSL-схему приложения
Returns
Нормализованный объект DslValidationResult