zenstack 1.0.0-beta.20 → 1.0.0-beta.22

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.
Files changed (78) hide show
  1. package/cli/actions/generate.d.ts +13 -0
  2. package/cli/actions/generate.js +71 -0
  3. package/cli/actions/generate.js.map +1 -0
  4. package/cli/actions/index.d.ts +3 -0
  5. package/cli/actions/index.js +20 -0
  6. package/cli/actions/index.js.map +1 -0
  7. package/cli/actions/info.d.ts +4 -0
  8. package/cli/actions/info.js +63 -0
  9. package/cli/actions/info.js.map +1 -0
  10. package/cli/actions/init.d.ts +12 -0
  11. package/cli/actions/init.js +83 -0
  12. package/cli/actions/init.js.map +1 -0
  13. package/cli/cli-util.d.ts +7 -10
  14. package/cli/cli-util.js +48 -130
  15. package/cli/cli-util.js.map +1 -1
  16. package/cli/config.d.ts +1 -10
  17. package/cli/config.js +2 -7
  18. package/cli/config.js.map +1 -1
  19. package/cli/index.d.ts +3 -12
  20. package/cli/index.js +12 -30
  21. package/cli/index.js.map +1 -1
  22. package/cli/plugin-runner.d.ts +11 -2
  23. package/cli/plugin-runner.js +66 -41
  24. package/cli/plugin-runner.js.map +1 -1
  25. package/language-server/validator/datamodel-validator.js +2 -2
  26. package/language-server/validator/datamodel-validator.js.map +1 -1
  27. package/language-server/validator/expression-validator.js +33 -1
  28. package/language-server/validator/expression-validator.js.map +1 -1
  29. package/language-server/validator/utils.js +2 -7
  30. package/language-server/validator/utils.js.map +1 -1
  31. package/language-server/zmodel-linker.js +27 -19
  32. package/language-server/zmodel-linker.js.map +1 -1
  33. package/package.json +6 -5
  34. package/plugins/access-policy/expression-writer.d.ts +2 -0
  35. package/plugins/access-policy/expression-writer.js +49 -31
  36. package/plugins/access-policy/expression-writer.js.map +1 -1
  37. package/plugins/access-policy/index.d.ts +3 -3
  38. package/plugins/access-policy/index.js +3 -5
  39. package/plugins/access-policy/index.js.map +1 -1
  40. package/plugins/access-policy/policy-guard-generator.d.ts +3 -2
  41. package/plugins/access-policy/policy-guard-generator.js +35 -6
  42. package/plugins/access-policy/policy-guard-generator.js.map +1 -1
  43. package/plugins/model-meta/index.d.ts +3 -3
  44. package/plugins/model-meta/index.js +46 -28
  45. package/plugins/model-meta/index.js.map +1 -1
  46. package/plugins/plugin-utils.d.ts +5 -3
  47. package/plugins/plugin-utils.js +22 -5
  48. package/plugins/plugin-utils.js.map +1 -1
  49. package/plugins/prisma/index.d.ts +3 -4
  50. package/plugins/prisma/index.js +3 -5
  51. package/plugins/prisma/index.js.map +1 -1
  52. package/plugins/prisma/prisma-builder.js +8 -13
  53. package/plugins/prisma/prisma-builder.js.map +1 -1
  54. package/plugins/prisma/schema-generator.d.ts +1 -3
  55. package/plugins/prisma/schema-generator.js +13 -81
  56. package/plugins/prisma/schema-generator.js.map +1 -1
  57. package/plugins/prisma/zmodel-code-generator.js +4 -2
  58. package/plugins/prisma/zmodel-code-generator.js.map +1 -1
  59. package/plugins/zod/generator.d.ts +2 -2
  60. package/plugins/zod/generator.js +29 -29
  61. package/plugins/zod/generator.js.map +1 -1
  62. package/plugins/zod/index.d.ts +3 -4
  63. package/plugins/zod/index.js +8 -5
  64. package/plugins/zod/index.js.map +1 -1
  65. package/plugins/zod/transformer.d.ts +5 -4
  66. package/plugins/zod/transformer.js +72 -29
  67. package/plugins/zod/transformer.js.map +1 -1
  68. package/plugins/zod/types.d.ts +2 -1
  69. package/plugins/zod/utils/schema-gen.js +14 -4
  70. package/plugins/zod/utils/schema-gen.js.map +1 -1
  71. package/res/stdlib.zmodel +10 -4
  72. package/utils/typescript-expression-transformer.js +25 -6
  73. package/utils/typescript-expression-transformer.js.map +1 -1
  74. package/utils/version-utils.js +7 -2
  75. package/utils/version-utils.js.map +1 -1
  76. package/types.d.ts +0 -12
  77. package/types.js +0 -3
  78. package/types.js.map +0 -1
package/cli/index.d.ts CHANGED
@@ -1,16 +1,7 @@
1
1
  import { Command } from 'commander';
2
- import { PackageManagers } from '../utils/pkg-utils';
3
- export declare const requiredPrismaVersion = "4.0.0";
4
- export declare const initAction: (projectPath: string, options: {
5
- prisma: string | undefined;
6
- packageManager: PackageManagers | undefined;
7
- tag?: string;
8
- }) => Promise<void>;
2
+ import * as actions from './actions';
3
+ export declare const initAction: (projectPath: string, options: Parameters<typeof actions.init>[1]) => Promise<void>;
9
4
  export declare const infoAction: (projectPath: string) => Promise<void>;
10
- export declare const generateAction: (options: {
11
- schema: string;
12
- packageManager: PackageManagers | undefined;
13
- dependencyCheck: boolean;
14
- }) => Promise<void>;
5
+ export declare const generateAction: (options: Parameters<typeof actions.generate>[1]) => Promise<void>;
15
6
  export declare function createProgram(): Command;
16
7
  export default function (): Promise<void>;
