@lcap/nasl 2.14.0-beta.5 → 2.15.1

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 (137) hide show
  1. package/out/automate/template/process.js +10298 -9487
  2. package/out/automate/template/process.js.map +1 -1
  3. package/out/concepts/AnonymousFunction__.d.ts +170 -0
  4. package/out/concepts/AnonymousFunction__.js +439 -0
  5. package/out/concepts/AnonymousFunction__.js.map +1 -0
  6. package/out/concepts/AssignmentLine__.d.ts +40 -0
  7. package/out/concepts/AssignmentLine__.js +109 -0
  8. package/out/concepts/AssignmentLine__.js.map +1 -0
  9. package/out/concepts/BatchAssignment__.d.ts +248 -0
  10. package/out/concepts/BatchAssignment__.js +742 -0
  11. package/out/concepts/BatchAssignment__.js.map +1 -0
  12. package/out/concepts/BindDirective__.js +2 -2
  13. package/out/concepts/BindDirective__.js.map +1 -1
  14. package/out/concepts/BindStyle__.d.ts +126 -0
  15. package/out/concepts/BindStyle__.js +233 -0
  16. package/out/concepts/BindStyle__.js.map +1 -0
  17. package/out/concepts/ConstructArgument__.d.ts +40 -0
  18. package/out/concepts/ConstructArgument__.js +108 -0
  19. package/out/concepts/ConstructArgument__.js.map +1 -0
  20. package/out/concepts/Construct__.d.ts +189 -0
  21. package/out/concepts/Construct__.js +340 -0
  22. package/out/concepts/Construct__.js.map +1 -0
  23. package/out/concepts/Interface__.d.ts +1 -0
  24. package/out/concepts/Interface__.js +17 -5
  25. package/out/concepts/Interface__.js.map +1 -1
  26. package/out/concepts/MatchCase__.d.ts +256 -0
  27. package/out/concepts/MatchCase__.js +584 -0
  28. package/out/concepts/MatchCase__.js.map +1 -0
  29. package/out/concepts/Match__.d.ts +117 -0
  30. package/out/concepts/Match__.js +434 -0
  31. package/out/concepts/Match__.js.map +1 -0
  32. package/out/concepts/OqlQueryComponent__.d.ts +73 -0
  33. package/out/concepts/OqlQueryComponent__.js +395 -0
  34. package/out/concepts/OqlQueryComponent__.js.map +1 -0
  35. package/out/concepts/ProcessElement__.js +6 -4
  36. package/out/concepts/ProcessElement__.js.map +1 -1
  37. package/out/concepts/SelectMembers__.d.ts +141 -0
  38. package/out/concepts/SelectMembers__.js +290 -0
  39. package/out/concepts/SelectMembers__.js.map +1 -0
  40. package/out/concepts/SqlQueryComponent__.d.ts +4 -0
  41. package/out/concepts/SqlQueryComponent__.js +144 -2
  42. package/out/concepts/SqlQueryComponent__.js.map +1 -1
  43. package/out/concepts/Variable__.js +0 -1
  44. package/out/concepts/Variable__.js.map +1 -1
  45. package/out/concepts/ViewElement__.js +10 -1
  46. package/out/concepts/ViewElement__.js.map +1 -1
  47. package/out/generator/genMetaData.d.ts +10 -1
  48. package/out/generator/genMetaData.js +28 -34
  49. package/out/generator/genMetaData.js.map +1 -1
  50. package/out/server/extendBaseNode.js +17 -4
  51. package/out/server/extendBaseNode.js.map +1 -1
  52. package/out/server/naslServer.js +14 -0
  53. package/out/server/naslServer.js.map +1 -1
  54. package/out/server/stdlib/nasl.annotation.d.ts +4 -0
  55. package/out/server/stdlib/nasl.annotation.js +1 -0
  56. package/out/server/stdlib/nasl.annotation.js.map +1 -0
  57. package/out/server/stdlib/nasl.auth.d.ts +30 -0
  58. package/out/server/stdlib/nasl.auth.js +1 -0
  59. package/out/server/stdlib/nasl.auth.js.map +1 -0
  60. package/out/server/stdlib/nasl.browser.d.ts +5 -0
  61. package/out/server/stdlib/nasl.browser.js +1 -0
  62. package/out/server/stdlib/nasl.browser.js.map +1 -0
  63. package/out/server/stdlib/nasl.collection.d.ts +22 -0
  64. package/out/server/stdlib/nasl.collection.js +1 -0
  65. package/out/server/stdlib/nasl.collection.js.map +1 -0
  66. package/out/server/stdlib/nasl.configuration.d.ts +3 -0
  67. package/out/server/stdlib/nasl.configuration.js +1 -0
  68. package/out/server/stdlib/nasl.configuration.js.map +1 -0
  69. package/out/server/stdlib/nasl.core.d.ts +104 -0
  70. package/out/server/stdlib/nasl.core.js +1 -0
  71. package/out/server/stdlib/nasl.core.js.map +1 -0
  72. package/out/server/stdlib/nasl.interface.d.ts +7 -0
  73. package/out/server/stdlib/nasl.interface.js +1 -0
  74. package/out/server/stdlib/nasl.interface.js.map +1 -0
  75. package/out/server/stdlib/nasl.langUtil.d.ts +28 -0
  76. package/out/server/stdlib/nasl.langUtil.js +1 -0
  77. package/out/server/stdlib/nasl.langUtil.js.map +1 -0
  78. package/out/server/stdlib/nasl.process.d.ts +50 -0
  79. package/out/server/stdlib/nasl.process.js +1 -0
  80. package/out/server/stdlib/nasl.process.js.map +1 -0
  81. package/out/server/stdlib/nasl.ui.d.ts +186 -0
  82. package/out/server/stdlib/nasl.ui.definition.d.ts +1072 -0
  83. package/out/server/stdlib/nasl.ui.definition.js +632 -0
  84. package/out/server/stdlib/nasl.ui.definition.js.map +1 -0
  85. package/out/server/stdlib/nasl.ui.js +1 -0
  86. package/out/server/stdlib/nasl.ui.js.map +1 -0
  87. package/out/server/stdlib/nasl.util.d.ts +74 -0
  88. package/out/server/stdlib/nasl.util.js +4 -0
  89. package/out/server/stdlib/nasl.util.js.map +1 -0
  90. package/out/server/stdlib/nasl.validation.d.ts +32 -0
  91. package/out/server/stdlib/nasl.validation.js +1 -0
  92. package/out/server/stdlib/nasl.validation.js.map +1 -0
  93. package/out/server/translator.js +4 -0
  94. package/out/server/translator.js.map +1 -1
  95. package/out/service/logic/api.d.ts +9 -0
  96. package/out/service/logic/api.js +11 -0
  97. package/out/service/logic/api.js.map +1 -0
  98. package/out/service/logic/index.d.ts +2 -0
  99. package/out/service/logic/index.js +10 -0
  100. package/out/service/logic/index.js.map +1 -0
  101. package/out/templator/genCreateBlock.js +1 -1
  102. package/out/templator/genCreateBlock.js.map +1 -1
  103. package/out/templator/genCurdEditMultipleKeyBlock.js +4 -5
  104. package/out/templator/genCurdEditMultipleKeyBlock.js.map +1 -1
  105. package/out/templator/genCurdMultipleKeyBlock.js +4 -4
  106. package/out/templator/genCurdMultipleKeyBlock.js.map +1 -1
  107. package/out/templator/genEditTableBlock.js +5 -3
  108. package/out/templator/genEditTableBlock.js.map +1 -1
  109. package/out/templator/genGetBlock.js +3 -2
  110. package/out/templator/genGetBlock.js.map +1 -1
  111. package/out/templator/genTableBlock.js +4 -2
  112. package/out/templator/genTableBlock.js.map +1 -1
  113. package/out/templator/genUpdateBlock.js +1 -1
  114. package/out/templator/genUpdateBlock.js.map +1 -1
  115. package/out/templator/sql-parser/index.d.ts +1 -0
  116. package/out/templator/sql-parser/index.js +228 -0
  117. package/out/templator/sql-parser/index.js.map +1 -0
  118. package/out/templator/sql-parser/parser.js +26664 -0
  119. package/out/templator/sql-parser/parser.js.map +1 -0
  120. package/package.json +1 -1
  121. package/src/concepts/BindDirective__.ts +2 -17
  122. package/src/concepts/Interface__.ts +31 -16
  123. package/src/concepts/ProcessElement__.ts +8 -6
  124. package/src/concepts/SqlQueryComponent__.ts +143 -2
  125. package/src/concepts/Variable__.ts +0 -1
  126. package/src/concepts/ViewElement__.ts +12 -20
  127. package/src/generator/genMetaData.ts +55 -37
  128. package/src/server/extendBaseNode.ts +16 -4
  129. package/src/server/naslServer.ts +14 -0
  130. package/src/server/translator.ts +4 -0
  131. package/src/templator/genCreateBlock.ts +1 -1
  132. package/src/templator/genCurdEditMultipleKeyBlock.ts +4 -7
  133. package/src/templator/genCurdMultipleKeyBlock.ts +4 -4
  134. package/src/templator/genEditTableBlock.ts +5 -3
  135. package/src/templator/genGetBlock.ts +3 -2
  136. package/src/templator/genTableBlock.ts +4 -2
  137. package/src/templator/genUpdateBlock.ts +1 -1
