@lcap/nasl 1.0.0-alpha.8 → 1.0.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 (460) hide show
  1. package/out/automate/engine/index.d.ts +3 -0
  2. package/out/automate/engine/index.js +414 -0
  3. package/out/automate/engine/index.js.map +1 -0
  4. package/out/automate/engine/operators.d.ts +13 -0
  5. package/out/automate/engine/operators.js +63 -0
  6. package/out/automate/engine/operators.js.map +1 -0
  7. package/out/automate/engine/uniqueName.d.ts +6 -0
  8. package/out/automate/engine/uniqueName.js +39 -0
  9. package/out/automate/engine/uniqueName.js.map +1 -0
  10. package/out/automate/engine/utils.d.ts +24 -0
  11. package/out/automate/engine/utils.js +363 -0
  12. package/out/automate/engine/utils.js.map +1 -0
  13. package/out/common/BaseNode.d.ts +20 -0
  14. package/out/common/BaseNode.js +219 -81
  15. package/out/common/BaseNode.js.map +1 -1
  16. package/out/concepts/App__.d.ts +18 -1
  17. package/out/concepts/App__.js +84 -44
  18. package/out/concepts/App__.js.map +1 -1
  19. package/out/concepts/Argument__.d.ts +5 -1
  20. package/out/concepts/Argument__.js +21 -3
  21. package/out/concepts/Argument__.js.map +1 -1
  22. package/out/concepts/Assignee__.d.ts +190 -0
  23. package/out/concepts/Assignee__.js +264 -0
  24. package/out/concepts/Assignee__.js.map +1 -0
  25. package/out/concepts/Assignment__.js +5 -0
  26. package/out/concepts/Assignment__.js.map +1 -1
  27. package/out/concepts/BinaryExpression__.js +8 -7
  28. package/out/concepts/BinaryExpression__.js.map +1 -1
  29. package/out/concepts/BindAttribute__.d.ts +19 -0
  30. package/out/concepts/BindAttribute__.js +55 -10
  31. package/out/concepts/BindAttribute__.js.map +1 -1
  32. package/out/concepts/BindDirective__.js +23 -3
  33. package/out/concepts/BindDirective__.js.map +1 -1
  34. package/out/concepts/BindEvent__.d.ts +2 -2
  35. package/out/concepts/BindEvent__.js +67 -34
  36. package/out/concepts/BindEvent__.js.map +1 -1
  37. package/out/concepts/BooleanLiteral__.d.ts +2 -0
  38. package/out/concepts/BooleanLiteral__.js +10 -0
  39. package/out/concepts/BooleanLiteral__.js.map +1 -1
  40. package/out/concepts/CallFunction__.js +57 -23
  41. package/out/concepts/CallFunction__.js.map +1 -1
  42. package/out/concepts/CallInterface__.d.ts +5 -0
  43. package/out/concepts/CallInterface__.js +238 -31
  44. package/out/concepts/CallInterface__.js.map +1 -1
  45. package/out/concepts/CallLogic__.d.ts +4 -4
  46. package/out/concepts/CallLogic__.js +107 -50
  47. package/out/concepts/CallLogic__.js.map +1 -1
  48. package/out/concepts/CallQueryComponent__.d.ts +7 -1
  49. package/out/concepts/CallQueryComponent__.js +45 -26
  50. package/out/concepts/CallQueryComponent__.js.map +1 -1
  51. package/out/concepts/Comment__.js +6 -2
  52. package/out/concepts/Comment__.js.map +1 -1
  53. package/out/concepts/CompletionProperty__.d.ts +3 -1
  54. package/out/concepts/CompletionProperty__.js +2 -0
  55. package/out/concepts/CompletionProperty__.js.map +1 -1
  56. package/out/concepts/ConfigGroup__.js +3 -3
  57. package/out/concepts/ConfigGroup__.js.map +1 -1
  58. package/out/concepts/ConfigProperty__.js +3 -3
  59. package/out/concepts/ConfigProperty__.js.map +1 -1
  60. package/out/concepts/Configuration__.js +3 -3
  61. package/out/concepts/Configuration__.js.map +1 -1
  62. package/out/concepts/Constant__.d.ts +1 -0
  63. package/out/concepts/Constant__.js +14 -0
  64. package/out/concepts/Constant__.js.map +1 -1
  65. package/out/concepts/Destination__.d.ts +12 -0
  66. package/out/concepts/Destination__.js +98 -19
  67. package/out/concepts/Destination__.js.map +1 -1
  68. package/out/concepts/End__.js +9 -1
  69. package/out/concepts/End__.js.map +1 -1
  70. package/out/concepts/EntityProperty__.d.ts +11 -0
  71. package/out/concepts/EntityProperty__.js +73 -5
  72. package/out/concepts/EntityProperty__.js.map +1 -1
  73. package/out/concepts/Entity__.d.ts +4 -4
  74. package/out/concepts/Entity__.js +30 -20
  75. package/out/concepts/Entity__.js.map +1 -1
  76. package/out/concepts/Enum__.d.ts +4 -0
  77. package/out/concepts/Enum__.js +18 -10
  78. package/out/concepts/Enum__.js.map +1 -1
  79. package/out/concepts/Event__.js +3 -3
  80. package/out/concepts/Event__.js.map +1 -1
  81. package/out/concepts/ForEachStatement__.d.ts +1 -1
  82. package/out/concepts/ForEachStatement__.js +11 -15
  83. package/out/concepts/ForEachStatement__.js.map +1 -1
  84. package/out/concepts/Function__.js +13 -13
  85. package/out/concepts/Function__.js.map +1 -1
  86. package/out/concepts/Identifier__.d.ts +3 -0
  87. package/out/concepts/Identifier__.js +76 -29
  88. package/out/concepts/Identifier__.js.map +1 -1
  89. package/out/concepts/IfStatement__.js +4 -4
  90. package/out/concepts/IfStatement__.js.map +1 -1
  91. package/out/concepts/InterfaceParam__.d.ts +6 -4
  92. package/out/concepts/InterfaceParam__.js +52 -19
  93. package/out/concepts/InterfaceParam__.js.map +1 -1
  94. package/out/concepts/Interface__.d.ts +42 -30
  95. package/out/concepts/Interface__.js +133 -17
  96. package/out/concepts/Interface__.js.map +1 -1
  97. package/out/concepts/JSBlock__.d.ts +1 -0
  98. package/out/concepts/JSBlock__.js +3 -0
  99. package/out/concepts/JSBlock__.js.map +1 -1
  100. package/out/concepts/LogicItem__.d.ts +2 -1
  101. package/out/concepts/LogicItem__.js +14 -0
  102. package/out/concepts/LogicItem__.js.map +1 -1
  103. package/out/concepts/Logic__.d.ts +20 -1
  104. package/out/concepts/Logic__.js +194 -37
  105. package/out/concepts/Logic__.js.map +1 -1
  106. package/out/concepts/MemberExpression__.d.ts +2 -0
  107. package/out/concepts/MemberExpression__.js +49 -13
  108. package/out/concepts/MemberExpression__.js.map +1 -1
  109. package/out/concepts/Module__.d.ts +126 -120
  110. package/out/concepts/Module__.js +36 -26
  111. package/out/concepts/Module__.js.map +1 -1
  112. package/out/concepts/Namespace__.d.ts +5 -1
  113. package/out/concepts/Namespace__.js +48 -37
  114. package/out/concepts/Namespace__.js.map +1 -1
  115. package/out/concepts/NullLiteral__.d.ts +3 -0
  116. package/out/concepts/NullLiteral__.js +11 -1
  117. package/out/concepts/NullLiteral__.js.map +1 -1
  118. package/out/concepts/NumericLiteral__.d.ts +1 -1
  119. package/out/concepts/NumericLiteral__.js +17 -6
  120. package/out/concepts/NumericLiteral__.js.map +1 -1
  121. package/out/concepts/Param__.d.ts +7 -3
  122. package/out/concepts/Param__.js +57 -28
  123. package/out/concepts/Param__.js.map +1 -1
  124. package/out/concepts/ProcessComponent__.js +6 -6
  125. package/out/concepts/ProcessComponent__.js.map +1 -1
  126. package/out/concepts/ProcessElement__.d.ts +0 -4
  127. package/out/concepts/ProcessElement__.js +117 -54
  128. package/out/concepts/ProcessElement__.js.map +1 -1
  129. package/out/concepts/ProcessOutcome__.js +1 -1
  130. package/out/concepts/ProcessOutcome__.js.map +1 -1
  131. package/out/concepts/Process__.d.ts +7 -1
  132. package/out/concepts/Process__.js +81 -85
  133. package/out/concepts/Process__.js.map +1 -1
  134. package/out/concepts/QueryAggregateExpression__.js +1 -1
  135. package/out/concepts/QueryAggregateExpression__.js.map +1 -1
  136. package/out/concepts/QueryFromExpression__.js +2 -2
  137. package/out/concepts/QueryFromExpression__.js.map +1 -1
  138. package/out/concepts/QueryJoinExpression__.js +5 -5
  139. package/out/concepts/QueryJoinExpression__.js.map +1 -1
  140. package/out/concepts/QueryLimitExpression__.js +2 -2
  141. package/out/concepts/QueryLimitExpression__.js.map +1 -1
  142. package/out/concepts/QuerySelectExpression__.js +3 -3
  143. package/out/concepts/QuerySelectExpression__.js.map +1 -1
  144. package/out/concepts/Return__.d.ts +4 -1
  145. package/out/concepts/Return__.js +67 -21
  146. package/out/concepts/Return__.js.map +1 -1
  147. package/out/concepts/Role__.d.ts +4 -0
  148. package/out/concepts/Role__.js +13 -4
  149. package/out/concepts/Role__.js.map +1 -1
  150. package/out/concepts/SqlQueryComponent__.js +2 -2
  151. package/out/concepts/SqlQueryComponent__.js.map +1 -1
  152. package/out/concepts/StringLiteral__.d.ts +1 -1
  153. package/out/concepts/StringLiteral__.js +21 -31
  154. package/out/concepts/StringLiteral__.js.map +1 -1
  155. package/out/concepts/StructureProperty__.d.ts +5 -4
  156. package/out/concepts/StructureProperty__.js +55 -26
  157. package/out/concepts/StructureProperty__.js.map +1 -1
  158. package/out/concepts/Structure__.d.ts +44 -30
  159. package/out/concepts/Structure__.js +44 -12
  160. package/out/concepts/Structure__.js.map +1 -1
  161. package/out/concepts/SwitchCase__.js +4 -4
  162. package/out/concepts/SwitchCase__.js.map +1 -1
  163. package/out/concepts/SwitchStatement__.js +2 -2
  164. package/out/concepts/SwitchStatement__.js.map +1 -1
  165. package/out/concepts/TypeAnnotation__.d.ts +5 -5
  166. package/out/concepts/TypeAnnotation__.js +74 -20
  167. package/out/concepts/TypeAnnotation__.js.map +1 -1
  168. package/out/concepts/UnaryExpression__.js +10 -8
  169. package/out/concepts/UnaryExpression__.js.map +1 -1
  170. package/out/concepts/Unparsed__.js +1 -1
  171. package/out/concepts/Unparsed__.js.map +1 -1
  172. package/out/concepts/ValidationRule__.d.ts +1 -0
  173. package/out/concepts/ValidationRule__.js +48 -13
  174. package/out/concepts/ValidationRule__.js.map +1 -1
  175. package/out/concepts/Variable__.d.ts +10 -1
  176. package/out/concepts/Variable__.js +70 -18
  177. package/out/concepts/Variable__.js.map +1 -1
  178. package/out/concepts/ViewComponent__.js +15 -15
  179. package/out/concepts/ViewComponent__.js.map +1 -1
  180. package/out/concepts/ViewElement__.d.ts +17 -11
  181. package/out/concepts/ViewElement__.js +302 -204
  182. package/out/concepts/ViewElement__.js.map +1 -1
  183. package/out/concepts/View__.d.ts +12 -11
  184. package/out/concepts/View__.js +109 -98
  185. package/out/concepts/View__.js.map +1 -1
  186. package/out/concepts/WhileStatement__.js +3 -3
  187. package/out/concepts/WhileStatement__.js.map +1 -1
  188. package/out/concepts/basics/stdlib/index.js +4 -1
  189. package/out/concepts/basics/stdlib/index.js.map +1 -1
  190. package/out/concepts/basics/stdlib/{nasl.validate.d.ts → nasl.auth.d.ts} +0 -0
  191. package/out/concepts/basics/stdlib/nasl.auth.js +30 -0
  192. package/out/concepts/basics/stdlib/nasl.auth.js.map +1 -0
  193. package/out/concepts/basics/stdlib/nasl.browser copy.d.ts +3 -0
  194. package/out/concepts/basics/stdlib/nasl.browser copy.js +70 -0
  195. package/out/concepts/basics/stdlib/nasl.browser copy.js.map +1 -0
  196. package/out/concepts/basics/stdlib/nasl.browser.d.ts +3 -0
  197. package/out/concepts/basics/stdlib/nasl.browser.js +41 -0
  198. package/out/concepts/basics/stdlib/nasl.browser.js.map +1 -0
  199. package/out/concepts/basics/stdlib/nasl.configuration.d.ts +3 -0
  200. package/out/concepts/basics/stdlib/nasl.configuration.js +25 -0
  201. package/out/concepts/basics/stdlib/nasl.configuration.js.map +1 -0
  202. package/out/concepts/basics/stdlib/nasl.ui.js +20 -0
  203. package/out/concepts/basics/stdlib/nasl.ui.js.map +1 -1
  204. package/out/concepts/basics/stdlib/nasl.util.js +149 -13
  205. package/out/concepts/basics/stdlib/nasl.util.js.map +1 -1
  206. package/out/concepts/basics/stdlib/nasl.validation.js +54 -20
  207. package/out/concepts/basics/stdlib/nasl.validation.js.map +1 -1
  208. package/out/concepts/basics/types/coreTypeList.js +11 -10
  209. package/out/concepts/basics/types/coreTypeList.js.map +1 -1
  210. package/out/concepts/index__.d.ts +1 -0
  211. package/out/concepts/index__.js +1 -0
  212. package/out/concepts/index__.js.map +1 -1
  213. package/out/config.d.ts +1 -2
  214. package/out/config.js +1 -2
  215. package/out/config.js.map +1 -1
  216. package/out/enums/KEYWORDS.d.ts +3 -0
  217. package/out/enums/KEYWORDS.js +1206 -0
  218. package/out/enums/KEYWORDS.js.map +1 -0
  219. package/out/enums/LEVEL_NAME_MAP.d.ts +26 -0
  220. package/out/enums/LEVEL_NAME_MAP.js +30 -0
  221. package/out/enums/LEVEL_NAME_MAP.js.map +1 -0
  222. package/out/eventBus.d.ts +3 -0
  223. package/out/eventBus.js +7 -0
  224. package/out/eventBus.js.map +1 -0
  225. package/out/generator/genBundleFiles.d.ts +7 -2
  226. package/out/generator/genBundleFiles.js +168 -27
  227. package/out/generator/genBundleFiles.js.map +1 -1
  228. package/out/generator/genMetaData.d.ts +20 -20
  229. package/out/generator/genMetaData.js +50 -15
  230. package/out/generator/genMetaData.js.map +1 -1
  231. package/out/index.d.ts +2 -0
  232. package/out/index.js +2 -0
  233. package/out/index.js.map +1 -1
  234. package/out/manager/diagnostic.d.ts +1 -1
  235. package/out/server/createUiTs.d.ts +1 -0
  236. package/out/server/createUiTs.js +49 -5
  237. package/out/server/createUiTs.js.map +1 -1
  238. package/out/server/entity2LogicNamespace.js +38 -23
  239. package/out/server/entity2LogicNamespace.js.map +1 -1
  240. package/out/server/getExtensionModules.js +2 -0
  241. package/out/server/getExtensionModules.js.map +1 -1
  242. package/out/server/getFunctions.d.ts +1 -0
  243. package/out/server/getFunctions.js +7 -1
  244. package/out/server/getFunctions.js.map +1 -1
  245. package/out/server/getLogics.js +63 -18
  246. package/out/server/getLogics.js.map +1 -1
  247. package/out/server/getMemberIdentifier.d.ts +16 -1
  248. package/out/server/getMemberIdentifier.js +279 -36
  249. package/out/server/getMemberIdentifier.js.map +1 -1
  250. package/out/server/getProcesses.d.ts +6 -1
  251. package/out/server/getProcesses.js +243 -1
  252. package/out/server/getProcesses.js.map +1 -1
  253. package/out/server/getScope.d.ts +12 -0
  254. package/out/server/getScope.js +57 -0
  255. package/out/server/getScope.js.map +1 -0
  256. package/out/server/index.js +4 -0
  257. package/out/server/index.js.map +1 -1
  258. package/out/server/naslServer.d.ts +30 -53
  259. package/out/server/naslServer.js +721 -381
  260. package/out/server/naslServer.js.map +1 -1
  261. package/out/server/process2LogicNamespace.d.ts +10 -0
  262. package/out/server/process2LogicNamespace.js +29 -1
  263. package/out/server/process2LogicNamespace.js.map +1 -1
  264. package/out/server/translator.d.ts +22 -3
  265. package/out/server/translator.js +367 -123
  266. package/out/server/translator.js.map +1 -1
  267. package/out/service/creator/add.configs.d.ts +1 -0
  268. package/out/service/creator/add.configs.js +68 -0
  269. package/out/service/creator/add.configs.js.map +1 -0
  270. package/out/service/creator/errHandles.d.ts +18 -0
  271. package/out/service/creator/errHandles.js +60 -0
  272. package/out/service/creator/errHandles.js.map +1 -0
  273. package/out/service/creator/index.d.ts +1 -0
  274. package/out/service/creator/index.js +72 -0
  275. package/out/service/creator/index.js.map +1 -0
  276. package/out/service/storage/api.d.ts +18 -0
  277. package/out/service/storage/api.js +17 -0
  278. package/out/service/storage/api.js.map +1 -0
  279. package/out/service/storage/init.js +213 -37
  280. package/out/service/storage/init.js.map +1 -1
  281. package/out/service/storage/service.d.ts +2 -0
  282. package/out/service/storage/service.js +10 -0
  283. package/out/service/storage/service.js.map +1 -0
  284. package/out/service/storage/storagePoint.d.ts +1 -14
  285. package/out/service/storage/storagePoint.js +16 -16
  286. package/out/service/storage/storagePoint.js.map +1 -1
  287. package/out/templator/genCreateBlock.js +6 -6
  288. package/out/templator/genCreateBlock.js.map +1 -1
  289. package/out/templator/genCurdEditMultipleKeyBlock.js +13 -17
  290. package/out/templator/genCurdEditMultipleKeyBlock.js.map +1 -1
  291. package/out/templator/genCurdMultipleKeyBlock.js +11 -11
  292. package/out/templator/genCurdMultipleKeyBlock.js.map +1 -1
  293. package/out/templator/genEditTableBlock.js +5 -5
  294. package/out/templator/genEditTableBlock.js.map +1 -1
  295. package/out/templator/genEnumSelectBlock.js +2 -2
  296. package/out/templator/genEnumSelectBlock.js.map +1 -1
  297. package/out/templator/genGetBlock.js +5 -3
  298. package/out/templator/genGetBlock.js.map +1 -1
  299. package/out/templator/genGridViewBlock.d.ts +3 -1
  300. package/out/templator/genGridViewBlock.js +61 -6
  301. package/out/templator/genGridViewBlock.js.map +1 -1
  302. package/out/templator/genQueryComponent.d.ts +2 -0
  303. package/out/templator/genQueryComponent.js +27 -14
  304. package/out/templator/genQueryComponent.js.map +1 -1
  305. package/out/templator/genTableBlock.d.ts +1 -1
  306. package/out/templator/genTableBlock.js +4 -5
  307. package/out/templator/genTableBlock.js.map +1 -1
  308. package/out/templator/genUpdateBlock.js +9 -10
  309. package/out/templator/genUpdateBlock.js.map +1 -1
  310. package/out/templator/utils.d.ts +13 -4
  311. package/out/templator/utils.js +8 -4
  312. package/out/templator/utils.js.map +1 -1
  313. package/out/test/fixtures/env.js +0 -1
  314. package/out/test/fixtures/env.js.map +1 -1
  315. package/out/test/integration/connect-file copy.d.ts +1 -0
  316. package/out/test/integration/connect-file copy.js +50 -0
  317. package/out/test/integration/connect-file copy.js.map +1 -0
  318. package/out/test/integration/node-nasl-server.d.ts +1 -0
  319. package/out/test/integration/node-nasl-server.js +41 -0
  320. package/out/test/integration/node-nasl-server.js.map +1 -0
  321. package/out/test/units/page/Element.spec.js +3 -3
  322. package/out/test/units/page/Element.spec.js.map +1 -1
  323. package/out/test/units/temp/temp.spec.js +1 -1
  324. package/out/test/units/temp/temp.spec.js.map +1 -1
  325. package/out/utils/index.d.ts +6 -0
  326. package/out/utils/index.js +25 -1
  327. package/out/utils/index.js.map +1 -1
  328. package/out/utils/string.d.ts +1 -1
  329. package/out/utils/string.js +38 -9
  330. package/out/utils/string.js.map +1 -1
  331. package/package.json +2 -1
  332. package/src/automate/engine/index.js +97 -118
  333. package/src/automate/engine/operators.js +63 -0
  334. package/src/automate/engine/uniqueName.js +36 -0
  335. package/src/automate/engine/utils.js +49 -19
  336. package/src/common/BaseNode.ts +223 -87
  337. package/src/concepts/App__.ts +86 -46
  338. package/src/concepts/Argument__.ts +23 -3
  339. package/src/concepts/Assignee__.ts +437 -0
  340. package/src/concepts/Assignment__.ts +4 -1
  341. package/src/concepts/BinaryExpression__.ts +9 -7
  342. package/src/concepts/BindAttribute__.ts +69 -9
  343. package/src/concepts/BindDirective__.ts +22 -3
  344. package/src/concepts/BindEvent__.ts +67 -23
  345. package/src/concepts/BooleanLiteral__.ts +8 -0
  346. package/src/concepts/CallFunction__.ts +58 -25
  347. package/src/concepts/CallInterface__.ts +236 -26
  348. package/src/concepts/CallLogic__.ts +111 -52
  349. package/src/concepts/CallQueryComponent__.ts +36 -21
  350. package/src/concepts/Comment__.ts +6 -2
  351. package/src/concepts/CompletionProperty__.ts +5 -1
  352. package/src/concepts/ConfigGroup__.ts +3 -3
  353. package/src/concepts/ConfigProperty__.ts +3 -3
  354. package/src/concepts/Configuration__.ts +3 -3
  355. package/src/concepts/Constant__.ts +12 -0
  356. package/src/concepts/Destination__.ts +106 -18
  357. package/src/concepts/End__.ts +8 -1
  358. package/src/concepts/EntityProperty__.ts +69 -5
  359. package/src/concepts/Entity__.ts +33 -28
  360. package/src/concepts/Enum__.ts +16 -11
  361. package/src/concepts/Event__.ts +3 -3
  362. package/src/concepts/ForEachStatement__.ts +16 -21
  363. package/src/concepts/Function__.ts +13 -13
  364. package/src/concepts/Identifier__.ts +82 -32
  365. package/src/concepts/IfStatement__.ts +4 -4
  366. package/src/concepts/InterfaceParam__.ts +49 -27
  367. package/src/concepts/Interface__.ts +130 -16
  368. package/src/concepts/JSBlock__.ts +4 -0
  369. package/src/concepts/LogicItem__.ts +16 -1
  370. package/src/concepts/Logic__.ts +201 -39
  371. package/src/concepts/MemberExpression__.ts +58 -15
  372. package/src/concepts/Module__.ts +35 -24
  373. package/src/concepts/Namespace__.ts +49 -37
  374. package/src/concepts/NullLiteral__.ts +8 -1
  375. package/src/concepts/NumericLiteral__.ts +17 -6
  376. package/src/concepts/Param__.ts +54 -28
  377. package/src/concepts/ProcessComponent__.ts +6 -6
  378. package/src/concepts/ProcessElement__.ts +143 -44
  379. package/src/concepts/ProcessOutcome__.ts +1 -1
  380. package/src/concepts/Process__.ts +85 -98
  381. package/src/concepts/QueryAggregateExpression__.ts +1 -1
  382. package/src/concepts/QueryFromExpression__.ts +2 -2
  383. package/src/concepts/QueryJoinExpression__.ts +5 -5
  384. package/src/concepts/QueryLimitExpression__.ts +2 -2
  385. package/src/concepts/QuerySelectExpression__.ts +3 -3
  386. package/src/concepts/Return__.ts +60 -29
  387. package/src/concepts/Role__.ts +11 -4
  388. package/src/concepts/SqlQueryComponent__.ts +2 -2
  389. package/src/concepts/StringLiteral__.ts +20 -31
  390. package/src/concepts/StructureProperty__.ts +50 -33
  391. package/src/concepts/Structure__.ts +32 -10
  392. package/src/concepts/SwitchCase__.ts +4 -4
  393. package/src/concepts/SwitchStatement__.ts +2 -2
  394. package/src/concepts/TypeAnnotation__.ts +59 -16
  395. package/src/concepts/UnaryExpression__.ts +10 -8
  396. package/src/concepts/Unparsed__.ts +1 -1
  397. package/src/concepts/ValidationRule__.ts +44 -14
  398. package/src/concepts/Variable__.ts +67 -25
  399. package/src/concepts/ViewComponent__.ts +15 -15
  400. package/src/concepts/ViewElement__.ts +380 -264
  401. package/src/concepts/View__.ts +139 -94
  402. package/src/concepts/WhileStatement__.ts +4 -4
  403. package/src/concepts/basics/stdlib/index.ts +4 -2
  404. package/src/concepts/basics/stdlib/nasl.auth.ts +26 -0
  405. package/src/concepts/basics/stdlib/nasl.browser.ts +37 -0
  406. package/src/concepts/basics/stdlib/nasl.configuration.ts +21 -0
  407. package/src/concepts/basics/stdlib/nasl.ui.ts +20 -1
  408. package/src/concepts/basics/stdlib/nasl.util.ts +151 -13
  409. package/src/concepts/basics/stdlib/nasl.validation.ts +45 -11
  410. package/src/concepts/basics/types/coreTypeList.ts +11 -10
  411. package/src/concepts/index__.ts +1 -0
  412. package/src/config.ts +1 -2
  413. package/src/enums/KEYWORDS.ts +1204 -0
  414. package/src/{terms → enums}/LEVEL_NAME_MAP.ts +0 -0
  415. package/src/eventBus.ts +5 -0
  416. package/src/generator/genBundleFiles.ts +182 -30
  417. package/src/generator/genMetaData.ts +72 -21
  418. package/src/index.ts +2 -0
  419. package/src/manager/diagnostic.ts +1 -1
  420. package/src/server/createUiTs.ts +50 -8
  421. package/src/server/entity2LogicNamespace.ts +41 -25
  422. package/src/server/getExtensionModules.ts +2 -0
  423. package/src/server/getFunctions.ts +6 -0
  424. package/src/server/getLogics.ts +66 -19
  425. package/src/server/getMemberIdentifier.ts +275 -46
  426. package/src/server/getProcesses.ts +248 -4
  427. package/src/server/getScope.ts +62 -0
  428. package/src/server/index.ts +12 -1
  429. package/src/server/naslServer.ts +715 -398
  430. package/src/server/process2LogicNamespace.ts +30 -2
  431. package/src/server/translator.ts +423 -128
  432. package/src/service/config/index.js +1 -1
  433. package/src/service/creator/errHandles.js +5 -2
  434. package/src/service/creator/index.js +0 -6
  435. package/src/service/storage/api.js +14 -0
  436. package/src/service/storage/init.ts +217 -47
  437. package/src/service/storage/service.ts +6 -0
  438. package/src/service/storage/storagePoint.ts +16 -16
  439. package/src/templator/genCreateBlock.ts +6 -6
  440. package/src/templator/genCurdEditMultipleKeyBlock.ts +29 -30
  441. package/src/templator/genCurdMultipleKeyBlock.ts +11 -11
  442. package/src/templator/genEditTableBlock.ts +5 -5
  443. package/src/templator/genEnumSelectBlock.ts +2 -2
  444. package/src/templator/genGetBlock.ts +6 -8
  445. package/src/templator/genGridViewBlock.ts +59 -9
  446. package/src/templator/genQueryComponent.ts +39 -28
  447. package/src/templator/genTableBlock.ts +5 -9
  448. package/src/templator/genUpdateBlock.ts +9 -11
  449. package/src/templator/utils.ts +9 -6
  450. package/src/test/fixtures/env.ts +0 -2
  451. package/src/test/units/page/Element.spec.ts +3 -3
  452. package/src/test/units/temp/temp.spec.ts +1 -1
  453. package/src/utils/index.ts +24 -0
  454. package/src/utils/string.ts +39 -9
  455. package/out/concepts/basics/stdlib/nasl.validate.js +0 -527
  456. package/out/concepts/basics/stdlib/nasl.validate.js.map +0 -1
  457. package/out/data/Module.d.ts +0 -34
  458. package/out/data/Module.js +0 -53
  459. package/out/data/Module.js.map +0 -1
  460. package/src/automate/engine/index.d.ts +0 -3
