@lcap/nasl 2.20.0-beta.2 → 2.20.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 (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,932 @@
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.CallLogic = void 0;
34
+ var translator_1 = require("../translator");
35
+ var View__1 = require("./View__");
36
+ var utils_1 = require("../automate/engine/utils");
37
+ var utils_2 = require("../utils");
38
+ var JSON5 = require("json5");
39
+ var Identifier__1 = require("./Identifier__");
40
+ var decorators_1 = require("../decorators");
41
+ var BaseNode_1 = require("../common/BaseNode");
42
+ var classMap_1 = require("../common/classMap");
43
+ var TypeAnnotation__1 = require("./TypeAnnotation__");
44
+ var Argument__1 = require("./Argument__");
45
+ var LogicItem__1 = require("./LogicItem__");
46
+ /**
47
+ * 调用逻辑
48
+ */
49
+ var CallLogic = /** @class */ (function (_super) {
50
+ __extends(CallLogic, _super);
51
+ /**
52
+ * @param source 需要合并的部分参数
53
+ */
54
+ function CallLogic(source) {
55
+ var _this = this;
56
+ source = Object.assign({}, CallLogic_1.getDefaultOptions(), source);
57
+ _this = _super.call(this, source) || this;
58
+ /**
59
+ * 产品概念
60
+ */
61
+ _this.concept = 'CallLogic';
62
+ /**
63
+ * 调用逻辑标题
64
+ */
65
+ _this.label = '调用逻辑';
66
+ /**
67
+ * calleeNamespace
68
+ */
69
+ _this.calleeNamespace = undefined;
70
+ /**
71
+ * calleeName
72
+ */
73
+ _this.calleeName = undefined;
74
+ /**
75
+ * shortcut
76
+ */
77
+ _this.shortcut = undefined;
78
+ /**
79
+ * 类型参数
80
+ */
81
+ _this.typeArguments = null;
82
+ /**
83
+ * 实际参数
84
+ */
85
+ _this.arguments = [];
86
+ _super.prototype.subConstructor.call(_this, source);
87
+ return _this;
88
+ }
89
+ CallLogic_1 = CallLogic;
90
+ CallLogic.from = function (source, parentNode, parentKey) {
91
+ return _super.from.call(this, source, parentNode, parentKey);
92
+ };
93
+ CallLogic.prototype._insertTypeAnnotationAt = function (options, index) {
94
+ var typeAnnotationOptions = {};
95
+ var relationOptions = { parentNode: this, parentKey: 'typeArguments' };
96
+ var typeAnnotation;
97
+ if (options instanceof TypeAnnotation__1["default"]) {
98
+ options.ensureDelete(); // 同一实例不支持多处存在
99
+ typeAnnotation = options;
100
+ Object.assign(typeAnnotation, relationOptions);
101
+ }
102
+ else {
103
+ typeAnnotation = TypeAnnotation__1["default"].from(__assign(__assign({}, typeAnnotationOptions), options), this, 'typeArguments');
104
+ }
105
+ this.typeArguments.splice(index, 0, typeAnnotation);
106
+ return typeAnnotation;
107
+ };
108
+ CallLogic.prototype.insertTypeAnnotationAt = function (options, index) {
109
+ var node = this._insertTypeAnnotationAt(options, index);
110
+ node.create({
111
+ index: index,
112
+ parentNode: this,
113
+ parentKey: 'typeArguments'
114
+ });
115
+ return node;
116
+ };
117
+ CallLogic.prototype._addTypeAnnotation = function (options) {
118
+ var index = this.typeArguments.length;
119
+ return this._insertTypeAnnotationAt(options, index);
120
+ };
121
+ CallLogic.prototype.addTypeAnnotation = function (options) {
122
+ var node = this._addTypeAnnotation(options);
123
+ var index = this.typeArguments.indexOf(node);
124
+ node.create({
125
+ index: index,
126
+ parentNode: this,
127
+ parentKey: 'typeArguments'
128
+ });
129
+ return node;
130
+ };
131
+ CallLogic.prototype._insertArgumentAt = function (options, index) {
132
+ var argumentOptions = {};
133
+ var relationOptions = { parentNode: this, parentKey: 'arguments' };
134
+ var argument;
135
+ if (options instanceof Argument__1["default"]) {
136
+ options.ensureDelete(); // 同一实例不支持多处存在
137
+ argument = options;
138
+ Object.assign(argument, relationOptions);
139
+ }
140
+ else {
141
+ argument = Argument__1["default"].from(__assign(__assign({}, argumentOptions), options), this, 'arguments');
142
+ }
143
+ this.arguments.splice(index, 0, argument);
144
+ return argument;
145
+ };
146
+ CallLogic.prototype.insertArgumentAt = function (options, index) {
147
+ var node = this._insertArgumentAt(options, index);
148
+ node.create({
149
+ index: index,
150
+ parentNode: this,
151
+ parentKey: 'arguments'
152
+ });
153
+ return node;
154
+ };
155
+ CallLogic.prototype._addArgument = function (options) {
156
+ var index = this.arguments.length;
157
+ return this._insertArgumentAt(options, index);
158
+ };
159
+ CallLogic.prototype.addArgument = function (options) {
160
+ var node = this._addArgument(options);
161
+ var index = this.arguments.indexOf(node);
162
+ node.create({
163
+ index: index,
164
+ parentNode: this,
165
+ parentKey: 'arguments'
166
+ });
167
+ return node;
168
+ };
169
+ CallLogic.prototype.removeTypeAnnotation = function (options) {
170
+ var typeAnnotation = options;
171
+ return typeAnnotation["delete"]();
172
+ };
173
+ CallLogic.prototype.__removeTypeAnnotation = function (typeAnnotation) {
174
+ var parentKey = typeAnnotation.parentKey;
175
+ var params = {
176
+ parentNode: this,
177
+ parentKey: parentKey,
178
+ index: -1,
179
+ object: null,
180
+ oldObject: typeAnnotation
181
+ };
182
+ if (parentKey) {
183
+ params.parentKey = parentKey;
184
+ if (Array.isArray(this[parentKey])) {
185
+ var index = this[parentKey].indexOf(typeAnnotation);
186
+ ~index && this[parentKey].splice(index, 1);
187
+ params.index = index;
188
+ }
189
+ else if (this[parentKey] === typeAnnotation) {
190
+ params.index = 0;
191
+ this[parentKey] = undefined;
192
+ }
193
+ }
194
+ return params;
195
+ };
196
+ CallLogic.prototype.removeArgument = function (options) {
197
+ var argument = options;
198
+ return argument["delete"]();
199
+ };
200
+ CallLogic.prototype.__removeLogicItem = function (logicItem) {
201
+ var parentKey = logicItem.parentKey;
202
+ var params = {
203
+ parentNode: this,
204
+ parentKey: parentKey,
205
+ index: -1,
206
+ object: null,
207
+ oldObject: logicItem
208
+ };
209
+ if (parentKey) {
210
+ params.parentKey = parentKey;
211
+ if (Array.isArray(this[parentKey])) {
212
+ var index = this[parentKey].indexOf(logicItem);
213
+ ~index && this[parentKey].splice(index, 1);
214
+ params.index = index;
215
+ }
216
+ else if (this[parentKey] === logicItem) {
217
+ params.index = 0;
218
+ this[parentKey] = undefined;
219
+ }
220
+ }
221
+ return params;
222
+ };
223
+ Object.defineProperty(CallLogic.prototype, "tsCalleeNamespace", {
224
+ //================================================================================
225
+ // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
226
+ // 自动生成的代码已结束。下面可以手动编写。
227
+ //================================================================================
228
+ get: function () {
229
+ if (this.calleeNamespace) {
230
+ var tsCalleeNamespace = this.calleeNamespace;
231
+ tsCalleeNamespace = tsCalleeNamespace.replace(/\.[0-9]/g, function (m) { return m.replace('.', '.$'); });
232
+ tsCalleeNamespace = tsCalleeNamespace.replace(/-/g, '_');
233
+ return tsCalleeNamespace;
234
+ }
235
+ return '';
236
+ },
237
+ enumerable: false,
238
+ configurable: true
239
+ });
240
+ Object.defineProperty(CallLogic.prototype, "calleewholeKey", {
241
+ // 用于logic回填
242
+ get: function () {
243
+ if (!this.calleeNamespace && this.calleeName && this.view) {
244
+ // 页面逻辑单独处理
245
+ return this.view.getNamespace() + "." + this.view.name + ".logics." + this.calleeName;
246
+ }
247
+ return this.calleeNamespace + '.' + this.calleeName;
248
+ },
249
+ enumerable: false,
250
+ configurable: true
251
+ });
252
+ Object.defineProperty(CallLogic.prototype, "calleeKey", {
253
+ get: function () {
254
+ var tsCalleeNamespace = this.tsCalleeNamespace;
255
+ var calleeName = this.calleeName;
256
+ if (!tsCalleeNamespace) {
257
+ return calleeName ? "" + calleeName : '__IDENTIFIER__';
258
+ }
259
+ // elements单独处理相对路径,和后缀的问题
260
+ if (tsCalleeNamespace.startsWith('elements') && tsCalleeNamespace.endsWith('logics')) {
261
+ var methodName = tsCalleeNamespace.substring(0, tsCalleeNamespace.length - '.logics'.length);
262
+ return '__' + methodName + ("." + calleeName);
263
+ }
264
+ return calleeName ? tsCalleeNamespace + "." + calleeName : '__IDENTIFIER__';
265
+ },
266
+ enumerable: false,
267
+ configurable: true
268
+ });
269
+ /**
270
+ * 设置argment 触发别的地方的更新
271
+ */
272
+ CallLogic.prototype.setArgumentName = function (_a) {
273
+ var argument = _a.argument;
274
+ // argument.setKeyword(newKeyword);
275
+ // this.arguments = argument;
276
+ };
277
+ /**
278
+ * 设置setCalleeName
279
+ */
280
+ CallLogic.prototype.setCalleeName = function (calleeName) {
281
+ var object = {
282
+ calleeName: calleeName
283
+ };
284
+ this.update(__assign({}, object));
285
+ };
286
+ /**
287
+ * 设置calleeNamespace
288
+ */
289
+ CallLogic.prototype.setCalleeNamespace = function (calleeNamespace) {
290
+ var object = {
291
+ calleeNamespace: calleeNamespace
292
+ };
293
+ this.update(__assign({}, object));
294
+ };
295
+ CallLogic.prototype._setCallee = function (logic) {
296
+ var _this = this;
297
+ this.calleeNamespace = logic.getNamespace();
298
+ if (logic.parentNode instanceof View__1["default"]) {
299
+ this.calleeNamespace = '';
300
+ }
301
+ this.calleeName = logic.name;
302
+ this.arguments = [];
303
+ logic.params.forEach(function (param) {
304
+ var argument = _this._addArgument({
305
+ keyword: param.name
306
+ });
307
+ if (param.defaultExpression) {
308
+ var exp = BaseNode_1["default"].from(__assign({}, param.defaultExpression.toJSON()));
309
+ argument.setExpression(exp);
310
+ }
311
+ });
312
+ if (logic.typeParams) {
313
+ this.typeArguments = [];
314
+ logic.typeParams.forEach(function () {
315
+ _this._addTypeAnnotation({});
316
+ });
317
+ }
318
+ };
319
+ CallLogic.prototype.setCallee = function (logic) {
320
+ var _this = this;
321
+ var calleeNamespace = logic.getNamespace();
322
+ if (logic.parentNode instanceof View__1["default"]) {
323
+ calleeNamespace = '';
324
+ }
325
+ var calleeName = logic.name;
326
+ var params = logic.params.map(function (param) {
327
+ var relationOptions = { parentNode: _this, parentKey: 'arguments' };
328
+ var argument = Argument__1["default"].from({
329
+ keyword: param.name,
330
+ expression: param.isFunction ? new Identifier__1["default"]() : param.defaultExpression
331
+ }, _this);
332
+ Object.assign(argument, relationOptions);
333
+ return argument;
334
+ });
335
+ var typeArguments = null;
336
+ if (logic.typeParams) {
337
+ typeArguments = logic.typeParams.map(function () {
338
+ var relationOptions = { parentNode: _this, parentKey: 'typeArguments' };
339
+ var typeArgu = new TypeAnnotation__1["default"]();
340
+ Object.assign(typeArgu, relationOptions);
341
+ return typeArgu;
342
+ });
343
+ }
344
+ if (this.app) {
345
+ this.app.emit('collect:start', {
346
+ actionMsg: "\u5207\u6362\u8C03\u7528\u903B\u8F91"
347
+ });
348
+ var parentNode = this.parentNode;
349
+ this.update({
350
+ calleeNamespace: calleeNamespace,
351
+ calleeName: calleeName,
352
+ arguments: params,
353
+ typeArguments: typeArguments,
354
+ folded: false
355
+ });
356
+ if (parentNode.concept === 'MemberExpression') {
357
+ var topNode = parentNode.firstMemberExpressionNode();
358
+ topNode.replaceNode(this);
359
+ }
360
+ this.app.emit('collect:end');
361
+ }
362
+ else {
363
+ this.update({
364
+ calleeNamespace: calleeNamespace,
365
+ calleeName: calleeName,
366
+ arguments: params,
367
+ typeArguments: typeArguments,
368
+ folded: false
369
+ });
370
+ }
371
+ };
372
+ CallLogic.prototype.addCalleeArg = function (logic) {
373
+ var _this = this;
374
+ var newArgs = this.arguments.map(function (argument) {
375
+ return Argument__1["default"].from(__assign({}, argument), _this);
376
+ });
377
+ var relationOptions = { parentNode: this, parentKey: 'arguments' };
378
+ /**
379
+ * 当前两个参数对应上,添加的时候,logic会比参数位内容多,就添加一个 argment
380
+ */
381
+ if (logic.params.length >= newArgs.length) {
382
+ logic.params.forEach(function (param, index) {
383
+ var arg = newArgs[index];
384
+ if (!arg) {
385
+ var newParam = Argument__1["default"].from({
386
+ keyword: param.name
387
+ }, _this);
388
+ Object.assign(newParam, relationOptions);
389
+ newArgs.push(newParam);
390
+ }
391
+ else {
392
+ arg.keyword = param.name;
393
+ }
394
+ });
395
+ }
396
+ else {
397
+ /**
398
+ * 当前calllogic上数量比logic参数还多,他就需要找一个arg使他变成可用的参数
399
+ */
400
+ newArgs.forEach(function (arg, index) {
401
+ var param = logic.params[index];
402
+ if (param) {
403
+ arg.keyword = param.name;
404
+ }
405
+ });
406
+ }
407
+ this.update({
408
+ arguments: newArgs
409
+ });
410
+ };
411
+ CallLogic.prototype.deleteCalleeArg = function (argIndex) {
412
+ var _a, _b;
413
+ /**
414
+ * 传递过下标来,然后直接移动到最后结束
415
+ * 如果原来就是最后一个位置就不移动了
416
+ */
417
+ if (typeof argIndex === 'number') {
418
+ if (!((_a = this.arguments[argIndex]) === null || _a === void 0 ? void 0 : _a.expression)) {
419
+ // 如果本身没有值就直接删除
420
+ return this.arguments[argIndex]["delete"]();
421
+ }
422
+ if (argIndex !== this.arguments.length - 1) {
423
+ (_b = this.arguments[argIndex]) === null || _b === void 0 ? void 0 : _b.moveNode({
424
+ sourceNode: this.arguments[this.arguments.length - 1],
425
+ position: 'insertAfter'
426
+ });
427
+ }
428
+ }
429
+ };
430
+ CallLogic.prototype.toVue = function (options) {
431
+ var code = '';
432
+ if (this.calleeNamespace === 'nasl.browser' || this.calleeNamespace === 'nasl.auth' || this.calleeNamespace === 'nasl.configuration' || this.calleeNamespace === 'nasl.process') {
433
+ code += '$global.';
434
+ }
435
+ code += this.calleeName;
436
+ code += '(';
437
+ var completeArguments = this.completeArguments;
438
+ completeArguments.forEach(function (arg, index) {
439
+ code += arg === null || arg === void 0 ? void 0 : arg.toVue(options);
440
+ if (index !== completeArguments.length - 1)
441
+ code += ', ';
442
+ });
443
+ code += ')';
444
+ return code;
445
+ };
446
+ CallLogic.prototype.toUI = function (state) {
447
+ var code = this.calleeName;
448
+ code += '(';
449
+ var completeArguments = this.completeArguments;
450
+ completeArguments.forEach(function (arg, index) {
451
+ code += arg === null || arg === void 0 ? void 0 : arg.toUI();
452
+ if (index !== completeArguments.length - 1)
453
+ code += ', ';
454
+ });
455
+ code += ')';
456
+ return code;
457
+ };
458
+ CallLogic.prototype.toJS = function (state) {
459
+ var _this = this;
460
+ var _a;
461
+ var code = '';
462
+ if (this.calleeName === 'deleteBy' || this.calleeName === 'updateBy') {
463
+ code += "\nvar __resolveData = __resolveData || ((root) => {\n if (!root)\n return\n // console.log(root.concept)\n delete root.folded\n\n if (root.concept === 'NumericLiteral') {\n root.value = root.value\n } else if (root.concept === \"StringLiteral\") {\n root.value = root.value\n } else if (root.concept === \"NullLiteral\") {\n delete root.value\n } else if (root.concept === \"BooleanLiteral\") {\n root.value = root.value === 'true'\n } else if (root.concept === \"Identifier\") {\n __parseType(root, 'expression')\n } else if (root.concept === \"MemberExpression\") {\n if (root.expression) {\n __parseType(root, 'expression')\n\n }\n }\n\n __resolveData(root.left)\n __resolveData(root.right)\n return root\n})\n\nvar __parseType = __parseType || ((root, prop) => {\n const value = eval(root[prop])\n const type = typeof value\n // console.log('type:', type, value)\n if (type === 'number') {\n root.concept = 'NumericLiteral'\n root.value = value + ''\n } else if (type === 'string') {\n root.concept = 'StringLiteral'\n root.value = value\n } else if (type === 'boolean') {\n root.concept = 'BooleanLiteral'\n root.value = value\n } else if (type === 'object') {\n if (Array.isArray(value)) {\n var itemValue = value[0]\n if(itemValue !== undefined) {\n var itemType = typeof itemValue\n root.concept = 'ListLiteral'\n if (itemType === 'number') {\n root.value = value.map(v => v + '').join(',')\n } else if (itemType === 'string') {\n root.value = value.map(v => \"'\" + v + \"'\").join(',')\n } else if (itemType === 'boolean') {\n root.value = value.join(',')\n }\n }\n }\n }\n})\n";
464
+ }
465
+ code += 'await ';
466
+ // 页面逻辑
467
+ var isViewLogic = true;
468
+ // 组件逻辑
469
+ var isComponentLogic = false;
470
+ var componentName = '';
471
+ var calleeNamespace = this.calleeNamespace;
472
+ var keywordProcessIndex = utils_2.findConceptKeyWordIndexFromNamespace(this.calleeNamespace, 'processes');
473
+ var isProcessLogic = keywordProcessIndex !== -1;
474
+ // calleeNamespace不存在,一定是页面逻辑
475
+ if (calleeNamespace) {
476
+ var namespaceArr = calleeNamespace.split('.');
477
+ var start = namespaceArr[0];
478
+ if (start === 'app' || start === 'extensions') {
479
+ var keywordViewsIndex = utils_2.findConceptKeyWordIndexFromNamespace(this.calleeNamespace, 'views');
480
+ if (keywordViewsIndex === -1) {
481
+ isViewLogic = false;
482
+ }
483
+ }
484
+ else if (start === 'elements' && namespaceArr.length === 3 && namespaceArr[2] === 'logics') {
485
+ isComponentLogic = true;
486
+ componentName = namespaceArr[1];
487
+ }
488
+ }
489
+ var completeArguments = this.completeArguments;
490
+ // 全局逻辑
491
+ if (!isViewLogic) {
492
+ var logic = utils_1.getNodeByNodeCallee(this.app, this.calleewholeKey, function (key, tempPoint) {
493
+ // 处理 NASL 中未定义的假的节点
494
+ if (key === tempPoint.name) {
495
+ return {
496
+ tempPoint: tempPoint,
497
+ state: 1
498
+ };
499
+ }
500
+ var t = tempPoint[key];
501
+ return {
502
+ tempPoint: t,
503
+ state: Array.isArray(t) ? 2 : 1
504
+ };
505
+ });
506
+ var args = (logic === null || logic === void 0 ? void 0 : logic.params) || [];
507
+ var keywordEntitiesIndex = utils_2.findConceptKeyWordIndexFromNamespace(this.calleeNamespace, 'entities');
508
+ code += "this.$logics['" + (this.calleeNamespace ? this.calleeNamespace + "." + this.calleeName : this.calleeName) + "']";
509
+ code += "({\n config: {\n download: false,\n },\n query: {";
510
+ if (isProcessLogic) {
511
+ var argsStr = args
512
+ .map(function (arg, index) {
513
+ var actualArg = completeArguments[index];
514
+ return {
515
+ keyword: arg === null || arg === void 0 ? void 0 : arg.name,
516
+ arg: actualArg
517
+ };
518
+ })
519
+ .map(function (obj) { var _a; return "\n" + (obj === null || obj === void 0 ? void 0 : obj.keyword) + ": " + ((_a = obj === null || obj === void 0 ? void 0 : obj.arg) === null || _a === void 0 ? void 0 : _a.toJS(translator_1.shiftState(state, code))); })
520
+ .join(', ');
521
+ code += argsStr;
522
+ }
523
+ code += "},\n headers: {},\n ";
524
+ if (keywordEntitiesIndex !== -1) {
525
+ var logicArgs = this.arguments;
526
+ var breakBody = false;
527
+ switch (this.calleeName) {
528
+ case 'get':
529
+ case 'delete': {
530
+ logicArgs = [];
531
+ code += "query: {";
532
+ var argsStr = args
533
+ .map(function (arg, index) {
534
+ var _a;
535
+ var actualArg = (_a = _this.arguments) === null || _a === void 0 ? void 0 : _a[index];
536
+ return {
537
+ keyword: arg === null || arg === void 0 ? void 0 : arg.name,
538
+ arg: actualArg
539
+ };
540
+ })
541
+ .map(function (obj) { var _a; return "\n" + (obj === null || obj === void 0 ? void 0 : obj.keyword) + ": " + ((_a = obj === null || obj === void 0 ? void 0 : obj.arg) === null || _a === void 0 ? void 0 : _a.toJS(translator_1.shiftState(state, code))); })
542
+ .join(', ');
543
+ code += argsStr;
544
+ code += "},\n";
545
+ break;
546
+ }
547
+ case 'update':
548
+ case 'createOrUpdate':
549
+ case 'batchUpdate': {
550
+ code += "body: {\n";
551
+ var argsStr = logicArgs
552
+ .filter(function (arg) { return arg.expression; })
553
+ .map(function (arg) {
554
+ var name = arg.keyword === 'body' ?
555
+ (_this.calleeName === 'batchUpdate' ? 'entities' : 'entity') :
556
+ arg.keyword;
557
+ return name + ": " + arg.expression.toJS(translator_1.shiftState(state, code));
558
+ })
559
+ .join(',\n');
560
+ code += argsStr;
561
+ code += "},\n";
562
+ logicArgs = [];
563
+ breakBody = true;
564
+ break;
565
+ }
566
+ case 'updateBy': {
567
+ code += "body: {";
568
+ var argsStr = logicArgs
569
+ .filter(function (arg) { return arg.expression; })
570
+ .map(function (arg) {
571
+ var name = arg.keyword === 'body' ? 'entity' : arg.keyword;
572
+ // filter回调函数
573
+ if (arg.expression.returnExpression) {
574
+ var argsStr_1 = JSON.stringify(handleMember(arg.expression.returnExpression));
575
+ return name + ": {\n concept: 'Function',\n name: 'filter',\n returnExpression: __resolveData(" + argsStr_1 + ")\n }";
576
+ }
577
+ else {
578
+ return name + ": " + arg.expression.toJS(translator_1.shiftState(state, code));
579
+ }
580
+ })
581
+ .join(',');
582
+ code += argsStr;
583
+ code += "},\n";
584
+ logicArgs = [];
585
+ breakBody = true;
586
+ break;
587
+ }
588
+ case 'deleteBy': {
589
+ code += "body: ";
590
+ var argsStr = JSON.stringify(handleMember(logicArgs[0].expression.returnExpression));
591
+ code += "{\n concept: 'Function',\n name: 'filter',\n returnExpression: __resolveData(" + argsStr + ")\n }";
592
+ code += ",\n";
593
+ logicArgs = [];
594
+ breakBody = true;
595
+ break;
596
+ }
597
+ }
598
+ var bodyArgument = logicArgs.find(function (arg) { return arg.keyword === 'body'; });
599
+ if (!breakBody) {
600
+ if (bodyArgument) {
601
+ code += "\n" + (bodyArgument === null || bodyArgument === void 0 ? void 0 : bodyArgument.keyword) + ": " + (bodyArgument === null || bodyArgument === void 0 ? void 0 : bodyArgument.toJS(translator_1.shiftState(state, code)));
602
+ }
603
+ else {
604
+ code += "body: {}";
605
+ }
606
+ }
607
+ }
608
+ else {
609
+ code += "path: {},\n body: {";
610
+ if (!isProcessLogic) {
611
+ var argsStr = args
612
+ .map(function (arg, index) {
613
+ var actualArg = completeArguments[index];
614
+ return {
615
+ keyword: arg === null || arg === void 0 ? void 0 : arg.name,
616
+ arg: actualArg
617
+ };
618
+ })
619
+ .map(function (obj) { var _a; return "\n" + (obj === null || obj === void 0 ? void 0 : obj.keyword) + ": " + ((_a = obj === null || obj === void 0 ? void 0 : obj.arg) === null || _a === void 0 ? void 0 : _a.toJS(translator_1.shiftState(state, code))); })
620
+ .join(', ');
621
+ code += argsStr;
622
+ if (Array.isArray(this.typeArguments) && this.typeArguments.length) {
623
+ code += ",\n__typeArguments: " + JSON5.stringify(this.typeArguments);
624
+ }
625
+ }
626
+ code += '\n}';
627
+ }
628
+ code += '\n})';
629
+ }
630
+ else {
631
+ if (isComponentLogic) {
632
+ code += "this.$refs." + componentName + "." + this.calleeName;
633
+ }
634
+ else if (calleeNamespace === 'nasl.ui' || calleeNamespace === 'nasl.util') {
635
+ switch (this.calleeName) {
636
+ case 'showMessage':
637
+ code += "this.$toast.show";
638
+ break;
639
+ case 'consoleLog':
640
+ code += "console.log";
641
+ break;
642
+ case 'jsonSerialize':
643
+ code += "JSON.stringify";
644
+ break;
645
+ case 'jsonDeserialize':
646
+ code += "JSON.parse";
647
+ break;
648
+ }
649
+ }
650
+ else if (calleeNamespace === 'nasl.browser' || calleeNamespace === 'nasl.auth' || calleeNamespace === 'nasl.configuration' || calleeNamespace === 'nasl.process' || calleeNamespace === 'nasl.io') {
651
+ code += "this.$global." + this.calleeName;
652
+ }
653
+ else {
654
+ code += "this." + this.calleeName;
655
+ }
656
+ if (calleeNamespace === 'nasl.process' || calleeNamespace === 'nasl.auth') {
657
+ code += '({';
658
+ (_a = this.arguments) === null || _a === void 0 ? void 0 : _a.filter(function (arg) { return arg === null || arg === void 0 ? void 0 : arg.expression; }).forEach(function (arg, index) {
659
+ var _a;
660
+ code += arg.keyword + ": " + (arg === null || arg === void 0 ? void 0 : arg.toJS(translator_1.shiftState(state, code)));
661
+ if (index !== ((_a = _this.arguments) === null || _a === void 0 ? void 0 : _a.length) - 1)
662
+ code += ', ';
663
+ });
664
+ code += '})';
665
+ }
666
+ else {
667
+ code += '(';
668
+ var needToString = ['showMessage', 'consoleLog'].includes(this.calleeName);
669
+ if (needToString) {
670
+ code += "this.$utils['ToString'](";
671
+ }
672
+ if (Array.isArray(completeArguments) && completeArguments.length) {
673
+ completeArguments.forEach(function (arg, index) {
674
+ code += arg === null || arg === void 0 ? void 0 : arg.toJS(translator_1.shiftState(state, code));
675
+ if (index !== (completeArguments === null || completeArguments === void 0 ? void 0 : completeArguments.length) - 1)
676
+ code += ', ';
677
+ });
678
+ if (needToString) {
679
+ var arg = this.arguments[0];
680
+ var argTypeAnnotation = arg.typeAnnotation || arg.__TypeAnnotation;
681
+ if (argTypeAnnotation) {
682
+ code += ", '" + (argTypeAnnotation === null || argTypeAnnotation === void 0 ? void 0 : argTypeAnnotation.sortedTypeKey) + "'";
683
+ }
684
+ }
685
+ }
686
+ if (needToString) {
687
+ code += ")";
688
+ }
689
+ code += ')';
690
+ }
691
+ }
692
+ function handleMember(root) {
693
+ var _a;
694
+ if (!root)
695
+ return;
696
+ if (root.concept === 'Identifier') {
697
+ return {
698
+ concept: root.concept,
699
+ name: root.name,
700
+ value: root.value,
701
+ expression: root.toJS()
702
+ };
703
+ }
704
+ if (root.concept === 'MemberExpression') {
705
+ var concept_1 = root.concept;
706
+ var value = root.value;
707
+ if ((root === null || root === void 0 ? void 0 : root.object.name) === '_') {
708
+ return {
709
+ concept: concept_1,
710
+ name: root.name,
711
+ value: value,
712
+ object: root.object,
713
+ property: root.property
714
+ };
715
+ }
716
+ var expression = root.toJS();
717
+ if (((_a = root.object) === null || _a === void 0 ? void 0 : _a.namespace) === 'app.enums') {
718
+ value = expression.replace(/^"(.+)"$/, '$1');
719
+ expression = undefined;
720
+ concept_1 = 'StringLiteral';
721
+ }
722
+ return {
723
+ concept: concept_1,
724
+ name: root.name,
725
+ value: value,
726
+ expression: expression
727
+ };
728
+ }
729
+ var left = handleMember(root.left);
730
+ var right = handleMember(root.right);
731
+ return {
732
+ concept: root.concept,
733
+ name: root.name,
734
+ value: root.value,
735
+ expression: root.expression,
736
+ operator: root.operator,
737
+ left: left,
738
+ right: right
739
+ };
740
+ }
741
+ var typeAnnotation = this.typeAnnotation || this.__TypeAnnotation;
742
+ var needGenInitFromSchema = typeAnnotation && (!['primitive', 'union'].includes(typeAnnotation.typeKind)
743
+ || typeAnnotation.typeName === 'DateTime');
744
+ if (needGenInitFromSchema) {
745
+ code = "this.$genInitFromSchema('" + (typeAnnotation === null || typeAnnotation === void 0 ? void 0 : typeAnnotation.sortedTypeKey) + "', " + code + ")";
746
+ }
747
+ return code;
748
+ };
749
+ CallLogic.prototype.toBrief = function () {
750
+ return this.arguments.map(function (a) { return a.toBrief(); }).join('<br />');
751
+ };
752
+ CallLogic.prototype.toEmbeddedTS = function (state) {
753
+ var _this = this;
754
+ var code = this.calleeKey;
755
+ if (Array.isArray(this.typeArguments) && this.typeArguments.length) {
756
+ // 如果有内容
757
+ var typeAnnotation = this.typeArguments[0];
758
+ code += "<";
759
+ code += typeAnnotation.toEmbeddedTS(translator_1.shiftState(state, code, { tabSize: 0 })) + ">";
760
+ }
761
+ // 参数必填
762
+ var paramRequired = ['showMessage', 'consoleLog'].includes(this.calleeName);
763
+ var tsCalleeNamespace = this.tsCalleeNamespace;
764
+ if ((tsCalleeNamespace.startsWith('elements') && tsCalleeNamespace.endsWith('logics')) || tsCalleeNamespace.startsWith('nasl.')) {
765
+ code += '(';
766
+ this.arguments.forEach(function (arg, index) {
767
+ // 页面逻辑先都非必填
768
+ code += arg.toEmbeddedTS(translator_1.shiftState(state, code), paramRequired);
769
+ if (index !== _this.arguments.length - 1)
770
+ code += ', ';
771
+ });
772
+ code += ')';
773
+ if (this.parentNode.concept !== 'Argument'
774
+ && this.parentKey !== 'test'
775
+ && this.parentKey !== 'patterns'
776
+ && this.parentNode.concept !== 'Assignment'
777
+ && this.parentNode.concept !== 'ForEachStatement'
778
+ && this.parentNode.concept !== 'SelectMembers'
779
+ && this.parentNode.concept !== 'BinaryExpression'
780
+ && this.parentNode.concept !== 'StringInterpolation'
781
+ && this.parentNode.concept !== 'MemberExpression'
782
+ && !['NewMap', 'NewList'].includes(this.parentNode.concept)) {
783
+ code += ';';
784
+ }
785
+ }
786
+ else {
787
+ var completeArguments = this.completeArguments;
788
+ if (completeArguments.length) {
789
+ code += '(';
790
+ completeArguments.forEach(function (arg, index) {
791
+ // 取到是不是必填放入参数中
792
+ code += arg.toEmbeddedTS(translator_1.shiftState(state, code), arg === null || arg === void 0 ? void 0 : arg.paramRequired);
793
+ if (index !== _this.arguments.length - 1)
794
+ code += ', ';
795
+ });
796
+ code += ')';
797
+ if (this.parentNode.concept !== 'Argument'
798
+ && this.parentKey !== 'test'
799
+ && this.parentKey !== 'patterns'
800
+ && this.parentNode.concept !== 'Assignment'
801
+ && this.parentNode.concept !== 'ForEachStatement'
802
+ && this.parentNode.concept !== 'SelectMembers'
803
+ && this.parentNode.concept !== 'BinaryExpression'
804
+ && this.parentNode.concept !== 'StringInterpolation'
805
+ && this.parentNode.concept !== 'MemberExpression'
806
+ && !['NewMap', 'NewList'].includes(this.parentNode.concept)) {
807
+ code += ';';
808
+ }
809
+ }
810
+ else {
811
+ code += '()';
812
+ if (this.parentNode.concept !== 'Argument'
813
+ && this.parentKey !== 'test'
814
+ && this.parentKey !== 'patterns'
815
+ && this.parentNode.concept !== 'Assignment'
816
+ && this.parentNode.concept !== 'ForEachStatement'
817
+ && this.parentNode.concept !== 'SelectMembers'
818
+ && this.parentNode.concept !== 'BinaryExpression'
819
+ && this.parentNode.concept !== 'StringInterpolation'
820
+ && this.parentNode.concept !== 'MemberExpression'
821
+ && !['NewMap', 'NewList'].includes(this.parentNode.concept)) {
822
+ code += ';';
823
+ }
824
+ }
825
+ }
826
+ return code;
827
+ };
828
+ // 通过内容过去节点
829
+ CallLogic.prototype.getCallNode = function () {
830
+ var _this = this;
831
+ var _a;
832
+ var node;
833
+ // 如果是页面局部逻辑
834
+ if (!this.calleeNamespace && this.calleeName && this.view) {
835
+ node = this.view.logics.find(function (l) { return l.name === _this.calleeName; });
836
+ }
837
+ else if ((_a = this.calleeNamespace) === null || _a === void 0 ? void 0 : _a.startsWith('nasl.')) {
838
+ // 如果是平台类型
839
+ node = utils_1.getNaslNodeByNodeCallee(this.calleeNamespace, this.calleeName);
840
+ }
841
+ else {
842
+ // 如果是其余app下自定义逻辑
843
+ try {
844
+ node = utils_1.getNodeByNodeCallee(this.app, this.calleewholeKey, function (key, tempPoint) {
845
+ // 处理 NASL 中未定义的假的节点
846
+ if (key === tempPoint.name) {
847
+ return {
848
+ tempPoint: tempPoint,
849
+ state: 1
850
+ };
851
+ }
852
+ var t = tempPoint[key];
853
+ return {
854
+ tempPoint: t,
855
+ state: Array.isArray(t) ? 2 : 1
856
+ };
857
+ });
858
+ }
859
+ catch (err) { }
860
+ }
861
+ return node;
862
+ };
863
+ Object.defineProperty(CallLogic.prototype, "completeArguments", {
864
+ // 可以设置默认值的节点
865
+ // 目前只开放了app下的,所以这些节点,查找引用吧默认值塞回来
866
+ get: function () {
867
+ var _a;
868
+ var node = this.getCallNode();
869
+ var logicParam = [];
870
+ var Arguments = [];
871
+ if (node) {
872
+ logicParam = node.params;
873
+ }
874
+ if ((_a = this.arguments) === null || _a === void 0 ? void 0 : _a.length) {
875
+ this.arguments.forEach(function (arg, index) {
876
+ var param = logicParam[index] || {};
877
+ // 打开了必填,
878
+ // 或者遗留问题,没有required = undefined 而且没有defaultValue,就是之前的必填项
879
+ arg.paramRequired = Boolean(param.required || (param.required === undefined && !param.defaultValue));
880
+ arg.paramTypeAnnotation = undefined;
881
+ arg.paramDefaultValue = undefined;
882
+ // 取到是不是必填放入参数中
883
+ if (param && !arg.expression) {
884
+ // 非必填时 才会有默认值
885
+ arg.paramTypeAnnotation = param.typeAnnotation;
886
+ arg.paramDefaultValue = param.defaultValue;
887
+ }
888
+ Arguments.push(arg);
889
+ });
890
+ }
891
+ return Arguments;
892
+ },
893
+ enumerable: false,
894
+ configurable: true
895
+ });
896
+ var CallLogic_1;
897
+ __decorate([
898
+ decorators_1.property()
899
+ ], CallLogic.prototype, "concept");
900
+ __decorate([
901
+ decorators_1.property()
902
+ ], CallLogic.prototype, "label");
903
+ __decorate([
904
+ decorators_1.property()
905
+ ], CallLogic.prototype, "calleeNamespace");
906
+ __decorate([
907
+ decorators_1.property()
908
+ ], CallLogic.prototype, "calleeName");
909
+ __decorate([
910
+ decorators_1.property()
911
+ ], CallLogic.prototype, "shortcut");
912
+ __decorate([
913
+ decorators_1.property('TypeAnnotation')
914
+ ], CallLogic.prototype, "typeArguments");
915
+ __decorate([
916
+ decorators_1.property('Argument')
917
+ ], CallLogic.prototype, "arguments");
918
+ __decorate([
919
+ translator_1.withSourceMap()
920
+ ], CallLogic.prototype, "toEmbeddedTS");
921
+ CallLogic = CallLogic_1 = __decorate([
922
+ decorators_1.concept('调用逻辑')
923
+ ], CallLogic);
924
+ return CallLogic;
925
+ }(LogicItem__1["default"]));
926
+ exports.CallLogic = CallLogic;
927
+ classMap_1["default"].CallLogic = CallLogic;
928
+ exports["default"] = CallLogic;
929
+ //================================================================================
930
+ // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
931
+ // 自动生成的代码已结束。下面可以手动编写。
932
+ //================================================================================