@lcap/nasl 2.20.0-beta.2 → 2.20.0-beta.4

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 (323) hide show
  1. package/out/automate/engine/index.d.ts +1 -1
  2. package/out/automate/engine/index.js +2 -3
  3. package/out/automate/engine/index.js.map +1 -1
  4. package/out/automate/engine/uniqueName.d.ts +1 -1
  5. package/out/automate/engine/uniqueName.js +2 -2
  6. package/out/automate/engine/uniqueName.js.map +1 -1
  7. package/out/automate/engine/utils.js +4 -1
  8. package/out/automate/engine/utils.js.map +1 -1
  9. package/out/automate/template/myProcess.d.ts +1 -1
  10. package/out/automate/template/myProcess.js +2 -2
  11. package/out/automate/template/myProcess.js.map +1 -1
  12. package/out/bak/translator.js +14 -22
  13. package/out/bak/translator.js.map +1 -1
  14. package/out/common/BaseNode.js +4 -1
  15. package/out/common/BaseNode.js.map +1 -1
  16. package/out/common/Command.d.ts +1 -0
  17. package/out/common/Command.js +5 -1
  18. package/out/common/Command.js.map +1 -1
  19. package/out/concepts/App__.d.ts +4 -0
  20. package/out/concepts/App__.js +30 -6
  21. package/out/concepts/App__.js.map +1 -1
  22. package/out/concepts/Assignee__.js +4 -3
  23. package/out/concepts/Assignee__.js.map +1 -1
  24. package/out/concepts/BatchAssignment__.js +3 -3
  25. package/out/concepts/BatchAssignment__.js.map +1 -1
  26. package/out/concepts/BindAttribute__.d.ts +7 -0
  27. package/out/concepts/BindAttribute__.js +270 -39
  28. package/out/concepts/BindAttribute__.js.map +1 -1
  29. package/out/concepts/BindDirective__.d.ts +7 -0
  30. package/out/concepts/BindDirective__.js +215 -17
  31. package/out/concepts/BindDirective__.js.map +1 -1
  32. package/out/concepts/BindStyle__.d.ts +7 -0
  33. package/out/concepts/BindStyle__.js +194 -4
  34. package/out/concepts/BindStyle__.js.map +1 -1
  35. package/out/concepts/CallFunction__.js +22 -8
  36. package/out/concepts/CallFunction__.js.map +1 -1
  37. package/out/concepts/CallInterface__.js +3 -2
  38. package/out/concepts/CallInterface__.js.map +1 -1
  39. package/out/concepts/CallLogic__.d.ts +3 -0
  40. package/out/concepts/CallLogic__.js +78 -89
  41. package/out/concepts/CallLogic__.js.map +1 -1
  42. package/out/concepts/CallQueryComponent__.js +20 -3
  43. package/out/concepts/CallQueryComponent__.js.map +1 -1
  44. package/out/concepts/ConfigGroup__.d.ts +1 -0
  45. package/out/concepts/ConfigGroup__.js +13 -0
  46. package/out/concepts/ConfigGroup__.js.map +1 -1
  47. package/out/concepts/ConfigProperty__.d.ts +19 -0
  48. package/out/concepts/ConfigProperty__.js +61 -0
  49. package/out/concepts/ConfigProperty__.js.map +1 -1
  50. package/out/concepts/Configuration__.d.ts +1 -0
  51. package/out/concepts/Configuration__.js +13 -0
  52. package/out/concepts/Configuration__.js.map +1 -1
  53. package/out/concepts/DataSource__.js.map +1 -1
  54. package/out/concepts/Destination__.d.ts +1 -0
  55. package/out/concepts/Destination__.js +61 -7
  56. package/out/concepts/Destination__.js.map +1 -1
  57. package/out/concepts/EntityProperty__.js +9 -1
  58. package/out/concepts/EntityProperty__.js.map +1 -1
  59. package/out/concepts/EnumItem__.d.ts +5 -5
  60. package/out/concepts/EnumItem__.js +6 -6
  61. package/out/concepts/Enum__.d.ts +20 -19
  62. package/out/concepts/Enum__.js +28 -1
  63. package/out/concepts/Enum__.js.map +1 -1
  64. package/out/concepts/ExternalDestination__.d.ts +1 -0
  65. package/out/concepts/ExternalDestination__.js +21 -3
  66. package/out/concepts/ExternalDestination__.js.map +1 -1
  67. package/out/concepts/ForEachStatement__.js +2 -0
  68. package/out/concepts/ForEachStatement__.js.map +1 -1
  69. package/out/concepts/Frontend__.d.ts +2 -1
  70. package/out/concepts/Frontend__.js.map +1 -1
  71. package/out/concepts/Identifier__.js +16 -5
  72. package/out/concepts/Identifier__.js.map +1 -1
  73. package/out/concepts/InterfaceParam__.js +9 -1
  74. package/out/concepts/InterfaceParam__.js.map +1 -1
  75. package/out/concepts/JSBlock__.js +5 -1
  76. package/out/concepts/JSBlock__.js.map +1 -1
  77. package/out/concepts/Logic__.d.ts +79 -79
  78. package/out/concepts/Logic__.js +16 -3
  79. package/out/concepts/Logic__.js.map +1 -1
  80. package/out/concepts/Match__.d.ts +0 -3
  81. package/out/concepts/Match__.js +11 -66
  82. package/out/concepts/Match__.js.map +1 -1
  83. package/out/concepts/MemberExpression__.js +9 -0
  84. package/out/concepts/MemberExpression__.js.map +1 -1
  85. package/out/concepts/Module__.d.ts +16 -0
  86. package/out/concepts/Module__.js +43 -0
  87. package/out/concepts/Module__.js.map +1 -1
  88. package/out/concepts/NewComposite__.d.ts +2 -4
  89. package/out/concepts/NewComposite__.js +91 -126
  90. package/out/concepts/NewComposite__.js.map +1 -1
  91. package/out/concepts/NewList__.d.ts +1 -0
  92. package/out/concepts/NewList__.js +22 -2
  93. package/out/concepts/NewList__.js.map +1 -1
  94. package/out/concepts/NewMap__.d.ts +1 -0
  95. package/out/concepts/NewMap__.js +43 -11
  96. package/out/concepts/NewMap__.js.map +1 -1
  97. package/out/concepts/OqlQueryComponent__.js +40 -12
  98. package/out/concepts/OqlQueryComponent__.js.map +1 -1
  99. package/out/concepts/Param__.js +10 -2
  100. package/out/concepts/Param__.js.map +1 -1
  101. package/out/concepts/ProcessElement__.js +2 -1
  102. package/out/concepts/ProcessElement__.js.map +1 -1
  103. package/out/concepts/ProcessOutcome__.js +1 -1
  104. package/out/concepts/ProcessOutcome__.js.map +1 -1
  105. package/out/concepts/ProcessOutcomes__.js +1 -1
  106. package/out/concepts/ProcessOutcomes__.js.map +1 -1
  107. package/out/concepts/Process__.js +1 -0
  108. package/out/concepts/Process__.js.map +1 -1
  109. package/out/concepts/Return__.js +10 -2
  110. package/out/concepts/Return__.js.map +1 -1
  111. package/out/concepts/StringInterpolation__.js +14 -2
  112. package/out/concepts/StringInterpolation__.js.map +1 -1
  113. package/out/concepts/StringLiteral__.js +6 -6
  114. package/out/concepts/StringLiteral__.js.map +1 -1
  115. package/out/concepts/StructureProperty__.js +9 -1
  116. package/out/concepts/StructureProperty__.js.map +1 -1
  117. package/out/concepts/TypeAnnotation__.d.ts +6 -3
  118. package/out/concepts/TypeAnnotation__.js +67 -13
  119. package/out/concepts/TypeAnnotation__.js.map +1 -1
  120. package/out/concepts/ValidationRule__.d.ts +1 -0
  121. package/out/concepts/ValidationRule__.js +53 -0
  122. package/out/concepts/ValidationRule__.js.map +1 -1
  123. package/out/concepts/Variable__.js +9 -1
  124. package/out/concepts/Variable__.js.map +1 -1
  125. package/out/concepts/ViewElement__.js +17 -1
  126. package/out/concepts/ViewElement__.js.map +1 -1
  127. package/out/concepts/View__.d.ts +1 -3
  128. package/out/concepts/View__.js +22 -11
  129. package/out/concepts/View__.js.map +1 -1
  130. package/out/concepts/basics/stdlib/nasl.collection.js +6 -1
  131. package/out/concepts/basics/stdlib/nasl.collection.js.map +1 -1
  132. package/out/concepts/basics/stdlib/nasl.configuration.js +3 -0
  133. package/out/concepts/basics/stdlib/nasl.configuration.js.map +1 -1
  134. package/out/concepts/basics/stdlib/nasl.core.d.ts +2 -0
  135. package/out/concepts/basics/stdlib/nasl.core.js +34 -0
  136. package/out/concepts/basics/stdlib/nasl.core.js.map +1 -1
  137. package/out/concepts/basics/stdlib/nasl.util.js +4 -2
  138. package/out/concepts/basics/stdlib/nasl.util.js.map +1 -1
  139. package/out/concepts/basics/types/index.d.ts +1 -0
  140. package/out/concepts/basics/types/index.js +3 -1
  141. package/out/concepts/basics/types/index.js.map +1 -1
  142. package/out/concepts/index__.d.ts +0 -1
  143. package/out/concepts/index__.js +0 -1
  144. package/out/concepts/index__.js.map +1 -1
  145. package/out/enums/KEYWORDS.js +8 -0
  146. package/out/enums/KEYWORDS.js.map +1 -1
  147. package/out/generator/genBundleFiles.js +24 -5
  148. package/out/generator/genBundleFiles.js.map +1 -1
  149. package/out/generator/genReleaseBody.d.ts +2 -3
  150. package/out/generator/genReleaseBody.js +97 -23
  151. package/out/generator/genReleaseBody.js.map +1 -1
  152. package/out/generator/permission.d.ts +2 -10
  153. package/out/generator/permission.js +27 -14
  154. package/out/generator/permission.js.map +1 -1
  155. package/out/server/entity2LogicNamespace.js +2 -20
  156. package/out/server/entity2LogicNamespace.js.map +1 -1
  157. package/out/server/extendBaseNode.js +16 -5
  158. package/out/server/extendBaseNode.js.map +1 -1
  159. package/out/server/formatTsUtils.d.ts +2 -1
  160. package/out/server/formatTsUtils.js +40 -10
  161. package/out/server/formatTsUtils.js.map +1 -1
  162. package/out/server/getLogics.d.ts +2 -2
  163. package/out/server/getLogics.js +3 -3
  164. package/out/server/getLogics.js.map +1 -1
  165. package/out/server/getMemberIdentifier.d.ts +1 -0
  166. package/out/server/getMemberIdentifier.js +27 -1
  167. package/out/server/getMemberIdentifier.js.map +1 -1
  168. package/out/server/index.js +1 -0
  169. package/out/server/index.js.map +1 -1
  170. package/out/server/naslServer.d.ts +7 -1
  171. package/out/server/naslServer.js +519 -46
  172. package/out/server/naslServer.js.map +1 -1
  173. package/out/server/translator.js +109 -33
  174. package/out/server/translator.js.map +1 -1
  175. package/out/service/storage/init.js +21 -1
  176. package/out/service/storage/init.js.map +1 -1
  177. package/out/templator/genCreateBlock.js +1 -3
  178. package/out/templator/genCreateBlock.js.map +1 -1
  179. package/out/templator/genCurdEditMultipleKeyBlock.js +1 -3
  180. package/out/templator/genCurdEditMultipleKeyBlock.js.map +1 -1
  181. package/out/templator/genCurdMultipleKeyBlock.js +2 -4
  182. package/out/templator/genCurdMultipleKeyBlock.js.map +1 -1
  183. package/out/templator/genGetBlock.js +1 -1
  184. package/out/templator/genGetBlock.js.map +1 -1
  185. package/out/templator/genGridViewBlock.js +2 -2
  186. package/out/templator/genGridViewBlock.js.map +1 -1
  187. package/out/templator/genListViewBlock.js +7 -1
  188. package/out/templator/genListViewBlock.js.map +1 -1
  189. package/out/templator/genSelectBlock.js +1 -1
  190. package/out/templator/genSelectBlock.js.map +1 -1
  191. package/out/templator/genTableBlock.js +2 -2
  192. package/out/templator/genTableBlock.js.map +1 -1
  193. package/out/templator/genUpdateBlock.js +2 -3
  194. package/out/templator/genUpdateBlock.js.map +1 -1
  195. package/out/utils/traverse.js +8 -2
  196. package/out/utils/traverse.js.map +1 -1
  197. package/package.json +2 -2
  198. package/sandbox/stdlib/dist/nasl.logging.js +0 -0
  199. package/sandbox/stdlib/dist/nasl.util.js +0 -0
  200. package/sandbox/stdlib/nasl.collection.ts +1 -0
  201. package/sandbox/stdlib/nasl.core.ts +34 -0
  202. package/sandbox/stdlib/nasl.oql.ts +71 -15
  203. package/sandbox/stdlib/nasl.util.ts +9 -3
  204. package/src/automate/engine/dist/index.dev.js +517 -0
  205. package/src/automate/engine/index.js +2 -3
  206. package/src/automate/engine/uniqueName.js +2 -2
  207. package/src/automate/engine/utils.js +4 -2
  208. package/src/automate/template/myProcess.js +2 -2
  209. package/src/bak/translator.js +16 -25
  210. package/src/common/BaseNode.ts +3 -1
  211. package/src/common/Command.ts +4 -0
  212. package/src/common/dist/BaseNode.js +1101 -0
  213. package/src/concepts/App__.ts +36 -7
  214. package/src/concepts/Assignee__.ts +4 -3
  215. package/src/concepts/BatchAssignment__.ts +3 -3
  216. package/src/concepts/BindAttribute__.ts +299 -38
  217. package/src/concepts/BindDirective__.ts +204 -31
  218. package/src/concepts/BindStyle__.ts +187 -24
  219. package/src/concepts/CallFunction__.ts +55 -10
  220. package/src/concepts/CallInterface__.ts +3 -2
  221. package/src/concepts/CallLogic__.ts +110 -90
  222. package/src/concepts/CallQueryComponent__.ts +18 -3
  223. package/src/concepts/ConfigGroup__.ts +17 -4
  224. package/src/concepts/ConfigProperty__.ts +70 -4
  225. package/src/concepts/Configuration__.ts +14 -5
  226. package/src/concepts/DataSource__.ts +4 -1
  227. package/src/concepts/Destination__.ts +61 -7
  228. package/src/concepts/EntityProperty__.ts +7 -1
  229. package/src/concepts/EnumItem__.ts +6 -6
  230. package/src/concepts/Enum__.ts +22 -19
  231. package/src/concepts/ExternalDestination__.ts +28 -8
  232. package/src/concepts/ForEachStatement__.ts +2 -0
  233. package/src/concepts/Frontend__.ts +2 -1
  234. package/src/concepts/Identifier__.ts +16 -5
  235. package/src/concepts/InterfaceParam__.ts +7 -1
  236. package/src/concepts/JSBlock__.ts +3 -2
  237. package/src/concepts/Logic__.ts +95 -83
  238. package/src/concepts/Match__.ts +31 -67
  239. package/src/concepts/MemberExpression__.ts +6 -0
  240. package/src/concepts/Module__.ts +57 -0
  241. package/src/concepts/NewComposite__.ts +95 -140
  242. package/src/concepts/NewList__.ts +23 -2
  243. package/src/concepts/NewMap__.ts +48 -24
  244. package/src/concepts/OqlQueryComponent__.ts +40 -20
  245. package/src/concepts/Param__.ts +178 -176
  246. package/src/concepts/ProcessElement__.ts +2 -1
  247. package/src/concepts/ProcessOutcome__.ts +1 -1
  248. package/src/concepts/ProcessOutcomes__.ts +1 -1
  249. package/src/concepts/Process__.ts +1 -0
  250. package/src/concepts/Return__.ts +8 -2
  251. package/src/concepts/StringInterpolation__.ts +19 -7
  252. package/src/concepts/StringLiteral__.ts +7 -6
  253. package/src/concepts/StructureProperty__.ts +7 -1
  254. package/src/concepts/TypeAnnotation__.ts +101 -14
  255. package/src/concepts/ValidationRule__.ts +58 -9
  256. package/src/concepts/Variable__.ts +11 -1
  257. package/src/concepts/ViewElement__.ts +39 -2
  258. package/src/concepts/View__.ts +26 -14
  259. package/src/concepts/basics/stdlib/dist/nasl.util.js +1602 -0
  260. package/src/concepts/basics/stdlib/dist/reference2TypeAnnotationList.js +24 -0
  261. package/src/concepts/basics/stdlib/nasl.collection.ts +6 -1
  262. package/src/concepts/basics/stdlib/nasl.configuration.ts +3 -0
  263. package/src/concepts/basics/stdlib/nasl.core.ts +33 -2
  264. package/src/concepts/basics/stdlib/nasl.util.ts +4 -2
  265. package/src/concepts/basics/types/index.ts +1 -0
  266. package/src/concepts/dist/BindAttribute__.js +795 -0
  267. package/src/concepts/dist/BindEvent__.js +732 -0
  268. package/src/concepts/dist/CallFunction__.js +527 -0
  269. package/src/concepts/dist/CallLogic__.js +932 -0
  270. package/src/concepts/dist/Destination__.js +708 -0
  271. package/src/concepts/dist/ExternalDestination__.js +298 -0
  272. package/src/concepts/dist/Identifier__.js +311 -0
  273. package/src/concepts/dist/StringInterpolation__.js +231 -0
  274. package/src/concepts/dist/TypeAnnotation__.js +834 -0
  275. package/src/concepts/dist/ViewElement__.js +1692 -0
  276. package/src/concepts/dist/View__.js +1601 -0
  277. package/src/concepts/index__.ts +0 -1
  278. package/src/enums/KEYWORDS.ts +8 -0
  279. package/src/generator/dist/genBundleFiles.js +261 -0
  280. package/src/generator/dist/genMetaData.js +245 -0
  281. package/src/generator/dist/permission.js +405 -0
  282. package/src/generator/genBundleFiles.ts +24 -5
  283. package/src/generator/genReleaseBody.ts +75 -30
  284. package/src/generator/permission.ts +31 -15
  285. package/src/server/entity2LogicNamespace.ts +2 -20
  286. package/src/server/extendBaseNode.ts +15 -5
  287. package/src/server/formatTsUtils.ts +41 -10
  288. package/src/server/getLogics.ts +4 -4
  289. package/src/server/getMemberIdentifier.ts +27 -1
  290. package/src/server/index.ts +2 -0
  291. package/src/server/naslServer.ts +520 -48
  292. package/src/server/translator.ts +96 -34
  293. package/src/service/storage/dist/init.js +579 -0
  294. package/src/service/storage/init.ts +22 -2
  295. package/src/templator/dist/genEditTableBlock.js +204 -0
  296. package/src/templator/dist/genGridViewBlock.js +265 -0
  297. package/src/templator/dist/genListViewBlock.js +84 -0
  298. package/src/templator/dist/genTableBlock.js +209 -0
  299. package/src/templator/dist/utils.js +527 -0
  300. package/src/templator/genCreateBlock.ts +1 -3
  301. package/src/templator/genCurdEditMultipleKeyBlock.ts +1 -3
  302. package/src/templator/genCurdMultipleKeyBlock.ts +2 -4
  303. package/src/templator/genGetBlock.ts +1 -1
  304. package/src/templator/genGridViewBlock.ts +3 -4
  305. package/src/templator/genListViewBlock.ts +9 -3
  306. package/src/templator/genSelectBlock.ts +1 -1
  307. package/src/templator/genTableBlock.ts +3 -3
  308. package/src/templator/genUpdateBlock.ts +2 -3
  309. package/src/utils/traverse.ts +10 -2
  310. package/ts-worker/lib/tsserver.js +10 -2
  311. package/ts-worker/package.json +1 -0
  312. package/ts-worker/webpack.config.js +11 -2
  313. package/out/concepts/ConstructArgument__.d.ts +0 -40
  314. package/out/concepts/ConstructArgument__.js +0 -108
  315. package/out/concepts/ConstructArgument__.js.map +0 -1
  316. package/out/concepts/Construct__.d.ts +0 -189
  317. package/out/concepts/Construct__.js +0 -340
  318. package/out/concepts/Construct__.js.map +0 -1
  319. package/out/templator/sql-parser/index.d.ts +0 -1
  320. package/out/templator/sql-parser/index.js +0 -228
  321. package/out/templator/sql-parser/index.js.map +0 -1
  322. package/out/templator/sql-parser/parser.js +0 -26664
  323. package/out/templator/sql-parser/parser.js.map +0 -1
