@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
@@ -1,9 +1,10 @@
1
1
  import { TranslatorState, shiftState, withSourceMap, indent, createCompilerState, embeddedTSEmitter } from '../translator';
2
- import { process2LogicNamespace, genLaunchProcess, genUserTaskLogic, userTask2LogicNamespace } from '../server/getProcesses';
3
-
2
+ import { genLaunchProcess, genUserTaskLogic, userTask2LogicNamespace, syncMemberExpression } from '../server/getProcesses';
3
+ import { process2LogicNamespace } from '../server/process2LogicNamespace';
4
4
  import Namespace from './Namespace__';
5
5
  import Logic from './Logic__';
6
6
  import Variable from './Variable__';
7
+ import Identifier from './Identifier__';
7
8
  //================================================================================
8
9
  // 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
9
10
  // ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
@@ -154,7 +155,7 @@ export class Process extends BaseNode {
154
155
  return (this.params || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
155
156
  }
156
157
  getParamUniqueName(name = 'param1') {
157
- return utils.unique(name, this.getParamExistingNames());
158
+ return utils.unique(name, this.getParamExistingNames(), undefined, false);
158
159
  }
159
160
 
160
161
  /**
@@ -193,7 +194,7 @@ export class Process extends BaseNode {
193
194
  name: options,
194
195
  }, this, 'params');
195
196
  } else if (options instanceof Param) {
196
- options.delete(); // 同一实例不支持多处存在
197
+ options.ensureDelete(); // 同一实例不支持多处存在
197
198
  param = options;
198
199
  Object.assign(param, relationOptions);
199
200
  } else {
@@ -281,7 +282,7 @@ export class Process extends BaseNode {
281
282
 
282
283
  addParam(options?: string | Partial<Param> | Param) {
283
284
  const node = this._addParam(options as any);
284
- const index = this.params.length;
285
+ const index = this.params.indexOf(node);
285
286
  node.create({
286
287
  index,
287
288
  parentNode: this,
@@ -296,7 +297,7 @@ export class Process extends BaseNode {
296
297
  return (this.returns || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
297
298
  }
298
299
  getReturnUniqueName(name = 'ret1') {
299
- return utils.unique(name, this.getReturnExistingNames());
300
+ return utils.unique(name, this.getReturnExistingNames(), undefined, false);
300
301
  }
301
302
 
302
303
  /**
@@ -335,7 +336,7 @@ export class Process extends BaseNode {
335
336
  name: options,
336
337
  }, this, 'returns');
337
338
  } else if (options instanceof Return) {
338
- options.delete(); // 同一实例不支持多处存在
339
+ options.ensureDelete(); // 同一实例不支持多处存在
339
340
  ret = options;
340
341
  Object.assign(ret, relationOptions);
341
342
  } else {
@@ -423,7 +424,7 @@ export class Process extends BaseNode {
423
424
 
424
425
  addReturn(options?: string | Partial<Return> | Return) {
425
426
  const node = this._addReturn(options as any);
426
- const index = this.returns.length;
427
+ const index = this.returns.indexOf(node);
427
428
  node.create({
428
429
  index,
429
430
  parentNode: this,
@@ -438,7 +439,7 @@ export class Process extends BaseNode {
438
439
  return (this.constants || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
439
440
  }
440
441
  getConstantUniqueName(name = 'constant1') {
441
- return utils.unique(name, this.getConstantExistingNames());
442
+ return utils.unique(name, this.getConstantExistingNames(), undefined, false);
442
443
  }
443
444
 
444
445
  /**
@@ -477,7 +478,7 @@ export class Process extends BaseNode {
477
478
  name: options,
478
479
  }, this, 'constants');
479
480
  } else if (options instanceof Constant) {
480
- options.delete(); // 同一实例不支持多处存在
481
+ options.ensureDelete(); // 同一实例不支持多处存在
481
482
  constant = options;
482
483
  Object.assign(constant, relationOptions);
483
484
  } else {
@@ -565,7 +566,7 @@ export class Process extends BaseNode {
565
566
 
566
567
  addConstant(options?: string | Partial<Constant> | Constant) {
567
568
  const node = this._addConstant(options as any);
568
- const index = this.constants.length;
569
+ const index = this.constants.indexOf(node);
569
570
  node.create({
570
571
  index,
571
572
  parentNode: this,
@@ -580,7 +581,7 @@ export class Process extends BaseNode {
580
581
  return (this.elements || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
581
582
  }
582
583
  getElementUniqueName(name = 'element1') {
583
- return utils.unique(name, this.getElementExistingNames());
584
+ return utils.unique(name, this.getElementExistingNames(), undefined, false);
584
585
  }
585
586
 
586
587
  /**
@@ -619,7 +620,7 @@ export class Process extends BaseNode {
619
620
  name: options,
620
621
  }, this, 'elements');
621
622
  } else if (options instanceof ProcessElement) {
622
- options.delete(); // 同一实例不支持多处存在
623
+ options.ensureDelete(); // 同一实例不支持多处存在
623
624
  element = options;
624
625
  Object.assign(element, relationOptions);
625
626
  } else {
@@ -707,7 +708,7 @@ export class Process extends BaseNode {
707
708
 
708
709
  addElement(options?: string | Partial<ProcessElement> | ProcessElement) {
709
710
  const node = this._addElement(options as any);
710
- const index = this.elements.length;
711
+ const index = this.elements.indexOf(node);
711
712
  node.create({
712
713
  index,
713
714
  parentNode: this,
@@ -974,7 +975,29 @@ export class Process extends BaseNode {
974
975
  }
975
976
 
976
977
  get logics() {
977
- return [genLaunchProcess(this)];
978
+ // return [
979
+ // genLaunchProcess(this),
980
+ // ...this.elements.filter(el => el.type === 'UserTask').map(el => {
981
+ // return {
982
+ // name: el.name,
983
+ // complete: genUserTaskLogic(el),
984
+ // }
985
+ // })
986
+ // ];
987
+ const ns = process2LogicNamespace(this);
988
+ let logics: Logic[] = [];
989
+ ns.children.map((subns) => {
990
+ logics = logics.concat(subns.logics);
991
+ });
992
+
993
+ return [
994
+ ...ns.logics,
995
+ ...logics,
996
+ ];
997
+ }
998
+
999
+ toUserTaskPropertyGetterTS(userTask: ProcessElement) {
1000
+ return `let ${userTask.name} = elements.${userTask.name};`;
978
1001
  }
979
1002
 
980
1003
  @withSourceMap()
@@ -985,6 +1008,14 @@ export class Process extends BaseNode {
985
1008
  const tab2 = indent(state.tabSize + 2);
986
1009
  const tab3 = indent(state.tabSize + 3);
987
1010
  // code += `${tab1}namespace variables{\n`;
1011
+
1012
+ code += `${tab1}export namespace logics {\n`;
1013
+ const logic = genLaunchProcess(this);
1014
+ // sourceMap 映射
1015
+ logic.parentNode = this;
1016
+ code += logic.toEmbeddedTS(shiftState(state, code, { tabSize: state.tabSize + 2 }));
1017
+ code += `${tab1}}\n`;
1018
+
988
1019
  this.params.forEach((property) => {
989
1020
  code += `${tab1}export let `;
990
1021
  code += property.toEmbeddedTS(shiftState(state, code, { inline: true }));
@@ -1002,63 +1033,16 @@ export class Process extends BaseNode {
1002
1033
  code += ';\n';
1003
1034
  });
1004
1035
 
1036
+ code += `${tab1}export const elements = {\n`;
1005
1037
 
1006
- // code += `${tab1}}\n`;
1007
-
1008
- // this.elements.forEach((ele) => {
1009
- // if (ele.type === 'UserTask') {
1010
- // code += `${tab1}${ele.name}: nasl.process.UserTask;\n`;
1011
- // }
1012
- // });
1013
-
1014
- // code += `${tab1}constructor(`;
1015
- // this.params.forEach((param, index) => {
1016
- // code += param.toEmbeddedTS(shiftState(state, code, { inline: true }));
1017
- // if (index !== this.params.length - 1)
1018
- // code += ', ';
1019
- // });
1020
- // code += `) {\n`;
1021
-
1022
- code += `${tab1}export namespace logics {\n`;
1023
- const logic = genLaunchProcess(this);
1024
- code += logic.toEmbeddedTS(shiftState(state, code, { tabSize: state.tabSize + 3 }));
1025
- code += `${tab1}}\n`;
1026
-
1027
- code += `${tab1}export namespace elements {\n`
1028
1038
  this.elements.forEach((ele) => {
1029
- if (ele.type === 'UserTask') {
1030
- code += `${tab2}export namespace ${ele.name}{\n`;
1039
+ code += '\n';
1040
+ if (ele.type === 'UserTask' || ele.type === 'ExclusiveGateway' || ele.type === 'AutoTask') {
1031
1041
  code += ele.toEmbeddedTS(shiftState(state, code, { tabSize: state.tabSize + 1 }));
1032
- ele.bindAttrs.forEach((attr) => {
1033
- if(attr.name === 'destination') {
1034
- code += attr.destination.toEmbeddedTSNormalFunction(shiftState(state, code, { tabSize: state.tabSize + 2 }))
1035
- } else {
1036
- code += attr.toEmbeddedTS(shiftState(state, code, { tabSize: state.tabSize }));
1037
- }
1038
- });
1039
-
1040
- const logic = genUserTaskLogic(ele);
1041
- code += `${tab3}export namespace logics {\n`;
1042
-
1043
- code += logic.toEmbeddedTS(shiftState(state, code, { tabSize: state.tabSize + 4 }));
1044
-
1045
- code += `${tab3}}\n`;
1046
-
1047
- code += `${tab2}}\n`;
1048
-
1049
-
1050
- }
1051
- if (ele.type === 'ExclusiveGateway') {
1052
- code += `${tab2}export namespace ${ele.name}{\n`;
1053
- code += ele.toEmbeddedTS(shiftState(state, code, { tabSize: state.tabSize + 1 }));
1054
- code += ele.logic.toEmbeddedTSNoExport(shiftState(state, code, { tabSize: state.tabSize + 3 }));
1055
- code += `${tab2}}\n`;
1056
1042
  }
1057
1043
  });
1058
1044
  code += `${tab1}}\n`;
1059
-
1060
- // code += `${tab1}}\n`;
1061
- code += `${tab0}}\n`;
1045
+ code += `}\n`;
1062
1046
  return code;
1063
1047
  }
1064
1048
 
@@ -1066,31 +1050,13 @@ export class Process extends BaseNode {
1066
1050
  let code = `namespace ${this.getNamespace('processes')} {\n`;
1067
1051
 
1068
1052
  const state = createCompilerState(code, { tabSize: 1 });
1069
- const tab1 = indent(state.tabSize);
1070
- code += this.toEmbeddedTS(state);
1053
+ try {
1054
+ code += this.toEmbeddedTS(state);
1055
+ } catch (err) {
1056
+ code += '';
1057
+ }
1071
1058
  code += '}\n';
1072
1059
 
1073
- /* const ns = process2LogicNamespace(this);
1074
- ns.path = `${this.getNamespace('logics')}.${ns.name}`;
1075
- code += `\nnamespace ${ns.path} {\n`;
1076
- ns.logics.forEach((logic) => {
1077
- code += logic.toEmbeddedTS(shiftState(state, code)) + '\n';
1078
- });
1079
- this.elements.forEach((ele) => {
1080
- if (ele.type === 'UserTask') {
1081
- const uns = userTask2LogicNamespace(ele);
1082
- code += `${tab1}export namespace ${uns.name} {\n`;
1083
-
1084
- uns.logics.forEach((logic) => {
1085
- code += logic.toEmbeddedTS(shiftState(state, code, { tabSize: state.tabSize + 1 })) + '\n';
1086
- });
1087
-
1088
- code += `${tab1}}\n`;
1089
- }
1090
- });
1091
-
1092
- code += '}\n';*/
1093
-
1094
1060
  return {
1095
1061
  code,
1096
1062
  filePath: this.getEmbeddedFilePath(),
@@ -1115,29 +1081,31 @@ export class Process extends BaseNode {
1115
1081
  elements: [
1116
1082
  {
1117
1083
  concept: 'ProcessElement',
1118
- name: 'start',
1084
+ name: 'Start',
1119
1085
  type: 'StartNoneEvent',
1120
1086
  bounds: {
1121
1087
  concept: 'Rect',
1122
- x: 0, y: 0
1123
- }
1088
+ x: 0, y: 0,
1089
+ },
1124
1090
  },
1125
1091
  {
1126
1092
  concept: 'ProcessElement',
1127
- name: 'end',
1093
+ name: 'End',
1128
1094
  type: 'EndNoneEvent',
1129
1095
  bounds: {
1130
1096
  concept: 'Rect',
1131
- x: 0, y: 180
1132
- }
1097
+ x: 0, y: 180,
1098
+ },
1133
1099
  },
1134
1100
  {
1135
1101
  concept: 'ProcessElement',
1102
+ name: 'SequenceFlow',
1136
1103
  type: 'SequenceFlow',
1137
- sourceRef: 'start',
1138
- targetRef: 'end',
1104
+ sourceRef: 'Start',
1105
+ targetRef: 'End',
1106
+ waypoints: [{ x: 0, y: 0 }, { x: 100, y: 100 }],
1139
1107
  },
1140
- ]
1108
+ ],
1141
1109
  };