@@ -0,0 +1,395 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __importDefault = (this && this.__importDefault) || function (mod) {
9
+ return (mod && mod.__esModule) ? mod : { "default": mod };
10
+ };
11
+ var OqlQueryComponent_1;
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.OqlQueryComponent = void 0;
14
+ const translator_1 = require("../translator");
15
+ const utils_1 = require("../automate/engine/utils");
16
+ const StructureProperty__1 = __importDefault(require("./StructureProperty__"));
17
+ const Identifier__1 = __importDefault(require("./Identifier__"));
18
+ const MemberExpression__1 = __importDefault(require("./MemberExpression__"));
19
+ const decorators_1 = require("../decorators");
20
+ const classMap_1 = __importDefault(require("../common/classMap"));
21
+ const LogicItem__1 = __importDefault(require("./LogicItem__"));
22
+ /**
23
+ * SQL 查询
24
+ */
25
+ let OqlQueryComponent = OqlQueryComponent_1 = class OqlQueryComponent extends LogicItem__1.default {
26
+ /**
27
+ * 产品概念
28
+ */
29
+ concept = 'OqlQueryComponent';
30
+ /**
31
+ * SQL 查询标题
32
+ */
33
+ label = 'SQL 查询';
34
+ /**
35
+ * SQL 查询
36
+ */
37
+ code = undefined;
38
+ /**
39
+ * 相关类型
40
+ */
41
+ typeAnnotation = undefined;
42
+ /**
43
+ * 数据源
44
+ */
45
+ dataSource = undefined;
46
+ /**
47
+ * @param source 需要合并的部分参数
48
+ */
49
+ constructor(source) {
50
+ source = Object.assign({}, OqlQueryComponent_1.getDefaultOptions(), source);
51
+ super(source);
52
+ super.subConstructor(source);
53
+ }
54
+ static from(source, parentNode, parentKey) {
55
+ return super.from(source, parentNode, parentKey);
56
+ }
57
+ /**
58
+ * 设置SQL 查询
59
+ */
60
+ setCode(code) {
61
+ this.codeSourceMap = null;
62
+ this.update({
63
+ code,
64
+ });
65
+ }
66
+ removeTypeAnnotation(options) {
67
+ let typeAnnotation;
68
+ if (typeof options === 'string') {
69
+ typeAnnotation = this.typeAnnotation;
70
+ if (!typeAnnotation) {
71
+ throw new Error('找不到类型标注 ' + options);
72
+ }
73
+ }
74
+ else {
75
+ typeAnnotation = options;
76
+ }
77
+ return typeAnnotation.delete();
78
+ }
79
+ __removeTypeAnnotation(typeAnnotation) {
80
+ const parentKey = typeAnnotation.parentKey;
81
+ const params = {
82
+ parentNode: this,
83
+ parentKey,
84
+ index: -1,
85
+ object: null,
86
+ oldObject: typeAnnotation,
87
+ };
88
+ if (parentKey) {
89
+ params.parentKey = parentKey;
90
+ if (Array.isArray(this[parentKey])) {
91
+ const index = this[parentKey].indexOf(typeAnnotation);
92
+ ~index && this[parentKey].splice(index, 1);
93
+ params.index = index;
94
+ }
95
+ else if (this[parentKey] === typeAnnotation) {
96
+ params.index = 0;
97
+ this[parentKey] = undefined;
98
+ }
99
+ }
100
+ return params;
101
+ }
102
+ //================================================================================
103
+ // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
104
+ // 自动生成的代码已结束。下面可以手动编写。
105
+ //================================================================================
106
+ /**
107
+ * APP数据源重命名时,同步OQL数据源;此方法仅提供给APP重命名时使用
108
+ */
109
+ renameDataSource(dataSource) {
110
+ // 此参数dataSource不带命名空间
111
+ // 考虑到扩展模块不允许重命名,所以拼接app.dataSources
112
+ this.setDataSource(`app.dataSources.${dataSource}`);
113
+ }
114
+ /**
115
+ * 设置OQL数据源
116
+ */
117
+ setDataSource(dataSource) {
118
+ this.codeSourceMap = null;
119
+ this.update({
120
+ dataSource,
121
+ });
122
+ }
123
+ // 获取内部的使用到的变量
124
+ getCodeContentVariable(sqlParser, state) {
125
+ const { columnList = [], tableList = [] } = sqlParser;
126
+ let code = '';
127
+ function formatVariable(item) {
128
+ if (item === 'select::null::(.*)')
129
+ return;
130
+ /**
131
+ "select::null::Student"
132
+ "select::null::school"
133
+ "select::null::(.*)"
134
+ "select::null::__NASL__SQL__variable12323_asdasdasd_asdasd_asdasd"
135
+ "select::null::variable2123213"
136
+ "select::student::age1"
137
+ "select::student::null"
138
+ */
139
+ let variableCode = item.replace('select::null::', '').replace('select::', '').replaceAll('::', '.');
140
+ // 处理内部变量
141
+ if (variableCode.startsWith('__NASL__SQL__')) {
142
+ variableCode = variableCode.replace('__NASL__SQL__', '').replaceAll('_', '.');
143
+ }
144
+ return variableCode;
145
+ }
146
+ code += (0, translator_1.indent)((state?.tabSize || 0) + 1) + 'function SqlQueryComponent(';
147
+ tableList.forEach((item, index) => {
148
+ const tableVariable = formatVariable(item);
149
+ code += tableVariable + `: ${this.dataSource || 'app.dataSources.defaultDS'}.entities.${tableVariable}`;
150
+ if (index !== tableList.length - 1)
151
+ code += ', ';
152
+ });
153
+ code += ') {';
154
+ columnList.forEach((item) => {
155
+ code += (0, translator_1.indent)((state?.tabSize || 0) + 2);
156
+ code += formatVariable(item) + ';\n';
157
+ });
158
+ code += (0, translator_1.indent)((state?.tabSize || 0) + 1) + '}';
159
+ return code;
160
+ }
161
+ getTextVariables() {
162
+ this._TsVariables = [];
163
+ const str = this.code;
164
+ const variables = new Set();
165
+ let temp;
166
+ const re = /\{(.+?)\}/g;
167
+ while (temp = re.exec(str)) {
168
+ let variable = temp[1];
169
+ variable = variable.replaceAll(' ', '');
170
+ variables.add(variable);
171
+ }
172
+ for (const variable of variables) { // 遍历Set
173
+ let newVariable;
174
+ if (variable.includes('.')) {
175
+ const arr = variable.split('.');
176
+ for (let i = 0; i < arr.length; i++) {
177
+ if (!newVariable) {
178
+ // value需要拼接生成
179
+ newVariable = new Identifier__1.default({ name: arr[i] });
180
+ }
181
+ else {
182
+ newVariable = new MemberExpression__1.default({
183
+ object: newVariable,
184
+ property: new Identifier__1.default({ name: arr[i] }),
185
+ });
186
+ }
187
+ }
188
+ }
189
+ else {
190
+ newVariable = new Identifier__1.default({ name: variable });
191
+ }
192
+ newVariable.parentNode = this;
193
+ newVariable.parentKey = '_TsVariables';
194
+ this._TsVariables.push(newVariable);
195
+ }
196
+ }
197
+ getTypeBanError() {
198
+ let sqlTypeBan = false;
199
+ if (this.typeAnnotation) {
200
+ const getSqlTypeBan = (typeAnnotation) => {
201
+ const ref = this.getSelectRef(typeAnnotation);
202
+ if (ref?.length) {
203
+ ref.forEach((item) => {
204
+ // 如果有类型但是类型不是基本类型,就需要打开开关,注入变量
205
+ if (item?.typeAnnotation && item.typeAnnotation.typeNamespace !== 'nasl.core' && !(item.typeAnnotation.typeNamespace.endsWith('.enums'))) {
206
+ sqlTypeBan = true;
207
+ }
208
+ });
209
+ }
210
+ };
211
+ if (this.typeAnnotation.typeArguments?.length) {
212
+ // list 就去校验一下内部的类型
213
+ if (this.typeAnnotation.typeName === 'List') {
214
+ this.typeAnnotation.typeArguments.forEach((item) => {
215
+ getSqlTypeBan(item);
216
+ });
217
+ }
218
+ else {
219
+ // 别的都不放开
220
+ sqlTypeBan = true;
221
+ }
222
+ }
223
+ else {
224
+ getSqlTypeBan(this.typeAnnotation);
225
+ }
226
+ }
227
+ return sqlTypeBan;
228
+ }
229
+ getQueryComponentTsCode(state) {
230
+ let tsCode = '';
231
+ // let sqlParser: null | any = null;
232
+ // let sqlParserErr: null | any = null;
233
+ if (!this.code)
234
+ return tsCode;
235
+ /**
236
+ * 处理变量,因为解析code,因为sql中不支持
237
+ * #{变量}这种写法
238
+ * 而且不支持a.b.c这种写法保留前两个,翻译的时候补上去
239
+ * 如果是多个.链接的变量就转换成nasl变量,让他可以翻译,等后面在把值换回来
240
+ */
241
+ /**
242
+ try {
243
+ const newCode = this.code.replace(/\#|\$\{(.+?)\}/g, (value, content) => {
244
+ console.log(content)
245
+ const len = content.split('.').length;
246
+ console.log(len, content, content.split('.'), content, content.split('.').length)
247
+ if (len > 2) {
248
+ return '__NASL__SQL__' + content.replaceAll('.', '_');
249
+ }
250
+ return content;
251
+ });
252
+ console.log(newCode);
253
+ // 生成对应的sqlts 和 产生sourceMap对应
254
+ sqlParser = SQLParser(newCode || '', 0, this.dataSource);
255
+ } catch (err) {
256
+ sqlParserErr = err;
257
+ }
258
+ console.log(sqlParser, sqlParserErr);
259
+ if (sqlParserErr) {
260
+ tsCode += '__SQL_GRAMMAR_ERROR__';
261
+ } else if (sqlParser) {
262
+ // 解析内部变量,先看是不是未知变量
263
+ // 使用 tableList 和 columnList
264
+ tsCode += this.getCodeContentVariable(sqlParser, state);
265
+ }
266
+ */
267
+ try {
268
+ tsCode += this.getVariableTs(state);
269
+ }
270
+ catch (err) {
271
+ console.log(err);
272
+ }
273
+ return tsCode;
274
+ }
275
+ getSelectRef(newTypeAnnotation) {
276
+ try {
277
+ const { typeName, typeKind, typeNamespace } = newTypeAnnotation || this.typeAnnotation;
278
+ let completionChildren;
279
+ if (typeKind === 'reference') {
280
+ if (typeNamespace === 'nasl.ui' || typeNamespace === 'nasl.process') {
281
+ const node = (0, utils_1.getNaslNodeByNodeCallee)(typeNamespace, typeName);
282
+ const properties = node?.properties || [];
283
+ completionChildren = properties;
284
+ }
285
+ else if (typeNamespace.endsWith('.enums')) {
286
+ completionChildren = [];
287
+ }
288
+ else {
289
+ const node = (0, utils_1.getNodeByNodeCallee)(this.app, typeNamespace + '.' + typeName);
290
+ const properties = node?.properties || [];
291
+ completionChildren = properties;
292
+ }
293
+ }
294
+ else if (typeKind === 'generic') {
295
+ // if (typeNamespace === 'nasl.collection' || typeNamespace === 'nasl.ui' || typeNamespace === 'nasl.interface') {
296
+ // }
297
+ const node = (0, utils_1.getNaslNodeByNodeCallee)(typeNamespace, typeName);
298
+ const properties = (node?.properties && [...node?.properties]) || [];
299
+ for (let i = 0; i < properties.length; i++) {
300
+ const item = properties[i];
301
+ if (item?.typeAnnotation?.typeKind === 'typeParam') {
302
+ const newItem = StructureProperty__1.default.from(item.toJSON());
303
+ newItem.typeAnnotation = this?.typeAnnotation?.typeArguments[0];
304
+ newItem.parentNode = this;
305
+ properties[i] = newItem;
306
+ }
307
+ }
308
+ completionChildren = properties;
309
+ }
310
+ else {
311
+ completionChildren = [];
312
+ }
313
+ return completionChildren;
314
+ }
315
+ catch (err) {
316
+ console.log(err);
317
+ }
318
+ }
319
+ toEmbeddedTS(state) {
320
+ let code;
321
+ code = `(function(): `;
322
+ code += `${this.typeAnnotation ? this.typeAnnotation.toEmbeddedTS((0, translator_1.shiftState)(state, code)) : '__IDENTIFIER__'} {\n`;
323
+ // app.dataSources.defaultDS;
324
+ if (this.dataSource) {
325
+ code += (0, translator_1.indent)((state?.tabSize || 0) + 1);
326
+ code += `const dataSource = ${this.dataSource || 'app.dataSources.defaultDS'};\n`;
327
+ }
328
+ // 生成内部的ts内容
329
+ // code += this.getQueryComponentTsCode(state);
330
+ if (this.codeSourceMap) {
331
+ code += this.codeSourceMap.typescript || '';
332
+ if (!this.code) {
333
+ // SQL 为空
334
+ code += '__OQL_EMPTY_ERROR__;';
335
+ }
336
+ else if (this.codeSourceMap.lexicalErrorCode === 1001) {
337
+ // SQL 语法错误
338
+ code += '__OQL_GRAMMAR_ERROR__;';
339
+ }
340
+ }
341
+ // 临时方案拼接字符串
342
+ this.getTextVariables();
343
+ // 翻译字段
344
+ code += '\n';
345
+ this._TsVariables.forEach((variable) => {
346
+ code += variable.toEmbeddedTS((0, translator_1.shiftState)(state, code));
347
+ code += ';\n';
348
+ });
349
+ code += '\n';
350
+ code += (0, translator_1.indent)((state?.tabSize || 0) + 1) + 'return;\n';
351
+ code += (0, translator_1.indent)((state?.tabSize || 0)) + '})()';
352
+ return code;
353
+ }
354
+ /**
355
+ * 获取添加时的默认选项
356
+ * @returns
357
+ */
358
+ static getDefaultOptions() {
359
+ return {
360
+ dataSource: 'app.dataSources.defaultDS',
361
+ };
362
+ }
363
+ _TsVariables = [];
364
+ // 节点的sourcemap
365
+ codeSourceMap = undefined;
366
+ };
367
+ __decorate([
368
+ (0, decorators_1.property)()
369
+ ], OqlQueryComponent.prototype, "concept", void 0);
370
+ __decorate([
371
+ (0, decorators_1.property)()
372
+ ], OqlQueryComponent.prototype, "label", void 0);
373
+ __decorate([
374
+ (0, decorators_1.property)()
375
+ ], OqlQueryComponent.prototype, "code", void 0);
376
+ __decorate([
377
+ (0, decorators_1.property)('TypeAnnotation')
378
+ ], OqlQueryComponent.prototype, "typeAnnotation", void 0);
379
+ __decorate([
380
+ (0, decorators_1.property)()
381
+ ], OqlQueryComponent.prototype, "dataSource", void 0);
382
+ __decorate([
383
+ (0, translator_1.withSourceMap)()
384
+ ], OqlQueryComponent.prototype, "toEmbeddedTS", null);
385
+ OqlQueryComponent = OqlQueryComponent_1 = __decorate([
386
+ (0, decorators_1.concept)('SQL 查询')
387
+ ], OqlQueryComponent);
388
+ exports.OqlQueryComponent = OqlQueryComponent;
389
+ classMap_1.default.OqlQueryComponent = OqlQueryComponent;
390
+ exports.default = OqlQueryComponent;
391
+ //================================================================================
392
+ // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
393
+ // 自动生成的代码已结束。下面可以手动编写。
394
+ //================================================================================
395
+ //# sourceMappingURL=OqlQueryComponent__.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OqlQueryComponent__.js","sourceRoot":"","sources":["../../src/concepts/OqlQueryComponent__.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,8CAAmF;AACnF,oDAAwF;AACxF,+EAAsD;AAEtD,iEAAwC;AACxC,6EAAoD;AAMpD,8CAAkE;AAKlE,kEAA0C;AAE1C,+DAAsC;AAEtC;;GAEG;AAEH,IAAa,iBAAiB,yBAA9B,MAAa,iBAAkB,SAAQ,oBAAS;IAC5C;;OAEG;IAEH,OAAO,GAAwB,mBAAmB,CAAC;IAEnD;;OAEG;IAEH,KAAK,GAAW,QAAQ,CAAC;IAEzB;;OAEG;IAEH,IAAI,GAAW,SAAS,CAAC;IAEzB;;OAEG;IAEH,cAAc,GAAmB,SAAS,CAAC;IAE3C;;OAEG;IAEH,UAAU,GAAW,SAAS,CAAC;IAE/B;;OAEG;IACH,YAAY,MAAmC;QAC3C,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,mBAAiB,CAAC,iBAAiB,EAAE,EAAE,MAAM,CAAC,CAAC;QAC1E,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,MAAW,EAAE,UAAgB,EAAE,SAAkB;QACzD,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,CAAsB,CAAC;IAC1E,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,IAAY;QAChB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,MAAM,CAAC;YACR,IAAI;SACP,CAAC,CAAC;IACP,CAAC;IAcD,oBAAoB,CAAC,OAAgC;QACjD,IAAI,cAA8B,CAAC;QACnC,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;YAC7B,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;YACrC,IAAI,CAAC,cAAc,EAAE;gBACjB,MAAM,IAAI,KAAK,CAAC,UAAU,GAAG,OAAO,CAAC,CAAC;aACzC;SACJ;aAAM;YACH,cAAc,GAAG,OAAO,CAAC;SAC5B;QACD,OAAO,cAAc,CAAC,MAAM,EAAE,CAAC;IACnC,CAAC;IAED,sBAAsB,CAAC,cAA8B;QACjD,MAAM,SAAS,GAAG,cAAc,CAAC,SAAS,CAAC;QAC3C,MAAM,MAAM,GAAW;YACnB,UAAU,EAAE,IAAI;YAChB,SAAS;YACT,KAAK,EAAE,CAAC,CAAC;YACT,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,cAAc;SAC5B,CAAC;QACF,IAAI,SAAS,EAAE;YACX,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;YAC7B,IAAI,KAAK,CAAC,OAAO,CAAE,IAAY,CAAC,SAAS,CAAC,CAAC,EAAE;gBACzC,MAAM,KAAK,GAAI,IAAY,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;gBAC/D,CAAC,KAAK,IAAK,IAAY,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gBACpD,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;aACxB;iBAAM,IAAK,IAAY,CAAC,SAAS,CAAC,KAAK,cAAc,EAAE;gBACpD,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC;gBAChB,IAAY,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;aACxC;SACJ;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,kFAAkF;IAClF,gEAAgE;IAChE,uBAAuB;IACvB,kFAAkF;IAElF;;OAEG;IACH,gBAAgB,CAAC,UAAkB;QAC/B,sBAAsB;QACtB,oCAAoC;QACpC,IAAI,CAAC,aAAa,CAAC,mBAAmB,UAAU,EAAE,CAAC,CAAC;IACxD,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,UAAkB;QAC5B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,MAAM,CAAC;YACR,UAAU;SACb,CAAC,CAAC;IACP,CAAC;IAED,cAAc;IACd,sBAAsB,CAAC,SAAc,EAAE,KAAuB;QAC1D,MAAM,EAAE,UAAU,GAAG,EAAE,EAAE,SAAS,GAAG,EAAE,EAAE,GAAG,SAAS,CAAC;QACtD,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,SAAS,cAAc,CAAC,IAAY;YAChC,IAAI,IAAI,KAAK,oBAAoB;gBAC7B,OAAO;YACX;;;;;;;;eAQG;YACH,IAAI,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YACpG,SAAS;YACT,IAAI,YAAY,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE;gBAC1C,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;aACjF;YACD,OAAO,YAAY,CAAC;QACxB,CAAC;QACD,IAAI,IAAI,IAAA,mBAAM,EAAC,CAAC,KAAK,EAAE,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,6BAA6B,CAAC;QAC1E,SAAS,CAAC,OAAO,CAAC,CAAC,IAAY,EAAE,KAAa,EAAE,EAAE;YAC9C,MAAM,aAAa,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;YAC3C,IAAI,IAAI,aAAa,GAAG,KAAK,IAAI,CAAC,UAAU,IAAI,2BAA2B,aAAa,aAAa,EAAE,CAAC;YACxG,IAAI,KAAK,KAAK,SAAS,CAAC,MAAM,GAAG,CAAC;gBAC9B,IAAI,IAAI,IAAI,CAAC;QACrB,CAAC,CAAC,CAAC;QACH,IAAI,IAAI,KAAK,CAAC;QAEd,UAAU,CAAC,OAAO,CAAC,CAAC,IAAY,EAAE,EAAE;YAChC,IAAI,IAAI,IAAA,mBAAM,EAAC,CAAC,KAAK,EAAE,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1C,IAAI,IAAI,cAAc,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;QACzC,CAAC,CAAC,CAAC;QACH,IAAI,IAAI,IAAA,mBAAM,EAAC,CAAC,KAAK,EAAE,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;QAChD,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,gBAAgB;QACZ,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,MAAM,SAAS,GAAgB,IAAI,GAAG,EAAE,CAAC;QACzC,IAAI,IAAS,CAAC;QACd,MAAM,EAAE,GAAG,YAAY,CAAC;QACxB,OAAO,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YACxB,IAAI,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACvB,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACxC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;SAC3B;QACD,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,EAAE,QAAQ;YACxC,IAAI,WAA0C,CAAC;YAC/C,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;gBACxB,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACjC,IAAI,CAAC,WAAW,EAAE;wBACd,cAAc;wBACd,WAAW,GAAG,IAAI,qBAAU,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;qBAClD;yBAAM;wBACH,WAAW,GAAG,IAAI,2BAAgB,CAAC;4BAC/B,MAAM,EAAE,WAAW;4BACnB,QAAQ,EAAE,IAAI,qBAAU,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;yBAC7C,CAAC,CAAC;qBACN;iBACJ;aACJ;iBAAM;gBACH,WAAW,GAAG,IAAI,qBAAU,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;aACpD;YACD,WAAW,CAAC,UAAU,GAAG,IAAI,CAAC;YAC9B,WAAW,CAAC,SAAS,GAAG,cAAc,CAAC;YACvC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;SACvC;IACL,CAAC;IAED,eAAe;QACX,IAAI,UAAU,GAAG,KAAK,CAAC;QACvB,IAAI,IAAI,CAAC,cAAc,EAAE;YACrB,MAAM,aAAa,GAAG,CAAC,cAA8B,EAAE,EAAE;gBACrD,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;gBAC9C,IAAI,GAAG,EAAE,MAAM,EAAE;oBACb,GAAG,CAAC,OAAO,CAAC,CAAC,IAAuB,EAAE,EAAE;wBACpC,+BAA+B;wBAC/B,IAAI,IAAI,EAAE,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,aAAa,KAAK,WAAW,IAAI,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE;4BACtI,UAAU,GAAG,IAAI,CAAC;yBACrB;oBACL,CAAC,CAAC,CAAC;iBACN;YACL,CAAC,CAAC;YACF,IAAI,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,MAAM,EAAE;gBAC3C,mBAAmB;gBACnB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,KAAK,MAAM,EAAE;oBACzC,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;wBAC/C,aAAa,CAAC,IAAI,CAAC,CAAC;oBACxB,CAAC,CAAC,CAAC;iBACN;qBAAM;oBACH,SAAS;oBACT,UAAU,GAAG,IAAI,CAAC;iBACrB;aACJ;iBAAM;gBACH,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;aACtC;SACJ;QACD,OAAO,UAAU,CAAC;IACtB,CAAC;IACD,uBAAuB,CAAC,KAAuB;QAC3C,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,oCAAoC;QACpC,uCAAuC;QAEvC,IAAI,CAAC,IAAI,CAAC,IAAI;YACV,OAAO,MAAM,CAAC;QAClB;;;;;eAKO;QAEP;;;;;;;;;;;;;;;;;;;;;;;;;WAyBG;QAEH,IAAI;YACA,MAAM,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;SACvC;QAAC,OAAO,GAAG,EAAE;YACV,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;SACpB;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,YAAY,CAAC,iBAAiC;QAC1C,IAAI;YACA,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,iBAAiB,IAAI,IAAI,CAAC,cAAc,CAAC;YACvF,IAAI,kBAAkB,CAAC;YACvB,IAAI,QAAQ,KAAK,WAAW,EAAE;gBAC1B,IAAI,aAAa,KAAK,SAAS,IAAI,aAAa,KAAK,cAAc,EAAE;oBACjE,MAAM,IAAI,GAAG,IAAA,+BAAuB,EAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;oBAC9D,MAAM,UAAU,GAAG,IAAI,EAAE,UAAU,IAAI,EAAE,CAAC;oBAC1C,kBAAkB,GAAG,UAAU,CAAC;iBACnC;qBAAM,IAAI,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;oBACzC,kBAAkB,GAAG,EAAE,CAAC;iBAC3B;qBAAM;oBACH,MAAM,IAAI,GAAG,IAAA,2BAAmB,EAAC,IAAI,CAAC,GAAG,EAAE,aAAa,GAAG,GAAG,GAAG,QAAQ,CAAC,CAAC;oBAC3E,MAAM,UAAU,GAAG,IAAI,EAAE,UAAU,IAAI,EAAE,CAAC;oBAC1C,kBAAkB,GAAG,UAAU,CAAC;iBACnC;aACJ;iBAAM,IAAI,QAAQ,KAAK,SAAS,EAAE;gBAC/B,kHAAkH;gBAClH,IAAI;gBACJ,MAAM,IAAI,GAAG,IAAA,+BAAuB,EAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;gBAC9D,MAAM,UAAU,GAAG,CAAC,IAAI,EAAE,UAAU,IAAI,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC;gBACrE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACxC,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;oBAC3B,IAAI,IAAI,EAAE,cAAc,EAAE,QAAQ,KAAK,WAAW,EAAE;wBAChD,MAAM,OAAO,GAAG,4BAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;wBACtD,OAAO,CAAC,cAAc,GAAG,IAAI,EAAE,cAAc,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;wBAChE,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;wBAC1B,UAAU,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;qBAC3B;iBACJ;gBACD,kBAAkB,GAAG,UAAU,CAAC;aACnC;iBAAM;gBACH,kBAAkB,GAAG,EAAE,CAAC;aAC3B;YACD,OAAO,kBAAkB,CAAC;SAC7B;QAAC,OAAO,GAAG,EAAE;YACV,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;SACpB;IACL,CAAC;IAGD,YAAY,CAAC,KAAuB;QAChC,IAAI,IAAY,CAAC;QACjB,IAAI,GAAG,eAAe,CAAC;QACvB,IAAI,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,IAAA,uBAAU,EAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,MAAM,CAAC;QACpH,6BAA6B;QAC7B,IAAI,IAAI,CAAC,UAAU,EAAE;YACjB,IAAI,IAAI,IAAA,mBAAM,EAAC,CAAC,KAAK,EAAE,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1C,IAAI,IAAI,sBAAsB,IAAI,CAAC,UAAU,IAAI,2BAA2B,KAAK,CAAC;SACrF;QACD,YAAY;QACZ,+CAA+C;QAE/C,IAAI,IAAI,CAAC,aAAa,EAAE;YACpB,IAAI,IAAI,IAAI,CAAC,aAAa,CAAC,UAAU,IAAI,EAAE,CAAC;YAC5C,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;gBACZ,SAAS;gBACT,IAAI,IAAI,sBAAsB,CAAC;aAClC;iBAAM,IAAI,IAAI,CAAC,aAAa,CAAC,gBAAgB,KAAK,IAAI,EAAE;gBACrD,WAAW;gBACX,IAAI,IAAI,wBAAwB,CAAC;aACpC;SACJ;QAED,YAAY;QACZ,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,OAAO;QACP,IAAI,IAAI,IAAI,CAAC;QACb,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;YACnC,IAAI,IAAI,QAAQ,CAAC,YAAY,CAAC,IAAA,uBAAU,EAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;YACvD,IAAI,IAAI,KAAK,CAAC;QAClB,CAAC,CAAC,CAAC;QACH,IAAI,IAAI,IAAI,CAAC;QACb,IAAI,IAAI,IAAA,mBAAM,EAAC,CAAC,KAAK,EAAE,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,WAAW,CAAC;QACxD,IAAI,IAAI,IAAA,mBAAM,EAAC,CAAC,KAAK,EAAE,OAAO,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;QAC/C,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,iBAAiB;QAC3B,OAAO;YACH,UAAU,EAAE,2BAA2B;SAC1C,CAAC;IACN,CAAC;IAED,YAAY,GAAwC,EAAE,CAAC;IAEvD,eAAe;IACf,aAAa,GAAQ,SAAS,CAAC;CAMlC,CAAA;AAnXG;IADC,IAAA,qBAAQ,GAAE;kDACwC;AAMnD;IADC,IAAA,qBAAQ,GAAE;gDACc;AAMzB;IADC,IAAA,qBAAQ,GAAE;+CACc;AAMzB;IADC,IAAA,qBAAQ,EAAC,gBAAgB,CAAC;yDACgB;AAM3C;IADC,IAAA,qBAAQ,GAAE;qDACoB;AAmS/B;IADC,IAAA,0BAAa,GAAE;qDAoCf;AAnWQ,iBAAiB;IAD7B,IAAA,oBAAO,EAAC,QAAQ,CAAC;GACL,iBAAiB,CAwX7B;AAxXY,8CAAiB;AA0X9B,kBAAQ,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;AAC/C,kBAAe,iBAAiB,CAAC;AACjC,kFAAkF;AAClF,gEAAgE;AAChE,uBAAuB;AACvB,kFAAkF"}
@@ -36,7 +36,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.ProcessElement = void 0;
37
37
  const translator_1 = require("../translator");
