@lcap/nasl 2.20.1-beta.2 → 2.21.0-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 (573) hide show
  1. package/docs/classes/EntityProperty.html +1 -1
  2. package/out/automate/engine/operators.d.ts +9 -0
  3. package/out/automate/engine/viewCache.d.ts +1 -0
  4. package/out/automate/template/myProcess.d.ts +1 -0
  5. package/out/bak/translator.js +2 -2
  6. package/out/bak/translator.js.map +1 -1
  7. package/out/common/BaseNode.d.ts +5 -0
  8. package/out/common/BaseNode.js +24 -4
  9. package/out/common/BaseNode.js.map +1 -1
  10. package/out/common/Command.d.ts +1 -1
  11. package/out/common/EventEmitter.d.ts +2 -1
  12. package/out/common/EventEmitter.js +3 -0
  13. package/out/common/EventEmitter.js.map +1 -1
  14. package/out/common/Messager.js +1 -0
  15. package/out/common/Messager.js.map +1 -1
  16. package/out/concepts/Abort__.d.ts +23 -0
  17. package/out/concepts/Abort__.js +74 -0
  18. package/out/concepts/Abort__.js.map +1 -0
  19. package/out/concepts/Anchor__.d.ts +1 -0
  20. package/out/concepts/Anchor__.js +3 -0
  21. package/out/concepts/Anchor__.js.map +1 -1
  22. package/out/concepts/AnonymousFunction__.d.ts +1 -0
  23. package/out/concepts/AnonymousFunction__.js +3 -0
  24. package/out/concepts/AnonymousFunction__.js.map +1 -1
  25. package/out/concepts/App__.d.ts +10 -0
  26. package/out/concepts/App__.js +23 -1
  27. package/out/concepts/App__.js.map +1 -1
  28. package/out/concepts/Argument__.d.ts +1 -0
  29. package/out/concepts/Argument__.js +3 -0
  30. package/out/concepts/Argument__.js.map +1 -1
  31. package/out/concepts/Assignee__.d.ts +1 -0
  32. package/out/concepts/Assignee__.js +3 -0
  33. package/out/concepts/Assignee__.js.map +1 -1
  34. package/out/concepts/AssignmentLine__.d.ts +1 -0
  35. package/out/concepts/AssignmentLine__.js +3 -0
  36. package/out/concepts/AssignmentLine__.js.map +1 -1
  37. package/out/concepts/Assignment__.d.ts +1 -0
  38. package/out/concepts/Assignment__.js +3 -0
  39. package/out/concepts/Assignment__.js.map +1 -1
  40. package/out/concepts/Attribute__.d.ts +1 -0
  41. package/out/concepts/Attribute__.js +3 -0
  42. package/out/concepts/Attribute__.js.map +1 -1
  43. package/out/concepts/BatchAssignment__.d.ts +1 -0
  44. package/out/concepts/BatchAssignment__.js +3 -0
  45. package/out/concepts/BatchAssignment__.js.map +1 -1
  46. package/out/concepts/BinaryExpression__.d.ts +1 -0
  47. package/out/concepts/BinaryExpression__.js +3 -0
  48. package/out/concepts/BinaryExpression__.js.map +1 -1
  49. package/out/concepts/BindAttribute__.d.ts +1 -0
  50. package/out/concepts/BindAttribute__.js +5 -9
  51. package/out/concepts/BindAttribute__.js.map +1 -1
  52. package/out/concepts/BindDirective__.d.ts +1 -0
  53. package/out/concepts/BindDirective__.js +5 -2
  54. package/out/concepts/BindDirective__.js.map +1 -1
  55. package/out/concepts/BindEvent__.d.ts +1 -0
  56. package/out/concepts/BindEvent__.js +3 -0
  57. package/out/concepts/BindEvent__.js.map +1 -1
  58. package/out/concepts/BindStyle__.d.ts +1 -0
  59. package/out/concepts/BindStyle__.js +3 -0
  60. package/out/concepts/BindStyle__.js.map +1 -1
  61. package/out/concepts/BooleanLiteral__.d.ts +1 -0
  62. package/out/concepts/BooleanLiteral__.js +3 -0
  63. package/out/concepts/BooleanLiteral__.js.map +1 -1
  64. package/out/concepts/CallFunction__.d.ts +1 -0
  65. package/out/concepts/CallFunction__.js +3 -0
  66. package/out/concepts/CallFunction__.js.map +1 -1
  67. package/out/concepts/CallInterface__.d.ts +2 -0
  68. package/out/concepts/CallInterface__.js +34 -1
  69. package/out/concepts/CallInterface__.js.map +1 -1
  70. package/out/concepts/CallLogic__.d.ts +9 -0
  71. package/out/concepts/CallLogic__.js +53 -41
  72. package/out/concepts/CallLogic__.js.map +1 -1
  73. package/out/concepts/CallQueryComponent__.d.ts +1 -0
  74. package/out/concepts/CallQueryComponent__.js +19 -16
  75. package/out/concepts/CallQueryComponent__.js.map +1 -1
  76. package/out/concepts/Comment__.d.ts +1 -0
  77. package/out/concepts/Comment__.js +3 -0
  78. package/out/concepts/Comment__.js.map +1 -1
  79. package/out/concepts/CompletionProperty__.d.ts +2 -0
  80. package/out/concepts/CompletionProperty__.js +4 -0
  81. package/out/concepts/CompletionProperty__.js.map +1 -1
  82. package/out/concepts/ConfigGroup__.d.ts +1 -0
  83. package/out/concepts/ConfigGroup__.js +3 -0
  84. package/out/concepts/ConfigGroup__.js.map +1 -1
  85. package/out/concepts/ConfigPropertyValue__.d.ts +1 -0
  86. package/out/concepts/ConfigPropertyValue__.js +3 -0
  87. package/out/concepts/ConfigPropertyValue__.js.map +1 -1
  88. package/out/concepts/ConfigProperty__.d.ts +1 -0
  89. package/out/concepts/ConfigProperty__.js +3 -0
  90. package/out/concepts/ConfigProperty__.js.map +1 -1
  91. package/out/concepts/Configuration__.d.ts +1 -0
  92. package/out/concepts/Configuration__.js +3 -0
  93. package/out/concepts/Configuration__.js.map +1 -1
  94. package/out/concepts/Constant__.d.ts +1 -0
  95. package/out/concepts/Constant__.js +3 -0
  96. package/out/concepts/Constant__.js.map +1 -1
  97. package/out/concepts/DataElement__.d.ts +1 -0
  98. package/out/concepts/DataElement__.js +3 -0
  99. package/out/concepts/DataElement__.js.map +1 -1
  100. package/out/concepts/DataSource__.d.ts +2 -0
  101. package/out/concepts/DataSource__.js +8 -2
  102. package/out/concepts/DataSource__.js.map +1 -1
  103. package/out/concepts/DatabaseTypeAnnotation__.d.ts +30 -0
  104. package/out/concepts/DatabaseTypeAnnotation__.js +75 -0
  105. package/out/concepts/DatabaseTypeAnnotation__.js.map +1 -0
  106. package/out/concepts/Destination__.d.ts +2 -0
  107. package/out/concepts/Destination__.js +33 -10
  108. package/out/concepts/Destination__.js.map +1 -1
  109. package/out/concepts/End__.d.ts +1 -0
  110. package/out/concepts/End__.js +3 -0
  111. package/out/concepts/End__.js.map +1 -1
  112. package/out/concepts/EntityIndex__.d.ts +2 -1
  113. package/out/concepts/EntityIndex__.js +3 -0
  114. package/out/concepts/EntityIndex__.js.map +1 -1
  115. package/out/concepts/EntityProperty__.d.ts +23 -2
  116. package/out/concepts/EntityProperty__.js +61 -1
  117. package/out/concepts/EntityProperty__.js.map +1 -1
  118. package/out/concepts/Entity__.d.ts +1 -0
  119. package/out/concepts/Entity__.js +3 -0
  120. package/out/concepts/Entity__.js.map +1 -1
  121. package/out/concepts/EnumItem__.d.ts +1 -0
  122. package/out/concepts/EnumItem__.js +3 -0
  123. package/out/concepts/EnumItem__.js.map +1 -1
  124. package/out/concepts/Enum__.d.ts +1 -0
  125. package/out/concepts/Enum__.js +3 -0
  126. package/out/concepts/Enum__.js.map +1 -1
  127. package/out/concepts/Event__.d.ts +1 -0
  128. package/out/concepts/Event__.js +3 -0
  129. package/out/concepts/Event__.js.map +1 -1
  130. package/out/concepts/ExternalDestination__.d.ts +1 -0
  131. package/out/concepts/ExternalDestination__.js +3 -0
  132. package/out/concepts/ExternalDestination__.js.map +1 -1
  133. package/out/concepts/ForEachStatement__.d.ts +1 -0
  134. package/out/concepts/ForEachStatement__.js +3 -0
  135. package/out/concepts/ForEachStatement__.js.map +1 -1
  136. package/out/concepts/FrontendLibrary__.d.ts +1 -0
  137. package/out/concepts/FrontendLibrary__.js +3 -0
  138. package/out/concepts/FrontendLibrary__.js.map +1 -1
  139. package/out/concepts/Frontend__.d.ts +2 -0
  140. package/out/concepts/Frontend__.js +16 -0
  141. package/out/concepts/Frontend__.js.map +1 -1
  142. package/out/concepts/Function__.d.ts +1 -0
  143. package/out/concepts/Function__.js +3 -0
  144. package/out/concepts/Function__.js.map +1 -1
  145. package/out/concepts/Identifier__.d.ts +1 -0
  146. package/out/concepts/Identifier__.js +3 -0
  147. package/out/concepts/Identifier__.js.map +1 -1
  148. package/out/concepts/IfStatement__.d.ts +1 -0
  149. package/out/concepts/IfStatement__.js +3 -0
  150. package/out/concepts/IfStatement__.js.map +1 -1
  151. package/out/concepts/InterfaceParam__.d.ts +1 -0
  152. package/out/concepts/InterfaceParam__.js +3 -0
  153. package/out/concepts/InterfaceParam__.js.map +1 -1
  154. package/out/concepts/Interface__.d.ts +13 -0
  155. package/out/concepts/Interface__.js +61 -0
  156. package/out/concepts/Interface__.js.map +1 -1
  157. package/out/concepts/JSBlock__.d.ts +1 -0
  158. package/out/concepts/JSBlock__.js +3 -0
  159. package/out/concepts/JSBlock__.js.map +1 -1
  160. package/out/concepts/LogicItem__.d.ts +2 -1
  161. package/out/concepts/LogicItem__.js +3 -0
  162. package/out/concepts/LogicItem__.js.map +1 -1
  163. package/out/concepts/Logic__.d.ts +3 -1
  164. package/out/concepts/Logic__.js +66 -24
  165. package/out/concepts/Logic__.js.map +1 -1
  166. package/out/concepts/MatchCase__.d.ts +1 -0
  167. package/out/concepts/MatchCase__.js +3 -0
  168. package/out/concepts/MatchCase__.js.map +1 -1
  169. package/out/concepts/Match__.d.ts +4 -1
  170. package/out/concepts/Match__.js +77 -2
  171. package/out/concepts/Match__.js.map +1 -1
  172. package/out/concepts/MemberExpression__.d.ts +1 -0
  173. package/out/concepts/MemberExpression__.js +3 -0
  174. package/out/concepts/MemberExpression__.js.map +1 -1
  175. package/out/concepts/Module__.d.ts +14 -1
  176. package/out/concepts/Module__.js +10 -0
  177. package/out/concepts/Module__.js.map +1 -1
  178. package/out/concepts/Namespace__.d.ts +1 -0
  179. package/out/concepts/Namespace__.js +3 -0
  180. package/out/concepts/Namespace__.js.map +1 -1
  181. package/out/concepts/NewComposite__.d.ts +1 -0
  182. package/out/concepts/NewComposite__.js +3 -0
  183. package/out/concepts/NewComposite__.js.map +1 -1
  184. package/out/concepts/NewList__.d.ts +1 -0
  185. package/out/concepts/NewList__.js +3 -0
  186. package/out/concepts/NewList__.js.map +1 -1
  187. package/out/concepts/NewMap__.d.ts +1 -0
  188. package/out/concepts/NewMap__.js +3 -0
  189. package/out/concepts/NewMap__.js.map +1 -1
  190. package/out/concepts/New__.d.ts +1 -0
  191. package/out/concepts/New__.js +3 -0
  192. package/out/concepts/New__.js.map +1 -1
  193. package/out/concepts/NullLiteral__.d.ts +1 -0
  194. package/out/concepts/NullLiteral__.js +3 -0
  195. package/out/concepts/NullLiteral__.js.map +1 -1
  196. package/out/concepts/NumericLiteral__.d.ts +1 -0
  197. package/out/concepts/NumericLiteral__.js +6 -9
  198. package/out/concepts/NumericLiteral__.js.map +1 -1
  199. package/out/concepts/OqlQueryComponent__.d.ts +1 -0
  200. package/out/concepts/OqlQueryComponent__.js +3 -0
  201. package/out/concepts/OqlQueryComponent__.js.map +1 -1
  202. package/out/concepts/Param__.d.ts +1 -0
  203. package/out/concepts/Param__.js +3 -0
  204. package/out/concepts/Param__.js.map +1 -1
  205. package/out/concepts/Point__.d.ts +1 -0
  206. package/out/concepts/Point__.js +3 -0
  207. package/out/concepts/Point__.js.map +1 -1
  208. package/out/concepts/ProcessComponent__.d.ts +1 -0
  209. package/out/concepts/ProcessComponent__.js +3 -0
  210. package/out/concepts/ProcessComponent__.js.map +1 -1
  211. package/out/concepts/ProcessElement__.d.ts +1 -0
  212. package/out/concepts/ProcessElement__.js +3 -0
  213. package/out/concepts/ProcessElement__.js.map +1 -1
  214. package/out/concepts/ProcessOutcome__.d.ts +1 -0
  215. package/out/concepts/ProcessOutcome__.js +3 -0
  216. package/out/concepts/ProcessOutcome__.js.map +1 -1
  217. package/out/concepts/ProcessOutcomes__.d.ts +1 -0
  218. package/out/concepts/ProcessOutcomes__.js +3 -0
  219. package/out/concepts/ProcessOutcomes__.js.map +1 -1
  220. package/out/concepts/Process__.d.ts +1 -0
  221. package/out/concepts/Process__.js +3 -0
  222. package/out/concepts/Process__.js.map +1 -1
  223. package/out/concepts/QueryAggregateExpression__.d.ts +1 -0
  224. package/out/concepts/QueryAggregateExpression__.js +3 -0
  225. package/out/concepts/QueryAggregateExpression__.js.map +1 -1
  226. package/out/concepts/QueryFieldExpression__.d.ts +1 -0
  227. package/out/concepts/QueryFieldExpression__.js +3 -0
  228. package/out/concepts/QueryFieldExpression__.js.map +1 -1
  229. package/out/concepts/QueryFromExpression__.d.ts +1 -0
  230. package/out/concepts/QueryFromExpression__.js +3 -0
  231. package/out/concepts/QueryFromExpression__.js.map +1 -1
  232. package/out/concepts/QueryGroupByExpression__.d.ts +1 -0
  233. package/out/concepts/QueryGroupByExpression__.js +3 -0
  234. package/out/concepts/QueryGroupByExpression__.js.map +1 -1
  235. package/out/concepts/QueryJoinExpression__.d.ts +1 -0
  236. package/out/concepts/QueryJoinExpression__.js +3 -0
  237. package/out/concepts/QueryJoinExpression__.js.map +1 -1
  238. package/out/concepts/QueryLimitExpression__.d.ts +1 -0
  239. package/out/concepts/QueryLimitExpression__.js +3 -0
  240. package/out/concepts/QueryLimitExpression__.js.map +1 -1
  241. package/out/concepts/QueryOrderByExpression__.d.ts +1 -0
  242. package/out/concepts/QueryOrderByExpression__.js +3 -0
  243. package/out/concepts/QueryOrderByExpression__.js.map +1 -1
  244. package/out/concepts/QuerySelectExpression__.d.ts +1 -0
  245. package/out/concepts/QuerySelectExpression__.js +3 -0
  246. package/out/concepts/QuerySelectExpression__.js.map +1 -1
  247. package/out/concepts/Rect__.d.ts +1 -0
  248. package/out/concepts/Rect__.js +3 -0
  249. package/out/concepts/Rect__.js.map +1 -1
  250. package/out/concepts/Return__.d.ts +1 -0
  251. package/out/concepts/Return__.js +3 -0
  252. package/out/concepts/Return__.js.map +1 -1
  253. package/out/concepts/Role__.d.ts +1 -0
  254. package/out/concepts/Role__.js +3 -0
  255. package/out/concepts/Role__.js.map +1 -1
  256. package/out/concepts/SelectMembers__.d.ts +1 -0
  257. package/out/concepts/SelectMembers__.js +3 -0
  258. package/out/concepts/SelectMembers__.js.map +1 -1
  259. package/out/concepts/Slot__.d.ts +1 -0
  260. package/out/concepts/Slot__.js +3 -0
  261. package/out/concepts/Slot__.js.map +1 -1
  262. package/out/concepts/SqlQueryComponent__.d.ts +1 -0
  263. package/out/concepts/SqlQueryComponent__.js +3 -0
  264. package/out/concepts/SqlQueryComponent__.js.map +1 -1
  265. package/out/concepts/Start__.d.ts +1 -0
  266. package/out/concepts/Start__.js +3 -0
  267. package/out/concepts/Start__.js.map +1 -1
  268. package/out/concepts/StringInterpolation__.d.ts +1 -0
  269. package/out/concepts/StringInterpolation__.js +3 -0
  270. package/out/concepts/StringInterpolation__.js.map +1 -1
  271. package/out/concepts/StringLiteral__.d.ts +1 -0
  272. package/out/concepts/StringLiteral__.js +3 -0
  273. package/out/concepts/StringLiteral__.js.map +1 -1
  274. package/out/concepts/StructureProperty__.d.ts +9 -0
  275. package/out/concepts/StructureProperty__.js +21 -0
  276. package/out/concepts/StructureProperty__.js.map +1 -1
  277. package/out/concepts/Structure__.d.ts +1 -0
  278. package/out/concepts/Structure__.js +3 -0
  279. package/out/concepts/Structure__.js.map +1 -1
  280. package/out/concepts/SwitchCase__.d.ts +1 -0
  281. package/out/concepts/SwitchCase__.js +3 -0
  282. package/out/concepts/SwitchCase__.js.map +1 -1
  283. package/out/concepts/SwitchStatement__.d.ts +1 -0
  284. package/out/concepts/SwitchStatement__.js +3 -0
  285. package/out/concepts/SwitchStatement__.js.map +1 -1
  286. package/out/concepts/Theme__.d.ts +1 -0
  287. package/out/concepts/Theme__.js +3 -0
  288. package/out/concepts/Theme__.js.map +1 -1
  289. package/out/concepts/Transactional__.d.ts +1 -0
  290. package/out/concepts/Transactional__.js +3 -0
  291. package/out/concepts/Transactional__.js.map +1 -1
  292. package/out/concepts/TypeAnnotation__.d.ts +4 -1
  293. package/out/concepts/TypeAnnotation__.js +34 -12
  294. package/out/concepts/TypeAnnotation__.js.map +1 -1
  295. package/out/concepts/TypeParam__.d.ts +1 -0
  296. package/out/concepts/TypeParam__.js +3 -0
  297. package/out/concepts/TypeParam__.js.map +1 -1
  298. package/out/concepts/UnaryExpression__.d.ts +1 -0
  299. package/out/concepts/UnaryExpression__.js +3 -0
  300. package/out/concepts/UnaryExpression__.js.map +1 -1
  301. package/out/concepts/Unparsed__.d.ts +1 -0
  302. package/out/concepts/Unparsed__.js +3 -0
  303. package/out/concepts/Unparsed__.js.map +1 -1
  304. package/out/concepts/UseComponent__.d.ts +1 -0
  305. package/out/concepts/UseComponent__.js +3 -0
  306. package/out/concepts/UseComponent__.js.map +1 -1
  307. package/out/concepts/ValidationRule__.d.ts +1 -0
  308. package/out/concepts/ValidationRule__.js +3 -0
  309. package/out/concepts/ValidationRule__.js.map +1 -1
  310. package/out/concepts/Variable__.d.ts +1 -0
  311. package/out/concepts/Variable__.js +3 -0
  312. package/out/concepts/Variable__.js.map +1 -1
  313. package/out/concepts/ViewBlock__.d.ts +1 -0
  314. package/out/concepts/ViewBlock__.js +3 -0
  315. package/out/concepts/ViewBlock__.js.map +1 -1
  316. package/out/concepts/ViewComponent__.d.ts +1 -0
  317. package/out/concepts/ViewComponent__.js +3 -0
  318. package/out/concepts/ViewComponent__.js.map +1 -1
  319. package/out/concepts/ViewElement__.d.ts +2 -1
  320. package/out/concepts/ViewElement__.js +8 -1
  321. package/out/concepts/ViewElement__.js.map +1 -1
  322. package/out/concepts/View__.d.ts +2 -0
  323. package/out/concepts/View__.js +19 -1
  324. package/out/concepts/View__.js.map +1 -1
  325. package/out/concepts/WhileStatement__.d.ts +1 -0
  326. package/out/concepts/WhileStatement__.js +3 -0
  327. package/out/concepts/WhileStatement__.js.map +1 -1
  328. package/out/concepts/basics/stdlib/nasl.collection.js +2 -2
  329. package/out/concepts/basics/stdlib/nasl.collection.js.map +1 -1
  330. package/out/concepts/basics/stdlib/nasl.core.js +3 -3
  331. package/out/concepts/basics/stdlib/nasl.core.js.map +1 -1
  332. package/out/concepts/basics/stdlib/nasl.interface.js +1 -1
  333. package/out/concepts/basics/stdlib/nasl.interface.js.map +1 -1
  334. package/out/concepts/basics/stdlib/nasl.process.js +6 -6
  335. package/out/concepts/basics/stdlib/nasl.process.js.map +1 -1
  336. package/out/concepts/basics/stdlib/nasl.ui.js +56 -43
  337. package/out/concepts/basics/stdlib/nasl.ui.js.map +1 -1
  338. package/out/concepts/basics/stdlib/nasl.util.js +46 -19
  339. package/out/concepts/basics/stdlib/nasl.util.js.map +1 -1
  340. package/out/concepts/basics/stdlib/nasl.validation.js +13 -13
  341. package/out/concepts/basics/stdlib/nasl.validation.js.map +1 -1
  342. package/out/concepts/basics/types/coreTypeList.js +1 -5
  343. package/out/concepts/basics/types/coreTypeList.js.map +1 -1
  344. package/out/concepts/index__.d.ts +2 -0
  345. package/out/concepts/index__.js +2 -0
  346. package/out/concepts/index__.js.map +1 -1
  347. package/out/config.d.ts +1 -1
  348. package/out/decorators/index.d.ts +2 -2
  349. package/out/decorators/index.js +3 -3
  350. package/out/decorators/index.js.map +1 -1
  351. package/out/generator/genBundleFiles.js +10 -8
  352. package/out/generator/genBundleFiles.js.map +1 -1
  353. package/out/generator/genReleaseBody.js +4 -1
  354. package/out/generator/genReleaseBody.js.map +1 -1
  355. package/out/generator/permission.d.ts +1 -1
  356. package/out/server/entity2LogicNamespace.js +1 -1
  357. package/out/server/entity2LogicNamespace.js.map +1 -1
  358. package/out/server/extendBaseNode.js +11 -0
  359. package/out/server/extendBaseNode.js.map +1 -1
  360. package/out/server/formatTsUtils.js +3 -2
  361. package/out/server/formatTsUtils.js.map +1 -1
  362. package/out/server/getMemberIdentifier.js +3 -2
  363. package/out/server/getMemberIdentifier.js.map +1 -1
  364. package/out/server/getProcesses.d.ts +3 -3
  365. package/out/server/getScope.d.ts +1 -1
  366. package/out/server/naslServer.d.ts +2 -2
  367. package/out/server/naslServer.js +111 -55
  368. package/out/server/naslServer.js.map +1 -1
  369. package/out/server/translator.js +1 -1
  370. package/out/server/translator.js.map +1 -1
  371. package/out/service/creator/add.configs.js +2 -0
  372. package/out/service/creator/add.configs.js.map +1 -1
  373. package/out/service/creator/index.js +2 -0
  374. package/out/service/creator/index.js.map +1 -1
  375. package/out/service/storage/api.d.ts +18 -0
  376. package/out/service/storage/api.js +12 -0
  377. package/out/service/storage/api.js.map +1 -1
  378. package/out/service/storage/init.d.ts +41 -1
  379. package/out/service/storage/init.js +179 -44
  380. package/out/service/storage/init.js.map +1 -1
  381. package/out/service/storage/service.d.ts +9 -1
  382. package/out/service/storage/service.js +27 -1
  383. package/out/service/storage/service.js.map +1 -1
  384. package/out/templator/genEditTableBlock.js +1 -1
  385. package/out/templator/genQueryComponent.js +2 -2
  386. package/out/templator/genQueryComponent.js.map +1 -1
  387. package/out/templator/genTableBlock.js +2 -2
  388. package/out/templator/genTableBlock.js.map +1 -1
  389. package/out/templator/utils.d.ts +0 -32
  390. package/out/templator/utils.js +7 -7
  391. package/out/templator/utils.js.map +1 -1
  392. package/out/translator/index.d.ts +1 -1
  393. package/out/translator/lsp.d.ts +3 -3
  394. package/out/utils/index.d.ts +4 -4
  395. package/package.json +1 -1
  396. package/sandbox/stdlib/dist/nasl.logging.js +0 -0
  397. package/sandbox/stdlib/dist/nasl.util.js +0 -0
  398. package/sandbox/stdlib/nasl.auth.ts +1 -3
  399. package/sandbox/stdlib/nasl.browser.ts +1 -1
  400. package/sandbox/stdlib/nasl.collection.ts +9 -9
  401. package/sandbox/stdlib/nasl.core.ts +38 -100
  402. package/sandbox/stdlib/nasl.interface.ts +1 -1
  403. package/sandbox/stdlib/nasl.langUtil.ts +4 -4
  404. package/sandbox/stdlib/nasl.oql.ts +156 -156
  405. package/sandbox/stdlib/nasl.process.ts +6 -6
  406. package/sandbox/stdlib/nasl.ui.ts +47 -43
  407. package/sandbox/stdlib/nasl.util.ts +41 -39
  408. package/sandbox/stdlib/nasl.validation.ts +8 -8
  409. package/src/automate/engine/dist/index.dev.js +517 -0
  410. package/src/bak/translator.js +2 -2
  411. package/src/common/BaseNode.ts +23 -5
  412. package/src/common/EventEmitter.ts +3 -0
  413. package/src/common/Messager.ts +1 -0
  414. package/src/common/dist/BaseNode.js +1101 -0
  415. package/src/concepts/Abort__.ts +83 -0
  416. package/src/concepts/Anchor__.ts +3 -0
  417. package/src/concepts/AnonymousFunction__.ts +3 -0
  418. package/src/concepts/App__.ts +66 -8
  419. package/src/concepts/Argument__.ts +3 -0
  420. package/src/concepts/Assignee__.ts +3 -0
  421. package/src/concepts/AssignmentLine__.ts +3 -0
  422. package/src/concepts/Assignment__.ts +3 -0
  423. package/src/concepts/Attribute__.ts +8 -0
  424. package/src/concepts/BatchAssignment__.ts +3 -0
  425. package/src/concepts/BinaryExpression__.ts +3 -0
  426. package/src/concepts/BindAttribute__.ts +9 -10
  427. package/src/concepts/BindDirective__.ts +5 -2
  428. package/src/concepts/BindEvent__.ts +3 -0
  429. package/src/concepts/BindStyle__.ts +3 -0
  430. package/src/concepts/BooleanLiteral__.ts +3 -0
  431. package/src/concepts/CallFunction__.ts +4 -0
  432. package/src/concepts/CallInterface__.ts +36 -1
  433. package/src/concepts/CallLogic__.ts +84 -41
  434. package/src/concepts/CallQueryComponent__.ts +19 -74
  435. package/src/concepts/Comment__.ts +3 -0
  436. package/src/concepts/CompletionProperty__.ts +5 -0
  437. package/src/concepts/ConfigGroup__.ts +7 -1
  438. package/src/concepts/ConfigPropertyValue__.ts +3 -4
  439. package/src/concepts/ConfigProperty__.ts +7 -1
  440. package/src/concepts/Configuration__.ts +8 -1
  441. package/src/concepts/Constant__.ts +3 -0
  442. package/src/concepts/DataElement__.ts +3 -0
  443. package/src/concepts/DataSource__.ts +13 -3
  444. package/src/concepts/DatabaseTypeAnnotation__.ts +85 -0
  445. package/src/concepts/Destination__.ts +34 -10
  446. package/src/concepts/End__.ts +3 -0
  447. package/src/concepts/EntityIndex__.ts +3 -0
  448. package/src/concepts/EntityProperty__.ts +76 -1
  449. package/src/concepts/Entity__.ts +3 -0
  450. package/src/concepts/EnumItem__.ts +3 -0
  451. package/src/concepts/Enum__.ts +3 -0
  452. package/src/concepts/Event__.ts +3 -0
  453. package/src/concepts/ExternalDestination__.ts +3 -0
  454. package/src/concepts/ForEachStatement__.ts +3 -0
  455. package/src/concepts/FrontendLibrary__.ts +3 -0
  456. package/src/concepts/Frontend__.ts +17 -0
  457. package/src/concepts/Function__.ts +3 -0
  458. package/src/concepts/Identifier__.ts +3 -0
  459. package/src/concepts/IfStatement__.ts +3 -0
  460. package/src/concepts/InterfaceParam__.ts +3 -0
  461. package/src/concepts/Interface__.ts +61 -0
  462. package/src/concepts/JSBlock__.ts +3 -0
  463. package/src/concepts/LogicItem__.ts +4 -5
  464. package/src/concepts/Logic__.ts +111 -34
  465. package/src/concepts/MatchCase__.ts +3 -0
  466. package/src/concepts/Match__.ts +77 -2
  467. package/src/concepts/MemberExpression__.ts +3 -0
  468. package/src/concepts/Module__.ts +40 -2
  469. package/src/concepts/Namespace__.ts +3 -0
  470. package/src/concepts/NewComposite__.ts +18 -1
  471. package/src/concepts/NewList__.ts +3 -0
  472. package/src/concepts/NewMap__.ts +14 -1
  473. package/src/concepts/New__.ts +3 -0
  474. package/src/concepts/NullLiteral__.ts +3 -0
  475. package/src/concepts/NumericLiteral__.ts +7 -18
  476. package/src/concepts/OqlQueryComponent__.ts +10 -0
  477. package/src/concepts/Param__.ts +3 -0
  478. package/src/concepts/Point__.ts +3 -0
  479. package/src/concepts/ProcessComponent__.ts +3 -0
  480. package/src/concepts/ProcessElement__.ts +3 -0
  481. package/src/concepts/ProcessOutcome__.ts +3 -0
  482. package/src/concepts/ProcessOutcomes__.ts +3 -0
  483. package/src/concepts/Process__.ts +3 -0
  484. package/src/concepts/QueryAggregateExpression__.ts +3 -0
  485. package/src/concepts/QueryFieldExpression__.ts +3 -0
  486. package/src/concepts/QueryFromExpression__.ts +3 -0
  487. package/src/concepts/QueryGroupByExpression__.ts +3 -0
  488. package/src/concepts/QueryJoinExpression__.ts +3 -0
  489. package/src/concepts/QueryLimitExpression__.ts +3 -0
  490. package/src/concepts/QueryOrderByExpression__.ts +3 -0
  491. package/src/concepts/QuerySelectExpression__.ts +3 -0
  492. package/src/concepts/Rect__.ts +3 -8
  493. package/src/concepts/Return__.ts +3 -0
  494. package/src/concepts/Role__.ts +3 -0
  495. package/src/concepts/SelectMembers__.ts +3 -0
  496. package/src/concepts/Slot__.ts +3 -0
  497. package/src/concepts/SqlQueryComponent__.ts +3 -0
  498. package/src/concepts/Start__.ts +3 -0
  499. package/src/concepts/StringInterpolation__.ts +3 -0
  500. package/src/concepts/StringLiteral__.ts +3 -0
  501. package/src/concepts/StructureProperty__.ts +21 -0
  502. package/src/concepts/Structure__.ts +3 -0
  503. package/src/concepts/SwitchCase__.ts +3 -0
  504. package/src/concepts/SwitchStatement__.ts +3 -0
  505. package/src/concepts/Theme__.ts +3 -0
  506. package/src/concepts/Transactional__.ts +3 -0
  507. package/src/concepts/TypeAnnotation__.ts +37 -50
  508. package/src/concepts/TypeParam__.ts +3 -0
  509. package/src/concepts/UnaryExpression__.ts +3 -0
  510. package/src/concepts/Unparsed__.ts +3 -0
  511. package/src/concepts/UseComponent__.ts +3 -0
  512. package/src/concepts/ValidationRule__.ts +3 -0
  513. package/src/concepts/Variable__.ts +3 -0
  514. package/src/concepts/ViewBlock__.ts +3 -0
  515. package/src/concepts/ViewComponent__.ts +3 -0
  516. package/src/concepts/ViewElement__.ts +17 -28
  517. package/src/concepts/View__.ts +20 -1
  518. package/src/concepts/WhileStatement__.ts +3 -0
  519. package/src/concepts/basics/stdlib/dist/nasl.util.js +1602 -0
  520. package/src/concepts/basics/stdlib/dist/reference2TypeAnnotationList.js +24 -0
  521. package/src/concepts/basics/stdlib/nasl.collection.ts +2 -2
  522. package/src/concepts/basics/stdlib/nasl.core.ts +3 -3
  523. package/src/concepts/basics/stdlib/nasl.interface.ts +1 -1
  524. package/src/concepts/basics/stdlib/nasl.process.ts +6 -6
  525. package/src/concepts/basics/stdlib/nasl.ui.ts +56 -43
  526. package/src/concepts/basics/stdlib/nasl.util.ts +46 -19
  527. package/src/concepts/basics/stdlib/nasl.validation.ts +13 -13
  528. package/src/concepts/basics/types/coreTypeList.ts +1 -5
  529. package/src/concepts/dist/BindAttribute__.js +795 -0
  530. package/src/concepts/dist/BindEvent__.js +732 -0
  531. package/src/concepts/dist/CallFunction__.js +527 -0
  532. package/src/concepts/dist/CallLogic__.js +932 -0
  533. package/src/concepts/dist/Destination__.js +708 -0
  534. package/src/concepts/dist/ExternalDestination__.js +298 -0
  535. package/src/concepts/dist/Identifier__.js +311 -0
  536. package/src/concepts/dist/StringInterpolation__.js +231 -0
  537. package/src/concepts/dist/TypeAnnotation__.js +834 -0
  538. package/src/concepts/dist/ViewElement__.js +1692 -0
  539. package/src/concepts/dist/View__.js +1601 -0
  540. package/src/concepts/index__.ts +2 -0
  541. package/src/decorators/index.ts +5 -5
  542. package/src/generator/dist/genBundleFiles.js +261 -0
  543. package/src/generator/dist/genMetaData.js +245 -0
  544. package/src/generator/dist/permission.js +405 -0
  545. package/src/generator/genBundleFiles.ts +10 -8
  546. package/src/generator/genReleaseBody.ts +3 -1
  547. package/src/server/entity2LogicNamespace.ts +1 -1
  548. package/src/server/extendBaseNode.ts +12 -0
  549. package/src/server/formatTsUtils.ts +3 -2
  550. package/src/server/getMemberIdentifier.ts +5 -2
  551. package/src/server/naslServer.ts +109 -56
  552. package/src/server/translator.ts +1 -1
  553. package/src/service/creator/add.configs.js +3 -0
  554. package/src/service/creator/index.js +3 -0
  555. package/src/service/storage/api.js +12 -0
  556. package/src/service/storage/dist/init.js +579 -0
  557. package/src/service/storage/init.ts +212 -44
  558. package/src/service/storage/service.ts +29 -1
  559. package/src/templator/dist/genEditTableBlock.js +204 -0
  560. package/src/templator/dist/genGridViewBlock.js +265 -0
  561. package/src/templator/dist/genListViewBlock.js +84 -0
  562. package/src/templator/dist/genTableBlock.js +209 -0
  563. package/src/templator/dist/utils.js +527 -0
  564. package/src/templator/genEditTableBlock.ts +1 -1
  565. package/src/templator/genQueryComponent.ts +5 -5
  566. package/src/templator/genTableBlock.ts +2 -2
  567. package/src/templator/utils.ts +7 -7
  568. package/ts-worker/lib/Messager.js +7 -2
  569. package/ts-worker/src/index.js +1 -0
  570. package/out/automate/engine/2.14-components.d.ts +0 -1115
  571. package/out/automate/engine/2.14-components.js +0 -1087
  572. package/out/automate/engine/2.14-components.js.map +0 -1
  573. package/yarn-error.log +0 -2087
