@zenstackhq/language 3.6.4 → 3.7.0

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.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  import { $ as ZModelAstReflection, $t as isThisExpr, At as isFunctionParam, B as Plugin, Bt as isNullExpr, C as EnumField, Ct as isDataSource, D as FunctionParam, E as FunctionDecl, F as Model, Ft as isLiteralExpr, G as ReferenceExpr, I as ModelImport, It as isMemberAccessExpr, J as ThisExpr, Jt as isReferenceExpr, L as NullExpr, Mt as isGeneratorDecl, N as MemberAccessExpr, Nt as isInternalAttribute, O as FunctionParamType, Pt as isInvocationExpr, Qt as isStringLiteral, R as NumberLiteral, Rt as isModel, S as Enum, St as isDataModelAttribute, Tt as isEnumField, Ut as isPlugin, V as PluginField, Vt as isNumberLiteral, W as ReferenceArg, Wt as isPluginField, X as TypeDef, Z as UnaryExpr, _ as DataFieldAttribute, a as AttributeArg, at as isAttributeArg, b as DataModelAttribute, bt as isDataFieldType, c as BinaryExpr, d as ConfigArrayExpr, ft as isCollectionPredicateBinding, g as DataField, h as ConfigInvocationExpr, ht as isConfigField, i as Attribute, it as isAttribute, j as InvocationExpr, k as GeneratorDecl, kt as isFunctionDecl, l as BooleanLiteral, o as AttributeParam, p as ConfigField, pt as isConfigArrayExpr, q as StringLiteral, r as ArrayExpr, rt as isArrayExpr, s as AttributeParamType, tn as isTypeDef, tt as isAbstractDeclaration, ut as isBooleanLiteral, vt as isDataField, wt as isEnum, x as DataSource, xt as isDataModel, y as DataModel, yt as isDataFieldAttribute, z as ObjectExpr, zt as isModelImport } from "./ast-DEfhnj8j.mjs";
2
2
  import { BinaryExprOperatorPriority } from "./ast.mjs";
3
- import { A as isBeforeInvocation, B as mapBuiltinTypeToExpressionType, C as getPluginDocuments, D as hasAttribute, E as getUniqueFields, F as isDelegateModel, G as typeAssignable, H as resolveImportUri, I as isEnumFieldReference, J as IssueCodes, K as DB_PROVIDERS_SUPPORTING_LIST_TYPE, L as isFromStdlib, M as isCollectionPredicate, N as isComputedField, O as isAuthInvocation, P as isDataFieldReference, Q as SUPPORTED_PROVIDERS, R as isMemberContainer, T as getStringLiteral, U as resolveTransitiveImports, V as resolveImport, W as resolved, X as SCALAR_TYPES, Z as STD_LIB_MODULE_NAME, _ as getFunctionExpressionContext, a as getAllDeclarationsIncludingImports, b as getModelIdFields, f as getAuthDecl, h as getDocument, j as isCheckInvocation, k as isAuthOrAuthMemberAccess, l as getAttribute, m as getDataModelAndTypeDefs, n as findUpAst, o as getAllFields, p as getContainingDataModel, q as ExpressionContext, r as getAllAttributes, s as getAllLoadedAndReachableDataModelsAndTypeDefs, u as getAttributeArg, v as getLiteral, w as getRecursiveBases, x as getModelUniqueFields, z as isRelationshipField } from "./utils-BB6L7ug2.mjs";
3
+ import { $ as SUPPORTED_PROVIDERS, A as isAuthOrAuthMemberAccess, B as isRelationshipField, D as getUniqueFields, E as getStringLiteral, F as isDataFieldReference, G as resolved, H as resolveImport, I as isDelegateModel, J as ExpressionContext, K as typeAssignable, L as isEnumFieldReference, M as isCheckInvocation, N as isCollectionPredicate, O as hasAttribute, P as isComputedField, Q as STD_LIB_MODULE_NAME, R as isFromStdlib, S as getModelUniqueFields, T as getRecursiveBases, U as resolveImportUri, V as mapBuiltinTypeToExpressionType, W as resolveTransitiveImports, Y as IssueCodes, Z as SCALAR_TYPES, a as getAllDeclarationsIncludingImports, f as getAuthDecl, g as getDocument, h as getDataSourceProvider, j as isBeforeInvocation, k as isAuthInvocation, l as getAttribute, m as getDataModelAndTypeDefs, n as findUpAst, o as getAllFields, p as getContainingDataModel, q as DB_PROVIDERS_SUPPORTING_LIST_TYPE, r as getAllAttributes, s as getAllLoadedAndReachableDataModelsAndTypeDefs, u as getAttributeArg, v as getFunctionExpressionContext, w as getPluginDocuments, x as getModelIdFields, y as getLiteral, z as isMemberContainer } from "./utils-CCU55PfR.mjs";
4
4
  import { createRequire } from "node:module";
