@zenstackhq/sdk 2.10.1 → 2.11.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/code-gen.js CHANGED
@@ -49,6 +49,10 @@ function saveProject(project) {
49
49
  */
50
50
  function emitProject(project) {
51
51
  return __awaiter(this, void 0, void 0, function* () {
52
+ // ignore type checking for all source files
53
+ for (const sf of project.getSourceFiles()) {
54
+ sf.insertStatements(0, '// @ts-nocheck');
55
+ }
52
56
  const errors = project.getPreEmitDiagnostics().filter((d) => d.getCategory() === ts_morph_1.DiagnosticCategory.Error);
53
57
  if (errors.length > 0) {
54
58
  console.error('Error compiling generated code:');
package/code-gen.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"code-gen.js","sourceRoot":"","sources":["../src/code-gen.ts"],"names":[],"mappings":";;;;;;;;;;;AAMA,sCAcC;AAED,wCAaC;AAKD,kCAGC;AAKD,kCAkBC;AAlED,uCAA8G;AAC9G,mCAAsC;AAEtC;;GAEG;AACH,SAAgB,aAAa,CAAC,OAAyB;IACnD,OAAO,IAAI,kBAAO,CAAC;QACf,eAAe,kBACX,MAAM,EAAE,uBAAY,CAAC,MAAM,EAC3B,MAAM,EAAE,qBAAU,CAAC,QAAQ,EAC3B,eAAe,EAAE,IAAI,EACrB,WAAW,EAAE,IAAI,EACjB,MAAM,EAAE,IAAI,EACZ,YAAY,EAAE,IAAI,EAClB,aAAa,EAAE,IAAI,EACnB,aAAa,EAAE,KAAK,IACjB,OAAO,CACb;KACJ,CAAC,CAAC;AACP,CAAC;AAED,SAAgB,cAAc,CAAC,UAAsB;IACjD,UAAU,CAAC,eAAe,CACtB;;;;;;;MAOF,UAAU,CAAC,OAAO,EAAE,EAAE,CACvB,CAAC;IACF,UAAU,CAAC,UAAU,EAAE,CAAC;IACxB,UAAU,CAAC,QAAQ,EAAE,CAAC;AAC1B,CAAC;AAED;;GAEG;AACH,SAAsB,WAAW,CAAC,OAAgB;;QAC9C,OAAO,CAAC,cAAc,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QACjD,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;IACzB,CAAC;CAAA;AAED;;GAEG;AACH,SAAsB,WAAW,CAAC,OAAgB;;QAC9C,MAAM,MAAM,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,6BAAkB,CAAC,KAAK,CAAC,CAAC;QAC3G,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;YACjD,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,oCAAoC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;YACjF,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;YACrB,MAAM,IAAI,mBAAW,CAAC,EAAE,EAAE,gCAAgC,CAAC,CAAC;QAChE,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;QAEpC,MAAM,UAAU,GAAG,MAAM,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,6BAAkB,CAAC,KAAK,CAAC,CAAC;QACvG,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,OAAO,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;YACrD,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,oCAAoC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;YACrF,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;YACrB,MAAM,IAAI,mBAAW,CAAC,EAAE,EAAE,+BAA+B,CAAC,CAAC;QAC/D,CAAC;IACL,CAAC;CAAA"}
1
+ {"version":3,"file":"code-gen.js","sourceRoot":"","sources":["../src/code-gen.ts"],"names":[],"mappings":";;;;;;;;;;;AAMA,sCAcC;AAED,wCAaC;AAKD,kCAGC;AAKD,kCAuBC;AAvED,uCAA8G;AAC9G,mCAAsC;AAEtC;;GAEG;AACH,SAAgB,aAAa,CAAC,OAAyB;IACnD,OAAO,IAAI,kBAAO,CAAC;QACf,eAAe,kBACX,MAAM,EAAE,uBAAY,CAAC,MAAM,EAC3B,MAAM,EAAE,qBAAU,CAAC,QAAQ,EAC3B,eAAe,EAAE,IAAI,EACrB,WAAW,EAAE,IAAI,EACjB,MAAM,EAAE,IAAI,EACZ,YAAY,EAAE,IAAI,EAClB,aAAa,EAAE,IAAI,EACnB,aAAa,EAAE,KAAK,IACjB,OAAO,CACb;KACJ,CAAC,CAAC;AACP,CAAC;AAED,SAAgB,cAAc,CAAC,UAAsB;IACjD,UAAU,CAAC,eAAe,CACtB;;;;;;;MAOF,UAAU,CAAC,OAAO,EAAE,EAAE,CACvB,CAAC;IACF,UAAU,CAAC,UAAU,EAAE,CAAC;IACxB,UAAU,CAAC,QAAQ,EAAE,CAAC;AAC1B,CAAC;AAED;;GAEG;AACH,SAAsB,WAAW,CAAC,OAAgB;;QAC9C,OAAO,CAAC,cAAc,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QACjD,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;IACzB,CAAC;CAAA;AAED;;GAEG;AACH,SAAsB,WAAW,CAAC,OAAgB;;QAC9C,4CAA4C;QAC5C,KAAK,MAAM,EAAE,IAAI,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC;YACxC,EAAE,CAAC,gBAAgB,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC;QAC7C,CAAC;QAED,MAAM,MAAM,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,6BAAkB,CAAC,KAAK,CAAC,CAAC;QAC3G,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;YACjD,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,oCAAoC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;YACjF,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;YACrB,MAAM,IAAI,mBAAW,CAAC,EAAE,EAAE,gCAAgC,CAAC,CAAC;QAChE,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;QAEpC,MAAM,UAAU,GAAG,MAAM,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,6BAAkB,CAAC,KAAK,CAAC,CAAC;QACvG,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,OAAO,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;YACrD,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,oCAAoC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;YACrF,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;YACrB,MAAM,IAAI,mBAAW,CAAC,EAAE,EAAE,+BAA+B,CAAC,CAAC;QAC/D,CAAC;IACL,CAAC;CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zenstackhq/sdk",
3
- "version": "2.10.1",
3
+ "version": "2.11.0",
4
4
  "description": "ZenStack plugin development SDK",
5
5
  "main": "index.js",
6
6
  "publishConfig": {
@@ -11,16 +11,16 @@
11
11
  "author": "",
12
12
  "license": "MIT",
13
13
  "dependencies": {
14
- "@prisma/generator-helper": "6.0.x",
15
- "@prisma/internals": "6.0.x",
14
+ "@prisma/generator-helper": "6.1.x",
15
+ "@prisma/internals": "6.1.x",
16
16
  "langium": "1.3.1",
17
17
  "lower-case-first": "^2.0.2",
18
18
  "semver": "^7.5.2",
19
19
  "ts-morph": "^16.0.0",
20
20
  "ts-pattern": "^4.3.0",
21
21
  "upper-case-first": "^2.0.2",
22
- "@zenstackhq/language": "2.10.1",
23
- "@zenstackhq/runtime": "2.10.1"
22
+ "@zenstackhq/language": "2.11.0",
23
+ "@zenstackhq/runtime": "2.11.0"
24
24
  },
25
25
  "devDependencies": {
26
26
  "@types/semver": "^7.3.13"
@@ -46,6 +46,9 @@ export declare class TypeScriptExpressionTransformer {
46
46
  private _hasSome;
47
47
  private _isEmpty;
48
48
  private _check;
49
+ private toStringWithCaseChange;
50
+ private _currentModel;
51
+ private _currentOperation;
49
52
  private ensureBoolean;
50
53
  private ensureBooleanTernary;
51
54
  private reference;
@@ -8,6 +8,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.TypeScriptExpressionTransformer = exports.TypeScriptExpressionTransformerError = void 0;
10
10
  const ast_1 = require("@zenstackhq/language/ast");
11
+ const langium_1 = require("langium");
11
12
  const ts_pattern_1 = require("ts-pattern");
12
13
  const constants_1 = require("./constants");
13
14
  const names_1 = require("./names");
@@ -114,7 +115,7 @@ class TypeScriptExpressionTransformer {
114
115
  throw new TypeScriptExpressionTransformerError(`Unsupported function: ${funcName}`);
115
116
  }
116
117
  const args = expr.args.map((arg) => arg.value);
117
- return handler.value.call(this, args, normalizeUndefined);
118
+ return handler.value.call(this, expr, args, normalizeUndefined);
118
119
  }
119
120
  // #region function invocation handlers
120
121
  // arguments have been type-checked
@@ -124,7 +125,7 @@ class TypeScriptExpressionTransformer {
124
125
  _now() {
125
126
  return `(new Date())`;
126
127
  }
127
- _length(args) {
128
+ _length(_invocation, args) {
128
129
  const field = this.transform(args[0], false);
129
130
  const min = (0, utils_1.getLiteral)(args[1]);
130
131
  const max = (0, utils_1.getLiteral)(args[2]);
@@ -140,7 +141,7 @@ class TypeScriptExpressionTransformer {
140
141
  }
141
142
  return result;
142
143
  }
143
- _contains(args, normalizeUndefined) {
144
+ _contains(_invocation, args, normalizeUndefined) {
144
145
  const field = this.transform(args[0], false);
145
146
  const caseInsensitive = (0, utils_1.getLiteral)(args[2]) === true;
146
147
  let result;
@@ -152,51 +153,51 @@ class TypeScriptExpressionTransformer {
152
153
  }
153
154
  return this.ensureBoolean(result);
154
155
  }
155
- _startsWith(args, normalizeUndefined) {
156
+ _startsWith(_invocation, args, normalizeUndefined) {
156
157
  const field = this.transform(args[0], false);
157
158
  const result = `${field}?.startsWith(${this.transform(args[1], normalizeUndefined)})`;
158
159
  return this.ensureBoolean(result);
159
160
  }
160
- _endsWith(args, normalizeUndefined) {
161
+ _endsWith(_invocation, args, normalizeUndefined) {
161
162
  const field = this.transform(args[0], false);
162
163
  const result = `${field}?.endsWith(${this.transform(args[1], normalizeUndefined)})`;
163
164
  return this.ensureBoolean(result);
164
165
  }
165
- _regex(args) {
166
+ _regex(_invocation, args) {
166
167
  const field = this.transform(args[0], false);
167
168
  const pattern = (0, utils_1.getLiteral)(args[1]);
168
169
  return this.ensureBooleanTernary(args[0], field, `new RegExp(${JSON.stringify(pattern)}).test(${field})`);
169
170
  }
170
- _email(args) {
171
+ _email(_invocation, args) {
171
172
  const field = this.transform(args[0], false);
172
173
  return this.ensureBooleanTernary(args[0], field, `z.string().email().safeParse(${field}).success`);
173
174
  }
174
- _datetime(args) {
175
+ _datetime(_invocation, args) {
175
176
  const field = this.transform(args[0], false);
176
177
  return this.ensureBooleanTernary(args[0], field, `z.string().datetime({ offset: true }).safeParse(${field}).success`);
177
178
  }
178
- _url(args) {
179
+ _url(_invocation, args) {
179
180
  const field = this.transform(args[0], false);
180
181
  return this.ensureBooleanTernary(args[0], field, `z.string().url().safeParse(${field}).success`);
181
182
  }
182
- _has(args, normalizeUndefined) {
183
+ _has(_invocation, args, normalizeUndefined) {
183
184
  const field = this.transform(args[0], false);
184
185
  const result = `${field}?.includes(${this.transform(args[1], normalizeUndefined)})`;
185
186
  return this.ensureBoolean(result);
186
187
  }
187
- _hasEvery(args, normalizeUndefined) {
188
+ _hasEvery(_invocation, args, normalizeUndefined) {
188
189
  const field = this.transform(args[0], false);
189
190
  return this.ensureBooleanTernary(args[0], field, `${this.transform(args[1], normalizeUndefined)}?.every((item) => ${field}?.includes(item))`);
190
191
  }
191
- _hasSome(args, normalizeUndefined) {
192
+ _hasSome(_invocation, args, normalizeUndefined) {
192
193
  const field = this.transform(args[0], false);
193
194
  return this.ensureBooleanTernary(args[0], field, `${this.transform(args[1], normalizeUndefined)}?.some((item) => ${field}?.includes(item))`);
194
195
  }
195
- _isEmpty(args) {
196
+ _isEmpty(_invocation, args) {
196
197
  const field = this.transform(args[0], false);
197
198
  return `(!${field} || ${field}?.length === 0)`;
198
199
  }
199
- _check(args) {
200
+ _check(_invocation, args) {
200
201
  var _a, _b;
201
202
  if (!(0, utils_1.isDataModelFieldReference)(args[0])) {
202
203
  throw new TypeScriptExpressionTransformerError(`First argument of check() must be a field`);
@@ -226,6 +227,43 @@ class TypeScriptExpressionTransformer {
226
227
  const entityCheckerFunc = (0, names_1.getEntityCheckerFunctionName)(targetModel, undefined, false, operation);
227
228
  return `${entityCheckerFunc}(input.${fieldRef.target.$refText}, context)`;
228
229
  }
230
+ toStringWithCaseChange(value, casing) {
231
+ if (!value) {
232
+ return "''";
233
+ }
234
+ return (0, ts_pattern_1.match)(casing)
235
+ .with('original', () => `'${value}'`)
236
+ .with('upper', () => `'${value.toUpperCase()}'`)
237
+ .with('lower', () => `'${value.toLowerCase()}'`)
238
+ .with('capitalize', () => `'${value.charAt(0).toUpperCase() + value.slice(1)}'`)
239
+ .with('uncapitalize', () => `'${value.charAt(0).toLowerCase() + value.slice(1)}'`)
240
+ .exhaustive();
241
+ }
242
+ _currentModel(invocation, args) {
243
+ let casing = 'original';
244
+ if (args[0]) {
245
+ casing = (0, utils_1.getLiteral)(args[0]);
246
+ }
247
+ const containingModel = (0, langium_1.getContainerOfType)(invocation, ast_1.isDataModel);
248
+ if (!containingModel) {
249
+ throw new TypeScriptExpressionTransformerError('currentModel() must be called inside a model');
250
+ }
251
+ return this.toStringWithCaseChange(containingModel.name, casing);
252
+ }
253
+ _currentOperation(_invocation, args) {
254
+ let casing = 'original';
255
+ if (args[0]) {
256
+ casing = (0, utils_1.getLiteral)(args[0]);
257
+ }
258
+ if (!this.options.operationContext) {
259
+ throw new TypeScriptExpressionTransformerError('currentOperation() must be called inside an access policy rule');
260
+ }
261
+ let contextOperation = this.options.operationContext;
262
+ if (contextOperation === 'postUpdate') {
263
+ contextOperation = 'update';
264
+ }
265
+ return this.toStringWithCaseChange(contextOperation, casing);
266
+ }
229
267
  ensureBoolean(expr) {
230
268
  if (this.options.context === constants_1.ExpressionContext.ValidationRule) {
231
269
  // all fields are optional in a validation context, so we treat undefined
@@ -444,4 +482,10 @@ __decorate([
444
482
  __decorate([
445
483
  func('check')
446
484
  ], TypeScriptExpressionTransformer.prototype, "_check", null);
485
+ __decorate([
486
+ func('currentModel')
487
+ ], TypeScriptExpressionTransformer.prototype, "_currentModel", null);
488
+ __decorate([
489
+ func('currentOperation')
490
+ ], TypeScriptExpressionTransformer.prototype, "_currentOperation", null);
447
491
  //# sourceMappingURL=typescript-expression-transformer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"typescript-expression-transformer.js","sourceRoot":"","sources":["../src/typescript-expression-transformer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"typescript-expression-transformer.js","sourceRoot":"","sources":["../src/typescript-expression-transformer.ts"],"names":[],"mappings":"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"}
package/utils.d.ts CHANGED
@@ -72,7 +72,7 @@ export declare function isDiscriminatorField(field: DataModelField): boolean;
72
72
  export declare function getIdFields(decl: DataModel | TypeDef): (DataModelField | TypeDefField)[];
73
73
  export declare function getFieldReference(expr: Expression): DataModelField | TypeDefField | undefined;
74
74
  export declare function getModelFieldsWithBases(model: DataModel, includeDelegate?: boolean): DataModelField[];
75
- export declare function getRecursiveBases(dataModel: DataModel, includeDelegate?: boolean): DataModel[];
75
+ export declare function getRecursiveBases(dataModel: DataModel, includeDelegate?: boolean, seen?: Set<DataModel>): DataModel[];
76
76
  export declare function ensureEmptyDir(dir: string): void;
77
77
  /**
78
78
  * Gets the data source provider from the given model.
package/utils.js CHANGED
@@ -482,8 +482,12 @@ function getModelFieldsWithBases(model, includeDelegate = true) {
482
482
  return [...model.fields, ...getRecursiveBases(model, includeDelegate).flatMap((base) => base.fields)];
483
483
  }
484
484
  }
485
- function getRecursiveBases(dataModel, includeDelegate = true) {
485
+ function getRecursiveBases(dataModel, includeDelegate = true, seen = new Set()) {
486
486
  const result = [];
487
+ if (seen.has(dataModel)) {
488
+ return result;
489
+ }
490
+ seen.add(dataModel);
487
491
  dataModel.superTypes.forEach((superType) => {
488
492
  const baseDecl = superType.ref;
489
493
  if (baseDecl) {
@@ -491,7 +495,7 @@ function getRecursiveBases(dataModel, includeDelegate = true) {
491
495
  return;
492
496
  }
493
497
  result.push(baseDecl);
494
- result.push(...getRecursiveBases(baseDecl, includeDelegate));
498
+ result.push(...getRecursiveBases(baseDecl, includeDelegate, seen));
495
499
  }
496
500
  });
497
501
  return result;
package/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}