@lcap/nasl 1.0.0 → 2.12.0-beta

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 (422) hide show
  1. package/out/automate/engine/index.js +39 -127
  2. package/out/automate/engine/index.js.map +1 -1
  3. package/out/automate/engine/operators.d.ts +13 -0
  4. package/out/automate/engine/operators.js +63 -0
  5. package/out/automate/engine/operators.js.map +1 -0
  6. package/out/automate/engine/uniqueName.d.ts +6 -0
  7. package/out/automate/engine/uniqueName.js +39 -0
  8. package/out/automate/engine/uniqueName.js.map +1 -0
  9. package/out/automate/engine/utils.d.ts +1 -0
  10. package/out/automate/engine/utils.js +105 -67
  11. package/out/automate/engine/utils.js.map +1 -1
  12. package/out/common/BaseNode.d.ts +1 -1
  13. package/out/common/BaseNode.js +13 -3
  14. package/out/common/BaseNode.js.map +1 -1
  15. package/out/concepts/App__.d.ts +52 -49
  16. package/out/concepts/App__.js +95 -60
  17. package/out/concepts/App__.js.map +1 -1
  18. package/out/concepts/Argument__.js +1 -1
  19. package/out/concepts/Argument__.js.map +1 -1
  20. package/out/concepts/Assignee__.d.ts +11 -0
  21. package/out/concepts/Assignee__.js +36 -2
  22. package/out/concepts/Assignee__.js.map +1 -1
  23. package/out/concepts/Assignment__.js +1 -1
  24. package/out/concepts/Assignment__.js.map +1 -1
  25. package/out/concepts/Attribute__.js +1 -1
  26. package/out/concepts/Attribute__.js.map +1 -1
  27. package/out/concepts/BinaryExpression__.js +1 -1
  28. package/out/concepts/BinaryExpression__.js.map +1 -1
  29. package/out/concepts/BindAttribute__.js +4 -4
  30. package/out/concepts/BindAttribute__.js.map +1 -1
  31. package/out/concepts/BindDirective__.js +2 -2
  32. package/out/concepts/BindDirective__.js.map +1 -1
  33. package/out/concepts/BindEvent__.js +11 -6
  34. package/out/concepts/BindEvent__.js.map +1 -1
  35. package/out/concepts/BooleanLiteral__.js +1 -1
  36. package/out/concepts/BooleanLiteral__.js.map +1 -1
  37. package/out/concepts/CallFunction__.js +25 -5
  38. package/out/concepts/CallFunction__.js.map +1 -1
  39. package/out/concepts/CallInterface__.js +1 -1
  40. package/out/concepts/CallInterface__.js.map +1 -1
  41. package/out/concepts/CallLogic__.js +24 -22
  42. package/out/concepts/CallLogic__.js.map +1 -1
  43. package/out/concepts/CallQueryComponent__.d.ts +35 -5
  44. package/out/concepts/CallQueryComponent__.js +344 -99
  45. package/out/concepts/CallQueryComponent__.js.map +1 -1
  46. package/out/concepts/Comment__.js +2 -2
  47. package/out/concepts/Comment__.js.map +1 -1
  48. package/out/concepts/CompletionProperty__.js +1 -1
  49. package/out/concepts/CompletionProperty__.js.map +1 -1
  50. package/out/concepts/ConfigGroup__.d.ts +1 -0
  51. package/out/concepts/ConfigGroup__.js +9 -2
  52. package/out/concepts/ConfigGroup__.js.map +1 -1
  53. package/out/concepts/ConfigPropertyValue__.js +1 -1
  54. package/out/concepts/ConfigPropertyValue__.js.map +1 -1
  55. package/out/concepts/ConfigProperty__.d.ts +1 -0
  56. package/out/concepts/ConfigProperty__.js +5 -2
  57. package/out/concepts/ConfigProperty__.js.map +1 -1
  58. package/out/concepts/Configuration__.d.ts +1 -0
  59. package/out/concepts/Configuration__.js +5 -2
  60. package/out/concepts/Configuration__.js.map +1 -1
  61. package/out/concepts/Constant__.js +7 -7
  62. package/out/concepts/Constant__.js.map +1 -1
  63. package/out/concepts/DataElement__.js +1 -1
  64. package/out/concepts/DataElement__.js.map +1 -1
  65. package/out/concepts/DataSource__.d.ts +143 -0
  66. package/out/concepts/DataSource__.js +316 -0
  67. package/out/concepts/DataSource__.js.map +1 -0
  68. package/out/concepts/Destination__.js +26 -9
  69. package/out/concepts/Destination__.js.map +1 -1
  70. package/out/concepts/End__.js +3 -3
  71. package/out/concepts/End__.js.map +1 -1
  72. package/out/concepts/EntityIndex__.d.ts +5 -0
  73. package/out/concepts/EntityIndex__.js +11 -3
  74. package/out/concepts/EntityIndex__.js.map +1 -1
  75. package/out/concepts/EntityProperty__.d.ts +9 -0
  76. package/out/concepts/EntityProperty__.js +23 -8
  77. package/out/concepts/EntityProperty__.js.map +1 -1
  78. package/out/concepts/Entity__.d.ts +6 -3
  79. package/out/concepts/Entity__.js +28 -24
  80. package/out/concepts/Entity__.js.map +1 -1
  81. package/out/concepts/EnumItem__.js +1 -1
  82. package/out/concepts/EnumItem__.js.map +1 -1
  83. package/out/concepts/Enum__.d.ts +1 -0
  84. package/out/concepts/Enum__.js +15 -5
  85. package/out/concepts/Enum__.js.map +1 -1
  86. package/out/concepts/Event__.js +2 -2
  87. package/out/concepts/Event__.js.map +1 -1
  88. package/out/concepts/ForEachStatement__.d.ts +1 -1
  89. package/out/concepts/ForEachStatement__.js +5 -5
  90. package/out/concepts/ForEachStatement__.js.map +1 -1
  91. package/out/concepts/Function__.d.ts +18 -0
  92. package/out/concepts/Function__.js +100 -5
  93. package/out/concepts/Function__.js.map +1 -1
  94. package/out/concepts/Identifier__.js +2 -12
  95. package/out/concepts/Identifier__.js.map +1 -1
  96. package/out/concepts/IfStatement__.js +9 -9
  97. package/out/concepts/IfStatement__.js.map +1 -1
  98. package/out/concepts/InterfaceParam__.js +10 -5
  99. package/out/concepts/InterfaceParam__.js.map +1 -1
  100. package/out/concepts/Interface__.js +21 -14
  101. package/out/concepts/Interface__.js.map +1 -1
  102. package/out/concepts/JSBlock__.js +1 -1
  103. package/out/concepts/JSBlock__.js.map +1 -1
  104. package/out/concepts/LogicItem__.js +1 -1
  105. package/out/concepts/LogicItem__.js.map +1 -1
  106. package/out/concepts/Logic__.d.ts +4 -0
  107. package/out/concepts/Logic__.js +59 -46
  108. package/out/concepts/Logic__.js.map +1 -1
  109. package/out/concepts/MemberExpression__.js +1 -2
  110. package/out/concepts/MemberExpression__.js.map +1 -1
  111. package/out/concepts/Module__.d.ts +1 -85
  112. package/out/concepts/Module__.js +13 -114
  113. package/out/concepts/Module__.js.map +1 -1
  114. package/out/concepts/Namespace__.d.ts +0 -86
  115. package/out/concepts/Namespace__.js +12 -119
  116. package/out/concepts/Namespace__.js.map +1 -1
  117. package/out/concepts/NullLiteral__.js +1 -1
  118. package/out/concepts/NullLiteral__.js.map +1 -1
  119. package/out/concepts/NumericLiteral__.js +1 -1
  120. package/out/concepts/NumericLiteral__.js.map +1 -1
  121. package/out/concepts/Param__.d.ts +3 -2
  122. package/out/concepts/Param__.js +15 -8
  123. package/out/concepts/Param__.js.map +1 -1
  124. package/out/concepts/Point__.js +1 -1
  125. package/out/concepts/Point__.js.map +1 -1
  126. package/out/concepts/ProcessComponent__.js +3 -3
  127. package/out/concepts/ProcessComponent__.js.map +1 -1
  128. package/out/concepts/ProcessElement__.js +39 -18
  129. package/out/concepts/ProcessElement__.js.map +1 -1
  130. package/out/concepts/ProcessOutcome__.js +1 -1
  131. package/out/concepts/ProcessOutcome__.js.map +1 -1
  132. package/out/concepts/Process__.js +21 -14
  133. package/out/concepts/Process__.js.map +1 -1
  134. package/out/concepts/QueryAggregateExpression__.js +2 -2
  135. package/out/concepts/QueryAggregateExpression__.js.map +1 -1
  136. package/out/concepts/QueryFieldExpression__.d.ts +1 -0
  137. package/out/concepts/QueryFieldExpression__.js +12 -2
  138. package/out/concepts/QueryFieldExpression__.js.map +1 -1
  139. package/out/concepts/QueryFromExpression__.d.ts +4 -0
  140. package/out/concepts/QueryFromExpression__.js +14 -3
  141. package/out/concepts/QueryFromExpression__.js.map +1 -1
  142. package/out/concepts/QueryGroupByExpression__.d.ts +3 -0
  143. package/out/concepts/QueryGroupByExpression__.js +21 -1
  144. package/out/concepts/QueryGroupByExpression__.js.map +1 -1
  145. package/out/concepts/QueryJoinExpression__.d.ts +4 -0
  146. package/out/concepts/QueryJoinExpression__.js +16 -5
  147. package/out/concepts/QueryJoinExpression__.js.map +1 -1
  148. package/out/concepts/QueryLimitExpression__.js.map +1 -1
  149. package/out/concepts/QueryOrderByExpression__.js +1 -1
  150. package/out/concepts/QueryOrderByExpression__.js.map +1 -1
  151. package/out/concepts/QuerySelectExpression__.js +2 -2
  152. package/out/concepts/QuerySelectExpression__.js.map +1 -1
  153. package/out/concepts/Rect__.js +1 -1
  154. package/out/concepts/Rect__.js.map +1 -1
  155. package/out/concepts/Return__.d.ts +1 -1
  156. package/out/concepts/Return__.js +16 -11
  157. package/out/concepts/Return__.js.map +1 -1
  158. package/out/concepts/Role__.js +11 -4
  159. package/out/concepts/Role__.js.map +1 -1
  160. package/out/concepts/Slot__.js +1 -1
  161. package/out/concepts/Slot__.js.map +1 -1
  162. package/out/concepts/SqlQueryComponent__.d.ts +10 -0
  163. package/out/concepts/SqlQueryComponent__.js +32 -5
  164. package/out/concepts/SqlQueryComponent__.js.map +1 -1
  165. package/out/concepts/Start__.js +1 -1
  166. package/out/concepts/Start__.js.map +1 -1
  167. package/out/concepts/StringLiteral__.js +2 -9
  168. package/out/concepts/StringLiteral__.js.map +1 -1
  169. package/out/concepts/StructureProperty__.js +6 -6
  170. package/out/concepts/StructureProperty__.js.map +1 -1
  171. package/out/concepts/Structure__.js +22 -15
  172. package/out/concepts/Structure__.js.map +1 -1
  173. package/out/concepts/SwitchCase__.js +6 -6
  174. package/out/concepts/SwitchCase__.js.map +1 -1
  175. package/out/concepts/SwitchStatement__.js +1 -1
  176. package/out/concepts/SwitchStatement__.js.map +1 -1
  177. package/out/concepts/Theme__.js +1 -1
  178. package/out/concepts/Theme__.js.map +1 -1
  179. package/out/concepts/Transactional__.js +1 -1
  180. package/out/concepts/Transactional__.js.map +1 -1
  181. package/out/concepts/TypeAnnotation__.d.ts +8 -0
  182. package/out/concepts/TypeAnnotation__.js +56 -6
  183. package/out/concepts/TypeAnnotation__.js.map +1 -1
  184. package/out/concepts/TypeParam__.js +1 -1
  185. package/out/concepts/TypeParam__.js.map +1 -1
  186. package/out/concepts/UnaryExpression__.js +1 -1
  187. package/out/concepts/UnaryExpression__.js.map +1 -1
  188. package/out/concepts/Unparsed__.js +1 -1
  189. package/out/concepts/Unparsed__.js.map +1 -1
  190. package/out/concepts/UseComponent__.js +1 -1
  191. package/out/concepts/UseComponent__.js.map +1 -1
  192. package/out/concepts/ValidationRule__.js +1 -1
  193. package/out/concepts/ValidationRule__.js.map +1 -1
  194. package/out/concepts/Variable__.d.ts +1 -1
  195. package/out/concepts/Variable__.js +16 -11
  196. package/out/concepts/Variable__.js.map +1 -1
  197. package/out/concepts/ViewComponent__.js +6 -6
  198. package/out/concepts/ViewComponent__.js.map +1 -1
  199. package/out/concepts/ViewElement__.js +21 -21
  200. package/out/concepts/ViewElement__.js.map +1 -1
  201. package/out/concepts/View__.d.ts +3 -1
  202. package/out/concepts/View__.js +53 -32
  203. package/out/concepts/View__.js.map +1 -1
  204. package/out/concepts/WhileStatement__.js +5 -5
  205. package/out/concepts/WhileStatement__.js.map +1 -1
  206. package/out/concepts/basics/stdlib/nasl.configuration.js +1 -1
  207. package/out/concepts/basics/stdlib/nasl.configuration.js.map +1 -1
  208. package/out/concepts/basics/stdlib/nasl.interface.d.ts +2 -0
  209. package/out/concepts/basics/stdlib/nasl.interface.js +4 -4
  210. package/out/concepts/basics/stdlib/nasl.interface.js.map +1 -1
  211. package/out/concepts/basics/stdlib/nasl.util.js +268 -6
  212. package/out/concepts/basics/stdlib/nasl.util.js.map +1 -1
  213. package/out/concepts/basics/stdlib/reference2TypeAnnotationList.js +1 -1
  214. package/out/concepts/basics/stdlib/reference2TypeAnnotationList.js.map +1 -1
  215. package/out/concepts/basics/types/index.d.ts +1 -0
  216. package/out/concepts/basics/types/index.js +3 -1
  217. package/out/concepts/basics/types/index.js.map +1 -1
  218. package/out/concepts/index__.d.ts +1 -0
  219. package/out/concepts/index__.js +1 -0
  220. package/out/concepts/index__.js.map +1 -1
  221. package/out/enums/KEYWORDS.js +0 -9
  222. package/out/enums/KEYWORDS.js.map +1 -1
  223. package/out/generator/genBundleFiles.js +8 -3
  224. package/out/generator/genBundleFiles.js.map +1 -1
  225. package/out/generator/genMetaData.js +13 -12
  226. package/out/generator/genMetaData.js.map +1 -1
  227. package/out/manager/diagnostic.d.ts +1 -1
  228. package/out/server/createUiTs.js +1 -0
  229. package/out/server/createUiTs.js.map +1 -1
  230. package/out/server/extendBaseNode.d.ts +1 -0
  231. package/out/server/extendBaseNode.js +323 -0
  232. package/out/server/extendBaseNode.js.map +1 -0
  233. package/out/server/getLogics.js +31 -2
  234. package/out/server/getLogics.js.map +1 -1
  235. package/out/server/getMemberIdentifier.js +47 -2
  236. package/out/server/getMemberIdentifier.js.map +1 -1
  237. package/out/server/getProcesses.d.ts +7 -2
  238. package/out/server/getProcesses.js +220 -20
  239. package/out/server/getProcesses.js.map +1 -1
  240. package/out/server/getScope.d.ts +3 -1
  241. package/out/server/getScope.js +30 -14
  242. package/out/server/getScope.js.map +1 -1
  243. package/out/server/index.d.ts +1 -0
  244. package/out/server/index.js +1 -0
  245. package/out/server/index.js.map +1 -1
  246. package/out/server/naslServer.d.ts +7 -5
  247. package/out/server/naslServer.js +249 -372
  248. package/out/server/naslServer.js.map +1 -1
  249. package/out/server/process2LogicNamespace.js +10 -1
  250. package/out/server/process2LogicNamespace.js.map +1 -1
  251. package/out/server/translator.d.ts +1 -1
  252. package/out/server/translator.js +22 -2
  253. package/out/server/translator.js.map +1 -1
  254. package/out/service/storage/init.js +32 -11
  255. package/out/service/storage/init.js.map +1 -1
  256. package/out/templator/genCreateBlock.js +15 -11
  257. package/out/templator/genCreateBlock.js.map +1 -1
  258. package/out/templator/genCurdEditMultipleKeyBlock.js +15 -12
  259. package/out/templator/genCurdEditMultipleKeyBlock.js.map +1 -1
  260. package/out/templator/genCurdMultipleKeyBlock.js +25 -21
  261. package/out/templator/genCurdMultipleKeyBlock.js.map +1 -1
  262. package/out/templator/genEditTableBlock.js +12 -12
  263. package/out/templator/genEditTableBlock.js.map +1 -1
  264. package/out/templator/genGetBlock.js +1 -1
  265. package/out/templator/genGetBlock.js.map +1 -1
  266. package/out/templator/genGridViewBlock.js +21 -20
  267. package/out/templator/genGridViewBlock.js.map +1 -1
  268. package/out/templator/genListViewBlock.js +6 -3
  269. package/out/templator/genListViewBlock.js.map +1 -1
  270. package/out/templator/genQueryComponent.js +11 -8
  271. package/out/templator/genQueryComponent.js.map +1 -1
  272. package/out/templator/genSelectBlock.js +13 -22
  273. package/out/templator/genSelectBlock.js.map +1 -1
  274. package/out/templator/genTableBlock.js +17 -15
  275. package/out/templator/genTableBlock.js.map +1 -1
  276. package/out/templator/genUpdateBlock.js +16 -12
  277. package/out/templator/genUpdateBlock.js.map +1 -1
  278. package/out/templator/utils.d.ts +5 -3
  279. package/out/templator/utils.js +2 -1
  280. package/out/templator/utils.js.map +1 -1
  281. package/out/test/integration/connect-file.js +6 -6
  282. package/out/test/integration/connect-file.js.map +1 -1
  283. package/out/translator/index.js +1 -1
  284. package/out/translator/index.js.map +1 -1
  285. package/out/utils/index.d.ts +4 -0
  286. package/out/utils/index.js +38 -2
  287. package/out/utils/index.js.map +1 -1
  288. package/out/utils/string.d.ts +1 -1
  289. package/out/utils/string.js +38 -9
  290. package/out/utils/string.js.map +1 -1
  291. package/package.json +1 -2
  292. package/src/automate/engine/index.js +38 -128
  293. package/src/automate/engine/operators.js +63 -0
  294. package/src/automate/engine/uniqueName.js +36 -0
  295. package/src/automate/engine/utils.js +108 -69
  296. package/src/common/BaseNode.ts +14 -3
  297. package/src/concepts/App__.ts +138 -101
  298. package/src/concepts/Argument__.ts +1 -1
  299. package/src/concepts/Assignee__.ts +32 -2
  300. package/src/concepts/Assignment__.ts +1 -1
  301. package/src/concepts/Attribute__.ts +1 -1
  302. package/src/concepts/BinaryExpression__.ts +1 -1
  303. package/src/concepts/BindAttribute__.ts +4 -4
  304. package/src/concepts/BindDirective__.ts +2 -2
  305. package/src/concepts/BindEvent__.ts +10 -6
  306. package/src/concepts/BooleanLiteral__.ts +1 -1
  307. package/src/concepts/CallFunction__.ts +36 -18
  308. package/src/concepts/CallInterface__.ts +1 -1
  309. package/src/concepts/CallLogic__.ts +55 -24
  310. package/src/concepts/CallQueryComponent__.ts +357 -134
  311. package/src/concepts/Comment__.ts +2 -2
  312. package/src/concepts/CompletionProperty__.ts +1 -1
  313. package/src/concepts/ConfigGroup__.ts +5 -3
  314. package/src/concepts/ConfigPropertyValue__.ts +1 -1
  315. package/src/concepts/ConfigProperty__.ts +6 -2
  316. package/src/concepts/Configuration__.ts +5 -2
  317. package/src/concepts/Constant__.ts +7 -7
  318. package/src/concepts/DataElement__.ts +1 -1
  319. package/src/concepts/DataSource__.ts +389 -0
  320. package/src/concepts/Destination__.ts +28 -10
  321. package/src/concepts/End__.ts +3 -3
  322. package/src/concepts/EntityIndex__.ts +12 -3
  323. package/src/concepts/EntityProperty__.ts +24 -8
  324. package/src/concepts/Entity__.ts +39 -27
  325. package/src/concepts/EnumItem__.ts +1 -1
  326. package/src/concepts/Enum__.ts +16 -5
  327. package/src/concepts/Event__.ts +2 -2
  328. package/src/concepts/ForEachStatement__.ts +5 -5
  329. package/src/concepts/Function__.ts +101 -7
  330. package/src/concepts/Identifier__.ts +2 -12
  331. package/src/concepts/IfStatement__.ts +10 -10
  332. package/src/concepts/InterfaceParam__.ts +10 -5
  333. package/src/concepts/Interface__.ts +22 -14
  334. package/src/concepts/JSBlock__.ts +1 -1
  335. package/src/concepts/LogicItem__.ts +1 -1
  336. package/src/concepts/Logic__.ts +60 -43
  337. package/src/concepts/MemberExpression__.ts +1 -2
  338. package/src/concepts/Module__.ts +16 -211
  339. package/src/concepts/Namespace__.ts +12 -215
  340. package/src/concepts/NullLiteral__.ts +1 -1
  341. package/src/concepts/NumericLiteral__.ts +1 -1
  342. package/src/concepts/Param__.ts +17 -9
  343. package/src/concepts/Point__.ts +1 -1
  344. package/src/concepts/ProcessComponent__.ts +3 -3
  345. package/src/concepts/ProcessElement__.ts +43 -21
  346. package/src/concepts/ProcessOutcome__.ts +1 -1
  347. package/src/concepts/Process__.ts +21 -15
  348. package/src/concepts/QueryAggregateExpression__.ts +2 -2
  349. package/src/concepts/QueryFieldExpression__.ts +14 -2
  350. package/src/concepts/QueryFromExpression__.ts +14 -3
  351. package/src/concepts/QueryGroupByExpression__.ts +24 -1
  352. package/src/concepts/QueryJoinExpression__.ts +16 -5
  353. package/src/concepts/QueryLimitExpression__.ts +9 -0
  354. package/src/concepts/QueryOrderByExpression__.ts +1 -1
  355. package/src/concepts/QuerySelectExpression__.ts +2 -2
  356. package/src/concepts/Rect__.ts +1 -1
  357. package/src/concepts/Return__.ts +16 -11
  358. package/src/concepts/Role__.ts +11 -5
  359. package/src/concepts/Slot__.ts +1 -1
  360. package/src/concepts/SqlQueryComponent__.ts +30 -11
  361. package/src/concepts/Start__.ts +1 -1
  362. package/src/concepts/StringLiteral__.ts +2 -9
  363. package/src/concepts/StructureProperty__.ts +6 -6
  364. package/src/concepts/Structure__.ts +22 -14
  365. package/src/concepts/SwitchCase__.ts +6 -6
  366. package/src/concepts/SwitchStatement__.ts +1 -1
  367. package/src/concepts/Theme__.ts +1 -1
  368. package/src/concepts/Transactional__.ts +1 -1
  369. package/src/concepts/TypeAnnotation__.ts +55 -25
  370. package/src/concepts/TypeParam__.ts +1 -1
  371. package/src/concepts/UnaryExpression__.ts +1 -1
  372. package/src/concepts/Unparsed__.ts +1 -1
  373. package/src/concepts/UseComponent__.ts +1 -1
  374. package/src/concepts/ValidationRule__.ts +1 -1
  375. package/src/concepts/Variable__.ts +16 -11
  376. package/src/concepts/ViewComponent__.ts +6 -6
  377. package/src/concepts/ViewElement__.ts +21 -21
  378. package/src/concepts/View__.ts +54 -32
  379. package/src/concepts/WhileStatement__.ts +5 -5
  380. package/src/concepts/basics/stdlib/nasl.configuration.ts +1 -1
  381. package/src/concepts/basics/stdlib/nasl.interface.ts +1 -1
  382. package/src/concepts/basics/stdlib/nasl.util.ts +269 -6
  383. package/src/concepts/basics/stdlib/reference2TypeAnnotationList.ts +1 -1
  384. package/src/concepts/basics/types/index.ts +1 -0
  385. package/src/concepts/index__.ts +1 -0
  386. package/src/enums/KEYWORDS.ts +0 -9
  387. package/src/generator/genBundleFiles.ts +8 -3
  388. package/src/generator/genMetaData.ts +13 -13
  389. package/src/manager/diagnostic.ts +1 -1
  390. package/src/server/createUiTs.ts +1 -0
  391. package/src/server/extendBaseNode.ts +318 -0
  392. package/src/server/getLogics.ts +33 -4
  393. package/src/server/getMemberIdentifier.ts +49 -2
  394. package/src/server/getProcesses.ts +231 -21
  395. package/src/server/getScope.ts +41 -24
  396. package/src/server/index.ts +1 -0
  397. package/src/server/naslServer.ts +248 -366
  398. package/src/server/process2LogicNamespace.ts +29 -19
  399. package/src/server/translator.ts +25 -2
  400. package/src/service/storage/init.ts +32 -12
  401. package/src/templator/genCreateBlock.ts +16 -13
  402. package/src/templator/genCurdEditMultipleKeyBlock.ts +16 -13
  403. package/src/templator/genCurdMultipleKeyBlock.ts +26 -22
  404. package/src/templator/genEditTableBlock.ts +14 -13
  405. package/src/templator/genGetBlock.ts +1 -1
  406. package/src/templator/genGridViewBlock.ts +22 -21
  407. package/src/templator/genListViewBlock.ts +9 -5
  408. package/src/templator/genQueryComponent.ts +12 -9
  409. package/src/templator/genSelectBlock.ts +14 -23
  410. package/src/templator/genTableBlock.ts +18 -16
  411. package/src/templator/genUpdateBlock.ts +17 -13
  412. package/src/templator/utils.ts +5 -2
  413. package/src/test/integration/connect-file.ts +6 -6
  414. package/src/translator/index.ts +1 -1
  415. package/src/utils/index.ts +38 -1
  416. package/src/utils/string.ts +39 -9
  417. package/out/concepts/basics/stdlib/nasl.browser copy.d.ts +0 -3
  418. package/out/concepts/basics/stdlib/nasl.browser copy.js +0 -70
  419. package/out/concepts/basics/stdlib/nasl.browser copy.js.map +0 -1
  420. package/out/terms/LEVEL_NAME_MAP.d.ts +0 -26
  421. package/out/terms/LEVEL_NAME_MAP.js +0 -30
  422. package/out/terms/LEVEL_NAME_MAP.js.map +0 -1
