@lcap/nasl 2.20.0-beta.3 → 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 +26 -13
  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 +30 -14
  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,517 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.autoTemplate = autoTemplate;
7
+ exports.getRoles = getRoles;
8
+ exports.applyTemplate = applyTemplate;
9
+ exports.applyDropComponent = applyDropComponent;
10
+
11
+ var _lodash = require("lodash");
12
+
13
+ var _BaseNode = require("../../common/BaseNode");
14
+
15
+ var _utils = require("./utils");
16
+
17
+ var _index = require("../../decorators/index");
18
+
19
+ var _uniqueName = require("./uniqueName");
20
+
21
+ var _operators = require("./operators");
22
+
23
+ var _myProcess = require("../template/myProcess");
24
+
25
+ function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
26
+
27
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
28
+
29
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
30
+
31
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
32
+
33
+ var id = 0;
34
+
35
+ var TemplateMeta =
36
+ /*#__PURE__*/
37
+ function () {
38
+ function TemplateMeta(node) {
39
+ _classCallCheck(this, TemplateMeta);
40
+
41
+ // this.name = `t_${uuidv4().replace(/-/g, '')}`;
42
+ this.name = "t_".concat(node.concept, "_").concat(node.name ? node.name.replace(/[-\.]/g, '') : 'unknown', "_").concat(id++);
43
+ this.node = node;
44
+ this.isRoot = false;
45
+ this.rootBinds = [];
46
+ this.binds = [];
47
+ this.callees = [];
48
+ this.modules = [];
49
+ this.rolebinds = [];
50
+ this.templatebinds = []; // 前端全局变量
51
+
52
+ this.frontendVariables = [];
53
+ }
54
+
55
+ _createClass(TemplateMeta, [{
56
+ key: "addRootBinds",
57
+ value: function addRootBinds(propertyName, templateMeta) {
58
+ // App.[propertyName].push(templateMeta.name)
59
+ if (!this.rootBinds.find(function (b) {
60
+ return b.propertyName === propertyName;
61
+ })) {
62
+ this.rootBinds.push({
63
+ propertyName: propertyName,
64
+ value: templateMeta.name
65
+ });
66
+ }
67
+ }
68
+ }, {
69
+ key: "addBinds",
70
+ value: function addBinds(type, propertyName, templateMeta) {
71
+ // this.node.[propertyName] = templateMeta.name
72
+ // this.node.[propertyName].push(templateMeta.name)
73
+ this.binds.push({
74
+ type: type,
75
+ propertyName: propertyName,
76
+ value: templateMeta.name
77
+ });
78
+ }
79
+ }, {
80
+ key: "addPlainBinds",
81
+ value: function addPlainBinds(propertyName, value) {
82
+ // this.node.[propertyName] = value
83
+ if (typeof value === 'string') {
84
+ value = value.split(/\r?\n/).map(function (c) {
85
+ return "\"".concat(c.replace(/\\/g, '\\\\').replace(/"/g, '\\"'), "\"");
86
+ }) // .map((c) => `"${c.replace(/([^\\])"/g, '$1\\"')}"`)
87
+ // .map((c) => `decodeURIComponent("${c.encodeURIComponent}")`)
88
+ .join(' + "\\n" +\n');
89
+ }
90
+
91
+ if (_typeof(value) === 'object') {
92
+ value = JSON.stringify(value);
93
+ }
94
+
95
+ this.binds.push({
96
+ type: _utils.TRACK_TYPE.PLAIN,
97
+ propertyName: propertyName,
98
+ value: value
99
+ });
100
+ }
101
+ }, {
102
+ key: "addModule",
103
+ value: function addModule(m) {
104
+ this.modules.push({
105
+ name: m.name,
106
+ belongs: m.parentKey,
107
+ data: m._toJSON(function (source) {
108
+ return (0, _lodash.omit)(source, _utils.IGNORE_PROPERTY);
109
+ })
110
+ });
111
+ }
112
+ }, {
113
+ key: "addCallee",
114
+ value: function addCallee(propertyName, relatedPropertyName, templateMeta) {
115
+ // this.node.[propertyName] = [targetVar].getNamespace();
116
+ // this.node.[relatedPropertyName] = [targetVar].name;
117
+ this.callees.push({
118
+ propertyName: propertyName,
119
+ relatedPropertyName: relatedPropertyName,
120
+ targetVar: templateMeta.name
121
+ });
122
+ }
123
+ }, {
124
+ key: "addCalleeTemplate",
125
+ value: function addCalleeTemplate(propertyName, relatedPropertyName, nstemplate, nametemplate, arguVars) {
126
+ // this.node.[propertyName] = nstemplate([arguVars]);
127
+ // this.node.[relatedPropertyName] = nametemplate([arguVars]);
128
+ this.callees.push({
129
+ propertyName: propertyName,
130
+ relatedPropertyName: relatedPropertyName,
131
+ nstemplate: nstemplate,
132
+ nametemplate: nametemplate,
133
+ arguVars: arguVars
134
+ });
135
+ }
136
+ }, {
137
+ key: "addRoleTemplate",
138
+ value: function addRoleTemplate(propertyName, arguVars) {
139
+ this.rolebinds.push({
140
+ propertyName: propertyName,
141
+ arguVars: arguVars
142
+ });
143
+ }
144
+ }, {
145
+ key: "addTemplateBind",
146
+ value: function addTemplateBind(propertyName, relatedVar, relatedProperty) {
147
+ this.templatebinds.push({
148
+ propertyName: propertyName,
149
+ relatedVar: relatedVar,
150
+ relatedProperty: relatedProperty
151
+ });
152
+ }
153
+ }, {
154
+ key: "genComment",
155
+ value: function genComment(part) {
156
+ return "/*---------".concat(this.node.concept, " ").concat(this.node.name, " ").concat(part, " -----------*/");
157
+ }
158
+ }, {
159
+ key: "genCreate",
160
+ value: function genCreate() {
161
+ // [this.name] = create[this.node.concept]();
162
+ // return `${this.genComment('create')}
163
+ // _tempConstructor = getConceptConstructor("${this.node.concept}");
164
+ // const ${this.name} = new _tempConstructor();`
165
+ return "".concat(this.genComment('create'), "\n let ").concat(this.name, " = _create(\"").concat(this.node.concept, "\");\n _templateObjects.push(").concat(this.name, ")");
166
+ }
167
+ }, {
168
+ key: "genBind",
169
+ value: function genBind() {
170
+ var _this = this;
171
+
172
+ return this.binds.map(function (bind) {
173
+ var type = bind.type,
174
+ propertyName = bind.propertyName,
175
+ value = bind.value;
176
+
177
+ switch (type) {
178
+ case _utils.TRACK_TYPE.PROPERTY:
179
+ return "_set(".concat(_this.name, ", \"").concat(propertyName, "\", ").concat(value, ", (updatedObj) => { ").concat(value, " = updatedObj; })");
180
+
181
+ case _utils.TRACK_TYPE.PLAIN:
182
+ return "_set(".concat(_this.name, ", \"").concat(propertyName, "\", ").concat(value, ");");
183
+
184
+ case _utils.TRACK_TYPE.ARRAY:
185
+ return "_push(".concat(_this.name, ", \"").concat(propertyName, "\", ").concat(value, ");");
186
+ }
187
+
188
+ return '';
189
+ });
190
+ }
191
+ }, {
192
+ key: "genRootBind",
193
+ value: function genRootBind() {
194
+ return this.rootBinds.map(function (bind) {
195
+ var propertyName = bind.propertyName,
196
+ value = bind.value;
197
+
198
+ if (propertyName === 'roles') {
199
+ return "\n if(roleCallback) {\n ".concat(value, " = roleCallback(").concat(value, ")\n } else {\n _push(app, \"roles\", ").concat(value, ");\n }");
200
+ } // return `app.${propertyName}.push(${value});
201
+
202
+
203
+ return "_push(app, \"".concat(propertyName, "\", ").concat(value, ");");
204
+ });
205
+ }
206
+ }, {
207
+ key: "genEntryBind",
208
+ value: function genEntryBind() {
209
+ if (this.isRoot) {
210
+ return "rootBindCallback(".concat(this.name, ")");
211
+ }
212
+
213
+ return '';
214
+ }
215
+ }, {
216
+ key: "genRootReturn",
217
+ value: function genRootReturn() {
218
+ if (this.isRoot) {
219
+ return "return ".concat(this.name, ";");
220
+ }
221
+
222
+ return '';
223
+ }
224
+ }, {
225
+ key: "genName",
226
+ value: function genName() {
227
+ // [this.name].name = this.parent.genUniqueXXXName();
228
+ // return `${this.name}.name = (${this.name}.parentNode.gen${this.node.concept}UniqueName ? ${this.name}.parentNode.gen${this.node.concept}UniqueName() : ${this.name}.name)`
229
+ if (this.node.concept === 'Role') {
230
+ return '';
231
+ } // if (this.node.concept === 'Entity') {
232
+ // return `_set(${this.name}, "name", getGenUniqNameFunctionName(${this.name}, "${this.node.concept}"));`;
233
+ // _setTableName(${this.name}, ${this.name}.name + '_' + app.id.slice(0,6));`;
234
+ // }
235
+
236
+
237
+ return "_set(".concat(this.name, ", \"name\", _uniqueName.getGenUniqNameFunctionName(").concat(this.name, ", \"").concat(this.node.concept, "\", app), (updatedObj) => { ").concat(this.name, " = updatedObj; })");
238
+ }
239
+ }, {
240
+ key: "genRoleBind",
241
+ value: function genRoleBind() {
242
+ var _this2 = this;
243
+
244
+ return this.rolebinds.map(function (role) {
245
+ var propertyName = role.propertyName,
246
+ arguVars = role.arguVars;
247
+ return "_set(".concat(_this2.name, ", \"").concat(propertyName, "\", _bindRoles(").concat(arguVars, "), (updatedObj) => { ").concat(_this2.name, " = updatedObj; });");
248
+ });
249
+ }
250
+ }, {
251
+ key: "genCallee",
252
+ value: function genCallee() {
253
+ var _this3 = this;
254
+
255
+ return this.callees.map(function (callee) {
256
+ var propertyName = callee.propertyName,
257
+ relatedPropertyName = callee.relatedPropertyName,
258
+ targetVar = callee.targetVar,
259
+ nstemplate = callee.nstemplate,
260
+ nametemplate = callee.nametemplate,
261
+ arguVars = callee.arguVars;
262
+
263
+ if (arguVars && nstemplate && nametemplate) {
264
+ // return `${this.name}.${propertyName} = (${nstemplate}(${arguVars}));
265
+ // ${this.name}.${relatedPropertyName} = (${nametemplate}(${arguVars}))`
266
+ return "_set(".concat(_this3.name, ", \"").concat(propertyName, "\", (").concat(nstemplate, "(").concat(arguVars, ")));\n _set(").concat(_this3.name, ", \"").concat(relatedPropertyName, "\", (").concat(nametemplate, "(").concat(arguVars, ")))");
267
+ } else {
268
+ // return `${this.name}.${propertyName} = ${targetVar}.getNamespace();
269
+ // ${this.name}.${relatedPropertyName} = ${targetVar}.name;`
270
+ return "_set(".concat(_this3.name, ", \"").concat(propertyName, "\", ").concat(targetVar, ".getNamespace(), (updatedObj) => { ").concat(_this3.name, " = updatedObj; });\n _set(").concat(_this3.name, ", \"").concat(relatedPropertyName, "\", ").concat(targetVar, ".name, (updatedObj) => { ").concat(_this3.name, " = updatedObj; });");
271
+ }
272
+ });
273
+ }
274
+ }, {
275
+ key: "genModule",
276
+ value: function genModule() {
277
+ return this.modules.map(function (meta) {
278
+ var name = meta.name,
279
+ belongs = meta.belongs,
280
+ data = meta.data;
281
+ return "_addModule(app, \"".concat(name, "\", \"").concat(belongs, "\", ").concat(JSON.stringify(data), ");");
282
+ });
283
+ }
284
+ }, {
285
+ key: "genTemplateBind",
286
+ value: function genTemplateBind() {
287
+ var _this4 = this;
288
+
289
+ return this.templatebinds.map(function (meta) {
290
+ var propertyName = meta.propertyName,
291
+ relatedVar = meta.relatedVar,
292
+ relatedProperty = meta.relatedProperty;
293
+ return "_set(".concat(_this4.name, ", \"").concat(propertyName, "\", ").concat(relatedVar, ".").concat(relatedProperty, ")");
294
+ });
295
+ }
296
+ }]);
297
+
298
+ return TemplateMeta;
299
+ }();
300
+
301
+ function autoScript(stack) {
302
+ var createBlock = [];
303
+ var rootBindBlock = [];
304
+ var bindBlock = [];
305
+ var rolebindBlock = [];
306
+ var appBindBlock = [];
307
+ var nameBlock = [];
308
+ var calleeBlock = [];
309
+ var moduleBlock = [];
310
+ var returnBlock = [];
311
+ var roleNASL = [];
312
+ var templateBlock = [];
313
+ stack.forEach(function (temp) {
314
+ createBlock.push(temp.genCreate());
315
+
316
+ if (temp.isRoot) {
317
+ rootBindBlock = rootBindBlock.concat(temp.genEntryBind());
318
+ returnBlock = returnBlock.concat(temp.genRootReturn());
319
+ }
320
+
321
+ if (temp.node.concept === 'Role') {
322
+ roleNASL = roleNASL.concat(temp.node._toJSON(function (source) {
323
+ return (0, _lodash.omit)(source, _utils.IGNORE_PROPERTY);
324
+ }));
325
+ }
326
+
327
+ rolebindBlock = rolebindBlock.concat(temp.genRoleBind());
328
+ bindBlock = bindBlock.concat(temp.genBind());
329
+ appBindBlock = (0, _lodash.uniq)(appBindBlock.concat(temp.genRootBind()));
330
+ nameBlock.push(temp.genName());
331
+ calleeBlock = calleeBlock.concat(temp.genCallee());
332
+ moduleBlock = moduleBlock.concat(temp.genModule());
333
+ templateBlock = templateBlock.concat(temp.genTemplateBind());
334
+ });
335
+ var ideVersion = window.globalData.ideVersion;
336
+ return "\n(function () {\n const injectModule = {};\n \n const exportRoles = function() {\n return ".concat(JSON.stringify(roleNASL), ";\n }\n\n const execTemplate = function(app, getCtor, getCMeta, base, rootBindCallback, roleCallback, finalCallback) {\n let _templateObjects = [];\n const {\n _set,\n _push,\n _create,\n _addModule,\n _bindRoles,\n } = injectModule.operators;\n const _uniqueName = new injectModule.uniqueName();\n\n _uniqueName.initAppUniqueNames(app);\n\n app.emit('collect:start', {\n actionMsg: '\u6DFB\u52A0\u9875\u9762'\n });\n /*---- create ---- */\n ").concat(createBlock.join('\n\t\t'), "\n\n /*---- bind ---- */\n ").concat(bindBlock.join('\n\t\t'), "\n\n /*---- reset name ---- */\n ").concat(nameBlock.join('\n\t\t'), "\n\n /*--- root bind ---*/\n ").concat(rootBindBlock.join('\n\t\t'), "\n\n /*---- appbind ---- */\n ").concat(appBindBlock.join('\n\t\t'), "\n\n /*--- role bind ---*/\n ").concat(rolebindBlock.join('\n\t\t'), "\n\n /*---- reset callee ---- */\n ").concat(calleeBlock.join('\n\t\t'), "\n\n /*--- template bind ---- */\n ").concat(templateBlock.join('\n\t\t'), "\n\n /*---- add module ----*/\n ").concat(moduleBlock.join('\n\t\t'), "\n\n /*--- final callback ---*/\n if(finalCallback) {\n finalCallback(_templateObjects)\n }\n app.emit('collect:end');\n\n /*---- return root -----*/\n ").concat(returnBlock.join('\n\t\t'), "\n }\n\n return {\n version: '").concat(ideVersion, "',\n execTemplate,\n exportRoles,\n importModule(key, m) {\n injectModule[key] = m;\n injectModule[key].templateVersion = '").concat(ideVersion, "'\n },\n }\n})();");
337
+ }
338
+
339
+ var i = 0;
340
+
341
+ function autoTemplate(node) {
342
+ console.log(node);
343
+ var visitedMap = new WeakMap();
344
+ var stack = [];
345
+ var startNode = node;
346
+ var rootNode = true;
347
+ var finalOps = [];
348
+
349
+ function iterator(node) {
350
+ if (node && !visitedMap.has(node)) {
351
+ var meta = new TemplateMeta(node);
352
+
353
+ if (rootNode) {
354
+ meta.isRoot = true;
355
+ }
356
+
357
+ rootNode = false;
358
+ stack.push(meta);
359
+ visitedMap.set(node, meta);
360
+ (0, _utils.tracking)(node, startNode, function (type, propertyName, property) {
361
+ var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
362
+ var rootNode = options.rootNode,
363
+ calleeNode = options.calleeNode,
364
+ relatedPropertyName = options.relatedPropertyName,
365
+ AppPropertyName = options.AppPropertyName,
366
+ metaNodes = options.metaNodes;
367
+
368
+ switch (type) {
369
+ case _utils.TRACK_TYPE.PLAIN:
370
+ meta.addPlainBinds(propertyName, property);
371
+ break;
372
+
373
+ case _utils.TRACK_TYPE.PROPERTY:
374
+ case _utils.TRACK_TYPE.ARRAY:
375
+ iterator(property);
376
+ var pmeta = visitedMap.get(property);
377
+ meta.addBinds(type, propertyName, pmeta);
378
+ break;
379
+
380
+ case _utils.TRACK_TYPE.ARRAY_NO_FURTHER:
381
+ finalOps.push(function () {
382
+ var pmeta = visitedMap.get(property);
383
+
384
+ if (pmeta) {
385
+ meta.addBinds(_utils.TRACK_TYPE.ARRAY, propertyName, pmeta);
386
+ }
387
+ });
388
+ break;
389
+
390
+ case _utils.TRACK_TYPE.CALLEE:
391
+ iterator(rootNode);
392
+ iterator(calleeNode);
393
+ var cmeta = visitedMap.get(calleeNode);
394
+
395
+ if (AppPropertyName) {
396
+ meta.addRootBinds(AppPropertyName, visitedMap.get(rootNode));
397
+ }
398
+
399
+ meta.addCallee(propertyName, relatedPropertyName, cmeta);
400
+ break;
401
+
402
+ case _utils.TRACK_TYPE.MODULE:
403
+ meta.addModule(property);
404
+ break;
405
+
406
+ case _utils.TRACK_TYPE.CALLEE_TEMPLATE:
407
+ var nstemplate = options.nstemplate,
408
+ nametemplate = options.nametemplate;
409
+ metaNodes.forEach(function (n) {
410
+ iterator(n);
411
+ });
412
+ var arguVars = metaNodes.map(function (n) {
413
+ return visitedMap.get(n).name;
414
+ }).join(',');
415
+
416
+ if (AppPropertyName) {
417
+ meta.addRootBinds(AppPropertyName, visitedMap.get(rootNode));
418
+ }
419
+
420
+ meta.addCalleeTemplate(propertyName, relatedPropertyName, nstemplate, nametemplate, arguVars);
421
+ break;
422
+
423
+ case _utils.TRACK_TYPE.ROLE_TEMPLATE:
424
+ var roleMetaNames = [];
425
+ metaNodes.forEach(function (node) {
426
+ iterator(node);
427
+ var m = visitedMap.get(node);
428
+ m.addRootBinds('roles', m);
429
+ roleMetaNames.push(m.name);
430
+ });
431
+ meta.addRoleTemplate(propertyName, roleMetaNames);
432
+ break;
433
+
434
+ case _utils.TRACK_TYPE.PROPERTY_TEMPLATE:
435
+ var relatedProperty = options.relatedProperty;
436
+ var getRelatedVar = options.getRelatedVar;
437
+ var t = getRelatedVar();
438
+
439
+ if (t) {
440
+ iterator(t);
441
+ var relatedMeta = visitedMap.get(t);
442
+ meta.addTemplateBind(propertyName, relatedMeta.name, relatedProperty);
443
+ }
444
+
445
+ break;
446
+
447
+ default:
448
+ break;
449
+ }
450
+ });
451
+ return meta;
452
+ } else if (node) {
453
+ return visitedMap.get(node);
454
+ } else {
455
+ return null;
456
+ }
457
+ }
458
+
459
+ iterator(node);
460
+ finalOps.forEach(function (f) {
461
+ f();
462
+ });
463
+ return autoScript(stack);
464
+ }
465
+ /* 使用模板的代码 */
466
+
467
+ /*
468
+ const view = this.view;
469
+ const app = view.rootNode;
470
+ applyTemplate(script, app, (rootNode) => {
471
+ const names = app.getViewExistingNames();
472
+ if(names.includes(rootNode.name)) {
473
+ const name = app.getViewUniqueName();
474
+ rootNode.name = name;
475
+ }
476
+ app.addView(rootNode);
477
+ })
478
+ */
479
+
480
+
481
+ function getRoles(script) {
482
+ var _eval = eval(script),
483
+ exportRoles = _eval.exportRoles;
484
+
485
+ return exportRoles();
486
+ }
487
+
488
+ function applyTemplate(script, app, rootBindCallback, roleCallback, finalCallback) {
489
+ _operators.ops.upgraders.forEach(function (upgrader) {
490
+ return upgrader.replace && (script = upgrader.replace(script));
491
+ });
492
+
493
+ var _eval2 = eval(script),
494
+ execTemplate = _eval2.execTemplate,
495
+ importModule = _eval2.importModule; // 为了兼容 2.11 老模板
496
+
497
+
498
+ if (importModule) {
499
+ importModule('operators', _operators.ops);
500
+ importModule('uniqueName', _uniqueName.uniqueName);
501
+ }
502
+
503
+ execTemplate(app, _index.getConceptConstructor, _index.getConceptMeta, _BaseNode.BaseNode, rootBindCallback, roleCallback, finalCallback);
504
+ }
505
+
506
+ function applyDropComponent(app, view, element) {
507
+ var execTemplate = _myProcess.processComponent.execTemplate,
508
+ importModule = _myProcess.processComponent.importModule; // 为了兼容 2.11 老模板
509
+
510
+ if (importModule) {
511
+ importModule('operators', _operators.ComponentOps);
512
+ importModule('uniqueName', _uniqueName.componentUniqueName);
513
+ }
514
+
515
+ view.collectExistingViewElementName();
516
+ return execTemplate(app, view, element);
517
+ }
@@ -326,7 +326,6 @@ function autoScript(stack) {
326
326
  }
327
327
  const i = 0;
328
328
  export function autoTemplate(node) {
329
- console.log(node);
330
329
  const visitedMap = new WeakMap();
331
330
  const stack = [];
332
331
  const startNode = node;
@@ -451,7 +450,7 @@ export function applyTemplate(script, app, frontend, rootBindCallback, roleCallb
451
450
  execTemplate(app, frontend, getConceptConstructor, getConceptMeta, BaseNode, rootBindCallback, roleCallback, finalCallback);
452
451
  }
453
452
 
454
- export function applyDropComponent(app, view, element) {
453
+ export function applyDropComponent(app, frontend, view, element) {
455
454
  const { execTemplate, importModule } = processComponent;
456
455
  // 为了兼容 2.11 老模板
457
456
  if (importModule) {
@@ -459,5 +458,5 @@ export function applyDropComponent(app, view, element) {
459
458
  importModule('uniqueName', componentUniqueName);
460
459
  }
461
460
  view.collectExistingViewElementName();
462
- return execTemplate(app, view, element);
461
+ return execTemplate(app, frontend, view, element);
463
462
  }
@@ -51,7 +51,7 @@ export class uniqueName {
51
51
  export class componentUniqueName {
52
52
  NamesWeakMap = new Map();
53
53
  view = null;
54
- initAppUniqueNames(app, view) {
54
+ initAppUniqueNames(app, frontend, view) {
55
55
  const NamesWeakMap = this.NamesWeakMap;
56
56
  this.view = view;
57
57
  NamesWeakMap.set('DataSource', new Set(app.getDataSourceExistingNames()));
@@ -59,7 +59,7 @@ export class componentUniqueName {
59
59
  NamesWeakMap.set('Enum', new Set(app.getEnumExistingNames()));
60
60
  NamesWeakMap.set('Logic', new Set(app.getLogicExistingNames()));
61
61
  NamesWeakMap.set('Interface', new Set(app.getInterfaceExistingNames()));
62
- NamesWeakMap.set('View', new Set(app.getViewExistingNames()));
62
+ NamesWeakMap.set('View', new Set(frontend.getViewExistingNames()));
63
63
  NamesWeakMap.set('Process', new Set(app.getProcessExistingNames()));
64
64
  NamesWeakMap.set('Role', new Set(app.getRoleExistingNames()));
65
65
  // .... 这里要补一下 view 下面 variable, logics的名字
@@ -2,7 +2,7 @@
2
2
  // BaseNode,
3
3
  // Module
4
4
  // } from '../../concepts';
5
- import { BaseNode, uiStructures, collectionStructures, interfaceStructures, processStructures, stdlibNamespace, authStructures } from '../../concepts';
5
+ import { BaseNode, uiStructures, collectionStructures, interfaceStructures, processStructures, stdlibNamespace, authStructures, coreStructures } from '../../concepts';
6
6
  import { getConceptMeta } from '../../decorators/index';
7
7
  /*
8
8
  根据 namespace 字符串来获取 node
@@ -85,6 +85,8 @@ export function getNaslNodeByNodeCallee(namespace, typeName) {
85
85
  return processStructures.find((item) => item.name === typeName);
86
86
  } else if (namespace === 'nasl.util') {
87
87
  return utilLogic.find((item) => item.name === typeName);
88
+ } else if (namespace === 'nasl.core') {
89
+ return coreStructures.find((item) => item.name === typeName);
88
90
  } else if (namespace === 'nasl.auth') {
89
91
  if (authLogic.find((item) => item.name === typeName)) {
90
92
  return authLogic.find((item) => item.name === typeName);
@@ -356,7 +358,7 @@ export function tracking(node, startNode, callback) {
356
358
  case BACKTRACKING_MODULE_COMPONENT:
357
359
  // 条件 break 一定要放到最后
358
360
  if (node.concept === 'ViewElement') {
359
- const componentDependencies = node.app.componentDependencies;
361
+ const componentDependencies = node.frontend?.componentDependencies || [];
360
362
  const tag = node[propertyName];
361
363
  const dep = componentDependencies.find((c) => c.name === tag);
362
364
  if (dep) {
@@ -5,7 +5,7 @@ export const processComponent = (function () {
5
5
  return [];
6
6
  };
7
7
 
8
- const execTemplate = function (app, view, viewElement) {
8
+ const execTemplate = function (app, frontend, view, viewElement) {
9
9
  const _templateObjects = [];
10
10
  const {
11
11
  _set,
@@ -18,7 +18,7 @@ export const processComponent = (function () {
18
18
 
19
19
  const _uniqueName = new injectModule.uniqueName();
20
20
 
21
- _uniqueName.initAppUniqueNames(app, view);
21
+ _uniqueName.initAppUniqueNames(app, frontend, view);
22
22
 
23
23
  const initialNames = ['processDefName', 'taskDefName', 'processStartBy', 'taskDefList', 'processStatus', 'tabValue', 'createTimeBefore', 'createTimeAfter',
24
24
  'loadMyTaskList', 'loadMylaunchProcess', 'getAllProcessDefList', 'getTaskDefListByProcessDef', 'processSelectTab', 'getUsersList', 'reloadProcess', 'handleProcessTask'];
@@ -12,22 +12,10 @@ function tryJSONParse(str) {
12
12
  return result;
13
13
  }
14
14
 
15
- const excludedKeySet = new Set([
16
- 'parentNode',
17
- 'sourceMap',
18
- 'storageJSON',
19
- 'tsErrorDetail',
20
- 'NaslAnnotatedJSON',
21
- 'calledFrom',
22
- '_events',
23
- '_collectingList',
24
- '_historyList',
25
- ]);
26
-
27
15
  export default function (definition) {
28
16
  /**
29
17
  * 页面的 data
30
- * 包含 页面变量 / 页面入参 / 页面元素绑定的Match表达式的返回
18
+ * 包含 页面变量 / 页面入参 / 页面元素绑定的表达式的返回
31
19
  */
32
20
  const viewVariablesData = [];
33
21
  // 所有的页面变量
@@ -35,8 +23,9 @@ export default function (definition) {
35
23
  ...(definition.params || []),
36
24
  ...(definition.variables || []),
37
25
  ];
38
- // 页面元素绑定的Match表达式
39
- const viewMatchExpressions = definition.viewMatchExpressions || [];
26
+ // 页面元素绑定的表达式
27
+ const viewExpressions = definition.viewExpressions;
28
+ const hasViewExpressions = Array.isArray(viewExpressions) && viewExpressions.length;
40
29
  /**
41
30
  * genInitFromSchema 是为了将数据类型的处理和页面逻辑的生成分开
42
31
  * 比如 param a.b 的 schema 有变化,View 代码无需再次生成
@@ -84,10 +73,17 @@ export default function (definition) {
84
73
  }
85
74
  viewVariablesData.push(code);
86
75
  });
87
- viewMatchExpressions.forEach((viewMatchExpression) => {
88
- const code = `${safeCodeAsKey(viewMatchExpression.inViewName)}: undefined`;
89
- viewVariablesData.push(code);
90
- });
76
+
77
+ let viewExpressionMethods;
78
+ if (hasViewExpressions) {
79
+ viewExpressions.forEach((viewExpression) => {
80
+ viewVariablesData.push(`${safeCodeAsKey(viewExpression.expressionNameInView)}: undefined`);
81
+ });
82
+ viewExpressionMethods = (viewExpressions).map((viewExpression) =>
83
+ viewExpression.getInViewMethod({
84
+ tabSize: 1,
85
+ }));
86
+ }
91
87
 
92
88
  const eventMap = new Map();
93
89
  definition.events?.forEach((item) => {
@@ -116,11 +112,6 @@ export default function (definition) {
116
112
  tabSize: 1,
117
113
  }));
118
114
 
119
- const viewMatchExpressionMethods = (viewMatchExpressions).map((viewMatchExpression) =>
120
- viewMatchExpression.getInViewMethod({
121
- tabSize: 1,
122
- }));
123
-
124
115
  const output = `
125
116
  data() {
126
117
  return {
@@ -134,7 +125,7 @@ meta: {
134
125
  auth: ${JSON.stringify(definition.auth)},
135
126
  },
136
127
  methods: {
137
- ${[...(methods || []), ...(eventLogic || []), ...(viewMatchExpressionMethods || [])].join(',\n\n')}
128
+ ${[...(methods || []), ...(eventLogic || []), ...(viewExpressionMethods || [])].join(',\n\n')}
138
129
  },
139
130
  ${events.join(',\n\n')}
140
131
  `;