package/cli/index.js CHANGED
@@ -35,52 +35,29 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
35
35
  return (mod && mod.__esModule) ? mod : { "default": mod };
36
36
  };
37
37
  Object.defineProperty(exports, "__esModule", { value: true });
38
- exports.createProgram = exports.generateAction = exports.infoAction = exports.initAction = exports.requiredPrismaVersion = void 0;
38
+ exports.createProgram = exports.generateAction = exports.infoAction = exports.initAction = void 0;
39
39
  /* eslint-disable @typescript-eslint/no-explicit-any */
40
40
  const module_1 = require("@zenstackhq/language/module");
41
41
  const colors_1 = __importDefault(require("colors"));
42
42
  const commander_1 = require("commander");
43
43
  const fs_1 = __importDefault(require("fs"));
44
- const semver = __importStar(require("semver"));
45
44
  const telemetry_1 = __importDefault(require("../telemetry"));
46
45
  const version_utils_1 = require("../utils/version-utils");
47
- const cli_error_1 = require("./cli-error");
48
- const cli_util_1 = require("./cli-util");
46
+ const actions = __importStar(require("./actions"));
49
47
  const config_1 = require("./config");
50
- // required minimal version of Prisma
51
- exports.requiredPrismaVersion = '4.0.0';
52
48
  const DEFAULT_CONFIG_FILE = 'zenstack.config.json';
53
49
  const initAction = (projectPath, options) => __awaiter(void 0, void 0, void 0, function* () {
54
- yield telemetry_1.default.trackSpan('cli:command:start', 'cli:command:complete', 'cli:command:error', { command: 'init' }, () => (0, cli_util_1.initProject)(projectPath, options.prisma, options.packageManager, options.tag));
50
+ yield telemetry_1.default.trackSpan('cli:command:start', 'cli:command:complete', 'cli:command:error', { command: 'init' }, () => actions.init(projectPath, options));
55
51
  });
56
52
  exports.initAction = initAction;
57
53
  const infoAction = (projectPath) => __awaiter(void 0, void 0, void 0, function* () {
58
- yield telemetry_1.default.trackSpan('cli:command:start', 'cli:command:complete', 'cli:command:error', { command: 'info' }, () => (0, cli_util_1.dumpInfo)(projectPath));
54
+ yield telemetry_1.default.trackSpan('cli:command:start', 'cli:command:complete', 'cli:command:error', { command: 'info' }, () => actions.info(projectPath));
59
55
  });
60
56
  exports.infoAction = infoAction;
61
57
  const generateAction = (options) => __awaiter(void 0, void 0, void 0, function* () {
62
- if (options.dependencyCheck) {
63
- checkRequiredPackage('prisma', exports.requiredPrismaVersion);
64
- checkRequiredPackage('@prisma/client', exports.requiredPrismaVersion);
65
- }
66
- yield telemetry_1.default.trackSpan('cli:command:start', 'cli:command:complete', 'cli:command:error', { command: 'generate' }, () => (0, cli_util_1.runPlugins)(options));
58
+ yield telemetry_1.default.trackSpan('cli:command:start', 'cli:command:complete', 'cli:command:error', { command: 'generate' }, () => actions.generate(process.cwd(), options));
67
59
  });
68
60
  exports.generateAction = generateAction;
69
- const checkRequiredPackage = (packageName, minVersion) => {
70
- let packageVersion;
71
- try {
72
- // eslint-disable-next-line @typescript-eslint/no-var-requires
73
- packageVersion = require(`${packageName}/package.json`).version;
74
- }
75
- catch (error) {
76
- console.error(colors_1.default.red(`${packageName} not found, please install it`));
77
- throw new cli_error_1.CliError(`${packageName} not found`);
78
- }
79
- if (minVersion && semver.lt(packageVersion, minVersion)) {
80
- console.error(colors_1.default.red(`${packageName} needs to be above ${minVersion}, the installed version is ${packageVersion}, please upgrade it`));
81
- throw new cli_error_1.CliError(`${packageName} version is too low`);
82
- }
83
- };
84
61
  function createProgram() {
85
62
  const program = new commander_1.Command('zenstack');
86
63
  program.version((0, version_utils_1.getVersion)(), '-v --version', 'display CLI version');
@@ -96,6 +73,7 @@ function createProgram() {
96
73
  'yarn',
97
74
  'pnpm',
98
75
  ]);
76
+ const noVersionCheckOption = new commander_1.Option('--no-version-check', 'do not check for new version');
99
77
  const noDependencyCheck = new commander_1.Option('--no-dependency-check', 'do not check if dependencies are installed');
100
78
  program
101
79
  .command('info')
