@lcap/nasl 2.18.0-beta.3 → 2.18.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.
Files changed (84) hide show
  1. package/out/bak/translator.js +1 -1
  2. package/out/bak/translator.js.map +1 -1
  3. package/out/concepts/LogicItem__.js.map +1 -1
  4. package/out/concepts/Logic__.js +4 -4
  5. package/out/concepts/Logic__.js.map +1 -1
  6. package/out/concepts/MatchExpression__.d.ts +97 -0
  7. package/out/concepts/MatchExpression__.js +281 -0
  8. package/out/concepts/MatchExpression__.js.map +1 -0
  9. package/out/concepts/Match__.js +1 -1
  10. package/out/concepts/Match__.js.map +1 -1
  11. package/out/concepts/MemberExpression__.js.map +1 -1
  12. package/out/concepts/OqlQueryComponent__.js.map +1 -1
  13. package/out/concepts/Param__.js +2 -2
  14. package/out/concepts/Param__.js.map +1 -1
  15. package/out/concepts/Return__.js +1 -1
  16. package/out/concepts/Return__.js.map +1 -1
  17. package/out/concepts/StringInterpolation__.d.ts +16 -16
  18. package/out/concepts/StringInterpolation__.js +12 -12
  19. package/out/concepts/StringInterpolation__.js.map +1 -1
  20. package/out/concepts/ValidationRule__.js.map +1 -1
  21. package/out/concepts/Variable__.js +1 -1
  22. package/out/concepts/Variable__.js.map +1 -1
  23. package/out/concepts/View__.js +2 -2
  24. package/out/concepts/View__.js.map +1 -1
  25. package/out/server/naslServer.d.ts +2 -1
  26. package/out/server/naslServer.js +84 -38
  27. package/out/server/naslServer.js.map +1 -1
  28. package/out/templator/genQueryComponent.d.ts +2 -2
  29. package/out/templator/genQueryComponent.js +4 -1
  30. package/out/templator/genQueryComponent.js.map +1 -1
  31. package/out/templator/sql-parser/index.d.ts +1 -0
  32. package/out/templator/sql-parser/index.js +228 -0
  33. package/out/templator/sql-parser/index.js.map +1 -0
  34. package/out/templator/sql-parser/parser.js +26664 -0
  35. package/out/templator/sql-parser/parser.js.map +1 -0
  36. package/package.json +3 -4
  37. package/src/automate/engine/dist/index.dev.js +517 -0
  38. package/src/bak/translator.js +1 -1
  39. package/src/common/dist/BaseNode.js +1101 -0
  40. package/src/concepts/CallInterface__.ts +9 -9
  41. package/src/concepts/Destination__.ts +9 -9
  42. package/src/concepts/ExternalDestination__.ts +5 -5
  43. package/src/concepts/LogicItem__.ts +4 -0
  44. package/src/concepts/Logic__.ts +42 -5
  45. package/src/concepts/Match__.ts +21 -1
  46. package/src/concepts/MemberExpression__.ts +11 -0
  47. package/src/concepts/OqlQueryComponent__.ts +7 -0
  48. package/src/concepts/Param__.ts +3 -2
  49. package/src/concepts/Return__.ts +5 -1
  50. package/src/concepts/StringInterpolation__.ts +26 -26
  51. package/src/concepts/UnaryExpression__.ts +4 -4
  52. package/src/concepts/ValidationRule__.ts +1 -1
  53. package/src/concepts/Variable__.ts +1 -1
  54. package/src/concepts/ViewElement__.ts +1 -1
  55. package/src/concepts/View__.ts +2 -2
  56. package/src/concepts/basics/stdlib/dist/reference2TypeAnnotationList.js +24 -0
  57. package/src/concepts/dist/Anchor__.js +179 -0
  58. package/src/concepts/dist/Assignment__.js +301 -0
  59. package/src/concepts/dist/CallFunction__.js +473 -0
  60. package/src/concepts/dist/CallInterface__.js +533 -0
  61. package/src/concepts/dist/CallLogic__.js +864 -0
  62. package/src/concepts/dist/ForEachStatement__.js +426 -0
  63. package/src/concepts/dist/MatchCase__.js +587 -0
  64. package/src/concepts/dist/MemberExpression__.js +348 -0
  65. package/src/concepts/dist/Param__.js +537 -0
  66. package/src/concepts/dist/Return__.js +493 -0
  67. package/src/generator/dist/genBundleFiles.js +414 -0
  68. package/src/server/dist/formatTsUtils.js +683 -0
  69. package/src/server/dist/naslServer.js +3396 -0
  70. package/src/server/naslServer.ts +84 -39
  71. package/src/service/storage/dist/init.js +541 -0
  72. package/src/templator/genQueryComponent.ts +8 -3
  73. package/ts-worker/dist/webpack.config.dev.js +104 -0
  74. package/ts-worker/lib/cancellationToken.js +67 -0
  75. package/ts-worker/lib/dist/tsserver.dev.js +22953 -0
  76. package/ts-worker/lib/harness.js +1 -1
  77. package/ts-worker/sources/lib/dist/tsserver.dev.js +22912 -0
  78. package/ts-worker/src/start.js +1 -1
  79. package/ts-worker/webpack.config.js +3 -1
  80. package/dist/bundle.js +0 -3962
  81. package/dist/bundle.js.LICENSE.txt +0 -16
  82. package/out/generator/release.d.ts +0 -1
  83. package/out/generator/release.js +0 -51
  84. package/out/generator/release.js.map +0 -1
