@lcap/nasl 2.20.0-beta.2 → 2.20.0

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 (323) hide show
  1. package/out/automate/engine/index.d.ts +1 -1
  2. package/out/automate/engine/index.js +2 -3
  3. package/out/automate/engine/index.js.map +1 -1
  4. package/out/automate/engine/uniqueName.d.ts +1 -1
  5. package/out/automate/engine/uniqueName.js +2 -2
  6. package/out/automate/engine/uniqueName.js.map +1 -1
  7. package/out/automate/engine/utils.js +4 -1
  8. package/out/automate/engine/utils.js.map +1 -1
  9. package/out/automate/template/myProcess.d.ts +1 -1
  10. package/out/automate/template/myProcess.js +2 -2
  11. package/out/automate/template/myProcess.js.map +1 -1
  12. package/out/bak/translator.js +14 -22
  13. package/out/bak/translator.js.map +1 -1
  14. package/out/common/BaseNode.js +4 -1
  15. package/out/common/BaseNode.js.map +1 -1
  16. package/out/common/Command.d.ts +1 -0
  17. package/out/common/Command.js +5 -1
  18. package/out/common/Command.js.map +1 -1
  19. package/out/concepts/App__.d.ts +4 -0
  20. package/out/concepts/App__.js +30 -6
  21. package/out/concepts/App__.js.map +1 -1
  22. package/out/concepts/Assignee__.js +4 -3
  23. package/out/concepts/Assignee__.js.map +1 -1
  24. package/out/concepts/BatchAssignment__.js +3 -3
  25. package/out/concepts/BatchAssignment__.js.map +1 -1
  26. package/out/concepts/BindAttribute__.d.ts +7 -0
  27. package/out/concepts/BindAttribute__.js +270 -39
  28. package/out/concepts/BindAttribute__.js.map +1 -1
  29. package/out/concepts/BindDirective__.d.ts +7 -0
  30. package/out/concepts/BindDirective__.js +215 -17
  31. package/out/concepts/BindDirective__.js.map +1 -1
  32. package/out/concepts/BindStyle__.d.ts +7 -0
  33. package/out/concepts/BindStyle__.js +194 -4
  34. package/out/concepts/BindStyle__.js.map +1 -1
  35. package/out/concepts/CallFunction__.js +22 -8
  36. package/out/concepts/CallFunction__.js.map +1 -1
  37. package/out/concepts/CallInterface__.js +3 -2
  38. package/out/concepts/CallInterface__.js.map +1 -1
  39. package/out/concepts/CallLogic__.d.ts +3 -0
  40. package/out/concepts/CallLogic__.js +78 -89
  41. package/out/concepts/CallLogic__.js.map +1 -1
  42. package/out/concepts/CallQueryComponent__.js +20 -3
  43. package/out/concepts/CallQueryComponent__.js.map +1 -1
  44. package/out/concepts/ConfigGroup__.d.ts +1 -0
  45. package/out/concepts/ConfigGroup__.js +13 -0
  46. package/out/concepts/ConfigGroup__.js.map +1 -1
  47. package/out/concepts/ConfigProperty__.d.ts +19 -0
  48. package/out/concepts/ConfigProperty__.js +61 -0
  49. package/out/concepts/ConfigProperty__.js.map +1 -1
  50. package/out/concepts/Configuration__.d.ts +1 -0
  51. package/out/concepts/Configuration__.js +13 -0
  52. package/out/concepts/Configuration__.js.map +1 -1
  53. package/out/concepts/DataSource__.js.map +1 -1
  54. package/out/concepts/Destination__.d.ts +1 -0
  55. package/out/concepts/Destination__.js +61 -7
  56. package/out/concepts/Destination__.js.map +1 -1
  57. package/out/concepts/EntityProperty__.js +9 -1
  58. package/out/concepts/EntityProperty__.js.map +1 -1
  59. package/out/concepts/EnumItem__.d.ts +5 -5
  60. package/out/concepts/EnumItem__.js +6 -6
  61. package/out/concepts/Enum__.d.ts +20 -19
  62. package/out/concepts/Enum__.js +28 -1
  63. package/out/concepts/Enum__.js.map +1 -1
  64. package/out/concepts/ExternalDestination__.d.ts +1 -0
  65. package/out/concepts/ExternalDestination__.js +21 -3
  66. package/out/concepts/ExternalDestination__.js.map +1 -1
  67. package/out/concepts/ForEachStatement__.js +2 -0
  68. package/out/concepts/ForEachStatement__.js.map +1 -1
  69. package/out/concepts/Frontend__.d.ts +2 -1
  70. package/out/concepts/Frontend__.js.map +1 -1
  71. package/out/concepts/Identifier__.js +16 -5
  72. package/out/concepts/Identifier__.js.map +1 -1
  73. package/out/concepts/InterfaceParam__.js +9 -1
  74. package/out/concepts/InterfaceParam__.js.map +1 -1
  75. package/out/concepts/JSBlock__.js +5 -1
  76. package/out/concepts/JSBlock__.js.map +1 -1
  77. package/out/concepts/Logic__.d.ts +79 -79
  78. package/out/concepts/Logic__.js +16 -3
  79. package/out/concepts/Logic__.js.map +1 -1
  80. package/out/concepts/Match__.d.ts +0 -3
  81. package/out/concepts/Match__.js +11 -66
  82. package/out/concepts/Match__.js.map +1 -1
  83. package/out/concepts/MemberExpression__.js +9 -0
  84. package/out/concepts/MemberExpression__.js.map +1 -1
  85. package/out/concepts/Module__.d.ts +16 -0
  86. package/out/concepts/Module__.js +43 -0
  87. package/out/concepts/Module__.js.map +1 -1
  88. package/out/concepts/NewComposite__.d.ts +2 -4
  89. package/out/concepts/NewComposite__.js +91 -126
  90. package/out/concepts/NewComposite__.js.map +1 -1
  91. package/out/concepts/NewList__.d.ts +1 -0
  92. package/out/concepts/NewList__.js +22 -2
  93. package/out/concepts/NewList__.js.map +1 -1
  94. package/out/concepts/NewMap__.d.ts +1 -0
  95. package/out/concepts/NewMap__.js +43 -11
  96. package/out/concepts/NewMap__.js.map +1 -1
  97. package/out/concepts/OqlQueryComponent__.js +40 -12
  98. package/out/concepts/OqlQueryComponent__.js.map +1 -1
  99. package/out/concepts/Param__.js +10 -2
  100. package/out/concepts/Param__.js.map +1 -1
  101. package/out/concepts/ProcessElement__.js +2 -1
  102. package/out/concepts/ProcessElement__.js.map +1 -1
  103. package/out/concepts/ProcessOutcome__.js +1 -1
  104. package/out/concepts/ProcessOutcome__.js.map +1 -1
  105. package/out/concepts/ProcessOutcomes__.js +1 -1
  106. package/out/concepts/ProcessOutcomes__.js.map +1 -1
  107. package/out/concepts/Process__.js +1 -0
  108. package/out/concepts/Process__.js.map +1 -1
  109. package/out/concepts/Return__.js +10 -2
  110. package/out/concepts/Return__.js.map +1 -1
  111. package/out/concepts/StringInterpolation__.js +14 -2
  112. package/out/concepts/StringInterpolation__.js.map +1 -1
  113. package/out/concepts/StringLiteral__.js +6 -6
  114. package/out/concepts/StringLiteral__.js.map +1 -1
  115. package/out/concepts/StructureProperty__.js +9 -1
  116. package/out/concepts/StructureProperty__.js.map +1 -1
  117. package/out/concepts/TypeAnnotation__.d.ts +6 -3
  118. package/out/concepts/TypeAnnotation__.js +67 -13
  119. package/out/concepts/TypeAnnotation__.js.map +1 -1
  120. package/out/concepts/ValidationRule__.d.ts +1 -0
  121. package/out/concepts/ValidationRule__.js +53 -0
  122. package/out/concepts/ValidationRule__.js.map +1 -1
  123. package/out/concepts/Variable__.js +9 -1
  124. package/out/concepts/Variable__.js.map +1 -1
  125. package/out/concepts/ViewElement__.js +17 -1
  126. package/out/concepts/ViewElement__.js.map +1 -1
  127. package/out/concepts/View__.d.ts +1 -3
  128. package/out/concepts/View__.js +22 -11
  129. package/out/concepts/View__.js.map +1 -1
  130. package/out/concepts/basics/stdlib/nasl.collection.js +6 -1
  131. package/out/concepts/basics/stdlib/nasl.collection.js.map +1 -1
  132. package/out/concepts/basics/stdlib/nasl.configuration.js +3 -0
  133. package/out/concepts/basics/stdlib/nasl.configuration.js.map +1 -1
  134. package/out/concepts/basics/stdlib/nasl.core.d.ts +2 -0
  135. package/out/concepts/basics/stdlib/nasl.core.js +34 -0
  136. package/out/concepts/basics/stdlib/nasl.core.js.map +1 -1
  137. package/out/concepts/basics/stdlib/nasl.util.js +4 -2
  138. package/out/concepts/basics/stdlib/nasl.util.js.map +1 -1
  139. package/out/concepts/basics/types/index.d.ts +1 -0
  140. package/out/concepts/basics/types/index.js +3 -1
  141. package/out/concepts/basics/types/index.js.map +1 -1
  142. package/out/concepts/index__.d.ts +0 -1
  143. package/out/concepts/index__.js +0 -1
  144. package/out/concepts/index__.js.map +1 -1
  145. package/out/enums/KEYWORDS.js +8 -0
  146. package/out/enums/KEYWORDS.js.map +1 -1
  147. package/out/generator/genBundleFiles.js +24 -5
  148. package/out/generator/genBundleFiles.js.map +1 -1
  149. package/out/generator/genReleaseBody.d.ts +2 -3
  150. package/out/generator/genReleaseBody.js +97 -23
  151. package/out/generator/genReleaseBody.js.map +1 -1
  152. package/out/generator/permission.d.ts +2 -10
  153. package/out/generator/permission.js +27 -14
  154. package/out/generator/permission.js.map +1 -1
  155. package/out/server/entity2LogicNamespace.js +2 -20
  156. package/out/server/entity2LogicNamespace.js.map +1 -1
  157. package/out/server/extendBaseNode.js +16 -5
  158. package/out/server/extendBaseNode.js.map +1 -1
  159. package/out/server/formatTsUtils.d.ts +2 -1
  160. package/out/server/formatTsUtils.js +40 -10
  161. package/out/server/formatTsUtils.js.map +1 -1
  162. package/out/server/getLogics.d.ts +2 -2
  163. package/out/server/getLogics.js +3 -3
  164. package/out/server/getLogics.js.map +1 -1
  165. package/out/server/getMemberIdentifier.d.ts +1 -0
  166. package/out/server/getMemberIdentifier.js +27 -1
  167. package/out/server/getMemberIdentifier.js.map +1 -1
  168. package/out/server/index.js +1 -0
  169. package/out/server/index.js.map +1 -1
  170. package/out/server/naslServer.d.ts +7 -1
  171. package/out/server/naslServer.js +519 -46
  172. package/out/server/naslServer.js.map +1 -1
  173. package/out/server/translator.js +109 -33
  174. package/out/server/translator.js.map +1 -1
  175. package/out/service/storage/init.js +21 -1
  176. package/out/service/storage/init.js.map +1 -1
  177. package/out/templator/genCreateBlock.js +1 -3
  178. package/out/templator/genCreateBlock.js.map +1 -1
  179. package/out/templator/genCurdEditMultipleKeyBlock.js +1 -3
  180. package/out/templator/genCurdEditMultipleKeyBlock.js.map +1 -1
  181. package/out/templator/genCurdMultipleKeyBlock.js +2 -4
  182. package/out/templator/genCurdMultipleKeyBlock.js.map +1 -1
  183. package/out/templator/genGetBlock.js +1 -1
  184. package/out/templator/genGetBlock.js.map +1 -1
  185. package/out/templator/genGridViewBlock.js +2 -2
  186. package/out/templator/genGridViewBlock.js.map +1 -1
  187. package/out/templator/genListViewBlock.js +7 -1
  188. package/out/templator/genListViewBlock.js.map +1 -1
  189. package/out/templator/genSelectBlock.js +1 -1
  190. package/out/templator/genSelectBlock.js.map +1 -1
  191. package/out/templator/genTableBlock.js +2 -2
  192. package/out/templator/genTableBlock.js.map +1 -1
  193. package/out/templator/genUpdateBlock.js +2 -3
  194. package/out/templator/genUpdateBlock.js.map +1 -1
  195. package/out/utils/traverse.js +8 -2
  196. package/out/utils/traverse.js.map +1 -1
  197. package/package.json +2 -2
  198. package/sandbox/stdlib/dist/nasl.logging.js +0 -0
  199. package/sandbox/stdlib/dist/nasl.util.js +0 -0
  200. package/sandbox/stdlib/nasl.collection.ts +1 -0
  201. package/sandbox/stdlib/nasl.core.ts +34 -0
  202. package/sandbox/stdlib/nasl.oql.ts +71 -15
  203. package/sandbox/stdlib/nasl.util.ts +9 -3
  204. package/src/automate/engine/dist/index.dev.js +517 -0
  205. package/src/automate/engine/index.js +2 -3
  206. package/src/automate/engine/uniqueName.js +2 -2
  207. package/src/automate/engine/utils.js +4 -2
  208. package/src/automate/template/myProcess.js +2 -2
  209. package/src/bak/translator.js +16 -25
  210. package/src/common/BaseNode.ts +3 -1
  211. package/src/common/Command.ts +4 -0
  212. package/src/common/dist/BaseNode.js +1101 -0
  213. package/src/concepts/App__.ts +36 -7
  214. package/src/concepts/Assignee__.ts +4 -3
  215. package/src/concepts/BatchAssignment__.ts +3 -3
  216. package/src/concepts/BindAttribute__.ts +299 -38
  217. package/src/concepts/BindDirective__.ts +204 -31
  218. package/src/concepts/BindStyle__.ts +187 -24
  219. package/src/concepts/CallFunction__.ts +55 -10
  220. package/src/concepts/CallInterface__.ts +3 -2
  221. package/src/concepts/CallLogic__.ts +110 -90
  222. package/src/concepts/CallQueryComponent__.ts +18 -3
  223. package/src/concepts/ConfigGroup__.ts +17 -4
  224. package/src/concepts/ConfigProperty__.ts +70 -4
  225. package/src/concepts/Configuration__.ts +14 -5
  226. package/src/concepts/DataSource__.ts +4 -1
  227. package/src/concepts/Destination__.ts +61 -7
  228. package/src/concepts/EntityProperty__.ts +7 -1
  229. package/src/concepts/EnumItem__.ts +6 -6
  230. package/src/concepts/Enum__.ts +22 -19
  231. package/src/concepts/ExternalDestination__.ts +28 -8
  232. package/src/concepts/ForEachStatement__.ts +2 -0
  233. package/src/concepts/Frontend__.ts +2 -1
  234. package/src/concepts/Identifier__.ts +16 -5
  235. package/src/concepts/InterfaceParam__.ts +7 -1
  236. package/src/concepts/JSBlock__.ts +3 -2
  237. package/src/concepts/Logic__.ts +95 -83
  238. package/src/concepts/Match__.ts +31 -67
  239. package/src/concepts/MemberExpression__.ts +6 -0
  240. package/src/concepts/Module__.ts +57 -0
  241. package/src/concepts/NewComposite__.ts +95 -140
  242. package/src/concepts/NewList__.ts +23 -2
  243. package/src/concepts/NewMap__.ts +48 -24
  244. package/src/concepts/OqlQueryComponent__.ts +40 -20
  245. package/src/concepts/Param__.ts +178 -176
  246. package/src/concepts/ProcessElement__.ts +2 -1
  247. package/src/concepts/ProcessOutcome__.ts +1 -1
  248. package/src/concepts/ProcessOutcomes__.ts +1 -1
  249. package/src/concepts/Process__.ts +1 -0
  250. package/src/concepts/Return__.ts +8 -2
  251. package/src/concepts/StringInterpolation__.ts +19 -7
  252. package/src/concepts/StringLiteral__.ts +7 -6
  253. package/src/concepts/StructureProperty__.ts +7 -1
  254. package/src/concepts/TypeAnnotation__.ts +101 -14
  255. package/src/concepts/ValidationRule__.ts +58 -9
  256. package/src/concepts/Variable__.ts +11 -1
  257. package/src/concepts/ViewElement__.ts +39 -2
  258. package/src/concepts/View__.ts +26 -14
  259. package/src/concepts/basics/stdlib/dist/nasl.util.js +1602 -0
  260. package/src/concepts/basics/stdlib/dist/reference2TypeAnnotationList.js +24 -0
  261. package/src/concepts/basics/stdlib/nasl.collection.ts +6 -1
  262. package/src/concepts/basics/stdlib/nasl.configuration.ts +3 -0
  263. package/src/concepts/basics/stdlib/nasl.core.ts +33 -2
  264. package/src/concepts/basics/stdlib/nasl.util.ts +4 -2
  265. package/src/concepts/basics/types/index.ts +1 -0
  266. package/src/concepts/dist/BindAttribute__.js +795 -0
  267. package/src/concepts/dist/BindEvent__.js +732 -0
  268. package/src/concepts/dist/CallFunction__.js +527 -0
  269. package/src/concepts/dist/CallLogic__.js +932 -0
  270. package/src/concepts/dist/Destination__.js +708 -0
  271. package/src/concepts/dist/ExternalDestination__.js +298 -0
  272. package/src/concepts/dist/Identifier__.js +311 -0
  273. package/src/concepts/dist/StringInterpolation__.js +231 -0
  274. package/src/concepts/dist/TypeAnnotation__.js +834 -0
  275. package/src/concepts/dist/ViewElement__.js +1692 -0
  276. package/src/concepts/dist/View__.js +1601 -0
  277. package/src/concepts/index__.ts +0 -1
  278. package/src/enums/KEYWORDS.ts +8 -0
  279. package/src/generator/dist/genBundleFiles.js +261 -0
  280. package/src/generator/dist/genMetaData.js +245 -0
  281. package/src/generator/dist/permission.js +405 -0
  282. package/src/generator/genBundleFiles.ts +24 -5
  283. package/src/generator/genReleaseBody.ts +75 -30
  284. package/src/generator/permission.ts +31 -15
  285. package/src/server/entity2LogicNamespace.ts +2 -20
  286. package/src/server/extendBaseNode.ts +15 -5
  287. package/src/server/formatTsUtils.ts +41 -10
  288. package/src/server/getLogics.ts +4 -4
  289. package/src/server/getMemberIdentifier.ts +27 -1
  290. package/src/server/index.ts +2 -0
  291. package/src/server/naslServer.ts +520 -48
  292. package/src/server/translator.ts +96 -34
  293. package/src/service/storage/dist/init.js +579 -0
  294. package/src/service/storage/init.ts +22 -2
  295. package/src/templator/dist/genEditTableBlock.js +204 -0
  296. package/src/templator/dist/genGridViewBlock.js +265 -0
  297. package/src/templator/dist/genListViewBlock.js +84 -0
  298. package/src/templator/dist/genTableBlock.js +209 -0
  299. package/src/templator/dist/utils.js +527 -0
  300. package/src/templator/genCreateBlock.ts +1 -3
  301. package/src/templator/genCurdEditMultipleKeyBlock.ts +1 -3
  302. package/src/templator/genCurdMultipleKeyBlock.ts +2 -4
  303. package/src/templator/genGetBlock.ts +1 -1
  304. package/src/templator/genGridViewBlock.ts +3 -4
  305. package/src/templator/genListViewBlock.ts +9 -3
  306. package/src/templator/genSelectBlock.ts +1 -1
  307. package/src/templator/genTableBlock.ts +3 -3
  308. package/src/templator/genUpdateBlock.ts +2 -3
  309. package/src/utils/traverse.ts +10 -2
  310. package/ts-worker/lib/tsserver.js +10 -2
  311. package/ts-worker/package.json +1 -0
  312. package/ts-worker/webpack.config.js +11 -2
  313. package/out/concepts/ConstructArgument__.d.ts +0 -40
  314. package/out/concepts/ConstructArgument__.js +0 -108
  315. package/out/concepts/ConstructArgument__.js.map +0 -1
  316. package/out/concepts/Construct__.d.ts +0 -189
  317. package/out/concepts/Construct__.js +0 -340
  318. package/out/concepts/Construct__.js.map +0 -1
  319. package/out/templator/sql-parser/index.d.ts +0 -1
  320. package/out/templator/sql-parser/index.js +0 -228
  321. package/out/templator/sql-parser/index.js.map +0 -1
  322. package/out/templator/sql-parser/parser.js +0 -26664
  323. package/out/templator/sql-parser/parser.js.map +0 -1
