Skip to main content

AstExpressionValue

@lowcode/dsl-compiler


Interface: AstExpressionValue

Defined in: dsl-compiler/src/dslToAst/astTypes.ts:131

Расширенное AST-представление ExpressionValue из DSL.

Наследует:

  • kind: "expression"
  • expression: string

и добавляет:

  • разобранное AST выражения;
  • грубо выведенный примитивный тип;
  • списки используемых идентификаторов и member-путей.

При этом остаётся совместимым с type-guard isExpressionValue из @lowcode/dsl.

Extends

  • ExpressionValue

Properties

ast

ast: ExpressionNode | null

Defined in: dsl-compiler/src/dslToAst/astTypes.ts:133

Разобранное AST-дерево выражения или null при ошибке парсинга.


expression

expression: string

Defined in: dsl/src/schema.ts:48

Строка выражения, например "user.name" или "state.count + 1".

На уровне схемы это просто строка, без синтаксического разбора.

Inherited from

ExpressionValue.expression


inferredType

inferredType: ExpressionPrimitiveType

Defined in: dsl-compiler/src/dslToAst/astTypes.ts:136

Выведенный примитивный тип результата выражения.


kind

kind: "expression"

Defined in: dsl/src/schema.ts:41

Маркер, отличающий выражение от статического значения.

Inherited from

ExpressionValue.kind


usedIdentifiers

usedIdentifiers: string[]

Defined in: dsl-compiler/src/dslToAst/astTypes.ts:139

Идентификаторы (Identifier) в выражении.


usedMemberPaths

usedMemberPaths: string[]

Defined in: dsl-compiler/src/dslToAst/astTypes.ts:142

Member-пути вида "state.count", "data.users[0].name".