@@ -0,0 +1,527 @@
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
+ exports.__esModule = true;
33
+ exports.CallFunction = void 0;
34
+ var translator_1 = require("../translator");
35
+ var Function__1 = require("./Function__");
36
+ var Identifier__1 = require("./Identifier__");
37
+ var getFunctions_1 = require("../server/getFunctions");
38
+ var AnonymousFunction__1 = require("./AnonymousFunction__");
39
+ var decorators_1 = require("../decorators");
40
+ var BaseNode_1 = require("../common/BaseNode");
41
+ var classMap_1 = require("../common/classMap");
42
+ var TypeAnnotation__1 = require("./TypeAnnotation__");
43
+ var Argument__1 = require("./Argument__");
44
+ var LogicItem__1 = require("./LogicItem__");
45
+ /**
46
+ * 调用函数
47
+ */
48
+ var CallFunction = /** @class */ (function (_super) {
49
+ __extends(CallFunction, _super);
50
+ /**
51
+ * @param source 需要合并的部分参数
52
+ */
53
+ function CallFunction(source) {
54
+ var _this = this;
55
+ source = Object.assign({}, CallFunction_1.getDefaultOptions(), source);
56
+ _this = _super.call(this, source) || this;
57
+ /**
58
+ * 产品概念
59
+ */
60
+ _this.concept = 'CallFunction';
61
+ /**
62
+ * 调用函数标题
63
+ */
64
+ _this.label = '内置函数';
65
+ /**
66
+ * calleeNamespace
67
+ */
68
+ _this.calleeNamespace = undefined;
69
+ /**
70
+ * calleeName
71
+ */
72
+ _this.calleeName = undefined;
73
+ /**
74
+ * shortcut
75
+ */
76
+ _this.shortcut = undefined;
77
+ /**
78
+ * 类型参数
79
+ */
80
+ _this.typeArguments = null;
81
+ /**
82
+ * 实际参数
83
+ */
84
+ _this.arguments = [];
85
+ _super.prototype.subConstructor.call(_this, source);
86
+ return _this;
87
+ }
88
+ CallFunction_1 = CallFunction;
89
+ CallFunction.from = function (source, parentNode, parentKey) {
90
+ return _super.from.call(this, source, parentNode, parentKey);
91
+ };
92
+ CallFunction.prototype._insertTypeAnnotationAt = function (options, index) {
93
+ var typeAnnotationOptions = {};
94
+ var relationOptions = { parentNode: this, parentKey: 'typeArguments' };
95
+ var typeAnnotation;
96
+ if (options instanceof TypeAnnotation__1["default"]) {
97
+ options.ensureDelete(); // 同一实例不支持多处存在
98
+ typeAnnotation = options;
99
+ Object.assign(typeAnnotation, relationOptions);
100
+ }
101
+ else {
102
+ typeAnnotation = TypeAnnotation__1["default"].from(__assign(__assign({}, typeAnnotationOptions), options), this, 'typeArguments');
103
+ }
104
+ this.typeArguments.splice(index, 0, typeAnnotation);
105
+ return typeAnnotation;
106
+ };
107
+ CallFunction.prototype.insertTypeAnnotationAt = function (options, index) {
108
+ var node = this._insertTypeAnnotationAt(options, index);
109
+ node.create({
110
+ index: index,
111
+ parentNode: this,
112
+ parentKey: 'typeArguments'
113
+ });
114
+ return node;
115
+ };
116
+ CallFunction.prototype._addTypeAnnotation = function (options) {
117
+ var index = this.typeArguments.length;
118
+ return this._insertTypeAnnotationAt(options, index);
119
+ };
120
+ CallFunction.prototype.addTypeAnnotation = function (options) {
121
+ var node = this._addTypeAnnotation(options);
122
+ var index = this.typeArguments.indexOf(node);
123
+ node.create({
124
+ index: index,
125
+ parentNode: this,
126
+ parentKey: 'typeArguments'
127
+ });
128
+ return node;
129
+ };
130
+ CallFunction.prototype._insertArgumentAt = function (options, index) {
131
+ var argumentOptions = {};
132
+ var relationOptions = { parentNode: this, parentKey: 'arguments' };
133
+ var argument;
134
+ if (options instanceof Argument__1["default"]) {
135
+ options.ensureDelete(); // 同一实例不支持多处存在
136
+ argument = options;
137
+ Object.assign(argument, relationOptions);
138
+ }
139
+ else {
140
+ argument = Argument__1["default"].from(__assign(__assign({}, argumentOptions), options), this, 'arguments');
141
+ }
142
+ this.arguments.splice(index, 0, argument);
143
+ return argument;
144
+ };
145
+ CallFunction.prototype.insertArgumentAt = function (options, index) {
146
+ var node = this._insertArgumentAt(options, index);
147
+ node.create({
148
+ index: index,
149
+ parentNode: this,
150
+ parentKey: 'arguments'
151
+ });
152
+ return node;
153
+ };
154
+ CallFunction.prototype._addArgument = function (options) {
155
+ var index = this.arguments.length;
156
+ return this._insertArgumentAt(options, index);
157
+ };
158
+ CallFunction.prototype.addArgument = function (options) {
159
+ var node = this._addArgument(options);
160
+ var index = this.arguments.indexOf(node);
161
+ node.create({
162
+ index: index,
163
+ parentNode: this,
164
+ parentKey: 'arguments'
165
+ });
166
+ return node;
167
+ };
168
+ CallFunction.prototype.removeTypeAnnotation = function (options) {
169
+ var typeAnnotation = options;
170
+ return typeAnnotation["delete"]();
171
+ };
172
+ CallFunction.prototype.__removeTypeAnnotation = function (typeAnnotation) {
173
+ var parentKey = typeAnnotation.parentKey;
174
+ var params = {
175
+ parentNode: this,
176
+ parentKey: parentKey,
177
+ index: -1,
178
+ object: null,
179
+ oldObject: typeAnnotation
180
+ };
181
+ if (parentKey) {
182
+ params.parentKey = parentKey;
183
+ if (Array.isArray(this[parentKey])) {
184
+ var index = this[parentKey].indexOf(typeAnnotation);
185
+ ~index && this[parentKey].splice(index, 1);
186
+ params.index = index;
187
+ }
188
+ else if (this[parentKey] === typeAnnotation) {
189
+ params.index = 0;
190
+ this[parentKey] = undefined;
191
+ }
192
+ }
193
+ return params;
194
+ };
195
+ CallFunction.prototype.removeArgument = function (options) {
196
+ var argument = options;
197
+ return argument["delete"]();
198
+ };
199
+ CallFunction.prototype.__removeLogicItem = function (logicItem) {
200
+ var parentKey = logicItem.parentKey;
201
+ var params = {
202
+ parentNode: this,
203
+ parentKey: parentKey,
204
+ index: -1,
205
+ object: null,
206
+ oldObject: logicItem
207
+ };
208
+ if (parentKey) {
209
+ params.parentKey = parentKey;
210
+ if (Array.isArray(this[parentKey])) {
211
+ var index = this[parentKey].indexOf(logicItem);
212
+ ~index && this[parentKey].splice(index, 1);
213
+ params.index = index;
214
+ }
215
+ else if (this[parentKey] === logicItem) {
216
+ params.index = 0;
217
+ this[parentKey] = undefined;
218
+ }
219
+ }
220
+ return params;
221
+ };
222
+ //================================================================================
223
+ // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
224
+ // 自动生成的代码已结束。下面可以手动编写。
225
+ //================================================================================
226
+ CallFunction.prototype.toVue = function (options) {
227
+ var _this = this;
228
+ var _a, _b, _c;
229
+ if ((options === null || options === void 0 ? void 0 : options.finalCode) === false) {
230
+ return this.toUI();
231
+ }
232
+ else {
233
+ var code_1 = "$utils['" + this.calleeName + "']";
234
+ code_1 += '(';
235
+ if (Array.isArray(this.arguments) && this.arguments.length) {
236
+ var needToString_1 = ['Concat'].includes(this.calleeName);
237
+ (_a = this.arguments) === null || _a === void 0 ? void 0 : _a.forEach(function (arg, index) {
238
+ var _a;
239
+ var argStr = arg === null || arg === void 0 ? void 0 : arg.toVue(options);
240
+ if (needToString_1) {
241
+ var argTypeAnnotation = arg.typeAnnotation || arg.__TypeAnnotation;
242
+ argStr = "$utils['ToString'](" + argStr + ", '" + (argTypeAnnotation === null || argTypeAnnotation === void 0 ? void 0 : argTypeAnnotation.sortedTypeKey) + "')";
243
+ }
244
+ code_1 += argStr;
245
+ if (index !== ((_a = _this.arguments) === null || _a === void 0 ? void 0 : _a.length) - 1)
246
+ code_1 += ', ';
247
+ });
248
+ }
249
+ if (this.typeArguments && this.typeArguments.length) {
250
+ if ((_b = this.arguments) === null || _b === void 0 ? void 0 : _b.length)
251
+ code_1 += ', ';
252
+ (_c = this.typeArguments) === null || _c === void 0 ? void 0 : _c.forEach(function (arg, index) {
253
+ var _a;
254
+ code_1 += arg === null || arg === void 0 ? void 0 : arg.toJS().replace(/"/g, "'");
255
+ if (index !== ((_a = _this.typeArguments) === null || _a === void 0 ? void 0 : _a.length) - 1)
256
+ code_1 += ', ';
257
+ });
258
+ }
259
+ code_1 += ')';
260
+ return code_1;
261
+ }
262
+ };
263
+ CallFunction.prototype.toUI = function () {
264
+ var _this = this;
265
+ var _a, _b, _c;
266
+ var code = this.calleeName;
267
+ code += '(';
268
+ (_a = this.arguments) === null || _a === void 0 ? void 0 : _a.forEach(function (arg, index) {
269
+ var _a;
270
+ code += arg === null || arg === void 0 ? void 0 : arg.toUI();
271
+ if (index !== ((_a = _this.arguments) === null || _a === void 0 ? void 0 : _a.length) - 1)
272
+ code += ', ';
273
+ });
274
+ if (this.typeArguments && this.typeArguments.length) {
275
+ if ((_b = this.arguments) === null || _b === void 0 ? void 0 : _b.length)
276
+ code += ', ';
277
+ (_c = this.typeArguments) === null || _c === void 0 ? void 0 : _c.forEach(function (arg, index) {
278
+ var _a;
279
+ code += arg === null || arg === void 0 ? void 0 : arg.typeName;
280
+ if (index !== ((_a = _this.typeArguments) === null || _a === void 0 ? void 0 : _a.length) - 1)
281
+ code += ', ';
282
+ });
283
+ }
284
+ code += ')';
285
+ return code;
286
+ };
287
+ CallFunction.prototype.toJS = function (state) {
288
+ var _this = this;
289
+ var _a, _b, _c;
290
+ var code = "this.$utils['" + this.calleeName + "']";
291
+ code += '(';
292
+ if (Array.isArray(this.arguments) && this.arguments.length) {
293
+ var needToString_2 = ['Concat'].includes(this.calleeName);
294
+ this.arguments.forEach(function (arg, index) {
295
+ var _a;
296
+ var argStr = arg === null || arg === void 0 ? void 0 : arg.toJS(translator_1.shiftState(state, code));
297
+ if (needToString_2) {
298
+ var argTypeAnnotation_1 = arg.typeAnnotation || arg.__TypeAnnotation;
299
+ argStr = "this.$utils['ToString'](" + argStr + ", '" + (argTypeAnnotation_1 === null || argTypeAnnotation_1 === void 0 ? void 0 : argTypeAnnotation_1.sortedTypeKey) + "')";
300
+ }
301
+ code += argStr;
302
+ if (index !== ((_a = _this.arguments) === null || _a === void 0 ? void 0 : _a.length) - 1)
303
+ code += ', ';
304
+ });
305
+ }
306
+ var isStringConvert = ['ToString', 'FromString'].includes(this.calleeName);
307
+ var argTypeAnnotation;
308
+ if (isStringConvert) {
309
+ if (this.calleeName === 'ToString') {
310
+ var arg = this.arguments[0];
311
+ argTypeAnnotation = arg.typeAnnotation || arg.__TypeAnnotation;
312
+ }
313
+ else if (this.calleeName === 'FromString') {
314
+ argTypeAnnotation = (_a = this.typeArguments) === null || _a === void 0 ? void 0 : _a[0];
315
+ }
316
+ }
317
+ if (argTypeAnnotation) {
318
+ code += ", '" + (argTypeAnnotation === null || argTypeAnnotation === void 0 ? void 0 : argTypeAnnotation.sortedTypeKey) + "'";
319
+ }
320
+ else {
321
+ if (Array.isArray(this.typeArguments) && this.typeArguments.length) {
322
+ if ((_b = this.arguments) === null || _b === void 0 ? void 0 : _b.length)
323
+ code += ', ';
324
+ (_c = this.typeArguments) === null || _c === void 0 ? void 0 : _c.forEach(function (arg, index) {
325
+ var _a;
326
+ code += arg === null || arg === void 0 ? void 0 : arg.toJS(translator_1.shiftState(state, code));
327
+ if (index !== ((_a = _this.typeArguments) === null || _a === void 0 ? void 0 : _a.length) - 1)
328
+ code += ', ';
329
+ });
330
+ }
331
+ }
332
+ code += ')';
333
+ var typeAnnotation = this.typeAnnotation || this.__TypeAnnotation;
334
+ var needGenInitFromSchema = typeAnnotation && (!['primitive', 'union'].includes(typeAnnotation.typeKind)
335
+ || typeAnnotation.typeName === 'DateTime');
336
+ if (needGenInitFromSchema) {
337
+ code = "this.$genInitFromSchema('" + (typeAnnotation === null || typeAnnotation === void 0 ? void 0 : typeAnnotation.sortedTypeKey) + "', " + code + ")";
338
+ }
339
+ return code;
340
+ };
341
+ CallFunction.prototype.toBrief = function () {
342
+ return this.arguments.map(function (a) { return a.toBrief(); }).join('<br />');
343
+ };
344
+ Object.defineProperty(CallFunction.prototype, "calleeKey", {
345
+ get: function () {
346
+ return this.calleeName ? "" + (this.calleeNamespace ? this.calleeNamespace + '.' : '') + this.calleeName : '__IDENTIFIER__';
347
+ },
348
+ enumerable: false,
349
+ configurable: true
350
+ });
351
+ CallFunction.prototype._setCallee = function (func) {
352
+ var _this = this;
353
+ var _a;
354
+ this.calleeNamespace = func === null || func === void 0 ? void 0 : func.getNamespace();
355
+ this.calleeName = func === null || func === void 0 ? void 0 : func.name;
356
+ this.arguments = [];
357
+ (_a = func === null || func === void 0 ? void 0 : func.params) === null || _a === void 0 ? void 0 : _a.forEach(function (param) {
358
+ _this._addArgument(undefined);
359
+ });
360
+ };
361
+ CallFunction.prototype.setCallee = function (func) {
362
+ var _this = this;
363
+ var calleeNamespace = func.getNamespace();
364
+ var calleeName = func.name;
365
+ var params = func.params.map(function (param) {
366
+ var relationOptions = { parentNode: _this, parentKey: 'arguments' };
367
+ var argument = Argument__1["default"].from({
368
+ keyword: param.name
369
+ }, _this);
370
+ if (param.defaultExpression instanceof Identifier__1["default"]) {
371
+ argument.expression = BaseNode_1["default"].from(param.defaultExpression, argument, 'expression');
372
+ }
373
+ if (param.defaultExpression instanceof Function__1["default"]) {
374
+ param.defaultExpression.returnExpression = null;
375
+ argument.expression = BaseNode_1["default"].from(param.defaultExpression, argument, 'expression');
376
+ }
377
+ Object.assign(argument, relationOptions);
378
+ return argument;
379
+ });
380
+ var typeArguments = null;
381
+ if (func.typeParams) {
382
+ typeArguments = func.typeParams.map(function () {
383
+ var relationOptions = { parentNode: _this, parentKey: 'typeArguments' };
384
+ var typeArgu = new TypeAnnotation__1["default"]();
385
+ Object.assign(typeArgu, relationOptions);
386
+ return typeArgu;
387
+ });
388
+ }
389
+ if (this.app) {
390
+ this.app.emit('collect:start', {
391
+ actionMsg: "\u5207\u6362\u5185\u7F6E\u51FD\u6570"
392
+ });
393
+ var parentNode = this.parentNode;
394
+ this.update({
395
+ calleeNamespace: calleeNamespace,
396
+ calleeName: calleeName,
397
+ arguments: params,
398
+ typeArguments: typeArguments,
399
+ folded: false
400
+ });
401
+ if (parentNode.concept === 'MemberExpression') {
402
+ var topNode = parentNode.firstMemberExpressionNode();
403
+ topNode.replaceNode(this);
404
+ }
405
+ this.detectArgs();
406
+ this.app.emit('collect:end');
407
+ }
408
+ else {
409
+ this.update({
410
+ calleeNamespace: calleeNamespace,
411
+ calleeName: calleeName,
412
+ arguments: params,
413
+ typeArguments: typeArguments,
414
+ folded: false
415
+ });
416
+ this.detectArgs();
417
+ }
418
+ };
419
+ CallFunction.prototype.detectArgs = function (obj) {
420
+ var _a;
421
+ var func = getFunctions_1.getBuildInFunction(this.calleeName);
422
+ var shouldJudge = !!func && [
423
+ 'ListDistinctBy',
424
+ 'MapDistinctBy',
425
+ 'ListGroupBy',
426
+ 'ListToMap',
427
+ 'MapFilter',
428
+ ].includes(this.calleeName);
429
+ if (shouldJudge && Array.isArray(this.arguments)) {
430
+ var depParamIdx_1 = func.params.findIndex(function (param) { return ['list', 'map'].includes(param.name); });
431
+ if (depParamIdx_1 !== -1) {
432
+ var depArgExpression_1 = (_a = this.arguments) === null || _a === void 0 ? void 0 : _a[depParamIdx_1].expression;
433
+ this.arguments.forEach(function (arg, index) {
434
+ if (depParamIdx_1 !== index && !depArgExpression_1) {
435
+ arg.illegalTip = "\u8BF7\u5148\u6DFB\u52A0" + func.params[depParamIdx_1].name;
436
+ }
437
+ else {
438
+ if (arg.illegalTip) {
439
+ delete arg.illegalTip;
440
+ }
441
+ }
442
+ });
443
+ }
444
+ }
445
+ };
446
+ CallFunction.prototype.toEmbeddedTS = function (state) {
447
+ var _this = this;
448
+ var code = '';
449
+ var calleeKey = this.calleeKey;
450
+ if (['nasl.util.Convert', 'nasl.util.FromString'].includes(calleeKey)) {
451
+ // nasl.util.Convert(variable1)<nasl.core.String>();
452
+ // 单独处理
453
+ code = calleeKey;
454
+ code += '(';
455
+ this.arguments.forEach(function (arg, index) {
456
+ code += arg.toEmbeddedTS(translator_1.shiftState(state, code, { tabSize: 0 }));
457
+ if (index !== _this.arguments.length - 1)
458
+ code += ', ';
459
+ });
460
+ code += ')';
461
+ // 如果有内容
462
+ var typeAnnotation = this.typeArguments[0];
463
+ code += "<";
464
+ code += typeAnnotation.toEmbeddedTS(translator_1.shiftState(state, code, { tabSize: 0 })) + ">()";
465
+ }
466
+ else {
467
+ code = this.calleeKey;
468
+ if (Array.isArray(this.typeArguments) && this.typeArguments.length) {
469
+ // 如果有内容
470
+ var typeAnnotation = this.typeArguments[0];
471
+ code += "<";
472
+ code += typeAnnotation.toEmbeddedTS(translator_1.shiftState(state, code, { tabSize: 0 })) + ">";
473
+ }
474
+ code += '(';
475
+ Array.isArray(this.arguments) && this.arguments.forEach(function (arg, index) {
476
+ code += arg.toEmbeddedTS(translator_1.shiftState(state, code, { tabSize: 0 }));
477
+ if (index !== _this.arguments.length - 1)
478
+ code += ', ';
479
+ });
480
+ code += ')';
481
+ }
482
+ return code;
483
+ };
484
+ CallFunction.prototype.checkParamNameOfAnonymousFunction = function () {
485
+ var fns = this.arguments.map(function (arg) { return arg.expression; })
486
+ .filter(function (exp) { return exp instanceof AnonymousFunction__1["default"]; });
487
+ fns.forEach(function (fn) {
488
+ fn.checkParamName();
489
+ });
490
+ };
491
+ var CallFunction_1;
492
+ __decorate([
493
+ decorators_1.property()
494
+ ], CallFunction.prototype, "concept");
495
+ __decorate([
496
+ decorators_1.property()
497
+ ], CallFunction.prototype, "label");
498
+ __decorate([
499
+ decorators_1.property()
500
+ ], CallFunction.prototype, "calleeNamespace");
501
+ __decorate([
502
+ decorators_1.property()
503
+ ], CallFunction.prototype, "calleeName");
504
+ __decorate([
505
+ decorators_1.property()
506
+ ], CallFunction.prototype, "shortcut");
507
+ __decorate([
508
+ decorators_1.property('TypeAnnotation')
509
+ ], CallFunction.prototype, "typeArguments");
510
+ __decorate([
511
+ decorators_1.property('Argument')
512
+ ], CallFunction.prototype, "arguments");
513
+ __decorate([
514
+ translator_1.withSourceMap()
515
+ ], CallFunction.prototype, "toEmbeddedTS");
516
+ CallFunction = CallFunction_1 = __decorate([
517
+ decorators_1.concept('调用函数')
518
+ ], CallFunction);
519
+ return CallFunction;
520
+ }(LogicItem__1["default"]));
521
+ exports.CallFunction = CallFunction;
522
+ classMap_1["default"].CallFunction = CallFunction;
523
+ exports["default"] = CallFunction;
524
+ //================================================================================
525
+ // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
526
+ // 自动生成的代码已结束。下面可以手动编写。
527
+ //================================================================================