@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,732 +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.BindEvent = void 0;
34
- var translator_1 = require("../translator");
35
- var createUiTs_1 = require("../server/createUiTs");
36
- var Param__1 = require("./Param__");
37
- var TypeAnnotation__1 = require("./TypeAnnotation__");
38
- var decorators_1 = require("../decorators");
39
- var utils = require("../utils");
40
- var BaseNode_1 = require("../common/BaseNode");
41
- var classMap_1 = require("../common/classMap");
42
- var Logic__1 = require("./Logic__");
43
- var Argument__1 = require("./Argument__");
44
- var ViewElement__1 = require("./ViewElement__");
45
- var View__1 = require("./View__");
46
- /**
47
- * 元素绑定事件
48
- */
49
- var BindEvent = /** @class */ (function (_super) {
50
- __extends(BindEvent, _super);
51
- /**
52
- * @param source 需要合并的部分参数
53
- */
54
- function BindEvent(source) {
55
- var _this = this;
56
- source = Object.assign({}, BindEvent_1.getDefaultOptions(), source);
57
- _this = _super.call(this, source) || this;
58
- /**
59
- * 产品概念
60
- */
61
- _this.concept = 'BindEvent';
62
- /**
63
- * 元素绑定事件名称
64
- */
65
- _this.name = undefined;
66
- /**
67
- * 逻辑列表
68
- */
69
- _this.logics = [];
70
- /**
71
- * calleeNamespace
72
- */
73
- _this.calleeNamespace = undefined;
74
- /**
75
- * calleeName
76
- */
77
- _this.calleeName = undefined;
78
- /**
79
- * 实际参数
80
- */
81
- _this.arguments = [];
82
- // 绑定事件转驼峰
83
- _this.toHump = function (name) { return (name ? name.replace(/\-(\w)/g, function (all, letter) { return letter.toUpperCase(); }) : ''); };
84
- _super.prototype.subConstructor.call(_this, source);
85
- return _this;
86
- }
87
- BindEvent_1 = BindEvent;
88
- Object.defineProperty(BindEvent.prototype, "element", {
89
- /**
90
- * 祖先 ViewElement
91
- */
92
- get: function () {
93
- return this.getAncestor('ViewElement');
94
- },
95
- enumerable: false,
96
- configurable: true
97
- });
98
- Object.defineProperty(BindEvent.prototype, "view", {
99
- /**
100
- * 祖先 View
101
- */
102
- get: function () {
103
- return this.getAncestor('View');
104
- },
105
- enumerable: false,
106
- configurable: true
107
- });
108
- Object.defineProperty(BindEvent.prototype, "module", {
109
- /**
110
- * 祖先 Module
111
- */
112
- get: function () {
113
- return this.getAncestor('Module');
114
- },
115
- enumerable: false,
116
- configurable: true
117
- });
118
- Object.defineProperty(BindEvent.prototype, "app", {
119
- /**
120
- * 祖先 App
121
- */
122
- get: function () {
123
- return this.getAncestor('App');
124
- },
125
- enumerable: false,
126
- configurable: true
127
- });
128
- BindEvent.from = function (source, parentNode, parentKey) {
129
- return _super.from.call(this, source, parentNode, parentKey);
130
- };
131
- /**
132
- * 从父级删除该节点
133
- * @internal
134
- */
135
- BindEvent.prototype._delete = function () {
136
- var _a, _b;
137
- var params = null;
138
- if (this.parentNode) {
139
- params = (_b = (_a = this.parentNode) === null || _a === void 0 ? void 0 : _a.__removeBindEvent) === null || _b === void 0 ? void 0 : _b.call(_a, this);
140
- }
141
- return params;
142
- };
143
- /**
144
- * 设置元素绑定事件名称
145
- */
146
- BindEvent.prototype.setName = function (name) {
147
- var object = {
148
- name: name
149
- };
150
- this.update(__assign(__assign({}, object), { field: 'name' }));
151
- };
152
- /**
153
- * 设置calleeNamespace
154
- */
155
- BindEvent.prototype.setCalleeNamespace = function (calleeNamespace) {
156
- var object = {
157
- calleeNamespace: calleeNamespace
158
- };
159
- this.update(__assign({}, object));
160
- };
161
- /**
162
- * 设置calleeName
163
- */
164
- BindEvent.prototype.setCalleeName = function (calleeName) {
165
- var object = {
166
- calleeName: calleeName
167
- };
168
- this.update(__assign({}, object));
169
- };
170
- BindEvent.prototype.getLogicExistingNames = function (excludedList) {
171
- if (excludedList === void 0) { excludedList = []; }
172
- var excludedSet = new Set(excludedList);
173
- return (this.logics || []).filter(function (item) { return !excludedSet.has(item); }).map(function (item) { return item.name; });
174
- };
175
- BindEvent.prototype.getLogicUniqueName = function (name) {
176
- if (name === void 0) { name = 'logic1'; }
177
- return utils.unique(name, this.getLogicExistingNames(), undefined, true);
178
- };
179
- BindEvent.prototype._insertLogicAt = function (options, index) {
180
- var logicOptions = {};
181
- var relationOptions = { parentNode: this, parentKey: 'logics' };
182
- var logic;
183
- if (!options) {
184
- logic = Logic__1["default"].from(__assign(__assign({}, logicOptions), { name: this.getLogicUniqueName() }), this, 'logics');
185
- }
186
- else if (typeof options === 'string') {
187
- logic = Logic__1["default"].from(__assign(__assign({}, logicOptions), { name: options }), this, 'logics');
188
- }
189
- else if (options instanceof Logic__1["default"]) {
190
- options.ensureDelete(); // 同一实例不支持多处存在
191
- logic = options;
192
- Object.assign(logic, relationOptions);
193
- }
194
- else {
195
- logic = Logic__1["default"].from(__assign(__assign({}, logicOptions), options), this, 'logics');
196
- }
197
- this.logics.splice(index, 0, logic);
198
- return logic;
199
- };
200
- BindEvent.prototype.insertLogicAt = function (options, index) {
201
- var node = this._insertLogicAt(options, index);
202
- node.create({
203
- index: index,
204
- parentNode: this,
205
- parentKey: 'logics'
206
- });
207
- return node;
208
- };
209
- BindEvent.prototype._addLogic = function (options) {
210
- var index = 0;
211
- return this._insertLogicAt(options, index);
212
- };
213
- BindEvent.prototype.addLogic = function (options) {
214
- var node = this._addLogic(options);
215
- var index = this.logics.indexOf(node);
216
- node.create({
217
- index: index,
218
- parentNode: this,
219
- parentKey: 'logics'
220
- });
221
- return node;
222
- };
223
- BindEvent.prototype._insertArgumentAt = function (options, index) {
224
- var argumentOptions = {};
225
- var relationOptions = { parentNode: this, parentKey: 'arguments' };
226
- var argument;
227
- if (options instanceof Argument__1["default"]) {
228
- options.ensureDelete(); // 同一实例不支持多处存在
229
- argument = options;
230
- Object.assign(argument, relationOptions);
231
- }
232
- else {
233
- argument = Argument__1["default"].from(__assign(__assign({}, argumentOptions), options), this, 'arguments');
234
- }
235
- this.arguments.splice(index, 0, argument);
236
- return argument;
237
- };
238
- BindEvent.prototype.insertArgumentAt = function (options, index) {
239
- var node = this._insertArgumentAt(options, index);
240
- node.create({
241
- index: index,
242
- parentNode: this,
243
- parentKey: 'arguments'
244
- });
245
- return node;
246
- };
247
- BindEvent.prototype._addArgument = function (options) {
248
- var index = this.arguments.length;
249
- return this._insertArgumentAt(options, index);
250
- };
251
- BindEvent.prototype.addArgument = function (options) {
252
- var node = this._addArgument(options);
253
- var index = this.arguments.indexOf(node);
254
- node.create({
255
- index: index,
256
- parentNode: this,
257
- parentKey: 'arguments'
258
- });
259
- return node;
260
- };
261
- BindEvent.prototype.removeLogic = function (options) {
262
- var logic;
263
- if (typeof options === 'string') {
264
- logic = this.logics.find(function (item) { return item.name === options; });
265
- if (!logic) {
266
- throw new Error('找不到逻辑 ' + options);
267
- }
268
- }
269
- else {
270
- logic = options;
271
- }
272
- return logic["delete"]();
273
- };
274
- BindEvent.prototype.__removeLogic = function (logic) {
275
- var parentKey = logic.parentKey;
276
- var params = {
277
- parentNode: this,
278
- parentKey: parentKey,
279
- index: -1,
280
- object: null,
281
- oldObject: logic
282
- };
283
- if (parentKey) {
284
- params.parentKey = parentKey;
285
- if (Array.isArray(this[parentKey])) {
286
- var index = this[parentKey].indexOf(logic);
287
- ~index && this[parentKey].splice(index, 1);
288
- params.index = index;
289
- }
290
- else if (this[parentKey] === logic) {
291
- params.index = 0;
292
- this[parentKey] = undefined;
293
- }
294
- }
295
- return params;
296
- };
297
- BindEvent.prototype.removeArgument = function (options) {
298
- var argument = options;
299
- return argument["delete"]();
300
- };
301
- BindEvent.prototype.__removeLogicItem = function (logicItem) {
302
- var parentKey = logicItem.parentKey;
303
- var params = {
304
- parentNode: this,
305
- parentKey: parentKey,
306
- index: -1,
307
- object: null,
308
- oldObject: logicItem
309
- };
310
- if (parentKey) {
311
- params.parentKey = parentKey;
312
- if (Array.isArray(this[parentKey])) {
313
- var index = this[parentKey].indexOf(logicItem);
314
- ~index && this[parentKey].splice(index, 1);
315
- params.index = index;
316
- }
317
- else if (this[parentKey] === logicItem) {
318
- params.index = 0;
319
- this[parentKey] = undefined;
320
- }
321
- }
322
- return params;
323
- };
324
- Object.defineProperty(BindEvent.prototype, "process", {
325
- //================================================================================
326
- // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
327
- // 自动生成的代码已结束。下面可以手动编写。
328
- //================================================================================
329
- get: function () {
330
- return this.getAncestor('Process');
331
- },
332
- enumerable: false,
333
- configurable: true
334
- });
335
- Object.defineProperty(BindEvent.prototype, "tsCalleeNamespace", {
336
- get: function () {
337
- if (this.calleeNamespace) {
338
- var tsCalleeNamespace = this.calleeNamespace;
339
- tsCalleeNamespace = tsCalleeNamespace.replace(/\.[0-9]/g, function (m) { return m.replace('.', '.$'); });
340
- tsCalleeNamespace = tsCalleeNamespace.replace(/-/g, '_');
341
- return tsCalleeNamespace;
342
- }
343
- return '';
344
- },
345
- enumerable: false,
346
- configurable: true
347
- });
348
- Object.defineProperty(BindEvent.prototype, "calleeKey", {
349
- get: function () {
350
- var tsCalleeNamespace = this.tsCalleeNamespace;
351
- if (!tsCalleeNamespace) {
352
- return "" + this.calleeName;
353
- }
354
- // elements单独处理相对路径,和后缀的问题
355
- if (tsCalleeNamespace.startsWith('elements') && tsCalleeNamespace.endsWith('logics')) {
356
- var methodName = tsCalleeNamespace.substring(0, tsCalleeNamespace.length - '.logics'.length);
357
- return '__' + methodName + ("." + this.calleeName);
358
- }
359
- return tsCalleeNamespace + "." + this.calleeName;
360
- },
361
- enumerable: false,
362
- configurable: true
363
- });
364
- Object.defineProperty(BindEvent.prototype, "randerValue", {
365
- // 用于展示的value
366
- get: function () {
367
- var randerNameSpace = this.tsCalleeNamespace;
368
- if (!randerNameSpace) {
369
- return '' + this.calleeName;
370
- }
371
- // elements单独处理相对路径,和后缀的问题
372
- if (randerNameSpace.startsWith('elements') && randerNameSpace.endsWith('logics')) {
373
- var methodName = randerNameSpace.substring('elements.'.length, randerNameSpace.length);
374
- return '$refs.' + methodName + ("." + this.calleeName);
375
- }
376
- return randerNameSpace + "." + this.calleeName;
377
- },
378
- enumerable: false,
379
- configurable: true
380
- });
381
- BindEvent.prototype.toJS = function (state) {
382
- // shiftState(state, code)
383
- var code = "async " + this.getViewEventName() + " (";
384
- var params = this.getContextLogicParams();
385
- console.log(params);
386
- code += params.map(function (item) { return item.name; }).toString();
387
- code += ') { \n';
388
- this.logics.forEach(function (logic) {
389
- code += logic.toJS(translator_1.shiftState(state, code), 'IIFE');
390
- });
391
- code += '}\n';
392
- return code;
393
- };
394
- BindEvent.prototype.toEmbeddedTS = function (state, isPageCycle) {
395
- // 如果有绑定的事件名
396
- var code = "";
397
- if (isPageCycle) {
398
- this.logics.forEach(function (logic, index) {
399
- var logicName = logic.name;
400
- logic.name = logic.view.name + logic.name + index;
401
- code += logic.toEmbeddedTS(translator_1.shiftState(state, code, {
402
- tabSize: ((state === null || state === void 0 ? void 0 : state.tabSize) || 0) + 2
403
- }), 'noExport');
404
- code += translator_1.indent(((state === null || state === void 0 ? void 0 : state.tabSize) || 0));
405
- code += logic.name + "();\n";
406
- logic.name = logicName;
407
- });
408
- return code;
409
- }
410
- code = (this.toHump(this.name) || '__IDENTIFIER__') + ": (event: ";
411
- // event的类型
412
- code += this.getEventTypeString();
413
- code += ') => [\n';
414
- this.logics.forEach(function (logic) {
415
- // 一些默认的逻辑不翻译 排除掉
416
- if (logic.name.startsWith('__')) {
417
- return;
418
- }
419
- if (logic.view) {
420
- var logicName = logic.name;
421
- logic.name = '__' + logic.view.name + logic.parentNode.element.name + logic.name;
422
- logic.name = logic.name.replace(/-/g, '');
423
- try {
424
- code += logic.toEmbeddedTS(translator_1.shiftState(state, code, {
425
- tabSize: ((state === null || state === void 0 ? void 0 : state.tabSize) || 0) + 2
426
- }), 'noExport');
427
- }
428
- finally {
429
- // 翻译logic可能出错
430
- logic.name = logicName;
431
- }
432
- }
433
- else {
434
- code += logic.toEmbeddedTS(translator_1.shiftState(state, code, {
435
- tabSize: ((state === null || state === void 0 ? void 0 : state.tabSize) || 0) + 2
436
- }), 'noExport');
437
- }
438
- code += translator_1.indent(((state === null || state === void 0 ? void 0 : state.tabSize) || 0));
439
- code += ',\n';
440
- });
441
- if (this.view)
442
- code += '],\n';
443
- else
444
- code += ']\n';
445
- return code;
446
- };
447
- BindEvent.prototype.getEventTypeString = function () {
448
- var code = '';
449
- if (!Object.keys(createUiTs_1.elementsEventsMap).length)
450
- return;
451
- // 已有的点击事件,已知类型的,就直接取值
452
- if (['click', 'dblclick', 'contextmenu', 'mousedown', 'mouseup', 'mouseenter', 'mouseleave', 'focus', 'blur'].includes(this.name)) {
453
- var eventInfo = createUiTs_1.elementsEventsMap[this.name];
454
- var ref = eventInfo.params[0].schema.$ref;
455
- var type = ref.replace('#/systemTypes/', 'nasl.ui.');
456
- code = "" + type;
457
- }
458
- else {
459
- code = 'nasl.ui.BaseEvent';
460
- }
461
- // 组件上自己有类型的就覆盖掉,没有就用上面的类型
462
- if (this.element && createUiTs_1.elementsEventsMap[this.element.tag + "-" + this.name]) {
463
- var pageInfo = createUiTs_1.elementsEventsMap[this.element.tag + "-" + this.name];
464
- var refParam = pageInfo.params && pageInfo.params.find(function (item) { return item.schema; });
465
- if (refParam) {
466
- var ref = refParam.schema.$ref;
467
- var type = '';
468
- if (ref.includes('systemTypes')) {
469
- // 不要删除,用于转换类型
470
- type = ref.replace('#/systemTypes/', 'nasl.ui.');
471
- }
472
- else if (ref.includes('basicTypes')) {
473
- // 不要删除,用于转换类型
474
- type = ref.replace('#/basicTypes/', 'nasl.core.');
475
- }
476
- code = "" + type;
477
- }
478
- }
479
- return code;
480
- };
481
- // @withSourceMap()
482
- // toObjectTS(state?: TranslatorState): string {
483
- // let code = '';
484
- // if (this.name) {
485
- // code = `function ${this.name || '__IDENTIFIER__'} () {\n`;
486
- // code += indent((state?.tabSize || 0) + 1);
487
- // code += `${this.calleeKey}()`;
488
- // code += '\n';
489
- // code += indent((state?.tabSize || 0));
490
- // code += '};\n';
491
- // }
492
- // return code;
493
- // }
494
- /**
495
- * 设置callee
496
- */
497
- BindEvent.prototype.setCallee = function (logic) {
498
- var calleeNamespace = logic.getNamespace();
499
- if (logic.parentNode instanceof View__1["default"]) {
500
- calleeNamespace = '';
501
- }
502
- var object = {
503
- calleeNamespace: calleeNamespace,
504
- calleeName: logic.name
505
- };
506
- this.update(__assign({}, object));
507
- };
508
- BindEvent.prototype.getNamespace = function (ns) {
509
- if (this.view)
510
- return this.view.getNamespace() + "." + this.view.name + ".bindEvents." + this.name + ".logics";
511
- if (this.parentNode && this.parentNode.getNamespace) {
512
- var parentNamespace = this.parentNode.getNamespace();
513
- var parentName = this.parentNode.name;
514
- var arr = [parentNamespace];
515
- if (this.parentNode.concept !== 'App' && parentName) {
516
- arr.push(parentName);
517
- }
518
- return arr.join('.') + "." + (ns || 'bindEvent');
519
- }
520
- else
521
- throw new Error('无法获取命名空间,请设置 parentNode!');
522
- };
523
- /**
524
- * 转换成 Vue 的模板格式
525
- */
526
- BindEvent.prototype.toVue = function (options) {
527
- var _a, _b;
528
- var code = '';
529
- if ((_a = this.logics) === null || _a === void 0 ? void 0 : _a.length) {
530
- code += "@" + this.name + "=\"";
531
- var argsList_1 = [];
532
- if ((_b = this.logics) === null || _b === void 0 ? void 0 : _b.length) {
533
- var parent = this.parentNode;
534
- var index = 0;
535
- while (parent && parent.concept !== 'View') {
536
- if (parent.slotScope) {
537
- argsList_1.unshift(index === 0 ? 'current' : 'current' + index);
538
- index++;
539
- }
540
- parent = parent.parentNode;
541
- }
542
- argsList_1.unshift('$event');
543
- }
544
- code += this.getViewEventName();
545
- code += '(';
546
- argsList_1.forEach(function (arg, index) {
547
- code += arg;
548
- if (index !== argsList_1.length - 1)
549
- code += ', ';
550
- });
551
- code += ')';
552
- code += "\"";
553
- }
554
- return code;
555
- };
556
- // 获取bindEvent上的logic的参数从上文获取
557
- BindEvent.prototype.getContextLogicParams = function () {
558
- var _a;
559
- var argsList = [];
560
- if ((_a = this.logics) === null || _a === void 0 ? void 0 : _a.length) {
561
- var parent = this.parentNode;
562
- var index = 0;
563
- while (parent && parent.concept !== 'View') {
564
- if (parent.slotScope) {
565
- argsList.unshift(index === 0 ? 'current' : 'current' + index);
566
- index++;
567
- }
568
- parent = parent.parentNode;
569
- }
570
- argsList.unshift('event');
571
- }
572
- return argsList.map(function (name) { return new Param__1["default"]({ name: name }); });
573
- };
574
- // 获取bindEvent上的logic的参数从上文获取
575
- BindEvent.prototype.getContextRenderLogicParams = function (logic) {
576
- var _a;
577
- var argsList = [];
578
- if ((_a = this.logics) === null || _a === void 0 ? void 0 : _a.length) {
579
- var parent = this.parentNode;
580
- var index = 0;
581
- var event = Param__1["default"].from({ name: 'event' }, logic, 'virtualParams');
582
- var typeString = this.getEventTypeString();
583
- if (!typeString)
584
- return argsList;
585
- if (typeString && typeString.includes('nasl.ui')) {
586
- var last = typeString.lastIndexOf('.');
587
- event.typeAnnotation = TypeAnnotation__1["default"].createReference(typeString.substring(last + 1, typeString.length), {
588
- typeNamespace: 'nasl.ui'
589
- });
590
- }
591
- else {
592
- var last = typeString.lastIndexOf('.');
593
- event.typeAnnotation = TypeAnnotation__1["default"].createPrimitive(typeString.substring(last + 1, typeString.length), {
594
- typeNamespace: 'nasl.core'
595
- });
596
- }
597
- argsList.push(event);
598
- while (parent && parent.concept !== 'View') {
599
- if (parent.slotScope) {
600
- var param = Param__1["default"].from({ name: index === 0 ? 'current' : 'current' + index }, logic, 'virtualParams');
601
- param.typeAnnotation = TypeAnnotation__1["default"].createGeneric('Current', {
602
- typeNamespace: 'nasl.ui',
603
- typeArguments: []
604
- });
605
- argsList.push(param);
606
- index++;
607
- }
608
- parent = parent.parentNode;
609
- }
610
- }
611
- return argsList;
612
- };
613
- BindEvent.prototype.getPageViewEventChineseName = function () {
614
- var parent = this.parentNode;
615
- var suffixRE = /时|前|后$/;
616
- if (parent instanceof View__1["default"]) {
617
- var event = createUiTs_1.elementsEventsMap[this.name];
618
- var cap = suffixRE.exec(event.title);
619
- if (cap)
620
- return event.title.replace(suffixRE, '') + "\u201C" + (parent.title || parent.name) + "\u201D\u9875\u9762" + cap[0];
621
- else
622
- return event.title + "\u201C" + (parent.title || parent.name) + "\u201D\u9875\u9762";
623
- }
624
- else if (parent instanceof ViewElement__1["default"]) {
625
- var eventName = parent.tag + "-" + this.name;
626
- if (createUiTs_1.elementsEventsMap[eventName]) {
627
- var event = createUiTs_1.elementsEventsMap[eventName];
628
- var title = '';
629
- var textChild = parent.children.find(function (item) { return item.tag === 'u-text'; });
630
- if (textChild) {
631
- var bindAttr = textChild.bindAttrs.find(function (bindAttr) { return bindAttr.name === 'text' || bindAttr.name === 'title' || bindAttr.name === 'label'; });
632
- if (bindAttr && bindAttr.type === 'string')
633
- title = bindAttr.value;
634
- }
635
- else {
636
- var bindAttr = parent.bindAttrs.find(function (bindAttr) { return bindAttr.name === 'text' || bindAttr.name === 'title' || bindAttr.name === 'label'; });
637
- if (bindAttr && bindAttr.type === 'string')
638
- title = bindAttr.value;
639
- }
640
- var cap = suffixRE.exec(event.title);
641
- if (cap)
642
- return "" + event.title.replace(suffixRE, '') + (title ? "\u201C" + title + "\u201D" : '') + parent.name + cap[0];
643
- else
644
- return "" + event.title + (title ? "\u201C" + title + "\u201D" : '') + parent.name;
645
- }
646
- else if (['click', 'dblclick', 'contextmenu', 'mousedown', 'mouseup', 'mouseenter', 'mouseleave', 'focus', 'blur'].includes(this.name)) {
647
- var event = createUiTs_1.elementsEventsMap[this.name];
648
- var title = '';
649
- var textChild = parent.children.find(function (item) { return item.tag === 'u-text'; });
650
- if (textChild) {
651
- var bindAttr = textChild.bindAttrs.find(function (bindAttr) { return bindAttr.name === 'text' || bindAttr.name === 'title' || bindAttr.name === 'label'; });
652
- if (bindAttr && bindAttr.type === 'string')
653
- title = bindAttr.value;
654
- }
655
- else {
656
- var bindAttr = parent.bindAttrs.find(function (bindAttr) { return bindAttr.name === 'text' || bindAttr.name === 'title' || bindAttr.name === 'label'; });
657
- if (bindAttr && bindAttr.type === 'string')
658
- title = bindAttr.value;
659
- }
660
- var cap = suffixRE.exec(event.title);
661
- if (cap)
662
- return "" + event.title.replace(suffixRE, '') + (title ? "\u201C" + title + "\u201D" : '') + parent.name + cap[0];
663
- else
664
- return "" + event.title + (title ? "\u201C" + title + "\u201D" : '') + parent.name;
665
- }
666
- return parent.name + "-" + this.name;
667
- }
668
- };
669
- BindEvent.prototype.getViewEventChineseName = function () {
670
- var parent = this.parentNode;
671
- if (parent instanceof View__1["default"]) {
672
- var event = createUiTs_1.elementsEventsMap[this.name];
673
- return "" + event.title;
674
- }
675
- else if (parent instanceof ViewElement__1["default"]) {
676
- var eventName = parent.tag + "-" + this.name;
677
- if (createUiTs_1.elementsEventsMap[eventName]) {
678
- var event = createUiTs_1.elementsEventsMap[eventName];
679
- return "" + event.title;
680
- }
681
- else if (['click', 'dblclick', 'contextmenu', 'mousedown', 'mouseup', 'mouseenter', 'mouseleave', 'focus', 'blur'].includes(this.name)) {
682
- var event = createUiTs_1.elementsEventsMap[this.name];
683
- return "" + event.title;
684
- }
685
- return "" + this.name;
686
- }
687
- };
688
- BindEvent.prototype.getViewEventName = function () {
689
- // 名称规则:组件的名称 + 组件的事件 + 逻辑本身的事件 用下划线链接
690
- var parentNode = this.parentNode;
691
- var newName = this.name.replace(/-/g, '');
692
- if (parentNode instanceof ViewElement__1["default"]) {
693
- return parentNode.name + "_" + newName;
694
- }
695
- else if (parentNode instanceof View__1["default"]) {
696
- return this.view.name + "_" + newName;
697
- }
698
- };
699
- var BindEvent_1;
700
- __decorate([
701
- decorators_1.property()
702
- ], BindEvent.prototype, "concept");
703
- __decorate([
704
- decorators_1.property()
705
- ], BindEvent.prototype, "name");
706
- __decorate([
707
- decorators_1.property('Logic')
708
- ], BindEvent.prototype, "logics");
709
- __decorate([
710
- decorators_1.property()
711
- ], BindEvent.prototype, "calleeNamespace");
712
- __decorate([
713
- decorators_1.property()
714
- ], BindEvent.prototype, "calleeName");
715
- __decorate([
716
- decorators_1.property('Argument')
717
- ], BindEvent.prototype, "arguments");
718
- __decorate([
719
- translator_1.withSourceMap()
720
- ], BindEvent.prototype, "toEmbeddedTS");
721
- BindEvent = BindEvent_1 = __decorate([
722
- decorators_1.concept('元素绑定事件')
723
- ], BindEvent);
724
- return BindEvent;
725
- }(BaseNode_1["default"]));
726
- exports.BindEvent = BindEvent;
727
- classMap_1["default"].BindEvent = BindEvent;
728
- exports["default"] = BindEvent;
729
- //================================================================================
730
- // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
731
- // 自动生成的代码已结束。下面可以手动编写。
732
- //================================================================================