1142
1110
  }
1143
1111
  //================================================================================
@@ -1152,3 +1120,22 @@ export default Process;
1152
1120
  // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
1153
1121
  // 自动生成的代码已结束。下面可以手动编写。
1154
1122
  //================================================================================
1123
+ Process.prototype.setName = function (name: string) {
1124
+ const App = this.rootNode;
1125
+ const oldName = this.name;
1126
+ App.emit('collect:start', {
1127
+ actionMsg: '设置名称',
1128
+ });
1129
+ syncMemberExpression(this, (node) => {
1130
+ if (node.object instanceof Identifier && node.object.name === oldName) {
1131
+ node.object.update({
1132
+ name,
1133
+ });
1134
+ }
1135
+ });
1136
+ this.update({
1137
+ name,
1138
+ field: 'name',
1139
+ });
1140
+ App.emit('collect:end');
1141
+ };
@@ -138,7 +138,7 @@ export class QueryAggregateExpression extends LogicItem {
138
138
  // code += `[__EMPTY_AGGREGATE_NAME__, '']`;
139
139
 
140
140
  // return code;
141
- return `${this.asName || '__EMPTY_AGGREGATE_ALIAS__'}`;
141
+ return `__${this.asName || '__EMPTY_AGGREGATE_ALIAS__'}`;
142
142
  }