@@ -0,0 +1,579 @@
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;
@@ -75,8 +75,24 @@ function getStatement(state: any, app: any, diffLogicList: string[]) {
75
75
  case 'CallInterface':
76
76
  logicItems = state.arguments?.map((item: Argument) => item.expression);
77
77
  break;
78
+ case 'ExternalDestination':
79
+ logicItems = [state.anchor, state.link];
80
+ break;
78
81
  case 'BatchAssignment':
79
82
  logicItems = [state.left?.expression, ...state.left?.members, ...state.rights.map((item: SelectMembers) => [item?.expression, ...item?.members]).flat(1)];
83
+ break;
84
+ case 'MemberExpression':
85
+ logicItems = [state.object, state.property];
86
+ break;
87
+ case 'StringInterpolation':
88
+ logicItems = [...state.expressions];
89
+ break;
90
+ case 'NewComposite':
91
+ logicItems = [...state.rights.map((item:SelectMembers) => item.expression)];
92
+ break;
93
+ case 'NewList':
94
+ logicItems = [...state.items];
95
+ break;
80
96
  default:
81
97
  break;
82
98
  }
@@ -85,7 +101,7 @@ function getStatement(state: any, app: any, diffLogicList: string[]) {
85
101
  }
86
102
 
87
103
  /* 小程序影响的服务端发布 */
88
- function getMiniAppChange(target: any, obj: any, action:string) {
104
+ function getMiniAppChange(target: any, obj: any, action: string) {
89
105
  if (!target.app.miniEnable) {
90
106
  return false;
91
107
  }
@@ -216,6 +232,10 @@ async function doAction(app: any, actionItem: any) {
216
232
  hasBackEnd = true;
217
233
  }
218
234
  }
235
+ // 更新端时需要出发后端更新
236
+ if (emitTarget.concept === 'Frontend') {
237
+ hasBackEnd = true;
238
+ }
219
239
  event.eventList.forEach(({ action, path, object: objItem }: { action: string; path: string; object: any }) => {
220
240
  if (Array.isArray(objItem)) {
221
241
  if (action === 'update') {
@@ -335,7 +355,7 @@ export function handleApp(app: any) {
335
355
  app._timer = setTimeout(() => {
336
356
  console.error('收集超时,请及时排查原因');
337
357
  app.emit('refresh');
338
- }, 800);
358
+ }, 2500);
339
359
  }
340
360
  if (!app._isCollectingCount) {
341
361
  app._actionMsg = event?.actionMsg;