@zenstackhq/language 1.0.0-alpha.99 → 1.0.0-beta.10

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/ast.d.ts CHANGED
@@ -21,6 +21,15 @@ declare module './generated/ast' {
21
21
  */
22
22
  $resolvedParam?: AttributeParam;
23
23
  }
24
+ interface DataModel {
25
+ /**
26
+ * Resolved fields, include inherited fields
27
+ */
28
+ $resolvedFields: Array<DataModelField>;
29
+ }
30
+ interface DataModelField {
31
+ $isInherited?: boolean;
32
+ }
24
33
  }
25
34
  declare module 'langium' {
26
35
  interface AstNode {
@@ -1,25 +1,35 @@
1
1
  /******************************************************************************
2
- * This file was generated by langium-cli 1.1.0.
2
+ * This file was generated by langium-cli 1.2.0.
3
3
  * DO NOT EDIT MANUALLY!
4
4
  ******************************************************************************/
5
5
  import { AstNode, AbstractAstReflection, Reference, ReferenceInfo, TypeMetaData } from 'langium';
6
6
  export type AbstractDeclaration = Attribute | DataModel | DataSource | Enum | FunctionDecl | GeneratorDecl | Plugin;
7
7
  export declare const AbstractDeclaration = "AbstractDeclaration";
8
8
  export declare function isAbstractDeclaration(item: unknown): item is AbstractDeclaration;
9
- export type AttributeAttributeName = string;
10
- export type AttributeName = AttributeAttributeName | DataModelAttributeName | DataModelFieldAttributeName;
9
+ export type AttributeName = DataModelAttributeName | DataModelFieldAttributeName | InternalAttributeName;
10
+ export declare function isAttributeName(item: unknown): item is AttributeName;
11
+ export type Boolean = boolean;
12
+ export declare function isBoolean(item: unknown): item is Boolean;
11
13
  export type BuiltinType = 'BigInt' | 'Boolean' | 'Bytes' | 'DateTime' | 'Decimal' | 'Float' | 'Int' | 'Json' | 'String';
14
+ export declare function isBuiltinType(item: unknown): item is BuiltinType;
12
15
  export type DataModelAttributeName = string;
16
+ export declare function isDataModelAttributeName(item: unknown): item is DataModelAttributeName;
13
17
  export type DataModelFieldAttributeName = string;
18
+ export declare function isDataModelFieldAttributeName(item: unknown): item is DataModelFieldAttributeName;
14
19
  export type Expression = ArrayExpr | BinaryExpr | InvocationExpr | LiteralExpr | MemberAccessExpr | NullExpr | ObjectExpr | ReferenceExpr | ThisExpr | UnaryExpr;
15
20
  export declare const Expression = "Expression";
16
21
  export declare function isExpression(item: unknown): item is Expression;
17
- export type ExpressionType = 'Any' | 'Boolean' | 'DateTime' | 'Float' | 'Int' | 'Null' | 'Object' | 'String';
22
+ export type ExpressionType = 'Any' | 'Boolean' | 'DateTime' | 'Float' | 'Int' | 'Null' | 'Object' | 'String' | 'Unsupported';
23
+ export declare function isExpressionType(item: unknown): item is ExpressionType;
24
+ export type InternalAttributeName = string;
25
+ export declare function isInternalAttributeName(item: unknown): item is InternalAttributeName;
18
26
  export type QualifiedName = string;
27
+ export declare function isQualifiedName(item: unknown): item is QualifiedName;
19
28
  export type ReferenceTarget = DataModelField | EnumField | FunctionParam;
20
29
  export declare const ReferenceTarget = "ReferenceTarget";
21
30
  export declare function isReferenceTarget(item: unknown): item is ReferenceTarget;
22
- export type RegularID = 'in' | string;
31
+ export type RegularID = 'abstract' | 'attribute' | 'datasource' | 'enum' | 'in' | 'model' | 'plugin' | 'sort' | string;
32
+ export declare function isRegularID(item: unknown): item is RegularID;
23
33
  export type TypeDeclaration = DataModel | Enum;
24
34
  export declare const TypeDeclaration = "TypeDeclaration";
25
35
  export declare function isTypeDeclaration(item: unknown): item is TypeDeclaration;
@@ -32,7 +42,7 @@ export interface Argument extends AstNode {
32
42
  export declare const Argument = "Argument";
33
43
  export declare function isArgument(item: unknown): item is Argument;
34
44
  export interface ArrayExpr extends AstNode {
35
- readonly $container: Argument | ArrayExpr | AttributeArg | BinaryExpr | DataSourceField | FieldInitializer | FunctionDecl | GeneratorField | MemberAccessExpr | PluginField | UnaryExpr;
45
+ readonly $container: Argument | ArrayExpr | AttributeArg | BinaryExpr | DataSourceField | FieldInitializer | FunctionDecl | GeneratorField | MemberAccessExpr | PluginField | UnaryExpr | UnsupportedFieldType;
36
46
  readonly $type: 'ArrayExpr';
37
47
  items: Array<Expression>;
38
48
  }
@@ -41,28 +51,20 @@ export declare function isArrayExpr(item: unknown): item is ArrayExpr;
41
51
  export interface Attribute extends AstNode {
42
52
  readonly $container: Model;
43
53
  readonly $type: 'Attribute';
44
- attributes: Array<AttributeAttribute>;
54
+ attributes: Array<InternalAttribute>;
45
55
  name: AttributeName;
46
56
  params: Array<AttributeParam>;
47
57
  }
48
58
  export declare const Attribute = "Attribute";
49
59
  export declare function isAttribute(item: unknown): item is Attribute;
50
60
  export interface AttributeArg extends AstNode {
51
- readonly $container: AttributeAttribute | DataModelAttribute | DataModelFieldAttribute;
61
+ readonly $container: DataModelAttribute | DataModelFieldAttribute | InternalAttribute;
52
62
  readonly $type: 'AttributeArg';
53
63
  name?: RegularID;
54
64
  value: Expression;
55
65
  }
56
66
  export declare const AttributeArg = "AttributeArg";
57
67
  export declare function isAttributeArg(item: unknown): item is AttributeArg;
58
- export interface AttributeAttribute extends AstNode {
59
- readonly $container: Attribute;
60
- readonly $type: 'AttributeAttribute';
61
- args: Array<AttributeArg>;
62
- decl: Reference<Attribute>;
63
- }
64
- export declare const AttributeAttribute = "AttributeAttribute";
65
- export declare function isAttributeAttribute(item: unknown): item is AttributeAttribute;
66
68
  export interface AttributeParam extends AstNode {
67
69
  readonly $container: Attribute;
68
70
  readonly $type: 'AttributeParam';
@@ -83,7 +85,7 @@ export interface AttributeParamType extends AstNode {
83
85
  export declare const AttributeParamType = "AttributeParamType";
84
86
  export declare function isAttributeParamType(item: unknown): item is AttributeParamType;
85
87
  export interface BinaryExpr extends AstNode {
86
- readonly $container: Argument | ArrayExpr | AttributeArg | BinaryExpr | DataSourceField | FieldInitializer | FunctionDecl | GeneratorField | MemberAccessExpr | PluginField | UnaryExpr;
88
+ readonly $container: Argument | ArrayExpr | AttributeArg | BinaryExpr | DataSourceField | FieldInitializer | FunctionDecl | GeneratorField | MemberAccessExpr | PluginField | UnaryExpr | UnsupportedFieldType;
87
89
  readonly $type: 'BinaryExpr';
88
90
  left: Expression;
89
91
  operator: '!' | '!=' | '&&' | '<' | '<=' | '==' | '>' | '>=' | '?' | '^' | 'in' | '||';
@@ -97,7 +99,10 @@ export interface DataModel extends AstNode {
97
99
  attributes: Array<DataModelAttribute>;
98
100
  comments: Array<string>;
99
101
  fields: Array<DataModelField>;
102
+ isAbstract: boolean;
103
+ isView: boolean;
100
104
  name: RegularID;
105
+ superTypes: Array<Reference<DataModel>>;
101
106
  }
102
107
  export declare const DataModel = "DataModel";
103
108
  export declare function isDataModel(item: unknown): item is DataModel;
@@ -134,6 +139,7 @@ export interface DataModelFieldType extends AstNode {
134
139
  optional: boolean;
135
140
  reference?: Reference<TypeDeclaration>;
136
141
  type?: BuiltinType;
142
+ unsupported?: UnsupportedFieldType;
137
143
  }
138
144
  export declare const DataModelFieldType = "DataModelFieldType";
139
145
  export declare function isDataModelFieldType(item: unknown): item is DataModelFieldType;
@@ -183,6 +189,7 @@ export declare function isFieldInitializer(item: unknown): item is FieldInitiali
183
189
  export interface FunctionDecl extends AstNode {
184
190
  readonly $container: Model;
185
191
  readonly $type: 'FunctionDecl';
192
+ attributes: Array<InternalAttribute>;
186
193
  expression?: Expression;
187
194
  name: RegularID;
188
195
  params: Array<FunctionParam>;
@@ -224,8 +231,16 @@ export interface GeneratorField extends AstNode {
224
231
  }
225
232
  export declare const GeneratorField = "GeneratorField";
226
233
  export declare function isGeneratorField(item: unknown): item is GeneratorField;
234
+ export interface InternalAttribute extends AstNode {
235
+ readonly $container: Attribute | FunctionDecl;
236
+ readonly $type: 'InternalAttribute';
237
+ args: Array<AttributeArg>;
238
+ decl: Reference<Attribute>;
239
+ }
240
+ export declare const InternalAttribute = "InternalAttribute";
241
+ export declare function isInternalAttribute(item: unknown): item is InternalAttribute;
227
242
  export interface InvocationExpr extends AstNode {
228
- readonly $container: Argument | ArrayExpr | AttributeArg | BinaryExpr | DataSourceField | FieldInitializer | FunctionDecl | GeneratorField | MemberAccessExpr | PluginField | UnaryExpr;
243
+ readonly $container: Argument | ArrayExpr | AttributeArg | BinaryExpr | DataSourceField | FieldInitializer | FunctionDecl | GeneratorField | MemberAccessExpr | PluginField | UnaryExpr | UnsupportedFieldType;
229
244
  readonly $type: 'InvocationExpr';
230
245
  args: Array<Argument>;
231
246
  function: Reference<FunctionDecl>;
@@ -233,14 +248,14 @@ export interface InvocationExpr extends AstNode {
233
248
  export declare const InvocationExpr = "InvocationExpr";
234
249
  export declare function isInvocationExpr(item: unknown): item is InvocationExpr;
235
250
  export interface LiteralExpr extends AstNode {
236
- readonly $container: Argument | ArrayExpr | AttributeArg | BinaryExpr | DataSourceField | FieldInitializer | FunctionDecl | GeneratorField | MemberAccessExpr | PluginField | UnaryExpr;
251
+ readonly $container: Argument | ArrayExpr | AttributeArg | BinaryExpr | DataSourceField | FieldInitializer | FunctionDecl | GeneratorField | MemberAccessExpr | PluginField | UnaryExpr | UnsupportedFieldType;
237
252
  readonly $type: 'LiteralExpr';
238
- value: boolean | number | string;
253
+ value: Boolean | number | string;
239
254
  }
240
255
  export declare const LiteralExpr = "LiteralExpr";
241
256
  export declare function isLiteralExpr(item: unknown): item is LiteralExpr;
242
257
  export interface MemberAccessExpr extends AstNode {
243
- readonly $container: Argument | ArrayExpr | AttributeArg | BinaryExpr | DataSourceField | FieldInitializer | FunctionDecl | GeneratorField | MemberAccessExpr | PluginField | UnaryExpr;
258
+ readonly $container: Argument | ArrayExpr | AttributeArg | BinaryExpr | DataSourceField | FieldInitializer | FunctionDecl | GeneratorField | MemberAccessExpr | PluginField | UnaryExpr | UnsupportedFieldType;
244
259
  readonly $type: 'MemberAccessExpr';
245
260
  member: Reference<DataModelField>;
246
261
  operand: Expression;
@@ -250,18 +265,26 @@ export declare function isMemberAccessExpr(item: unknown): item is MemberAccessE
250
265
  export interface Model extends AstNode {
251
266
  readonly $type: 'Model';
252
267
  declarations: Array<AbstractDeclaration>;
268
+ imports: Array<ModelImport>;
253
269
  }
254
270
  export declare const Model = "Model";
255
271
  export declare function isModel(item: unknown): item is Model;
272
+ export interface ModelImport extends AstNode {
273
+ readonly $container: Model;
274
+ readonly $type: 'ModelImport';
275
+ path: string;
276
+ }
277
+ export declare const ModelImport = "ModelImport";
278
+ export declare function isModelImport(item: unknown): item is ModelImport;
256
279
  export interface NullExpr extends AstNode {
257
- readonly $container: Argument | ArrayExpr | AttributeArg | BinaryExpr | DataSourceField | FieldInitializer | FunctionDecl | GeneratorField | MemberAccessExpr | PluginField | UnaryExpr;
280
+ readonly $container: Argument | ArrayExpr | AttributeArg | BinaryExpr | DataSourceField | FieldInitializer | FunctionDecl | GeneratorField | MemberAccessExpr | PluginField | UnaryExpr | UnsupportedFieldType;
258
281
  readonly $type: 'NullExpr';
259
282
  value: string;
260
283
  }
261
284
  export declare const NullExpr = "NullExpr";
262
285
  export declare function isNullExpr(item: unknown): item is NullExpr;
263
286
  export interface ObjectExpr extends AstNode {
264
- readonly $container: Argument | ArrayExpr | AttributeArg | BinaryExpr | DataSourceField | FieldInitializer | FunctionDecl | GeneratorField | MemberAccessExpr | PluginField | UnaryExpr;
287
+ readonly $container: Argument | ArrayExpr | AttributeArg | BinaryExpr | DataSourceField | FieldInitializer | FunctionDecl | GeneratorField | MemberAccessExpr | PluginField | UnaryExpr | UnsupportedFieldType;
265
288
  readonly $type: 'ObjectExpr';
266
289
  fields: Array<FieldInitializer>;
267
290
  }
@@ -292,7 +315,7 @@ export interface ReferenceArg extends AstNode {
292
315
  export declare const ReferenceArg = "ReferenceArg";
293
316
  export declare function isReferenceArg(item: unknown): item is ReferenceArg;
294
317
  export interface ReferenceExpr extends AstNode {
295
- readonly $container: Argument | ArrayExpr | AttributeArg | BinaryExpr | DataSourceField | FieldInitializer | FunctionDecl | GeneratorField | MemberAccessExpr | PluginField | UnaryExpr;
318
+ readonly $container: Argument | ArrayExpr | AttributeArg | BinaryExpr | DataSourceField | FieldInitializer | FunctionDecl | GeneratorField | MemberAccessExpr | PluginField | UnaryExpr | UnsupportedFieldType;
296
319
  readonly $type: 'ReferenceExpr';
297
320
  args: Array<ReferenceArg>;
298
321
  target: Reference<ReferenceTarget>;
@@ -300,27 +323,33 @@ export interface ReferenceExpr extends AstNode {
300
323
  export declare const ReferenceExpr = "ReferenceExpr";
301
324
  export declare function isReferenceExpr(item: unknown): item is ReferenceExpr;
302
325
  export interface ThisExpr extends AstNode {
303
- readonly $container: Argument | ArrayExpr | AttributeArg | BinaryExpr | DataSourceField | FieldInitializer | FunctionDecl | GeneratorField | MemberAccessExpr | PluginField | UnaryExpr;
326
+ readonly $container: Argument | ArrayExpr | AttributeArg | BinaryExpr | DataSourceField | FieldInitializer | FunctionDecl | GeneratorField | MemberAccessExpr | PluginField | UnaryExpr | UnsupportedFieldType;
304
327
  readonly $type: 'ThisExpr';
305
328
  value: string;
306
329
  }
307
330
  export declare const ThisExpr = "ThisExpr";
308
331
  export declare function isThisExpr(item: unknown): item is ThisExpr;
309
332
  export interface UnaryExpr extends AstNode {
310
- readonly $container: Argument | ArrayExpr | AttributeArg | BinaryExpr | DataSourceField | FieldInitializer | FunctionDecl | GeneratorField | MemberAccessExpr | PluginField | UnaryExpr;
333
+ readonly $container: Argument | ArrayExpr | AttributeArg | BinaryExpr | DataSourceField | FieldInitializer | FunctionDecl | GeneratorField | MemberAccessExpr | PluginField | UnaryExpr | UnsupportedFieldType;
311
334
  readonly $type: 'UnaryExpr';
312
335
  operand: Expression;
313
336
  operator: '!';
314
337
  }
315
338
  export declare const UnaryExpr = "UnaryExpr";
316
339
  export declare function isUnaryExpr(item: unknown): item is UnaryExpr;
317
- export interface ZModelAstType {
340
+ export interface UnsupportedFieldType extends AstNode {
341
+ readonly $container: DataModelFieldType;
342
+ readonly $type: 'UnsupportedFieldType';
343
+ value: LiteralExpr;
344
+ }
345
+ export declare const UnsupportedFieldType = "UnsupportedFieldType";
346
+ export declare function isUnsupportedFieldType(item: unknown): item is UnsupportedFieldType;
347
+ export type ZModelAstType = {
318
348
  AbstractDeclaration: AbstractDeclaration;
319
349
  Argument: Argument;
320
350
  ArrayExpr: ArrayExpr;
321
351
  Attribute: Attribute;
322
352
  AttributeArg: AttributeArg;
323
- AttributeAttribute: AttributeAttribute;
324
353
  AttributeParam: AttributeParam;
325
354
  AttributeParamType: AttributeParamType;
326
355
  BinaryExpr: BinaryExpr;
@@ -340,10 +369,12 @@ export interface ZModelAstType {
340
369
  FunctionParamType: FunctionParamType;
341
370
  GeneratorDecl: GeneratorDecl;
342
371
  GeneratorField: GeneratorField;
372
+ InternalAttribute: InternalAttribute;
343
373
  InvocationExpr: InvocationExpr;
344
374
  LiteralExpr: LiteralExpr;
345
375
  MemberAccessExpr: MemberAccessExpr;
346
376
  Model: Model;
377
+ ModelImport: ModelImport;
347
378
  NullExpr: NullExpr;
348
379
  ObjectExpr: ObjectExpr;
349
380
  Plugin: Plugin;
@@ -354,7 +385,8 @@ export interface ZModelAstType {
354
385
  ThisExpr: ThisExpr;
355
386
  TypeDeclaration: TypeDeclaration;
356
387
  UnaryExpr: UnaryExpr;
357
- }
388
+ UnsupportedFieldType: UnsupportedFieldType;
389
+ };
358
390
  export declare class ZModelAstReflection extends AbstractAstReflection {
359
391
  getAllTypes(): string[];
360
392
  protected computeIsSubtype(subtype: string, supertype: string): boolean;
package/generated/ast.js CHANGED
@@ -1,11 +1,11 @@
1
1
  "use strict";
2
2
  /******************************************************************************
3
- * This file was generated by langium-cli 1.1.0.
3
+ * This file was generated by langium-cli 1.2.0.
4
4
  * DO NOT EDIT MANUALLY!
5
5
  ******************************************************************************/
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.isFunctionParamType = exports.FunctionParamType = exports.isFunctionParam = exports.FunctionParam = exports.isFunctionDecl = exports.FunctionDecl = exports.isFieldInitializer = exports.FieldInitializer = exports.isEnumField = exports.EnumField = exports.isEnum = exports.Enum = exports.isDataSourceField = exports.DataSourceField = exports.isDataSource = exports.DataSource = exports.isDataModelFieldType = exports.DataModelFieldType = exports.isDataModelFieldAttribute = exports.DataModelFieldAttribute = exports.isDataModelField = exports.DataModelField = exports.isDataModelAttribute = exports.DataModelAttribute = exports.isDataModel = exports.DataModel = exports.isBinaryExpr = exports.BinaryExpr = exports.isAttributeParamType = exports.AttributeParamType = exports.isAttributeParam = exports.AttributeParam = exports.isAttributeAttribute = exports.AttributeAttribute = exports.isAttributeArg = exports.AttributeArg = exports.isAttribute = exports.Attribute = exports.isArrayExpr = exports.ArrayExpr = exports.isArgument = exports.Argument = exports.isTypeDeclaration = exports.TypeDeclaration = exports.isReferenceTarget = exports.ReferenceTarget = exports.isExpression = exports.Expression = exports.isAbstractDeclaration = exports.AbstractDeclaration = void 0;
8
- exports.reflection = exports.ZModelAstReflection = exports.isUnaryExpr = exports.UnaryExpr = exports.isThisExpr = exports.ThisExpr = exports.isReferenceExpr = exports.ReferenceExpr = exports.isReferenceArg = exports.ReferenceArg = exports.isPluginField = exports.PluginField = exports.isPlugin = exports.Plugin = exports.isObjectExpr = exports.ObjectExpr = exports.isNullExpr = exports.NullExpr = exports.isModel = exports.Model = exports.isMemberAccessExpr = exports.MemberAccessExpr = exports.isLiteralExpr = exports.LiteralExpr = exports.isInvocationExpr = exports.InvocationExpr = exports.isGeneratorField = exports.GeneratorField = exports.isGeneratorDecl = exports.GeneratorDecl = void 0;
7
+ exports.FieldInitializer = exports.isEnumField = exports.EnumField = exports.isEnum = exports.Enum = exports.isDataSourceField = exports.DataSourceField = exports.isDataSource = exports.DataSource = exports.isDataModelFieldType = exports.DataModelFieldType = exports.isDataModelFieldAttribute = exports.DataModelFieldAttribute = exports.isDataModelField = exports.DataModelField = exports.isDataModelAttribute = exports.DataModelAttribute = exports.isDataModel = exports.DataModel = exports.isBinaryExpr = exports.BinaryExpr = exports.isAttributeParamType = exports.AttributeParamType = exports.isAttributeParam = exports.AttributeParam = exports.isAttributeArg = exports.AttributeArg = exports.isAttribute = exports.Attribute = exports.isArrayExpr = exports.ArrayExpr = exports.isArgument = exports.Argument = exports.isTypeDeclaration = exports.TypeDeclaration = exports.isRegularID = exports.isReferenceTarget = exports.ReferenceTarget = exports.isQualifiedName = exports.isInternalAttributeName = exports.isExpressionType = exports.isExpression = exports.Expression = exports.isDataModelFieldAttributeName = exports.isDataModelAttributeName = exports.isBuiltinType = exports.isBoolean = exports.isAttributeName = exports.isAbstractDeclaration = exports.AbstractDeclaration = void 0;
8
+ exports.reflection = exports.ZModelAstReflection = exports.isUnsupportedFieldType = exports.UnsupportedFieldType = exports.isUnaryExpr = exports.UnaryExpr = exports.isThisExpr = exports.ThisExpr = exports.isReferenceExpr = exports.ReferenceExpr = exports.isReferenceArg = exports.ReferenceArg = exports.isPluginField = exports.PluginField = exports.isPlugin = exports.Plugin = exports.isObjectExpr = exports.ObjectExpr = exports.isNullExpr = exports.NullExpr = exports.isModelImport = exports.ModelImport = exports.isModel = exports.Model = exports.isMemberAccessExpr = exports.MemberAccessExpr = exports.isLiteralExpr = exports.LiteralExpr = exports.isInvocationExpr = exports.InvocationExpr = exports.isInternalAttribute = exports.InternalAttribute = exports.isGeneratorField = exports.GeneratorField = exports.isGeneratorDecl = exports.GeneratorDecl = exports.isFunctionParamType = exports.FunctionParamType = exports.isFunctionParam = exports.FunctionParam = exports.isFunctionDecl = exports.FunctionDecl = exports.isFieldInitializer = void 0;
9
9
  /* eslint-disable */
10
10
  const langium_1 = require("langium");
11
11
  exports.AbstractDeclaration = 'AbstractDeclaration';
@@ -13,16 +13,52 @@ function isAbstractDeclaration(item) {
13
13
  return exports.reflection.isInstance(item, exports.AbstractDeclaration);
14
14
  }
15
15
  exports.isAbstractDeclaration = isAbstractDeclaration;
16
+ function isAttributeName(item) {
17
+ return isDataModelAttributeName(item) || isDataModelFieldAttributeName(item) || isInternalAttributeName(item);
18
+ }
19
+ exports.isAttributeName = isAttributeName;
20
+ function isBoolean(item) {
21
+ return typeof item === 'boolean';
22
+ }
23
+ exports.isBoolean = isBoolean;
24
+ function isBuiltinType(item) {
25
+ return item === 'String' || item === 'Boolean' || item === 'Int' || item === 'BigInt' || item === 'Float' || item === 'Decimal' || item === 'DateTime' || item === 'Json' || item === 'Bytes';
26
+ }
27
+ exports.isBuiltinType = isBuiltinType;
28
+ function isDataModelAttributeName(item) {
29
+ return typeof item === 'string';
30
+ }
31
+ exports.isDataModelAttributeName = isDataModelAttributeName;
32
+ function isDataModelFieldAttributeName(item) {
33
+ return typeof item === 'string';
34
+ }
35
+ exports.isDataModelFieldAttributeName = isDataModelFieldAttributeName;
16
36
  exports.Expression = 'Expression';
17
37
  function isExpression(item) {
18
38
  return exports.reflection.isInstance(item, exports.Expression);
19
39
  }
20
40
  exports.isExpression = isExpression;
41
+ function isExpressionType(item) {
42
+ return item === 'String' || item === 'Int' || item === 'Float' || item === 'Boolean' || item === 'DateTime' || item === 'Null' || item === 'Object' || item === 'Any' || item === 'Unsupported';
43
+ }
44
+ exports.isExpressionType = isExpressionType;
45
+ function isInternalAttributeName(item) {
46
+ return typeof item === 'string';
47
+ }
48
+ exports.isInternalAttributeName = isInternalAttributeName;
49
+ function isQualifiedName(item) {
50
+ return typeof item === 'string';
51
+ }
52
+ exports.isQualifiedName = isQualifiedName;
21
53
  exports.ReferenceTarget = 'ReferenceTarget';
22
54
  function isReferenceTarget(item) {
23
55
  return exports.reflection.isInstance(item, exports.ReferenceTarget);
24
56
  }
25
57
  exports.isReferenceTarget = isReferenceTarget;
58
+ function isRegularID(item) {
59
+ return item === 'model' || item === 'enum' || item === 'attribute' || item === 'datasource' || item === 'plugin' || item === 'abstract' || item === 'in' || item === 'sort' || (typeof item === 'string' && (/[_a-zA-Z][\w_]*/.test(item)));
60
+ }
61
+ exports.isRegularID = isRegularID;
26
62
  exports.TypeDeclaration = 'TypeDeclaration';
27
63
  function isTypeDeclaration(item) {
28
64
  return exports.reflection.isInstance(item, exports.TypeDeclaration);
@@ -48,11 +84,6 @@ function isAttributeArg(item) {
48
84
  return exports.reflection.isInstance(item, exports.AttributeArg);
49
85
  }
50
86
  exports.isAttributeArg = isAttributeArg;
51
- exports.AttributeAttribute = 'AttributeAttribute';
52
- function isAttributeAttribute(item) {
53
- return exports.reflection.isInstance(item, exports.AttributeAttribute);
54
- }
55
- exports.isAttributeAttribute = isAttributeAttribute;
56
87
  exports.AttributeParam = 'AttributeParam';
57
88
  function isAttributeParam(item) {
58
89
  return exports.reflection.isInstance(item, exports.AttributeParam);
@@ -143,6 +174,11 @@ function isGeneratorField(item) {
143
174
  return exports.reflection.isInstance(item, exports.GeneratorField);
144
175
  }
145
176
  exports.isGeneratorField = isGeneratorField;
177
+ exports.InternalAttribute = 'InternalAttribute';
178
+ function isInternalAttribute(item) {
179
+ return exports.reflection.isInstance(item, exports.InternalAttribute);
180
+ }
181
+ exports.isInternalAttribute = isInternalAttribute;
146
182
  exports.InvocationExpr = 'InvocationExpr';
147
183
  function isInvocationExpr(item) {
148
184
  return exports.reflection.isInstance(item, exports.InvocationExpr);
@@ -163,6 +199,11 @@ function isModel(item) {
163
199
  return exports.reflection.isInstance(item, exports.Model);
164
200
  }
165
201
  exports.isModel = isModel;
202
+ exports.ModelImport = 'ModelImport';
203
+ function isModelImport(item) {
204
+ return exports.reflection.isInstance(item, exports.ModelImport);
205
+ }
206
+ exports.isModelImport = isModelImport;
166
207
  exports.NullExpr = 'NullExpr';
167
208
  function isNullExpr(item) {
168
209
  return exports.reflection.isInstance(item, exports.NullExpr);
@@ -203,9 +244,14 @@ function isUnaryExpr(item) {
203
244
  return exports.reflection.isInstance(item, exports.UnaryExpr);
204
245
  }
205
246
  exports.isUnaryExpr = isUnaryExpr;
247
+ exports.UnsupportedFieldType = 'UnsupportedFieldType';
248
+ function isUnsupportedFieldType(item) {
249
+ return exports.reflection.isInstance(item, exports.UnsupportedFieldType);
250
+ }
251
+ exports.isUnsupportedFieldType = isUnsupportedFieldType;
206
252
  class ZModelAstReflection extends langium_1.AbstractAstReflection {
207
253
  getAllTypes() {
208
- return ['AbstractDeclaration', 'Argument', 'ArrayExpr', 'Attribute', 'AttributeArg', 'AttributeAttribute', 'AttributeParam', 'AttributeParamType', 'BinaryExpr', 'DataModel', 'DataModelAttribute', 'DataModelField', 'DataModelFieldAttribute', 'DataModelFieldType', 'DataSource', 'DataSourceField', 'Enum', 'EnumField', 'Expression', 'FieldInitializer', 'FunctionDecl', 'FunctionParam', 'FunctionParamType', 'GeneratorDecl', 'GeneratorField', 'InvocationExpr', 'LiteralExpr', 'MemberAccessExpr', 'Model', 'NullExpr', 'ObjectExpr', 'Plugin', 'PluginField', 'ReferenceArg', 'ReferenceExpr', 'ReferenceTarget', 'ThisExpr', 'TypeDeclaration', 'UnaryExpr'];
254
+ return ['AbstractDeclaration', 'Argument', 'ArrayExpr', 'Attribute', 'AttributeArg', 'AttributeParam', 'AttributeParamType', 'BinaryExpr', 'DataModel', 'DataModelAttribute', 'DataModelField', 'DataModelFieldAttribute', 'DataModelFieldType', 'DataSource', 'DataSourceField', 'Enum', 'EnumField', 'Expression', 'FieldInitializer', 'FunctionDecl', 'FunctionParam', 'FunctionParamType', 'GeneratorDecl', 'GeneratorField', 'InternalAttribute', 'InvocationExpr', 'LiteralExpr', 'MemberAccessExpr', 'Model', 'ModelImport', 'NullExpr', 'ObjectExpr', 'Plugin', 'PluginField', 'ReferenceArg', 'ReferenceExpr', 'ReferenceTarget', 'ThisExpr', 'TypeDeclaration', 'UnaryExpr', 'UnsupportedFieldType'];
209
255
  }
210
256
  computeIsSubtype(subtype, supertype) {
211
257
  switch (subtype) {
@@ -245,16 +291,19 @@ class ZModelAstReflection extends langium_1.AbstractAstReflection {
245
291
  getReferenceType(refInfo) {
246
292
  const referenceId = `${refInfo.container.$type}:${refInfo.property}`;
247
293
  switch (referenceId) {
248
- case 'AttributeAttribute:decl':
249
- case 'DataModelAttribute:decl':
250
- case 'DataModelFieldAttribute:decl': {
251
- return exports.Attribute;
252
- }
253
294
  case 'AttributeParamType:reference':
254
295
  case 'DataModelFieldType:reference':
255
296
  case 'FunctionParamType:reference': {
256
297
  return exports.TypeDeclaration;
257
298
  }
299
+ case 'DataModel:superTypes': {
300
+ return exports.DataModel;
301
+ }
302
+ case 'DataModelAttribute:decl':
303
+ case 'DataModelFieldAttribute:decl':
304
+ case 'InternalAttribute:decl': {
305
+ return exports.Attribute;
306
+ }
258
307
  case 'InvocationExpr:function': {
259
308
  return exports.FunctionDecl;
260
309
  }
@@ -288,14 +337,6 @@ class ZModelAstReflection extends langium_1.AbstractAstReflection {
288
337
  ]
289
338
  };
290
339
  }
291
- case 'AttributeAttribute': {
292
- return {
293
- name: 'AttributeAttribute',
294
- mandatory: [
295
- { name: 'args', type: 'array' }
296
- ]
297
- };
298
- }
299
340
  case 'AttributeParam': {
300
341
  return {
301
342
  name: 'AttributeParam',
@@ -319,7 +360,10 @@ class ZModelAstReflection extends langium_1.AbstractAstReflection {
319
360
  mandatory: [
320
361
  { name: 'attributes', type: 'array' },
321
362
  { name: 'comments', type: 'array' },
322
- { name: 'fields', type: 'array' }
363
+ { name: 'fields', type: 'array' },
364
+ { name: 'isAbstract', type: 'boolean' },
365
+ { name: 'isView', type: 'boolean' },
366
+ { name: 'superTypes', type: 'array' }
323
367
  ]
324
368
  };
325
369
  }
@@ -388,6 +432,7 @@ class ZModelAstReflection extends langium_1.AbstractAstReflection {
388
432
  return {
389
433
  name: 'FunctionDecl',
390
434
  mandatory: [
435
+ { name: 'attributes', type: 'array' },
391
436
  { name: 'params', type: 'array' }
392
437
  ]
393
438
  };
@@ -416,19 +461,19 @@ class ZModelAstReflection extends langium_1.AbstractAstReflection {
416
461
  ]
417
462
  };
418
463
  }
419
- case 'InvocationExpr': {
464
+ case 'InternalAttribute': {
420
465
  return {
421
- name: 'InvocationExpr',
466
+ name: 'InternalAttribute',
422
467
  mandatory: [
423
468
  { name: 'args', type: 'array' }
424
469
  ]
425
470
  };
426
471
  }
427
- case 'LiteralExpr': {
472
+ case 'InvocationExpr': {
428
473
  return {
429
- name: 'LiteralExpr',
474
+ name: 'InvocationExpr',
430
475
  mandatory: [
431
- { name: 'value', type: 'boolean' }
476
+ { name: 'args', type: 'array' }
432
477
  ]
433
478
  };
434
479
  }
@@ -436,7 +481,8 @@ class ZModelAstReflection extends langium_1.AbstractAstReflection {
436
481
  return {
437
482
  name: 'Model',
438
483
  mandatory: [
439
- { name: 'declarations', type: 'array' }
484
+ { name: 'declarations', type: 'array' },
485
+ { name: 'imports', type: 'array' }
440
486
  ]
441
487
  };
442
488
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ast.js","sourceRoot":"","sources":["../../src/generated/ast.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ast.js","sourceRoot":"","sources":["../../src/generated/ast.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /******************************************************************************
2
- * This file was generated by langium-cli 1.1.0.
2
+ * This file was generated by langium-cli 1.2.0.
3
3
  * DO NOT EDIT MANUALLY!
4
4
  ******************************************************************************/
5
5
  import { Grammar } from 'langium';