@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,579 +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.loadAppSync = exports.loadApp = exports.handleApp = exports.batchAction = exports.batchQuery = void 0;
47
- var concepts_1 = require("../../concepts");
48
- var decorators_1 = require("../../decorators");
49
- var config_1 = require("../../config");
50
- var vue_1 = require("vue");
51
- var service_1 = require("./service");
52
- /// #if !process.env.NODE_ENV || process.env.BUILD_TARGET === 'node'
53
- var fs = require("fs-extra");
54
- var jsoner = require("./jsoner");
55
- /// #endif
56
- exports.batchQuery = service_1["default"].batchQuery;
57
- exports.batchAction = service_1["default"].batchAction;
58
- function getLogic(key, app, diffLogicList) {
59
- var _a;
60
- if (!diffLogicList.includes(key)) {
61
- diffLogicList.push(key);
62
- if (key.startsWith('app')) {
63
- var index = key.lastIndexOf('.');
64
- var name_1 = key.slice(index + 1);
65
- var logic = app.logics.find(function (item) { return item.name === name_1; });
66
- if (logic && logic.body && logic.body.length > 2) {
67
- logic.body.map(function (item) { return getStatement(item, app, diffLogicList); });
68
- }
69
- }
70
- else if (key.startsWith('extensions')) {
71
- var _pathArr = key.split('.');
72
- var _name_1 = _pathArr[1];
73
- var _path_1 = _pathArr[3];
74
- var _list = app.dependencies;
75
- var _module = _list.find(function (it) {
76
- var name = it.name.replaceAll('-', '_');
77
- return name === _name_1;
78
- });
79
- var logic = (_a = _module === null || _module === void 0 ? void 0 : _module.logics) === null || _a === void 0 ? void 0 : _a.find(function (item) { return item.name === _path_1; });
80
- if (logic && logic.body && logic.body.length > 2) {
81
- logic.body.map(function (item) { return getStatement(item, app, diffLogicList); });
82
- }
83
- }
84
- }
85
- }
86
- /* 获取LogicITEM */
87
- function getStatement(state, app, diffLogicList) {
88
- var _a, _b, _c, _d, _e;
89
- var logicItems = [];
90
- switch (state.concept) {
91
- case 'Assignment':
92
- logicItems = [state.left, state.right];
93
- break;
94
- case 'IfStatement':
95
- logicItems = __spreadArrays(state.consequent, state.alternate);
96
- break;
97
- case 'ForEachStatement':
98
- logicItems = __spreadArrays(state.body, [state.each, state.start, state.end]);
99
- break;
100
- case 'Match':
101
- logicItems = state.cases.map(getStatement).flat(1);
102
- break;
103
- case 'MatchCase':
104
- logicItems = __spreadArrays(state.patterns, state.body);
105
- break;
106
- case 'SwitchStatement':
107
- logicItems = state.cases.map(getStatement).flat(1);
108
- break;
109
- case 'SwitchCase':
110
- logicItems = __spreadArrays([state.test], state.consequent);
111
- break;
112
- case 'WhileStatement':
113
- logicItems = __spreadArrays([state.test], state.body);
114
- break;
115
- case 'CallLogic':
116
- logicItems = (_a = state.arguments) === null || _a === void 0 ? void 0 : _a.map(function (item) { return item.expression; });
117
- getLogic(state.calleewholeKey, app, diffLogicList);
118
- break;
119
- case 'CallFunction':
120
- logicItems = (_b = state.arguments) === null || _b === void 0 ? void 0 : _b.map(function (item) { return item.expression; });
121
- break;
122
- case 'CallInterface':
123
- logicItems = (_c = state.arguments) === null || _c === void 0 ? void 0 : _c.map(function (item) { return item.expression; });
124
- break;
125
- case 'BatchAssignment':
126
- logicItems = __spreadArrays([(_d = state.left) === null || _d === void 0 ? void 0 : _d.expression], (_e = state.left) === null || _e === void 0 ? void 0 : _e.members, state.rights.map(function (item) { return __spreadArrays([item === null || item === void 0 ? void 0 : item.expression], item === null || item === void 0 ? void 0 : item.members); }).flat(1));
127
- break;
128
- case 'MemberExpression':
129
- logicItems = [state.object, state.property];
130
- break;
131
- case 'StringInterpolation':
132
- logicItems = __spreadArrays(state.expressions);
133
- break;
134
- default:
135
- break;
136
- }
137
- return logicItems.filter(function (item) { return !!item; });
138
- }
139
- /* 小程序影响的服务端发布 */
140
- function getMiniAppChange(target, obj, action) {
141
- var _a;
142
- if (!target.app.miniEnable) {
143
- return false;
144
- }
145
- /* 分端以后需要改 */
146
- var len = (_a = target.nodePath) === null || _a === void 0 ? void 0 : _a.split('.').length;
147
- if (len > 2) {
148
- return false;
149
- }
150
- if (action === 'delete') {
151
- return true;
152
- }
153
- else {
154
- if ('name' in obj || 'title' in obj) {
155
- return true;
156
- }
157
- }
158
- }
159
- /**
160
- * 执行更新
161
- */
162
- function doAction(app, actionItem) {
163
- return __awaiter(this, void 0, void 0, function () {
164
- var hasFrontEnd, hasBackEnd, actionList, _a, list, actionMsg, action, itemloop, loopEle, ChangedNASLType, err, error_1, json, actionMap, msg;
165
- return __generator(this, function (_b) {
166
- switch (_b.label) {
167
- case 0:
168
- app.emit('saving');
169
- hasFrontEnd = false;
170
- hasBackEnd = false;
171
- actionList = [];
172
- _a = actionItem || {}, list = _a.list, actionMsg = _a.actionMsg, action = _a.action;
173
- itemloop = function (_i, app, diffArr) {
174
- var _l = getStatement(_i, app, diffArr);
175
- if (_l.length) {
176
- _l.map(function (_ii) { return itemloop(_ii, app, diffArr); });
177
- }
178
- };
179
- loopEle = function (view, checkAuth) {
180
- var _a, _b;
181
- if (view instanceof concepts_1.View) {
182
- (_a = view === null || view === void 0 ? void 0 : view.elements) === null || _a === void 0 ? void 0 : _a.forEach(function (item) { return loopEle(item, checkAuth); });
183
- }
184
- (_b = view === null || view === void 0 ? void 0 : view.children) === null || _b === void 0 ? void 0 : _b.forEach(function (item) { return loopEle(item, checkAuth); });
185
- if (view instanceof concepts_1.ViewElement) {
186
- if (view.bindEvents.length) {
187
- var diffArr_1 = [];
188
- view.bindEvents.forEach(function (bindEvent) {
189
- bindEvent.logics.forEach(function (logic) {
190
- logic.body.forEach(function (logicItem) { return itemloop(logicItem, app, diffArr_1); });
191
- });
192
- });
193
- var result = diffArr_1.filter(function (item) { return item.startsWith('app') || item.startsWith('extensions'); });
194
- if (result.length) {
195
- hasBackEnd = true;
196
- }
197
- }
198
- if (view.tag === 'u-uploader' || view.tag === 'van-uploader') {
199
- var bute = view === null || view === void 0 ? void 0 : view.bindAttrs.find(function (item) { return item.name === 'url'; });
200
- if (checkAuth) {
201
- if ((bute === null || bute === void 0 ? void 0 : bute.value.endsWith('/import')) && !view.view.parentAuth) {
202
- hasBackEnd = true;
203
- }
204
- }
205
- else {
206
- if (bute === null || bute === void 0 ? void 0 : bute.value.endsWith('/import')) {
207
- hasBackEnd = true;
208
- }
209
- }
210
- }
211
- }
212
- };
213
- try {
214
- if (Array.isArray(list)) {
215
- list.forEach(function (event) {
216
- var _a, _b, _c, _d, _e, _f, _g, _h;
217
- var emitTarget = (_a = event === null || event === void 0 ? void 0 : event.originEvent) === null || _a === void 0 ? void 0 : _a.target;
218
- var _path = event.originEvent.path;
219
- var _root = ((_b = _path.split('.')) === null || _b === void 0 ? void 0 : _b[1]) || '';
220
- if (['dataSources', 'processes', 'logics', 'enums', 'structures', 'interfaces', 'interfaceDependencies', 'configuration', 'dependencies'].some(function (item) { return _root.startsWith(item); })) {
221
- hasBackEnd = true;
222
- }
223
- if (emitTarget.concept === 'Logic') {
224
- var diffArr_2 = [];
225
- if (emitTarget.body.length > 2) {
226
- emitTarget.body.forEach(function (it) {
227
- itemloop(it, app, diffArr_2);
228
- });
229
- }
230
- var result = diffArr_2.filter(function (item) { return item.startsWith('app') || item.startsWith('extensions'); });
231
- if (result.length) {
232
- hasBackEnd = true;
233
- }
234
- }
235
- if (emitTarget.view) {
236
- hasFrontEnd = true;
237
- }
238
- if (emitTarget.concept === 'View') {
239
- if (getMiniAppChange(emitTarget, (_c = event === null || event === void 0 ? void 0 : event.originEvent) === null || _c === void 0 ? void 0 : _c.object, (_d = event === null || event === void 0 ? void 0 : event.originEvent) === null || _d === void 0 ? void 0 : _d.action)) {
240
- hasBackEnd = true;
241
- }
242
- var isDelete_1 = ((_e = event === null || event === void 0 ? void 0 : event.originEvent) === null || _e === void 0 ? void 0 : _e.action) === 'delete';
243
- var isUpdateAuth = ((_f = event === null || event === void 0 ? void 0 : event.originEvent) === null || _f === void 0 ? void 0 : _f.action) === 'update' && ((_g = event === null || event === void 0 ? void 0 : event.originEvent) === null || _g === void 0 ? void 0 : _g.object) && 'auth' in ((_h = event === null || event === void 0 ? void 0 : event.originEvent) === null || _h === void 0 ? void 0 : _h.object);
244
- if (isDelete_1 || isUpdateAuth) {
245
- var app_1 = emitTarget.app;
246
- var diffArr_3 = [];
247
- emitTarget.logics.forEach(function (logic) {
248
- if (logic.body.length > 2) {
249
- logic.body.forEach(function (it) {
250
- itemloop(it, app_1, diffArr_3);
251
- });
252
- }
253
- });
254
- var result = diffArr_3.filter(function (item) { return item.startsWith('app') || item.startsWith('extensions'); });
255
- if (result.length) {
256
- hasBackEnd = true;
257
- }
258
- emitTarget.children.forEach(function (item) { return loopEle(item, isDelete_1); });
259
- emitTarget.elements.forEach(function (item) { return loopEle(item, isDelete_1); });
260
- }
261
- hasFrontEnd = true;
262
- }
263
- if (emitTarget.concept === 'ViewElement') {
264
- loopEle(emitTarget, true);
265
- }
266
- if (emitTarget.concept === 'BindAttribute' && emitTarget.name === 'url' && emitTarget.value.endsWith('/import')) {
267
- if (!emitTarget.view.parentAuth) {
268
- hasBackEnd = true;
269
- }
270
- }
271
- if (emitTarget.concept === 'CallLogic') {
272
- var arrlist = [];
273
- getLogic(emitTarget.calleeKey, emitTarget.app, arrlist);
274
- var result = arrlist.filter(function (item) { return item.startsWith('app') || item.startsWith('extensions'); });
275
- // console.log(result, 'CallLogic');
276
- if (result.length) {
277
- hasBackEnd = true;
278
- }
279
- }
280
- event.eventList.forEach(function (_a) {
281
- var action = _a.action, path = _a.path, objItem = _a.object;
282
- if (Array.isArray(objItem)) {
283
- if (action === 'update') {
284
- actionList.push({
285
- action: action,
286
- path: path,
287
- node: objItem[0]
288
- });
289
- }
290
- else {
291
- objItem.forEach(function (item, index) {
292
- actionList.push({
293
- action: action,
294
- path: path,
295
- node: item
296
- });
297
- });
298
- }
299
- }
300
- else {
301
- actionList.push({
302
- action: action,
303
- path: path,
304
- object: objItem
305
- });
306
- }
307
- });
308
- });
309
- }
310
- }
311
- catch (error) {
312
- console.log(error);
313
- app.emit('refresh');
314
- }
315
- ChangedNASLType = '';
316
- if (hasFrontEnd && hasBackEnd) {
317
- ChangedNASLType = 'both';
318
- }
319
- else if (hasFrontEnd) {
320
- ChangedNASLType = 'web';
321
- }
322
- else if (hasBackEnd) {
323
- ChangedNASLType = 'backend';
324
- }
325
- if (!(config_1.config.storage.protocol === 'http')) return [3 /*break*/, 5];
326
- _b.label = 1;
327
- case 1:
328
- _b.trys.push([1, 3, , 4]);
329
- return [4 /*yield*/, service_1["default"].batchAction({
330
- body: actionList,
331
- headers: {
332
- appId: app.id,
333
- ChangedNASLType: ChangedNASLType
334
- }
335
- })];
336
- case 2:
337
- _b.sent();
338
- return [3 /*break*/, 4];
339
- case 3:
340
- error_1 = _b.sent();
341
- err = error_1;
342
- // 401650, 检测到当前应用拉取操作已被强制结束, 用户确认后再刷新
343
- if ((error_1 === null || error_1 === void 0 ? void 0 : error_1.code) !== 401650)
344
- app.emit('refresh');
345
- return [3 /*break*/, 4];
346
- case 4: return [3 /*break*/, 9];
347
- case 5:
348
- if (!(config_1.config.storage.protocol === 'mock')) return [3 /*break*/, 6];
349
- return [3 /*break*/, 9];
350
- case 6: return [4 /*yield*/, fs.readJSON(config_1.config.storage.basePath)];
351
- case 7:
352
- json = _b.sent();
353
- jsoner.batchAction(json, actionList);
354
- return [4 /*yield*/, fs.writeJSON(config_1.config.storage.basePath, json, {
355
- spaces: 4
356
- })];
357
- case 8:
358
- _b.sent();
359
- _b.label = 9;
360
- case 9:
361
- app.emit('saved', err);
362
- if (!app._historying) {
363
- if (app._historyIndex !== app._historyList.length) {
364
- app._historyList = app._historyList.splice(0, app._historyIndex);
365
- }
366
- app._historyList.push({
367
- actionMsg: actionMsg,
368
- list: list.map(function (item) { return item.originEvent; })
369
- });
370
- app._historyIndex = app._historyList.length;
371
- }
372
- else {
373
- actionMap = {
374
- undo: '已撤销操作:',
375
- redo: '已重做操作:'
376
- };
377
- msg = actionMap[action];
378
- msg += actionMsg;
379
- vue_1["default"].prototype.$toast.info(msg);
380
- app._historying = false;
381
- }
382
- return [2 /*return*/];
383
- }
384
- });
385
- });
386
- }
387
- function handleApp(app) {
388
- var _this = this;
389
- app._isCollectingCount = 0;
390
- app._collectingList = [];
391
- app._historyList = [];
392
- app._historyIndex = 0;
393
- app._historying = false;
394
- app._timer = null;
395
- app.on('undo', function () {
396
- app._historying = true;
397
- });
398
- app.on('redo', function () {
399
- app._historying = true;
400
- });
401
- /**
402
- * 开启收集
403
- */
404
- app.on('collect:start', function (event) {
405
- if (app._timer) {
406
- clearTimeout(app._timer);
407
- }
408
- if (!app._noTimer) {
409
- app._noTimer = event.noTimer;
410
- }
411
- if (!app._noTimer) {
412
- app._timer = setTimeout(function () {
413
- console.error('收集超时,请及时排查原因');
414
- app.emit('refresh');
415
- }, 2500);
416
- }
417
- if (!app._isCollectingCount) {
418
- app._actionMsg = event === null || event === void 0 ? void 0 : event.actionMsg;
419
- app._action = event === null || event === void 0 ? void 0 : event.action;
420
- }
421
- app._isCollectingCount++;
422
- });
423
- /**
424
- * 结束收集
425
- */
426
- app.on('collect:end', function () { return __awaiter(_this, void 0, void 0, function () {
427
- var collectingList, actionMsg, action;
428
- return __generator(this, function (_a) {
429
- switch (_a.label) {
430
- case 0:
431
- app._isCollectingCount--;
432
- if (!(app._isCollectingCount === 0)) return [3 /*break*/, 3];
433
- if (app._timer) {
434
- clearTimeout(app._timer);
435
- }
436
- collectingList = app._collectingList;
437
- actionMsg = app._actionMsg;
438
- action = app._action;
439
- app._collectingList = [];
440
- app._actionMsg = '';
441
- app._action = '';
442
- app._noTimer = undefined;
443
- if (!(Array.isArray(collectingList) && collectingList.length)) return [3 /*break*/, 2];
444
- app.naslServer.embeddedTSEmitter.emit('change', {
445
- value: collectingList
446
- });
447
- return [4 /*yield*/, doAction(app, {
448
- list: collectingList,
449
- actionMsg: actionMsg,
450
- action: action
451
- })];
452
- case 1:
453
- _a.sent();
454
- _a.label = 2;
455
- case 2: return [3 /*break*/, 4];
456
- case 3:
457
- if (app._isCollectingCount < 0) {
458
- app._isCollectingCount = 0;
459
- throw Error('关闭收集有问题,请排查');
460
- }
461
- _a.label = 4;
462
- case 4: return [2 /*return*/];
463
- }
464
- });
465
- }); });
466
- /**
467
- * 有变更
468
- */
469
- app.on('storage', function (event) {
470
- // 是否正在收集
471
- if (app._isCollectingCount === 0) {
472
- app.naslServer.embeddedTSEmitter.emit('change', {
473
- value: [event]
474
- });
475
- var actionMsg = '';
476
- var _a = event.originEvent || {}, action = _a.action, target = _a.target;
477
- var _b = target || {}, concept = _b.concept, name = _b.name;
478
- switch (action) {
479
- case 'create':
480
- actionMsg = '添加';
481
- break;
482
- case 'delete':
483
- actionMsg = '删除';
484
- break;
485
- case 'update':
486
- actionMsg = '修改';
487
- break;
488
- }
489
- actionMsg += decorators_1.getConceptConstructor(concept).nodeTitle;
490
- if (name) {
491
- actionMsg += "\u201C" + name + "\u201D";
492
- }
493
- doAction(app, {
494
- list: [event],
495
- actionMsg: actionMsg
496
- });
497
- }
498
- else {
499
- app._collectingList.push(event);
500
- }
501
- });
502
- }
503
- exports.handleApp = handleApp;
504
- /**
505
- * 加载 app
506
- * @param appId 如果是从文件读,就不需要传
507
- * @returns app 对象
508
- */
509
- function loadApp(appId) {
510
- return __awaiter(this, void 0, void 0, function () {
511
- var app, data, json;
512
- return __generator(this, function (_a) {
513
- switch (_a.label) {
514
- case 0:
515
- if (!(config_1.config.storage.protocol === 'http')) return [3 /*break*/, 2];
516
- return [4 /*yield*/, service_1["default"].batchQuery({
517
- body: [
518
- {
519
- path: 'app'
520
- },
521
- ],
522
- headers: {
523
- appId: appId
524
- }
525
- })];
526
- case 1:
527
- data = _a.sent();
528
- // const data = res?.data?.result;
529
- app = new concepts_1.App(Object.assign(data === null || data === void 0 ? void 0 : data[0], { id: appId }));
530
- return [3 /*break*/, 5];
531
- case 2:
532
- if (!(config_1.config.storage.protocol === 'mock')) return [3 /*break*/, 3];
533
- app = new concepts_1.App({
534
- id: appId,
535
- concept: 'App',
536
- name: 'devapp',
537
- title: '开发应用',
538
- scope: 'pc',
539
- envs: 'dev,online',
540
- hasAuth: true,
541
- dataSources: [],
542
- structures: [],
543
- enums: [],
544
- logics: [],
545
- interfaces: [],
546
- views: [],
547
- processes: [],
548
- roles: [],
549
- dependencies: [],
550
- interfaceDependencies: [],
551
- componentDependencies: []
552
- });
553
- return [3 /*break*/, 5];
554
- case 3: return [4 /*yield*/, fs.readJSON(config_1.config.storage.basePath)];
555
- case 4:
556
- json = _a.sent();
557
- app = new concepts_1.App(appId ? Object.assign(json, { id: appId }) : json);
558
- _a.label = 5;
559
- case 5:
560
- config_1.config.scope = app.scope;
561
- handleApp(app);
562
- app._isCollectingCount = 0;
563
- return [2 /*return*/, app];
564
- }
565
- });
566
- });
567
- }
568
- exports.loadApp = loadApp;
569
- /**
570
- * 加载 app
571
- * @returns app 对象
572
- */
573
- function loadAppSync() {
574
- var json = fs.readJSONSync(config_1.config.storage.basePath);
575
- var app = new concepts_1.App(json);
576
- handleApp(app);
577
- return app;
578
- }
579
- exports.loadAppSync = loadAppSync;