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