@@ -2,6 +2,8 @@ import { TranslatorState, shiftState, withSourceMap } from '../translator';
2
2
  import Logic from './Logic__';
3
3
  import Param from './Param__';
4
4
  import { ElementToVueOptions } from './ViewElement__';
5
+ import { getNodeByNodeCallee } from '../automate/engine/utils';
6
+
5
7
  //================================================================================
6
8
  // 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
7
9
  // ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
@@ -105,7 +107,7 @@ export class CallLogic extends LogicItem {
105
107
  const relationOptions = { parentNode: this, parentKey: 'typeArguments' };
106
108
  let typeAnnotation: TypeAnnotation;
107
109
  if (options instanceof TypeAnnotation) {
108
- options.delete(); // 同一实例不支持多处存在
110
+ options.ensureDelete(); // 同一实例不支持多处存在
109
111
  typeAnnotation = options;
110
112
  Object.assign(typeAnnotation, relationOptions);
111
113
  } else {
@@ -179,7 +181,7 @@ export class CallLogic extends LogicItem {
179
181
 
180
182
  addTypeAnnotation(options?: Partial<TypeAnnotation> | TypeAnnotation) {
181
183
  const node = this._addTypeAnnotation(options as any);
182
- const index = this.typeArguments.length;
184
+ const index = this.typeArguments.indexOf(node);
183
185
  node.create({
184
186
  index,
185
187
  parentNode: this,
@@ -212,7 +214,7 @@ export class CallLogic extends LogicItem {
212
214
  const relationOptions = { parentNode: this, parentKey: 'arguments' };
213
215
  let argument: Argument;
214
216
  if (options instanceof Argument) {
215
- options.delete(); // 同一实例不支持多处存在
217
+ options.ensureDelete(); // 同一实例不支持多处存在
216
218
  argument = options;
217
219
  Object.assign(argument, relationOptions);
218
220
  } else {
@@ -286,7 +288,7 @@ export class CallLogic extends LogicItem {
286
288
 
287
289
  addArgument(options?: Partial<Argument> | Argument) {
288
290
  const node = this._addArgument(options as any);
289
- const index = this.arguments.length;
291
+ const index = this.arguments.indexOf(node);
290
292
  node.create({
291
293
  index,
292
294
  parentNode: this,
@@ -382,11 +384,16 @@ export class CallLogic extends LogicItem {
382
384
  }
383
385
  return '';
384
386
  }
387
+
388
+ // 用于logic回填
389
+ get calleewholeKey(): string {
390
+ return this.calleeNamespace + '.' + this.calleeName;
391
+ }
385
392
  get calleeKey(): string {
386
393
  const tsCalleeNamespace = this.tsCalleeNamespace;
387
394
  const calleeName = this.calleeName;
388
395
  if (!tsCalleeNamespace) {
389
- return calleeName ? `logics.${calleeName}` : '__IDENTIFIER__';
396
+ return calleeName ? `${calleeName}` : '__IDENTIFIER__';
390
397
  }
391
398
  // elements单独处理相对路径,和后缀的问题
392
399
  if (tsCalleeNamespace.startsWith('elements') && tsCalleeNamespace.endsWith('logics')) {
@@ -397,10 +404,11 @@ export class CallLogic extends LogicItem {
397
404
  }
398
405
 
399
406
  /**
400
- * 设置setArgumentName
407
+ * 设置argment 触发别的地方的更新
401
408
  */
402
- setArgumentName({ argument, newKeyword }: { argument: Argument; newKeyword: string }) {
403
- argument.setKeyword(newKeyword);
409
+ setArgumentName({ argument }: { argument: Argument[] }) {
410
+ // argument.setKeyword(newKeyword);
411
+ // this.arguments = argument;
404
412
  }
405
413
 
406
414
  /**
@@ -451,6 +459,7 @@ export class CallLogic extends LogicItem {
451
459
  const relationOptions = { parentNode: this, parentKey: 'arguments' };
452
460
  const argument = Argument.from({
453
461
  keyword: param.name,
462
+ expression: param.defaultExpression,
454
463
  }, this);
455
464
  Object.assign(argument, relationOptions);
456
465
  return argument;
@@ -518,11 +527,15 @@ export class CallLogic extends LogicItem {
518
527
  }
519
528
 
520
529
  toVue(options?: ElementToVueOptions): string {
521
- let code = this.calleeName;
530
+ let code = '';
531
+ if (this.calleeNamespace === 'nasl.browser' || this.calleeNamespace === 'nasl.auth' || this.calleeNamespace === 'nasl.configuration') {
532
+ code += '$global.';
533
+ }
534
+ code += this.calleeName;
522
535
  code += '(';
523
- this.arguments.forEach((arg, index) => {
524
- code += arg.toVue(options);
525
- if (index !== this.arguments.length - 1)
536
+ this.arguments?.forEach((arg, index) => {
537
+ code += arg?.toVue(options);
538
+ if (index !== this.arguments?.length - 1)
526
539
  code += ', ';
527
540
  });
528
541
  code += ')';
@@ -532,9 +545,9 @@ export class CallLogic extends LogicItem {
532
545
  toUI(state?: TranslatorState): string {
533
546
  let code = this.calleeName;
534
547
  code += '(';
535
- this.arguments.forEach((arg, index) => {
536
- code += arg.toUI();
537
- if (index !== this.arguments.length - 1)
548
+ this.arguments?.forEach((arg, index) => {
549
+ code += arg?.toUI();
550
+ if (index !== this.arguments?.length - 1)
538
551
  code += ', ';
539
552
  });
540
553
  code += ')';
@@ -550,12 +563,15 @@ export class CallLogic extends LogicItem {
550
563
  let isComponentLogic = false;
551
564
  let componentName = '';
552
565
  const calleeNamespace = this.calleeNamespace;
566
+ const isProcessLogic = this.calleeNamespace?.startsWith('app.processes');
567
+
553
568
  // calleeNamespace不存在,一定是页面逻辑
554
569
  if (calleeNamespace) {
555
570
  const namespaceArr = calleeNamespace.split('.');
556
571
  const start = namespaceArr.shift();
557
- if (start === 'app') {
558
- const keywordViews = namespaceArr.filter((namespaceItem, index) => index % 2 === 0).find((namespaceItem) => namespaceItem === 'views');
572
+ if (start === 'app' || start === 'extensions') {
573
+ const mod = start === 'app' ? 0 : 1;
574
+ const keywordViews = namespaceArr.filter((namespaceItem, index) => index % 2 === mod).find((namespaceItem) => namespaceItem === 'views');
559
575
  if (!keywordViews) {
560
576
  isViewLogic = false;
561
577
  }
@@ -566,15 +582,23 @@ export class CallLogic extends LogicItem {
566
582
  }
567
583
  // 全局逻辑
568
584
  if (!isViewLogic) {
569
- code += `this.$logics['${this.calleeName}']`;
570
- code += `({
571
- config: {
572
- download: false,
573
- },
574
- query: {},
575
- headers: {},
576
- `;
577
- const namespaceArr = calleeNamespace.split('.');
585
+ const namespaceArr = calleeNamespace?.split('.');
586
+ const logic = getNodeByNodeCallee(this.app, this.calleewholeKey, (key: string, tempPoint: any) => {
587
+ // 处理 NASL 中未定义的假的节点
588
+ if (key === tempPoint.name) {
589
+ return {
590
+ tempPoint,
591
+ state: 1,
592
+ };
593
+ }
594
+ const t = tempPoint[key];
595
+ return {
596
+ tempPoint: t,
597
+ state: Array.isArray(t) ? 2 : 1,
598
+ };
599
+ });
600
+ const args = logic?.params || [];
601
+
578
602
  // 去掉app
579
603
  namespaceArr.shift();
580
604
  const keywordEntities = namespaceArr
@@ -585,43 +609,64 @@ export class CallLogic extends LogicItem {
585
609
  .filter((namespaceItem, index) => index % 2 === 0)
586
610
  .find((namespaceItem) => namespaceItem.key === 'entities');
587
611
  const entityName = namespaceArr[keywordEntities?.index + 1];
612
+ code += `this.$logics['${this.calleeNamespace ? `${this.calleeNamespace}.${this.calleeName}` : this.calleeName}']`;
613
+ code += `({
614
+ config: {
615
+ download: false,
616
+ },
617
+ query: {`;
618
+ if (isProcessLogic) {
619
+ const argsStr = args.map((arg: any, index: number) => {
620
+ const actualArg = this.arguments?.[index];
621
+ return {
622
+ keyword: arg?.name,
623
+ arg: actualArg,
624
+ };
625
+ }).filter((obj: any) => obj?.arg?.expression).map((obj: any) => `\n${obj?.keyword}: ${obj?.arg?.toJS(shiftState(state, code))}`).join(', ');
626
+ code += argsStr;
627
+ }
628
+ code += `},
629
+ headers: {},
630
+ `;
588
631
 
589
632
  if (entityName) {
590
633
  let logicArgs = this.arguments;
591
634
  switch (this.calleeName) {
592
635
  case 'get':
593
636
  case 'delete': {
594
- let idArgument: Argument;
595
- logicArgs = logicArgs.filter((arg) => {
596
- if (arg.keyword === 'id') {
597
- idArgument = arg;
598
- return false;
599
- } else {
600
- return true;
601
- }
602
- });
603
- code += `path: {`;
604
- if (idArgument) {
605
- code += `\n${idArgument.keyword}: ${idArgument.toJS(shiftState(state, code))}`;
606
- }
637
+ logicArgs = [];
638
+ code += `query: {`;
639
+ const argsStr = args.map((arg: any, index: number) => {
640
+ const actualArg = this.arguments?.[index];
641
+ return {
642
+ keyword: arg?.name,
643
+ arg: actualArg,
644
+ };
645
+ }).filter((obj: any) => obj?.arg?.expression).map((obj: any) => `\n${obj?.keyword}: ${obj?.arg?.toJS(shiftState(state, code))}`).join(', ');
646
+ code += argsStr;
607
647
  code += `},\n`;
608
648
  break;
609
649
  }
610
650
  }
611
651
  const bodyArgument = logicArgs.find((arg) => arg.keyword === 'body');
612
652
  if (bodyArgument) {
613
- code += `\n${bodyArgument.keyword}: ${bodyArgument.toJS(shiftState(state, code))}`;
653
+ code += `\n${bodyArgument?.keyword}: ${bodyArgument?.toJS(shiftState(state, code))}`;
614
654
  } else {
615
655
  code += `body: {}`;
616
656
  }
617
657
  } else {
618
658
  code += `path: {},
619
659
  body: {`;
620
- this.arguments.forEach((arg, index) => {
621
- code += `\n${arg.keyword}: ${arg.toJS(shiftState(state, code))}`;
622
- if (index !== this.arguments.length - 1)
623
- code += ', ';
624
- });
660
+ if (!isProcessLogic) {
661
+ const argsStr = args.map((arg: any, index: number) => {
662
+ const actualArg = this.arguments?.[index];
663
+ return {
664
+ keyword: arg?.name,
665
+ arg: actualArg,
666
+ };
667
+ }).filter((obj: any) => obj?.arg?.expression).map((obj: any) => `\n${obj?.keyword}: ${obj?.arg?.toJS(shiftState(state, code))}`).join(', ');
668
+ code += argsStr;
669
+ }
625
670
  code += '\n}';
626
671
  }
627
672
  code += '\n})';
@@ -643,15 +688,18 @@ export class CallLogic extends LogicItem {
643
688
  code += `JSON.parse`;
644
689
  break;
645
690
  }
691
+ } else if (calleeNamespace === 'nasl.browser' || calleeNamespace === 'nasl.auth' || calleeNamespace === 'nasl.configuration') {
692
+ code += `this.$global.${this.calleeName}`;
646
693
  } else {
647
694
  code += `this.${this.calleeName}`;
648
695
  }
649
696
  code += '(';
650
- this.arguments.forEach((arg, index) => {
651
- code += arg.toJS(shiftState(state, code));
652
- if (index !== this.arguments.length - 1)
653
- code += ', ';
654
- });
697
+ this.arguments?.filter((arg) => arg?.expression)
698
+ .forEach((arg, index) => {
699
+ code += arg?.toJS(shiftState(state, code));
700
+ if (index !== this.arguments?.length - 1)
701
+ code += ', ';
702
+ });
655
703
  code += ')';
656
704
  }
657
705
  return code;
@@ -660,14 +708,25 @@ export class CallLogic extends LogicItem {
660
708
  @withSourceMap()
661
709
  toEmbeddedTS(state?: TranslatorState): string {
662
710
  let code = this.calleeKey;
711
+ if (Array.isArray(this.typeArguments) && this.typeArguments.length) {
712
+ // 如果有内容
713
+ const typeAnnotation = this.typeArguments[0];
714
+ code += `<`;
715
+ code += `${typeAnnotation.toEmbeddedTS(shiftState(state, code, { tabSize: 0 }))}>`;
716
+ }
663
717
  code += '(';
664
718
  this.arguments.forEach((arg, index) => {
665
- code += arg.toEmbeddedTS(shiftState(state, code));
719
+ const tsCalleeNamespace = this.tsCalleeNamespace;
720
+ // 页面逻辑先都非必填
721
+ if (tsCalleeNamespace.startsWith('elements') && tsCalleeNamespace.endsWith('logics')) {
722
+ code += arg.toEmbeddedTS(shiftState(state, code), false);
723
+ } else {
724
+ code += arg.toEmbeddedTS(shiftState(state, code));
725
+ }
666
726
  if (index !== this.arguments.length - 1)
667
727
  code += ', ';
668
728
  });
669
729
  code += ');\n';
670
-
671
730
  return code;
672
731
  }
673
732
 
@@ -82,6 +82,12 @@ export class CallQueryComponent extends LogicItem {
82
82
  @property('QueryLimitExpression')
83
83
  limit: QueryLimitExpression = undefined;
84
84
 
85
+ /**
86
+ * 查询组件的局部版本
87
+ */
88
+ @property()
89
+ ideVersion: string = undefined;
90
+
85
91
 
86
92
 
87
93
  /**
@@ -202,7 +208,7 @@ export class CallQueryComponent extends LogicItem {
202
208
  return (this.groupBy || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
203
209
  }
204
210
  getQueryGroupByExpressionUniqueName(name = 'queryGroupByExpression1') {
205
- return utils.unique(name, this.getQueryGroupByExpressionExistingNames());
211
+ return utils.unique(name, this.getQueryGroupByExpressionExistingNames(), undefined, false);
206
212
  }
207
213
 
208
214
  /**
@@ -241,7 +247,7 @@ export class CallQueryComponent extends LogicItem {
241
247
  name: options,
242
248
  }, this, 'groupBy');
243
249
  } else if (options instanceof QueryGroupByExpression) {
244
- options.delete(); // 同一实例不支持多处存在
250
+ options.ensureDelete(); // 同一实例不支持多处存在
245
251
  queryGroupByExpression = options;
246
252
  Object.assign(queryGroupByExpression, relationOptions);
247
253
  } else {
@@ -329,7 +335,7 @@ export class CallQueryComponent extends LogicItem {
329
335
 
330
336
  addQueryGroupByExpressionInGroupBy(options?: string | Partial<QueryGroupByExpression> | QueryGroupByExpression) {
331
337
  const node = this._addQueryGroupByExpressionInGroupBy(options as any);
332
- const index = this.groupBy.length;
338
+ const index = this.groupBy.indexOf(node);
333
339
  node.create({
334
340
  index,
335
341
  parentNode: this,
@@ -359,7 +365,7 @@ export class CallQueryComponent extends LogicItem {
359
365
  const relationOptions = { parentNode: this, parentKey: 'orderBy' };
360
366
  let queryOrderByExpression: QueryOrderByExpression;
361
367
  if (options instanceof QueryOrderByExpression) {
362
- options.delete(); // 同一实例不支持多处存在
368
+ options.ensureDelete(); // 同一实例不支持多处存在
363
369
  queryOrderByExpression = options;
364
370
  Object.assign(queryOrderByExpression, relationOptions);
365
371
  } else {
@@ -433,7 +439,7 @@ export class CallQueryComponent extends LogicItem {
433
439
 
434
440
  addQueryOrderByExpressionInOrderBy(options?: Partial<QueryOrderByExpression> | QueryOrderByExpression) {
435
441
  const node = this._addQueryOrderByExpressionInOrderBy(options as any);
436
- const index = this.orderBy.length;
442
+ const index = this.orderBy.indexOf(node);
437
443
  node.create({
438
444
  index,
439
445
  parentNode: this,
@@ -784,7 +790,7 @@ export class CallQueryComponent extends LogicItem {
784
790
  code += indent(state.tabSize + 1);
785
791
  const { asName, aggregateName, aggregateParam } = item;
786
792
  if (asName)
787
- code += `const ${asName} = `;
793
+ code += `const __${asName} = `;
788
794
  if (aggregateName) {
789
795
  code += `nasl.langUtil.${aggregateName}(`;
790
796
  code += aggregateParam.toEmbeddedTS(shiftState(state, code, { tabSize: 0 }));
@@ -901,20 +907,23 @@ export class CallQueryComponent extends LogicItem {
901
907
  return Structure.from({
902
908
  concept: 'Structure',
903
909
  name: structureName,
910
+ origin: 'CallQueryComponent',
904
911
  properties: [...genPropertyListOfFrom(this.from), ...genPropertyListOfAggregate(this)],
905
912
  });
906
913
  }
907
914
 
908
915
  saveStructure() {
909
916
  const source = this.genStructure();
917
+ // console.log(source);
910
918
  if (this.typeAnnotation) {
911
919
  const structure = this.app.structures.find((item) => item.name === this.typeAnnotation.typeName);
912
920
  if (structure) {
913
- const properties = source.properties.map((property) => StructureProperty.from(property, structure));
921
+ const properties = source.properties.map((property) => StructureProperty.from(property, structure, 'properties'));
914
922
  structure.update({
915
923
  properties,
916
924
  });
917
- }
925
+ } else
926
+ this.app.addStructure(source);
918
927
  } else {
919
928
  source.name = utils.unique(source.name, this.app.getStructureExistingNames());
920
929
  this.app.addStructure(source);
@@ -922,8 +931,8 @@ export class CallQueryComponent extends LogicItem {
922
931
  concept: 'TypeAnnotation',
923
932
  typeKind: 'reference',
924
933
  typeName: source.name,
925
- typeNamespace: `app.${this.app.name}.structures`,
926
- }, this);
934
+ typeNamespace: `app.structures`,
935
+ }, this, 'typeAnnotation');
927
936
  this.update({
928
937
  typeAnnotation,
929
938
  });
@@ -936,11 +945,6 @@ export class CallQueryComponent extends LogicItem {
936
945
  } catch {}
937
946
  }
938
947
 
939
- delete() {
940
- this.removeStructure();
941
- super.delete();
942
- }
943
-
944
948
  getEntityNames(node: QueryFromExpression | QueryJoinExpression, set = new Set()) {
945
949
  if (node?.entityName)
946
950
  set.add(node.entityName);
@@ -963,8 +967,8 @@ export class CallQueryComponent extends LogicItem {
963
967
  .map((entity) => ({
964
968
  concept: 'Entity',
965
969
  name: entity.name,
966
- children: entity.properties.map((property) =>
967
- new CompletionProperty({
970
+ children: entity.properties.map((property) => {
971
+ const completionProperty = new CompletionProperty({
968
972
  concept: 'CompletionProperty',
969
973
  name: property.name,
970
974
  value: `${entity.name}.${property.name}`,
@@ -975,12 +979,19 @@ export class CallQueryComponent extends LogicItem {
975
979
  entityAsName: entity.name,
976
980
  propertyName: property.name,
977
981
  }),
978
- })),
982
+ });
983
+ completionProperty.icon = 'property';
984
+ return completionProperty;
985
+ }),
979
986
  }));
980
987
  if (children.length === 0)
981
988
  return;
982
989
 
983
- return { name: '实体', children };
990
+ return {
991
+ name: '实体',
992
+ icon: 'category',
993
+ children,
994
+ };
984
995
  }
985
996
 
986
997
  getCompletionPropertyOfAggregateAsNames() {
@@ -990,16 +1001,20 @@ export class CallQueryComponent extends LogicItem {
990
1001
  new CompletionProperty({
991
1002
  concept: 'CompletionProperty',
992
1003
  name: item.asName,
993
- value: item.asName,
1004
+ value: `inner.${item.asName}`,
994
1005
  expression: LogicItem.from({
995
1006
  concept: 'Identifier',
996
1007
  name: item.asName,
1008
+ namespace: 'inner',
997
1009
  }),
998
1010
  }));
999
1011
  if (!children || children.length === 0)
1000
1012
  return;
1001
1013
 
1002
- return { name: '聚合属性别名', children };
1014
+ children.forEach((item) => {
1015
+ item.icon = 'variable';
1016
+ });
1017
+ return { name: '聚合属性别名', icon: 'category', children, expanded: true };
1003
1018
  }
1004
1019
 
1005
1020
  //================================================================================
@@ -67,7 +67,7 @@ export class Comment extends LogicItem {
67
67
  //================================================================================
68
68
 
69
69
  toJS(state?: TranslatorState): string {
70
- return `\n${indent(state.tabSize)}// ${this.value}\n`;
70
+ return `/* ${this.value} */`;
71
71
  }
72
72
 
73
73
  public static getDefaultOptions() {
@@ -79,7 +79,11 @@ export class Comment extends LogicItem {
79
79
  @withSourceMap()
80
80
  toEmbeddedTS(state?: TranslatorState): string {
81
81
  let code = '';
82
- code += `\n${indent(state.tabSize)}// ${this.value}\n`;
82
+ code += `\n${indent(state.tabSize)}
83
+ /**
84
+ * 注释不用翻译
85
+ */
86
+ \n`;
83
87
  return code;
84
88
  }
85
89
  //================================================================================
@@ -224,7 +224,7 @@ export class CompletionProperty extends BaseNode {
224
224
  * 子集
225
225
  */
226
226
  @property()
227
- children: Array<LogicItem> = undefined;
227
+ children: Array<CompletionProperty> = undefined;
228
228
 
229
229
  /**
230
230
  * 表达式
@@ -236,6 +236,10 @@ export class CompletionProperty extends BaseNode {
236
236
  * 用于展示图标
237
237
  */
238
238
  icon: string = undefined;
239
+
240
+ isProcess: boolean = false;
241
+
242
+ noFurther: boolean = false;
239
243
  //================================================================================
240
244
  // 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
241
245
  // ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
@@ -84,7 +84,7 @@ export class ConfigGroup extends BaseNode {
84
84
  return (this.properties || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
85
85
  }
86
86
  getConfigPropertyUniqueName(name = 'configProperty1') {
87
- return utils.unique(name, this.getConfigPropertyExistingNames());
87
+ return utils.unique(name, this.getConfigPropertyExistingNames(), undefined, false);
88
88
  }
89
89
 
90
90
  /**
@@ -123,7 +123,7 @@ export class ConfigGroup extends BaseNode {
123
123
  name: options,
124
124
  }, this, 'properties');
125
125
  } else if (options instanceof ConfigProperty) {
126
- options.delete(); // 同一实例不支持多处存在
126
+ options.ensureDelete(); // 同一实例不支持多处存在
127
127
  configProperty = options;
128
128
  Object.assign(configProperty, relationOptions);
129
129
  } else {
@@ -211,7 +211,7 @@ export class ConfigGroup extends BaseNode {
211
211
 
212
212
  addConfigProperty(options?: string | Partial<ConfigProperty> | ConfigProperty) {
213
213
  const node = this._addConfigProperty(options as any);
214
- const index = this.properties.length;
214
+ const index = this.properties.indexOf(node);
215
215
  node.create({
216
216
  index,
217
217
  parentNode: this,
@@ -90,7 +90,7 @@ export class ConfigProperty extends BaseNode {
90
90
  return (this.values || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
91
91
  }
92
92
  getConfigPropertyValueUniqueName(name = 'configPropertyValue1') {
93
- return utils.unique(name, this.getConfigPropertyValueExistingNames());
93
+ return utils.unique(name, this.getConfigPropertyValueExistingNames(), undefined, false);
94
94
  }
95
95
 
96
96
  /**
@@ -129,7 +129,7 @@ export class ConfigProperty extends BaseNode {
129
129
  name: options,
130
130
  }, this, 'values');
131
131
  } else if (options instanceof ConfigPropertyValue) {
132
- options.delete(); // 同一实例不支持多处存在
132
+ options.ensureDelete(); // 同一实例不支持多处存在
133
133
  configPropertyValue = options;
134
134
  Object.assign(configPropertyValue, relationOptions);
135
135
  } else {
@@ -217,7 +217,7 @@ export class ConfigProperty extends BaseNode {
217
217
 
218
218
  addConfigPropertyValue(options?: string | Partial<ConfigPropertyValue> | ConfigPropertyValue) {
219
219
  const node = this._addConfigPropertyValue(options as any);
220
- const index = this.values.length;
220
+ const index = this.values.indexOf(node);
221
221
  node.create({
222
222
  index,
223
223
  parentNode: this,
@@ -68,7 +68,7 @@ export class Configuration extends BaseNode {
68
68
  return (this.groups || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
69
69
  }
70
70
  getConfigGroupUniqueName(name = 'configGroup1') {
71
- return utils.unique(name, this.getConfigGroupExistingNames());
71
+ return utils.unique(name, this.getConfigGroupExistingNames(), undefined, false);
72
72
  }
73
73
 
74
74
  /**
@@ -107,7 +107,7 @@ export class Configuration extends BaseNode {
107
107
  name: options,
108
108
  }, this, 'groups');
109
109
  } else if (options instanceof ConfigGroup) {
110
- options.delete(); // 同一实例不支持多处存在
110
+ options.ensureDelete(); // 同一实例不支持多处存在
111
111
  configGroup = options;
112
112
  Object.assign(configGroup, relationOptions);
113
113
  } else {
@@ -195,7 +195,7 @@ export class Configuration extends BaseNode {
195
195
 
196
196
  addConfigGroup(options?: string | Partial<ConfigGroup> | ConfigGroup) {
197
197
  const node = this._addConfigGroup(options as any);
198
- const index = this.groups.length;
198
+ const index = this.groups.indexOf(node);
199
199
  node.create({
200
200
  index,
201
201
  parentNode: this,
@@ -235,6 +235,18 @@ export class Constant extends BaseNode {
235
235
  }
236
236
  return code;
237
237
  }
238
+ @withSourceMap()
239
+ toEmbeddedTSInProcess(state?: TranslatorState): string {
240
+ let code = this.name;
241
+ if (this.typeAnnotation) {
242
+ code += ': undefined as ';
243
+ code += this.typeAnnotation.toEmbeddedTS(shiftState(state, code));
244
+ }
245
+ if (this.defaultValue) {
246
+ code += ` : ${this.defaultValue}`;
247
+ }
248
+ return code;
249
+ }
238
250
  //================================================================================
239
251
  // 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
240
252
  // ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