@@ -1,5 +1,5 @@
1
1
  import Constant from '@nasl/concepts/Constant__';
2
- import { CompletionProperty, Process, ProcessElement, Namespace, Logic, TypeAnnotation, Return, Variable, StructureProperty, Param, Identifier, MemberExpression, LogicItem } from '..';
2
+ import { CompletionProperty, Process, ProcessElement, Namespace, Logic, TypeAnnotation, Return, Variable, StructureProperty, Param, Identifier, MemberExpression, LogicItem, App, BaseNode, Structure, Entity, EntityProperty } from '..';
3
3
  import { getNodeByNodeCallee } from '../automate/engine/utils';
4
4
  function alphaUpper(name: string) {
5
5
  if (!name) {
@@ -156,16 +156,25 @@ export function syncMemberExpression(elem: ProcessElement | Process, callback: (
156
156
  attr.destination.arguments.forEach((arg) => {
157
157
  travelDown(arg.expression, (node) => {
158
158
  if (node instanceof MemberExpression) {
159
- console.log('UserTask', node.getValue());
159
+ // console.log('UserTask destination', node.getValue());
160
+ callback(node);
161
+ }
162
+ });
163
+ });
164
+ }
165
+ if (attr.name === 'assignee') {
166
+ attr.assignee.dynamicUsers.forEach((dy) => {
167
+ travelDown(dy, (node) => {
168
+ if (node instanceof MemberExpression) {
169
+ // console.log('UserTask assignee', node.getValue());
160
170
  callback(node);
161
- // if(node.property.name === oldName) {}
162
171
  }
163
172
  });
164
173
  });
165
174
  }
166
175
  });
167
176
  }
