@lcap/nasl 2.18.0 → 2.19.0-beta.1

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 (283) hide show
  1. package/out/automate/template/myProcess.js +1 -1
  2. package/out/automate/template/myProcess.js.map +1 -1
  3. package/out/bak/translator.js +2 -1
  4. package/out/bak/translator.js.map +1 -1
  5. package/out/common/BaseNode.js +1 -0
  6. package/out/common/BaseNode.js.map +1 -1
  7. package/out/common/Command.d.ts +1 -0
  8. package/out/common/Command.js +5 -1
  9. package/out/common/Command.js.map +1 -1
  10. package/out/concepts/AnonymousFunction__.d.ts +1 -0
  11. package/out/concepts/AnonymousFunction__.js +40 -2
  12. package/out/concepts/AnonymousFunction__.js.map +1 -1
  13. package/out/concepts/App__.d.ts +10 -0
  14. package/out/concepts/App__.js +132 -0
  15. package/out/concepts/App__.js.map +1 -1
  16. package/out/concepts/Assignee__.js +4 -3
  17. package/out/concepts/Assignee__.js.map +1 -1
  18. package/out/concepts/BatchAssignment__.d.ts +2 -0
  19. package/out/concepts/BatchAssignment__.js +108 -47
  20. package/out/concepts/BatchAssignment__.js.map +1 -1
  21. package/out/concepts/BindAttribute__.js +8 -1
  22. package/out/concepts/BindAttribute__.js.map +1 -1
  23. package/out/concepts/CallFunction__.js +51 -18
  24. package/out/concepts/CallFunction__.js.map +1 -1
  25. package/out/concepts/CallInterface__.js +6 -4
  26. package/out/concepts/CallInterface__.js.map +1 -1
  27. package/out/concepts/CallLogic__.d.ts +2 -1
  28. package/out/concepts/CallLogic__.js +113 -26
  29. package/out/concepts/CallLogic__.js.map +1 -1
  30. package/out/concepts/CallQueryComponent__.js +4 -1
  31. package/out/concepts/CallQueryComponent__.js.map +1 -1
  32. package/out/concepts/DataSource__.d.ts +2 -0
  33. package/out/concepts/DataSource__.js +55 -1
  34. package/out/concepts/DataSource__.js.map +1 -1
  35. package/out/concepts/Destination__.d.ts +2 -1
  36. package/out/concepts/Destination__.js +90 -22
  37. package/out/concepts/Destination__.js.map +1 -1
  38. package/out/concepts/ForEachStatement__.js +2 -0
  39. package/out/concepts/ForEachStatement__.js.map +1 -1
  40. package/out/concepts/Identifier__.d.ts +1 -0
  41. package/out/concepts/Identifier__.js +18 -7
  42. package/out/concepts/Identifier__.js.map +1 -1
  43. package/out/concepts/LogicItem__.d.ts +1 -1
  44. package/out/concepts/LogicItem__.js.map +1 -1
  45. package/out/concepts/Logic__.d.ts +1 -0
  46. package/out/concepts/Logic__.js +33 -21
  47. package/out/concepts/Logic__.js.map +1 -1
  48. package/out/concepts/Match__.js +13 -8
  49. package/out/concepts/Match__.js.map +1 -1
  50. package/out/concepts/NewComposite__.d.ts +345 -0
  51. package/out/concepts/NewComposite__.js +1067 -0
  52. package/out/concepts/NewComposite__.js.map +1 -0
  53. package/out/concepts/NewList__.d.ts +130 -0
  54. package/out/concepts/NewList__.js +353 -0
  55. package/out/concepts/NewList__.js.map +1 -0
  56. package/out/concepts/NewMap__.d.ts +221 -0
  57. package/out/concepts/NewMap__.js +492 -0
  58. package/out/concepts/NewMap__.js.map +1 -0
  59. package/out/concepts/New__.d.ts +19 -0
  60. package/out/concepts/New__.js +66 -0
  61. package/out/concepts/New__.js.map +1 -0
  62. package/out/concepts/Param__.d.ts +2 -0
  63. package/out/concepts/Param__.js +40 -3
  64. package/out/concepts/Param__.js.map +1 -1
  65. package/out/concepts/ProcessElement__.js +31 -10
  66. package/out/concepts/ProcessElement__.js.map +1 -1
  67. package/out/concepts/ProcessOutcome__.js +1 -1
  68. package/out/concepts/ProcessOutcome__.js.map +1 -1
  69. package/out/concepts/ProcessOutcomes__.d.ts +30 -0
  70. package/out/concepts/{ConstructArgument__.js → ProcessOutcomes__.js} +27 -48
  71. package/out/concepts/ProcessOutcomes__.js.map +1 -0
  72. package/out/concepts/Return__.js +2 -1
  73. package/out/concepts/Return__.js.map +1 -1
  74. package/out/concepts/SelectMembers__.js +3 -3
  75. package/out/concepts/SelectMembers__.js.map +1 -1
  76. package/out/concepts/StringInterpolation__.js +12 -2
  77. package/out/concepts/StringInterpolation__.js.map +1 -1
  78. package/out/concepts/TypeAnnotation__.d.ts +4 -0
  79. package/out/concepts/TypeAnnotation__.js +66 -12
  80. package/out/concepts/TypeAnnotation__.js.map +1 -1
  81. package/out/concepts/ValidationRule__.js +1 -1
  82. package/out/concepts/ValidationRule__.js.map +1 -1
  83. package/out/concepts/Variable__.js +2 -1
  84. package/out/concepts/Variable__.js.map +1 -1
  85. package/out/concepts/ViewElement__.js +13 -1
  86. package/out/concepts/ViewElement__.js.map +1 -1
  87. package/out/concepts/View__.d.ts +1 -0
  88. package/out/concepts/View__.js +13 -0
  89. package/out/concepts/View__.js.map +1 -1
  90. package/out/concepts/basics/stdlib/nasl.auth.js +1 -1
  91. package/out/concepts/basics/stdlib/nasl.auth.js.map +1 -1
  92. package/out/concepts/basics/stdlib/nasl.logging.js +5 -0
  93. package/out/concepts/basics/stdlib/nasl.logging.js.map +1 -1
  94. package/out/concepts/basics/stdlib/nasl.ui.js +2 -0
  95. package/out/concepts/basics/stdlib/nasl.ui.js.map +1 -1
  96. package/out/concepts/basics/stdlib/nasl.util.js +151 -19
  97. package/out/concepts/basics/stdlib/nasl.util.js.map +1 -1
  98. package/out/concepts/index__.d.ts +5 -0
  99. package/out/concepts/index__.js +5 -0
  100. package/out/concepts/index__.js.map +1 -1
  101. package/out/enums/KEYWORDS.js +1 -0
  102. package/out/enums/KEYWORDS.js.map +1 -1
  103. package/out/generator/genBundleFiles.js +32 -182
  104. package/out/generator/genBundleFiles.js.map +1 -1
  105. package/out/generator/genMetaData.d.ts +1 -10
  106. package/out/generator/genMetaData.js +184 -50
  107. package/out/generator/genMetaData.js.map +1 -1
  108. package/out/generator/genReleaseBody.d.ts +2 -0
  109. package/out/generator/genReleaseBody.js +29 -3
  110. package/out/generator/genReleaseBody.js.map +1 -1
  111. package/out/generator/index.d.ts +1 -0
  112. package/out/generator/index.js +1 -0
  113. package/out/generator/index.js.map +1 -1
  114. package/out/generator/permission.d.ts +9 -0
  115. package/out/generator/permission.js +235 -0
  116. package/out/generator/permission.js.map +1 -0
  117. package/out/index.d.ts +1 -1
  118. package/out/index.js +2 -1
  119. package/out/index.js.map +1 -1
  120. package/out/server/entity2LogicNamespace.js +69 -9
  121. package/out/server/entity2LogicNamespace.js.map +1 -1
  122. package/out/server/extendBaseNode.js +10 -20
  123. package/out/server/extendBaseNode.js.map +1 -1
  124. package/out/server/formatTsUtils.d.ts +1 -2
  125. package/out/server/formatTsUtils.js +36 -47
  126. package/out/server/formatTsUtils.js.map +1 -1
  127. package/out/server/getLogics.d.ts +2 -1
  128. package/out/server/getLogics.js +11 -0
  129. package/out/server/getLogics.js.map +1 -1
  130. package/out/server/getMemberIdentifier.js +1 -1
  131. package/out/server/getMemberIdentifier.js.map +1 -1
  132. package/out/server/getProcesses.js +1 -1
  133. package/out/server/getProcesses.js.map +1 -1
  134. package/out/server/naslServer.d.ts +1 -1
  135. package/out/server/naslServer.js +181 -35
  136. package/out/server/naslServer.js.map +1 -1
  137. package/out/server/process2LogicNamespace.js +8 -0
  138. package/out/server/process2LogicNamespace.js.map +1 -1
  139. package/out/server/translator.js +66 -6
  140. package/out/server/translator.js.map +1 -1
  141. package/out/service/creator/add.configs.js +4 -0
  142. package/out/service/creator/add.configs.js.map +1 -1
  143. package/out/service/datasource/api.d.ts +12 -0
  144. package/out/service/datasource/api.js +14 -0
  145. package/out/service/datasource/api.js.map +1 -0
  146. package/out/service/datasource/index.d.ts +2 -0
  147. package/out/service/datasource/index.js +10 -0
  148. package/out/service/datasource/index.js.map +1 -0
  149. package/out/service/storage/init.js +8 -1
  150. package/out/service/storage/init.js.map +1 -1
  151. package/out/templator/genEditTableBlock.js +4 -5
  152. package/out/templator/genEditTableBlock.js.map +1 -1
  153. package/out/templator/genGetBlock.js +4 -3
  154. package/out/templator/genGetBlock.js.map +1 -1
  155. package/out/templator/genGridViewBlock.js +16 -14
  156. package/out/templator/genGridViewBlock.js.map +1 -1
  157. package/out/templator/genListViewBlock.js +5 -5
  158. package/out/templator/genListViewBlock.js.map +1 -1
  159. package/out/templator/genTableBlock.js +6 -10
  160. package/out/templator/genTableBlock.js.map +1 -1
  161. package/package.json +1 -1
  162. package/sandbox/stdlib/dist/nasl.logging.js +0 -0
  163. package/sandbox/stdlib/dist/nasl.util.js +0 -0
  164. package/sandbox/stdlib/nasl.auth.ts +1 -1
  165. package/sandbox/stdlib/nasl.core.ts +4 -0
  166. package/sandbox/stdlib/nasl.logging.ts +4 -4
  167. package/sandbox/stdlib/nasl.util.ts +14 -5
  168. package/src/automate/template/myProcess.js +1 -1
  169. package/src/bak/translator.js +4 -1
  170. package/src/common/BaseNode.ts +1 -0
  171. package/src/common/Command.ts +4 -0
  172. package/src/concepts/AnonymousFunction__.ts +48 -2
  173. package/src/concepts/App__.ts +140 -41
  174. package/src/concepts/Assignee__.ts +4 -3
  175. package/src/concepts/BatchAssignment__.ts +111 -51
  176. package/src/concepts/BindAttribute__.ts +9 -2
  177. package/src/concepts/CallFunction__.ts +65 -31
  178. package/src/concepts/CallInterface__.ts +6 -22
  179. package/src/concepts/CallLogic__.ts +88 -24
  180. package/src/concepts/CallQueryComponent__.ts +4 -1
  181. package/src/concepts/DataSource__.ts +56 -1
  182. package/src/concepts/Destination__.ts +92 -22
  183. package/src/concepts/ForEachStatement__.ts +2 -0
  184. package/src/concepts/Identifier__.ts +18 -7
  185. package/src/concepts/LogicItem__.ts +1 -1
  186. package/src/concepts/Logic__.ts +54 -39
  187. package/src/concepts/Match__.ts +12 -8
  188. package/src/concepts/NewComposite__.ts +1356 -0
  189. package/src/concepts/NewList__.ts +444 -0
  190. package/src/concepts/NewMap__.ts +678 -0
  191. package/src/concepts/New__.ts +73 -0
  192. package/src/concepts/Param__.ts +238 -199
  193. package/src/concepts/ProcessElement__.ts +32 -10
  194. package/src/concepts/ProcessOutcome__.ts +1 -1
  195. package/src/concepts/ProcessOutcomes__.ts +90 -0
  196. package/src/concepts/Return__.ts +4 -1
  197. package/src/concepts/SelectMembers__.ts +3 -3
  198. package/src/concepts/StringInterpolation__.ts +21 -11
  199. package/src/concepts/TypeAnnotation__.ts +71 -50
  200. package/src/concepts/ValidationRule__.ts +19 -1
  201. package/src/concepts/Variable__.ts +4 -1
  202. package/src/concepts/ViewElement__.ts +23 -7
  203. package/src/concepts/View__.ts +16 -2
  204. package/src/concepts/basics/stdlib/dist/nasl.util.js +1602 -0
  205. package/src/concepts/basics/stdlib/nasl.auth.ts +1 -1
  206. package/src/concepts/basics/stdlib/nasl.logging.ts +5 -0
  207. package/src/concepts/basics/stdlib/nasl.ui.ts +2 -0
  208. package/src/concepts/basics/stdlib/nasl.util.ts +153 -19
  209. package/src/concepts/dist/BindAttribute__.js +760 -0
  210. package/src/concepts/dist/BindEvent__.js +732 -0
  211. package/src/concepts/dist/CallFunction__.js +82 -28
  212. package/src/concepts/dist/CallLogic__.js +95 -27
  213. package/src/concepts/dist/Identifier__.js +311 -0
  214. package/src/concepts/dist/StringInterpolation__.js +231 -0
  215. package/src/concepts/dist/TypeAnnotation__.js +834 -0
  216. package/src/concepts/dist/ViewElement__.js +1692 -0
  217. package/src/concepts/dist/View__.js +1601 -0
  218. package/src/concepts/index__.ts +5 -0
  219. package/src/enums/KEYWORDS.ts +1 -0
  220. package/src/generator/dist/genBundleFiles.js +23 -176
  221. package/src/generator/dist/genMetaData.js +245 -0
  222. package/src/generator/dist/permission.js +392 -0
  223. package/src/generator/genBundleFiles.ts +34 -219
  224. package/src/generator/genMetaData.ts +177 -77
  225. package/src/generator/genReleaseBody.ts +30 -5
  226. package/src/generator/index.ts +1 -0
  227. package/src/generator/permission.ts +271 -0
  228. package/src/index.ts +1 -1
  229. package/src/server/dist/naslServer.js +443 -249
  230. package/src/server/entity2LogicNamespace.ts +70 -10
  231. package/src/server/extendBaseNode.ts +10 -21
  232. package/src/server/formatTsUtils.ts +36 -46
  233. package/src/server/getLogics.ts +13 -1
  234. package/src/server/getMemberIdentifier.ts +1 -1
  235. package/src/server/getProcesses.ts +1 -1
  236. package/src/server/naslServer.ts +181 -42
  237. package/src/server/process2LogicNamespace.ts +8 -0
  238. package/src/server/translator.ts +64 -7
  239. package/src/service/creator/add.configs.js +4 -0
  240. package/src/service/dataSource/api.js +11 -0
  241. package/src/service/dataSource/index.js +6 -0
  242. package/src/service/storage/dist/init.js +48 -10
  243. package/src/service/storage/init.ts +9 -2
  244. package/src/service/video/VideoTranscribe.js +1 -0
  245. package/src/templator/dist/genEditTableBlock.js +204 -0
  246. package/src/templator/dist/genGridViewBlock.js +265 -0
  247. package/src/templator/dist/genListViewBlock.js +84 -0
  248. package/src/templator/dist/genTableBlock.js +209 -0
  249. package/src/templator/dist/utils.js +527 -0
  250. package/src/templator/genEditTableBlock.ts +8 -16
  251. package/src/templator/genGetBlock.ts +18 -19
  252. package/src/templator/genGridViewBlock.ts +18 -18
  253. package/src/templator/genListViewBlock.ts +8 -11
  254. package/src/templator/genTableBlock.ts +6 -10
  255. package/ts-worker/dist/webpack.config.dev.js +3 -1
  256. package/ts-worker/lib/tsserver.js +8 -1
  257. package/out/automate/engine/2.14-components.d.ts +0 -1115
  258. package/out/automate/engine/2.14-components.js +0 -1087
  259. package/out/automate/engine/2.14-components.js.map +0 -1
  260. package/out/concepts/ConstructArgument__.d.ts +0 -40
  261. package/out/concepts/ConstructArgument__.js.map +0 -1
  262. package/out/concepts/Construct__.d.ts +0 -189
  263. package/out/concepts/Construct__.js +0 -340
  264. package/out/concepts/Construct__.js.map +0 -1
  265. package/out/concepts/MatchExpression__.d.ts +0 -97
  266. package/out/concepts/MatchExpression__.js +0 -281
  267. package/out/concepts/MatchExpression__.js.map +0 -1
  268. package/out/templator/sql-parser/index.d.ts +0 -1
  269. package/out/templator/sql-parser/index.js +0 -228
  270. package/out/templator/sql-parser/index.js.map +0 -1
  271. package/out/templator/sql-parser/parser.js +0 -26664
  272. package/out/templator/sql-parser/parser.js.map +0 -1
  273. package/src/concepts/dist/Anchor__.js +0 -179
  274. package/src/concepts/dist/Assignment__.js +0 -301
  275. package/src/concepts/dist/CallInterface__.js +0 -533
  276. package/src/concepts/dist/ForEachStatement__.js +0 -426
  277. package/src/concepts/dist/MatchCase__.js +0 -587
  278. package/src/concepts/dist/MemberExpression__.js +0 -348
  279. package/src/concepts/dist/Param__.js +0 -537
  280. package/src/concepts/dist/Return__.js +0 -493
  281. package/src/server/dist/formatTsUtils.js +0 -683
  282. package/ts-worker/lib/dist/tsserver.dev.js +0 -22953
  283. package/ts-worker/sources/lib/dist/tsserver.dev.js +0 -22912