143
143
 
144
144
  setName(asName: string) {
@@ -99,7 +99,7 @@ export class QueryFromExpression extends LogicItem {
99
99
  const relationOptions = { parentNode: this, parentKey: 'joinParts' };
100
100
  let queryJoinExpression: QueryJoinExpression;
101
101
  if (options instanceof QueryJoinExpression) {
102
- options.delete(); // 同一实例不支持多处存在
102
+ options.ensureDelete(); // 同一实例不支持多处存在
103
103
  queryJoinExpression = options;
104
104
  Object.assign(queryJoinExpression, relationOptions);
105
105
  } else {
@@ -173,7 +173,7 @@ export class QueryFromExpression extends LogicItem {
173
173
 
174
174
  addJoinPart(options?: Partial<QueryJoinExpression> | QueryJoinExpression) {
175
175
  const node = this._addJoinPart(options as any);
176
- const index = this.joinParts.length;
176
+ const index = this.joinParts.indexOf(node);
177
177
  node.create({
178
178
  index,
179
179
  parentNode: this,
@@ -93,7 +93,7 @@ export class QueryJoinExpression extends LogicItem {
93
93
  return (this.onExpressions || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
94
94
  }
95
95
  getBinaryExpressionUniqueName(name = 'binaryExpression1') {
96
- return utils.unique(name, this.getBinaryExpressionExistingNames());
96
+ return utils.unique(name, this.getBinaryExpressionExistingNames(), undefined, false);
97
97
  }
98
98
 
99
99
  /**
@@ -132,7 +132,7 @@ export class QueryJoinExpression extends LogicItem {
132
132
  name: options,
133
133
  }, this, 'onExpressions');
134
134
  } else if (options instanceof BinaryExpression) {
135
- options.delete(); // 同一实例不支持多处存在
135
+ options.ensureDelete(); // 同一实例不支持多处存在
136
136
  binaryExpression = options;
137
137
  Object.assign(binaryExpression, relationOptions);
138
138
  } else {
@@ -220,7 +220,7 @@ export class QueryJoinExpression extends LogicItem {
220
220
 
221
221
  addBinaryExpressionInOnExpressions(options?: string | Partial<BinaryExpression> | BinaryExpression) {
222
222
  const node = this._addBinaryExpressionInOnExpressions(options as any);
223
- const index = this.onExpressions.length;
223
+ const index = this.onExpressions.indexOf(node);
224
224
  node.create({
225
225
  index,
226
226
  parentNode: this,
@@ -250,7 +250,7 @@ export class QueryJoinExpression extends LogicItem {
250
250
  const relationOptions = { parentNode: this, parentKey: 'joinParts' };
251
251
  let queryJoinExpression: QueryJoinExpression;
252
252
  if (options instanceof QueryJoinExpression) {
253
- options.delete(); // 同一实例不支持多处存在
253
+ options.ensureDelete(); // 同一实例不支持多处存在
254
254
  queryJoinExpression = options;
255
255
  Object.assign(queryJoinExpression, relationOptions);
256
256
  } else {
@@ -324,7 +324,7 @@ export class QueryJoinExpression extends LogicItem {
324
324
 
325
325
  addJoinPartInJoinParts(options?: Partial<QueryJoinExpression> | QueryJoinExpression) {
326
326
  const node = this._addJoinPartInJoinParts(options as any);
327
- const index = this.joinParts.length;
327
+ const index = this.joinParts.indexOf(node);
328
328
  node.create({
329
329
  index,
330
330
  parentNode: this,
@@ -168,8 +168,8 @@ export class QueryLimitExpression extends LogicItem {
168
168
  @withSourceMap()
169
169
  toEmbeddedTS(state?: TranslatorState): string {
170
170
  const { pageElement, pageSizeElement } = this;
171
- let code = '';
172
- code += `[${pageElement.toEmbeddedTS(shiftState(state, code))}, `;
171
+ let code = '[';
172
+ code += `${pageElement.toEmbeddedTS(shiftState(state, code))}, `;
173
173
  code += `${pageSizeElement.toEmbeddedTS(shiftState(state, code))}]`;
174
174
  return code;
175
175
  }
@@ -74,7 +74,7 @@ export class QuerySelectExpression extends LogicItem {
74
74
  return (this.selectElements || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
75
75
  }
76
76
  getQueryAggregateExpressionUniqueName(name = 'queryAggregateExpression1') {
77
- return utils.unique(name, this.getQueryAggregateExpressionExistingNames());
77
+ return utils.unique(name, this.getQueryAggregateExpressionExistingNames(), undefined, false);
78
78
  }
79
79
 
80
80
  /**
@@ -113,7 +113,7 @@ export class QuerySelectExpression extends LogicItem {
113
113
  name: options,
114
114
  }, this, 'selectElements');
115
115
  } else if (options instanceof QueryAggregateExpression) {
116
- options.delete(); // 同一实例不支持多处存在
116
+ options.ensureDelete(); // 同一实例不支持多处存在
117
117
  queryAggregateExpression = options;
118
118
  Object.assign(queryAggregateExpression, relationOptions);
119
119
  } else {
@@ -201,7 +201,7 @@ export class QuerySelectExpression extends LogicItem {
201
201
 
202
202
  addQueryAggregateExpression(options?: string | Partial<QueryAggregateExpression> | QueryAggregateExpression) {
203
203
  const node = this._addQueryAggregateExpression(options as any);
204
- const index = this.selectElements.length;
204
+ const index = this.selectElements.indexOf(node);
205
205
  node.create({
206
206
  index,
207
207
  parentNode: this,
@@ -5,6 +5,7 @@ import Entity from './Entity__';
5
5
  import EntityProperty from './EntityProperty__';
6
6
  import Structure from './Structure__';
7
7
  import StructureProperty from './StructureProperty__';
8
+ import { getNodeByNodeCallee, getNaslNodeByNodeCallee } from '../automate/engine/utils';
8
9
 
9
10
  //================================================================================
10
11
  // 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
@@ -233,13 +234,26 @@ export class Return extends BaseNode {
233
234
 
234
235
  @withSourceMap()
235
236
  toEmbeddedTS(state?: TranslatorState): string {
236
- let code = this.name;
237
+ let code = this.name || '__return';
237
238
  if (this.typeAnnotation) {
238
239
  code += ': ';
239
240
  code += this.typeAnnotation.toEmbeddedTS(shiftState(state, code));
240
241
  }
242
+ // if (this.defaultValue) {
243
+ // code += ` = ${this.defaultValue}`;
244
+ // }
245
+ return code;
246
+ }
247
+
248
+ @withSourceMap()
249
+ toEmbeddedTSInProcess(state?: TranslatorState): string {
250
+ let code = this.name;
251
+ if (this.typeAnnotation) {
252
+ code += ': undefined as ';
253
+ code += this.typeAnnotation.toEmbeddedTS(shiftState(state, code));
254
+ }
241
255
  if (this.defaultValue) {
242
- code += ` = ${this.defaultValue}`;
256
+ code += `: ${this.defaultValue}`;
243
257
  }
244
258
  return code;
245
259
  }
@@ -264,15 +278,19 @@ export class Return extends BaseNode {
264
278
  if (!typeAnnotation)
265
279
  throw new Error('找不到类型:' + typeAnnotation);
266
280
  } else {
267
- typeAnnotation._delete();
281
+ typeAnnotation._delete?.();
268
282
  const relationOptions = { parentId: this.id, parentConcept: this.concept, parentNode: this };
269
283
  Object.assign(typeAnnotation, relationOptions);
270
284
  }
271
-
285
+ // 处理下拉属性
286
+ try {
287
+ this.completionChildren = this.getSelectRef();
288
+ } catch (err) {
289
+ this.completionChildren = [];
290
+ console.log(err);
291
+ }
272
292
  const object = {
273
293
  typeAnnotation,
274
- // 处理下拉属性
275
- // completionChildren: this.getSelectRef(),
276
294
  };
277
295
 
278
296
  return this.update({
@@ -297,34 +315,47 @@ export class Return extends BaseNode {
297
315
  get readonly() {
298
316
  return !!this.module;
299
317
  }
300
-
318
+ get hasChildren() {
319
+ const { typeKind, typeNamespace } = this.typeAnnotation;
320
+ if (typeKind === 'reference' || typeKind === 'generic') {
321
+ if (typeNamespace.endsWith('.enums'))
322
+ return null;
323
+ return [{}];
324
+ }
325
+ return null;
326
+ }
327
+ get isTreeLeaf() {
328
+ return !this.hasChildren;
329
+ }
301
330
  getSelectRef() {
302
- const { typeName, typeKind, typeNamespace } = this.typeAnnotation;
303
- const moduleNames = typeNamespace.split('.');
304
- let completionChildren;
305
- if (typeKind === 'reference') {
306
- let type: 'entities' | 'structures';
307
- if (typeNamespace.endsWith('entities')) {
308
- type = 'entities';
309
- } else if (typeNamespace.endsWith('structures')) {
310
- // 数据结构比较复杂,会有
311
- type = 'structures';
312
- }
313
- // 内置模块
314
- // if (typeNamespace.startsWith('nasl.')) {
315
- // } else {
316
- const data = this.app[type] as Array<Entity | Structure>;
317
- if (data) {
318
- const properties = data.find((item) => item.name === typeName)?.properties;
319
- completionChildren = properties;
331
+ try {
332
+ const { typeName, typeKind, typeNamespace } = this.typeAnnotation;
333
+ let completionChildren;
334
+ if (typeKind === 'reference') {
335
+ if (typeNamespace === 'nasl.ui') {
336
+ const node = getNaslNodeByNodeCallee(typeNamespace, typeName);
337
+ const properties = node.properties || [];
338
+ completionChildren = properties;
339
+ } else if (typeNamespace.endsWith('.enums')) {
340
+ completionChildren = undefined;
341
+ } else {
342
+ const node = getNodeByNodeCallee(this.app, typeNamespace + '.' + typeName);
343
+ const properties = node.properties || [];
344
+ completionChildren = properties;
345
+ }
346
+ } else if (typeKind === 'generic') {
347
+ if (typeNamespace === 'nasl.collection') {
348
+ const node = getNaslNodeByNodeCallee(typeNamespace, typeName);
349
+ const properties = node.properties || [];
350
+ completionChildren = properties;
351
+ }
320
352
  } else {
321
353
  completionChildren = undefined;
322
354
  }
323
- // }
324
- } else {
325
- completionChildren = undefined;
355
+ return completionChildren;
356
+ } catch (err) {
357
+ console.log(err);
326
358
  }
327
- return completionChildren;
328
359
  }
329
360
  //================================================================================
330
361
  // 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
@@ -36,6 +36,12 @@ export class Role extends BaseNode {
36
36
  @property()
37
37
  uuid: string = uuidv4().replace(/-/g, '');
38
38
 
39
+ /**
40
+ * 创建时间
41
+ */
42
+ @property()
43
+ createdTime: string = undefined;
44
+
39
45
  /**
40
46
  * 角色描述
41
47
  */
@@ -105,9 +111,6 @@ export class Role extends BaseNode {
105
111
 
106
112
  get tsName() {
107
113
  let tsName = this.name;
108
- if (/^\d/.test(tsName)) {
109
- tsName = '$' + tsName;
110
- }
111
114
  // 匹配所有特殊字符都转为_
112
115
  tsName = tsName.replace(/[^\u4e00-\u9fa5a-zA-Z0-9]/g, '_');
113
116
  return tsName;
@@ -132,7 +135,11 @@ export class Role extends BaseNode {
132
135
  let code = `namespace ${this.getNamespace()} {\n`;
133
136
 
134
137
  const state = createCompilerState(code, { tabSize: 1 });
135
- code += this.toEmbeddedTS(state);
138
+ try {
139
+ code += this.toEmbeddedTS(state);
140
+ } catch (err) {
141
+ code += '';
142
+ }
136
143
  code += '}\n';
137
144
 
138
145
  return {
@@ -128,8 +128,8 @@ export class SqlQueryComponent extends LogicItem {
128
128
  //================================================================================
129
129
  @withSourceMap()
130
130
  toEmbeddedTS(state?: TranslatorState): string {
131
- let code = `(function(): nasl.collection.PageOf<`
132
- code +=`${this.typeAnnotation ? this.typeAnnotation.toEmbeddedTS(shiftState(state, code)): 'unknown'}> {\n`;
131
+ let code = `(function(): nasl.collection.List<`
132
+ code +=`${this.typeAnnotation ? this.typeAnnotation.toEmbeddedTS(shiftState(state, code)): '__IDENTIFIER__'}> {\n`;
133
133
  code += '\n';
134
134
  code += indent(state.tabSize + 1) + 'return;\n';
135
135
  code += indent(state.tabSize) + '})();\n';