@@ -0,0 +1,537 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ extendStatics(d, b);
11
+ function __() { this.constructor = d; }
12
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
13
+ };
14
+ })();
15
+ var __assign = (this && this.__assign) || function () {
16
+ __assign = Object.assign || function(t) {
17
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
18
+ s = arguments[i];
19
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
20
+ t[p] = s[p];
21
+ }
22
+ return t;
23
+ };
24
+ return __assign.apply(this, arguments);
25
+ };
26
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
27
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
28
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
29
+ 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;
30
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
31
+ };
32
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
33
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
34
+ return new (P || (P = Promise))(function (resolve, reject) {
35
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
36
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
37
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
38
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
39
+ });
40
+ };
41
+ var __generator = (this && this.__generator) || function (thisArg, body) {
42
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
43
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
44
+ function verb(n) { return function (v) { return step([n, v]); }; }
45
+ function step(op) {
46
+ if (f) throw new TypeError("Generator is already executing.");
47
+ while (_) try {
48
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
49
+ if (y = 0, t) op = [op[0] & 2, t.value];
50
+ switch (op[0]) {
51
+ case 0: case 1: t = op; break;
52
+ case 4: _.label++; return { value: op[1], done: false };
53
+ case 5: _.label++; y = op[1]; op = [0]; continue;
54
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
55
+ default:
56
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
57
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
58
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
59
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
60
+ if (t[2]) _.ops.pop();
61
+ _.trys.pop(); continue;
62
+ }
63
+ op = body.call(thisArg, _);
64
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
65
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
66
+ }
67
+ };
68
+ var __spreadArrays = (this && this.__spreadArrays) || function () {
69
+ for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
70
+ for (var r = Array(s), k = 0, i = 0; i < il; i++)
71
+ for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
72
+ r[k] = a[j];
73
+ return r;
74
+ };
75
+ exports.__esModule = true;
76
+ exports.Param = void 0;
77
+ var types_1 = require("./basics/types");
78
+ var translator_1 = require("../translator");
79
+ var StructureProperty__1 = require("./StructureProperty__");
80
+ var utils_1 = require("../automate/engine/utils");
81
+ var Function__1 = require("./Function__");
82
+ function tryJSONParse(str) {
83
+ var result;
84
+ try {
85
+ result = JSON.parse(str);
86
+ }
87
+ catch (e) { }
88
+ return result;
89
+ }
90
+ var decorators_1 = require("../decorators");
91
+ var BaseNode_1 = require("../common/BaseNode");
92
+ var classMap_1 = require("../common/classMap");
93
+ var TypeAnnotation__1 = require("./TypeAnnotation__");
94
+ /**
95
+ * 输入参数
96
+ */
97
+ var Param = /** @class */ (function (_super) {
98
+ __extends(Param, _super);
99
+ /**
100
+ * @param source 需要合并的部分参数
101
+ */
102
+ function Param(source) {
103
+ var _this = this;
104
+ source = Object.assign({}, Param_1.getDefaultOptions(), source);
105
+ _this = _super.call(this, source) || this;
106
+ /**
107
+ * 产品概念
108
+ */
109
+ _this.concept = 'Param';
110
+ /**
111
+ * 输入参数名称
112
+ */
113
+ _this.name = undefined;
114
+ /**
115
+ * 输入参数描述
116
+ */
117
+ _this.description = undefined;
118
+ /**
119
+ * 类型
120
+ */
121
+ _this.typeAnnotation = undefined;
122
+ /**
123
+ * 是否必填
124
+ */
125
+ _this.required = undefined;
126
+ /**
127
+ * 默认值
128
+ */
129
+ _this.defaultValue = undefined;
130
+ //================================================================================
131
+ // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
132
+ // 自动生成的代码已结束。下面可以手动编写。
133
+ //================================================================================
134
+ _this.defaultExpression = undefined;
135
+ _this.options = undefined;
136
+ _this.useComponent = undefined;
137
+ /**
138
+ * 自动补全的属性列表
139
+ */
140
+ _this.completionChildren = undefined;
141
+ _this._readonly = false;
142
+ _super.prototype.subConstructor.call(_this, source);
143
+ return _this;
144
+ }
145
+ Param_1 = Param;
146
+ Object.defineProperty(Param.prototype, "logic", {
147
+ /**
148
+ * 祖先 Logic
149
+ */
150
+ get: function () {
151
+ return this.getAncestor('Logic');
152
+ },
153
+ enumerable: false,
154
+ configurable: true
155
+ });
156
+ Object.defineProperty(Param.prototype, "module", {
157
+ /**
158
+ * 祖先 Module
159
+ */
160
+ get: function () {
161
+ return this.getAncestor('Module');
162
+ },
163
+ enumerable: false,
164
+ configurable: true
165
+ });
166
+ Object.defineProperty(Param.prototype, "app", {
167
+ /**
168
+ * 祖先 App
169
+ */
170
+ get: function () {
171
+ return this.getAncestor('App');
172
+ },
173
+ enumerable: false,
174
+ configurable: true
175
+ });
176
+ Object.defineProperty(Param.prototype, "view", {
177
+ /**
178
+ * 祖先 View
179
+ */
180
+ get: function () {
181
+ return this.getAncestor('View');
182
+ },
183
+ enumerable: false,
184
+ configurable: true
185
+ });
186
+ Object.defineProperty(Param.prototype, "processElement", {
187
+ /**
188
+ * 祖先 ProcessElement
189
+ */
190
+ get: function () {
191
+ return this.getAncestor('ProcessElement');
192
+ },
193
+ enumerable: false,
194
+ configurable: true
195
+ });
196
+ Object.defineProperty(Param.prototype, "process", {
197
+ /**
198
+ * 祖先 Process
199
+ */
200
+ get: function () {
201
+ return this.getAncestor('Process');
202
+ },
203
+ enumerable: false,
204
+ configurable: true
205
+ });
206
+ Param.from = function (source, parentNode, parentKey) {
207
+ return _super.from.call(this, source, parentNode, parentKey);
208
+ };
209
+ /**
210
+ * 从父级删除该节点
211
+ * @internal
212
+ */
213
+ Param.prototype._delete = function () {
214
+ var _a, _b;
215
+ var params = null;
216
+ if (this.parentNode) {
217
+ params = (_b = (_a = this.parentNode) === null || _a === void 0 ? void 0 : _a.__removeParam) === null || _b === void 0 ? void 0 : _b.call(_a, this);
218
+ }
219
+ return params;
220
+ };
221
+ /**
222
+ * 设置输入参数名称
223
+ */
224
+ Param.prototype.setName = function (name) {
225
+ var object = {
226
+ name: name
227
+ };
228
+ this.update(__assign(__assign({}, object), { field: 'name' }));
229
+ };
230
+ /**
231
+ * 设置输入参数描述
232
+ */
233
+ Param.prototype.setDescription = function (description) {
234
+ var object = {
235
+ description: description
236
+ };
237
+ this.update(__assign({}, object));
238
+ };
239
+ /**
240
+ * 设置是否必填
241
+ */
242
+ Param.prototype.setRequired = function (required) {
243
+ var object = {
244
+ required: required
245
+ };
246
+ this.update(__assign({}, object));
247
+ };
248
+ /**
249
+ * 设置默认值
250
+ */
251
+ Param.prototype.setDefaultValue = function (defaultValue) {
252
+ var object = {
253
+ defaultValue: defaultValue
254
+ };
255
+ this.update(__assign({}, object));
256
+ };
257
+ Param.prototype.removeTypeAnnotation = function (options) {
258
+ var typeAnnotation;
259
+ if (typeof options === 'string') {
260
+ typeAnnotation = this.typeAnnotation;
261
+ if (!typeAnnotation) {
262
+ throw new Error('找不到类型标注 ' + options);
263
+ }
264
+ }
265
+ else {
266
+ typeAnnotation = options;
267
+ }
268
+ return typeAnnotation["delete"]();
269
+ };
270
+ Param.prototype.__removeTypeAnnotation = function (typeAnnotation) {
271
+ var parentKey = typeAnnotation.parentKey;
272
+ var params = {
273
+ parentNode: this,
274
+ parentKey: parentKey,
275
+ index: -1,
276
+ object: null,
277
+ oldObject: typeAnnotation
278
+ };
279
+ if (parentKey) {
280
+ params.parentKey = parentKey;
281
+ if (Array.isArray(this[parentKey])) {
282
+ var index = this[parentKey].indexOf(typeAnnotation);
283
+ ~index && this[parentKey].splice(index, 1);
284
+ params.index = index;
285
+ }
286
+ else if (this[parentKey] === typeAnnotation) {
287
+ params.index = 0;
288
+ this[parentKey] = undefined;
289
+ }
290
+ }
291
+ return params;
292
+ };
293
+ Param.prototype.toJS = function (state) {
294
+ var _a;
295
+ if (this.view) {
296
+ var typeAnnotation = this.typeAnnotation || this.__TypeAnnotation;
297
+ var needGenInitFromSchema = typeAnnotation && !['primitive', 'union'].includes(typeAnnotation.typeKind);
298
+ var code = this.name + " = ";
299
+ if (needGenInitFromSchema) {
300
+ code += "this.$genInitFromSchema('" + (typeAnnotation === null || typeAnnotation === void 0 ? void 0 : typeAnnotation.sortedTypeKey) + "',";
301
+ }
302
+ var defaultValue = this.defaultValue;
303
+ var defaultValueType = Object.prototype.toString.call(defaultValue);
304
+ var _b = typeAnnotation || {}, typeKind = _b.typeKind, typeNamespace = _b.typeNamespace, typeName = _b.typeName;
305
+ // 设置成null,才能同步给后端清除该值,但是null对checkbox组件是一种特殊状态
306
+ var parsedValue = defaultValue !== null && defaultValue !== void 0 ? defaultValue : undefined;
307
+ if (defaultValueType === '[object String]'
308
+ && (!(typeKind === 'primitive' && typeNamespace === 'nasl.core' && ['String', 'Text', 'Email'].includes(typeName))
309
+ && !(this.isEnum())
310
+ && !['union'].includes(typeKind))) {
311
+ // 一些特殊情况,特殊处理成undefined
312
+ // 1.defaultValue在nasl节点上错误得赋值给了空制符串
313
+ if ([''].includes(defaultValue)) {
314
+ parsedValue = undefined;
315
+ }
316
+ else {
317
+ parsedValue = (_a = tryJSONParse(defaultValue)) !== null && _a !== void 0 ? _a : defaultValue;
318
+ }
319
+ }
320
+ code += this.name + " || (this.$route.query.hasOwnProperty('" + this.name + "') ? this.$genInitFromSchema('" + (typeAnnotation === null || typeAnnotation === void 0 ? void 0 : typeAnnotation.sortedTypeKey) + "', this.$route.query." + this.name + ") : " + JSON.stringify(this.defaultValue) + ")";
321
+ if (needGenInitFromSchema) {
322
+ code += ")";
323
+ }
324
+ return code;
325
+ }
326
+ else {
327
+ return '';
328
+ }
329
+ };
330
+ Param.prototype.isEnum = function () {
331
+ var _a;
332
+ return (_a = this.typeAnnotation) === null || _a === void 0 ? void 0 : _a.typeNamespace.endsWith('.enums');
333
+ };
334
+ Param.prototype.toEmbeddedTS = function (state, dontType) {
335
+ var _a;
336
+ var code = this.name;
337
+ // 回调函数类的参数
338
+ if (this.defaultExpression instanceof Function__1["default"]) {
339
+ code += ': ';
340
+ code += this.defaultExpression.toEmbeddedTSDefinition(translator_1.shiftState(state, code));
341
+ }
342
+ else if (!dontType && this.typeAnnotation) {
343
+ code += ': ';
344
+ code += this.typeAnnotation.toEmbeddedTS(translator_1.shiftState(state, code));
345
+ // toTS暂时只需要翻译引用数据类型的,因为值都是字符串
346
+ // 就不在这里赋值了,这里单纯就为了快速查找
347
+ // 并且屏蔽了一些异常的错误
348
+ if (((_a = this.typeAnnotation) === null || _a === void 0 ? void 0 : _a.typeKind) !== 'primitive' && this.defaultValue) {
349
+ if (this.isEnum()) {
350
+ code += "= " + this.typeAnnotation.typeKey + "['" + this.defaultValue + "']";
351
+ }
352
+ }
353
+ }
354
+ return code;
355
+ };
356
+ Param.prototype.toEmbeddedNameTS = function (state) {
357
+ return "" + this.name;
358
+ };
359
+ Param.prototype.setDataType = function (typeAnnotation) {
360
+ var _a;
361
+ return __awaiter(this, arguments, void 0, function () {
362
+ var relationOptions, object;
363
+ return __generator(this, function (_b) {
364
+ if (typeof typeAnnotation === 'string') {
365
+ typeAnnotation = types_1.dataTypesMap[typeAnnotation];
366
+ if (!typeAnnotation)
367
+ // eslint-disable-next-line prefer-rest-params
368
+ throw new Error('找不到类型:' + arguments[0]);
369
+ }
370
+ else {
371
+ (_a = typeAnnotation._delete) === null || _a === void 0 ? void 0 : _a.call(typeAnnotation);
372
+ relationOptions = { parentId: this.id, parentConcept: this.concept, parentNode: this };
373
+ Object.assign(typeAnnotation, relationOptions);
374
+ }
375
+ object = {
376
+ typeAnnotation: typeAnnotation
377
+ };
378
+ // 切换类型的时候如果有默认值就清除掉
379
+ if (this.defaultValue) {
380
+ object.defaultValue = '';
381
+ }
382
+ try {
383
+ this.completionChildren = this.getSelectRef(typeAnnotation);
384
+ }
385
+ catch (err) {
386
+ this.completionChildren = [];
387
+ console.log(err);
388
+ }
389
+ // 处理下拉属性
390
+ return [2 /*return*/, this.update(__assign({}, object))];
391
+ });
392
+ });
393
+ };
394
+ Param.getDefaultOptions = function () {
395
+ return {
396
+ required: true,
397
+ defaultValue: '',
398
+ typeAnnotation: {
399
+ concept: 'TypeAnnotation',
400
+ typeKind: 'primitive',
401
+ typeNamespace: 'nasl.core',
402
+ typeName: 'String'
403
+ }
404
+ };
405
+ };
406
+ Object.defineProperty(Param.prototype, "readonly", {
407
+ /**
408
+ * 是否可编辑
409
+ * */
410
+ get: function () {
411
+ return !!this.module || this._readonly;
412
+ },
413
+ set: function (val) {
414
+ this._readonly = val;
415
+ },
416
+ enumerable: false,
417
+ configurable: true
418
+ });
419
+ Object.defineProperty(Param.prototype, "hasChildren", {
420
+ get: function () {
421
+ var _a = this.typeAnnotation, typeKind = _a.typeKind, typeNamespace = _a.typeNamespace;
422
+ if (typeKind === 'reference' || typeKind === 'generic') {
423
+ if (typeNamespace.endsWith('.enums'))
424
+ return null;
425
+ return [{}];
426
+ }
427
+ return null;
428
+ },
429
+ enumerable: false,
430
+ configurable: true
431
+ });
432
+ Object.defineProperty(Param.prototype, "isTreeLeaf", {
433
+ get: function () {
434
+ return !this.hasChildren;
435
+ },
436
+ enumerable: false,
437
+ configurable: true
438
+ });
439
+ Param.prototype.getSelectRef = function (newTypeAnnotation) {
440
+ var _a, _b, _c, _d, _e;
441
+ try {
442
+ var _f = newTypeAnnotation || this.typeAnnotation, typeName = _f.typeName, typeKind = _f.typeKind, typeNamespace = _f.typeNamespace;
443
+ var completionChildren = void 0;
444
+ if (typeKind === 'reference') {
445
+ if (typeNamespace === 'nasl.ui' || typeNamespace === 'nasl.process' || typeNamespace === 'nasl.auth') {
446
+ var node = utils_1.getNaslNodeByNodeCallee(typeNamespace, typeName);
447
+ var properties = ((_a = node) === null || _a === void 0 ? void 0 : _a.properties) || [];
448
+ completionChildren = properties;
449
+ }
450
+ else if (typeNamespace.endsWith('.enums')) {
451
+ completionChildren = [];
452
+ }
453
+ else {
454
+ var node = utils_1.getNodeByNodeCallee(this.app, typeNamespace + '.' + typeName);
455
+ var properties = (node === null || node === void 0 ? void 0 : node.properties) || [];
456
+ completionChildren = properties;
457
+ }
458
+ }
459
+ else if (typeKind === 'generic') {
460
+ // if (typeNamespace === 'nasl.collection' || typeNamespace === 'nasl.ui' || typeNamespace === 'nasl.interface') {
461
+ // }
462
+ var node = utils_1.getNaslNodeByNodeCallee(typeNamespace, typeName);
463
+ var properties = (((_b = node) === null || _b === void 0 ? void 0 : _b.properties) && __spreadArrays((_c = node) === null || _c === void 0 ? void 0 : _c.properties)) || [];
464
+ for (var i = 0; i < properties.length; i++) {
465
+ var item = properties[i];
466
+ if (((_d = item === null || item === void 0 ? void 0 : item.typeAnnotation) === null || _d === void 0 ? void 0 : _d.typeKind) === 'typeParam') {
467
+ var newItem = StructureProperty__1["default"].from(item.toJSON());
468
+ newItem.typeAnnotation = (_e = this === null || this === void 0 ? void 0 : this.typeAnnotation) === null || _e === void 0 ? void 0 : _e.typeArguments[0];
469
+ newItem.parentNode = this;
470
+ properties[i] = newItem;
471
+ }
472
+ }
473
+ completionChildren = properties;
474
+ }
475
+ else {
476
+ completionChildren = [];
477
+ }
478
+ return completionChildren;
479
+ }
480
+ catch (err) {
481
+ console.log(err);
482
+ }
483
+ };
484
+ Param.prototype.setnNewTypeAnnotation = function (oldTypeAnnotation) {
485
+ var json = oldTypeAnnotation.toJSON();
486
+ var typeAnnotation = TypeAnnotation__1["default"].from(json);
487
+ this.typeAnnotation = typeAnnotation;
488
+ };
489
+ var Param_1;
490
+ __decorate([
491
+ decorators_1.property()
492
+ ], Param.prototype, "concept");
493
+ __decorate([
494
+ decorators_1.property()
495
+ ], Param.prototype, "name");
496
+ __decorate([
497
+ decorators_1.property()
498
+ ], Param.prototype, "description");
499
+ __decorate([
500
+ decorators_1.property('TypeAnnotation')
501
+ ], Param.prototype, "typeAnnotation");
502
+ __decorate([
503
+ decorators_1.property()
504
+ ], Param.prototype, "required");
505
+ __decorate([
506
+ decorators_1.property()
507
+ ], Param.prototype, "defaultValue");
508
+ __decorate([
509
+ decorators_1.excludedInJSON(),
510
+ decorators_1.property()
511
+ ], Param.prototype, "defaultExpression");
512
+ __decorate([
513
+ decorators_1.excludedInJSON(),
514
+ decorators_1.property()
515
+ ], Param.prototype, "options");
516
+ __decorate([
517
+ decorators_1.excludedInJSON(),
518
+ decorators_1.property()
519
+ ], Param.prototype, "useComponent");
520
+ __decorate([
521
+ translator_1.withSourceMap()
522
+ ], Param.prototype, "toEmbeddedTS");
523
+ __decorate([
524
+ translator_1.withSourceMap()
525
+ ], Param.prototype, "toEmbeddedNameTS");
526
+ Param = Param_1 = __decorate([
527
+ decorators_1.concept('输入参数')
528
+ ], Param);
529
+ return Param;
530
+ }(BaseNode_1["default"]));
531
+ exports.Param = Param;
532
+ classMap_1["default"].Param = Param;
533
+ exports["default"] = Param;
534
+ //================================================================================
535
+ // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
536
+ // 自动生成的代码已结束。下面可以手动编写。
537
+ //================================================================================