@@ -108,15 +86,19 @@ function createProgram() {
108
86
  .addOption(configOption)
109
87
  .addOption(pmOption)
110
88
  .addOption(new commander_1.Option('--prisma <file>', 'location of Prisma schema file to bootstrap from'))
111
- .addOption(new commander_1.Option('--tag [tag]', 'the NPM package tag to use when installing dependencies'))
89
+ .addOption(new commander_1.Option('--tag <tag>', 'the NPM package tag to use when installing dependencies'))
90
+ .addOption(noVersionCheckOption)
112
91
  .argument('[path]', 'project path', '.')
113
92
  .action(exports.initAction);
114
93
  program
115
94
  .command('generate')
116
95
  .description('Run code generation.')
117
96
  .addOption(schemaOption)
97
+ .addOption(new commander_1.Option('-o, --output <path>', 'default output directory for built-in plugins'))
118
98
  .addOption(configOption)
119
- .addOption(pmOption)
99
+ .addOption(new commander_1.Option('--no-default-plugins', 'do not run default plugins'))
100
+ .addOption(new commander_1.Option('--no-compile', 'do not compile the output of built-in plugins'))
101
+ .addOption(noVersionCheckOption)
120
102
  .addOption(noDependencyCheck)
121
103
  .action(exports.generateAction);
122
104
  // make sure config is loaded before actions run
package/cli/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,11 @@
1
- import type { Context } from '../types';
1
+ import { Model } from '@zenstackhq/language/ast';
2
+ export declare type PluginRunnerOptions = {
3
+ schema: Model;
4
+ schemaPath: string;
5
+ output?: string;
6
+ defaultPlugins: boolean;
7
+ compile: boolean;
8
+ };
2
9
  /**
3
10
  * ZenStack plugin runner
4
11
  */
@@ -6,7 +13,9 @@ export declare class PluginRunner {
6
13
  /**
7
14
  * Runs a series of nested generators
8
15
  */
9
- run(context: Context): Promise<void>;
16
+ run(options: PluginRunnerOptions): Promise<void>;
17
+ private calculateCorePlugins;
18
+ private hasValidation;
10
19
  private getPluginName;
11
20
  private getPluginDependencies;
12
21
  private getPluginProvider;
@@ -22,7 +22,6 @@ const path_1 = __importDefault(require("path"));
22
22
  const plugin_utils_1 = require("../plugins/plugin-utils");
23
23
  const telemetry_1 = __importDefault(require("../telemetry"));
24
24
  const version_utils_1 = require("../utils/version-utils");
25
- const config_1 = require("./config");
26
25
  /**
27
26
  * ZenStack plugin runner
28
27
  */
@@ -30,14 +29,14 @@ class PluginRunner {
30
29
  /**
31
30
  * Runs a series of nested generators
32
31
  */
33
- run(context) {
32
+ run(options) {
34
33
  return __awaiter(this, void 0, void 0, function* () {
35
34
  const version = (0, version_utils_1.getVersion)();
36
35
  console.log(colors_1.default.bold(`⌛️ ZenStack CLI v${version}, running plugins`));
37
- (0, plugin_utils_1.ensureDefaultOutputFolder)();
36
+ (0, plugin_utils_1.ensureDefaultOutputFolder)(options);
38
37
  const plugins = [];
39
- const pluginDecls = context.schema.declarations.filter((d) => (0, ast_1.isPlugin)(d));
40
- let prismaOutput = (0, sdk_1.resolvePath)('./prisma/schema.prisma', { schemaPath: context.schemaPath, name: '' });
38
+ const pluginDecls = options.schema.declarations.filter((d) => (0, ast_1.isPlugin)(d));
39
+ let prismaOutput = (0, sdk_1.resolvePath)('./prisma/schema.prisma', { schemaPath: options.schemaPath, name: '' });
41
40
  for (const pluginDecl of pluginDecls) {
42
41
  const pluginProvider = this.getPluginProvider(pluginDecl);
43
42
  if (!pluginProvider) {
@@ -60,54 +59,31 @@ class PluginRunner {
60
59
  }
61
60
  const dependencies = this.getPluginDependencies(pluginModule);
62
61
  const pluginName = this.getPluginName(pluginModule, pluginProvider);
63
- const options = { schemaPath: context.schemaPath, name: pluginName };
62
+ const pluginOptions = { schemaPath: options.schemaPath, name: pluginName };
64
63
  pluginDecl.fields.forEach((f) => {
65
64
  var _a;
66
65
  const value = (_a = (0, sdk_1.getLiteral)(f.value)) !== null && _a !== void 0 ? _a : (0, sdk_1.getLiteralArray)(f.value);
67
66
  if (value === undefined) {
68
67
  throw new sdk_1.PluginError(pluginName, `Invalid option value for ${f.name}`);
69
68
  }
70
- options[f.name] = value;
69
+ pluginOptions[f.name] = value;
71
70
  });
72
71
  plugins.push({
73
72
  name: pluginName,
74
73
  provider: pluginProvider,
75
74
  dependencies,
76
- options,
75
+ options: pluginOptions,
77
76
  run: pluginModule.default,
78
77
  module: pluginModule,
79
78
  });
80
- if (pluginProvider === '@core/prisma' && typeof options.output === 'string') {
79
+ if (pluginProvider === '@core/prisma' && typeof pluginOptions.output === 'string') {
81
80
  // record custom prisma output path
82
- prismaOutput = (0, sdk_1.resolvePath)(options.output, options);
81
+ prismaOutput = (0, sdk_1.resolvePath)(pluginOptions.output, pluginOptions);
83
82
  }
84
83
  }
85
- // make sure prerequisites are included
86
- const corePlugins = [
87
- { provider: '@core/prisma' },
88
- { provider: '@core/model-meta' },
89
- { provider: '@core/access-policy' },
90
- ];
91
- if ((0, sdk_1.getDataModels)(context.schema).some((model) => (0, sdk_1.hasValidationAttributes)(model))) {
92
- // '@core/zod' plugin is auto-enabled if there're validation rules
93
- corePlugins.push({ provider: '@core/zod', options: { modelOnly: true } });
94
- }
95
- // core plugins introduced by dependencies
96
- plugins
97
- .flatMap((p) => p.dependencies)
98
- .forEach((dep) => {
99
- if (dep.startsWith('@core/')) {
100
- const existing = corePlugins.find((p) => p.provider === dep);
101
- if (existing) {
102
- // reset options to default
103
- existing.options = undefined;
104
- }
105
- else {
106
- // add core dependency
107
- corePlugins.push({ provider: dep });
108
- }
109
- }
110
- });
84
+ // get core plugins that need to be enabled
85
+ const corePlugins = this.calculateCorePlugins(options, plugins);
86
+ // shift/insert core plugins to the front
111
87
  for (const corePlugin of corePlugins.reverse()) {
112
88
  const existingIdx = plugins.findIndex((p) => p.provider === corePlugin.provider);
113
89
  if (existingIdx >= 0) {
@@ -124,7 +100,7 @@ class PluginRunner {
124
100
  name: pluginName,
125
101
  provider: corePlugin.provider,
126
102
  dependencies: [],
127
- options: Object.assign({ schemaPath: context.schemaPath, name: pluginName }, corePlugin.options),
103
+ options: Object.assign({ schemaPath: options.schemaPath, name: pluginName }, corePlugin.options),
128
104
  run: pluginModule.default,
129
105
  module: pluginModule,
130
106
  });
@@ -139,11 +115,15 @@ class PluginRunner {
139
115
  }
140
116
  }
141
117
  }
118
+ if (plugins.length === 0) {
119
+ console.log(colors_1.default.yellow('No plugins configured.'));
120
+ return;
121
+ }
142
122
  const warnings = [];
143
123
  let dmmf = undefined;
144
- for (const { name, provider, run, options } of plugins) {
124
+ for (const { name, provider, run, options: pluginOptions } of plugins) {
145
125
  // const start = Date.now();
146
- yield this.runPlugin(name, run, context, options, dmmf, warnings);
126
+ yield this.runPlugin(name, run, options, pluginOptions, dmmf, warnings);
147
127
  // console.log(`✅ Plugin ${colors.bold(name)} (${provider}) completed in ${Date.now() - start}ms`);
148
128
  if (provider === '@core/prisma') {
149
129
  // load prisma DMMF
@@ -157,6 +137,48 @@ class PluginRunner {
157
137
  console.log(`Don't forget to restart your dev server to let the changes take effect.`);
158
138
  });
159
139
  }
140
+ calculateCorePlugins(options, plugins) {
141
+ const corePlugins = [];
142
+ if (options.defaultPlugins) {
143
+ corePlugins.push({ provider: '@core/prisma' }, { provider: '@core/model-meta' }, { provider: '@core/access-policy' });
144
+ }
145
+ else if (plugins.length > 0) {
146
+ // "@core/prisma" plugin is always enabled if any plugin is configured
147
+ corePlugins.push({ provider: '@core/prisma' });
148
+ }
149
+ // "@core/access-policy" has implicit requirements
150
+ if ([...plugins, ...corePlugins].find((p) => p.provider === '@core/access-policy')) {
151
+ // make sure "@core/model-meta" is enabled
152
+ if (!corePlugins.find((p) => p.provider === '@core/model-meta')) {
153
+ corePlugins.push({ provider: '@core/model-meta' });
154
+ }
155
+ // '@core/zod' plugin is auto-enabled by "@core/access-policy"
156
+ // if there're validation rules
157
+ if (!corePlugins.find((p) => p.provider === '@core/zod') && this.hasValidation(options.schema)) {
158
+ corePlugins.push({ provider: '@core/zod', options: { modelOnly: true } });
159
+ }
160
+ }
161
+ // core plugins introduced by dependencies
162
+ plugins
163
+ .flatMap((p) => p.dependencies)
164
+ .forEach((dep) => {
165
+ if (dep.startsWith('@core/')) {
166
+ const existing = corePlugins.find((p) => p.provider === dep);
167
+ if (existing) {
168
+ // reset options to default
169
+ existing.options = undefined;
170
+ }
171
+ else {
172
+ // add core dependency
173
+ corePlugins.push({ provider: dep });
174
+ }
175
+ }
176
+ });
177
+ return corePlugins;
178
+ }
179
+ hasValidation(schema) {
180
+ return (0, sdk_1.getDataModels)(schema).some((model) => (0, sdk_1.hasValidationAttributes)(model));
181
+ }
160
182
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
161
183
  getPluginName(pluginModule, pluginProvider) {
162
184
  return typeof pluginModule.name === 'string' ? pluginModule.name : pluginProvider;
@@ -168,7 +190,7 @@ class PluginRunner {
168
190
  const providerField = plugin.fields.find((f) => f.name === 'provider');
169
191
  return (0, sdk_1.getLiteral)(providerField === null || providerField === void 0 ? void 0 : providerField.value);
170
192
  }
171
- runPlugin(name, run, context, options, dmmf, warnings) {
193
+ runPlugin(name, run, runnerOptions, options, dmmf, warnings) {
172
194
  return __awaiter(this, void 0, void 0, function* () {
173
195
  const spinner = (0, ora_1.default)(`Running plugin ${colors_1.default.cyan(name)}`).start();
174
196
  try {
@@ -176,7 +198,10 @@ class PluginRunner {
176
198
  plugin: name,
177
199
  options,
178
200
  }, () => __awaiter(this, void 0, void 0, function* () {
179
- let result = run(context.schema, options, dmmf, config_1.config);
201
+ let result = run(runnerOptions.schema, options, dmmf, {
202
+ output: runnerOptions.output,
203
+ compile: runnerOptions.compile,
204
+ });
180
205
  if (result instanceof Promise) {
181
206
  result = yield result;
182
207
  }
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-runner.js","sourceRoot":"","sources":["../../src/cli/plugin-runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin-runner.js","sourceRoot":"","sources":["../../src/cli/plugin-runner.ts"],"names":[],"mappings":"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"}
@@ -69,7 +69,7 @@ class DataModelValidator {
69
69
  if (field.type.array && field.type.optional) {
70
70
  accept('error', 'Optional lists are not supported. Use either `Type[]` or `Type?`', { node: field.type });
71
71
  }
72
- if (field.type.unsupported && typeof field.type.unsupported.value.value !== 'string') {
72
+ if (field.type.unsupported && !(0, ast_1.isStringLiteral)(field.type.unsupported.value)) {
73
73
  accept('error', 'Unsupported type argument must be a string literal', { node: field.type.unsupported });
74
74
  }
75
75
  field.attributes.forEach((attr) => (0, attribute_application_validator_1.validateAttributeApplication)(attr, accept));
@@ -89,7 +89,7 @@ class DataModelValidator {
89
89
  }
90
90
  for (const arg of relAttr.args) {
91
91
  if (!arg.name || arg.name === 'name') {
92
- if ((0, ast_1.isLiteralExpr)(arg.value)) {
92
+ if ((0, ast_1.isStringLiteral)(arg.value)) {
93
93
  name = arg.value.value;
94
94
  }
95
95
  }
@@ -1 +1 @@
1
- {"version":3,"file":"datamodel-validator.js","sourceRoot":"","sources":["../../../src/language-server/validator/datamodel-validator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"datamodel-validator.js","sourceRoot":"","sources":["../../../src/language-server/validator/datamodel-validator.ts"],"names":[],"mappings":";;AAAA,kDAOkC;AAClC,yCAAsG;AACtG,qCAAmF;AACnF,4CAAwD;AAExD,oCAA2C;AAC3C,uFAAiF;AACjF,mCAAyD;AAEzD;;GAEG;AACH,MAAqB,kBAAkB;IACnC,QAAQ,CAAC,EAAa,EAAE,MAA0B;QAC9C,IAAI,CAAC,yBAAyB,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QAC3C,IAAA,sCAA8B,EAAC,EAAE,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;QAC3D,IAAI,CAAC,kBAAkB,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QACpC,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IACpC,CAAC;IAEO,cAAc,CAAC,EAAa,EAAE,MAA0B;QAC5D,MAAM,QAAQ,GAAG,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,WAAC,OAAA,CAAA,MAAA,IAAI,CAAC,IAAI,CAAC,GAAG,0CAAE,IAAI,MAAK,KAAK,CAAA,EAAA,CAAC,CAAC,CAAC;QAC9G,MAAM,YAAY,GAAG,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACjD,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,WAAC,OAAA,CAAA,MAAA,IAAI,CAAC,IAAI,CAAC,GAAG,0CAAE,IAAI,MAAK,SAAS,CAAA,EAAA,CAAC,CACjE,CAAC;QACF,MAAM,aAAa,GAAG,IAAA,sBAAgB,EAAC,EAAE,CAAC,CAAC;QAC3C,MAAM,iBAAiB,GAAG,IAAA,0BAAoB,EAAC,EAAE,CAAC,CAAC;QAEnD,IACI,QAAQ,CAAC,MAAM,KAAK,CAAC;YACrB,aAAa,CAAC,MAAM,KAAK,CAAC;YAC1B,YAAY,CAAC,MAAM,KAAK,CAAC;YACzB,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAChC;YACE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,EAAE,GAAG,IAAA,qBAAe,EAAC,EAAE,CAAC,CAAC;YACnE,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,kBAAkB,EAAE;gBAC9D,8DAA8D;gBAC9D,yEAAyE;gBACzE,MAAM,CACF,OAAO,EACP,8HAA8H,EAC9H;oBACI,IAAI,EAAE,EAAE;iBACX,CACJ,CAAC;aACL;SACJ;aAAM,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;YACxD,MAAM,CAAC,OAAO,EAAE,wEAAwE,EAAE;gBACtF,IAAI,EAAE,EAAE;aACX,CAAC,CAAC;SACN;aAAM,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;YAC5B,MAAM,CAAC,OAAO,EAAE,wDAAwD,EAAE;gBACtE,IAAI,EAAE,EAAE;aACX,CAAC,CAAC;SACN;aAAM;YACH,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC;YACrE,aAAa,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC9B,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE;oBACvB,MAAM,CAAC,OAAO,EAAE,+CAA+C,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;iBACvF;gBACD,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,wBAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;oBACvF,MAAM,CAAC,OAAO,EAAE,iDAAiD,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;iBACzF;YACL,CAAC,CAAC,CAAC;SACN;QAED,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;QAEhE,IAAI,CAAC,EAAE,CAAC,UAAU,EAAE;YAChB,EAAE,CAAC,eAAe;iBACb,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,WAAC,OAAA,IAAA,iBAAW,EAAC,MAAA,CAAC,CAAC,IAAI,CAAC,SAAS,0CAAE,GAAG,CAAC,CAAA,EAAA,CAAC;iBACjD,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;gBACX,IAAI,CAAC,qBAAqB,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;YAC1C,CAAC,CAAC,CAAC;SACV;IACL,CAAC;IAEO,aAAa,CAAC,KAAqB,EAAE,MAA0B;QACnE,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE;YACzC,MAAM,CAAC,OAAO,EAAE,kEAAkE,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;SAC7G;QAED,IAAI,KAAK,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAA,qBAAe,EAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE;YAC1E,MAAM,CAAC,OAAO,EAAE,oDAAoD,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;SAC3G;QAED,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,8DAA4B,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IACnF,CAAC;IAEO,kBAAkB,CAAC,EAAa,EAAE,MAA0B;QAChE,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,8DAA4B,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IAChF,CAAC;IAEO,aAAa,CAAC,KAAqB,EAAE,MAA2B;;QACpE,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,WAAC,OAAA,CAAA,MAAA,IAAI,CAAC,IAAI,CAAC,GAAG,0CAAE,IAAI,MAAK,WAAW,CAAA,EAAA,CAAC,CAAC;QAErF,IAAI,IAAwB,CAAC;QAC7B,IAAI,MAAmC,CAAC;QACxC,IAAI,UAAuC,CAAC;QAC5C,IAAI,KAAK,GAAG,IAAI,CAAC;QAEjB,IAAI,CAAC,OAAO,EAAE;YACV,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;SACnE;QAED,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,IAAI,EAAE;YAC5B,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE;gBAClC,IAAI,IAAA,qBAAe,EAAC,GAAG,CAAC,KAAK,CAAC,EAAE;oBAC5B,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,KAAe,CAAC;iBACpC;aACJ;iBAAM,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE;gBAC9B,MAAM,GAAI,GAAG,CAAC,KAAmB,CAAC,KAAwB,CAAC;gBAC3D,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;oBACrB,IAAI,MAAM,EAAE;wBACR,MAAM,CAAC,OAAO,EAAE,gCAAgC,EAAE;4BAC9C,IAAI,EAAE,GAAG;yBACZ,CAAC,CAAC;qBACN;oBACD,KAAK,GAAG,KAAK,CAAC;iBACjB;aACJ;iBAAM,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,EAAE;gBAClC,UAAU,GAAI,GAAG,CAAC,KAAmB,CAAC,KAAwB,CAAC;gBAC/D,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;oBACzB,IAAI,MAAM,EAAE;wBACR,MAAM,CAAC,OAAO,EAAE,oCAAoC,EAAE;4BAClD,IAAI,EAAE,GAAG;yBACZ,CAAC,CAAC;qBACN;oBACD,KAAK,GAAG,KAAK,CAAC;iBACjB;aACJ;SACJ;QAED,IAAI,CAAC,MAAM,IAAI,CAAC,UAAU,EAAE;YACxB,IAAI,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE;gBAClC,6BAA6B;gBAC7B,wFAAwF;aAC3F;iBAAM;gBACH,IAAI,MAAM,EAAE;oBACR,MAAM,CAAC,OAAO,EAAE,iDAAiD,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;iBACzF;aACJ;SACJ;aAAM;YACH,wDAAwD;YACxD,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,CAAC,MAAM,EAAE;gBACrC,IAAI,MAAM,EAAE;oBACR,MAAM,CAAC,OAAO,EAAE,qDAAqD,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;iBAC7F;aACJ;iBAAM;gBACH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACpC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE;wBAC1B,IAAI,MAAM,EAAE;4BACR,MAAM,CAAC,OAAO,EAAE,+BAA+B,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;yBACzE;qBACJ;oBACD,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE;wBAC9B,IAAI,MAAM,EAAE;4BACR,MAAM,CAAC,OAAO,EAAE,+BAA+B,EAAE,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;yBAC7E;qBACJ;oBAED,IACI,CAAA,MAAA,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,0CAAE,IAAI,OAAK,MAAA,UAAU,CAAC,CAAC,CAAC,CAAC,aAAa,0CAAE,IAAI,CAAA;wBACnE,CAAA,MAAA,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,0CAAE,KAAK,OAAK,MAAA,UAAU,CAAC,CAAC,CAAC,CAAC,aAAa,0CAAE,KAAK,CAAA,EACvE;wBACE,IAAI,MAAM,EAAE;4BACR,MAAM,CAAC,OAAO,EAAE,6DAA6D,EAAE;gCAC3E,IAAI,EAAE,OAAO;6BAChB,CAAC,CAAC;yBACN;qBACJ;iBACJ;aACJ;SACJ;QAED,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;IAC9D,CAAC;IAEO,cAAc,CAAC,KAAqB,EAAE,YAAqB;;QAC/D,IAAI,CAAA,MAAA,KAAK,CAAC,IAAI,CAAC,SAAS,0CAAE,GAAG,MAAK,KAAK,CAAC,UAAU,EAAE;YAChD,6CAA6C;YAC7C,OAAO,IAAI,CAAC;SACf;QAED,IAAI,YAAY,EAAE;YACd,mFAAmF;YACnF,cAAc;YACd,MAAM,aAAa,GAAG,MAAA,KAAK,CAAC,IAAI,CAAC,SAAS,0CAAE,GAAgB,CAAC;YAC7D,IAAI,aAAa,EAAE;gBACf,MAAM,mBAAmB,GAAG,aAAa,CAAC,eAAmC,CAAC;gBAC9E,KAAK,MAAM,aAAa,IAAI,mBAAmB,EAAE;oBAC7C,oDAAoD;oBACpD,MAAM,OAAO,GAAG,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,WAAC,OAAA,CAAA,MAAA,CAAC,CAAC,IAAI,CAAC,GAAG,0CAAE,IAAI,MAAK,WAAW,CAAA,EAAA,CAAC,CAAC;oBACvF,IAAI,OAAO,EAAE;wBACT,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;wBAC3E,MAAM,OAAO,GAAG,IAAA,gBAAU,EAAS,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,KAAK,CAAC,CAAC;wBACvD,IAAI,OAAO,KAAK,YAAY,IAAI,CAAA,MAAA,aAAa,CAAC,IAAI,CAAC,SAAS,0CAAE,GAAG,MAAK,KAAK,CAAC,UAAU,EAAE;4BACpF,yEAAyE;4BACzE,OAAO,IAAI,CAAC;yBACf;qBACJ;iBACJ;aACJ;SACJ;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAEO,qBAAqB,CAAC,KAAqB,EAAE,MAA0B;;QAC3E,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACvD,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE;YACrB,OAAO;SACV;QAED,oEAAoE;QACpE,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,SAAU,CAAC,GAAiB,CAAC;QAE9D,yDAAyD;QACzD,IAAI,cAAc,GAAG,aAAa,CAAC,eAAe,CAAC,MAAM,CACrD,CAAC,CAAC,EAAE,EAAE,eAAC,OAAA,CAAA,MAAA,MAAA,CAAC,CAAC,IAAI,CAAC,SAAS,0CAAE,GAAG,0CAAE,IAAI,MAAK,KAAK,CAAC,UAAU,CAAC,IAAI,CAAA,EAAA,CAC/D,CAAC;QACF,cAAc,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;YACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;YACvC,OAAO,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,IAAI,KAAK,YAAY,CAAC,IAAI,CAAC;QACjE,CAAC,CAAC,CAAC;QAEH,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE;YAC7B,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC;YAC3D,MAAM,IAAI,GAAoC,EAAE,IAAI,EAAE,IAAI,EAAE,sBAAU,CAAC,uBAAuB,EAAE,CAAC;YAEjG,IAAI,mBAA2B,CAAC;YAChC,IAAI,qBAA6B,CAAC;YAElC,IAAI,KAAK,CAAC,YAAY,EAAE;gBACpB,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC;gBACvB,MAAM,SAAS,GAAG,KAAK,CAAC,UAAuB,CAAC;gBAChD,MAAM,iBAAiB,GAAG,MAAA,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,WACtD,OAAA,MAAA,CAAC,CAAC,GAAG,0CAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,CAAA,EAAA,CACnD,0CAAE,GAAgB,CAAC;gBAEpB,mBAAmB,GAAG,IAAA,qBAAW,EAAC,iBAAiB,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC;gBACtE,qBAAqB,GAAG,iBAAiB,CAAC,IAAI,CAAC;aAClD;iBAAM;gBACH,mBAAmB,GAAG,IAAA,qBAAW,EAAC,KAAK,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC;gBAC1D,qBAAqB,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;aACjD;YAED,MAAM,IAAI,GAAgC;gBACtC,iBAAiB,EAAE,KAAK,CAAC,IAAI;gBAC7B,qBAAqB;gBACrB,mBAAmB;gBACnB,aAAa,EAAE,KAAK,CAAC,UAAU,CAAC,IAAI;aACvC,CAAC;YAEF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YAEjB,MAAM,CACF,OAAO,EACP,uBAAuB,KAAK,CAAC,IAAI,eAAe,KAAK,CAAC,UAAU,CAAC,IAAI,qDAAqD,aAAa,CAAC,IAAI,GAAG,EAC/I,IAAI,CACP,CAAC;YACF,OAAO;SACV;aAAM,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;YAClC,cAAc;iBACT,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;iBAC9B,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;gBACX,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE;oBACxB,6BAA6B;oBAC7B,wFAAwF;iBAC3F;qBAAM;oBACH,MAAM,CACF,OAAO,EACP,UAAU,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,cAC9D,aAAa,CAAC,IAClB,0CAA0C,KAAK,CAAC,UAAU,CAAC,IAAI,GAAG,EAClE,EAAE,IAAI,EAAE,CAAC,EAAE,CACd,CAAC;iBACL;YACL,CAAC,CAAC,CAAC;YACP,OAAO;SACV;QAED,MAAM,aAAa,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;QACxC,MAAM,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;QAE3D,IAAI,aAA6B,CAAC;QAElC,IAAI,CAAA,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,UAAU,0CAAE,MAAM,MAAI,MAAA,YAAY,CAAC,MAAM,0CAAE,MAAM,CAAA,EAAE;YACjE,IAAI,CAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,UAAU,MAAI,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,MAAM,CAAA,EAAE;gBAC1D,MAAM,CAAC,OAAO,EAAE,+EAA+E,EAAE;oBAC7F,IAAI,EAAE,aAAa;iBACtB,CAAC,CAAC;gBACH,OAAO;aACV;iBAAM;gBACH,aAAa,GAAG,aAAa,CAAC;aACjC;SACJ;aAAM,IAAI,CAAA,MAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,UAAU,0CAAE,MAAM,MAAI,MAAA,gBAAgB,CAAC,MAAM,0CAAE,MAAM,CAAA,EAAE;YAChF,IAAI,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,UAAU,MAAI,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,MAAM,CAAA,EAAE;gBAClD,MAAM,CAAC,OAAO,EAAE,+EAA+E,EAAE;oBAC7F,IAAI,EAAE,KAAK;iBACd,CAAC,CAAC;gBACH,OAAO;aACV;iBAAM;gBACH,aAAa,GAAG,KAAK,CAAC;aACzB;SACJ;aAAM;YACH,0EAA0E;YAC1E,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;gBACjD,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;oBACjC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,YAAY,CAAC,IAAI,CAAC,EAAE;wBAC5C,MAAM,CACF,OAAO,EACP,0GAA0G,EAC1G,EAAE,IAAI,EAAE,CAAC,EAAE,CACd,CAAC;qBACL;gBACL,CAAC,CAAC,CAAC;aACN;YACD,OAAO;SACV;QAED,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE;YAC3D,MAAM,CAAC,OAAO,EAAE,6CAA6C,EAAE;gBAC3D,IAAI,EAAE,aAAa;aACtB,CAAC,CAAC;YACH,OAAO;SACV;QAED,IAAI,aAAa,KAAK,KAAK,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE;YACtD,6EAA6E;YAC7E,QAAQ;YACR,mBAAmB;YACnB,yCAAyC;YACzC,yBAAyB;YACzB,QAAQ;YACR,uBAAuB;YACvB,yCAAyC;YACzC,mEAAmE;YACnE,wBAAwB;YACxB,QAAQ;YACR,EAAE;YACF,4CAA4C;YAE5C,MAAM,eAAe,GAAG,KAAK,CAAC,UAAuB,CAAC;YACtD,MAAM,eAAe,GAAG,IAAA,uBAAe,EAAC,eAAe,CAAC,CAAC;YAEzD,MAAA,YAAY,CAAC,MAAM,0CAAE,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;gBACjC,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,GAAqB,CAAC;gBAClD,IAAI,QAAQ,EAAE;oBACV,IAAI,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,eAAC,OAAA,CAAA,MAAA,CAAC,CAAC,IAAI,CAAC,GAAG,0CAAE,IAAI,MAAK,KAAK,IAAI,CAAA,MAAA,CAAC,CAAC,IAAI,CAAC,GAAG,0CAAE,IAAI,MAAK,SAAS,CAAA,EAAA,CAAC,EAAE;wBAC/F,OAAO;qBACV;oBACD,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE;wBACzD,OAAO;qBACV;oBACD,MAAM,CACF,OAAO,EACP,UAAU,QAAQ,CAAC,IAAI,iHAAiH,EACxI,EAAE,IAAI,EAAE,QAAQ,EAAE,CACrB,CAAC;iBACL;YACL,CAAC,CAAC,CAAC;SACN;IACL,CAAC;IAEO,yBAAyB,CAAC,KAAgB,EAAE,MAA0B;QAC1E,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE;;YAC1C,IAAI,CAAC,CAAA,MAAA,SAAS,CAAC,GAAG,0CAAE,UAAU,CAAA;gBAC1B,MAAM,CAAC,OAAO,EAAE,SAAS,SAAS,CAAC,QAAQ,+CAA+C,EAAE;oBACxF,IAAI,EAAE,KAAK;oBACX,QAAQ,EAAE,YAAY;oBACtB,KAAK;iBACR,CAAC,CAAC;QACX,CAAC,CAAC,CAAC;IACP,CAAC;CACJ;AA3WD,qCA2WC"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const ast_1 = require("@zenstackhq/language/ast");
4
+ const sdk_1 = require("@zenstackhq/sdk");
4
5
  const ast_utils_1 = require("../../utils/ast-utils");
5
6
  /**
6
7
  * Validates expressions.
@@ -34,7 +35,7 @@ class ExpressionValidator {
34
35
  }
35
36
  }
36
37
  validateBinaryExpr(expr, accept) {
37
- var _a, _b, _c, _d, _e;
38
+ var _a, _b, _c, _d, _e, _f, _g;
38
39
  switch (expr.operator) {
39
40
  case 'in': {
40
41
  if (typeof ((_a = expr.left.$resolvedType) === null || _a === void 0 ? void 0 : _a.decl) !== 'string' && !(0, ast_1.isEnum)((_b = expr.left.$resolvedType) === null || _b === void 0 ? void 0 : _b.decl)) {
@@ -84,6 +85,37 @@ class ExpressionValidator {
84
85
  }
85
86
  break;
86
87
  }
88
+ case '==':
89
+ case '!=': {
90
+ // disallow comparing model type with scalar type or comparison between
91
+ // incompatible model types
92
+ const leftType = (_f = expr.left.$resolvedType) === null || _f === void 0 ? void 0 : _f.decl;
93
+ const rightType = (_g = expr.right.$resolvedType) === null || _g === void 0 ? void 0 : _g.decl;
94
+ if ((0, ast_1.isDataModel)(leftType) && (0, ast_1.isDataModel)(rightType)) {
95
+ if (leftType != rightType) {
96
+ // incompatible model types
97
+ // TODO: inheritance case?
98
+ accept('error', 'incompatible operand types', { node: expr });
99
+ }
100
+ // not supported:
101
+ // - foo == bar
102
+ // - foo == this
103
+ if ((0, sdk_1.isDataModelFieldReference)(expr.left) &&
104
+ ((0, ast_1.isThisExpr)(expr.right) || (0, sdk_1.isDataModelFieldReference)(expr.right))) {
105
+ accept('error', 'comparison between model-typed fields are not supported', { node: expr });
106
+ }
107
+ else if ((0, sdk_1.isDataModelFieldReference)(expr.right) &&
108
+ ((0, ast_1.isThisExpr)(expr.left) || (0, sdk_1.isDataModelFieldReference)(expr.left))) {
109
+ accept('error', 'comparison between model-typed fields are not supported', { node: expr });
110
+ }
111
+ }
112
+ else if (((0, ast_1.isDataModel)(leftType) && !(0, ast_1.isNullExpr)(expr.right)) ||
113
+ ((0, ast_1.isDataModel)(rightType) && !(0, ast_1.isNullExpr)(expr.left))) {
114
+ // comparing model against scalar (except null)
115
+ accept('error', 'incompatible operand types', { node: expr });
116
+ }
117
+ break;
118
+ }
87
119
  }
88
120
  }
89
121
  isCollectionPredicate(expr) {
@@ -1 +1 @@
1
- {"version":3,"file":"expression-validator.js","sourceRoot":"","sources":["../../../src/language-server/validator/expression-validator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"expression-validator.js","sourceRoot":"","sources":["../../../src/language-server/validator/expression-validator.ts"],"names":[],"mappings":"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"}
@@ -33,12 +33,7 @@ exports.validateDuplicatedDeclarations = validateDuplicatedDeclarations;
33
33
  * Try getting string value from a potential string literal expression
34
34
  */
35
35
  function getStringLiteral(node) {
36
- if ((0, ast_1.isLiteralExpr)(node) && typeof node.value === 'string') {
37
- return node.value;
38
- }
39
- else {
40
- return undefined;
41
- }
36
+ return (0, ast_1.isStringLiteral)(node) ? node.value : undefined;
42
37
  }
43
38
  exports.getStringLiteral = getStringLiteral;
44
39
  const isoDateTimeRegex = /^\d{4}(-\d\d(-\d\d(T\d\d:\d\d(:\d\d)?(\.\d+)?(([+-]\d\d:\d\d)|Z)?)?)?)?$/i;
@@ -47,7 +42,7 @@ const isoDateTimeRegex = /^\d{4}(-\d\d(-\d\d(T\d\d:\d\d(:\d\d)?(\.\d+)?(([+-]\d\
47
42
  */
48
43
  function typeAssignable(destType, sourceType, sourceExpr) {
49
44
  // implicit conversion from ISO datetime string to datetime
50
- if (destType === 'DateTime' && sourceType === 'String' && sourceExpr && (0, ast_1.isLiteralExpr)(sourceExpr)) {
45
+ if (destType === 'DateTime' && sourceType === 'String' && sourceExpr && (0, ast_1.isStringLiteral)(sourceExpr)) {
51
46
  const literal = getStringLiteral(sourceExpr);
52
47
  if (literal && isoDateTimeRegex.test(literal)) {
53
48
  // implicitly convert to DateTime
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/language-server/validator/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/language-server/validator/utils.ts"],"names":[],"mappings":"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"}