@zenstackhq/language 3.0.0-beta.25 → 3.0.0-beta.27

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/index.d.cts CHANGED
@@ -1,4 +1,4 @@
1
- import { Model, DataSource, DataModel, TypeDef, Enum, Attribute, Expression, InvocationExpr, FunctionDecl } from './ast.cjs';
1
+ import { Model, DataSource, GeneratorDecl, DataModel, TypeDef, Enum, Attribute, Expression, InvocationExpr, FunctionDecl } from './ast.cjs';
2
2
  import { ValidationAcceptor, Module, DeepPartial, AstNode } from 'langium';
3
3
  import { LangiumServices, PartialLangiumServices, LangiumSharedServices, DefaultSharedModuleContext } from 'langium/lsp';
4
4
 
@@ -40,6 +40,7 @@ declare class ZModelValidator {
40
40
  constructor(services: ZModelServices);
41
41
  checkModel(node: Model, accept: ValidationAcceptor): void;
42
42
  checkDataSource(node: DataSource, accept: ValidationAcceptor): void;
43
+ checkGenerator(node: GeneratorDecl, accept: ValidationAcceptor): void;
43
44
  checkDataModel(node: DataModel, accept: ValidationAcceptor): void;
44
45
  checkTypeDef(node: TypeDef, accept: ValidationAcceptor): void;
45
46
  checkEnum(node: Enum, accept: ValidationAcceptor): void;
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { Model, DataSource, DataModel, TypeDef, Enum, Attribute, Expression, InvocationExpr, FunctionDecl } from './ast.js';
1
+ import { Model, DataSource, GeneratorDecl, DataModel, TypeDef, Enum, Attribute, Expression, InvocationExpr, FunctionDecl } from './ast.js';
2
2
  import { ValidationAcceptor, Module, DeepPartial, AstNode } from 'langium';
3
3
  import { LangiumServices, PartialLangiumServices, LangiumSharedServices, DefaultSharedModuleContext } from 'langium/lsp';
4
4
 
@@ -40,6 +40,7 @@ declare class ZModelValidator {
40
40
  constructor(services: ZModelServices);
41
41
  checkModel(node: Model, accept: ValidationAcceptor): void;
42
42
  checkDataSource(node: DataSource, accept: ValidationAcceptor): void;
43
+ checkGenerator(node: GeneratorDecl, accept: ValidationAcceptor): void;
43
44
  checkDataModel(node: DataModel, accept: ValidationAcceptor): void;
44
45
  checkTypeDef(node: TypeDef, accept: ValidationAcceptor): void;
45
46
  checkEnum(node: Enum, accept: ValidationAcceptor): void;
package/dist/index.js CHANGED
@@ -7010,6 +7010,13 @@ var FunctionInvocationValidator = class {
7010
7010
  }
7011
7011
  return true;
7012
7012
  }
7013
+ _checkAuth(expr, accept) {
7014
+ if (!expr.$resolvedType) {
7015
+ accept("error", 'cannot resolve `auth()` - make sure you have a model or type with `@auth` attribute or named "User"', {
7016
+ node: expr
7017
+ });
7018
+ }
7019
+ }
7013
7020
  _checkLength(expr, accept) {
7014
7021
  const msg = "argument must be a string or list field";
7015
7022
  const fieldArg = expr.args[0].value;
@@ -7119,6 +7126,15 @@ var FunctionInvocationValidator = class {
7119
7126
  }
7120
7127
  }
7121
7128
  };
7129
+ _ts_decorate2([
7130
+ func("auth"),
7131
+ _ts_metadata2("design:type", Function),
7132
+ _ts_metadata2("design:paramtypes", [
7133
+ typeof InvocationExpr === "undefined" ? Object : InvocationExpr,
7134
+ typeof ValidationAcceptor === "undefined" ? Object : ValidationAcceptor
7135
+ ]),
7136
+ _ts_metadata2("design:returntype", void 0)
7137
+ ], FunctionInvocationValidator.prototype, "_checkAuth", null);
7122
7138
  _ts_decorate2([
7123
7139
  func("length"),
7124
7140
  _ts_metadata2("design:type", Function),
@@ -7227,6 +7243,7 @@ function registerValidationChecks(services) {
7227
7243
  const checks = {
7228
7244
  Model: validator.checkModel,
7229
7245
  DataSource: validator.checkDataSource,
7246
+ GeneratorDecl: validator.checkGenerator,
7230
7247
  DataModel: validator.checkDataModel,
7231
7248
  TypeDef: validator.checkTypeDef,
7232
7249
  Enum: validator.checkEnum,
@@ -7252,6 +7269,11 @@ var ZModelValidator = class {
7252
7269
  checkDataSource(node, accept) {
7253
7270
  new DataSourceValidator().validate(node, accept);
7254
7271
  }
7272
+ checkGenerator(node, accept) {
7273
+ accept("warning", '"generator" is not used by ZenStack and should be removed.', {
7274
+ node
7275
+ });
7276
+ }
7255
7277
  checkDataModel(node, accept) {
7256
7278
  new DataModelValidator().validate(node, accept);
7257
7279
  }
@@ -8708,10 +8730,7 @@ var ZModelScopeProvider = class extends DefaultScopeProvider {
8708
8730
  const referenceType = this.reflection.getReferenceType(context);
8709
8731
  const globalScope = this.getGlobalScope(referenceType, context);
8710
8732
  const node = context.container;
8711
- const allowTypeDefScope = (
8712
- // isAuthOrAuthMemberAccess(node.operand) ||
8713
- !!AstUtils7.getContainerOfType(node, isTypeDef)
8714
- );
8733
+ const allowTypeDefScope = isAuthOrAuthMemberAccess(node.operand) || !!AstUtils7.getContainerOfType(node, isTypeDef);
8715
8734
  return match5(node.operand).when(isReferenceExpr, (operand) => {
8716
8735
  const ref = operand.target.ref;
8717
8736
  if (isDataField(ref)) {
@@ -8740,7 +8759,7 @@ var ZModelScopeProvider = class extends DefaultScopeProvider {
8740
8759
  const referenceType = this.reflection.getReferenceType(context);
8741
8760
  const globalScope = this.getGlobalScope(referenceType, context);
8742
8761
  const collection = collectionPredicate.left;
8743
- const allowTypeDefScope = false;
8762
+ const allowTypeDefScope = isAuthOrAuthMemberAccess(collection);
8744
8763
  return match5(collection).when(isReferenceExpr, (expr) => {
8745
8764
  const ref = expr.target.ref;
8746
8765
  if (isDataField(ref)) {