@zenstackhq/language 3.8.0-beta.1 → 3.8.0-beta.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ast-DHvua30v.cjs +1721 -0
- package/dist/ast-DHvua30v.cjs.map +1 -0
- package/dist/ast-DhPyAQoX.d.mts +1440 -0
- package/dist/ast-Z-Y9-aOU.mjs +1021 -0
- package/dist/ast-Z-Y9-aOU.mjs.map +1 -0
- package/dist/ast-fg9-E1cy.d.cts +1440 -0
- package/dist/ast.cjs +1 -1
- package/dist/ast.d.cts +1 -1
- package/dist/ast.d.mts +1 -1
- package/dist/ast.mjs +1 -1
- package/dist/factory.cjs +31 -31
- package/dist/factory.cjs.map +1 -1
- package/dist/factory.d.cts +1 -1
- package/dist/factory.d.mts +1 -1
- package/dist/factory.mjs +31 -31
- package/dist/factory.mjs.map +1 -1
- package/dist/index.cjs +181 -356
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.mts +1 -1
- package/dist/index.mjs +181 -356
- package/dist/index.mjs.map +1 -1
- package/dist/{utils-CCU55PfR.mjs → utils-BbhrRsiM.mjs} +2 -2
- package/dist/{utils-CCU55PfR.mjs.map → utils-BbhrRsiM.mjs.map} +1 -1
- package/dist/{utils-b3dJKmYr.cjs → utils-C731YIwp.cjs} +2 -2
- package/dist/{utils-b3dJKmYr.cjs.map → utils-C731YIwp.cjs.map} +1 -1
- package/dist/utils.cjs +1 -1
- package/dist/utils.d.cts +1 -1
- package/dist/utils.d.mts +1 -1
- package/dist/utils.mjs +1 -1
- package/package.json +9 -8
- package/res/stdlib.zmodel +23 -1
- package/dist/ast-Clidp86c.cjs +0 -1465
- package/dist/ast-Clidp86c.cjs.map +0 -1
- package/dist/ast-DEfhnj8j.mjs +0 -765
- package/dist/ast-DEfhnj8j.mjs.map +0 -1
- package/dist/ast-DQDdBZQ3.d.mts +0 -525
- package/dist/ast-W2h6Qtfk.d.cts +0 -525
package/dist/ast.cjs
CHANGED
package/dist/ast.d.cts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { $ as ReferenceArg, $t as isModel, A as Enum, At as isConfigField, B as InvocationExpr, Bt as isEnumField, C as ConfigInvocationExpr, Ct as isBinaryExpr, D as DataModel, Dt as isCollectionPredicateBinding, E as DataFieldType, Et as isBuiltinType, F as FunctionDecl, Ft as isDataFieldType, G as ModelImport, Gt as isFunctionParam, H as MemberAccessExpr, Ht as isExpressionType, I as FunctionParam, It as isDataModel, J as ObjectExpr, Jt as isInternalAttribute, K as NullExpr, Kt as isFunctionParamType, L as FunctionParamType, Lt as isDataModelAttribute, M as Expression, Mt as isConfigInvocationExpr, N as ExpressionType, Nt as isDataField, O as DataModelAttribute, Ot as isConfigArrayExpr, P as FieldInitializer, Pt as isDataFieldAttribute, Q as ProcedureParam, Qt as isMemberAccessTarget, R as GeneratorDecl, Rt as isDataSource, S as ConfigInvocationArg, St as isAttributeParamType, T as DataFieldAttribute, Tt as isBooleanLiteral, U as MemberAccessTarget, Ut as isFieldInitializer, V as LiteralExpr, Vt as isExpression, W as Model, Wt as isFunctionDecl, X as PluginField, Xt as isLiteralExpr, Y as Plugin, Yt as isInvocationExpr, Z as Procedure, Zt as isMemberAccessExpr, _ as BuiltinType, _n as isUnaryExpr, _t as isArgument, a as ResolvedShape, an as isPluginField, at as ThisExpr, b as ConfigExpr, bt as isAttributeArg, c as Argument, cn as isReferenceArg, ct as UnaryExpr, d as AttributeArg, dn as isRegularID, dt as ZModelAstType, en as isModelImport, et as ReferenceExpr, f as AttributeParam, fn as isRegularIDWithTypeNames, ft as ZModelKeywordNames, g as BooleanLiteral, gn as isTypeDef, gt as isAbstractDeclaration, h as Boolean, hn as isTypeDeclaration, ht as ZModelTokenNames, i as Reference, in as isPlugin, it as StringLiteral, j as EnumField, jt as isConfigInvocationArg, k as DataSource, kt as isConfigExpr, l as ArrayExpr, ln as isReferenceExpr, lt as UnsupportedFieldType, m as BinaryExpr, mn as isThisExpr, mt as ZModelTerminals, n as BinaryExprOperatorPriority, nn as isNumberLiteral, nt as RegularID, o as ResolvedType, on as isProcedure, ot as TypeDeclaration, p as AttributeParamType, pn as isStringLiteral, pt as ZModelTerminalNames, q as NumberLiteral, qt as isGeneratorDecl, r as InheritableNode, rn as isObjectExpr, rt as RegularIDWithTypeNames, s as AbstractDeclaration, sn as isProcedureParam, st as TypeDef, t as AstNode, tn as isNullExpr, tt as ReferenceTarget, u as Attribute, un as isReferenceTarget, ut as ZModelAstReflection, v as CollectionPredicateBinding, vn as isUnsupportedFieldType, vt as isArrayExpr, w as DataField, wt as isBoolean, x as ConfigField, xt as isAttributeParam, y as ConfigArrayExpr, yn as reflection, yt as isAttribute, z as InternalAttribute, zt as isEnum } from "./ast-
|
|
1
|
+
import { $ as ReferenceArg, $t as isModel, A as Enum, At as isConfigField, B as InvocationExpr, Bt as isEnumField, C as ConfigInvocationExpr, Ct as isBinaryExpr, D as DataModel, Dt as isCollectionPredicateBinding, E as DataFieldType, Et as isBuiltinType, F as FunctionDecl, Ft as isDataFieldType, G as ModelImport, Gt as isFunctionParam, H as MemberAccessExpr, Ht as isExpressionType, I as FunctionParam, It as isDataModel, J as ObjectExpr, Jt as isInternalAttribute, K as NullExpr, Kt as isFunctionParamType, L as FunctionParamType, Lt as isDataModelAttribute, M as Expression, Mt as isConfigInvocationExpr, N as ExpressionType, Nt as isDataField, O as DataModelAttribute, Ot as isConfigArrayExpr, P as FieldInitializer, Pt as isDataFieldAttribute, Q as ProcedureParam, Qt as isMemberAccessTarget, R as GeneratorDecl, Rt as isDataSource, S as ConfigInvocationArg, St as isAttributeParamType, T as DataFieldAttribute, Tt as isBooleanLiteral, U as MemberAccessTarget, Ut as isFieldInitializer, V as LiteralExpr, Vt as isExpression, W as Model, Wt as isFunctionDecl, X as PluginField, Xt as isLiteralExpr, Y as Plugin, Yt as isInvocationExpr, Z as Procedure, Zt as isMemberAccessExpr, _ as BuiltinType, _n as isUnaryExpr, _t as isArgument, a as ResolvedShape, an as isPluginField, at as ThisExpr, b as ConfigExpr, bt as isAttributeArg, c as Argument, cn as isReferenceArg, ct as UnaryExpr, d as AttributeArg, dn as isRegularID, dt as ZModelAstType, en as isModelImport, et as ReferenceExpr, f as AttributeParam, fn as isRegularIDWithTypeNames, ft as ZModelKeywordNames, g as BooleanLiteral, gn as isTypeDef, gt as isAbstractDeclaration, h as Boolean, hn as isTypeDeclaration, ht as ZModelTokenNames, i as Reference, in as isPlugin, it as StringLiteral, j as EnumField, jt as isConfigInvocationArg, k as DataSource, kt as isConfigExpr, l as ArrayExpr, ln as isReferenceExpr, lt as UnsupportedFieldType, m as BinaryExpr, mn as isThisExpr, mt as ZModelTerminals, n as BinaryExprOperatorPriority, nn as isNumberLiteral, nt as RegularID, o as ResolvedType, on as isProcedure, ot as TypeDeclaration, p as AttributeParamType, pn as isStringLiteral, pt as ZModelTerminalNames, q as NumberLiteral, qt as isGeneratorDecl, r as InheritableNode, rn as isObjectExpr, rt as RegularIDWithTypeNames, s as AbstractDeclaration, sn as isProcedureParam, st as TypeDef, t as AstNode, tn as isNullExpr, tt as ReferenceTarget, u as Attribute, un as isReferenceTarget, ut as ZModelAstReflection, v as CollectionPredicateBinding, vn as isUnsupportedFieldType, vt as isArrayExpr, w as DataField, wt as isBoolean, x as ConfigField, xt as isAttributeParam, y as ConfigArrayExpr, yn as reflection, yt as isAttribute, z as InternalAttribute, zt as isEnum } from "./ast-fg9-E1cy.cjs";
|
|
2
2
|
export { AbstractDeclaration, Argument, ArrayExpr, AstNode, Attribute, AttributeArg, AttributeParam, AttributeParamType, BinaryExpr, BinaryExprOperatorPriority, Boolean, BooleanLiteral, BuiltinType, CollectionPredicateBinding, ConfigArrayExpr, ConfigExpr, ConfigField, ConfigInvocationArg, ConfigInvocationExpr, DataField, DataFieldAttribute, DataFieldType, DataModel, DataModelAttribute, DataSource, Enum, EnumField, Expression, ExpressionType, FieldInitializer, FunctionDecl, FunctionParam, FunctionParamType, GeneratorDecl, InheritableNode, InternalAttribute, InvocationExpr, LiteralExpr, MemberAccessExpr, MemberAccessTarget, Model, ModelImport, NullExpr, NumberLiteral, ObjectExpr, Plugin, PluginField, Procedure, ProcedureParam, Reference, ReferenceArg, ReferenceExpr, ReferenceTarget, RegularID, RegularIDWithTypeNames, ResolvedShape, ResolvedType, StringLiteral, ThisExpr, TypeDeclaration, TypeDef, UnaryExpr, UnsupportedFieldType, ZModelAstReflection, ZModelAstType, ZModelKeywordNames, ZModelTerminalNames, ZModelTerminals, ZModelTokenNames, isAbstractDeclaration, isArgument, isArrayExpr, isAttribute, isAttributeArg, isAttributeParam, isAttributeParamType, isBinaryExpr, isBoolean, isBooleanLiteral, isBuiltinType, isCollectionPredicateBinding, isConfigArrayExpr, isConfigExpr, isConfigField, isConfigInvocationArg, isConfigInvocationExpr, isDataField, isDataFieldAttribute, isDataFieldType, isDataModel, isDataModelAttribute, isDataSource, isEnum, isEnumField, isExpression, isExpressionType, isFieldInitializer, isFunctionDecl, isFunctionParam, isFunctionParamType, isGeneratorDecl, isInternalAttribute, isInvocationExpr, isLiteralExpr, isMemberAccessExpr, isMemberAccessTarget, isModel, isModelImport, isNullExpr, isNumberLiteral, isObjectExpr, isPlugin, isPluginField, isProcedure, isProcedureParam, isReferenceArg, isReferenceExpr, isReferenceTarget, isRegularID, isRegularIDWithTypeNames, isStringLiteral, isThisExpr, isTypeDeclaration, isTypeDef, isUnaryExpr, isUnsupportedFieldType, reflection };
|
package/dist/ast.d.mts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { $ as ReferenceArg, $t as isModel, A as Enum, At as isConfigField, B as InvocationExpr, Bt as isEnumField, C as ConfigInvocationExpr, Ct as isBinaryExpr, D as DataModel, Dt as isCollectionPredicateBinding, E as DataFieldType, Et as isBuiltinType, F as FunctionDecl, Ft as isDataFieldType, G as ModelImport, Gt as isFunctionParam, H as MemberAccessExpr, Ht as isExpressionType, I as FunctionParam, It as isDataModel, J as ObjectExpr, Jt as isInternalAttribute, K as NullExpr, Kt as isFunctionParamType, L as FunctionParamType, Lt as isDataModelAttribute, M as Expression, Mt as isConfigInvocationExpr, N as ExpressionType, Nt as isDataField, O as DataModelAttribute, Ot as isConfigArrayExpr, P as FieldInitializer, Pt as isDataFieldAttribute, Q as ProcedureParam, Qt as isMemberAccessTarget, R as GeneratorDecl, Rt as isDataSource, S as ConfigInvocationArg, St as isAttributeParamType, T as DataFieldAttribute, Tt as isBooleanLiteral, U as MemberAccessTarget, Ut as isFieldInitializer, V as LiteralExpr, Vt as isExpression, W as Model, Wt as isFunctionDecl, X as PluginField, Xt as isLiteralExpr, Y as Plugin, Yt as isInvocationExpr, Z as Procedure, Zt as isMemberAccessExpr, _ as BuiltinType, _n as isUnaryExpr, _t as isArgument, a as ResolvedShape, an as isPluginField, at as ThisExpr, b as ConfigExpr, bt as isAttributeArg, c as Argument, cn as isReferenceArg, ct as UnaryExpr, d as AttributeArg, dn as isRegularID, dt as ZModelAstType, en as isModelImport, et as ReferenceExpr, f as AttributeParam, fn as isRegularIDWithTypeNames, ft as ZModelKeywordNames, g as BooleanLiteral, gn as isTypeDef, gt as isAbstractDeclaration, h as Boolean, hn as isTypeDeclaration, ht as ZModelTokenNames, i as Reference, in as isPlugin, it as StringLiteral, j as EnumField, jt as isConfigInvocationArg, k as DataSource, kt as isConfigExpr, l as ArrayExpr, ln as isReferenceExpr, lt as UnsupportedFieldType, m as BinaryExpr, mn as isThisExpr, mt as ZModelTerminals, n as BinaryExprOperatorPriority, nn as isNumberLiteral, nt as RegularID, o as ResolvedType, on as isProcedure, ot as TypeDeclaration, p as AttributeParamType, pn as isStringLiteral, pt as ZModelTerminalNames, q as NumberLiteral, qt as isGeneratorDecl, r as InheritableNode, rn as isObjectExpr, rt as RegularIDWithTypeNames, s as AbstractDeclaration, sn as isProcedureParam, st as TypeDef, t as AstNode, tn as isNullExpr, tt as ReferenceTarget, u as Attribute, un as isReferenceTarget, ut as ZModelAstReflection, v as CollectionPredicateBinding, vn as isUnsupportedFieldType, vt as isArrayExpr, w as DataField, wt as isBoolean, x as ConfigField, xt as isAttributeParam, y as ConfigArrayExpr, yn as reflection, yt as isAttribute, z as InternalAttribute, zt as isEnum } from "./ast-
|
|
1
|
+
import { $ as ReferenceArg, $t as isModel, A as Enum, At as isConfigField, B as InvocationExpr, Bt as isEnumField, C as ConfigInvocationExpr, Ct as isBinaryExpr, D as DataModel, Dt as isCollectionPredicateBinding, E as DataFieldType, Et as isBuiltinType, F as FunctionDecl, Ft as isDataFieldType, G as ModelImport, Gt as isFunctionParam, H as MemberAccessExpr, Ht as isExpressionType, I as FunctionParam, It as isDataModel, J as ObjectExpr, Jt as isInternalAttribute, K as NullExpr, Kt as isFunctionParamType, L as FunctionParamType, Lt as isDataModelAttribute, M as Expression, Mt as isConfigInvocationExpr, N as ExpressionType, Nt as isDataField, O as DataModelAttribute, Ot as isConfigArrayExpr, P as FieldInitializer, Pt as isDataFieldAttribute, Q as ProcedureParam, Qt as isMemberAccessTarget, R as GeneratorDecl, Rt as isDataSource, S as ConfigInvocationArg, St as isAttributeParamType, T as DataFieldAttribute, Tt as isBooleanLiteral, U as MemberAccessTarget, Ut as isFieldInitializer, V as LiteralExpr, Vt as isExpression, W as Model, Wt as isFunctionDecl, X as PluginField, Xt as isLiteralExpr, Y as Plugin, Yt as isInvocationExpr, Z as Procedure, Zt as isMemberAccessExpr, _ as BuiltinType, _n as isUnaryExpr, _t as isArgument, a as ResolvedShape, an as isPluginField, at as ThisExpr, b as ConfigExpr, bt as isAttributeArg, c as Argument, cn as isReferenceArg, ct as UnaryExpr, d as AttributeArg, dn as isRegularID, dt as ZModelAstType, en as isModelImport, et as ReferenceExpr, f as AttributeParam, fn as isRegularIDWithTypeNames, ft as ZModelKeywordNames, g as BooleanLiteral, gn as isTypeDef, gt as isAbstractDeclaration, h as Boolean, hn as isTypeDeclaration, ht as ZModelTokenNames, i as Reference, in as isPlugin, it as StringLiteral, j as EnumField, jt as isConfigInvocationArg, k as DataSource, kt as isConfigExpr, l as ArrayExpr, ln as isReferenceExpr, lt as UnsupportedFieldType, m as BinaryExpr, mn as isThisExpr, mt as ZModelTerminals, n as BinaryExprOperatorPriority, nn as isNumberLiteral, nt as RegularID, o as ResolvedType, on as isProcedure, ot as TypeDeclaration, p as AttributeParamType, pn as isStringLiteral, pt as ZModelTerminalNames, q as NumberLiteral, qt as isGeneratorDecl, r as InheritableNode, rn as isObjectExpr, rt as RegularIDWithTypeNames, s as AbstractDeclaration, sn as isProcedureParam, st as TypeDef, t as AstNode, tn as isNullExpr, tt as ReferenceTarget, u as Attribute, un as isReferenceTarget, ut as ZModelAstReflection, v as CollectionPredicateBinding, vn as isUnsupportedFieldType, vt as isArrayExpr, w as DataField, wt as isBoolean, x as ConfigField, xt as isAttributeParam, y as ConfigArrayExpr, yn as reflection, yt as isAttribute, z as InternalAttribute, zt as isEnum } from "./ast-DhPyAQoX.mjs";
|
|
2
2
|
export { AbstractDeclaration, Argument, ArrayExpr, AstNode, Attribute, AttributeArg, AttributeParam, AttributeParamType, BinaryExpr, BinaryExprOperatorPriority, Boolean, BooleanLiteral, BuiltinType, CollectionPredicateBinding, ConfigArrayExpr, ConfigExpr, ConfigField, ConfigInvocationArg, ConfigInvocationExpr, DataField, DataFieldAttribute, DataFieldType, DataModel, DataModelAttribute, DataSource, Enum, EnumField, Expression, ExpressionType, FieldInitializer, FunctionDecl, FunctionParam, FunctionParamType, GeneratorDecl, InheritableNode, InternalAttribute, InvocationExpr, LiteralExpr, MemberAccessExpr, MemberAccessTarget, Model, ModelImport, NullExpr, NumberLiteral, ObjectExpr, Plugin, PluginField, Procedure, ProcedureParam, Reference, ReferenceArg, ReferenceExpr, ReferenceTarget, RegularID, RegularIDWithTypeNames, ResolvedShape, ResolvedType, StringLiteral, ThisExpr, TypeDeclaration, TypeDef, UnaryExpr, UnsupportedFieldType, ZModelAstReflection, ZModelAstType, ZModelKeywordNames, ZModelTerminalNames, ZModelTerminals, ZModelTokenNames, isAbstractDeclaration, isArgument, isArrayExpr, isAttribute, isAttributeArg, isAttributeParam, isAttributeParamType, isBinaryExpr, isBoolean, isBooleanLiteral, isBuiltinType, isCollectionPredicateBinding, isConfigArrayExpr, isConfigExpr, isConfigField, isConfigInvocationArg, isConfigInvocationExpr, isDataField, isDataFieldAttribute, isDataFieldType, isDataModel, isDataModelAttribute, isDataSource, isEnum, isEnumField, isExpression, isExpressionType, isFieldInitializer, isFunctionDecl, isFunctionParam, isFunctionParamType, isGeneratorDecl, isInternalAttribute, isInvocationExpr, isLiteralExpr, isMemberAccessExpr, isMemberAccessTarget, isModel, isModelImport, isNullExpr, isNumberLiteral, isObjectExpr, isPlugin, isPluginField, isProcedure, isProcedureParam, isReferenceArg, isReferenceExpr, isReferenceTarget, isRegularID, isRegularIDWithTypeNames, isStringLiteral, isThisExpr, isTypeDeclaration, isTypeDef, isUnaryExpr, isUnsupportedFieldType, reflection };
|
package/dist/ast.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { $ as ZModelAstReflection, $t as isThisExpr, A as InternalAttribute, At as isFunctionParam, B as Plugin, Bt as isNullExpr, C as EnumField, Ct as isDataSource, D as FunctionParam, Dt as isExpressionType, E as FunctionDecl, Et as isExpression, F as Model, Ft as isLiteralExpr, G as ReferenceExpr, Gt as isProcedure, H as Procedure, Ht as isObjectExpr, I as ModelImport, It as isMemberAccessExpr, J as ThisExpr, Jt as isReferenceExpr, K as ReferenceTarget, Kt as isProcedureParam, L as NullExpr, Lt as isMemberAccessTarget, M as LiteralExpr, Mt as isGeneratorDecl, N as MemberAccessExpr, Nt as isInternalAttribute, O as FunctionParamType, Ot as isFieldInitializer, P as MemberAccessTarget, Pt as isInvocationExpr, Q as UnsupportedFieldType, Qt as isStringLiteral, R as NumberLiteral, Rt as isModel, S as Enum, St as isDataModelAttribute, T as FieldInitializer, Tt as isEnumField, U as ProcedureParam, Ut as isPlugin, V as PluginField, Vt as isNumberLiteral, W as ReferenceArg, Wt as isPluginField, X as TypeDef, Xt as isRegularID, Y as TypeDeclaration, Yt as isReferenceTarget, Z as UnaryExpr, Zt as isRegularIDWithTypeNames, _ as DataFieldAttribute, _t as isConfigInvocationExpr, a as AttributeArg, at as isAttributeArg, b as DataModelAttribute, bt as isDataFieldType, c as BinaryExpr, ct as isBinaryExpr, d as ConfigArrayExpr, dt as isBuiltinType, en as isTypeDeclaration, et as ZModelTerminals, f as ConfigExpr, ft as isCollectionPredicateBinding, g as DataField, gt as isConfigInvocationArg, h as ConfigInvocationExpr, ht as isConfigField, i as Attribute, in as reflection, it as isAttribute, j as InvocationExpr, jt as isFunctionParamType, k as GeneratorDecl, kt as isFunctionDecl, l as BooleanLiteral, lt as isBoolean, m as ConfigInvocationArg, mt as isConfigExpr, n as Argument, nn as isUnaryExpr, nt as isArgument, o as AttributeParam, ot as isAttributeParam, p as ConfigField, pt as isConfigArrayExpr, q as StringLiteral, qt as isReferenceArg, r as ArrayExpr, rn as isUnsupportedFieldType, rt as isArrayExpr, s as AttributeParamType, st as isAttributeParamType, t as AbstractDeclaration, tn as isTypeDef, tt as isAbstractDeclaration, u as CollectionPredicateBinding, ut as isBooleanLiteral, v as DataFieldType, vt as isDataField, w as Expression, wt as isEnum, x as DataSource, xt as isDataModel, y as DataModel, yt as isDataFieldAttribute, z as ObjectExpr, zt as isModelImport } from "./ast-
|
|
1
|
+
import { $ as ZModelAstReflection, $t as isThisExpr, A as InternalAttribute, At as isFunctionParam, B as Plugin, Bt as isNullExpr, C as EnumField, Ct as isDataSource, D as FunctionParam, Dt as isExpressionType, E as FunctionDecl, Et as isExpression, F as Model, Ft as isLiteralExpr, G as ReferenceExpr, Gt as isProcedure, H as Procedure, Ht as isObjectExpr, I as ModelImport, It as isMemberAccessExpr, J as ThisExpr, Jt as isReferenceExpr, K as ReferenceTarget, Kt as isProcedureParam, L as NullExpr, Lt as isMemberAccessTarget, M as LiteralExpr, Mt as isGeneratorDecl, N as MemberAccessExpr, Nt as isInternalAttribute, O as FunctionParamType, Ot as isFieldInitializer, P as MemberAccessTarget, Pt as isInvocationExpr, Q as UnsupportedFieldType, Qt as isStringLiteral, R as NumberLiteral, Rt as isModel, S as Enum, St as isDataModelAttribute, T as FieldInitializer, Tt as isEnumField, U as ProcedureParam, Ut as isPlugin, V as PluginField, Vt as isNumberLiteral, W as ReferenceArg, Wt as isPluginField, X as TypeDef, Xt as isRegularID, Y as TypeDeclaration, Yt as isReferenceTarget, Z as UnaryExpr, Zt as isRegularIDWithTypeNames, _ as DataFieldAttribute, _t as isConfigInvocationExpr, a as AttributeArg, at as isAttributeArg, b as DataModelAttribute, bt as isDataFieldType, c as BinaryExpr, ct as isBinaryExpr, d as ConfigArrayExpr, dt as isBuiltinType, en as isTypeDeclaration, et as ZModelTerminals, f as ConfigExpr, ft as isCollectionPredicateBinding, g as DataField, gt as isConfigInvocationArg, h as ConfigInvocationExpr, ht as isConfigField, i as Attribute, in as reflection, it as isAttribute, j as InvocationExpr, jt as isFunctionParamType, k as GeneratorDecl, kt as isFunctionDecl, l as BooleanLiteral, lt as isBoolean, m as ConfigInvocationArg, mt as isConfigExpr, n as Argument, nn as isUnaryExpr, nt as isArgument, o as AttributeParam, ot as isAttributeParam, p as ConfigField, pt as isConfigArrayExpr, q as StringLiteral, qt as isReferenceArg, r as ArrayExpr, rn as isUnsupportedFieldType, rt as isArrayExpr, s as AttributeParamType, st as isAttributeParamType, t as AbstractDeclaration, tn as isTypeDef, tt as isAbstractDeclaration, u as CollectionPredicateBinding, ut as isBooleanLiteral, v as DataFieldType, vt as isDataField, w as Expression, wt as isEnum, x as DataSource, xt as isDataModel, y as DataModel, yt as isDataFieldAttribute, z as ObjectExpr, zt as isModelImport } from "./ast-Z-Y9-aOU.mjs";
|
|
2
2
|
//#region src/ast.ts
|
|
3
3
|
const BinaryExprOperatorPriority = {
|
|
4
4
|
"||": 1,
|
package/dist/factory.cjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_ast = require("./ast-
|
|
2
|
+
const require_ast = require("./ast-DHvua30v.cjs");
|
|
3
3
|
require("./ast.cjs");
|
|
4
4
|
//#region src/factory/ast-factory.ts
|
|
5
5
|
var AstFactory = class AstFactory {
|
|
@@ -31,7 +31,7 @@ var AstFactory = class AstFactory {
|
|
|
31
31
|
var ThisExprFactory = class extends AstFactory {
|
|
32
32
|
constructor() {
|
|
33
33
|
super({
|
|
34
|
-
type: require_ast.ThisExpr,
|
|
34
|
+
type: require_ast.ThisExpr.$type,
|
|
35
35
|
node: { value: "this" }
|
|
36
36
|
});
|
|
37
37
|
}
|
|
@@ -39,7 +39,7 @@ var ThisExprFactory = class extends AstFactory {
|
|
|
39
39
|
var NullExprFactory = class extends AstFactory {
|
|
40
40
|
constructor() {
|
|
41
41
|
super({
|
|
42
|
-
type: require_ast.NullExpr,
|
|
42
|
+
type: require_ast.NullExpr.$type,
|
|
43
43
|
node: { value: "null" }
|
|
44
44
|
});
|
|
45
45
|
}
|
|
@@ -47,7 +47,7 @@ var NullExprFactory = class extends AstFactory {
|
|
|
47
47
|
var NumberLiteralFactory = class extends AstFactory {
|
|
48
48
|
value;
|
|
49
49
|
constructor() {
|
|
50
|
-
super({ type: require_ast.NumberLiteral });
|
|
50
|
+
super({ type: require_ast.NumberLiteral.$type });
|
|
51
51
|
}
|
|
52
52
|
setValue(value) {
|
|
53
53
|
this.value = value;
|
|
@@ -58,7 +58,7 @@ var NumberLiteralFactory = class extends AstFactory {
|
|
|
58
58
|
var StringLiteralFactory = class extends AstFactory {
|
|
59
59
|
value;
|
|
60
60
|
constructor() {
|
|
61
|
-
super({ type: require_ast.StringLiteral });
|
|
61
|
+
super({ type: require_ast.StringLiteral.$type });
|
|
62
62
|
}
|
|
63
63
|
setValue(value) {
|
|
64
64
|
this.value = value;
|
|
@@ -69,7 +69,7 @@ var StringLiteralFactory = class extends AstFactory {
|
|
|
69
69
|
var BooleanLiteralFactory = class extends AstFactory {
|
|
70
70
|
value;
|
|
71
71
|
constructor() {
|
|
72
|
-
super({ type: require_ast.BooleanLiteral });
|
|
72
|
+
super({ type: require_ast.BooleanLiteral.$type });
|
|
73
73
|
}
|
|
74
74
|
setValue(value) {
|
|
75
75
|
this.value = value;
|
|
@@ -121,7 +121,7 @@ var UnaryExprFactory = class extends AstFactory {
|
|
|
121
121
|
operand;
|
|
122
122
|
constructor() {
|
|
123
123
|
super({
|
|
124
|
-
type: require_ast.UnaryExpr,
|
|
124
|
+
type: require_ast.UnaryExpr.$type,
|
|
125
125
|
node: { operator: "!" }
|
|
126
126
|
});
|
|
127
127
|
}
|
|
@@ -136,7 +136,7 @@ var ReferenceExprFactory = class extends AstFactory {
|
|
|
136
136
|
args = [];
|
|
137
137
|
constructor() {
|
|
138
138
|
super({
|
|
139
|
-
type: require_ast.ReferenceExpr,
|
|
139
|
+
type: require_ast.ReferenceExpr.$type,
|
|
140
140
|
node: { args: [] }
|
|
141
141
|
});
|
|
142
142
|
}
|
|
@@ -160,7 +160,7 @@ var ReferenceArgFactory = class extends AstFactory {
|
|
|
160
160
|
name;
|
|
161
161
|
value;
|
|
162
162
|
constructor() {
|
|
163
|
-
super({ type: require_ast.ReferenceArg });
|
|
163
|
+
super({ type: require_ast.ReferenceArg.$type });
|
|
164
164
|
}
|
|
165
165
|
setName(name) {
|
|
166
166
|
this.name = name;
|
|
@@ -177,7 +177,7 @@ var MemberAccessExprFactory = class extends AstFactory {
|
|
|
177
177
|
member;
|
|
178
178
|
operand;
|
|
179
179
|
constructor() {
|
|
180
|
-
super({ type: require_ast.MemberAccessExpr });
|
|
180
|
+
super({ type: require_ast.MemberAccessExpr.$type });
|
|
181
181
|
}
|
|
182
182
|
setMember(target) {
|
|
183
183
|
this.member = target;
|
|
@@ -194,7 +194,7 @@ var ObjectExprFactory = class extends AstFactory {
|
|
|
194
194
|
fields = [];
|
|
195
195
|
constructor() {
|
|
196
196
|
super({
|
|
197
|
-
type: require_ast.ObjectExpr,
|
|
197
|
+
type: require_ast.ObjectExpr.$type,
|
|
198
198
|
node: { fields: [] }
|
|
199
199
|
});
|
|
200
200
|
}
|
|
@@ -208,7 +208,7 @@ var FieldInitializerFactory = class extends AstFactory {
|
|
|
208
208
|
name;
|
|
209
209
|
value;
|
|
210
210
|
constructor() {
|
|
211
|
-
super({ type: require_ast.FieldInitializer });
|
|
211
|
+
super({ type: require_ast.FieldInitializer.$type });
|
|
212
212
|
}
|
|
213
213
|
setName(name) {
|
|
214
214
|
this.name = name;
|
|
@@ -226,7 +226,7 @@ var InvocationExprFactory = class extends AstFactory {
|
|
|
226
226
|
function;
|
|
227
227
|
constructor() {
|
|
228
228
|
super({
|
|
229
|
-
type: require_ast.InvocationExpr,
|
|
229
|
+
type: require_ast.InvocationExpr.$type,
|
|
230
230
|
node: { args: [] }
|
|
231
231
|
});
|
|
232
232
|
}
|
|
@@ -247,7 +247,7 @@ var InvocationExprFactory = class extends AstFactory {
|
|
|
247
247
|
var ArgumentFactory = class extends AstFactory {
|
|
248
248
|
value;
|
|
249
249
|
constructor() {
|
|
250
|
-
super({ type: require_ast.Argument });
|
|
250
|
+
super({ type: require_ast.Argument.$type });
|
|
251
251
|
}
|
|
252
252
|
setValue(builder) {
|
|
253
253
|
this.value = builder(ExpressionBuilder());
|
|
@@ -259,7 +259,7 @@ var ArrayExprFactory = class extends AstFactory {
|
|
|
259
259
|
items = [];
|
|
260
260
|
constructor() {
|
|
261
261
|
super({
|
|
262
|
-
type: require_ast.ArrayExpr,
|
|
262
|
+
type: require_ast.ArrayExpr.$type,
|
|
263
263
|
node: { items: [] }
|
|
264
264
|
});
|
|
265
265
|
}
|
|
@@ -274,7 +274,7 @@ var BinaryExprFactory = class extends AstFactory {
|
|
|
274
274
|
right;
|
|
275
275
|
left;
|
|
276
276
|
constructor() {
|
|
277
|
-
super({ type: require_ast.BinaryExpr });
|
|
277
|
+
super({ type: require_ast.BinaryExpr.$type });
|
|
278
278
|
}
|
|
279
279
|
setOperator(operator) {
|
|
280
280
|
this.operator = operator;
|
|
@@ -299,7 +299,7 @@ var DataFieldAttributeFactory = class extends AstFactory {
|
|
|
299
299
|
decl;
|
|
300
300
|
constructor() {
|
|
301
301
|
super({
|
|
302
|
-
type: require_ast.DataFieldAttribute,
|
|
302
|
+
type: require_ast.DataFieldAttribute.$type,
|
|
303
303
|
node: { args: [] }
|
|
304
304
|
});
|
|
305
305
|
}
|
|
@@ -325,7 +325,7 @@ var DataModelAttributeFactory = class extends AstFactory {
|
|
|
325
325
|
decl;
|
|
326
326
|
constructor() {
|
|
327
327
|
super({
|
|
328
|
-
type: require_ast.DataModelAttribute,
|
|
328
|
+
type: require_ast.DataModelAttribute.$type,
|
|
329
329
|
node: { args: [] }
|
|
330
330
|
});
|
|
331
331
|
}
|
|
@@ -350,7 +350,7 @@ var AttributeArgFactory = class extends AstFactory {
|
|
|
350
350
|
name = "";
|
|
351
351
|
value;
|
|
352
352
|
constructor() {
|
|
353
|
-
super({ type: require_ast.AttributeArg });
|
|
353
|
+
super({ type: require_ast.AttributeArg.$type });
|
|
354
354
|
}
|
|
355
355
|
setName(name) {
|
|
356
356
|
this.name = name;
|
|
@@ -368,7 +368,7 @@ var InternalAttributeFactory = class extends AstFactory {
|
|
|
368
368
|
args = [];
|
|
369
369
|
constructor() {
|
|
370
370
|
super({
|
|
371
|
-
type: require_ast.InternalAttribute,
|
|
371
|
+
type: require_ast.InternalAttribute.$type,
|
|
372
372
|
node: { args: [] }
|
|
373
373
|
});
|
|
374
374
|
}
|
|
@@ -396,7 +396,7 @@ var AttributeParamFactory = class extends AstFactory {
|
|
|
396
396
|
type;
|
|
397
397
|
constructor() {
|
|
398
398
|
super({
|
|
399
|
-
type: require_ast.AttributeParam,
|
|
399
|
+
type: require_ast.AttributeParam.$type,
|
|
400
400
|
node: {
|
|
401
401
|
comments: [],
|
|
402
402
|
attributes: []
|
|
@@ -435,7 +435,7 @@ var AttributeParamTypeFactory = class extends AstFactory {
|
|
|
435
435
|
reference;
|
|
436
436
|
type;
|
|
437
437
|
constructor() {
|
|
438
|
-
super({ type: require_ast.AttributeParamType });
|
|
438
|
+
super({ type: require_ast.AttributeParamType.$type });
|
|
439
439
|
}
|
|
440
440
|
setArray(array) {
|
|
441
441
|
this.array = array;
|
|
@@ -468,7 +468,7 @@ var AttributeFactory = class extends AstFactory {
|
|
|
468
468
|
params = [];
|
|
469
469
|
constructor() {
|
|
470
470
|
super({
|
|
471
|
-
type: require_ast.Attribute,
|
|
471
|
+
type: require_ast.Attribute.$type,
|
|
472
472
|
node: {
|
|
473
473
|
comments: [],
|
|
474
474
|
attributes: [],
|
|
@@ -538,7 +538,7 @@ var DataModelFactory = class extends AstFactory {
|
|
|
538
538
|
name;
|
|
539
539
|
constructor() {
|
|
540
540
|
super({
|
|
541
|
-
type: require_ast.DataModel,
|
|
541
|
+
type: require_ast.DataModel.$type,
|
|
542
542
|
node: {
|
|
543
543
|
attributes: [],
|
|
544
544
|
comments: [],
|
|
@@ -595,7 +595,7 @@ var DataFieldFactory = class extends AstFactory {
|
|
|
595
595
|
type;
|
|
596
596
|
constructor() {
|
|
597
597
|
super({
|
|
598
|
-
type: require_ast.DataField,
|
|
598
|
+
type: require_ast.DataField.$type,
|
|
599
599
|
node: {
|
|
600
600
|
attributes: [],
|
|
601
601
|
comments: []
|
|
@@ -637,7 +637,7 @@ var DataFieldTypeFactory = class extends AstFactory {
|
|
|
637
637
|
type;
|
|
638
638
|
unsupported;
|
|
639
639
|
constructor() {
|
|
640
|
-
super({ type: require_ast.DataFieldType });
|
|
640
|
+
super({ type: require_ast.DataFieldType.$type });
|
|
641
641
|
}
|
|
642
642
|
setArray(array) {
|
|
643
643
|
this.array = array;
|
|
@@ -671,7 +671,7 @@ var DataFieldTypeFactory = class extends AstFactory {
|
|
|
671
671
|
var UnsupportedFieldTypeFactory = class extends AstFactory {
|
|
672
672
|
value;
|
|
673
673
|
constructor() {
|
|
674
|
-
super({ type: require_ast.UnsupportedFieldType });
|
|
674
|
+
super({ type: require_ast.UnsupportedFieldType.$type });
|
|
675
675
|
}
|
|
676
676
|
setValue(builder) {
|
|
677
677
|
this.value = builder(ExpressionBuilder());
|
|
@@ -684,7 +684,7 @@ var ModelFactory = class extends AstFactory {
|
|
|
684
684
|
imports = [];
|
|
685
685
|
constructor() {
|
|
686
686
|
super({
|
|
687
|
-
type: require_ast.Model,
|
|
687
|
+
type: require_ast.Model.$type,
|
|
688
688
|
node: {
|
|
689
689
|
declarations: [],
|
|
690
690
|
imports: []
|
|
@@ -705,7 +705,7 @@ var ModelFactory = class extends AstFactory {
|
|
|
705
705
|
var ModelImportFactory = class extends AstFactory {
|
|
706
706
|
path;
|
|
707
707
|
constructor() {
|
|
708
|
-
super({ type: require_ast.ModelImport });
|
|
708
|
+
super({ type: require_ast.ModelImport.$type });
|
|
709
709
|
}
|
|
710
710
|
setPath(path) {
|
|
711
711
|
this.path = path;
|
|
@@ -720,7 +720,7 @@ var EnumFactory = class extends AstFactory {
|
|
|
720
720
|
attributes = [];
|
|
721
721
|
constructor() {
|
|
722
722
|
super({
|
|
723
|
-
type: require_ast.Enum,
|
|
723
|
+
type: require_ast.Enum.$type,
|
|
724
724
|
node: {
|
|
725
725
|
comments: [],
|
|
726
726
|
fields: [],
|
|
@@ -750,7 +750,7 @@ var EnumFieldFactory = class extends AstFactory {
|
|
|
750
750
|
attributes = [];
|
|
751
751
|
constructor() {
|
|
752
752
|
super({
|
|
753
|
-
type: require_ast.EnumField,
|
|
753
|
+
type: require_ast.EnumField.$type,
|
|
754
754
|
node: {
|
|
755
755
|
comments: [],
|
|
756
756
|
attributes: []
|
package/dist/factory.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.cjs","names":["ThisExpr","NullExpr","NumberLiteral","StringLiteral","BooleanLiteral","UnaryExpr","ReferenceExpr","ReferenceArg","MemberAccessExpr","ObjectExpr","FieldInitializer","InvocationExpr","Argument","ArrayExpr","BinaryExpr","DataFieldAttribute","DataModelAttribute","AttributeArg","InternalAttribute","AttributeParam","AttributeParamType","Attribute","DataModel","DataField","DataFieldType","UnsupportedFieldType","Model","ModelImport","Enum","EnumField"],"sources":["../src/factory/ast-factory.ts","../src/factory/primitives.ts","../src/factory/expression.ts","../src/factory/attribute.ts","../src/factory/declaration.ts"],"sourcesContent":["import { type AstNode } from '../ast';\n\nexport type ContainerProps<T extends AstNode | undefined> = {\n $container: T;\n $containerProperty?: string;\n $containerIndex?: number;\n};\n\ntype NodeFactoriesFor<N> = {\n [K in keyof N as {} extends Pick<N, K> ? never : K]: N[K] extends (infer U)[]\n ? (AstFactory<U extends AstNode ? U : AstNode> | U)[]\n : AstFactory<N[K] extends AstNode ? N[K] : AstNode> | N[K];\n} & {\n [K in keyof N as {} extends Pick<N, K> ? K : never]?: N[K] extends (infer U)[]\n ? (AstFactory<U extends AstNode ? U : AstNode> | U)[]\n : AstFactory<N[K] extends AstNode ? N[K] : AstNode> | N[K];\n};\n\nexport abstract class AstFactory<T extends AstNode = AstNode> {\n node = {} as T;\n constructor({ type, node }: { type: T['$type']; node?: Partial<T> }) {\n (this.node as any).$type = type;\n if (node) {\n this.update(node);\n }\n }\n setContainer(container: T['$container']) {\n (this.node as any).$container = container;\n return this;\n }\n\n get(params?: ContainerProps<T['$container']>): T {\n if (params) this.update(params as any);\n return this.node;\n }\n update(nodeArg: Partial<T | NodeFactoriesFor<T>>): T {\n const keys = Object.keys(nodeArg as object);\n keys.forEach((key) => {\n const child = (nodeArg as any)[key];\n if (child instanceof AstFactory) {\n (this.node as any)[key] = child.get({ $container: this.node as any });\n } else if (Array.isArray(child)) {\n (this.node as any)[key] = child.map((item: any) =>\n item instanceof AstFactory ? item.get({ $container: this.node as any }) : item,\n );\n } else {\n (this.node as any)[key] = child;\n }\n });\n return this.node;\n }\n}\n","import { AstFactory } from './ast-factory';\nimport { BooleanLiteral, NullExpr, NumberLiteral, StringLiteral, ThisExpr } from '../ast';\n\nexport class ThisExprFactory extends AstFactory<ThisExpr> {\n constructor() {\n super({ type: ThisExpr, node: { value: 'this' } });\n }\n}\n\nexport class NullExprFactory extends AstFactory<NullExpr> {\n constructor() {\n super({ type: NullExpr, node: { value: 'null' } });\n }\n}\n\nexport class NumberLiteralFactory extends AstFactory<NumberLiteral> {\n value?: number | string;\n\n constructor() {\n super({ type: NumberLiteral });\n }\n\n setValue(value: number | string) {\n this.value = value;\n this.update({\n value: this.value.toString(),\n });\n return this;\n }\n}\n\nexport class StringLiteralFactory extends AstFactory<StringLiteral> {\n value?: string;\n\n constructor() {\n super({ type: StringLiteral });\n }\n\n setValue(value: string) {\n this.value = value;\n this.update({\n value: this.value,\n });\n return this;\n }\n}\nexport class BooleanLiteralFactory extends AstFactory<BooleanLiteral> {\n value?: boolean;\n\n constructor() {\n super({ type: BooleanLiteral });\n }\n\n setValue(value: boolean) {\n this.value = value;\n this.update({\n value: this.value,\n });\n return this;\n }\n}\n","import type { Reference } from 'langium';\nimport { AstFactory } from './ast-factory';\nimport {\n Argument,\n ArrayExpr,\n BinaryExpr,\n FieldInitializer,\n FunctionDecl,\n InvocationExpr,\n MemberAccessExpr,\n MemberAccessTarget,\n ObjectExpr,\n ReferenceArg,\n ReferenceExpr,\n ReferenceTarget,\n UnaryExpr,\n type Expression,\n type RegularID,\n} from '../ast';\nimport {\n BooleanLiteralFactory,\n NullExprFactory,\n NumberLiteralFactory,\n StringLiteralFactory,\n ThisExprFactory,\n} from './primitives';\n\nexport const ExpressionBuilder = () =>\n ({\n get ArrayExpr() {\n return new ArrayExprFactory();\n },\n get BinaryExpr() {\n return new BinaryExprFactory();\n },\n get BooleanLiteral() {\n return new BooleanLiteralFactory();\n },\n get InvocationExpr() {\n return new InvocationExprFactory();\n },\n get MemberAccessExpr() {\n return new MemberAccessExprFactory();\n },\n get NullExpr() {\n return new NullExprFactory();\n },\n get NumberLiteral() {\n return new NumberLiteralFactory();\n },\n get ObjectExpr() {\n return new ObjectExprFactory();\n },\n get ReferenceExpr() {\n return new ReferenceExprFactory();\n },\n get StringLiteral() {\n return new StringLiteralFactory();\n },\n get ThisExpr() {\n return new ThisExprFactory();\n },\n get UnaryExpr() {\n return new UnaryExprFactory();\n },\n }) satisfies ExpressionBuilderType;\ntype ExpressionBuilderType<T extends Expression = Expression> = {\n [K in T['$type']]: AstFactory<Extract<T, { $type: K }>>;\n};\n\ntype ExpressionFactoryMap = ReturnType<typeof ExpressionBuilder>;\n\nexport type ExpressionBuilder<T extends Expression = Expression> = Pick<\n ExpressionFactoryMap,\n Extract<T['$type'], keyof ExpressionFactoryMap>\n>;\n\nexport class UnaryExprFactory extends AstFactory<UnaryExpr> {\n operand?: AstFactory<Expression>;\n\n constructor() {\n super({ type: UnaryExpr, node: { operator: '!' } });\n }\n\n setOperand(builder: (a: ExpressionBuilder) => AstFactory<Expression>) {\n this.operand = builder(ExpressionBuilder());\n this.update({\n operand: this.operand,\n });\n return this;\n }\n}\n\nexport class ReferenceExprFactory extends AstFactory<ReferenceExpr> {\n target?: Reference<ReferenceTarget>;\n args: ReferenceArgFactory[] = [];\n\n constructor() {\n super({ type: ReferenceExpr, node: { args: [] } });\n }\n\n setTarget(target: ReferenceTarget) {\n this.target = {\n $refText: target.name,\n ref: target,\n };\n this.update({\n target: this.target,\n });\n return this;\n }\n\n addArg(builder: (a: ExpressionBuilder) => AstFactory<Expression>, name?: string) {\n const arg = new ReferenceArgFactory().setValue(builder);\n if (name) {\n arg.setName(name);\n }\n this.args.push(arg);\n this.update({\n args: this.args,\n });\n return this;\n }\n}\n\nexport class ReferenceArgFactory extends AstFactory<ReferenceArg> {\n name?: string;\n value?: AstFactory<Expression>;\n\n constructor() {\n super({ type: ReferenceArg });\n }\n\n setName(name: string) {\n this.name = name;\n this.update({\n name: this.name,\n });\n return this;\n }\n\n setValue(builder: (a: ExpressionBuilder) => AstFactory<Expression>) {\n this.value = builder(ExpressionBuilder());\n this.update({\n value: this.value,\n });\n return this;\n }\n}\n\nexport class MemberAccessExprFactory extends AstFactory<MemberAccessExpr> {\n member?: Reference<MemberAccessTarget>;\n operand?: AstFactory<Expression>;\n\n constructor() {\n super({ type: MemberAccessExpr });\n }\n\n setMember(target: Reference<MemberAccessTarget>) {\n this.member = target;\n this.update({\n member: this.member,\n });\n return this;\n }\n\n setOperand(builder: (b: ExpressionBuilder) => AstFactory<Expression>) {\n this.operand = builder(ExpressionBuilder());\n this.update({\n operand: this.operand,\n });\n return this;\n }\n}\n\nexport class ObjectExprFactory extends AstFactory<ObjectExpr> {\n fields: FieldInitializerFactory[] = [];\n\n constructor() {\n super({ type: ObjectExpr, node: { fields: [] } });\n }\n\n addField(builder: (b: FieldInitializerFactory) => FieldInitializerFactory) {\n this.fields.push(builder(new FieldInitializerFactory()));\n this.update({\n fields: this.fields,\n });\n return this;\n }\n}\n\nexport class FieldInitializerFactory extends AstFactory<FieldInitializer> {\n name?: RegularID;\n value?: AstFactory<Expression>;\n\n constructor() {\n super({ type: FieldInitializer });\n }\n\n setName(name: RegularID) {\n this.name = name;\n this.update({\n name: this.name!,\n });\n return this;\n }\n\n setValue(builder: (a: ExpressionBuilder) => AstFactory<Expression>) {\n this.value = builder(ExpressionBuilder());\n this.update({\n value: this.value!,\n });\n return this;\n }\n}\n\nexport class InvocationExprFactory extends AstFactory<InvocationExpr> {\n args: ArgumentFactory[] = [];\n function?: Reference<FunctionDecl>;\n\n constructor() {\n super({ type: InvocationExpr, node: { args: [] } });\n }\n\n addArg(builder: (arg: ArgumentFactory) => ArgumentFactory) {\n this.args.push(builder(new ArgumentFactory()));\n this.update({\n args: this.args,\n });\n return this;\n }\n\n setFunction(value: FunctionDecl) {\n this.function = {\n $refText: value.name,\n ref: value,\n };\n this.update({\n function: this.function!,\n });\n return this;\n }\n}\n\nexport class ArgumentFactory extends AstFactory<Argument> {\n value?: AstFactory<Expression>;\n\n constructor() {\n super({ type: Argument });\n }\n\n setValue(builder: (a: ExpressionBuilder) => AstFactory<Expression>) {\n this.value = builder(ExpressionBuilder());\n this.update({\n value: this.value!,\n });\n return this;\n }\n}\n\nexport class ArrayExprFactory extends AstFactory<ArrayExpr> {\n items: AstFactory<Expression>[] = [];\n\n constructor() {\n super({ type: ArrayExpr, node: { items: [] } });\n }\n\n addItem(builder: (a: ExpressionBuilder) => AstFactory<Expression>) {\n this.items.push(builder(ExpressionBuilder()));\n this.update({\n items: this.items,\n });\n return this;\n }\n}\n\nexport class BinaryExprFactory extends AstFactory<BinaryExpr> {\n operator?: BinaryExpr['operator'];\n right?: AstFactory<Expression>;\n left?: AstFactory<Expression>;\n // TODO: add support for CollectionPredicateBinding\n\n constructor() {\n super({ type: BinaryExpr });\n }\n\n setOperator(operator: BinaryExpr['operator']) {\n this.operator = operator;\n this.update({\n operator: this.operator!,\n });\n return this;\n }\n setRight(builder: (arg: ExpressionBuilder) => AstFactory<Expression>) {\n this.right = builder(ExpressionBuilder());\n this.update({\n right: this.right!,\n });\n return this;\n }\n setLeft(builder: (arg: ExpressionBuilder) => AstFactory<Expression>) {\n this.left = builder(ExpressionBuilder());\n this.update({\n left: this.left!,\n });\n return this;\n }\n}\n","import { AstFactory } from './ast-factory';\nimport {\n Attribute,\n AttributeArg,\n AttributeParam,\n AttributeParamType,\n DataFieldAttribute,\n DataModelAttribute,\n Expression,\n InternalAttribute,\n TypeDeclaration,\n type Reference,\n type RegularID,\n} from '../ast';\nimport { ExpressionBuilder } from './expression';\n\nexport class DataFieldAttributeFactory extends AstFactory<DataFieldAttribute> {\n args: AttributeArgFactory[] = [];\n decl?: Reference<Attribute>;\n constructor() {\n super({ type: DataFieldAttribute, node: { args: [] } });\n }\n setDecl(decl: Attribute) {\n if (!decl) {\n throw new Error('Attribute declaration is required');\n }\n this.decl = {\n $refText: decl.name,\n ref: decl,\n };\n this.update({\n decl: this.decl,\n });\n return this;\n }\n addArg(builder: (b: ExpressionBuilder) => AstFactory<Expression>, name?: string) {\n const factory = new AttributeArgFactory().setValue(builder);\n if (name) {\n factory.setName(name);\n }\n this.args.push(factory);\n this.update({\n args: this.args,\n });\n return this;\n }\n}\n\nexport class DataModelAttributeFactory extends AstFactory<DataModelAttribute> {\n args: AttributeArgFactory[] = [];\n decl?: Reference<Attribute>;\n constructor() {\n super({ type: DataModelAttribute, node: { args: [] } });\n }\n setDecl(decl: Attribute) {\n if (!decl) {\n throw new Error('Attribute declaration is required');\n }\n this.decl = {\n $refText: decl.name,\n ref: decl,\n };\n this.update({\n decl: this.decl,\n });\n return this;\n }\n addArg(builder: (b: ExpressionBuilder) => AstFactory<Expression>, name?: string) {\n const factory = new AttributeArgFactory().setValue(builder);\n if (name) {\n factory.setName(name);\n }\n this.args.push(factory);\n this.update({\n args: this.args,\n });\n return this;\n }\n}\n\nexport class AttributeArgFactory extends AstFactory<AttributeArg> {\n name?: RegularID = '';\n value?: AstFactory<Expression>;\n\n constructor() {\n super({ type: AttributeArg });\n }\n\n setName(name: RegularID) {\n this.name = name;\n this.update({\n name: this.name,\n });\n return this;\n }\n\n setValue(builder: (b: ExpressionBuilder) => AstFactory<Expression>) {\n this.value = builder(ExpressionBuilder());\n this.update({\n value: this.value,\n });\n return this;\n }\n}\n\nexport class InternalAttributeFactory extends AstFactory<InternalAttribute> {\n decl?: Reference<Attribute>;\n args: AttributeArgFactory[] = [];\n\n constructor() {\n super({ type: InternalAttribute, node: { args: [] } });\n }\n\n setDecl(decl: Attribute) {\n this.decl = {\n $refText: decl.name,\n ref: decl,\n };\n this.update({\n decl: this.decl,\n });\n return this;\n }\n\n addArg(builder: (b: ExpressionBuilder) => AstFactory<Expression>, name?: string) {\n const factory = new AttributeArgFactory().setValue(builder);\n if (name) {\n factory.setName(name);\n }\n this.args.push(factory);\n this.update({\n args: this.args,\n });\n return this;\n }\n}\n\nexport class AttributeParamFactory extends AstFactory<AttributeParam> {\n attributes: InternalAttributeFactory[] = [];\n comments: string[] = [];\n default?: boolean;\n name?: RegularID;\n type?: AttributeParamTypeFactory;\n\n constructor() {\n super({\n type: AttributeParam,\n node: {\n comments: [],\n attributes: [],\n },\n });\n }\n\n addAttribute(builder: (b: InternalAttributeFactory) => InternalAttributeFactory) {\n this.attributes.push(builder(new InternalAttributeFactory()));\n this.update({\n attributes: this.attributes,\n });\n return this;\n }\n\n setComments(comments: string[]) {\n this.comments = comments;\n this.update({\n comments: this.comments,\n });\n return this;\n }\n\n setDefault(defaultValue: boolean) {\n this.default = defaultValue;\n this.update({\n default: this.default,\n });\n return this;\n }\n\n setName(name: string) {\n this.name = name;\n this.update({\n name: this.name,\n });\n return this;\n }\n\n setType(builder: (b: AttributeParamTypeFactory) => AttributeParamTypeFactory) {\n this.type = builder(new AttributeParamTypeFactory());\n this.update({\n type: this.type,\n });\n return this;\n }\n}\n\nexport class AttributeParamTypeFactory extends AstFactory<AttributeParamType> {\n array?: boolean;\n optional?: boolean;\n reference?: Reference<TypeDeclaration>;\n type?: AttributeParamType['type'];\n constructor() {\n super({ type: AttributeParamType });\n }\n setArray(array: boolean) {\n this.array = array;\n this.update({\n array: this.array,\n });\n return this;\n }\n\n setOptional(optional: boolean) {\n this.optional = optional;\n this.update({\n optional: this.optional,\n });\n return this;\n }\n\n setReference(reference: TypeDeclaration) {\n this.reference = {\n $refText: reference.name,\n ref: reference,\n };\n this.update({\n reference: this.reference,\n });\n return this;\n }\n\n setType(type: AttributeParamType['type']) {\n this.type = type;\n this.update({\n type: this.type,\n });\n return this;\n }\n}\n\nexport class AttributeFactory extends AstFactory<Attribute> {\n name?: string;\n comments: string[] = [];\n attributes: InternalAttributeFactory[] = [];\n params: AttributeParamFactory[] = [];\n\n constructor() {\n super({ type: Attribute, node: { comments: [], attributes: [], params: [] } });\n }\n\n setName(name: string) {\n this.name = name;\n this.update({\n name: this.name,\n });\n return this;\n }\n\n setComments(comments: string[]) {\n this.comments = comments;\n this.update({\n comments: this.comments,\n });\n return this;\n }\n\n addAttribute(builder: (b: InternalAttributeFactory) => InternalAttributeFactory) {\n this.attributes.push(builder(new InternalAttributeFactory()));\n this.update({\n attributes: this.attributes,\n });\n return this;\n }\n\n addParam(builder: (b: AttributeParamFactory) => AttributeParamFactory) {\n this.params.push(builder(new AttributeParamFactory()));\n this.update({\n params: this.params,\n });\n return this;\n }\n}\n","import { AstFactory } from './ast-factory';\nimport { AbstractDeclaration, type Reference } from '../ast';\nimport {\n type BuiltinType,\n DataField,\n DataFieldType,\n DataModel,\n Enum,\n EnumField,\n LiteralExpr,\n Model,\n ModelImport,\n type RegularID,\n type RegularIDWithTypeNames,\n TypeDeclaration,\n type TypeDef,\n UnsupportedFieldType,\n} from '../generated/ast';\nimport { AttributeFactory, DataFieldAttributeFactory, DataModelAttributeFactory } from './attribute';\nimport { ExpressionBuilder } from './expression';\nexport const DeclarationBuilder = () =>\n ({\n get Attribute() {\n return new AttributeFactory();\n },\n get DataModel() {\n return new DataModelFactory();\n },\n get DataSource(): any {\n throw new Error('DataSource is not implemented');\n },\n get Enum() {\n return new EnumFactory();\n },\n get FunctionDecl(): any {\n throw new Error('FunctionDecl is not implemented');\n },\n get GeneratorDecl(): any {\n throw new Error('GeneratorDecl is not implemented');\n },\n get Plugin(): any {\n throw new Error('Plugin is not implemented');\n },\n get Procedure(): any {\n throw new Error('Procedure is not implemented');\n },\n get TypeDef(): any {\n throw new Error('TypeDef is not implemented');\n },\n }) satisfies DeclarationBuilderType;\ntype DeclarationBuilderType<T extends AbstractDeclaration = AbstractDeclaration> = {\n [K in T['$type']]: AstFactory<Extract<T, { $type: K }>>;\n};\ntype DeclarationBuilderMap = ReturnType<typeof DeclarationBuilder>;\n\nexport type DeclarationBuilder<T extends AbstractDeclaration = AbstractDeclaration> = Pick<\n DeclarationBuilderMap,\n Extract<T['$type'], keyof DeclarationBuilderMap>\n>;\n\nexport class DataModelFactory extends AstFactory<DataModel> {\n attributes: DataModelAttributeFactory[] = [];\n baseModel?: Reference<DataModel>;\n comments: string[] = [];\n fields: DataFieldFactory[] = [];\n isView?: boolean;\n mixins: Reference<TypeDef>[] = [];\n name?: RegularID;\n\n constructor() {\n super({\n type: DataModel,\n node: {\n attributes: [],\n comments: [],\n fields: [],\n mixins: [],\n },\n });\n }\n\n addAttribute(builder: (attr: DataModelAttributeFactory) => DataModelAttributeFactory) {\n this.attributes.push(builder(new DataModelAttributeFactory()).setContainer(this.node));\n this.update({\n attributes: this.attributes,\n });\n return this;\n }\n\n setBaseModel(model: Reference<DataModel>) {\n this.baseModel = model;\n this.update({\n baseModel: this.baseModel,\n });\n return this;\n }\n\n setComments(comments: string[]) {\n this.comments = comments;\n this.update({\n comments: this.comments,\n });\n return this;\n }\n\n addComment(comment: string) {\n this.comments.push(comment);\n this.update({\n comments: this.comments,\n });\n return this;\n }\n\n addField(builder: (field: DataFieldFactory) => DataFieldFactory) {\n this.fields.push(builder(new DataFieldFactory()).setContainer(this.node));\n this.update({\n fields: this.fields,\n });\n return this;\n }\n\n setIsView(isView: boolean) {\n this.isView = isView;\n this.update({\n isView: this.isView,\n });\n return this;\n }\n\n addMixin(mixin: Reference<TypeDef>) {\n this.mixins.push(mixin);\n this.update({\n mixins: this.mixins,\n });\n return this;\n }\n\n setName(name: string) {\n this.name = name;\n this.update({\n name: this.name,\n });\n return this;\n }\n}\n\nexport class DataFieldFactory extends AstFactory<DataField> {\n attributes: DataFieldAttributeFactory[] = [];\n comments: string[] = [];\n name?: string;\n type?: DataFieldTypeFactory;\n\n constructor() {\n super({ type: DataField, node: { attributes: [], comments: [] } });\n }\n\n addAttribute(\n builder: ((attr: DataFieldAttributeFactory) => DataFieldAttributeFactory) | DataFieldAttributeFactory,\n ) {\n if (builder instanceof DataFieldAttributeFactory) {\n builder.setContainer(this.node);\n this.attributes.push(builder);\n } else {\n const attr = builder(new DataFieldAttributeFactory());\n attr.setContainer(this.node);\n this.attributes.push(attr);\n }\n this.update({\n attributes: this.attributes,\n });\n return this;\n }\n\n setComments(comments: string[]) {\n this.comments = comments;\n this.update({\n comments: this.comments,\n });\n return this;\n }\n\n setName(name: string) {\n this.name = name;\n this.update({\n name: this.name,\n });\n return this;\n }\n\n setType(builder: (type: DataFieldTypeFactory) => DataFieldTypeFactory) {\n this.type = builder(new DataFieldTypeFactory()).setContainer(this.node);\n this.update({\n type: this.type,\n });\n return this;\n }\n}\n\nexport class DataFieldTypeFactory extends AstFactory<DataFieldType> {\n array?: boolean;\n optional?: boolean;\n reference?: Reference<TypeDeclaration>;\n type?: BuiltinType;\n unsupported?: UnsupportedFieldTypeFactory;\n\n constructor() {\n super({ type: DataFieldType });\n }\n\n setArray(array: boolean) {\n this.array = array;\n this.update({\n array: this.array,\n });\n return this;\n }\n\n setOptional(optional: boolean) {\n this.optional = optional;\n this.update({\n optional: this.optional,\n });\n return this;\n }\n\n setReference(reference: TypeDeclaration) {\n this.reference = {\n $refText: reference.name,\n ref: reference,\n };\n this.update({\n reference: this.reference,\n });\n return this;\n }\n\n setType(type: BuiltinType) {\n this.type = type;\n this.update({\n type: this.type,\n });\n return this;\n }\n\n setUnsupported(builder: (a: UnsupportedFieldTypeFactory) => UnsupportedFieldTypeFactory) {\n this.unsupported = builder(new UnsupportedFieldTypeFactory()).setContainer(this.node);\n this.update({\n unsupported: this.unsupported,\n });\n return this;\n }\n}\n\nexport class UnsupportedFieldTypeFactory extends AstFactory<UnsupportedFieldType> {\n value?: AstFactory<LiteralExpr>;\n constructor() {\n super({ type: UnsupportedFieldType });\n }\n setValue(builder: (value: ExpressionBuilder<LiteralExpr>) => AstFactory<LiteralExpr>) {\n this.value = builder(ExpressionBuilder());\n this.update({\n value: this.value!,\n });\n return this;\n }\n}\n\nexport class ModelFactory extends AstFactory<Model> {\n declarations: AstFactory<AbstractDeclaration>[] = [];\n imports: ModelImportFactory[] = [];\n constructor() {\n super({ type: Model, node: { declarations: [], imports: [] } });\n }\n addImport(builder: (b: ModelImportFactory) => ModelImportFactory) {\n this.imports.push(builder(new ModelImportFactory()).setContainer(this.node));\n this.update({\n imports: this.imports,\n });\n return this;\n }\n addDeclaration(builder: (b: DeclarationBuilder) => AstFactory<AbstractDeclaration>) {\n this.declarations.push(builder(DeclarationBuilder()).setContainer(this.node));\n this.update({\n declarations: this.declarations,\n });\n return this;\n }\n}\n\nexport class ModelImportFactory extends AstFactory<ModelImport> {\n path?: string | undefined;\n\n constructor() {\n super({ type: ModelImport });\n }\n\n setPath(path: string) {\n this.path = path;\n this.update({\n path: this.path,\n });\n return this;\n }\n}\n\nexport class EnumFactory extends AstFactory<Enum> {\n name?: string;\n comments: string[] = [];\n fields: EnumFieldFactory[] = [];\n attributes: DataModelAttributeFactory[] = [];\n\n constructor() {\n super({ type: Enum, node: { comments: [], fields: [], attributes: [] } });\n }\n\n addField(builder: (b: EnumFieldFactory) => EnumFieldFactory) {\n this.fields.push(builder(new EnumFieldFactory()).setContainer(this.node));\n this.update({\n fields: this.fields,\n });\n return this;\n }\n\n addAttribute(builder: (b: DataModelAttributeFactory) => DataModelAttributeFactory) {\n this.attributes.push(builder(new DataModelAttributeFactory()).setContainer(this.node));\n this.update({\n attributes: this.attributes,\n });\n return this;\n }\n\n setName(name: string) {\n this.name = name;\n this.update({\n name: this.name,\n });\n return this;\n }\n}\n\nexport class EnumFieldFactory extends AstFactory<EnumField> {\n name?: RegularIDWithTypeNames;\n comments: string[] = [];\n attributes: DataFieldAttributeFactory[] = [];\n\n constructor() {\n super({ type: EnumField, node: { comments: [], attributes: [] } });\n }\n\n setName(name: RegularIDWithTypeNames) {\n this.name = name;\n this.update({\n name: this.name,\n });\n return this;\n }\n\n addAttribute(builder: (b: DataFieldAttributeFactory) => DataFieldAttributeFactory) {\n this.attributes.push(builder(new DataFieldAttributeFactory()).setContainer(this.node));\n this.update({\n attributes: this.attributes,\n });\n return this;\n }\n\n addComment(comment: string) {\n this.comments.push(comment);\n this.update({\n comments: this.comments,\n });\n return this;\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"factory.cjs","names":["ThisExpr","NullExpr","NumberLiteral","StringLiteral","BooleanLiteral","UnaryExpr","ReferenceExpr","ReferenceArg","MemberAccessExpr","ObjectExpr","FieldInitializer","InvocationExpr","Argument","ArrayExpr","BinaryExpr","DataFieldAttribute","DataModelAttribute","AttributeArg","InternalAttribute","AttributeParam","AttributeParamType","Attribute","DataModel","DataField","DataFieldType","UnsupportedFieldType","Model","ModelImport","Enum","EnumField"],"sources":["../src/factory/ast-factory.ts","../src/factory/primitives.ts","../src/factory/expression.ts","../src/factory/attribute.ts","../src/factory/declaration.ts"],"sourcesContent":["import { type AstNode } from '../ast';\n\nexport type ContainerProps<T extends AstNode | undefined> = {\n $container: T;\n $containerProperty?: string;\n $containerIndex?: number;\n};\n\ntype NodeFactoriesFor<N> = {\n [K in keyof N as {} extends Pick<N, K> ? never : K]: N[K] extends (infer U)[]\n ? (AstFactory<U extends AstNode ? U : AstNode> | U)[]\n : AstFactory<N[K] extends AstNode ? N[K] : AstNode> | N[K];\n} & {\n [K in keyof N as {} extends Pick<N, K> ? K : never]?: N[K] extends (infer U)[]\n ? (AstFactory<U extends AstNode ? U : AstNode> | U)[]\n : AstFactory<N[K] extends AstNode ? N[K] : AstNode> | N[K];\n};\n\nexport abstract class AstFactory<T extends AstNode = AstNode> {\n node = {} as T;\n constructor({ type, node }: { type: T['$type']; node?: Partial<T> }) {\n (this.node as any).$type = type;\n if (node) {\n this.update(node);\n }\n }\n setContainer(container: T['$container']) {\n (this.node as any).$container = container;\n return this;\n }\n\n get(params?: ContainerProps<T['$container']>): T {\n if (params) this.update(params as any);\n return this.node;\n }\n update(nodeArg: Partial<T | NodeFactoriesFor<T>>): T {\n const keys = Object.keys(nodeArg as object);\n keys.forEach((key) => {\n const child = (nodeArg as any)[key];\n if (child instanceof AstFactory) {\n (this.node as any)[key] = child.get({ $container: this.node as any });\n } else if (Array.isArray(child)) {\n (this.node as any)[key] = child.map((item: any) =>\n item instanceof AstFactory ? item.get({ $container: this.node as any }) : item,\n );\n } else {\n (this.node as any)[key] = child;\n }\n });\n return this.node;\n }\n}\n","import { AstFactory } from './ast-factory';\nimport { BooleanLiteral, NullExpr, NumberLiteral, StringLiteral, ThisExpr } from '../ast';\n\nexport class ThisExprFactory extends AstFactory<ThisExpr> {\n constructor() {\n super({ type: ThisExpr.$type, node: { value: 'this' } });\n }\n}\n\nexport class NullExprFactory extends AstFactory<NullExpr> {\n constructor() {\n super({ type: NullExpr.$type, node: { value: 'null' } });\n }\n}\n\nexport class NumberLiteralFactory extends AstFactory<NumberLiteral> {\n value?: number | string;\n\n constructor() {\n super({ type: NumberLiteral.$type });\n }\n\n setValue(value: number | string) {\n this.value = value;\n this.update({\n value: this.value.toString(),\n });\n return this;\n }\n}\n\nexport class StringLiteralFactory extends AstFactory<StringLiteral> {\n value?: string;\n\n constructor() {\n super({ type: StringLiteral.$type });\n }\n\n setValue(value: string) {\n this.value = value;\n this.update({\n value: this.value,\n });\n return this;\n }\n}\nexport class BooleanLiteralFactory extends AstFactory<BooleanLiteral> {\n value?: boolean;\n\n constructor() {\n super({ type: BooleanLiteral.$type });\n }\n\n setValue(value: boolean) {\n this.value = value;\n this.update({\n value: this.value,\n });\n return this;\n }\n}\n","import type { Reference } from 'langium';\nimport { AstFactory } from './ast-factory';\nimport {\n Argument,\n ArrayExpr,\n BinaryExpr,\n FieldInitializer,\n FunctionDecl,\n InvocationExpr,\n MemberAccessExpr,\n MemberAccessTarget,\n ObjectExpr,\n ReferenceArg,\n ReferenceExpr,\n ReferenceTarget,\n UnaryExpr,\n type Expression,\n type RegularID,\n} from '../ast';\nimport {\n BooleanLiteralFactory,\n NullExprFactory,\n NumberLiteralFactory,\n StringLiteralFactory,\n ThisExprFactory,\n} from './primitives';\n\nexport const ExpressionBuilder = () =>\n ({\n get ArrayExpr() {\n return new ArrayExprFactory();\n },\n get BinaryExpr() {\n return new BinaryExprFactory();\n },\n get BooleanLiteral() {\n return new BooleanLiteralFactory();\n },\n get InvocationExpr() {\n return new InvocationExprFactory();\n },\n get MemberAccessExpr() {\n return new MemberAccessExprFactory();\n },\n get NullExpr() {\n return new NullExprFactory();\n },\n get NumberLiteral() {\n return new NumberLiteralFactory();\n },\n get ObjectExpr() {\n return new ObjectExprFactory();\n },\n get ReferenceExpr() {\n return new ReferenceExprFactory();\n },\n get StringLiteral() {\n return new StringLiteralFactory();\n },\n get ThisExpr() {\n return new ThisExprFactory();\n },\n get UnaryExpr() {\n return new UnaryExprFactory();\n },\n }) satisfies ExpressionBuilderType;\ntype ExpressionBuilderType<T extends Expression = Expression> = {\n [K in T['$type']]: AstFactory<Extract<T, { $type: K }>>;\n};\n\ntype ExpressionFactoryMap = ReturnType<typeof ExpressionBuilder>;\n\nexport type ExpressionBuilder<T extends Expression = Expression> = Pick<\n ExpressionFactoryMap,\n Extract<T['$type'], keyof ExpressionFactoryMap>\n>;\n\nexport class UnaryExprFactory extends AstFactory<UnaryExpr> {\n operand?: AstFactory<Expression>;\n\n constructor() {\n super({ type: UnaryExpr.$type, node: { operator: '!' } });\n }\n\n setOperand(builder: (a: ExpressionBuilder) => AstFactory<Expression>) {\n this.operand = builder(ExpressionBuilder());\n this.update({\n operand: this.operand,\n });\n return this;\n }\n}\n\nexport class ReferenceExprFactory extends AstFactory<ReferenceExpr> {\n target?: Reference<ReferenceTarget>;\n args: ReferenceArgFactory[] = [];\n\n constructor() {\n super({ type: ReferenceExpr.$type, node: { args: [] } });\n }\n\n setTarget(target: ReferenceTarget) {\n this.target = {\n $refText: target.name,\n ref: target,\n };\n this.update({\n target: this.target,\n });\n return this;\n }\n\n addArg(builder: (a: ExpressionBuilder) => AstFactory<Expression>, name?: string) {\n const arg = new ReferenceArgFactory().setValue(builder);\n if (name) {\n arg.setName(name);\n }\n this.args.push(arg);\n this.update({\n args: this.args,\n });\n return this;\n }\n}\n\nexport class ReferenceArgFactory extends AstFactory<ReferenceArg> {\n name?: string;\n value?: AstFactory<Expression>;\n\n constructor() {\n super({ type: ReferenceArg.$type });\n }\n\n setName(name: string) {\n this.name = name;\n this.update({\n name: this.name,\n });\n return this;\n }\n\n setValue(builder: (a: ExpressionBuilder) => AstFactory<Expression>) {\n this.value = builder(ExpressionBuilder());\n this.update({\n value: this.value,\n });\n return this;\n }\n}\n\nexport class MemberAccessExprFactory extends AstFactory<MemberAccessExpr> {\n member?: Reference<MemberAccessTarget>;\n operand?: AstFactory<Expression>;\n\n constructor() {\n super({ type: MemberAccessExpr.$type });\n }\n\n setMember(target: Reference<MemberAccessTarget>) {\n this.member = target;\n this.update({\n member: this.member,\n });\n return this;\n }\n\n setOperand(builder: (b: ExpressionBuilder) => AstFactory<Expression>) {\n this.operand = builder(ExpressionBuilder());\n this.update({\n operand: this.operand,\n });\n return this;\n }\n}\n\nexport class ObjectExprFactory extends AstFactory<ObjectExpr> {\n fields: FieldInitializerFactory[] = [];\n\n constructor() {\n super({ type: ObjectExpr.$type, node: { fields: [] } });\n }\n\n addField(builder: (b: FieldInitializerFactory) => FieldInitializerFactory) {\n this.fields.push(builder(new FieldInitializerFactory()));\n this.update({\n fields: this.fields,\n });\n return this;\n }\n}\n\nexport class FieldInitializerFactory extends AstFactory<FieldInitializer> {\n name?: RegularID;\n value?: AstFactory<Expression>;\n\n constructor() {\n super({ type: FieldInitializer.$type });\n }\n\n setName(name: RegularID) {\n this.name = name;\n this.update({\n name: this.name!,\n });\n return this;\n }\n\n setValue(builder: (a: ExpressionBuilder) => AstFactory<Expression>) {\n this.value = builder(ExpressionBuilder());\n this.update({\n value: this.value!,\n });\n return this;\n }\n}\n\nexport class InvocationExprFactory extends AstFactory<InvocationExpr> {\n args: ArgumentFactory[] = [];\n function?: Reference<FunctionDecl>;\n\n constructor() {\n super({ type: InvocationExpr.$type, node: { args: [] } });\n }\n\n addArg(builder: (arg: ArgumentFactory) => ArgumentFactory) {\n this.args.push(builder(new ArgumentFactory()));\n this.update({\n args: this.args,\n });\n return this;\n }\n\n setFunction(value: FunctionDecl) {\n this.function = {\n $refText: value.name,\n ref: value,\n };\n this.update({\n function: this.function!,\n });\n return this;\n }\n}\n\nexport class ArgumentFactory extends AstFactory<Argument> {\n value?: AstFactory<Expression>;\n\n constructor() {\n super({ type: Argument.$type });\n }\n\n setValue(builder: (a: ExpressionBuilder) => AstFactory<Expression>) {\n this.value = builder(ExpressionBuilder());\n this.update({\n value: this.value!,\n });\n return this;\n }\n}\n\nexport class ArrayExprFactory extends AstFactory<ArrayExpr> {\n items: AstFactory<Expression>[] = [];\n\n constructor() {\n super({ type: ArrayExpr.$type, node: { items: [] } });\n }\n\n addItem(builder: (a: ExpressionBuilder) => AstFactory<Expression>) {\n this.items.push(builder(ExpressionBuilder()));\n this.update({\n items: this.items,\n });\n return this;\n }\n}\n\nexport class BinaryExprFactory extends AstFactory<BinaryExpr> {\n operator?: BinaryExpr['operator'];\n right?: AstFactory<Expression>;\n left?: AstFactory<Expression>;\n // TODO: add support for CollectionPredicateBinding\n\n constructor() {\n super({ type: BinaryExpr.$type });\n }\n\n setOperator(operator: BinaryExpr['operator']) {\n this.operator = operator;\n this.update({\n operator: this.operator!,\n });\n return this;\n }\n setRight(builder: (arg: ExpressionBuilder) => AstFactory<Expression>) {\n this.right = builder(ExpressionBuilder());\n this.update({\n right: this.right!,\n });\n return this;\n }\n setLeft(builder: (arg: ExpressionBuilder) => AstFactory<Expression>) {\n this.left = builder(ExpressionBuilder());\n this.update({\n left: this.left!,\n });\n return this;\n }\n}\n","import { AstFactory } from './ast-factory';\nimport {\n Attribute,\n AttributeArg,\n AttributeParam,\n AttributeParamType,\n DataFieldAttribute,\n DataModelAttribute,\n Expression,\n InternalAttribute,\n TypeDeclaration,\n type Reference,\n type RegularID,\n} from '../ast';\nimport { ExpressionBuilder } from './expression';\n\nexport class DataFieldAttributeFactory extends AstFactory<DataFieldAttribute> {\n args: AttributeArgFactory[] = [];\n decl?: Reference<Attribute>;\n constructor() {\n super({ type: DataFieldAttribute.$type, node: { args: [] } });\n }\n setDecl(decl: Attribute) {\n if (!decl) {\n throw new Error('Attribute declaration is required');\n }\n this.decl = {\n $refText: decl.name,\n ref: decl,\n };\n this.update({\n decl: this.decl,\n });\n return this;\n }\n addArg(builder: (b: ExpressionBuilder) => AstFactory<Expression>, name?: string) {\n const factory = new AttributeArgFactory().setValue(builder);\n if (name) {\n factory.setName(name);\n }\n this.args.push(factory);\n this.update({\n args: this.args,\n });\n return this;\n }\n}\n\nexport class DataModelAttributeFactory extends AstFactory<DataModelAttribute> {\n args: AttributeArgFactory[] = [];\n decl?: Reference<Attribute>;\n constructor() {\n super({ type: DataModelAttribute.$type, node: { args: [] } });\n }\n setDecl(decl: Attribute) {\n if (!decl) {\n throw new Error('Attribute declaration is required');\n }\n this.decl = {\n $refText: decl.name,\n ref: decl,\n };\n this.update({\n decl: this.decl,\n });\n return this;\n }\n addArg(builder: (b: ExpressionBuilder) => AstFactory<Expression>, name?: string) {\n const factory = new AttributeArgFactory().setValue(builder);\n if (name) {\n factory.setName(name);\n }\n this.args.push(factory);\n this.update({\n args: this.args,\n });\n return this;\n }\n}\n\nexport class AttributeArgFactory extends AstFactory<AttributeArg> {\n name?: RegularID = '';\n value?: AstFactory<Expression>;\n\n constructor() {\n super({ type: AttributeArg.$type });\n }\n\n setName(name: RegularID) {\n this.name = name;\n this.update({\n name: this.name,\n });\n return this;\n }\n\n setValue(builder: (b: ExpressionBuilder) => AstFactory<Expression>) {\n this.value = builder(ExpressionBuilder());\n this.update({\n value: this.value,\n });\n return this;\n }\n}\n\nexport class InternalAttributeFactory extends AstFactory<InternalAttribute> {\n decl?: Reference<Attribute>;\n args: AttributeArgFactory[] = [];\n\n constructor() {\n super({ type: InternalAttribute.$type, node: { args: [] } });\n }\n\n setDecl(decl: Attribute) {\n this.decl = {\n $refText: decl.name,\n ref: decl,\n };\n this.update({\n decl: this.decl,\n });\n return this;\n }\n\n addArg(builder: (b: ExpressionBuilder) => AstFactory<Expression>, name?: string) {\n const factory = new AttributeArgFactory().setValue(builder);\n if (name) {\n factory.setName(name);\n }\n this.args.push(factory);\n this.update({\n args: this.args,\n });\n return this;\n }\n}\n\nexport class AttributeParamFactory extends AstFactory<AttributeParam> {\n attributes: InternalAttributeFactory[] = [];\n comments: string[] = [];\n default?: boolean;\n name?: RegularID;\n type?: AttributeParamTypeFactory;\n\n constructor() {\n super({\n type: AttributeParam.$type,\n node: {\n comments: [],\n attributes: [],\n },\n });\n }\n\n addAttribute(builder: (b: InternalAttributeFactory) => InternalAttributeFactory) {\n this.attributes.push(builder(new InternalAttributeFactory()));\n this.update({\n attributes: this.attributes,\n });\n return this;\n }\n\n setComments(comments: string[]) {\n this.comments = comments;\n this.update({\n comments: this.comments,\n });\n return this;\n }\n\n setDefault(defaultValue: boolean) {\n this.default = defaultValue;\n this.update({\n default: this.default,\n });\n return this;\n }\n\n setName(name: string) {\n this.name = name;\n this.update({\n name: this.name,\n });\n return this;\n }\n\n setType(builder: (b: AttributeParamTypeFactory) => AttributeParamTypeFactory) {\n this.type = builder(new AttributeParamTypeFactory());\n this.update({\n type: this.type,\n });\n return this;\n }\n}\n\nexport class AttributeParamTypeFactory extends AstFactory<AttributeParamType> {\n array?: boolean;\n optional?: boolean;\n reference?: Reference<TypeDeclaration>;\n type?: AttributeParamType['type'];\n constructor() {\n super({ type: AttributeParamType.$type });\n }\n setArray(array: boolean) {\n this.array = array;\n this.update({\n array: this.array,\n });\n return this;\n }\n\n setOptional(optional: boolean) {\n this.optional = optional;\n this.update({\n optional: this.optional,\n });\n return this;\n }\n\n setReference(reference: TypeDeclaration) {\n this.reference = {\n $refText: reference.name,\n ref: reference,\n };\n this.update({\n reference: this.reference,\n });\n return this;\n }\n\n setType(type: AttributeParamType['type']) {\n this.type = type;\n this.update({\n type: this.type,\n });\n return this;\n }\n}\n\nexport class AttributeFactory extends AstFactory<Attribute> {\n name?: string;\n comments: string[] = [];\n attributes: InternalAttributeFactory[] = [];\n params: AttributeParamFactory[] = [];\n\n constructor() {\n super({ type: Attribute.$type, node: { comments: [], attributes: [], params: [] } });\n }\n\n setName(name: string) {\n this.name = name;\n this.update({\n name: this.name,\n });\n return this;\n }\n\n setComments(comments: string[]) {\n this.comments = comments;\n this.update({\n comments: this.comments,\n });\n return this;\n }\n\n addAttribute(builder: (b: InternalAttributeFactory) => InternalAttributeFactory) {\n this.attributes.push(builder(new InternalAttributeFactory()));\n this.update({\n attributes: this.attributes,\n });\n return this;\n }\n\n addParam(builder: (b: AttributeParamFactory) => AttributeParamFactory) {\n this.params.push(builder(new AttributeParamFactory()));\n this.update({\n params: this.params,\n });\n return this;\n }\n}\n","import { AstFactory } from './ast-factory';\nimport { AbstractDeclaration, type Reference } from '../ast';\nimport {\n type BuiltinType,\n DataField,\n DataFieldType,\n DataModel,\n Enum,\n EnumField,\n LiteralExpr,\n Model,\n ModelImport,\n type RegularID,\n type RegularIDWithTypeNames,\n TypeDeclaration,\n type TypeDef,\n UnsupportedFieldType,\n} from '../generated/ast';\nimport { AttributeFactory, DataFieldAttributeFactory, DataModelAttributeFactory } from './attribute';\nimport { ExpressionBuilder } from './expression';\nexport const DeclarationBuilder = () =>\n ({\n get Attribute() {\n return new AttributeFactory();\n },\n get DataModel() {\n return new DataModelFactory();\n },\n get DataSource(): any {\n throw new Error('DataSource is not implemented');\n },\n get Enum() {\n return new EnumFactory();\n },\n get FunctionDecl(): any {\n throw new Error('FunctionDecl is not implemented');\n },\n get GeneratorDecl(): any {\n throw new Error('GeneratorDecl is not implemented');\n },\n get Plugin(): any {\n throw new Error('Plugin is not implemented');\n },\n get Procedure(): any {\n throw new Error('Procedure is not implemented');\n },\n get TypeDef(): any {\n throw new Error('TypeDef is not implemented');\n },\n }) satisfies DeclarationBuilderType;\ntype DeclarationBuilderType<T extends AbstractDeclaration = AbstractDeclaration> = {\n [K in T['$type']]: AstFactory<Extract<T, { $type: K }>>;\n};\ntype DeclarationBuilderMap = ReturnType<typeof DeclarationBuilder>;\n\nexport type DeclarationBuilder<T extends AbstractDeclaration = AbstractDeclaration> = Pick<\n DeclarationBuilderMap,\n Extract<T['$type'], keyof DeclarationBuilderMap>\n>;\n\nexport class DataModelFactory extends AstFactory<DataModel> {\n attributes: DataModelAttributeFactory[] = [];\n baseModel?: Reference<DataModel>;\n comments: string[] = [];\n fields: DataFieldFactory[] = [];\n isView?: boolean;\n mixins: Reference<TypeDef>[] = [];\n name?: RegularID;\n\n constructor() {\n super({\n type: DataModel.$type,\n node: {\n attributes: [],\n comments: [],\n fields: [],\n mixins: [],\n },\n });\n }\n\n addAttribute(builder: (attr: DataModelAttributeFactory) => DataModelAttributeFactory) {\n this.attributes.push(builder(new DataModelAttributeFactory()).setContainer(this.node));\n this.update({\n attributes: this.attributes,\n });\n return this;\n }\n\n setBaseModel(model: Reference<DataModel>) {\n this.baseModel = model;\n this.update({\n baseModel: this.baseModel,\n });\n return this;\n }\n\n setComments(comments: string[]) {\n this.comments = comments;\n this.update({\n comments: this.comments,\n });\n return this;\n }\n\n addComment(comment: string) {\n this.comments.push(comment);\n this.update({\n comments: this.comments,\n });\n return this;\n }\n\n addField(builder: (field: DataFieldFactory) => DataFieldFactory) {\n this.fields.push(builder(new DataFieldFactory()).setContainer(this.node));\n this.update({\n fields: this.fields,\n });\n return this;\n }\n\n setIsView(isView: boolean) {\n this.isView = isView;\n this.update({\n isView: this.isView,\n });\n return this;\n }\n\n addMixin(mixin: Reference<TypeDef>) {\n this.mixins.push(mixin);\n this.update({\n mixins: this.mixins,\n });\n return this;\n }\n\n setName(name: string) {\n this.name = name;\n this.update({\n name: this.name,\n });\n return this;\n }\n}\n\nexport class DataFieldFactory extends AstFactory<DataField> {\n attributes: DataFieldAttributeFactory[] = [];\n comments: string[] = [];\n name?: string;\n type?: DataFieldTypeFactory;\n\n constructor() {\n super({ type: DataField.$type, node: { attributes: [], comments: [] } });\n }\n\n addAttribute(\n builder: ((attr: DataFieldAttributeFactory) => DataFieldAttributeFactory) | DataFieldAttributeFactory,\n ) {\n if (builder instanceof DataFieldAttributeFactory) {\n builder.setContainer(this.node);\n this.attributes.push(builder);\n } else {\n const attr = builder(new DataFieldAttributeFactory());\n attr.setContainer(this.node);\n this.attributes.push(attr);\n }\n this.update({\n attributes: this.attributes,\n });\n return this;\n }\n\n setComments(comments: string[]) {\n this.comments = comments;\n this.update({\n comments: this.comments,\n });\n return this;\n }\n\n setName(name: string) {\n this.name = name;\n this.update({\n name: this.name,\n });\n return this;\n }\n\n setType(builder: (type: DataFieldTypeFactory) => DataFieldTypeFactory) {\n this.type = builder(new DataFieldTypeFactory()).setContainer(this.node);\n this.update({\n type: this.type,\n });\n return this;\n }\n}\n\nexport class DataFieldTypeFactory extends AstFactory<DataFieldType> {\n array?: boolean;\n optional?: boolean;\n reference?: Reference<TypeDeclaration>;\n type?: BuiltinType;\n unsupported?: UnsupportedFieldTypeFactory;\n\n constructor() {\n super({ type: DataFieldType.$type });\n }\n\n setArray(array: boolean) {\n this.array = array;\n this.update({\n array: this.array,\n });\n return this;\n }\n\n setOptional(optional: boolean) {\n this.optional = optional;\n this.update({\n optional: this.optional,\n });\n return this;\n }\n\n setReference(reference: TypeDeclaration) {\n this.reference = {\n $refText: reference.name,\n ref: reference,\n };\n this.update({\n reference: this.reference,\n });\n return this;\n }\n\n setType(type: BuiltinType) {\n this.type = type;\n this.update({\n type: this.type,\n });\n return this;\n }\n\n setUnsupported(builder: (a: UnsupportedFieldTypeFactory) => UnsupportedFieldTypeFactory) {\n this.unsupported = builder(new UnsupportedFieldTypeFactory()).setContainer(this.node);\n this.update({\n unsupported: this.unsupported,\n });\n return this;\n }\n}\n\nexport class UnsupportedFieldTypeFactory extends AstFactory<UnsupportedFieldType> {\n value?: AstFactory<LiteralExpr>;\n constructor() {\n super({ type: UnsupportedFieldType.$type });\n }\n setValue(builder: (value: ExpressionBuilder<LiteralExpr>) => AstFactory<LiteralExpr>) {\n this.value = builder(ExpressionBuilder());\n this.update({\n value: this.value!,\n });\n return this;\n }\n}\n\nexport class ModelFactory extends AstFactory<Model> {\n declarations: AstFactory<AbstractDeclaration>[] = [];\n imports: ModelImportFactory[] = [];\n constructor() {\n super({ type: Model.$type, node: { declarations: [], imports: [] } });\n }\n addImport(builder: (b: ModelImportFactory) => ModelImportFactory) {\n this.imports.push(builder(new ModelImportFactory()).setContainer(this.node));\n this.update({\n imports: this.imports,\n });\n return this;\n }\n addDeclaration(builder: (b: DeclarationBuilder) => AstFactory<AbstractDeclaration>) {\n this.declarations.push(builder(DeclarationBuilder()).setContainer(this.node));\n this.update({\n declarations: this.declarations,\n });\n return this;\n }\n}\n\nexport class ModelImportFactory extends AstFactory<ModelImport> {\n path?: string | undefined;\n\n constructor() {\n super({ type: ModelImport.$type });\n }\n\n setPath(path: string) {\n this.path = path;\n this.update({\n path: this.path,\n });\n return this;\n }\n}\n\nexport class EnumFactory extends AstFactory<Enum> {\n name?: string;\n comments: string[] = [];\n fields: EnumFieldFactory[] = [];\n attributes: DataModelAttributeFactory[] = [];\n\n constructor() {\n super({ type: Enum.$type, node: { comments: [], fields: [], attributes: [] } });\n }\n\n addField(builder: (b: EnumFieldFactory) => EnumFieldFactory) {\n this.fields.push(builder(new EnumFieldFactory()).setContainer(this.node));\n this.update({\n fields: this.fields,\n });\n return this;\n }\n\n addAttribute(builder: (b: DataModelAttributeFactory) => DataModelAttributeFactory) {\n this.attributes.push(builder(new DataModelAttributeFactory()).setContainer(this.node));\n this.update({\n attributes: this.attributes,\n });\n return this;\n }\n\n setName(name: string) {\n this.name = name;\n this.update({\n name: this.name,\n });\n return this;\n }\n}\n\nexport class EnumFieldFactory extends AstFactory<EnumField> {\n name?: RegularIDWithTypeNames;\n comments: string[] = [];\n attributes: DataFieldAttributeFactory[] = [];\n\n constructor() {\n super({ type: EnumField.$type, node: { comments: [], attributes: [] } });\n }\n\n setName(name: RegularIDWithTypeNames) {\n this.name = name;\n this.update({\n name: this.name,\n });\n return this;\n }\n\n addAttribute(builder: (b: DataFieldAttributeFactory) => DataFieldAttributeFactory) {\n this.attributes.push(builder(new DataFieldAttributeFactory()).setContainer(this.node));\n this.update({\n attributes: this.attributes,\n });\n return this;\n }\n\n addComment(comment: string) {\n this.comments.push(comment);\n this.update({\n comments: this.comments,\n });\n return this;\n }\n}\n"],"mappings":"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"}
|
package/dist/factory.d.cts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { $ as ReferenceArg, A as Enum, B as InvocationExpr, D as DataModel, E as DataFieldType, F as FunctionDecl, G as ModelImport, H as MemberAccessExpr, J as ObjectExpr, K as NullExpr, M as Expression, O as DataModelAttribute, P as FieldInitializer, T as DataFieldAttribute, U as MemberAccessTarget, V as LiteralExpr, W as Model, _ as BuiltinType, at as ThisExpr, c as Argument, ct as UnaryExpr, d as AttributeArg, et as ReferenceExpr, f as AttributeParam, g as BooleanLiteral, i as Reference$1, it as StringLiteral, j as EnumField, l as ArrayExpr, lt as UnsupportedFieldType, m as BinaryExpr, nt as RegularID, ot as TypeDeclaration, p as AttributeParamType, q as NumberLiteral, rt as RegularIDWithTypeNames, s as AbstractDeclaration, st as TypeDef, t as AstNode$1, tt as ReferenceTarget, u as Attribute, w as DataField, z as InternalAttribute } from "./ast-
|
|
1
|
+
import { $ as ReferenceArg, A as Enum, B as InvocationExpr, D as DataModel, E as DataFieldType, F as FunctionDecl, G as ModelImport, H as MemberAccessExpr, J as ObjectExpr, K as NullExpr, M as Expression, O as DataModelAttribute, P as FieldInitializer, T as DataFieldAttribute, U as MemberAccessTarget, V as LiteralExpr, W as Model, _ as BuiltinType, at as ThisExpr, c as Argument, ct as UnaryExpr, d as AttributeArg, et as ReferenceExpr, f as AttributeParam, g as BooleanLiteral, i as Reference$1, it as StringLiteral, j as EnumField, l as ArrayExpr, lt as UnsupportedFieldType, m as BinaryExpr, nt as RegularID, ot as TypeDeclaration, p as AttributeParamType, q as NumberLiteral, rt as RegularIDWithTypeNames, s as AbstractDeclaration, st as TypeDef, t as AstNode$1, tt as ReferenceTarget, u as Attribute, w as DataField, z as InternalAttribute } from "./ast-fg9-E1cy.cjs";
|
|
2
2
|
import { Reference } from "langium";
|
|
3
3
|
|
|
4
4
|
//#region src/factory/ast-factory.d.ts
|
package/dist/factory.d.mts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { $ as ReferenceArg, A as Enum, B as InvocationExpr, D as DataModel, E as DataFieldType, F as FunctionDecl, G as ModelImport, H as MemberAccessExpr, J as ObjectExpr, K as NullExpr, M as Expression, O as DataModelAttribute, P as FieldInitializer, T as DataFieldAttribute, U as MemberAccessTarget, V as LiteralExpr, W as Model, _ as BuiltinType, at as ThisExpr, c as Argument, ct as UnaryExpr, d as AttributeArg, et as ReferenceExpr, f as AttributeParam, g as BooleanLiteral, i as Reference$1, it as StringLiteral, j as EnumField, l as ArrayExpr, lt as UnsupportedFieldType, m as BinaryExpr, nt as RegularID, ot as TypeDeclaration, p as AttributeParamType, q as NumberLiteral, rt as RegularIDWithTypeNames, s as AbstractDeclaration, st as TypeDef, t as AstNode$1, tt as ReferenceTarget, u as Attribute, w as DataField, z as InternalAttribute } from "./ast-
|
|
1
|
+
import { $ as ReferenceArg, A as Enum, B as InvocationExpr, D as DataModel, E as DataFieldType, F as FunctionDecl, G as ModelImport, H as MemberAccessExpr, J as ObjectExpr, K as NullExpr, M as Expression, O as DataModelAttribute, P as FieldInitializer, T as DataFieldAttribute, U as MemberAccessTarget, V as LiteralExpr, W as Model, _ as BuiltinType, at as ThisExpr, c as Argument, ct as UnaryExpr, d as AttributeArg, et as ReferenceExpr, f as AttributeParam, g as BooleanLiteral, i as Reference$1, it as StringLiteral, j as EnumField, l as ArrayExpr, lt as UnsupportedFieldType, m as BinaryExpr, nt as RegularID, ot as TypeDeclaration, p as AttributeParamType, q as NumberLiteral, rt as RegularIDWithTypeNames, s as AbstractDeclaration, st as TypeDef, t as AstNode$1, tt as ReferenceTarget, u as Attribute, w as DataField, z as InternalAttribute } from "./ast-DhPyAQoX.mjs";
|
|
2
2
|
import { Reference } from "langium";
|
|
3
3
|
|
|
4
4
|
//#region src/factory/ast-factory.d.ts
|