@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,405 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
- function verb(n) { return function (v) { return step([n, v]); }; }
15
- function step(op) {
16
- if (f) throw new TypeError("Generator is already executing.");
17
- while (_) try {
18
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
- if (y = 0, t) op = [op[0] & 2, t.value];
20
- switch (op[0]) {
21
- case 0: case 1: t = op; break;
22
- case 4: _.label++; return { value: op[1], done: false };
23
- case 5: _.label++; y = op[1]; op = [0]; continue;
24
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
- default:
26
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
- if (t[2]) _.ops.pop();
31
- _.trys.pop(); continue;
32
- }
33
- op = body.call(thisArg, _);
34
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
- }
37
- };
38
- var __spreadArrays = (this && this.__spreadArrays) || function () {
39
- for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
40
- for (var r = Array(s), k = 0, i = 0; i < il; i++)
41
- for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
42
- r[k] = a[j];
43
- return r;
44
- };
45
- exports.__esModule = true;
46
- exports.genPermissionData = void 0;
47
- var concepts_1 = require("../concepts");
48
- var process2LogicNamespace_1 = require("../server/process2LogicNamespace");
49
- function isReadOnly(logic) {
50
- var _a;
51
- return !!logic.module
52
- || ((_a = logic.parentNode) === null || _a === void 0 ? void 0 : _a.concept) === 'Namespace'
53
- || logic.parentKey === 'readonly'; // process logic
54
- }
55
- var cache = new Map();
56
- var useCache = false;
57
- function findUsage(logic) {
58
- return __awaiter(this, void 0, void 0, function () {
59
- var res, _a;
60
- return __generator(this, function (_b) {
61
- switch (_b.label) {
62
- case 0:
63
- if (useCache && cache.has(logic))
64
- return [2 /*return*/, cache.get(logic)];
65
- if (!isReadOnly(logic)) return [3 /*break*/, 2];
66
- return [4 /*yield*/, logic.findReadOnlyLogicUsage()];
67
- case 1:
68
- _a = _b.sent();
69
- return [3 /*break*/, 4];
70
- case 2: return [4 /*yield*/, logic.findUsage()];
71
- case 3:
72
- _a = _b.sent();
73
- _b.label = 4;
74
- case 4:
75
- res = _a;
76
- if (useCache)
77
- cache.set(logic, res);
78
- return [2 /*return*/, res];
79
- }
80
- });
81
- });
82
- }
83
- function openCache() {
84
- useCache = true;
85
- cache.clear();
86
- }
87
- function closeCache() {
88
- useCache = false;
89
- cache.clear();
90
- }
91
- function findViewLogicReferences(logic, vis) {
92
- if (vis === void 0) { vis = new Set(); }
93
- return __awaiter(this, void 0, void 0, function () {
94
- function dfs(usage) {
95
- return __awaiter(this, void 0, void 0, function () {
96
- var logic_1, _i, _a, child;
97
- return __generator(this, function (_b) {
98
- switch (_b.label) {
99
- case 0:
100
- if (!(usage.node instanceof concepts_1.CallLogic)) return [3 /*break*/, 2];
101
- logic_1 = usage.node.logic;
102
- if (!(!vis.has(logic_1) && logic_1)) return [3 /*break*/, 2];
103
- vis.add(logic_1);
104
- return [4 /*yield*/, findViewLogicReferences(logic_1, vis)];
105
- case 1:
106
- _b.sent();
107
- _b.label = 2;
108
- case 2:
109
- if (!usage.children) return [3 /*break*/, 6];
110
- _i = 0, _a = usage.children;
111
- _b.label = 3;
112
- case 3:
113
- if (!(_i < _a.length)) return [3 /*break*/, 6];
114
- child = _a[_i];
115
- return [4 /*yield*/, dfs(child)];
116
- case 4:
117
- _b.sent();
118
- _b.label = 5;
119
- case 5:
120
- _i++;
121
- return [3 /*break*/, 3];
122
- case 6: return [2 /*return*/];
123
- }
124
- });
125
- });
126
- }
127
- var usageMap, usages, _i, usages_1, usage;
128
- return __generator(this, function (_a) {
129
- switch (_a.label) {
130
- case 0: return [4 /*yield*/, findUsage(logic)];
131
- case 1:
132
- usageMap = _a.sent();
133
- usages = [];
134
- usageMap.forEach(function (usage, node) {
135
- if (node instanceof concepts_1.View)
136
- usages.push(usage);
137
- });
138
- _i = 0, usages_1 = usages;
139
- _a.label = 2;
140
- case 2:
141
- if (!(_i < usages_1.length)) return [3 /*break*/, 5];
142
- usage = usages_1[_i];
143
- return [4 /*yield*/, dfs(usage)];
144
- case 3:
145
- _a.sent();
146
- _a.label = 4;
147
- case 4:
148
- _i++;
149
- return [3 /*break*/, 2];
150
- case 5: return [2 /*return*/, Array.from(vis)];
151
- }
152
- });
153
- });
154
- }
155
- function findUIReferences(logic) {
156
- return __awaiter(this, void 0, void 0, function () {
157
- function dfs(usage, parent) {
158
- var _a;
159
- if (parent === void 0) { parent = null; }
160
- if (['logic1', 'logic2'].includes(logic.name)) {
161
- console.log(usage.node);
162
- }
163
- if ((usage.node instanceof concepts_1.BindEvent || usage.node instanceof concepts_1.BindAttribute)
164
- && (parent.node instanceof concepts_1.View || parent.node instanceof concepts_1.ViewElement))
165
- res.push(parent.node);
166
- (_a = usage.children) === null || _a === void 0 ? void 0 : _a.forEach(function (child) {
167
- dfs(child, usage);
168
- });
169
- }
170
- var usageMap, usages, res;
171
- return __generator(this, function (_a) {
172
- switch (_a.label) {
173
- case 0: return [4 /*yield*/, findUsage(logic)];
174
- case 1:
175
- usageMap = _a.sent();
176
- usages = [];
177
- usageMap.forEach(function (usage, node) {
178
- if (node instanceof concepts_1.View)
179
- usages.push(usage);
180
- });
181
- res = [];
182
- usages.forEach(function (usage) {
183
- dfs(usage);
184
- });
185
- return [2 /*return*/, res];
186
- }
187
- });
188
- });
189
- }
190
- function findResourcesOfUI(view) {
191
- var res = [];
192
- var node = view;
193
- while (node) {
194
- if (node instanceof concepts_1.View && node.auth)
195
- res.push({
196
- path: node.authPath,
197
- type: 'page'
198
- });
199
- else if (node instanceof concepts_1.ViewElement) {
200
- var hasAuth = node.bindDirectives.find(function (directive) { return directive.name === 'auth'; });
201
- if (hasAuth)
202
- res.push({
203
- path: node.authPath,
204
- type: 'component'
205
- });
206
- }
207
- node = node.parentNode;
208
- }
209
- return res;
210
- }
211
- function optimizeResourceData(resources) {
212
- var res = removeRedundantResourceData(resources);
213
- res = removeRedundantResourceData2(res);
214
- return res;
215
- }
216
- // [['b'], ['a' ,'b']] 只需要保留 [['b']]
217
- function removeRedundantResourceData(resources) {
218
- var wm = new WeakMap();
219
- for (var _i = 0, resources_1 = resources; _i < resources_1.length; _i++) {
220
- var resource = resources_1[_i];
221
- var hash = resource.map(function (_a) {
222
- var path = _a.path, type = _a.type;
223
- return path + "_" + type;
224
- })
225
- .join();
226
- wm.set(resource, hash);
227
- }
228
- resources.sort(function (a, b) { return wm.get(a).length - wm.get(b).length; });
229
- var res = [];
230
- var hashs = [];
231
- ;
232
- var _loop_1 = function (resource) {
233
- var hash = wm.get(resource);
234
- if (hashs.some(function (h) { return hash.endsWith(h); }))
235
- return "continue";
236
- res.push(resource);
237
- hashs.push(hash);
238
- };
239
- for (var _a = 0, resources_2 = resources; _a < resources_2.length; _a++) {
240
- var resource = resources_2[_a];
241
- _loop_1(resource);
242
- }
243
- return res;
244
- }
245
- // 子页面有权限,父页面默认也有权限,所以不需要记录父页面权限;
246
- // 组件有权限,组件所在的页面默认也有权限,所以不需要记录页面权限
247
- function removeRedundantResourceData2(resources) {
248
- return resources.map(function (resource) {
249
- if (resource.length <= 1)
250
- return resource;
251
- if (resource[0].type === 'page')
252
- return resource.slice(0, 1);
253
- else if (resource[0].type === 'component')
254
- return resource.filter(function (item) { return item.type === 'component'; });
255
- });
256
- }
257
- function findResourcesOfLogic(logic, uploaders) {
258
- return __awaiter(this, void 0, void 0, function () {
259
- var logics, UIs, _i, logics_1, logic_2, _a, _b, service, res;
260
- return __generator(this, function (_c) {
261
- switch (_c.label) {
262
- case 0:
263
- if (['logic1', 'logic2'].includes(logic.name)) {
264
- debugger;
265
- }
266
- return [4 /*yield*/, findViewLogicReferences(logic)];
267
- case 1:
268
- logics = _c.sent();
269
- logics.push(logic);
270
- UIs = [];
271
- _i = 0, logics_1 = logics;
272
- _c.label = 2;
273
- case 2:
274
- if (!(_i < logics_1.length)) return [3 /*break*/, 5];
275
- logic_2 = logics_1[_i];
276
- _b = (_a = UIs).concat;
277
- return [4 /*yield*/, findUIReferences(logic_2)];
278
- case 3:
279
- UIs = _b.apply(_a, [_c.sent()]);
280
- if (['logic1', 'logic2'].includes(logic_2.name)) {
281
- console.log(UIs);
282
- }
283
- _c.label = 4;
284
- case 4:
285
- _i++;
286
- return [3 /*break*/, 2];
287
- case 5:
288
- service = logic.toService();
289
- if (uploaders.has(service.url.path)) {
290
- UIs = UIs.concat(uploaders.get(service.url.path));
291
- }
292
- UIs = Array.from(new Set(UIs));
293
- res = UIs.map(function (ui) { return findResourcesOfUI(ui); });
294
- if (['logic1', 'logic2'].includes(logic.name)) {
295
- console.log(logic.name, UIs, res);
296
- }
297
- return [2 /*return*/, optimizeResourceData(res)];
298
- }
299
- });
300
- });
301
- }
302
- function getAllLogics(app) {
303
- var modules = [];
304
- var entities = [];
305
- var logics = [];
306
- if (Array.isArray(app.dataSources)) {
307
- app.dataSources.forEach(function (dataSource) {
308
- if (Array.isArray(dataSource.entities)) {
309
- entities.push.apply(entities, dataSource.entities);
310
- }
311
- });
312
- }
313
- app.logics && logics.push.apply(logics, app.logics);
314
- app.dependencies && modules.push.apply(modules, app.dependencies);
315
- app.interfaceDependencies && modules.push.apply(modules, app.interfaceDependencies);
316
- modules.forEach(function (module) {
317
- module.logics && logics.push.apply(logics, module.logics);
318
- if (Array.isArray(module.dataSources)) {
319
- module.dataSources.forEach(function (dataSource) {
320
- if (Array.isArray(dataSource.entities)) {
321
- entities.push.apply(entities, dataSource.entities);
322
- }
323
- });
324
- }
325
- });
326
- var allLogics = [];
327
- if (Array.isArray(entities)) {
328
- entities.forEach(function (entity) {
329
- var ns = entity.ns;
330
- if (Array.isArray(ns === null || ns === void 0 ? void 0 : ns.logics)) {
331
- allLogics.push.apply(allLogics, ns.logics);
332
- }
333
- });
334
- }
335
- if (Array.isArray(logics)) {
336
- allLogics.push.apply(allLogics, logics);
337
- }
338
- var processLogics = [];
339
- var processTreeFragments = (app.processes || [])
340
- .map(process2LogicNamespace_1.processToTreeFragment);
341
- processTreeFragments.forEach(function (tree) {
342
- processLogics.push.apply(processLogics, tree.logics);
343
- tree.elements.forEach(function (element) {
344
- processLogics.push.apply(processLogics, element.logics);
345
- });
346
- });
347
- return {
348
- logics: allLogics,
349
- processLogics: processLogics
350
- };
351
- }
352
- function findUploaders(app) {
353
- var map = new Map();
354
- app.traverseChildren(function (node) {
355
- var _a;
356
- if (node instanceof concepts_1.ViewElement && ((_a = node.tag) === null || _a === void 0 ? void 0 : _a.includes('uploader'))) {
357
- var urlAttr = node.bindAttrs.find(function (item) { return item.name === 'url'; });
358
- var url = urlAttr === null || urlAttr === void 0 ? void 0 : urlAttr.value;
359
- if (url) {
360
- if (!map.has(url))
361
- map.set(url, [node]);
362
- else
363
- map.get(url).push(node);
364
- }
365
- }
366
- });
367
- return map;
368
- }
369
- function genPermissionData(app) {
370
- return __awaiter(this, void 0, void 0, function () {
371
- var logicPageResourceDtoList, _a, logics, processLogics, uploaders, _i, _b, logic, resources, service, key;
372
- return __generator(this, function (_c) {
373
- switch (_c.label) {
374
- case 0:
375
- // console.time('xxx');
376
- openCache();
377
- logicPageResourceDtoList = {};
378
- _a = getAllLogics(app), logics = _a.logics, processLogics = _a.processLogics;
379
- uploaders = findUploaders(app);
380
- _i = 0, _b = __spreadArrays(logics, processLogics);
381
- _c.label = 1;
382
- case 1:
383
- if (!(_i < _b.length)) return [3 /*break*/, 4];
384
- logic = _b[_i];
385
- return [4 /*yield*/, findResourcesOfLogic(logic, uploaders)];
386
- case 2:
387
- resources = _c.sent();
388
- if (resources.length === 0)
389
- return [3 /*break*/, 3];
390
- service = logics.includes(logic) ? logic.toService() : logic.toProcessService();
391
- key = service.url.path + ":" + service.url.method;
392
- logicPageResourceDtoList[key] = resources;
393
- _c.label = 3;
394
- case 3:
395
- _i++;
396
- return [3 /*break*/, 1];
397
- case 4:
398
- closeCache();
399
- // console.timeEnd('xxx');
400
- return [2 /*return*/, logicPageResourceDtoList];
401
- }
402
- });
403
- });
404
- }
405
- exports.genPermissionData = genPermissionData;