@zenstackhq/sdk 2.0.0-alpha.5 → 2.0.0-alpha.6

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zenstackhq/sdk",
3
- "version": "2.0.0-alpha.5",
3
+ "version": "2.0.0-alpha.6",
4
4
  "description": "ZenStack plugin development SDK",
5
5
  "main": "index.js",
6
6
  "publishConfig": {
@@ -21,8 +21,8 @@
21
21
  "ts-morph": "^16.0.0",
22
22
  "ts-pattern": "^4.3.0",
23
23
  "upper-case-first": "^2.0.2",
24
- "@zenstackhq/runtime": "2.0.0-alpha.5",
25
- "@zenstackhq/language": "2.0.0-alpha.5"
24
+ "@zenstackhq/runtime": "2.0.0-alpha.6",
25
+ "@zenstackhq/language": "2.0.0-alpha.6"
26
26
  },
27
27
  "devDependencies": {
28
28
  "@types/semver": "^7.3.13"
@@ -44,6 +44,7 @@ export declare class TypeScriptExpressionTransformer {
44
44
  private _hasSome;
45
45
  private _isEmpty;
46
46
  private ensureBoolean;
47
+ private ensureBooleanTernary;
47
48
  private reference;
48
49
  private null;
49
50
  private array;
@@ -51,6 +52,7 @@ export declare class TypeScriptExpressionTransformer {
51
52
  private unary;
52
53
  private isModelType;
53
54
  private binary;
55
+ private extractNullComparison;
54
56
  private collectionPredicate;
55
57
  }
56
58
  export {};
@@ -9,6 +9,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.TypeScriptExpressionTransformer = exports.TypeScriptExpressionTransformerError = void 0;
10
10
  const ast_1 = require("@zenstackhq/language/ast");
11
11
  const ts_pattern_1 = require("ts-pattern");
12
+ const constants_1 = require("./constants");
12
13
  const utils_1 = require("./utils");
13
14
  class TypeScriptExpressionTransformerError extends Error {
14
15
  constructor(message) {
@@ -129,15 +130,15 @@ class TypeScriptExpressionTransformer {
129
130
  const max = (0, utils_1.getLiteral)(args[2]);
130
131
  let result;
131
132
  if (min === undefined) {
132
- result = `(${field}?.length > 0)`;
133
+ result = this.ensureBooleanTernary(args[0], field, `${field}?.length > 0`);
133
134
  }
134
135
  else if (max === undefined) {
135
- result = `(${field}?.length >= ${min})`;
136
+ result = this.ensureBooleanTernary(args[0], field, `${field}?.length >= ${min}`);
136
137
  }
137
138
  else {
138
- result = `(${field}?.length >= ${min} && ${field}?.length <= ${max})`;
139
+ result = this.ensureBooleanTernary(args[0], field, `${field}?.length >= ${min} && ${field}?.length <= ${max}`);
139
140
  }
140
- return this.ensureBoolean(result);
141
+ return result;
141
142
  }
142
143
  _contains(args, normalizeUndefined) {
143
144
  const field = this.transform(args[0], false);
@@ -164,19 +165,19 @@ class TypeScriptExpressionTransformer {
164
165
  _regex(args) {
165
166
  const field = this.transform(args[0], false);
166
167
  const pattern = (0, utils_1.getLiteral)(args[1]);
167
- return `new RegExp(${JSON.stringify(pattern)}).test(${field})`;
168
+ return this.ensureBooleanTernary(args[0], field, `new RegExp(${JSON.stringify(pattern)}).test(${field})`);
168
169
  }
169
170
  _email(args) {
170
171
  const field = this.transform(args[0], false);
171
- return `z.string().email().safeParse(${field}).success`;
172
+ return this.ensureBooleanTernary(args[0], field, `z.string().email().safeParse(${field}).success`);
172
173
  }
173
174
  _datetime(args) {
174
175
  const field = this.transform(args[0], false);
175
- return `z.string().datetime({ offset: true }).safeParse(${field}).success`;
176
+ return this.ensureBooleanTernary(args[0], field, `z.string().datetime({ offset: true }).safeParse(${field}).success`);
176
177
  }
177
178
  _url(args) {
178
179
  const field = this.transform(args[0], false);
179
- return `z.string().url().safeParse(${field}).success`;
180
+ return this.ensureBooleanTernary(args[0], field, `z.string().url().safeParse(${field}).success`);
180
181
  }
181
182
  _has(args, normalizeUndefined) {
182
183
  const field = this.transform(args[0], false);
@@ -185,21 +186,39 @@ class TypeScriptExpressionTransformer {
185
186
  }
186
187
  _hasEvery(args, normalizeUndefined) {
187
188
  const field = this.transform(args[0], false);
188
- const result = `${this.transform(args[1], normalizeUndefined)}?.every((item) => ${field}?.includes(item))`;
189
- return this.ensureBoolean(result);
189
+ return this.ensureBooleanTernary(args[0], field, `${this.transform(args[1], normalizeUndefined)}?.every((item) => ${field}?.includes(item))`);
190
190
  }
191
191
  _hasSome(args, normalizeUndefined) {
192
192
  const field = this.transform(args[0], false);
193
- const result = `${this.transform(args[1], normalizeUndefined)}?.some((item) => ${field}?.includes(item))`;
194
- return this.ensureBoolean(result);
193
+ return this.ensureBooleanTernary(args[0], field, `${this.transform(args[1], normalizeUndefined)}?.some((item) => ${field}?.includes(item))`);
195
194
  }
196
195
  _isEmpty(args) {
197
196
  const field = this.transform(args[0], false);
198
- const result = `(!${field} || ${field}?.length === 0)`;
199
- return this.ensureBoolean(result);
197
+ return `(!${field} || ${field}?.length === 0)`;
200
198
  }
201
199
  ensureBoolean(expr) {
202
- return `(${expr} ?? false)`;
200
+ if (this.options.context === constants_1.ExpressionContext.ValidationRule) {
201
+ // all fields are optional in a validation context, so we treat undefined
202
+ // as boolean true
203
+ return `(${expr} ?? true)`;
204
+ }
205
+ else {
206
+ return `((${expr}) ?? false)`;
207
+ }
208
+ }
209
+ ensureBooleanTernary(predicate, transformedPredicate, value) {
210
+ if ((0, ast_1.isLiteralExpr)(predicate) || (0, ast_1.isArrayExpr)(predicate)) {
211
+ // these are never undefined
212
+ return value;
213
+ }
214
+ if (this.options.context === constants_1.ExpressionContext.ValidationRule) {
215
+ // all fields are optional in a validation context, so we treat undefined
216
+ // as boolean true
217
+ return `((${transformedPredicate}) !== undefined ? (${value}): true)`;
218
+ }
219
+ else {
220
+ return `((${transformedPredicate}) !== undefined ? (${value}): false)`;
221
+ }
203
222
  }
204
223
  // #endregion
205
224
  reference(expr) {
@@ -239,7 +258,15 @@ class TypeScriptExpressionTransformer {
239
258
  }
240
259
  }
241
260
  unary(expr, normalizeUndefined) {
242
- return `(${expr.operator} ${this.transform(expr.operand, normalizeUndefined)})`;
261
+ const operand = this.transform(expr.operand, normalizeUndefined);
262
+ let result = `(${expr.operator} ${operand})`;
263
+ if (expr.operator === '!' &&
264
+ this.options.context === constants_1.ExpressionContext.ValidationRule &&
265
+ (0, utils_1.isDataModelFieldReference)(expr.operand)) {
266
+ // in a validation context, we treat unary involving undefined as boolean true
267
+ result = this.ensureBooleanTernary(expr.operand, operand, result);
268
+ }
269
+ return result;
243
270
  }
244
271
  isModelType(expr) {
245
272
  var _a;
@@ -253,9 +280,45 @@ class TypeScriptExpressionTransformer {
253
280
  left = `(${left}?.id ?? null)`;
254
281
  right = `(${right}?.id ?? null)`;
255
282
  }
256
- const _default = `(${left} ${expr.operator} ${right})`;
283
+ let _default = `(${left} ${expr.operator} ${right})`;
284
+ if (this.options.context === constants_1.ExpressionContext.ValidationRule) {
285
+ const nullComparison = this.extractNullComparison(expr);
286
+ if (nullComparison) {
287
+ // null comparison covers both null and undefined
288
+ const { fieldRef } = nullComparison;
289
+ const field = this.transform(fieldRef, normalizeUndefined);
290
+ if (expr.operator === '==') {
291
+ _default = `(${field} === null || ${field} === undefined)`;
292
+ }
293
+ else if (expr.operator === '!=') {
294
+ _default = `(${field} !== null && ${field} !== undefined)`;
295
+ }
296
+ }
297
+ else {
298
+ // for other comparisons, in a validation context,
299
+ // we treat binary involving undefined as boolean true
300
+ if ((0, utils_1.isDataModelFieldReference)(expr.left)) {
301
+ _default = this.ensureBooleanTernary(expr.left, left, _default);
302
+ }
303
+ if ((0, utils_1.isDataModelFieldReference)(expr.right)) {
304
+ _default = this.ensureBooleanTernary(expr.right, right, _default);
305
+ }
306
+ }
307
+ }
257
308
  return (0, ts_pattern_1.match)(expr.operator)
258
- .with('in', () => `(${this.transform(expr.right, false)}?.includes(${this.transform(expr.left, normalizeUndefined)}) ?? false)`)
309
+ .with('in', () => {
310
+ const left = `${this.transform(expr.left, normalizeUndefined)}`;
311
+ const right = `${this.transform(expr.right, false)}`;
312
+ let result = `${right}?.includes(${left})`;
313
+ if (this.options.context === constants_1.ExpressionContext.ValidationRule) {
314
+ // in a validation context, we treat binary involving undefined as boolean true
315
+ result = this.ensureBooleanTernary(expr.left, left, this.ensureBooleanTernary(expr.right, right, result));
316
+ }
317
+ else {
318
+ result = this.ensureBoolean(result);
319
+ }
320
+ return result;
321
+ })
259
322
  .with(ts_pattern_1.P.union('==', '!='), () => {
260
323
  var _a;
261
324
  if ((0, ast_1.isThisExpr)(expr.left) || (0, ast_1.isThisExpr)(expr.right)) {
@@ -280,13 +343,27 @@ class TypeScriptExpressionTransformer {
280
343
  .with(ts_pattern_1.P.union('?', '!', '^'), (op) => this.collectionPredicate(expr, op, normalizeUndefined))
281
344
  .otherwise(() => _default);
282
345
  }
346
+ extractNullComparison(expr) {
347
+ if (expr.operator !== '==' && expr.operator !== '!=') {
348
+ return undefined;
349
+ }
350
+ if ((0, utils_1.isDataModelFieldReference)(expr.left) && (0, ast_1.isNullExpr)(expr.right)) {
351
+ return { fieldRef: expr.left, nullExpr: expr.right };
352
+ }
353
+ else if ((0, utils_1.isDataModelFieldReference)(expr.right) && (0, ast_1.isNullExpr)(expr.left)) {
354
+ return { fieldRef: expr.right, nullExpr: expr.left };
355
+ }
356
+ else {
357
+ return undefined;
358
+ }
359
+ }
283
360
  collectionPredicate(expr, operator, normalizeUndefined) {
284
361
  const operand = this.transform(expr.left, normalizeUndefined);
285
362
  const innerTransformer = new TypeScriptExpressionTransformer(Object.assign(Object.assign({}, this.options), { isPostGuard: false, fieldReferenceContext: '_item', thisExprContext: '_item' }));
286
363
  const predicate = innerTransformer.transform(expr.right, normalizeUndefined);
287
364
  return (0, ts_pattern_1.match)(operator)
288
- .with('?', () => `!!((${operand})?.some((_item: any) => ${predicate}))`)
289
- .with('!', () => `!!((${operand})?.every((_item: any) => ${predicate}))`)
365
+ .with('?', () => this.ensureBoolean(`(${operand})?.some((_item: any) => ${predicate})`))
366
+ .with('!', () => this.ensureBoolean(`(${operand})?.every((_item: any) => ${predicate})`))
290
367
  .with('^', () => `!((${operand})?.some((_item: any) => ${predicate}))`)
291
368
  .exhaustive();
292
369
  }
@@ -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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"}