@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,795 +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.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 _this = this;
457
- var bindExpression = false;
458
- var expressions = [];
459
- // 跳转需要特殊处理
460
- if (['externalDestination', 'destination'].includes(this.name)) {
461
- var _a = this[this.name] || {}, link = _a.link, anchor = _a.anchor;
462
- // 跳转链接表达式
463
- if (link) {
464
- expressions.push(link);
465
- }
466
- // 锚点表达式
467
- if (anchor === null || anchor === void 0 ? void 0 : anchor.expression) {
468
- expressions.push(anchor === null || anchor === void 0 ? void 0 : anchor.expression);
469
- }
470
- }
471
- else if (this.expression) {
472
- expressions.push(this.expression);
473
- }
474
- if (Array.isArray(expressions) && expressions.length) {
475
- expressions.forEach(function (expression) {
476
- var _a, _b;
477
- var rootMemberExpression;
478
- var tempNode = expression;
479
- while ((tempNode === null || tempNode === void 0 ? void 0 : tempNode.concept) === 'MemberExpression') {
480
- rootMemberExpression = tempNode;
481
- tempNode = (_a = tempNode) === null || _a === void 0 ? void 0 : _a.object;
482
- }
483
- // 变量和变量的成员表达式不进行替换
484
- if (!(['Identifier', 'StringLiteral'].includes(expression === null || expression === void 0 ? void 0 : expression.concept)
485
- || (rootMemberExpression && ((_b = rootMemberExpression.object) === null || _b === void 0 ? void 0 : _b.concept) === 'Identifier'))
486
- && (_this.type === 'dynamic' || (_this.name === 'rules' && _this.rules))) {
487
- bindExpression = true;
488
- }
489
- });
490
- }
491
- return bindExpression;
492
- },
493
- enumerable: false,
494
- configurable: true
495
- });
496
- Object.defineProperty(BindAttribute.prototype, "expressionNameInView", {
497
- // 获取表达式在页面中的名字
498
- get: function () {
499
- var nameList = [];
500
- var node = this;
501
- while (node) {
502
- nameList.unshift(node.name);
503
- if (node.concept === 'ViewElement') {
504
- node = null;
505
- }
506
- else {
507
- nameList.unshift(node.parentKey);
508
- node = node.parentNode;
509
- }
510
- }
511
- return nameList.join('_').replace(/-/g, '_');
512
- },
513
- enumerable: false,
514
- configurable: true
515
- });
516
- Object.defineProperty(BindAttribute.prototype, "expressionBuilderName", {
517
- // 获取表达式生成器名称
518
- get: function () {
519
- var expressionInViewName = this.expressionNameInView;
520
- expressionInViewName = expressionInViewName.charAt(0).toUpperCase() + expressionInViewName.slice(1);
521
- return "gen" + expressionInViewName;
522
- },
523
- enumerable: false,
524
- configurable: true
525
- });
526
- // 获取参数列表
527
- BindAttribute.prototype.getArgsList = function () {
528
- var viewElement = this === null || this === void 0 ? void 0 : this.getAncestor('ViewElement');
529
- var argsList = [];
530
- var parent = viewElement === null || viewElement === void 0 ? void 0 : viewElement.parentNode;
531
- var index = 0;
532
- while (parent && parent.concept !== 'View') {
533
- if (parent.slotScope) {
534
- argsList.unshift(index === 0 ? 'current' : 'current' + index);
535
- index++;
536
- }
537
- parent = parent.parentNode;
538
- }
539
- return argsList;
540
- };
541
- Object.defineProperty(BindAttribute.prototype, "watchedVariableMap", {
542
- // 表达式中需要被监听的变量
543
- get: function () {
544
- var map = {};
545
- // 页面中表达式用到的变量需要监听,从而重新执行match表达式
546
- utils.traverse(function (current) {
547
- var node = (current || {}).node;
548
- var concept = (node || {}).concept;
549
- if (['Identifier'].includes(concept)) {
550
- var expressionNode = node;
551
- var parentNode = node === null || node === void 0 ? void 0 : node.parentNode;
552
- while ((parentNode === null || parentNode === void 0 ? void 0 : parentNode.concept) === 'MemberExpression') {
553
- expressionNode = parentNode;
554
- parentNode = parentNode.parentNode;
555
- }
556
- map[expressionNode.toJS()] = true;
557
- }
558
- }, {
559
- node: this
560
- }, {
561
- mode: 'anyObject',
562
- excludedKeySet: new Set([
563
- // 排除playground里的表达式
564
- 'playground',
565
- 'parentNode',
566
- 'sourceMap',
567
- 'storageJSON',
568
- 'tsErrorDetail',
569
- 'NaslAnnotatedJSON',
570
- 'calledFrom',
571
- '_events',
572
- '_collectingList',
573
- '_historyList',
574
- ])
575
- });
576
- return map;
577
- },
578
- enumerable: false,
579
- configurable: true
580
- });
581
- //'playground',
582
- BindAttribute.prototype.getInViewMethod = function (state) {
583
- var _this = this;
584
- var _a;
585
- var argsList = this.getArgsList() || [];
586
- var hasArgs = !!argsList.length;
587
- var argStr = '';
588
- // 容错代码
589
- var ftCode = '';
590
- if (hasArgs) {
591
- argsList.forEach(function (arg) {
592
- ftCode += "if (!this." + _this.expressionNameInView + argStr + ") {\n this." + _this.expressionNameInView + argStr + " = [];\n }\n";
593
- argStr += "[" + arg + ".index]";
594
- });
595
- }
596
- ftCode += "if (!this." + this.expressionNameInView + argStr + ") {\n this." + this.expressionNameInView + argStr + " = {};\n }";
597
- // 新的参数
598
- var paramList = Object.keys(this.watchedVariableMap);
599
- var newParams = "const newParams = [];";
600
- if (Array.isArray(paramList) && paramList.length) {
601
- paramList.forEach(function (param) {
602
- newParams += "newParams.push(" + param + ");\n";
603
- });
604
- }
605
- // 表达式主体
606
- var expressionStr = '';
607
- if (this.type === 'dynamic') {
608
- if (['externalDestination', 'destination'].includes(this.name)) {
609
- expressionStr = this[this.name].toInViewMethod() || '';
610
- }
611
- else {
612
- expressionStr = ((_a = this.expression) === null || _a === void 0 ? void 0 : _a.toJS()) || '';
613
- }
614
- }
615
- if (this.name === 'rules' && this.rules) {
616
- var ruleStrs = this.rules.map(function (rule) { return rule.toVue(); }).join(' , ');
617
- expressionStr = "\"[" + ruleStrs + "]\"";
618
- }
619
- // 变量重新设置,为了触发重新调用
620
- var setVarStr = "this." + this.expressionNameInView + argStr + " = {\n params: newParams,\n value: value,\n };";
621
- if (Array.isArray(argsList) && argsList.length) {
622
- setVarStr += "this." + this.expressionNameInView + " = [...this." + this.expressionNameInView + "];\n";
623
- }
624
- 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 }";
625
- return code;
626
- };
627
- /**
628
- * 转换成 Vue 的模板格式
629
- */
630
- BindAttribute.prototype.toVue = function (options) {
631
- var _a, _b;
632
- var str = '';
633
- var value = this.value;
634
- // 需要用标识符替换
635
- if (options.finalCode !== false && this.needReplaceWithIdentifier) {
636
- var argsList = this.getArgsList();
637
- value = this.expressionBuilderName + "(" + argsList.join(', ') + ")";
638
- }
639
- else if (this.type === 'dynamic' && ['destination', 'externalDestination'].includes(this.name)) {
640
- value = this[this.name].toVue(options);
641
- }
642
- else if (this.expression) {
643
- value = this.expression.toVue(options);
644
- }
645
- if (value !== undefined && value !== null && typeof value === 'string') {
646
- value = value.replace(/"/g, "'");
647
- }
648
- var name = this.name;
649
- if (value !== undefined && value !== null && value !== '') {
650
- if (name === 'download') {
651
- str += 'download="true" ';
652
- name = 'href';
653
- }
654
- // 文本默认要经过toString转换
655
- if (options.finalCode !== false && name === 'text' && !this.sync && this.type === 'dynamic') {
656
- var expTypeAnnotation = ((_a = this.expression) === null || _a === void 0 ? void 0 : _a.typeAnnotation) || ((_b = this.expression) === null || _b === void 0 ? void 0 : _b.__TypeAnnotation);
657
- value = "$utils['ToString'](" + value + ", '" + (expTypeAnnotation === null || expTypeAnnotation === void 0 ? void 0 : expTypeAnnotation.sortedTypeKey) + "')";
658
- }
659
- if (this.type === 'string') {
660
- str += name + "=\"" + value + "\"";
661
- }
662
- else {
663
- if (this.sync) {
664
- str += ":" + name + ".sync=\"" + value + "\"";
665
- }
666
- else {
667
- if (name === 'destination') {
668
- str += ":destination=\"" + value + "\"";
669
- }
670
- else if (name === 'externalDestination') {
671
- str += ":link=\"" + value + "\"";
672
- }
673
- else {
674
- str += ":" + name + "=\"" + value + "\"";
675
- }
676
- }
677
- }
678
- }
679
- else if (this.type === 'string' && this.value === '')
680
- if (!['destination', 'externalDestination'].includes(this.name)) {
681
- str = name + "=\"" + this.value + "\"";
682
- }
683
- return str;
684
- };
685
- BindAttribute.prototype.toEmbeddedTS = function (state) {
686
- var _a, _b;
687
- var code = '() => {';
688
- if (['destination', 'externalDestination'].includes(this.name) && this.type === 'dynamic') {
689
- code += this[this.name].toEmbeddedTS(translator_1.shiftState(state, code, { tabSize: ((state === null || state === void 0 ? void 0 : state.tabSize) || 0) + 1 }));
690
- code += ';\n';
691
- }
692
- else if (this.name === 'rules') {
693
- (_a = this.rules) === null || _a === void 0 ? void 0 : _a.forEach(function (item, index) {
694
- code += item.toEmbeddedTS(translator_1.shiftState(state, code));
695
- code += ';\n';
696
- });
697
- }
698
- else if (this.expression) {
699
- code += this.expression.toEmbeddedTS(translator_1.shiftState(state, code, { tabSize: ((state === null || state === void 0 ? void 0 : state.tabSize) || 0) + 1 }));
700
- code += ';\n';
701
- }
702
- else if (this.name === 'url' && this.value) {
703
- /**
704
- * ls定制化处理
705
- * url字符串处理成实体的引用,方便改名或者删除的时候查找引用
706
- * 因为这里只有字符串信息,所以在这里拼接成一个有引用的内容
707
- */
708
- var value = this.value;
709
- var names = /api\/(.+?)\/import/g.exec(value);
710
- if (names) {
711
- var dataSourceNameAndEntityName = names[1];
712
- var dataSourceName = '';
713
- var entityName = '';
714
- if (dataSourceNameAndEntityName.includes('/')) {
715
- var arr = dataSourceNameAndEntityName.split('/');
716
- dataSourceName = arr[0];
717
- entityName = arr[1];
718
- }
719
- else {
720
- entityName = dataSourceNameAndEntityName;
721
- }
722
- // 连接符转驼峰
723
- entityName = entityName.replace(/\-(\w)/g, function (all, letter) { return letter.toUpperCase(); });
724
- entityName = entityName[0].toUpperCase() + entityName.substr(1);
725
- code += "app.dataSources." + (dataSourceName || 'defaultDS') + ".entities." + entityName;
726
- code += ';\n';
727
- }
728
- }
729
- if (this.type === 'dynamic') {
730
- (_b = this.playground) === null || _b === void 0 ? void 0 : _b.forEach(function (item, index) {
731
- code += item.toEmbeddedTS(translator_1.shiftState(state, code, { tabSize: ((state === null || state === void 0 ? void 0 : state.tabSize) || 0) + 1 }));
732
- code += ';\n';
733
- });
734
- }
735
- code += '}';
736
- return code;
737
- };
738
- BindAttribute.prototype.setUrlValue = function (newValue) {
739
- var object = {
740
- value: newValue
741
- };
742
- this.update(__assign({}, object));
743
- };
744
- var BindAttribute_1;
745
- __decorate([
746
- decorators_1.property()
747
- ], BindAttribute.prototype, "concept");
748
- __decorate([
749
- decorators_1.property()
750
- ], BindAttribute.prototype, "name");
751
- __decorate([
752
- decorators_1.property()
753
- ], BindAttribute.prototype, "type");
754
- __decorate([
755
- decorators_1.property()
756
- ], BindAttribute.prototype, "value");
757
- __decorate([
758
- decorators_1.property('LogicItem')
759
- ], BindAttribute.prototype, "expression");
760
- __decorate([
761
- decorators_1.property('Destination')
762
- ], BindAttribute.prototype, "destination");
763
- __decorate([
764
- decorators_1.property('ExternalDestination')
765
- ], BindAttribute.prototype, "externalDestination");
766
- __decorate([
767
- decorators_1.property('ValidationRule')
768
- ], BindAttribute.prototype, "rules");
769
- __decorate([
770
- decorators_1.property('Assignee')
771
- ], BindAttribute.prototype, "assignee");
772
- __decorate([
773
- decorators_1.property()
774
- ], BindAttribute.prototype, "model");
775
- __decorate([
776
- decorators_1.property()
777
- ], BindAttribute.prototype, "sync");
778
- __decorate([
779
- decorators_1.property('LogicItem')
780
- ], BindAttribute.prototype, "playground");
781
- __decorate([
782
- translator_1.withSourceMap()
783
- ], BindAttribute.prototype, "toEmbeddedTS");
784
- BindAttribute = BindAttribute_1 = __decorate([
785
- decorators_1.concept('元素绑定属性')
786
- ], BindAttribute);
787
- return BindAttribute;
788
- }(BaseNode_1["default"]));
789
- exports.BindAttribute = BindAttribute;
790
- classMap_1["default"].BindAttribute = BindAttribute;
791
- exports["default"] = BindAttribute;
792
- //================================================================================
793
- // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
794
- // 自动生成的代码已结束。下面可以手动编写。
795
- //================================================================================