@lcap/nasl 2.20.0 → 2.20.1-beta.2

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 (255) hide show
  1. package/out/automate/engine/2.14-components.d.ts +1115 -0
  2. package/out/automate/engine/2.14-components.js +1087 -0
  3. package/out/automate/engine/2.14-components.js.map +1 -0
  4. package/out/automate/engine/operators.d.ts +0 -9
  5. package/out/automate/engine/viewCache.d.ts +0 -1
  6. package/out/automate/template/myProcess.d.ts +0 -1
  7. package/out/bak/translator.js +3 -3
  8. package/out/bak/translator.js.map +1 -1
  9. package/out/common/BaseNode.js.map +1 -1
  10. package/out/common/Command.d.ts +1 -1
  11. package/out/common/EventEmitter.d.ts +1 -1
  12. package/out/concepts/Anchor__.js.map +1 -1
  13. package/out/concepts/AnonymousFunction__.js.map +1 -1
  14. package/out/concepts/App__.js +13 -0
  15. package/out/concepts/App__.js.map +1 -1
  16. package/out/concepts/Argument__.js.map +1 -1
  17. package/out/concepts/Assignee__.js.map +1 -1
  18. package/out/concepts/AssignmentLine__.js.map +1 -1
  19. package/out/concepts/Assignment__.js.map +1 -1
  20. package/out/concepts/Attribute__.d.ts +9 -14
  21. package/out/concepts/Attribute__.js +12 -39
  22. package/out/concepts/Attribute__.js.map +1 -1
  23. package/out/concepts/BatchAssignment__.js.map +1 -1
  24. package/out/concepts/BinaryExpression__.js.map +1 -1
  25. package/out/concepts/BindAttribute__.js +7 -6
  26. package/out/concepts/BindAttribute__.js.map +1 -1
  27. package/out/concepts/BindDirective__.js +8 -7
  28. package/out/concepts/BindDirective__.js.map +1 -1
  29. package/out/concepts/BindEvent__.js.map +1 -1
  30. package/out/concepts/BindStyle__.js +11 -11
  31. package/out/concepts/BindStyle__.js.map +1 -1
  32. package/out/concepts/BooleanLiteral__.js.map +1 -1
  33. package/out/concepts/CallFunction__.js.map +1 -1
  34. package/out/concepts/CallInterface__.js.map +1 -1
  35. package/out/concepts/CallLogic__.js +14 -7
  36. package/out/concepts/CallLogic__.js.map +1 -1
  37. package/out/concepts/CallQueryComponent__.js.map +1 -1
  38. package/out/concepts/Comment__.js.map +1 -1
  39. package/out/concepts/CompletionProperty__.js.map +1 -1
  40. package/out/concepts/ConfigGroup__.js.map +1 -1
  41. package/out/concepts/ConfigPropertyValue__.js.map +1 -1
  42. package/out/concepts/ConfigProperty__.js +8 -6
  43. package/out/concepts/ConfigProperty__.js.map +1 -1
  44. package/out/concepts/Configuration__.js.map +1 -1
  45. package/out/concepts/Constant__.js.map +1 -1
  46. package/out/concepts/DataElement__.js.map +1 -1
  47. package/out/concepts/DataSource__.js +11 -3
  48. package/out/concepts/DataSource__.js.map +1 -1
  49. package/out/concepts/Destination__.js +2 -2
  50. package/out/concepts/Destination__.js.map +1 -1
  51. package/out/concepts/End__.js.map +1 -1
  52. package/out/concepts/EntityIndex__.d.ts +1 -1
  53. package/out/concepts/EntityIndex__.js.map +1 -1
  54. package/out/concepts/EntityProperty__.d.ts +1 -1
  55. package/out/concepts/EntityProperty__.js.map +1 -1
  56. package/out/concepts/Entity__.js.map +1 -1
  57. package/out/concepts/EnumItem__.js.map +1 -1
  58. package/out/concepts/Enum__.js.map +1 -1
  59. package/out/concepts/Event__.js.map +1 -1
  60. package/out/concepts/ExternalDestination__.js +1 -1
  61. package/out/concepts/ExternalDestination__.js.map +1 -1
  62. package/out/concepts/ForEachStatement__.js.map +1 -1
  63. package/out/concepts/FrontendLibrary__.d.ts +212 -0
  64. package/out/concepts/FrontendLibrary__.js +349 -0
  65. package/out/concepts/FrontendLibrary__.js.map +1 -0
  66. package/out/concepts/Frontend__.js.map +1 -1
  67. package/out/concepts/Function__.js.map +1 -1
  68. package/out/concepts/Identifier__.js.map +1 -1
  69. package/out/concepts/IfStatement__.js.map +1 -1
  70. package/out/concepts/InterfaceParam__.js.map +1 -1
  71. package/out/concepts/Interface__.js.map +1 -1
  72. package/out/concepts/JSBlock__.js.map +1 -1
  73. package/out/concepts/LogicItem__.js.map +1 -1
  74. package/out/concepts/Logic__.js +28 -15
  75. package/out/concepts/Logic__.js.map +1 -1
  76. package/out/concepts/MatchCase__.js.map +1 -1
  77. package/out/concepts/Match__.d.ts +3 -0
  78. package/out/concepts/Match__.js +73 -2
  79. package/out/concepts/Match__.js.map +1 -1
  80. package/out/concepts/MemberExpression__.js.map +1 -1
  81. package/out/concepts/Module__.d.ts +49 -49
  82. package/out/concepts/Module__.js +50 -50
  83. package/out/concepts/Module__.js.map +1 -1
  84. package/out/concepts/Namespace__.js.map +1 -1
  85. package/out/concepts/NewComposite__.d.ts +1 -0
  86. package/out/concepts/NewComposite__.js +20 -2
  87. package/out/concepts/NewComposite__.js.map +1 -1
  88. package/out/concepts/NewList__.js.map +1 -1
  89. package/out/concepts/NewMap__.js.map +1 -1
  90. package/out/concepts/New__.js.map +1 -1
  91. package/out/concepts/NullLiteral__.js.map +1 -1
  92. package/out/concepts/NumericLiteral__.js.map +1 -1
  93. package/out/concepts/OqlQueryComponent__.js.map +1 -1
  94. package/out/concepts/Param__.js.map +1 -1
  95. package/out/concepts/Point__.js.map +1 -1
  96. package/out/concepts/ProcessComponent__.js.map +1 -1
  97. package/out/concepts/ProcessElement__.js.map +1 -1
  98. package/out/concepts/ProcessOutcome__.js.map +1 -1
  99. package/out/concepts/ProcessOutcomes__.js.map +1 -1
  100. package/out/concepts/Process__.js.map +1 -1
  101. package/out/concepts/QueryAggregateExpression__.js.map +1 -1
  102. package/out/concepts/QueryFieldExpression__.js.map +1 -1
  103. package/out/concepts/QueryFromExpression__.js.map +1 -1
  104. package/out/concepts/QueryGroupByExpression__.js.map +1 -1
  105. package/out/concepts/QueryJoinExpression__.js.map +1 -1
  106. package/out/concepts/QueryLimitExpression__.js.map +1 -1
  107. package/out/concepts/QueryOrderByExpression__.js.map +1 -1
  108. package/out/concepts/QuerySelectExpression__.js.map +1 -1
  109. package/out/concepts/Rect__.js.map +1 -1
  110. package/out/concepts/Return__.js +3 -0
  111. package/out/concepts/Return__.js.map +1 -1
  112. package/out/concepts/Role__.js.map +1 -1
  113. package/out/concepts/SelectMembers__.js.map +1 -1
  114. package/out/concepts/Slot__.d.ts +16 -0
  115. package/out/concepts/Slot__.js +43 -0
  116. package/out/concepts/Slot__.js.map +1 -1
  117. package/out/concepts/SqlQueryComponent__.js.map +1 -1
  118. package/out/concepts/Start__.js.map +1 -1
  119. package/out/concepts/StringInterpolation__.js +1 -1
  120. package/out/concepts/StringInterpolation__.js.map +1 -1
  121. package/out/concepts/StringLiteral__.js.map +1 -1
  122. package/out/concepts/StructureProperty__.js.map +1 -1
  123. package/out/concepts/Structure__.js.map +1 -1
  124. package/out/concepts/SwitchCase__.js.map +1 -1
  125. package/out/concepts/SwitchStatement__.js.map +1 -1
  126. package/out/concepts/Theme__.js.map +1 -1
  127. package/out/concepts/Transactional__.js.map +1 -1
  128. package/out/concepts/TypeAnnotation__.js +1 -1
  129. package/out/concepts/TypeAnnotation__.js.map +1 -1
  130. package/out/concepts/TypeParam__.js.map +1 -1
  131. package/out/concepts/UnaryExpression__.js.map +1 -1
  132. package/out/concepts/Unparsed__.js.map +1 -1
  133. package/out/concepts/UseComponent__.js.map +1 -1
  134. package/out/concepts/ValidationRule__.js.map +1 -1
  135. package/out/concepts/Variable__.js +3 -0
  136. package/out/concepts/Variable__.js.map +1 -1
  137. package/out/concepts/ViewBlock__.d.ts +34 -0
  138. package/out/concepts/ViewBlock__.js +82 -0
  139. package/out/concepts/ViewBlock__.js.map +1 -0
  140. package/out/concepts/ViewComponent__.d.ts +85 -0
  141. package/out/concepts/ViewComponent__.js +104 -0
  142. package/out/concepts/ViewComponent__.js.map +1 -1
  143. package/out/concepts/ViewElement__.d.ts +1 -0
  144. package/out/concepts/ViewElement__.js +7 -0
  145. package/out/concepts/ViewElement__.js.map +1 -1
  146. package/out/concepts/View__.d.ts +1 -0
  147. package/out/concepts/View__.js +21 -11
  148. package/out/concepts/View__.js.map +1 -1
  149. package/out/concepts/WhileStatement__.js.map +1 -1
  150. package/out/concepts/basics/stdlib/nasl.configuration.js +1 -1
  151. package/out/concepts/basics/stdlib/nasl.configuration.js.map +1 -1
  152. package/out/concepts/index__.d.ts +2 -0
  153. package/out/concepts/index__.js +2 -0
  154. package/out/concepts/index__.js.map +1 -1
  155. package/out/config.d.ts +1 -1
  156. package/out/decorators/index.d.ts +2 -2
  157. package/out/generator/genReleaseBody.d.ts +1 -0
  158. package/out/generator/genReleaseBody.js +1 -0
  159. package/out/generator/genReleaseBody.js.map +1 -1
  160. package/out/generator/permission.d.ts +2 -1
  161. package/out/generator/permission.js +17 -8
  162. package/out/generator/permission.js.map +1 -1
  163. package/out/index.d.ts +1 -1
  164. package/out/index.js +2 -1
  165. package/out/index.js.map +1 -1
  166. package/out/server/getLogics.js +12 -0
  167. package/out/server/getLogics.js.map +1 -1
  168. package/out/server/getProcesses.d.ts +3 -3
  169. package/out/server/getScope.d.ts +1 -1
  170. package/out/server/naslServer.d.ts +1 -1
  171. package/out/server/naslServer.js +82 -41
  172. package/out/server/naslServer.js.map +1 -1
  173. package/out/server/translator.js +1 -1
  174. package/out/service/storage/init.js +1 -1
  175. package/out/service/storage/init.js.map +1 -1
  176. package/out/templator/genCurdEditMultipleKeyBlock.js +2 -2
  177. package/out/templator/genCurdMultipleKeyBlock.js +2 -2
  178. package/out/translator/index.d.ts +1 -1
  179. package/out/translator/index.js +4 -1
  180. package/out/translator/index.js.map +1 -1
  181. package/out/translator/lsp.d.ts +3 -3
  182. package/out/utils/index.d.ts +4 -4
  183. package/package.json +1 -1
  184. package/sandbox/stdlib/nasl.oql.ts +4 -0
  185. package/src/bak/translator.js +3 -3
  186. package/src/concepts/App__.ts +13 -0
  187. package/src/concepts/Attribute__.ts +10 -59
  188. package/src/concepts/BindAttribute__.ts +18 -17
  189. package/src/concepts/BindDirective__.ts +23 -6
  190. package/src/concepts/BindStyle__.ts +23 -7
  191. package/src/concepts/CallLogic__.ts +13 -38
  192. package/src/concepts/ConfigGroup__.ts +2 -2
  193. package/src/concepts/ConfigProperty__.ts +8 -6
  194. package/src/concepts/DataSource__.ts +11 -7
  195. package/src/concepts/Destination__.ts +20 -2
  196. package/src/concepts/ExternalDestination__.ts +6 -6
  197. package/src/concepts/FrontendLibrary__.ts +518 -0
  198. package/src/concepts/Frontend__.ts +12 -1
  199. package/src/concepts/Identifier__.ts +9 -0
  200. package/src/concepts/Logic__.ts +29 -16
  201. package/src/concepts/Match__.ts +77 -2
  202. package/src/concepts/Module__.ts +92 -121
  203. package/src/concepts/NewComposite__.ts +20 -2
  204. package/src/concepts/Param__.ts +4 -0
  205. package/src/concepts/ProcessElement__.ts +23 -1
  206. package/src/concepts/Process__.ts +16 -1
  207. package/src/concepts/Return__.ts +2 -0
  208. package/src/concepts/Slot__.ts +55 -0
  209. package/src/concepts/StringInterpolation__.ts +1 -1
  210. package/src/concepts/TypeAnnotation__.ts +1 -1
  211. package/src/concepts/ValidationRule__.ts +9 -9
  212. package/src/concepts/Variable__.ts +2 -0
  213. package/src/concepts/ViewBlock__.ts +91 -0
  214. package/src/concepts/ViewComponent__.ts +199 -0
  215. package/src/concepts/ViewElement__.ts +9 -1
  216. package/src/concepts/View__.ts +50 -18
  217. package/src/concepts/basics/stdlib/nasl.configuration.ts +1 -1
  218. package/src/concepts/index__.ts +2 -0
  219. package/src/generator/genReleaseBody.ts +2 -1
  220. package/src/generator/permission.ts +17 -7
  221. package/src/index.ts +1 -1
  222. package/src/server/getLogics.ts +13 -0
  223. package/src/server/naslServer.ts +76 -39
  224. package/src/server/translator.ts +1 -1
  225. package/src/service/storage/init.ts +1 -1
  226. package/src/templator/genCurdEditMultipleKeyBlock.ts +2 -2
  227. package/src/templator/genCurdMultipleKeyBlock.ts +2 -2
  228. package/src/translator/index.ts +3 -1
  229. package/yarn-error.log +2087 -0
  230. package/sandbox/stdlib/dist/nasl.logging.js +0 -0
  231. package/sandbox/stdlib/dist/nasl.util.js +0 -0
  232. package/src/automate/engine/dist/index.dev.js +0 -517
  233. package/src/common/dist/BaseNode.js +0 -1101
  234. package/src/concepts/basics/stdlib/dist/nasl.util.js +0 -1602
  235. package/src/concepts/basics/stdlib/dist/reference2TypeAnnotationList.js +0 -24
  236. package/src/concepts/dist/BindAttribute__.js +0 -795
  237. package/src/concepts/dist/BindEvent__.js +0 -732
  238. package/src/concepts/dist/CallFunction__.js +0 -527
  239. package/src/concepts/dist/CallLogic__.js +0 -932
  240. package/src/concepts/dist/Destination__.js +0 -708
  241. package/src/concepts/dist/ExternalDestination__.js +0 -298
  242. package/src/concepts/dist/Identifier__.js +0 -311
  243. package/src/concepts/dist/StringInterpolation__.js +0 -231
  244. package/src/concepts/dist/TypeAnnotation__.js +0 -834
  245. package/src/concepts/dist/ViewElement__.js +0 -1692
  246. package/src/concepts/dist/View__.js +0 -1601
  247. package/src/generator/dist/genBundleFiles.js +0 -261
  248. package/src/generator/dist/genMetaData.js +0 -245
  249. package/src/generator/dist/permission.js +0 -405
  250. package/src/service/storage/dist/init.js +0 -579
  251. package/src/templator/dist/genEditTableBlock.js +0 -204
  252. package/src/templator/dist/genGridViewBlock.js +0 -265
  253. package/src/templator/dist/genListViewBlock.js +0 -84
  254. package/src/templator/dist/genTableBlock.js +0 -209
  255. package/src/templator/dist/utils.js +0 -527
@@ -1,932 +0,0 @@
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
- //================================================================================