@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
@@ -94,6 +94,9 @@ export class InterfaceParam extends BaseNode {
94
94
  super(source);
95
95
  super.subConstructor(source);
96
96
  }
97
+ getClassName() {
98
+ return 'InterfaceParam';
99
+ }
97
100
 
98
101
  static from(source: any, parentNode?: any, parentKey?: string): InterfaceParam {
99
102
  return super.from(source, parentNode, parentKey) as InterfaceParam;
@@ -2,6 +2,7 @@ import { TranslatorState, shiftState, withSourceMap, createCompilerState } from
2
2
  import Namespace from './Namespace__';
3
3
  import TypeAnnotation from './TypeAnnotation__';
4
4
  import Structure from './Structure__';
5
+ import Param from './Param__';
5
6
  //================================================================================
6
7
  // 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
7
8
  // ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
@@ -92,6 +93,9 @@ export class Interface extends BaseNode {
92
93
  super(source);
93
94
  super.subConstructor(source);
94
95
  }
96
+ getClassName() {
97
+ return 'Interface';
98
+ }
95
99
 
96
100
  static from(source: any, parentNode?: any, parentKey?: string): Interface {
97
101
  return super.from(source, parentNode, parentKey) as Interface;
@@ -514,6 +518,18 @@ export class Interface extends BaseNode {
514
518
  // 自动生成的代码已结束。下面可以手动编写。
515
519
  //================================================================================
516
520
 
521
+ /**
522
+ * 协议
523
+ */
524
+ @property()
525
+ protocol: string = undefined;
526
+
527
+ /**
528
+ * 协议参数列表
529
+ */
530
+ @property('Param')
531
+ protocolParams: Array<Param> = [];
532
+
517
533
  /**
518
534
  * 是否可编辑
519
535
  * */
@@ -545,6 +561,21 @@ export class Interface extends BaseNode {
545
561
  });
546
562
  }
547
563
 
564
+ // 更新所有调用接口
565
+ async updateAllRefCallInterface() {
566
+ const refs = await this.findUsage();
567
+ refs.forEach((val: any) => {
568
+ const loopFindNode = (item: any) => {
569
+ if (item.children) {
570
+ item.children.forEach((i: any) => loopFindNode(i));
571
+ } else {
572
+ item.node.setCallee(this);
573
+ }
574
+ };
575
+ loopFindNode(val);
576
+ });
577
+ }
578
+
548
579
  /* 删除空数据模块 */
549
580
  deleteLogincAndModule() {
550
581
  this.rootNode.emit('collect:start', {
@@ -823,6 +854,36 @@ export class Interface extends BaseNode {
823
854
  return [...this.params, ...this.returns].filter((item) => !excludedSet.has(item)).map((item) => item.name);
824
855
  }
825
856
 
857
+ // 递归找出 response/request 的 Body/Returns 引用的数据结构
858
+ getRefStructures(structures: Structure[] = []): Set<Structure> {
859
+ const structuresSet: Set<Structure> = new Set();
860
+ const loopSaveStructure = (typeAnnotation: TypeAnnotation) => {
861
+ if (!typeAnnotation)
862
+ return;
863
+ if (typeAnnotation.typeKind === 'reference') {
864
+ const targetStructure = structures.find((s) => s.name === typeAnnotation.typeName);
865
+ if (targetStructure && !structuresSet.has(targetStructure)) {
866
+ structuresSet.add(targetStructure);
867
+ targetStructure?.properties.forEach((prop) => {
868
+ loopSaveStructure(prop.typeAnnotation);
869
+ });
870
+ }
871
+ } else if (typeAnnotation.typeKind === 'generic') {
872
+ typeAnnotation.typeArguments.forEach(loopSaveStructure);
873
+ }
874
+ };
875
+
876
+ const { params = [], returns = [] } = this;
877
+ [...params, ...returns].forEach((p) => {
878
+ if ('in' in p && p.in === 'cookie') {
879
+ p.in = 'header';
880
+ return;
881
+ }
882
+ loopSaveStructure(p?.typeAnnotation);
883
+ });
884
+ return structuresSet;
885
+ }
886
+
826
887
  //================================================================================
827
888
  // 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
828
889
  // ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
@@ -45,6 +45,9 @@ export class JSBlock extends LogicItem {
45
45
  super(source);
46
46
  super.subConstructor(source);
47
47
  }
48
+ getClassName() {
49
+ return 'JSBlock';
50
+ }
48
51
 
49
52
  static from(source: any, parentNode?: any, parentKey?: string): JSBlock {
50
53
  return super.from(source, parentNode, parentKey) as JSBlock;
@@ -30,7 +30,7 @@ export class LogicItem extends BaseNode {
30
30
  * 产品概念
31
31
  */
32
32
  @property()
33
- concept: 'LogicItem' | 'Start' | 'End' | 'IfStatement' | 'SwitchStatement' | 'SwitchCase' | 'ForEachStatement' | 'WhileStatement' | 'Assignment' | 'BatchAssignment' | 'Comment' | 'CallLogic' | 'CallFunction' | 'CallInterface' | 'Destination' | 'ExternalDestination' | 'ValidationRule' | 'Argument' | 'Anchor' | 'JSBlock' | 'Identifier' | 'NullLiteral' | 'BooleanLiteral' | 'StringLiteral' | 'StringInterpolation' | 'NumericLiteral' | 'BinaryExpression' | 'MatchCase' | 'Match' | 'UnaryExpression' | 'MemberExpression' | 'Unparsed' | 'New' | 'NewComposite' | 'NewList' | 'NewMap' | 'CallQueryComponent' | 'QueryFromExpression' | 'QueryJoinExpression' | 'QueryFieldExpression' | 'QueryAggregateExpression' | 'QueryOrderByExpression' | 'QueryGroupByExpression' | 'QuerySelectExpression' | 'QueryLimitExpression' | 'SqlQueryComponent' | 'OqlQueryComponent' | 'ProcessOutcome' | 'Assignee' | 'ProcessOutcomes' = 'LogicItem';
33
+ concept: 'LogicItem' | 'Abort' | 'Start' | 'End' | 'IfStatement' | 'SwitchStatement' | 'SwitchCase' | 'ForEachStatement' | 'WhileStatement' | 'Assignment' | 'BatchAssignment' | 'Comment' | 'CallLogic' | 'CallFunction' | 'CallInterface' | 'Destination' | 'ExternalDestination' | 'ValidationRule' | 'Argument' | 'Anchor' | 'JSBlock' | 'Identifier' | 'NullLiteral' | 'BooleanLiteral' | 'StringLiteral' | 'StringInterpolation' | 'NumericLiteral' | 'BinaryExpression' | 'MatchCase' | 'Match' | 'UnaryExpression' | 'MemberExpression' | 'Unparsed' | 'New' | 'NewComposite' | 'NewList' | 'NewMap' | 'CallQueryComponent' | 'QueryFromExpression' | 'QueryJoinExpression' | 'QueryFieldExpression' | 'QueryAggregateExpression' | 'QueryOrderByExpression' | 'QueryGroupByExpression' | 'QuerySelectExpression' | 'QueryLimitExpression' | 'SqlQueryComponent' | 'OqlQueryComponent' | 'ProcessOutcome' | 'Assignee' | 'ProcessOutcomes' | 'NewList' = 'LogicItem';
34
34
 
35
35
  /**
36
36
  * 逻辑项标题
@@ -113,6 +113,9 @@ export class LogicItem extends BaseNode {
113
113
  super(source);
114
114
  super.subConstructor(source);
115
115
  }
116
+ getClassName() {
117
+ return 'LogicItem';
118
+ }
116
119
 
117
120
  static from(source: any, parentNode?: any, parentKey?: string): LogicItem {
118
121
  return super.from(source, parentNode, parentKey) as LogicItem;
@@ -165,10 +168,6 @@ export class LogicItem extends BaseNode {
165
168
  });
166
169
  }
167
170
 
168
-
169
-
170
-
171
-
172
171
  //================================================================================
173
172
  // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
174
173
  // 自动生成的代码已结束。下面可以手动编写。
@@ -166,6 +166,9 @@ export class Logic extends BaseNode {
166
166
  super(source);
167
167
  super.subConstructor(source);
168
168
  }
169
+ getClassName() {
170
+ return 'Logic';
171
+ }
169
172
 
170
173
  static from(source: any, parentNode?: any, parentKey?: string): Logic {
171
174
  return super.from(source, parentNode, parentKey) as Logic;
@@ -246,7 +249,7 @@ export class Logic extends BaseNode {
246
249
  });
247
250
  }
248
251
 
249
- getTypeParamExistingNames(excludedList: Array<TypeParam> = []) {
252
+ getTypeParamExistingNames(excludedList: Array<TypeParam> = []) {
250
253
  const excludedSet = new Set(excludedList);
251
254
  return ((this.typeParams as TypeParam[]) || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
252
255
  }
@@ -387,6 +390,7 @@ export class Logic extends BaseNode {
387
390
  return node;
388
391
  }
389
392
 
393
+
390
394
  getParamUniqueName(name = 'param1') {
391
395
  return utils.unique(name, this.getVarExistingNames(), undefined, false);
392
396
  }
@@ -524,6 +528,7 @@ export class Logic extends BaseNode {
524
528
  return node;
525
529
  }
526
530
 
531
+
527
532
  getReturnUniqueName(name = 'result') {
528
533
  return utils.unique(name, this.getVarExistingNames(), undefined, false);
529
534
  }
@@ -661,6 +666,7 @@ export class Logic extends BaseNode {
661
666
  return node;
662
667
  }
663
668
 
669
+
664
670
  getVariableUniqueName(name = 'variable1') {
665
671
  return utils.unique(name, this.getVarExistingNames(), undefined, false);
666
672
  }
@@ -798,6 +804,11 @@ export class Logic extends BaseNode {
798
804
  return node;
799
805
  }
800
806
 
807
+
808
+
809
+
810
+
811
+
801
812
  /**
802
813
  * 插入逻辑项
803
814
  * @internal
@@ -830,6 +841,8 @@ export class Logic extends BaseNode {
830
841
  return logicItem;
831
842
  }
832
843
 
844
+
845
+
833
846
  /**
834
847
  * 插入逻辑项
835
848
  * @param logicItemOptions 逻辑项参数
@@ -852,6 +865,8 @@ export class Logic extends BaseNode {
852
865
  return node;
853
866
  }
854
867
 
868
+
869
+
855
870
  /**
856
871
  * 添加逻辑项
857
872
  * @internal
@@ -871,6 +886,8 @@ export class Logic extends BaseNode {
871
886
  return this._insertItemInBodyAt(options as any, index);
872
887
  }
873
888
 
889
+
890
+
874
891
  /**
875
892
  * 添加逻辑项
876
893
  * @param logicItemOptions 逻辑项参数
@@ -894,6 +911,8 @@ export class Logic extends BaseNode {
894
911
  return node;
895
912
  }
896
913
 
914
+
915
+
897
916
  /**
898
917
  * 插入逻辑项
899
918
  * @internal
@@ -926,6 +945,8 @@ export class Logic extends BaseNode {
926
945
  return logicItem;
927
946
  }
928
947
 
948
+
949
+
929
950
  /**
930
951
  * 插入逻辑项
931
952
  * @param logicItemOptions 逻辑项参数
@@ -948,6 +969,8 @@ export class Logic extends BaseNode {
948
969
  return node;
949
970
  }
950
971
 
972
+
973
+
951
974
  /**
952
975
  * 添加逻辑项
953
976
  * @internal
@@ -967,6 +990,8 @@ export class Logic extends BaseNode {
967
990
  return this._insertItemInPlaygroundAt(options as any, index);
968
991
  }
969
992
 
993
+
994
+
970
995
  /**
971
996
  * 添加逻辑项
972
997
  * @param logicItemOptions 逻辑项参数
@@ -990,6 +1015,9 @@ export class Logic extends BaseNode {
990
1015
  return node;
991
1016
  }
992
1017
 
1018
+
1019
+
1020
+
993
1021
  /**
994
1022
  * 删除事务
995
1023
  * @param name 事务名称
@@ -1038,6 +1066,8 @@ export class Logic extends BaseNode {
1038
1066
  return params;
1039
1067
  }
1040
1068
 
1069
+
1070
+
1041
1071
  /**
1042
1072
  * 删除类型参数
1043
1073
  * @param name 类型参数名称
@@ -1086,6 +1116,8 @@ export class Logic extends BaseNode {
1086
1116
  return params;
1087
1117
  }
1088
1118
 
1119
+
1120
+
1089
1121
  /**
1090
1122
  * 删除输入参数
1091
1123
  * @param name 输入参数名称
@@ -1134,6 +1166,8 @@ export class Logic extends BaseNode {
1134
1166
  return params;
1135
1167
  }
1136
1168
 
1169
+
1170
+
1137
1171
  /**
1138
1172
  * 删除输出参数
1139
1173
  * @param name 输出参数名称
@@ -1182,6 +1216,8 @@ export class Logic extends BaseNode {
1182
1216
  return params;
1183
1217
  }
1184
1218
 
1219
+
1220
+
1185
1221
  /**
1186
1222
  * 删除变量
1187
1223
  * @param name 变量名称
@@ -1230,6 +1266,8 @@ export class Logic extends BaseNode {
1230
1266
  return params;
1231
1267
  }
1232
1268
 
1269
+
1270
+
1233
1271
  /**
1234
1272
  * 删除逻辑项
1235
1273
  * @param logicItem 已有的逻辑项实例
@@ -1237,10 +1275,12 @@ export class Logic extends BaseNode {
1237
1275
  removeItemInBody(logicItem: LogicItem): void;
1238
1276
 
1239
1277
  removeItemInBody(options: LogicItem) {
1240
- const logicItem: LogicItem = options;
1278
+ let logicItem: LogicItem = options;
1241
1279
  return logicItem.delete();
1242
1280
  }
1243
1281
 
1282
+
1283
+
1244
1284
  /**
1245
1285
  * 删除逻辑项
1246
1286
  * @param logicItem 已有的逻辑项实例
@@ -1248,7 +1288,7 @@ export class Logic extends BaseNode {
1248
1288
  removeItemInPlayground(logicItem: LogicItem): void;
1249
1289
 
1250
1290
  removeItemInPlayground(options: LogicItem) {
1251
- const logicItem: LogicItem = options;
1291
+ let logicItem: LogicItem = options;
1252
1292
  return logicItem.delete();
1253
1293
  }
1254
1294
 
@@ -1648,14 +1688,12 @@ export class Logic extends BaseNode {
1648
1688
  Promise.all(needGetSourceMapOqlList).then(() => {
1649
1689
  // 触发一下更新重新生成代码
1650
1690
  (this.app as any)?.naslServer?.embeddedTSEmitter.emit('change', {
1651
- value: [
1652
- {
1653
- originEvent: {
1654
- action: 'update',
1655
- target: this,
1656
- },
1691
+ value: [{
1692
+ originEvent: {
1693
+ action: 'update',
1694
+ target: this,
1657
1695
  },
1658
- ],
1696
+ }],
1659
1697
  });
1660
1698
  });
1661
1699
  }
@@ -1667,13 +1705,11 @@ export class Logic extends BaseNode {
1667
1705
  code += '{\n';
1668
1706
 
1669
1707
  // 用于虚拟节点的查找引用
1670
- this.virtualParams
1671
- && Array.isArray(this.virtualParams)
1672
- && this.virtualParams.forEach((param) => {
1673
- code += indent((state?.tabSize || 0) + 1);
1674
- code += param.toEmbeddedNameTS(shiftState(state, code, { inline: true }));
1675
- code += '\n';
1676
- });
1708
+ this.virtualParams && Array.isArray(this.virtualParams) && this.virtualParams.forEach((param) => {
1709
+ code += indent((state?.tabSize || 0) + 1);
1710
+ code += param.toEmbeddedNameTS(shiftState(state, code, { inline: true }));
1711
+ code += '\n';
1712
+ });
1677
1713
 
1678
1714
  this.variables.forEach((variable) => {
1679
1715
  if (!advanceMap.get(variable)) {
@@ -1697,12 +1733,12 @@ export class Logic extends BaseNode {
1697
1733
  code += node.toEmbeddedTS(shiftState(state, code, { inline: true }));
1698
1734
  if (assignment instanceof BatchAssignment) {
1699
1735
  assignment.assignmentLines.forEach(({ leftIndex, rightIndex }) => {
1700
- const leftCode
1701
- = leftIndex.length === 1 ? assignment.left.expression.toEmbeddedTS(shiftState(state, code, { inline: true })) : assignment.left.members[leftIndex[1]]?.toEmbeddedTS(shiftState(state, code, { inline: true }));
1736
+ const leftCode = leftIndex.length === 1 ? assignment.left.expression.toEmbeddedTS(shiftState(state, code, { inline: true })) : assignment.left.members[leftIndex[1]]?.toEmbeddedTS(shiftState(state, code, { inline: true }));
1702
1737
  if (leftCode === node.name) {
1703
1738
  const rightNode: any = rightIndex.length === 1 ? assignment.rights[rightIndex[0]]?.expression : assignment.rights[rightIndex[0]]?.members[rightIndex[1]];
1704
1739
  // 当右边有明确类型时,直接使用其类型。旧版本数据查询不能直接使用其 typeAnnotation
1705
- if (rightNode?.typeAnnotation && !(rightNode instanceof CallQueryComponent && rightNode.ideVersion !== '2.11')) {
1740
+ if (rightNode?.typeAnnotation
1741
+ && !(rightNode instanceof CallQueryComponent && rightNode.ideVersion !== '2.11')) {
1706
1742
  code += ': ';
1707
1743
  code += rightNode.typeAnnotation?.toEmbeddedTS(shiftState(state, code, { inline: true })) || 'null';
1708
1744
  } else {
@@ -1723,7 +1759,8 @@ export class Logic extends BaseNode {
1723
1759
  } else {
1724
1760
  const rightNode: any = assignment.right;
1725
1761
  // 当右边有明确类型时,直接使用其类型。旧版本数据查询不能直接使用其 typeAnnotation
1726
- if (rightNode?.typeAnnotation && !(rightNode instanceof CallQueryComponent && rightNode.ideVersion !== '2.11')) {
1762
+ if (rightNode?.typeAnnotation
1763
+ && !(rightNode instanceof CallQueryComponent && rightNode.ideVersion !== '2.11')) {
1727
1764
  code += ': ';
1728
1765
  code += rightNode.typeAnnotation?.toEmbeddedTS(shiftState(state, code, { inline: true })) || 'null';
1729
1766
  } else {
@@ -1733,7 +1770,7 @@ export class Logic extends BaseNode {
1733
1770
  if (rightNode && rightNode instanceof Identifier && rightNode.namespace && rightNode.namespace.endsWith('enums')) {
1734
1771
  rightCode += 'new ';
1735
1772
  }
1736
- rightCode += rightNode && rightNode.toEmbeddedTS ? rightNode.toEmbeddedTS(shiftState(state, code, { inline: true })) : '__RIGHT__';
1773
+ rightCode += (rightNode && rightNode.toEmbeddedTS) ? rightNode.toEmbeddedTS(shiftState(state, code, { inline: true })) : '__RIGHT__';
1737
1774
  code += this.getRightCode(rightCode, assignment, rightNode);
1738
1775
  }
1739
1776
  }
@@ -1834,7 +1871,7 @@ export class Logic extends BaseNode {
1834
1871
  code = this.handleReplaceCode(code, item.name, eachTSCode === '__IDENTIFIER__' ? eachTSCode : `${eachTSCode}.__get(0)`);
1835
1872
  }
1836
1873
  if (code.includes(index.name))
1837
- code = this.handleReplaceCode(code, index.name, 'new nasl.core.Integer(0)');
1874
+ code = this.handleReplaceCode(code, index.name, 'new nasl.core.Long(0)');
1838
1875
 
1839
1876
  const parentForEachStatement = forEachStatement.getAncestor('ForEachStatement') as ForEachStatement;
1840
1877
  if (parentForEachStatement) {
@@ -1878,10 +1915,7 @@ export class Logic extends BaseNode {
1878
1915
  arr.push(parentName);
1879
1916
  }
1880
1917
  let namespace = arr.join('.');
1881
- if (
1882
- !['nasl.ui', 'nasl.utils', 'nasl.util', 'nasl.browser', 'nasl.auth', 'nasl.configuration', 'nasl.process', 'nasl.logging', 'nasl.io'].includes(namespace)
1883
- && !namespace.includes('.logics')
1884
- ) {
1918
+ if (!['nasl.ui', 'nasl.utils', 'nasl.util', 'nasl.browser', 'nasl.auth', 'nasl.configuration', 'nasl.process', 'nasl.logging', 'nasl.io'].includes(namespace) && !namespace.includes('.logics')) {
1885
1919
  namespace = `${namespace}.logics`;
1886
1920
  }
1887
1921
  return namespace;
@@ -1898,10 +1932,7 @@ export class Logic extends BaseNode {
1898
1932
  arr.push(parentName);
1899
1933
  }
1900
1934
  let namespace = arr.join('.');
1901
- if (
1902
- !['nasl.ui', 'nasl.utils', 'nasl.util', 'nasl.browser', 'nasl.auth', 'nasl.configuration', 'nasl.process', 'nasl.logging', 'nasl.io'].includes(namespace)
1903
- && !namespace.includes('.logics')
1904
- ) {
1935
+ if (!['nasl.ui', 'nasl.utils', 'nasl.util', 'nasl.browser', 'nasl.auth', 'nasl.configuration', 'nasl.process', 'nasl.logging', 'nasl.io'].includes(namespace) && !namespace.includes('.logics')) {
1905
1936
  namespace = `${namespace}.logics`;
1906
1937
  }
1907
1938
  return namespace;
@@ -2044,9 +2075,55 @@ export class Logic extends BaseNode {
2044
2075
  // 虚拟输入参数列表
2045
2076
  virtualParams: Array<Param> = [];
2046
2077
 
2047
- get getLogicBelongTo() {
2048
- const [, belongTo] = this.calleewholeKey.split('.');
2049
- return belongTo;
2078
+ /* 零时用 需要删除*/
2079
+ addParamsFunction() {
2080
+ this.addParam({
2081
+ name: 'param5',
2082
+ typeAnnotation: TypeAnnotation.from({
2083
+ typeKind: 'function',
2084
+ typeName: 'String',
2085
+ typeNamespace: 'nasl.core',
2086
+ returnType: [TypeAnnotation.from({
2087
+ typeKind: 'primitive',
2088
+ typeName: 'Boolean',
2089
+ typeNamespace: 'nasl.core',
2090
+ })],
2091
+ typeArguments: [
2092
+ TypeAnnotation.from({
2093
+ typeKind: 'primitive',
2094
+ typeName: 'String',
2095
+ typeNamespace: 'nasl.core',
2096
+ }),
2097
+ TypeAnnotation.from({
2098
+ typeKind: 'primitive',
2099
+ typeName: 'Boolean',
2100
+ typeNamespace: 'nasl.core',
2101
+ }),
2102
+ ],
2103
+ }),
2104
+
2105
+ });
2106
+ }
2107
+
2108
+ // 校验logic的返回值是不是有error类型
2109
+ static checkLogicReturnTypeHasError(logic: Logic) {
2110
+ let findHasError = false;
2111
+ if (!logic) {
2112
+ return findHasError;
2113
+ }
2114
+ if (logic.returns?.length && logic.returns[0]?.typeAnnotation) {
2115
+ // 如果新导入的logic还有Error类型
2116
+ const logicType = logic.returns[0].typeAnnotation;
2117
+ if (logicType.typeNamespace === 'nasl.ui' && logicType.typeName === 'Error') {
2118
+ findHasError = true;
2119
+ } else if (logicType.typeNamespace === 'nasl.core' && logicType.typeKind === 'union') {
2120
+ // 如果 logic 有 returns 而且,也有typeArguments的长度
2121
+ findHasError = Boolean(logicType.typeArguments?.find((item) => (
2122
+ item?.typeNamespace === 'nasl.ui' && item?.typeName === 'Error'
2123
+ )));
2124
+ }
2125
+ }
2126
+ return findHasError;
2050
2127
  }
2051
2128
 
2052
2129
  //================================================================================
@@ -58,6 +58,9 @@ export class MatchCase extends LogicItem {
58
58
  super(source);
59
59
  super.subConstructor(source);
60
60
  }
61
+ getClassName() {
62
+ return 'MatchCase';
63
+ }
61
64
 
62
65
  static from(source: any, parentNode?: any, parentKey?: string): MatchCase {
63
66
  return super.from(source, parentNode, parentKey) as MatchCase;
@@ -59,6 +59,9 @@ export class Match extends LogicItem {
59
59
  super(source);
60
60
  super.subConstructor(source);
61
61
  }
62
+ getClassName() {
63
+ return 'Match';
64
+ }
62
65
 
63
66
  static from(source: any, parentNode?: any, parentKey?: string): Match {
64
67
  return super.from(source, parentNode, parentKey) as Match;
@@ -352,17 +355,89 @@ export class Match extends LogicItem {
352
355
 
353
356
  // 设置 expression ,如果 expression 是可枚举类型,加上默认匹配条件
354
357
  async setExpressionWitchCase(expression: LogicItem) {
358
+ const oldExpression = this.expression;
355
359
  this.app.emit('collect:start', {
356
360
  actionMsg: `修改${this?.name || this?.label || (this?.constructor as any)?.nodeTitle}`,
357
361
  });
358
362
  this.setExpression(expression);
359
363
  // expression切换并且自动生成分支
360
- await this.autoGenCases();
364
+ await this.autoGenCases(oldExpression);
361
365
  this.app.emit('collect:end');
362
366
  }
363
367
 
364
368
  // 自动生成分支
365
- async autoGenCases() {
369
+ async autoGenCases(oldExpression: LogicItem) {
370
+ const expression = this.expression;
371
+ // 没有新的expression要保留分支不去更新
372
+ if (!expression) {
373
+ return;
374
+ }
375
+ // 如果没有旧的oldExpression, 但是已有就分支了,就不去更新了
376
+ if (!oldExpression && this.cases.length) {
377
+ // 而且case的 patterns 有长度,就说明里面是有值的,就不去更新了,其余就去更新
378
+ if (this.cases.some((item) => item.patterns.length)) {
379
+ return;
380
+ }
381
+ }
382
+ // 如果新旧nasl一样,就算类型变了也不重新计算
383
+ if (JSON.stringify(oldExpression?.toJSON()) === JSON.stringify(expression?.toJSON())) {
384
+ return;
385
+ }
386
+ const oldTypeAnnotation = oldExpression?.__TypeAnnotation;
387
+ const currTypeAnnotation = await expression?.getCurrentTypeAnnotation();
388
+
389
+ // 如果nasl变了,但是新旧类型都是union就return
390
+ if (currTypeAnnotation?.typeKind === 'union' && oldTypeAnnotation?.typeKind === 'union') {
391
+ return;
392
+ }
393
+
394
+ // 如果不可枚举 变 不可枚举,都会保留分支
395
+ // 原来不是 布尔类型 也不是枚举类型, 现在 也不是布尔类型 也不是枚举类型
396
+ // 就满足了
397
+ if (expression && oldExpression && currTypeAnnotation && oldTypeAnnotation) {
398
+ const { typeName: oldTypeName, typeNamespace: oldTypeNamespace, typeKind: oldTypeKind } = oldTypeAnnotation;
399
+ const { typeName, typeNamespace, typeKind } = currTypeAnnotation;
400
+ // 类型的 name 和 namespace都有值,而且都不是 可枚举
401
+ if (oldTypeName && oldTypeNamespace && typeName && typeNamespace && oldTypeName !== 'Boolean' && !oldTypeNamespace.endsWith('enums') && oldTypeKind !== 'union' && typeName !== 'Boolean' && !typeNamespace.endsWith('enums') && typeKind !== 'union') {
402
+ return;
403
+ } else if (oldTypeName && oldTypeNamespace && oldTypeName !== 'Boolean' && !oldTypeNamespace.endsWith('enums') && oldTypeKind !== 'union' && typeKind === 'anonymousStructure') {
404
+ /**
405
+ * 新旧都是匿名数据结构
406
+ * 匿名到 可枚举 动
407
+ * 可枚举到匿名 动
408
+ * 匿名到 不可枚举 不动
409
+ * 不可枚举到匿名 不动
410
+ * 匿名到匿名 不动
411
+ * 因为不能在match上不能直接 匿名数据结构替换匿名数据结构
412
+ * 而且 匿名数据结构不能 直接换别的分支,所以下面的直留 不可枚举到匿名数据结构的情况
413
+ * */
414
+ // 不可枚举到匿名 不动
415
+ return;
416
+ } else if ((typeKind === 'anonymousStructure' && oldTypeKind === typeKind)) {
417
+ // 匿名到匿名 不动
418
+ return;
419
+ }
420
+ // else if (currTypeName && typeNamespace && currTypeName !== 'Boolean' && !typeNamespace.endsWith('enums') && oldTypeKind === 'anonymousStructure') {
421
+ // // 匿名到 不可枚举 不动
422
+ // return;
423
+ // }
424
+ }
425
+
426
+ // 修改分支
427
+ await this.changeGenCases();
428
+ }
429
+ // jflow缓存模式下的传过来参数
430
+ async autoGenCasesAST({ oldAst, cacheType }: any) {
431
+ let obj;
432
+ try {
433
+ obj = JSON.parse(oldAst);
434
+ } catch (err) {
435
+ }
436
+ const oldExpression = LogicItem.from(obj);
437
+ oldExpression.__TypeAnnotation = cacheType;
438
+ await this.autoGenCases(oldExpression);
439
+ }
440
+ async changeGenCases() {
366
441
  const expression = this.expression;
367
442
  const currTypeAnnotation = await expression?.getCurrentTypeAnnotation();
368
443
  let cases: MatchCase[] = [];
@@ -54,6 +54,9 @@ export class MemberExpression extends LogicItem {
54
54
  super(source);
55
55
  super.subConstructor(source);
56
56
  }
57
+ getClassName() {
58
+ return 'MemberExpression';
59
+ }
57
60
 
58
61
  static from(source: any, parentNode?: any, parentKey?: string): MemberExpression {
59
62
  return super.from(source, parentNode, parentKey) as MemberExpression;