38
38
  const getProcesses_1 = require("../server/getProcesses");
39
- const server_1 = __importDefault(require("@nasl/server"));
40
39
  const decorators_1 = require("../decorators");
41
40
  const utils = __importStar(require("../utils"));
42
41
  const BaseNode_1 = __importDefault(require("../common/BaseNode"));
@@ -931,9 +930,12 @@ let ProcessElement = ProcessElement_1 = class ProcessElement extends BaseNode_1.
931
930
  const view = destination.viewNode;
932
931
  const name = this.uniqueTaskId(view);
933
932
  const node = view.params.find((param) => param.name === name);
934
- const refsList = await server_1.default._isHaveRef(node);
935
- const usagelist = refsList.filter((refs) => refs.lineText.includes(name));
936
- if (usagelist.length <= 2)
933
+ if (!node)
934
+ return;
935
+ const UsageMap = await node.findUsage();
936
+ const usageNodes = UsageMap.get(this.process);
937
+ // console.log(UsageMap, usageNodes)
938
+ if (!UsageMap.size || (UsageMap.size === 1 && usageNodes && (!usageNodes.children || usageNodes.children.length === 1)))
937
939
  view.removeParam(name);
938
940
  }
939
941
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"ProcessElement__.js","sourceRoot":"","sources":["../../src/concepts/ProcessElement__.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ProcessElement__.js","sourceRoot":"","sources":["../../src/concepts/ProcessElement__.ts"],"names":[],"mappings":"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"}