Skip to main content

DslService

@lowcode/api


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

CompileHtmlDto

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

CompileReactDto

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

ValidateDslDto

DTO, содержащее DSL-схему приложения

Returns

DslValidationResult

Нормализованный объект DslValidationResult