5
5
  import { invariant } from "@zenstackhq/common-helpers";
6
6
  import { AstUtils, Cancellation, DefaultCommentProvider, DefaultDocumentBuilder, DefaultLinker, DefaultScopeComputation, DefaultScopeProvider, DefaultWorkspaceManager, DocumentState, EMPTY_SCOPE, JSDocDocumentationProvider, StreamScope, TextDocument, URI, UriUtils, inject, interruptAndCheck, isAstNode, loadGrammarFromJson } from "langium";
@@ -4317,6 +4317,18 @@ var AttributeApplicationValidator = class {
4317
4317
  });
4318
4318
  } else accept("error", `Expected an array of field references`, { node: fields });
4319
4319
  }
4320
+ _checkFuzzy(attr, accept) {
4321
+ const zmodel = AstUtils.getContainerOfType(attr, isModel);
4322
+ if (!zmodel) return;
4323
+ const provider = getDataSourceProvider(zmodel);
4324
+ if (provider && provider !== "postgresql") accept("error", `\`@fuzzy\` is only supported for the \`postgresql\` provider`, { node: attr });
4325
+ }
4326
+ _checkFullText(attr, accept) {
4327
+ const zmodel = AstUtils.getContainerOfType(attr, isModel);
4328
+ if (!zmodel) return;
4329
+ const provider = getDataSourceProvider(zmodel);
4330
+ if (provider && provider !== "postgresql") accept("error", `\`@fullText\` is only supported for the \`postgresql\` provider`, { node: attr });
4331
+ }
4320
4332
  _checkSchema(attr, accept) {
4321
4333
  const schemaName = getStringLiteral(attr.args[0]?.value);
4322
4334
  invariant(schemaName, `@@schema expects a string literal`);
@@ -4370,6 +4382,18 @@ __decorate([
4370
4382
  __decorateMetadata("design:paramtypes", [Object, Object]),
4371
4383
  __decorateMetadata("design:returntype", void 0)
4372
4384
  ], AttributeApplicationValidator.prototype, "_checkConstraint", null);
4385
+ __decorate([
4386
+ check("@fuzzy"),
4387
+ __decorateMetadata("design:type", Function),
4388
+ __decorateMetadata("design:paramtypes", [Object, Object]),
4389
+ __decorateMetadata("design:returntype", void 0)
4390
+ ], AttributeApplicationValidator.prototype, "_checkFuzzy", null);
4391
+ __decorate([
4392
+ check("@fullText"),
4393
+ __decorateMetadata("design:type", Function),
4394
+ __decorateMetadata("design:paramtypes", [Object, Object]),
4395
+ __decorateMetadata("design:returntype", void 0)
4396
+ ], AttributeApplicationValidator.prototype, "_checkFullText", null);
4373
4397
  __decorate([
4374
4398
  check("@@schema"),
4375
4399
  __decorateMetadata("design:type", Function),
@@ -6912,13 +6936,6 @@ async function formatDocument(content) {
6912
6936
  });
6913
6937
  return TextDocument.applyEdits(document.textDocument, edits);
6914
6938
  }
6915
- function getDataSourceProvider(model) {
6916
- const dataSource = model.declarations.find(isDataSource);
6917
- if (!dataSource) return;
6918
- const provider = dataSource?.fields.find((f) => f.name === "provider");
6919
- if (!provider) return;
6920
- return getLiteral(provider.value);
6921
- }
6922
6939
  //#endregion
6923
6940
  export { ZModelCodeGenerator, ZModelLanguageMetaData, ZModelLanguageModule, ZModelSharedModule, createZModelLanguageServices, createZModelServices, formatDocument, loadDocument };
6924
6941