@@ -0,0 +1,760 @@
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.BindAttribute = void 0;
34
+ var translator_1 = require("../translator");
35
+ var decorators_1 = require("../decorators");
36
+ var utils = require("../utils");
37
+ var BaseNode_1 = require("../common/BaseNode");
38
+ var classMap_1 = require("../common/classMap");
39
+ var LogicItem__1 = require("./LogicItem__");
40
+ var ValidationRule__1 = require("./ValidationRule__");
41
+ /**
42
+ * 元素绑定属性
43
+ */
44
+ var BindAttribute = /** @class */ (function (_super) {
45
+ __extends(BindAttribute, _super);
46
+ /**
47
+ * @param source 需要合并的部分参数
48
+ */
49
+ function BindAttribute(source) {
50
+ var _this = this;
51
+ source = Object.assign({}, BindAttribute_1.getDefaultOptions(), source);
52
+ _this = _super.call(this, source) || this;
53
+ /**
54
+ * 产品概念
55
+ */
56
+ _this.concept = 'BindAttribute';
57
+ /**
58
+ * 元素绑定属性名称
59
+ */
60
+ _this.name = undefined;
61
+ /**
62
+ * type
63
+ */
64
+ _this.type = undefined;
65
+ /**
66
+ * 属性值
67
+ */
68
+ _this.value = undefined;
69
+ /**
70
+ * 属性表达式
71
+ */
72
+ _this.expression = undefined;
73
+ /**
74
+ * 跳转页面
75
+ */
76
+ _this.destination = undefined;
77
+ /**
78
+ * 跳转页面
79
+ */
80
+ _this.externalDestination = undefined;
81
+ /**
82
+ * 验证规则
83
+ */
84
+ _this.rules = [];
85
+ /**
86
+ * 经办人
87
+ */
88
+ _this.assignee = undefined;
89
+ /**
90
+ * 是否使用 v-model
91
+ */
92
+ _this.model = undefined;
93
+ /**
94
+ * 是否开启双向绑定
95
+ */
96
+ _this.sync = undefined;
97
+ /**
98
+ * 草稿态
99
+ */
100
+ _this.playground = [];
101
+ _super.prototype.subConstructor.call(_this, source);
102
+ return _this;
103
+ }
104
+ BindAttribute_1 = BindAttribute;
105
+ Object.defineProperty(BindAttribute.prototype, "viewElement", {
106
+ /**
107
+ * 祖先 ViewElement
108
+ */
109
+ get: function () {
110
+ return this.getAncestor('ViewElement');
111
+ },
112
+ enumerable: false,
113
+ configurable: true
114
+ });
115
+ Object.defineProperty(BindAttribute.prototype, "view", {
116
+ /**
117
+ * 祖先 View
118
+ */
119
+ get: function () {
120
+ return this.getAncestor('View');
121
+ },
122
+ enumerable: false,
123
+ configurable: true
124
+ });
125
+ Object.defineProperty(BindAttribute.prototype, "module", {
126
+ /**
127
+ * 祖先 Module
128
+ */
129
+ get: function () {
130
+ return this.getAncestor('Module');
131
+ },
132
+ enumerable: false,
133
+ configurable: true
134
+ });
135
+ Object.defineProperty(BindAttribute.prototype, "app", {
136
+ /**
137
+ * 祖先 App
138
+ */
139
+ get: function () {
140
+ return this.getAncestor('App');
141
+ },
142
+ enumerable: false,
143
+ configurable: true
144
+ });
145
+ Object.defineProperty(BindAttribute.prototype, "processElement", {
146
+ /**
147
+ * 祖先 ProcessElement
148
+ */
149
+ get: function () {
150
+ return this.getAncestor('ProcessElement');
151
+ },
152
+ enumerable: false,
153
+ configurable: true
154
+ });
155
+ Object.defineProperty(BindAttribute.prototype, "process", {
156
+ /**
157
+ * 祖先 Process
158
+ */
159
+ get: function () {
160
+ return this.getAncestor('Process');
161
+ },
162
+ enumerable: false,
163
+ configurable: true
164
+ });
165
+ BindAttribute.from = function (source, parentNode, parentKey) {
166
+ return _super.from.call(this, source, parentNode, parentKey);
167
+ };
168
+ /**
169
+ * 从父级删除该节点
170
+ * @internal
171
+ */
172
+ BindAttribute.prototype._delete = function () {
173
+ var _a, _b;
174
+ var params = null;
175
+ if (this.parentNode) {
176
+ params = (_b = (_a = this.parentNode) === null || _a === void 0 ? void 0 : _a.__removeBindAttribute) === null || _b === void 0 ? void 0 : _b.call(_a, this);
177
+ }
178
+ return params;
179
+ };
180
+ /**
181
+ * 设置属性值
182
+ */
183
+ BindAttribute.prototype.setValue = function (value) {
184
+ var object = {
185
+ value: value
186
+ };
187
+ this.update(__assign({}, object));
188
+ };
189
+ /**
190
+ * 设置属性表达式
191
+ */
192
+ BindAttribute.prototype.setExpression = function (expression) {
193
+ expression._delete();
194
+ var relationOptions = { parentNode: this, parentKey: 'expression' };
195
+ Object.assign(expression, relationOptions);
196
+ var object = {
197
+ expression: expression
198
+ };
199
+ this.update(__assign({}, object));
200
+ };
201
+ /**
202
+ * 设置跳转页面
203
+ */
204
+ BindAttribute.prototype.setDestination = function (destination) {
205
+ destination._delete();
206
+ var relationOptions = { parentNode: this, parentKey: 'destination' };
207
+ Object.assign(destination, relationOptions);
208
+ var object = {
209
+ destination: destination
210
+ };
211
+ this.update(__assign({}, object));
212
+ };
213
+ /**
214
+ * 设置跳转页面
215
+ */
216
+ BindAttribute.prototype.setExternalDestination = function (externalDestination) {
217
+ externalDestination._delete();
218
+ var relationOptions = { parentNode: this, parentKey: 'externalDestination' };
219
+ Object.assign(externalDestination, relationOptions);
220
+ var object = {
221
+ externalDestination: externalDestination
222
+ };
223
+ this.update(__assign({}, object));
224
+ };
225
+ /**
226
+ * 设置经办人
227
+ */
228
+ BindAttribute.prototype.setAssignee = function (assignee) {
229
+ assignee._delete();
230
+ var relationOptions = { parentNode: this, parentKey: 'assignee' };
231
+ Object.assign(assignee, relationOptions);
232
+ var object = {
233
+ assignee: assignee
234
+ };
235
+ this.update(__assign({}, object));
236
+ };
237
+ /**
238
+ * 设置是否开启双向绑定
239
+ */
240
+ BindAttribute.prototype.setSync = function (sync) {
241
+ var object = {
242
+ sync: sync
243
+ };
244
+ this.update(__assign({}, object));
245
+ };
246
+ BindAttribute.prototype.getValidationRuleExistingNames = function (excludedList) {
247
+ if (excludedList === void 0) { excludedList = []; }
248
+ var excludedSet = new Set(excludedList);
249
+ return (this.rules || []).filter(function (item) { return !excludedSet.has(item); }).map(function (item) { return item.name; });
250
+ };
251
+ BindAttribute.prototype.getValidationRuleUniqueName = function (name) {
252
+ if (name === void 0) { name = 'validationRule1'; }
253
+ return utils.unique(name, this.getValidationRuleExistingNames(), undefined, false);
254
+ };
255
+ BindAttribute.prototype._insertValidationRuleInRulesAt = function (options, index) {
256
+ var validationRuleOptions = {};
257
+ var relationOptions = { parentNode: this, parentKey: 'rules' };
258
+ var validationRule;
259
+ if (!options) {
260
+ validationRule = ValidationRule__1["default"].from(__assign(__assign({}, validationRuleOptions), { name: this.getValidationRuleUniqueName() }), this, 'rules');
261
+ }
262
+ else if (typeof options === 'string') {
263
+ validationRule = ValidationRule__1["default"].from(__assign(__assign({}, validationRuleOptions), { name: options }), this, 'rules');
264
+ }
265
+ else if (options instanceof ValidationRule__1["default"]) {
266
+ options.ensureDelete(); // 同一实例不支持多处存在
267
+ validationRule = options;
268
+ Object.assign(validationRule, relationOptions);
269
+ }
270
+ else {
271
+ validationRule = ValidationRule__1["default"].from(__assign(__assign({}, validationRuleOptions), options), this, 'rules');
272
+ }
273
+ this.rules.splice(index, 0, validationRule);
274
+ return validationRule;
275
+ };
276
+ BindAttribute.prototype.insertValidationRuleInRulesAt = function (options, index) {
277
+ var node = this._insertValidationRuleInRulesAt(options, index);
278
+ node.create({
279
+ index: index,
280
+ parentNode: this,
281
+ parentKey: 'rules'
282
+ });
283
+ return node;
284
+ };
285
+ BindAttribute.prototype._addValidationRuleInRules = function (options) {
286
+ var index = this.rules.length;
287
+ return this._insertValidationRuleInRulesAt(options, index);
288
+ };
289
+ BindAttribute.prototype.addValidationRuleInRules = function (options) {
290
+ var node = this._addValidationRuleInRules(options);
291
+ var index = this.rules.indexOf(node);
292
+ node.create({
293
+ index: index,
294
+ parentNode: this,
295
+ parentKey: 'rules'
296
+ });
297
+ return node;
298
+ };
299
+ BindAttribute.prototype._insertItemInPlaygroundAt = function (options, index) {
300
+ var logicItemOptions = {};
301
+ var relationOptions = { parentNode: this, parentKey: 'playground' };
302
+ var logicItem;
303
+ if (options instanceof LogicItem__1["default"]) {
304
+ options.ensureDelete(); // 同一实例不支持多处存在
305
+ logicItem = options;
306
+ Object.assign(logicItem, relationOptions);
307
+ }
308
+ else {
309
+ logicItem = LogicItem__1["default"].from(__assign(__assign({}, logicItemOptions), options), this, 'playground');
310
+ }
311
+ this.playground.splice(index, 0, logicItem);
312
+ return logicItem;
313
+ };
314
+ BindAttribute.prototype.insertItemInPlaygroundAt = function (options, index) {
315
+ var node = this._insertItemInPlaygroundAt(options, index);
316
+ node.create({
317
+ index: index,
318
+ parentNode: this,
319
+ parentKey: 'playground'
320
+ });
321
+ return node;
322
+ };
323
+ BindAttribute.prototype._addItemInPlayground = function (options) {
324
+ var index = this.playground.length;
325
+ return this._insertItemInPlaygroundAt(options, index);
326
+ };
327
+ BindAttribute.prototype.addItemInPlayground = function (options) {
328
+ var node = this._addItemInPlayground(options);
329
+ var index = this.playground.indexOf(node);
330
+ node.create({
331
+ index: index,
332
+ parentNode: this,
333
+ parentKey: 'playground'
334
+ });
335
+ return node;
336
+ };
337
+ BindAttribute.prototype.removeExpression = function (options) {
338
+ var expression;
339
+ if (typeof options === 'string') {
340
+ expression = this.expression;
341
+ if (!expression) {
342
+ throw new Error('找不到逻辑项 ' + options);
343
+ }
344
+ }
345
+ else {
346
+ expression = options;
347
+ }
348
+ return expression["delete"]();
349
+ };
350
+ BindAttribute.prototype.removeDestination = function (options) {
351
+ var destination;
352
+ if (typeof options === 'string') {
353
+ destination = this.destination;
354
+ if (!destination) {
355
+ throw new Error('找不到跳转页面 ' + options);
356
+ }
357
+ }
358
+ else {
359
+ destination = options;
360
+ }
361
+ return destination["delete"]();
362
+ };
363
+ BindAttribute.prototype.removeExternalDestination = function (options) {
364
+ var externalDestination;
365
+ if (typeof options === 'string') {
366
+ externalDestination = this.externalDestination;
367
+ if (!externalDestination) {
368
+ throw new Error('找不到外部链接 ' + options);
369
+ }
370
+ }
371
+ else {
372
+ externalDestination = options;
373
+ }
374
+ return externalDestination["delete"]();
375
+ };
376
+ BindAttribute.prototype.removeValidationRuleInRules = function (options) {
377
+ var validationRule;
378
+ if (typeof options === 'string') {
379
+ validationRule = this.rules.find(function (item) { return item.name === options; });
380
+ if (!validationRule) {
381
+ throw new Error('找不到验证规则 ' + options);
382
+ }
383
+ }
384
+ else {
385
+ validationRule = options;
386
+ }
387
+ return validationRule["delete"]();
388
+ };
389
+ BindAttribute.prototype.removeAssignee = function (options) {
390
+ var assignee;
391
+ if (typeof options === 'string') {
392
+ assignee = this.assignee;
393
+ if (!assignee) {
394
+ throw new Error('找不到经办人 ' + options);
395
+ }
396
+ }
397
+ else {
398
+ assignee = options;
399
+ }
400
+ return assignee["delete"]();
401
+ };
402
+ BindAttribute.prototype.removeItemInPlayground = function (options) {
403
+ var logicItem = options;
404
+ return logicItem["delete"]();
405
+ };
406
+ BindAttribute.prototype.__removeLogicItem = function (logicItem) {
407
+ var parentKey = logicItem.parentKey;
408
+ var params = {
409
+ parentNode: this,
410
+ parentKey: parentKey,
411
+ index: -1,
412
+ object: null,
413
+ oldObject: logicItem
414
+ };
415
+ if (parentKey) {
416
+ params.parentKey = parentKey;
417
+ if (Array.isArray(this[parentKey])) {
418
+ var index = this[parentKey].indexOf(logicItem);
419
+ ~index && this[parentKey].splice(index, 1);
420
+ params.index = index;
421
+ }
422
+ else if (this[parentKey] === logicItem) {
423
+ params.index = 0;
424
+ this[parentKey] = undefined;
425
+ }
426
+ }
427
+ return params;
428
+ };
429
+ //================================================================================
430
+ // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
431
+ // 自动生成的代码已结束。下面可以手动编写。
432
+ //================================================================================
433
+ BindAttribute.prototype.onChange = function ($event) {
434
+ this.emit('change', $event);
435
+ };
436
+ BindAttribute.prototype.updateSource = function (source) {
437
+ var object = __assign({}, source);
438
+ this.update(__assign({}, object));
439
+ };
440
+ BindAttribute.prototype.getNamespace = function (ns) {
441
+ if (this.parentNode && this.parentNode.getNamespace) {
442
+ var parentNamespace = this.parentNode.getNamespace();
443
+ var parentName = this.parentNode.name;
444
+ var arr = [parentNamespace];
445
+ if (this.parentNode.concept !== 'App' && parentName) {
446
+ arr.push(parentName);
447
+ }
448
+ return arr.join('.') + "." + (ns || 'bindAttribute');
449
+ }
450
+ else
451
+ throw new Error('无法获取命名空间,请设置 parentNode!');
452
+ };
453
+ Object.defineProperty(BindAttribute.prototype, "needReplaceWithIdentifier", {
454
+ // 是否需要用标识符替换
455
+ get: function () {
456
+ var _a, _b, _c;
457
+ var bindExpression = false;
458
+ if (this.expression) {
459
+ var rootMemberExpression = void 0;
460
+ var tempNode = this.expression;
461
+ while ((tempNode === null || tempNode === void 0 ? void 0 : tempNode.concept) === 'MemberExpression') {
462
+ rootMemberExpression = tempNode;
463
+ tempNode = (_a = tempNode) === null || _a === void 0 ? void 0 : _a.object;
464
+ }
465
+ // 变量和变量的成员表达式不进行替换
466
+ if (!(((_b = this.expression) === null || _b === void 0 ? void 0 : _b.concept) === 'Identifier'
467
+ || (rootMemberExpression && ((_c = rootMemberExpression.object) === null || _c === void 0 ? void 0 : _c.concept) === 'Identifier'))
468
+ && (this.type === 'dynamic' || (this.name === 'rules' && this.rules))) {
469
+ bindExpression = true;
470
+ }
471
+ }
472
+ return bindExpression;
473
+ },
474
+ enumerable: false,
475
+ configurable: true
476
+ });
477
+ Object.defineProperty(BindAttribute.prototype, "expressionNameInView", {
478
+ // 获取表达式在页面中的名字
479
+ get: function () {
480
+ var nameList = [];
481
+ var node = this;
482
+ while (node) {
483
+ nameList.unshift(node.name);
484
+ if (node.concept === 'ViewElement') {
485
+ node = null;
486
+ }
487
+ else {
488
+ nameList.unshift(node.parentKey);
489
+ node = node.parentNode;
490
+ }
491
+ }
492
+ return nameList.join('_').replace(/-/g, '_');
493
+ },
494
+ enumerable: false,
495
+ configurable: true
496
+ });
497
+ Object.defineProperty(BindAttribute.prototype, "expressionBuilderName", {
498
+ // 获取表达式生成器名称
499
+ get: function () {
500
+ var expressionInViewName = this.expressionNameInView;
501
+ expressionInViewName = expressionInViewName.charAt(0).toUpperCase() + expressionInViewName.slice(1);
502
+ return "gen" + expressionInViewName;
503
+ },
504
+ enumerable: false,
505
+ configurable: true
506
+ });
507
+ // 获取参数列表
508
+ BindAttribute.prototype.getArgsList = function () {
509
+ var viewElement = this === null || this === void 0 ? void 0 : this.getAncestor('ViewElement');
510
+ var argsList = [];
511
+ var parent = viewElement === null || viewElement === void 0 ? void 0 : viewElement.parentNode;
512
+ var index = 0;
513
+ while (parent && parent.concept !== 'View') {
514
+ if (parent.slotScope) {
515
+ argsList.unshift(index === 0 ? 'current' : 'current' + index);
516
+ index++;
517
+ }
518
+ parent = parent.parentNode;
519
+ }
520
+ return argsList;
521
+ };
522
+ Object.defineProperty(BindAttribute.prototype, "watchedVariableMap", {
523
+ // 表达式中需要被监听的变量
524
+ get: function () {
525
+ var map = {};
526
+ // 页面中表达式用到的变量需要监听,从而重新执行match表达式
527
+ utils.traverse(function (current) {
528
+ var node = (current || {}).node;
529
+ var concept = (node || {}).concept;
530
+ if (['Identifier'].includes(concept)) {
531
+ var expressionNode = node;
532
+ var parentNode = node === null || node === void 0 ? void 0 : node.parentNode;
533
+ while ((parentNode === null || parentNode === void 0 ? void 0 : parentNode.concept) === 'MemberExpression') {
534
+ expressionNode = parentNode;
535
+ parentNode = parentNode.parentNode;
536
+ }
537
+ map[expressionNode.toJS()] = true;
538
+ }
539
+ }, {
540
+ node: this
541
+ }, {
542
+ mode: 'anyObject',
543
+ excludedKeySet: new Set([
544
+ // 排除playground里的表达式
545
+ 'playground',
546
+ 'parentNode',
547
+ 'sourceMap',
548
+ 'storageJSON',
549
+ 'tsErrorDetail',
550
+ 'NaslAnnotatedJSON',
551
+ 'calledFrom',
552
+ '_events',
553
+ '_collectingList',
554
+ '_historyList',
555
+ ])
556
+ });
557
+ return map;
558
+ },
559
+ enumerable: false,
560
+ configurable: true
561
+ });
562
+ //'playground',
563
+ BindAttribute.prototype.getInViewMethod = function (state) {
564
+ var _this = this;
565
+ var _a;
566
+ var argsList = this.getArgsList() || [];
567
+ var hasArgs = !!argsList.length;
568
+ var argStr = '';
569
+ // 容错代码
570
+ var ftCode = '';
571
+ if (hasArgs) {
572
+ argsList.forEach(function (arg) {
573
+ ftCode += "if (!this." + _this.expressionNameInView + argStr + ") {\n this." + _this.expressionNameInView + argStr + " = [];\n }\n";
574
+ argStr += "[" + arg + ".index]";
575
+ });
576
+ }
577
+ ftCode += "if (!this." + this.expressionNameInView + argStr + ") {\n this." + this.expressionNameInView + argStr + " = {};\n }";
578
+ // 新的参数
579
+ var paramList = Object.keys(this.watchedVariableMap);
580
+ var newParams = "const newParams = [];";
581
+ if (Array.isArray(paramList) && paramList.length) {
582
+ paramList.forEach(function (param) {
583
+ newParams += "newParams.push(" + param + ");\n";
584
+ });
585
+ }
586
+ // 表达式主体
587
+ var expressionStr = '';
588
+ if (this.type === 'dynamic') {
589
+ expressionStr = ((_a = this.expression) === null || _a === void 0 ? void 0 : _a.toJS()) || '';
590
+ }
591
+ if (this.name === 'rules' && this.rules) {
592
+ var ruleStrs = this.rules.map(function (rule) { return rule.toVue(); }).join(' , ');
593
+ expressionStr = "\"[" + ruleStrs + "]\"";
594
+ }
595
+ // 变量重新设置,为了触发重新调用
596
+ var setVarStr = "this." + this.expressionNameInView + argStr + " = {\n params: newParams,\n value: value,\n };";
597
+ if (Array.isArray(argsList) && argsList.length) {
598
+ setVarStr += "this." + this.expressionNameInView + " = [...this." + this.expressionNameInView + "];\n";
599
+ }
600
+ var code = this.expressionBuilderName + " (" + argsList.join(', ') + ") {\n // \u5BB9\u9519\u4EE3\u7801\n " + ftCode + "\n (async () => {\n // \u65E7\u7684\u53C2\u6570\n const oldParams = this." + this.expressionNameInView + argStr + ".params;\n // \u65B0\u7684\u53C2\u6570\n " + newParams + "\n const isLooseEqual = this.$isLooseEqualFn(oldParams, newParams);\n if (!isLooseEqual) {\n this." + this.expressionNameInView + argStr + ".params = newParams;\n const value = " + expressionStr + ";\n " + setVarStr + "\n }\n })();\n return this." + this.expressionNameInView + argStr + ".value;\n }";
601
+ return code;
602
+ };
603
+ /**
604
+ * 转换成 Vue 的模板格式
605
+ */
606
+ BindAttribute.prototype.toVue = function (options) {
607
+ var _a, _b;
608
+ var str = '';
609
+ var value = this.value;
610
+ // 需要用标识符替换
611
+ if (options.finalCode !== false && this.needReplaceWithIdentifier) {
612
+ var argsList = this.getArgsList();
613
+ value = this.expressionBuilderName + "(" + argsList.join(', ') + ")";
614
+ }
615
+ else if (this.expression) {
616
+ value = this.expression.toVue(options);
617
+ }
618
+ if (value !== undefined && value !== null && typeof value === 'string') {
619
+ value = value.replace(/"/g, "'");
620
+ }
621
+ var name = this.name;
622
+ if (value !== undefined && value !== null && value !== '') {
623
+ if (name === 'download') {
624
+ str += 'download="true" ';
625
+ name = 'href';
626
+ }
627
+ // 文本默认要经过toString转换
628
+ if (options.finalCode !== false && name === 'text' && !this.sync && this.type === 'dynamic') {
629
+ var expTypeAnnotation = ((_a = this.expression) === null || _a === void 0 ? void 0 : _a.typeAnnotation) || ((_b = this.expression) === null || _b === void 0 ? void 0 : _b.__TypeAnnotation);
630
+ value = "$utils['ToString'](" + value + ", '" + (expTypeAnnotation === null || expTypeAnnotation === void 0 ? void 0 : expTypeAnnotation.sortedTypeKey) + "')";
631
+ }
632
+ if (this.type === 'string') {
633
+ str += name + "=\"" + value + "\"";
634
+ }
635
+ else {
636
+ if (this.sync) {
637
+ str += ":" + name + ".sync=\"" + value + "\"";
638
+ }
639
+ else {
640
+ str += ":" + name + "=\"" + value + "\"";
641
+ }
642
+ }
643
+ }
644
+ else if (this.type === 'string' && this.value === '')
645
+ if (!['destination', 'externalDestination'].includes(this.name)) {
646
+ str = name + "=\"" + this.value + "\"";
647
+ }
648
+ return str;
649
+ };
650
+ BindAttribute.prototype.toEmbeddedTS = function (state) {
651
+ var _a, _b;
652
+ var code = '() => {';
653
+ if (this.name === 'destination' && this.type === 'dynamic') {
654
+ code += this.destination.toEmbeddedTS(translator_1.shiftState(state, code, { tabSize: ((state === null || state === void 0 ? void 0 : state.tabSize) || 0) + 1 }));
655
+ code += ';\n';
656
+ }
657
+ else if (this.name === 'rules') {
658
+ (_a = this.rules) === null || _a === void 0 ? void 0 : _a.forEach(function (item, index) {
659
+ code += item.toEmbeddedTS(translator_1.shiftState(state, code));
660
+ code += ';\n';
661
+ });
662
+ }
663
+ else if (this.expression) {
664
+ code += this.expression.toEmbeddedTS(translator_1.shiftState(state, code, { tabSize: ((state === null || state === void 0 ? void 0 : state.tabSize) || 0) + 1 }));
665
+ code += ';\n';
666
+ }
667
+ else if (this.name === 'url' && this.value) {
668
+ /**
669
+ * ls定制化处理
670
+ * url字符串处理成实体的引用,方便改名或者删除的时候查找引用
671
+ * 因为这里只有字符串信息,所以在这里拼接成一个有引用的内容
672
+ */
673
+ var value = this.value;
674
+ var names = /api\/(.+?)\/import/g.exec(value);
675
+ if (names) {
676
+ var dataSourceNameAndEntityName = names[1];
677
+ var dataSourceName = '';
678
+ var entityName = '';
679
+ if (dataSourceNameAndEntityName.includes('/')) {
680
+ var arr = dataSourceNameAndEntityName.split('/');
681
+ dataSourceName = arr[0];
682
+ entityName = arr[1];
683
+ }
684
+ else {
685
+ entityName = dataSourceNameAndEntityName;
686
+ }
687
+ // 连接符转驼峰
688
+ entityName = entityName.replace(/\-(\w)/g, function (all, letter) { return letter.toUpperCase(); });
689
+ entityName = entityName[0].toUpperCase() + entityName.substr(1);
690
+ code += "app.dataSources." + (dataSourceName || 'defaultDS') + ".entities." + entityName;
691
+ code += ';\n';
692
+ }
693
+ }
694
+ if (this.type === 'dynamic') {
695
+ (_b = this.playground) === null || _b === void 0 ? void 0 : _b.forEach(function (item, index) {
696
+ code += item.toEmbeddedTS(translator_1.shiftState(state, code, { tabSize: ((state === null || state === void 0 ? void 0 : state.tabSize) || 0) + 1 }));
697
+ code += ';\n';
698
+ });
699
+ }
700
+ code += '}';
701
+ return code;
702
+ };
703
+ BindAttribute.prototype.setUrlValue = function (newValue) {
704
+ var object = {
705
+ value: newValue
706
+ };
707
+ this.update(__assign({}, object));
708
+ };
709
+ var BindAttribute_1;
710
+ __decorate([
711
+ decorators_1.property()
712
+ ], BindAttribute.prototype, "concept");
713
+ __decorate([
714
+ decorators_1.property()
715
+ ], BindAttribute.prototype, "name");
716
+ __decorate([
717
+ decorators_1.property()
718
+ ], BindAttribute.prototype, "type");
719
+ __decorate([
720
+ decorators_1.property()
721
+ ], BindAttribute.prototype, "value");
722
+ __decorate([
723
+ decorators_1.property('LogicItem')
724
+ ], BindAttribute.prototype, "expression");
725
+ __decorate([
726
+ decorators_1.property('Destination')
727
+ ], BindAttribute.prototype, "destination");
728
+ __decorate([
729
+ decorators_1.property('ExternalDestination')
730
+ ], BindAttribute.prototype, "externalDestination");
731
+ __decorate([
732
+ decorators_1.property('ValidationRule')
733
+ ], BindAttribute.prototype, "rules");
734
+ __decorate([
735
+ decorators_1.property('Assignee')
736
+ ], BindAttribute.prototype, "assignee");
737
+ __decorate([
738
+ decorators_1.property()
739
+ ], BindAttribute.prototype, "model");
740
+ __decorate([
741
+ decorators_1.property()
742
+ ], BindAttribute.prototype, "sync");
743
+ __decorate([
744
+ decorators_1.property('LogicItem')
745
+ ], BindAttribute.prototype, "playground");
746
+ __decorate([
747
+ translator_1.withSourceMap()
748
+ ], BindAttribute.prototype, "toEmbeddedTS");
749
+ BindAttribute = BindAttribute_1 = __decorate([
750
+ decorators_1.concept('元素绑定属性')
751
+ ], BindAttribute);
752
+ return BindAttribute;
753
+ }(BaseNode_1["default"]));
754
+ exports.BindAttribute = BindAttribute;
755
+ classMap_1["default"].BindAttribute = BindAttribute;
756
+ exports["default"] = BindAttribute;
757
+ //================================================================================
758
+ // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
759
+ // 自动生成的代码已结束。下面可以手动编写。
760
+ //================================================================================