@@ -3,6 +3,7 @@ import { getConceptConstructor } from '../../decorators';
3
3
  import { config } from '../../config';
4
4
  import Vue from 'vue';
5
5
  import storageService from './service';
6
+ import { v4 as uuidv4 } from 'uuid';
6
7
  /// #if !process.env.NODE_ENV || process.env.BUILD_TARGET === 'node'
7
8
  import * as fs from 'fs-extra';
8
9
  import * as jsoner from './jsoner';
@@ -10,6 +11,9 @@ import * as jsoner from './jsoner';
10
11
 
11
12
  export const batchQuery = storageService.batchQuery;
12
13
  export const batchAction = storageService.batchAction;
14
+ export const batchInstruct = storageService.batchInstruct;
15
+
16
+ let tabTimestamp: string;
13
17
 
14
18
  function getLogic(key: string, app: any, diffLogicList: string[]) {
15
19
  if (!diffLogicList.includes(key)) {
@@ -88,7 +92,7 @@ function getStatement(state: any, app: any, diffLogicList: string[]) {
88
92
  logicItems = [...state.expressions];
89
93
  break;
90
94
  case 'NewComposite':
91
- logicItems = [...state.rights.map((item:SelectMembers) => item.expression)];
95
+ logicItems = [...state.rights.map((item: SelectMembers) => item.expression)];
92
96
  break;
93
97
  case 'NewList':
94
98
  logicItems = [...state.items];
@@ -123,7 +127,6 @@ function getMiniAppChange(target: any, obj: any, action: string) {
123
127
  * 执行更新
124
128
  */
125
129
  async function doAction(app: any, actionItem: any) {
126
- app.emit('saving');
127
130
  let hasFrontEnd = false;
128
131
  let hasBackEnd = false;
129
132
  const actionList: any[] = [];
@@ -265,9 +268,188 @@ async function doAction(app: any, actionItem: any) {
265
268
  }
266
269
  } catch (error) {
267
270
  console.log(error);
271
+ taskQueue.refreshNasl(app, {
272
+ errorInfo: {
273
+ message: error?.message,
274
+ stack: error?.stack,
275
+ },
276
+ });
277
+ return;
278
+ }
279
+
280
+ const instructList = [{
281
+ uuid: uuidv4().replace(/-/g, ''),
282
+ actions: actionList,
283
+ }];
284
+ saveNasl({app, hasFrontEnd, hasBackEnd, instructList });
285
+
286
+ if (!app._historying) {
287
+ if (app._historyIndex !== app._historyList.length) {
288
+ app._historyList = app._historyList.splice(0, app._historyIndex);
289
+ }
290
+ app._historyList.push({
291
+ actionMsg,
292
+ list: list.map((item: any) => item.originEvent),
293
+ });
294
+ app._historyIndex = app._historyList.length;
295
+ } else {
296
+ const actionMap = {
297
+ undo: '已撤销操作:',
298
+ redo: '已重做操作:',
299
+ };
300
+ let msg = actionMap[action as 'undo' | 'redo'];
301
+ msg += actionMsg;
302
+ Vue.prototype.$toast.info(msg);
303
+ app._historying = false;
304
+ }
305
+ }
306
+
307
+ type Instruct = {
308
+ uuid: string,
309
+ actions: any[],
310
+ };
311
+ type TaskOption = {
312
+ app: any,
313
+ hasFrontEnd: boolean,
314
+ hasBackEnd: boolean,
315
+ instructList: Instruct[],
316
+ };
317
+ enum TaskQueueStatus {
318
+ ExceedMaxTaskCount,
319
+ Retrying,
320
+ };
321
+ type RefreshNaslOptions = {
322
+ errorInfo: {
323
+ message?: string,
324
+ stack?: string,
325
+ }
326
+ };
327
+
328
+ class TaskQueue {
329
+ queue: TaskOption[] = []
330
+ lastQueue: TaskOption[] = []
331
+ running: Boolean = false
332
+ maxTaskCount: number = 10
333
+ status?: TaskQueueStatus = undefined
334
+
335
+ addTask(task: TaskOption) {
336
+ this.queue.push(task);
337
+
338
+ if(this.queue.length >= this.maxTaskCount) {
339
+ this.status = TaskQueueStatus.ExceedMaxTaskCount;
340
+ task.app.emit('ExceedMaxTaskCount');
341
+ }
342
+
343
+ this.run();
344
+ }
345
+
346
+ clear() {
347
+ this.queue = [];
348
+ this.lastQueue = [];
349
+ this.status = undefined;
350
+ this.running = false;
351
+ }
352
+
353
+ async run(queue = this.queue) {
354
+ if(this.running) return;
355
+ if(queue.length === 0) return;
356
+
357
+ const app = queue[0].app;
358
+ let hasFrontEnd = false;
359
+ let hasBackEnd = false;
360
+ let instructList: Instruct[] = [];
361
+
362
+ for(const task of queue) {
363
+ if(task.hasFrontEnd) hasFrontEnd = true;
364
+ if(task.hasBackEnd) hasBackEnd = true;
365
+ instructList = instructList.concat(task.instructList);
366
+ }
367
+
368
+ if(queue === this.queue) {
369
+ this.lastQueue = [...queue];
370
+ this.queue = [];
371
+ }
372
+
373
+ this.running = true;
374
+ const error = await _saveNasl({
375
+ app, hasFrontEnd, hasBackEnd, instructList,
376
+ });
377
+
378
+ // code: 401650, 检测到当前应用拉取操作已被强制结束, 用户确认后再刷新
379
+ // code: 500502 msg: "该应用已在新tab 页打开,请刷新!" 不重试或刷新
380
+ if(!error)
381
+ this.recover(app);
382
+ else if (![401650, 500502].includes(error.code)) {
383
+ // 连接失败,或超时,或后端持久化异常
384
+ if((error.message === 'Network Error' || error.message?.includes('timeout') || error.code === 500500)
385
+ && this.status !== TaskQueueStatus.Retrying) {
386
+ this.running = false;
387
+ this.retry();
388
+ } else
389
+ this.refreshNasl(app);
390
+
391
+ return;
392
+ }
393
+
394
+ this.running = false;
395
+
396
+ this.run();
397
+ }
398
+
399
+ retry() {
400
+ if(this.lastQueue.length === 0) return;
401
+
402
+ const app = this.lastQueue[0].app;
403
+ this.status = TaskQueueStatus.Retrying;
404
+ app.emit('Retrying');
405
+ this.run(this.lastQueue);
406
+ }
407
+
408
+ async refreshNasl(app: App, options: RefreshNaslOptions = { errorInfo: {} }) {
409
+ const failedQueue = this.lastQueue.map(({ hasFrontEnd, hasBackEnd, instructList }) => ({
410
+ hasFrontEnd, hasBackEnd, instructList,
411
+ }));
412
+ const queue = this.queue.map(({ hasFrontEnd, hasBackEnd, instructList }) => ({
413
+ hasFrontEnd, hasBackEnd, instructList,
414
+ }));
415
+ await storageService.saveFrontendNasl({
416
+ body: {
417
+ frontendDataDTO: {
418
+ nasl: app.toJSON(),
419
+ failedQueue,
420
+ queue,
421
+ errorInfo: options.errorInfo,
422
+ },
423
+ },
424
+ }).catch((err: any) => {
425
+ console.log('备份 nasl 失败:', err);
426
+ });
427
+ this.clear();
268
428
  app.emit('refresh');
269
429
  }
270
430
 
431
+ recover(app: App) {
432
+ switch(this.status) {
433
+ case TaskQueueStatus.ExceedMaxTaskCount:
434
+ app.emit('BelowMaxTaskCount');
435
+ this.status = undefined;
436
+ break;
437
+ case TaskQueueStatus.Retrying:
438
+ app.emit('SuccessRetry');
439
+ this.status = undefined;
440
+ break;
441
+ }
442
+ }
443
+ }
444
+
445
+ export const taskQueue = new TaskQueue();
446
+ async function saveNasl(options: TaskOption) {
447
+ taskQueue.addTask(options);
448
+ }
449
+
450
+ async function _saveNasl(options: TaskOption) {
451
+ const { app, hasFrontEnd, hasBackEnd, instructList } = options;
452
+ app.emit('saving');
271
453
  let ChangedNASLType = '';
272
454
  if (hasFrontEnd && hasBackEnd) {
273
455
  ChangedNASLType = 'both';
@@ -279,50 +461,35 @@ async function doAction(app: any, actionItem: any) {
279
461
  let err;
280
462
  if (config.storage.protocol === 'http') {
281
463
  try {
282
- await storageService.batchAction({
283
- body: actionList,
464
+ await storageService.batchInstruct({
465
+ body: instructList,
284
466
  headers: {
285
467
  appId: app.id,
286
468
  ChangedNASLType,
469
+ tabTimestamp,
287
470
  // 其他封装在 storageService 里了
288
471
  },
289
472
  });
290
473
  } catch (error) {
291
474
  err = error;
292
-
293
- // 401650, 检测到当前应用拉取操作已被强制结束, 用户确认后再刷新
294
- if (error?.code !== 401650)
295
- app.emit('refresh');
296
475
  }
297
476
  } else if (config.storage.protocol === 'mock') {
298
477
  // Do nothing
299
478
  } else {
300
479
  const json = await fs.readJSON(config.storage.basePath);
480
+
481
+ let actionList: any[] = [];
482
+ for(const { actions } of instructList) {
483
+ actionList = actionList.concat(actions);
484
+ }
485
+
301
486
  jsoner.batchAction(json, actionList);
302
487
  await fs.writeJSON(config.storage.basePath, json, {
303
488
  spaces: 4,
304
489
  });
305
490
  }
306
491
  app.emit('saved', err);
307
- if (!app._historying) {
308
- if (app._historyIndex !== app._historyList.length) {
309
- app._historyList = app._historyList.splice(0, app._historyIndex);
310
- }
311
- app._historyList.push({
312
- actionMsg,
313
- list: list.map((item: any) => item.originEvent),
314
- });
315
- app._historyIndex = app._historyList.length;
316
- } else {
317
- const actionMap = {
318
- undo: '已撤销操作:',
319
- redo: '已重做操作:',
320
- };
321
- let msg = actionMap[action as 'undo' | 'redo'] || '';
322
- msg += actionMsg;
323
- Vue.prototype.$toast.info(msg);
324
- app._historying = false;
325
- }
492
+ return err;
326
493
  }
327
494
 
328
495
  export function handleApp(app: any) {
@@ -354,7 +521,11 @@ export function handleApp(app: any) {
354
521
  if (!app._noTimer) {
355
522
  app._timer = setTimeout(() => {
356
523
  console.error('收集超时,请及时排查原因');
357
- app.emit('refresh');
524
+ taskQueue.refreshNasl(app, {
525
+ errorInfo: {
526
+ message: '收集超时,请及时排查原因',
527
+ }
528
+ });
358
529
  }, 2500);
359
530
  }
360
531
  if (!app._isCollectingCount) {
@@ -382,7 +553,7 @@ export function handleApp(app: any) {
382
553
  app._action = '';
383
554
  app._noTimer = undefined;
384
555
  if (Array.isArray(collectingList) && collectingList.length) {
385
- app.naslServer.embeddedTSEmitter.emit('change', {
556
+ app.naslServer?.embeddedTSEmitter?.emit('change', {
386
557
  value: collectingList,
387
558
  });
388
559
  await doAction(app, {
@@ -403,7 +574,7 @@ export function handleApp(app: any) {
403
574
  app.on('storage', (event: any) => {
404
575
  // 是否正在收集
405
576
  if (app._isCollectingCount === 0) {
406
- app.naslServer.embeddedTSEmitter.emit('change', {
577
+ app.naslServer?.embeddedTSEmitter?.emit('change', {
407
578
  value: [event],
408
579
  });
409
580
  let actionMsg = '';
@@ -443,7 +614,7 @@ export async function loadApp(appId?: string) {
443
614
  let app: App;
444
615
  if (config.storage.protocol === 'http') {
445
616
  // 请求
446
- const data = await storageService.batchQuery({
617
+ const res = await storageService.batchQuery({
447
618
  body: [
448
619
  {
449
620
  path: 'app',
@@ -452,23 +623,20 @@ export async function loadApp(appId?: string) {
452
623
  ],
453
624
  headers: {
454
625
  appId,
626
+ checkTabOpenTime: 'true',
455
627
  // 其他封装在 storageService 里了
456
628
  },
629
+ config: {
630
+ shortResponse: false,
631
+ },
457
632
  });
458
- // const data = res?.data?.result;
459
- // // mock数据,需要删除
460
- // data[0].frontends = [];
461
- // data?.[0].frontends.push({
462
- // id: '111',
463
- // concept: 'Frontend',
464
- // name: 'pcFrontend1',
465
- // title: 'pc端',
466
- // type: 'pc',
467
- // views: data?.[0].views,
468
- // variables: data?.[0].frontendVariables,
469
- // componentDependencies: data?.[0].componentDependencies,
470
- // });
633
+
634
+ tabTimestamp = res?.headers?.tabtimestamp;
635
+ const data = res?.data?.result;
471
636
  app = new App(Object.assign(data?.[0], { id: appId }));
637
+ if (!app.id) {
638
+ app.id = appId;
639
+ }
472
640
  } else if (config.storage.protocol === 'mock') {
473
641
  app = new App({
474
642
  id: appId,
@@ -4,7 +4,7 @@ import api from './api';
4
4
  const service = createService(api);
5
5
 
6
6
  export default {
7
- batchQuery({ body, headers }: { body: Array<any>, headers: Record<string, string> }) {
7
+ batchQuery({ body, headers, config }: { body: Array<any>, headers: Record<string, string>, config?: object }) {
8
8
  const appData = (window as any).appData;
9
9
 
10
10
  return service.batchQuery({
@@ -15,6 +15,7 @@ export default {
15
15
  'request-versionChangedTime': appData?.versionChangedTime || '',
16
16
  operateArea: appData?.branchStatus === 'merging' ? 'merge_conflict' : '',
17
17
  }, headers),
18
+ config,
18
19
  });
19
20
  },
20
21
  batchAction({ body, headers }: { body: Array<any>, headers: Record<string, string> }) {
@@ -30,4 +31,31 @@ export default {
30
31
  }, headers),
31
32
  });
32
33
  },
34
+ batchInstruct({ body, headers }: { body: Array<any>, headers: Record<string, string> }) {
35
+ const appData = (window as any).appData;
36
+
37
+ return service.batchInstruct({
38
+ body,
39
+ headers: Object.assign({
40
+ appId: appData?.appId,
41
+ 'request-appBaseVersion': (window as any).appData?.baseVersion || '',
42
+ 'request-versionChangedTime': (window as any).appData?.versionChangedTime || '',
43
+ operateArea: (window as any).appData?.branchStatus === 'merging' ? 'merge_conflict' : '',
44
+ }, headers),
45
+ config: {
46
+ timeout: 1000 * 60,
47
+ },
48
+ });
49
+ },
50
+ saveFrontendNasl({ body }: { body: any }) {
51
+ const appData = (window as any).appData;
52
+
53
+ return service.saveFrontendNasl({
54
+ body,
55
+ headers: {
56
+ appId: appData?.appId,
57
+ skipVersionCheck: true,
58
+ },
59
+ });
60
+ }
33
61
  };
@@ -0,0 +1,204 @@
1
+ "use strict";
2
+ exports.__esModule = true;
3
+ exports.genBlurUpdateLogic = exports.genEditTableRemoveLogic = exports.genEditTableLoadLogic = exports.genEditTableTemplate = exports.genEditTableColumnTemplate = void 0;
4
+ var utils = require("../utils");
5
+ var _1 = require(".");
6
+ var utils_1 = require("./utils");
7
+ /**
8
+ * 根据实体属性生成表格列模板
9
+ * @param property 实体属性
10
+ */
11
+ function genEditTableColumnTemplate(entity, property, nameGroup, selectNameGroupMap) {
12
+ var dataSource = entity.parentNode;
13
+ var lowerEntityName = utils.firstLowerCase(entity.name);
14
+ var valueExpression = "current.item." + lowerEntityName + "." + property.name;
15
+ var title = property.label || property.name;
16
+ var canEditable = function (property) { return !property.readonly; };
17
+ var getText = function (property) {
18
+ var propertyTypeName = property.typeAnnotation.typeName;
19
+ if (propertyTypeName === 'Boolean') {
20
+ return "\n <u-text v-if=\"" + valueExpression + "\" text=\"\u662F\"></u-text>\n <u-text v-if=\"!" + valueExpression + "\" text=\"\u5426\"></u-text>\n ";
21
+ }
22
+ else {
23
+ return "<u-text :text=\"" + valueExpression + "\"></u-text>";
24
+ }
25
+ };
26
+ var genEditComponent = function (property) {
27
+ if (property.readonly)
28
+ return '';
29
+ var label = property.label || property.name;
30
+ var formItem = '';
31
+ var propertyTypeName = property.typeAnnotation.typeName;
32
+ if (property.relationEntity && selectNameGroupMap) {
33
+ // 有外键关联
34
+ var relationEntity = dataSource === null || dataSource === void 0 ? void 0 : dataSource.findEntityByName(property.relationEntity);
35
+ if (relationEntity) {
36
+ var relationProperty = relationEntity.properties.find(function (prop) { return prop.name === property.relationProperty; });
37
+ var displayedProperty = _1.getFirstDisplayedProperty(relationEntity);
38
+ if (displayedProperty) {
39
+ var lowerEntityName_1 = utils.firstLowerCase(relationEntity.name);
40
+ // 存在多个属性关联同一个实体的情况,因此加上属性名用以唯一标识
41
+ var key = [property.name, relationEntity.name].join('-');
42
+ var selectNameGroup = selectNameGroupMap.get(key);
43
+ formItem += "\n <u-select clearable placeholder=\"\u8BF7\u9009\u62E9" + label + "\" :data-source=\"" + selectNameGroup.viewLogicLoad + "\"\n :autofocus=\"true\" :opened=\"true\" append-to=\"body\" @blur=\"" + nameGroup.viewLogicBlurUpdate + "\" @select=\"" + nameGroup.viewLogicBlurUpdate + "\"\n text-field=\"" + lowerEntityName_1 + "." + displayedProperty.name + "\" value-field=\"" + lowerEntityName_1 + "." + relationProperty.name + "\" :pageable=\"true\" :remote-paging=\"true\" :value.sync=\"" + valueExpression + "\">\n </u-select>\n ";
44
+ }
45
+ else
46
+ return '';
47
+ }
48
+ else
49
+ return '';
50
+ }
51
+ else if (propertyTypeName === 'Boolean') {
52
+ formItem += "<u-select clearable :value.sync=\"" + valueExpression + "\" placeholder=\"\u8BF7\u8F93\u5165" + label + "\"\n :autofocus=\"true\" :opened=\"true\" append-to=\"body\" @blur=\"" + nameGroup.viewLogicBlurUpdate + "\" @select=\"" + nameGroup.viewLogicBlurUpdate + "\">\n <u-select-item :value=\"true\" text=\"\u662F\">\u662F</u-select-item>\n <u-select-item :value=\"false\" text=\"\u5426\">\u5426</u-select-item>\n </u-select>";
53
+ }
54
+ else if (propertyTypeName === 'Integer' || propertyTypeName === 'Long') {
55
+ formItem = "<u-number-input :value.sync=\"" + valueExpression + "\" placeholder=\"\u8BF7\u8F93\u5165" + label + "\" :autofocus=\"true\" @blur=\"" + nameGroup.viewLogicBlurUpdate + "\"></u-number-input>";
56
+ }
57
+ else if (propertyTypeName === 'Double') {
58
+ formItem = "<u-number-input :value.sync=\"" + valueExpression + "\" :precision=\"0\" :step=\"0\" placeholder=\"\u8BF7\u8F93\u5165" + label + "\" :autofocus=\"true\" @blur=\"" + nameGroup.viewLogicBlurUpdate + "\"></u-number-input>";
59
+ }
60
+ else if (propertyTypeName === 'Decimal') {
61
+ formItem = "<u-number-input :value.sync=\"" + valueExpression + "\" :precision=\"0\" :step=\"0\" placeholder=\"\u8BF7\u8F93\u5165" + label + "\" :autofocus=\"true\" @blur=\"" + nameGroup.viewLogicBlurUpdate + "\"></u-number-input>";
62
+ }
63
+ else if (propertyTypeName === 'Text') {
64
+ formItem = "<u-validator placement=\"bottom\" display=\"appear\" @blur-valid=\"" + nameGroup.viewLogicBlurUpdate + "\" style=\"width:100%\">\n <u-textarea :value.sync=\"" + valueExpression + "\" placeholder=\"\u8BF7\u8F93\u5165" + label + "\" :autofocus=\"true\" size=\"full\"></u-textarea>\n </u-validator>";
65
+ }
66
+ else if (propertyTypeName === 'Date') {
67
+ formItem = "<u-date-picker clearable :date.sync=\"" + valueExpression + "\" placeholder=\"\u8BF7\u8F93\u5165" + label + "\" append-to=\"body\" :autofocus=\"true\" :opened=\"true\" @blur=\"" + nameGroup.viewLogicBlurUpdate + "\"></u-date-picker>";
68
+ }
69
+ else if (propertyTypeName === 'Time') {
70
+ formItem = "<u-time-picker :time.sync=\"" + valueExpression + "\" placeholder=\"\u8BF7\u8F93\u5165" + label + "\" append-to=\"body\" :autofocus=\"true\" @blur=\"" + nameGroup.viewLogicBlurUpdate + "\"></u-time-picker>";
71
+ }
72
+ else if (propertyTypeName === 'DateTime') {
73
+ formItem = "<u-date-time-picker clearable :date.sync=\"" + valueExpression + "\" placeholder=\"\u8BF7\u8F93\u5165" + label + "\" append-to=\"body\" :autofocus=\"true\" :opened=\"true\" @blur=\"" + nameGroup.viewLogicBlurUpdate + "\"></u-date-time-picker>";
74
+ }
75
+ else {
76
+ formItem = "<u-validator placement=\"bottom\" display=\"appear\" @blur-valid=\"" + nameGroup.viewLogicBlurUpdate + "\" style=\"width:100%\" append-to=\"body\">\n <u-input :value.sync=\"" + valueExpression + "\" placeholder=\"\u8BF7\u8F93\u5165" + label + "\" :autofocus=\"true\" size=\"full\"></u-input>\n </u-validator>";
77
+ }
78
+ return "<template #editcell=\"current\">\n <u-linear-layout gap=\"small\">\n " + formItem + "\n </u-linear-layout>\n </template>";
79
+ };
80
+ return "<u-table-view-column field=\"" + utils.firstLowerCase(entity.name) + "." + property.name + "\" " + (canEditable(property) ? 'type="editable"' : '') + ">\n <template #title><u-text text=\"" + title + "\"></u-text></template>\n <template #cell=\"current\">\n <u-linear-layout gap=\"small\">\n " + getText(property) + "\n </u-linear-layout>\n </template>\n " + genEditComponent(property) + "\n</u-table-view-column>";
81
+ }
82
+ exports.genEditTableColumnTemplate = genEditTableColumnTemplate;
83
+ /**
84
+ * 生成表格模板
85
+ * @param entity 实体
86
+ * @param nameGroup 命名组
87
+ */
88
+ function genEditTableTemplate(entity, nameGroup, selectNameGroupMap) {
89
+ var properties = entity.properties.filter(_1.filterProperty('inTable'));
90
+ return "<u-table-view ref=\"" + nameGroup.viewElementMainView + "\" :data-source=\"" + nameGroup.viewLogicLoad + "\" data-schema=\"" + nameGroup.structure + "\"\n value-field=\"" + nameGroup.viewVariableEntity + ".id\"\n :pageable=\"true\" :remote-paging=\"true\" :show-sizer=\"true\" :default-column-width=\"300\" editable>\n <u-table-view-column type=\"index\" width=\"60\"><template #title><u-text text=\"\u5E8F\u53F7\"></u-text></template></u-table-view-column>\n\n " + properties.map(function (property) { return genEditTableColumnTemplate(entity, property, nameGroup, selectNameGroupMap) + '\n'; }).join('') + "\n\n <u-table-view-column>\n <template #title><u-text text=\"\u64CD\u4F5C\"></u-text></template>\n <template #cell=\"current\">\n <u-linear-layout gap=\"small\">\n <u-link @click=\"" + nameGroup.viewLogicRemove + "\">\u5220\u9664</u-link>\n </u-linear-layout>\n </template>\n </u-table-view-column>\n</u-table-view>\n";
91
+ }
92
+ exports.genEditTableTemplate = genEditTableTemplate;
93
+ /**
94
+ * 生成表格 load 逻辑
95
+ * @param entity 实体
96
+ */
97
+ function genEditTableLoadLogic(entity, nameGroup, newLogic, supportFilter) {
98
+ var moduleNode = entity.app;
99
+ var moduleNamespace = moduleNode === null || moduleNode === void 0 ? void 0 : moduleNode.getNamespace();
100
+ var params = [
101
+ _1.genLogicParam("" + newLogic.params[0].name, 'params.page'),
102
+ _1.genLogicParam("" + newLogic.params[1].name, 'params.size'),
103
+ _1.genLogicParam("" + newLogic.params[2].name, 'params.sort'),
104
+ _1.genLogicParam("" + newLogic.params[3].name, 'params.order'),
105
+ ];
106
+ if (supportFilter)
107
+ params.push(_1.genLogicParam("" + newLogic.params[4].name, nameGroup.viewVariableFilter));
108
+ return utils_1.NaslNode.Logic({
109
+ name: nameGroup.viewLogicLoad,
110
+ params: [
111
+ utils_1.NaslNode.Param({
112
+ name: 'params',
113
+ typeAnnotation: utils_1.NaslUITypeAnnotation.DataSourceParams
114
+ }),
115
+ ],
116
+ returns: [
117
+ utils_1.NaslNode.Return({
118
+ name: 'result',
119
+ typeAnnotation: null
120
+ }),
121
+ ],
122
+ variables: [],
123
+ body: [
124
+ utils_1.NaslLogicItem.Start,
125
+ utils_1.NaslLogicItem.Assignment({
126
+ left: utils_1.NaslLogicItem.Identifier({
127
+ name: 'result'
128
+ }),
129
+ right: utils_1.NaslLogicItem.CallLogic({
130
+ calleeNamespace: moduleNamespace + ".logics",
131
+ calleeName: newLogic.name,
132
+ arguments: params
133
+ })
134
+ }),
135
+ utils_1.NaslLogicItem.End,
136
+ ]
137
+ });
138
+ }
139
+ exports.genEditTableLoadLogic = genEditTableLoadLogic;
140
+ /**
141
+ * 生成表格 remove 逻辑
142
+ * @param entity 实体
143
+ */
144
+ function genEditTableRemoveLogic(entity, nameGroup) {
145
+ var _a;
146
+ var lowerEntityName = utils.firstLowerCase(entity.name);
147
+ var ns = entity.ns;
148
+ var deleteLogic = (_a = ns === null || ns === void 0 ? void 0 : ns.logics) === null || _a === void 0 ? void 0 : _a.find(function (logic) { return logic.name === "delete"; });
149
+ var idPropertys = entity.properties.filter(function (property) { return property.primaryKey || property.name === 'id'; });
150
+ return utils_1.NaslNode.Logic({
151
+ name: nameGroup.viewLogicRemove,
152
+ params: [],
153
+ returns: [],
154
+ variables: [],
155
+ body: [
156
+ utils_1.NaslLogicItem.Start,
157
+ utils_1.NaslLogicItem.CallLogic({
158
+ calleeNamespace: deleteLogic.getNamespace(),
159
+ calleeName: deleteLogic.name,
160
+ arguments: idPropertys.map(function (idProperty) {
161
+ var paramFromLogic = _1.getParamFromLogic(deleteLogic, idProperty.name);
162
+ // 如果旧逻辑,但是新导入表中,id的name 不是id 的话,就直接使用名称叫id的
163
+ if (!paramFromLogic) {
164
+ paramFromLogic = _1.getParamFromLogic(deleteLogic, 'id');
165
+ }
166
+ return _1.genLogicParam(paramFromLogic.name, "current.item." + lowerEntityName + "." + paramFromLogic.name);
167
+ })
168
+ }),
169
+ _1.genCallComponentLogic(nameGroup.viewElementMainView, 'reload'),
170
+ utils_1.NaslLogicItem.End,
171
+ ]
172
+ });
173
+ }
174
+ exports.genEditTableRemoveLogic = genEditTableRemoveLogic;
175
+ function genBlurUpdateLogic(entity, nameGroup) {
176
+ var _a;
177
+ var lowerEntityName = utils.firstLowerCase(entity.name);
178
+ var ns = entity.ns;
179
+ var updateLogic = (_a = ns === null || ns === void 0 ? void 0 : ns.logics) === null || _a === void 0 ? void 0 : _a.find(function (logic) { return logic.name === "update"; });
180
+ return utils_1.NaslNode.Logic({
181
+ name: nameGroup.viewLogicBlurUpdate,
182
+ params: [],
183
+ returns: [],
184
+ body: [
185
+ utils_1.NaslLogicItem.Start,
186
+ utils_1.NaslLogicItem.Assignment({
187
+ left: _1.genMemberExpression("current.item.editing", ['', '', nameGroup.structure + ".editing"]),
188
+ right: utils_1.NaslLogicItem.StringLiteral({
189
+ value: ''
190
+ })
191
+ }),
192
+ utils_1.NaslLogicItem.CallLogic({
193
+ calleeNamespace: updateLogic.getNamespace(),
194
+ calleeName: updateLogic.name,
195
+ arguments: [
196
+ _1.genLogicParam("" + updateLogic.params[0].name, "current.item." + lowerEntityName),
197
+ ]
198
+ }),
199
+ utils_1.NaslLogicItem.End,
200
+ ],
201
+ playground: []
202
+ });
203
+ }
204
+ exports.genBlurUpdateLogic = genBlurUpdateLogic;