168
- if (el.type === 'ExclusiveGateway') {
177
+ if (el.type === 'ExclusiveGateway' || el.type === 'AutoTask') {
169
178
  travelDown(el.logic, (node) => {
170
179
  if (node instanceof MemberExpression) {
171
180
  console.log('ExclusiveGateway', node.getValue());
@@ -175,8 +184,38 @@ export function syncMemberExpression(elem: ProcessElement | Process, callback: (
175
184
  }
176
185
  });
177
186
  }
187
+ // a.b.c => MemberExpression
188
+ export function genMemberExpression(path: string) {
189
+ const arr = path.split('.');
190
+ let m: MemberExpression;
191
+ while(arr.length) {
192
+ const ns = arr.shift();
193
+ const cv = new Identifier({ name: ns });
194
+ if (!m) {
195
+ m = new MemberExpression({
196
+ object: cv,
197
+ });
198
+ cv.parentNode = m;
199
+ } else {
200
+ m.property = cv;
201
+ if(arr.length) {
202
+ const tm = new MemberExpression({
203
+ object: m,
204
+ });
205
+ m.parentKey = 'object';
206
+ m.parentNode = tm;
207
+ cv.parentKey = 'property';
208
+ cv.parentNode = tm;
209
+ m = tm;
210
+ }
211
+ }
212
+ }
213
+
214
+ return m;
215
+ }
216
+
178
217
  // ['a','b','c'] => a.b.c
179
- export function genCompletionProperty(prefix: string[] = []):(v: Variable | Param | Return | Constant) => CompletionProperty {
218
+ export function genCompletionProperty(prefix: string[] = []):(v: Variable | Param | Return | Constant | EntityProperty| StructureProperty) => CompletionProperty {
180
219
  return (v) => {
181
220
  let m: MemberExpression;
182
221
  const p = new Identifier({ name: v.name });
@@ -238,7 +277,7 @@ export function getPreviousTask(node: ProcessElement) {
238
277
  if (visitedMap.has(processElem)) {
239
278
  return;
240
279
  }
241
- if (processElem !== node && (processElem.type === 'UserTask')) {
280
+ if (processElem !== node && (processElem.type === 'UserTask' || processElem.type === 'AutoTask')) {
242
281
  elements.push(processElem);
243
282
  }
244
283
  visitedMap.set(processElem, true);
@@ -316,21 +355,21 @@ export function getProcessVariableSuggestions(node: Logic, abandonConstant: bool
316
355
  scopeVariable.icon = processElem.type;
317
356
  processVariables.children.push(scopeVariable);
318
357
  }
319
- // if(processElem.type === 'AutoTask') {
320
- // const scopeVariable = new CompletionProperty({
321
- // name: processElem.name,
322
- // value: processElem.name,
323
- // icon: processElem.type,
324
- // noFurther: true,
325
- // children: [
326
- // ...processElem.variables.map(genCompletionProperty([process.name, processElem.name])),
327
- // ...processElem.returns.map(genCompletionProperty([process.name, processElem.name])),
328
- // ]
329
- // });
330
- // scopeVariable.isProcess = true;
331
- // scopeVariable.icon = processElem.type;
332
- // processVariables.children.push(scopeVariable);
333
- // }
358
+ if(processElem.type === 'AutoTask') {
359
+ const scopeVariable = new CompletionProperty({
360
+ name: processElem.name,
361
+ value: processElem.name,
362
+ icon: processElem.type,
363
+ noFurther: true,
364
+ children: [
365
+ ...processElem.variables.map(genCompletionProperty([process.name, processElem.name])),
366
+ ...processElem.returns.map(genCompletionProperty([process.name, processElem.name])),
367
+ ]
368
+ });
369
+ scopeVariable.isProcess = true;
370
+ scopeVariable.icon = processElem.type;
371
+ processVariables.children.push(scopeVariable);
372
+ }
334
373
  return processVariables;
335
374
  }
336
375
 
@@ -378,3 +417,174 @@ export function getProcessVaraibleSelections(node: Logic, list: VariableSuggesti
378
417
 
379
418
  list.splice(varidx, 1, data);
380
419
  }
420
+
421
+ function deduceTypeAnnotation(
422
+ app: App,
423
+ node: Variable | Param | Return | Constant | EntityProperty| StructureProperty,
424
+ typeA: TypeAnnotation,
425
+ prefix: string[],
426
+ records: BaseNode[],
427
+ ) {
428
+ const ns = typeA.typeNamespace;
429
+ const name = typeA.typeName;
430
+ const completion = genCompletionProperty(prefix)(node)
431
+ if(ns.startsWith('nasl')) {
432
+ return completion;
433
+ }
434
+ const nsPath = `${ns}.${name}`;
435
+
436
+ const typeNode = getNodeByNodeCallee(app, nsPath);
437
+ if(records.includes(typeNode)){
438
+ return null;
439
+ }
440
+ if(typeNode) {
441
+ records.push(typeNode)
442
+ const children = typeNode.properties.map((p: EntityProperty| StructureProperty) => {
443
+ return deduceTypeAnnotation(app, p, p.typeAnnotation, prefix.concat([node.name]), records.slice())
444
+ }).filter((q: CompletionProperty | null) => !!q);
445
+ completion.children = children;
446
+ completion.expanded = true;
447
+ return completion;
448
+ }
449
+ }
450
+
451
+ export function getProcessVariableSuggestionsAll(node: ProcessElement) {
452
+ const processElem = node;
453
+ const process = node.process;
454
+ const app = node.app;
455
+ const elements: ProcessElement[] = getPreviousTask(processElem);
456
+ const prevtasks = elements.map((us) => {
457
+ const cp = new CompletionProperty({
458
+ name: us.name,
459
+ value: us.name,
460
+ noFurther: true,
461
+ children: [
462
+ ...us.returns.map(node => deduceTypeAnnotation(app, node, node.typeAnnotation, [process.name, us.name], [])),
463
+ ...us.constants.map(node => deduceTypeAnnotation(app, node, node.typeAnnotation, [process.name, us.name], [])),
464
+ ],
465
+ });
466
+ cp.expanded = true;
467
+ cp.icon = us.type;
468
+ cp.isProcess = true;
469
+ return cp;
470
+ });
471
+
472
+ const processVariables = new CompletionProperty({
473
+ name: process.name,
474
+ value: process.name,
475
+ noFurther: true,
476
+ children: [
477
+ ...process.params.map(node => deduceTypeAnnotation(app, node, node.typeAnnotation, [process.name], [])),
478
+ ...process.returns.map(node => deduceTypeAnnotation(app, node, node.typeAnnotation, [process.name], [])),
479
+ ...process.constants.map(node => deduceTypeAnnotation(app, node, node.typeAnnotation, [process.name], [])),
480
+ ...prevtasks,
481
+ ],
482
+ });
483
+ processVariables.expanded = true;
484
+ processVariables.icon = 'Process';
485
+ if (processElem.type === 'ExclusiveGateway') {
486
+ const scopeVariable = new CompletionProperty({
487
+ name: processElem.name,
488
+ value: processElem.name,
489
+ icon: processElem.type,
490
+ noFurther: true,
491
+ children: processElem.variables.map(node => deduceTypeAnnotation(app, node, node.typeAnnotation, [process.name, processElem.name], [])),
492
+ });
493
+ scopeVariable.expanded = true;
494
+ scopeVariable.isProcess = true;
495
+ scopeVariable.icon = processElem.type;
496
+ processVariables.children.push(scopeVariable);
497
+ }
498
+
499
+ if (processElem.type === 'UserTask') {
500
+ const scopeVariable = new CompletionProperty({
501
+ name: processElem.name,
502
+ value: processElem.name,
503
+ icon: processElem.type,
504
+ noFurther: true,
505
+ children: processElem.constants.map(node => deduceTypeAnnotation(app, node, node.typeAnnotation, [process.name, processElem.name], [])),
506
+ });
507
+ scopeVariable.expanded = true;
508
+ scopeVariable.isProcess = true;
509
+ scopeVariable.icon = processElem.type;
510
+ processVariables.children.push(scopeVariable);
511
+ }
512
+ if(processElem.type === 'AutoTask') {
513
+ const scopeVariable = new CompletionProperty({
514
+ name: processElem.name,
515
+ value: processElem.name,
516
+ icon: processElem.type,
517
+ noFurther: true,
518
+ children: [
519
+ ...processElem.variables.map(node => deduceTypeAnnotation(app, node, node.typeAnnotation, [process.name, processElem.name], [])),
520
+ ...processElem.returns.map(node => deduceTypeAnnotation(app, node, node.typeAnnotation, [process.name, processElem.name], [])),
521
+ ]
522
+ });
523
+ scopeVariable.expanded = true;
524
+ scopeVariable.isProcess = true;
525
+ scopeVariable.icon = processElem.type;
526
+ processVariables.children.push(scopeVariable);
527
+ }
528
+ return processVariables;
529
+ }
530
+
531
+
532
+ export function getFlowAfterElements(el: ProcessElement) {
533
+ const process = el.process;
534
+ const processname = el.name;
535
+ const elems = process.elements;
536
+ const links = elems.filter(e => e.type === 'SequenceFlow' && e.sourceRef === processname);
537
+ return links;
538
+ }
539
+
540
+ export function isFromStartNode(el: ProcessElement) {
541
+ const process = el.process;
542
+ // const processname = el.name;
543
+ const elems = process.elements;
544
+ const set = new WeakSet();
545
+ const stack = [el];
546
+ while(stack.length){
547
+ let t = stack.shift();
548
+ let name = t.name;
549
+ if(t.type === 'StartNoneEvent') {
550
+ return true;
551
+ }
552
+ elems.forEach(e => {
553
+ if(e.type === 'SequenceFlow'
554
+ && e.targetRef === name
555
+ && !set.has(e)) {
556
+ set.add(e);
557
+ const sourcename = e.sourceRef;
558
+ const source = elems.find(e => e.name === sourcename);
559
+ stack.push(source);
560
+ }
561
+ });
562
+ }
563
+ return false;
564
+ }
565
+
566
+ export function findNodeAfterNodeInFlow(el: ProcessElement) {
567
+ const process = el.process;
568
+ const elems = process.elements;
569
+ const set = new WeakSet();
570
+ const nodeSet = new Set();
571
+ const stack = [el];
572
+ while(stack.length){
573
+ let t = stack.shift();
574
+ if(el !== t) {
575
+ nodeSet.add(t);
576
+ }
577
+ const name = t.name;
578
+ elems.forEach(e => {
579
+ if(e.type === 'SequenceFlow'
580
+ && e.sourceRef === name
581
+ && !set.has(e)) {
582
+ set.add(e);
583
+ const targetname = e.targetRef;
584
+ const source = elems.find(e => e.name === targetname);
585
+ stack.push(source);
586
+ }
587
+ });
588
+ }
589
+ return Array.from(nodeSet);
590
+ }
@@ -1,50 +1,67 @@
1
- import { Logic, View, Process } from "..";
1
+ import { Logic, View, Process } from '..';
2
2
 
3
3
  type wordScope = {
4
4
  Param?: string[]
5
5
  Return?: string[]
6
6
  Variable?: string[]
7
7
  Constant?: string[]
8
+ Logic?: string[]
8
9
  }
9
10
 
10
- export function getLogicScopeWords(logic: Logic): wordScope{
11
+ export function getLogicScopeWords(logic: Logic): wordScope {
11
12
  const scope: wordScope = {
12
- Param: logic.params.map(p => p.name),
13
- Return: logic.returns.map(p => p.name),
14
- Variable: logic.variables.map(p => p.name),
15
- }
13
+ Param: logic.params.map((p) => p.name),
14
+ Return: logic.returns.map((p) => p.name),
15
+ Variable: logic.variables.map((p) => p.name),
16
+ Constant: [],
17
+ Logic: []
18
+ };
16
19
  return scope;
17
20
  }
18
21
 
19
- export function getViewScopeWords(view: View): wordScope{
22
+ export function getViewScopeWords(view: View): wordScope {
20
23
  const scope: wordScope = {
21
- Param: view.params.map(p => p.name),
22
- // returns: View.returns.map(p => p.name),
23
- Variable: view.variables.map(p => p.name),
24
- }
24
+ Param: view.params.map((p) => p.name),
25
+ Variable: view.variables.map((p) => p.name),
26
+ Return: [],
27
+ Constant: [],
28
+ Logic: view.logics.map(l => l.name),
29
+ };
25
30
  return scope;
26
31
  }
27
32
 
28
- export function getProcessScopeWords(process: Process): wordScope{
33
+ export function getProcessScopeWords(process: Process): wordScope {
29
34
  const processName = process.name;
30
35
  const scope: wordScope = {
31
- Param: process.params.map(p => `${processName}.${p.name}`),
32
- Return: process.returns.map(p => `${processName}.${p.name}`),
33
- Constant: process.constants.map(p => `${processName}.${p.name}`),
36
+ Param: process.params.map((p) => `${processName}.${p.name}`),
37
+ Return: process.returns.map((p) => `${processName}.${p.name}`),
38
+ Constant: process.constants.map((p) => `${processName}.${p.name}`),
34
39
  Variable: [],
35
- }
40
+ Logic: []
41
+ };
36
42
 
37
- process.elements.forEach(el => {
43
+ process.elements.forEach((el) => {
38
44
  const elname = el.name;
39
- el.variables.forEach(v => {
40
- scope.Variable.push(`${processName}.${elname}.${v.name}`)
45
+ el.variables.forEach((v) => {
46
+ scope.Variable.push(`${processName}.${elname}.${v.name}`);
41
47
  });
42
- el.returns.forEach(v => {
43
- scope.Return.push(`${processName}.${elname}.${v.name}`)
48
+ el.returns.forEach((v) => {
49
+ scope.Return.push(`${processName}.${elname}.${v.name}`);
44
50
  });
45
- el.constants.forEach(v => {
46
- scope.Constant.push(`${processName}.${elname}.${v.name}`)
51
+ el.constants.forEach((v) => {
52
+ scope.Constant.push(`${processName}.${elname}.${v.name}`);
47
53
  });
48
- })
54
+ });
55
+ return scope;
56
+ }
57
+
58
+ export function combineScope(a: wordScope, b: wordScope) : wordScope {
59
+ const scope: wordScope = {
60
+ Param: [...a.Param, ...b.Param],
61
+ Return: [...a.Return, ...b.Return],
62
+ Constant: [...a.Constant, ...b.Constant],
63
+ Variable: [...a.Variable, ...b.Variable],
64
+ Logic: [...a.Logic, ...b.Logic],
65
+ };
49
66
  return scope;
50
67
  }
@@ -12,6 +12,7 @@ import {
12
12
  getSelectNextCompletionData,
13
13
  } from './getMemberIdentifier';
14
14
  import naslServer from './naslServer';
15
+ import './extendBaseNode';
15
16
 
16
17
  const server: any = {
17
18
  ...naslServer,