@lcap/nasl 1.0.0-alpha.9 → 1.0.0

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 (441) hide show
  1. package/out/automate/engine/index.d.ts +3 -0
  2. package/out/automate/engine/index.js +513 -0
  3. package/out/automate/engine/index.js.map +1 -0
  4. package/out/automate/engine/utils.d.ts +24 -0
  5. package/out/automate/engine/utils.js +363 -0
  6. package/out/automate/engine/utils.js.map +1 -0
  7. package/out/common/BaseNode.d.ts +20 -0
  8. package/out/common/BaseNode.js +219 -81
  9. package/out/common/BaseNode.js.map +1 -1
  10. package/out/concepts/App__.d.ts +18 -1
  11. package/out/concepts/App__.js +75 -35
  12. package/out/concepts/App__.js.map +1 -1
  13. package/out/concepts/Argument__.d.ts +5 -1
  14. package/out/concepts/Argument__.js +21 -3
  15. package/out/concepts/Argument__.js.map +1 -1
  16. package/out/concepts/Assignee__.d.ts +190 -0
  17. package/out/concepts/Assignee__.js +264 -0
  18. package/out/concepts/Assignee__.js.map +1 -0
  19. package/out/concepts/Assignment__.js +5 -0
  20. package/out/concepts/Assignment__.js.map +1 -1
  21. package/out/concepts/BinaryExpression__.js +8 -7
  22. package/out/concepts/BinaryExpression__.js.map +1 -1
  23. package/out/concepts/BindAttribute__.d.ts +19 -0
  24. package/out/concepts/BindAttribute__.js +54 -9
  25. package/out/concepts/BindAttribute__.js.map +1 -1
  26. package/out/concepts/BindDirective__.js +22 -2
  27. package/out/concepts/BindDirective__.js.map +1 -1
  28. package/out/concepts/BindEvent__.d.ts +2 -2
  29. package/out/concepts/BindEvent__.js +67 -34
  30. package/out/concepts/BindEvent__.js.map +1 -1
  31. package/out/concepts/BooleanLiteral__.d.ts +2 -0
  32. package/out/concepts/BooleanLiteral__.js +10 -0
  33. package/out/concepts/BooleanLiteral__.js.map +1 -1
  34. package/out/concepts/CallFunction__.js +41 -23
  35. package/out/concepts/CallFunction__.js.map +1 -1
  36. package/out/concepts/CallInterface__.d.ts +5 -0
  37. package/out/concepts/CallInterface__.js +238 -31
  38. package/out/concepts/CallInterface__.js.map +1 -1
  39. package/out/concepts/CallLogic__.d.ts +4 -4
  40. package/out/concepts/CallLogic__.js +110 -53
  41. package/out/concepts/CallLogic__.js.map +1 -1
  42. package/out/concepts/CallQueryComponent__.d.ts +7 -1
  43. package/out/concepts/CallQueryComponent__.js +44 -25
  44. package/out/concepts/CallQueryComponent__.js.map +1 -1
  45. package/out/concepts/Comment__.js +6 -2
  46. package/out/concepts/Comment__.js.map +1 -1
  47. package/out/concepts/CompletionProperty__.d.ts +3 -1
  48. package/out/concepts/CompletionProperty__.js +2 -0
  49. package/out/concepts/CompletionProperty__.js.map +1 -1
  50. package/out/concepts/ConfigGroup__.js +2 -2
  51. package/out/concepts/ConfigGroup__.js.map +1 -1
  52. package/out/concepts/ConfigProperty__.js +2 -2
  53. package/out/concepts/ConfigProperty__.js.map +1 -1
  54. package/out/concepts/Configuration__.js +2 -2
  55. package/out/concepts/Configuration__.js.map +1 -1
  56. package/out/concepts/Constant__.d.ts +1 -0
  57. package/out/concepts/Constant__.js +14 -0
  58. package/out/concepts/Constant__.js.map +1 -1
  59. package/out/concepts/Destination__.d.ts +12 -0
  60. package/out/concepts/Destination__.js +94 -18
  61. package/out/concepts/Destination__.js.map +1 -1
  62. package/out/concepts/End__.js +9 -1
  63. package/out/concepts/End__.js.map +1 -1
  64. package/out/concepts/EntityProperty__.d.ts +11 -0
  65. package/out/concepts/EntityProperty__.js +73 -5
  66. package/out/concepts/EntityProperty__.js.map +1 -1
  67. package/out/concepts/Entity__.d.ts +4 -1
  68. package/out/concepts/Entity__.js +37 -15
  69. package/out/concepts/Entity__.js.map +1 -1
  70. package/out/concepts/Enum__.d.ts +4 -0
  71. package/out/concepts/Enum__.js +18 -10
  72. package/out/concepts/Enum__.js.map +1 -1
  73. package/out/concepts/Event__.js +2 -2
  74. package/out/concepts/Event__.js.map +1 -1
  75. package/out/concepts/ForEachStatement__.js +9 -13
  76. package/out/concepts/ForEachStatement__.js.map +1 -1
  77. package/out/concepts/Function__.js +9 -9
  78. package/out/concepts/Function__.js.map +1 -1
  79. package/out/concepts/Identifier__.d.ts +3 -0
  80. package/out/concepts/Identifier__.js +76 -29
  81. package/out/concepts/Identifier__.js.map +1 -1
  82. package/out/concepts/IfStatement__.js +4 -4
  83. package/out/concepts/IfStatement__.js.map +1 -1
  84. package/out/concepts/InterfaceParam__.d.ts +6 -4
  85. package/out/concepts/InterfaceParam__.js +52 -19
  86. package/out/concepts/InterfaceParam__.js.map +1 -1
  87. package/out/concepts/Interface__.d.ts +42 -30
  88. package/out/concepts/Interface__.js +131 -15
  89. package/out/concepts/Interface__.js.map +1 -1
  90. package/out/concepts/JSBlock__.d.ts +1 -0
  91. package/out/concepts/JSBlock__.js +3 -0
  92. package/out/concepts/JSBlock__.js.map +1 -1
  93. package/out/concepts/LogicItem__.d.ts +2 -1
  94. package/out/concepts/LogicItem__.js +14 -0
  95. package/out/concepts/LogicItem__.js.map +1 -1
  96. package/out/concepts/Logic__.d.ts +16 -1
  97. package/out/concepts/Logic__.js +176 -33
  98. package/out/concepts/Logic__.js.map +1 -1
  99. package/out/concepts/MemberExpression__.d.ts +2 -0
  100. package/out/concepts/MemberExpression__.js +49 -12
  101. package/out/concepts/MemberExpression__.js.map +1 -1
  102. package/out/concepts/Module__.d.ts +126 -120
  103. package/out/concepts/Module__.js +28 -18
  104. package/out/concepts/Module__.js.map +1 -1
  105. package/out/concepts/Namespace__.d.ts +5 -1
  106. package/out/concepts/Namespace__.js +36 -25
  107. package/out/concepts/Namespace__.js.map +1 -1
  108. package/out/concepts/NullLiteral__.d.ts +3 -0
  109. package/out/concepts/NullLiteral__.js +11 -1
  110. package/out/concepts/NullLiteral__.js.map +1 -1
  111. package/out/concepts/NumericLiteral__.d.ts +1 -1
  112. package/out/concepts/NumericLiteral__.js +17 -6
  113. package/out/concepts/NumericLiteral__.js.map +1 -1
  114. package/out/concepts/Param__.d.ts +7 -3
  115. package/out/concepts/Param__.js +57 -28
  116. package/out/concepts/Param__.js.map +1 -1
  117. package/out/concepts/ProcessComponent__.js +4 -4
  118. package/out/concepts/ProcessComponent__.js.map +1 -1
  119. package/out/concepts/ProcessElement__.d.ts +0 -4
  120. package/out/concepts/ProcessElement__.js +112 -49
  121. package/out/concepts/ProcessElement__.js.map +1 -1
  122. package/out/concepts/ProcessOutcome__.js +1 -1
  123. package/out/concepts/ProcessOutcome__.js.map +1 -1
  124. package/out/concepts/Process__.d.ts +7 -1
  125. package/out/concepts/Process__.js +77 -81
  126. package/out/concepts/Process__.js.map +1 -1
  127. package/out/concepts/QueryAggregateExpression__.js +1 -1
  128. package/out/concepts/QueryAggregateExpression__.js.map +1 -1
  129. package/out/concepts/QueryFromExpression__.js +2 -2
  130. package/out/concepts/QueryFromExpression__.js.map +1 -1
  131. package/out/concepts/QueryJoinExpression__.js +4 -4
  132. package/out/concepts/QueryJoinExpression__.js.map +1 -1
  133. package/out/concepts/QueryLimitExpression__.js +3 -3
  134. package/out/concepts/QueryLimitExpression__.js.map +1 -1
  135. package/out/concepts/QuerySelectExpression__.js +2 -2
  136. package/out/concepts/QuerySelectExpression__.js.map +1 -1
  137. package/out/concepts/Return__.d.ts +4 -1
  138. package/out/concepts/Return__.js +67 -21
  139. package/out/concepts/Return__.js.map +1 -1
  140. package/out/concepts/Role__.d.ts +4 -0
  141. package/out/concepts/Role__.js +13 -4
  142. package/out/concepts/Role__.js.map +1 -1
  143. package/out/concepts/SqlQueryComponent__.js +2 -2
  144. package/out/concepts/SqlQueryComponent__.js.map +1 -1
  145. package/out/concepts/StringLiteral__.d.ts +1 -1
  146. package/out/concepts/StringLiteral__.js +21 -31
  147. package/out/concepts/StringLiteral__.js.map +1 -1
  148. package/out/concepts/StructureProperty__.d.ts +5 -4
  149. package/out/concepts/StructureProperty__.js +55 -26
  150. package/out/concepts/StructureProperty__.js.map +1 -1
  151. package/out/concepts/Structure__.d.ts +44 -30
  152. package/out/concepts/Structure__.js +42 -10
  153. package/out/concepts/Structure__.js.map +1 -1
  154. package/out/concepts/SwitchCase__.js +4 -4
  155. package/out/concepts/SwitchCase__.js.map +1 -1
  156. package/out/concepts/SwitchStatement__.js +2 -2
  157. package/out/concepts/SwitchStatement__.js.map +1 -1
  158. package/out/concepts/TypeAnnotation__.d.ts +5 -5
  159. package/out/concepts/TypeAnnotation__.js +74 -20
  160. package/out/concepts/TypeAnnotation__.js.map +1 -1
  161. package/out/concepts/UnaryExpression__.js +10 -8
  162. package/out/concepts/UnaryExpression__.js.map +1 -1
  163. package/out/concepts/Unparsed__.js +1 -1
  164. package/out/concepts/Unparsed__.js.map +1 -1
  165. package/out/concepts/ValidationRule__.d.ts +1 -0
  166. package/out/concepts/ValidationRule__.js +48 -13
  167. package/out/concepts/ValidationRule__.js.map +1 -1
  168. package/out/concepts/Variable__.d.ts +10 -1
  169. package/out/concepts/Variable__.js +70 -18
  170. package/out/concepts/Variable__.js.map +1 -1
  171. package/out/concepts/ViewComponent__.js +10 -10
  172. package/out/concepts/ViewComponent__.js.map +1 -1
  173. package/out/concepts/ViewElement__.d.ts +17 -11
  174. package/out/concepts/ViewElement__.js +299 -201
  175. package/out/concepts/ViewElement__.js.map +1 -1
  176. package/out/concepts/View__.d.ts +12 -13
  177. package/out/concepts/View__.js +106 -103
  178. package/out/concepts/View__.js.map +1 -1
  179. package/out/concepts/WhileStatement__.js +3 -3
  180. package/out/concepts/WhileStatement__.js.map +1 -1
  181. package/out/concepts/basics/stdlib/index.js +4 -1
  182. package/out/concepts/basics/stdlib/index.js.map +1 -1
  183. package/out/concepts/basics/stdlib/{nasl.validate.d.ts → nasl.auth.d.ts} +0 -0
  184. package/out/concepts/basics/stdlib/nasl.auth.js +30 -0
  185. package/out/concepts/basics/stdlib/nasl.auth.js.map +1 -0
  186. package/out/concepts/basics/stdlib/nasl.browser copy.d.ts +3 -0
  187. package/out/concepts/basics/stdlib/nasl.browser copy.js +70 -0
  188. package/out/concepts/basics/stdlib/nasl.browser copy.js.map +1 -0
  189. package/out/concepts/basics/stdlib/nasl.browser.d.ts +3 -0
  190. package/out/concepts/basics/stdlib/nasl.browser.js +41 -0
  191. package/out/concepts/basics/stdlib/nasl.browser.js.map +1 -0
  192. package/out/concepts/basics/stdlib/nasl.configuration.d.ts +3 -0
  193. package/out/concepts/basics/stdlib/nasl.configuration.js +25 -0
  194. package/out/concepts/basics/stdlib/nasl.configuration.js.map +1 -0
  195. package/out/concepts/basics/stdlib/nasl.ui.js +20 -0
  196. package/out/concepts/basics/stdlib/nasl.ui.js.map +1 -1
  197. package/out/concepts/basics/stdlib/nasl.util.js +149 -13
  198. package/out/concepts/basics/stdlib/nasl.util.js.map +1 -1
  199. package/out/concepts/basics/stdlib/nasl.validation.js +54 -20
  200. package/out/concepts/basics/stdlib/nasl.validation.js.map +1 -1
  201. package/out/concepts/basics/types/coreTypeList.js +11 -10
  202. package/out/concepts/basics/types/coreTypeList.js.map +1 -1
  203. package/out/concepts/index__.d.ts +1 -0
  204. package/out/concepts/index__.js +1 -0
  205. package/out/concepts/index__.js.map +1 -1
  206. package/out/config.d.ts +1 -2
  207. package/out/config.js +1 -2
  208. package/out/config.js.map +1 -1
  209. package/out/enums/KEYWORDS.d.ts +3 -0
  210. package/out/enums/KEYWORDS.js +1208 -0
  211. package/out/enums/KEYWORDS.js.map +1 -0
  212. package/out/enums/LEVEL_NAME_MAP.d.ts +26 -0
  213. package/out/enums/LEVEL_NAME_MAP.js +30 -0
  214. package/out/enums/LEVEL_NAME_MAP.js.map +1 -0
  215. package/out/eventBus.d.ts +3 -0
  216. package/out/eventBus.js +7 -0
  217. package/out/eventBus.js.map +1 -0
  218. package/out/generator/genBundleFiles.d.ts +7 -2
  219. package/out/generator/genBundleFiles.js +168 -27
  220. package/out/generator/genBundleFiles.js.map +1 -1
  221. package/out/generator/genMetaData.d.ts +20 -20
  222. package/out/generator/genMetaData.js +50 -15
  223. package/out/generator/genMetaData.js.map +1 -1
  224. package/out/index.d.ts +2 -0
  225. package/out/index.js +2 -0
  226. package/out/index.js.map +1 -1
  227. package/out/manager/diagnostic.d.ts +1 -1
  228. package/out/server/createUiTs.d.ts +1 -0
  229. package/out/server/createUiTs.js +49 -5
  230. package/out/server/createUiTs.js.map +1 -1
  231. package/out/server/entity2LogicNamespace.js +38 -23
  232. package/out/server/entity2LogicNamespace.js.map +1 -1
  233. package/out/server/getExtensionModules.js +2 -0
  234. package/out/server/getExtensionModules.js.map +1 -1
  235. package/out/server/getFunctions.d.ts +1 -0
  236. package/out/server/getFunctions.js +7 -1
  237. package/out/server/getFunctions.js.map +1 -1
  238. package/out/server/getLogics.js +63 -18
  239. package/out/server/getLogics.js.map +1 -1
  240. package/out/server/getMemberIdentifier.d.ts +16 -1
  241. package/out/server/getMemberIdentifier.js +279 -36
  242. package/out/server/getMemberIdentifier.js.map +1 -1
  243. package/out/server/getProcesses.d.ts +6 -1
  244. package/out/server/getProcesses.js +243 -1
  245. package/out/server/getProcesses.js.map +1 -1
  246. package/out/server/getScope.d.ts +11 -0
  247. package/out/server/getScope.js +45 -0
  248. package/out/server/getScope.js.map +1 -0
  249. package/out/server/index.js +4 -0
  250. package/out/server/index.js.map +1 -1
  251. package/out/server/naslServer.d.ts +30 -53
  252. package/out/server/naslServer.js +682 -363
  253. package/out/server/naslServer.js.map +1 -1
  254. package/out/server/process2LogicNamespace.d.ts +10 -0
  255. package/out/server/process2LogicNamespace.js +29 -1
  256. package/out/server/process2LogicNamespace.js.map +1 -1
  257. package/out/server/translator.d.ts +22 -3
  258. package/out/server/translator.js +367 -123
  259. package/out/server/translator.js.map +1 -1
  260. package/out/service/creator/add.configs.d.ts +1 -0
  261. package/out/service/creator/add.configs.js +68 -0
  262. package/out/service/creator/add.configs.js.map +1 -0
  263. package/out/service/creator/errHandles.d.ts +18 -0
  264. package/out/service/creator/errHandles.js +60 -0
  265. package/out/service/creator/errHandles.js.map +1 -0
  266. package/out/service/creator/index.d.ts +1 -0
  267. package/out/service/creator/index.js +72 -0
  268. package/out/service/creator/index.js.map +1 -0
  269. package/out/service/storage/api.d.ts +18 -0
  270. package/out/service/storage/api.js +17 -0
  271. package/out/service/storage/api.js.map +1 -0
  272. package/out/service/storage/init.js +200 -37
  273. package/out/service/storage/init.js.map +1 -1
  274. package/out/service/storage/service.d.ts +2 -0
  275. package/out/service/storage/service.js +10 -0
  276. package/out/service/storage/service.js.map +1 -0
  277. package/out/service/storage/storagePoint.d.ts +1 -14
  278. package/out/service/storage/storagePoint.js +16 -16
  279. package/out/service/storage/storagePoint.js.map +1 -1
  280. package/out/templator/genCreateBlock.js +6 -6
  281. package/out/templator/genCreateBlock.js.map +1 -1
  282. package/out/templator/genCurdEditMultipleKeyBlock.js +13 -17
  283. package/out/templator/genCurdEditMultipleKeyBlock.js.map +1 -1
  284. package/out/templator/genCurdMultipleKeyBlock.js +11 -11
  285. package/out/templator/genCurdMultipleKeyBlock.js.map +1 -1
  286. package/out/templator/genEditTableBlock.js +5 -5
  287. package/out/templator/genEditTableBlock.js.map +1 -1
  288. package/out/templator/genEnumSelectBlock.js +2 -2
  289. package/out/templator/genEnumSelectBlock.js.map +1 -1
  290. package/out/templator/genGetBlock.js +5 -3
  291. package/out/templator/genGetBlock.js.map +1 -1
  292. package/out/templator/genGridViewBlock.d.ts +3 -1
  293. package/out/templator/genGridViewBlock.js +61 -6
  294. package/out/templator/genGridViewBlock.js.map +1 -1
  295. package/out/templator/genQueryComponent.d.ts +2 -0
  296. package/out/templator/genQueryComponent.js +27 -14
  297. package/out/templator/genQueryComponent.js.map +1 -1
  298. package/out/templator/genTableBlock.d.ts +1 -1
  299. package/out/templator/genTableBlock.js +4 -5
  300. package/out/templator/genTableBlock.js.map +1 -1
  301. package/out/templator/genUpdateBlock.js +9 -10
  302. package/out/templator/genUpdateBlock.js.map +1 -1
  303. package/out/templator/utils.d.ts +13 -4
  304. package/out/templator/utils.js +8 -4
  305. package/out/templator/utils.js.map +1 -1
  306. package/out/test/fixtures/env.js +0 -1
  307. package/out/test/fixtures/env.js.map +1 -1
  308. package/out/test/units/page/Element.spec.js +3 -3
  309. package/out/test/units/page/Element.spec.js.map +1 -1
  310. package/out/test/units/temp/temp.spec.js +1 -1
  311. package/out/test/units/temp/temp.spec.js.map +1 -1
  312. package/out/utils/index.d.ts +6 -0
  313. package/out/utils/index.js +20 -1
  314. package/out/utils/index.js.map +1 -1
  315. package/package.json +2 -1
  316. package/src/automate/engine/index.js +116 -39
  317. package/src/automate/engine/utils.js +49 -19
  318. package/src/common/BaseNode.ts +215 -71
  319. package/src/concepts/App__.ts +77 -37
  320. package/src/concepts/Argument__.ts +23 -3
  321. package/src/concepts/Assignee__.ts +437 -0
  322. package/src/concepts/Assignment__.ts +4 -1
  323. package/src/concepts/BinaryExpression__.ts +9 -7
  324. package/src/concepts/BindAttribute__.ts +68 -8
  325. package/src/concepts/BindDirective__.ts +21 -2
  326. package/src/concepts/BindEvent__.ts +67 -23
  327. package/src/concepts/BooleanLiteral__.ts +8 -0
  328. package/src/concepts/CallFunction__.ts +38 -21
  329. package/src/concepts/CallInterface__.ts +236 -26
  330. package/src/concepts/CallLogic__.ts +114 -86
  331. package/src/concepts/CallQueryComponent__.ts +23 -15
  332. package/src/concepts/Comment__.ts +6 -2
  333. package/src/concepts/CompletionProperty__.ts +5 -1
  334. package/src/concepts/ConfigGroup__.ts +2 -2
  335. package/src/concepts/ConfigProperty__.ts +2 -2
  336. package/src/concepts/Configuration__.ts +2 -2
  337. package/src/concepts/Constant__.ts +12 -0
  338. package/src/concepts/Destination__.ts +101 -17
  339. package/src/concepts/End__.ts +8 -1
  340. package/src/concepts/EntityProperty__.ts +58 -5
  341. package/src/concepts/Entity__.ts +40 -23
  342. package/src/concepts/Enum__.ts +16 -11
  343. package/src/concepts/Event__.ts +2 -2
  344. package/src/concepts/ForEachStatement__.ts +14 -19
  345. package/src/concepts/Function__.ts +9 -9
  346. package/src/concepts/Identifier__.ts +83 -32
  347. package/src/concepts/IfStatement__.ts +4 -4
  348. package/src/concepts/InterfaceParam__.ts +52 -16
  349. package/src/concepts/Interface__.ts +128 -14
  350. package/src/concepts/JSBlock__.ts +4 -0
  351. package/src/concepts/LogicItem__.ts +16 -1
  352. package/src/concepts/Logic__.ts +173 -35
  353. package/src/concepts/MemberExpression__.ts +58 -14
  354. package/src/concepts/Module__.ts +27 -16
  355. package/src/concepts/Namespace__.ts +37 -25
  356. package/src/concepts/NullLiteral__.ts +8 -1
  357. package/src/concepts/NumericLiteral__.ts +17 -6
  358. package/src/concepts/Param__.ts +56 -15
  359. package/src/concepts/ProcessComponent__.ts +4 -4
  360. package/src/concepts/ProcessElement__.ts +138 -39
  361. package/src/concepts/ProcessOutcome__.ts +1 -1
  362. package/src/concepts/Process__.ts +81 -94
  363. package/src/concepts/QueryAggregateExpression__.ts +1 -1
  364. package/src/concepts/QueryFromExpression__.ts +2 -2
  365. package/src/concepts/QueryJoinExpression__.ts +4 -4
  366. package/src/concepts/QueryLimitExpression__.ts +3 -12
  367. package/src/concepts/QuerySelectExpression__.ts +2 -2
  368. package/src/concepts/Return__.ts +62 -15
  369. package/src/concepts/Role__.ts +5 -4
  370. package/src/concepts/SqlQueryComponent__.ts +2 -2
  371. package/src/concepts/StringLiteral__.ts +20 -31
  372. package/src/concepts/StructureProperty__.ts +50 -18
  373. package/src/concepts/Structure__.ts +30 -8
  374. package/src/concepts/SwitchCase__.ts +4 -4
  375. package/src/concepts/SwitchStatement__.ts +2 -2
  376. package/src/concepts/TypeAnnotation__.ts +58 -15
  377. package/src/concepts/UnaryExpression__.ts +10 -8
  378. package/src/concepts/Unparsed__.ts +1 -1
  379. package/src/concepts/ValidationRule__.ts +44 -14
  380. package/src/concepts/Variable__.ts +63 -14
  381. package/src/concepts/ViewComponent__.ts +10 -10
  382. package/src/concepts/ViewElement__.ts +285 -162
  383. package/src/concepts/View__.ts +116 -70
  384. package/src/concepts/WhileStatement__.ts +4 -4
  385. package/src/concepts/basics/stdlib/index.ts +4 -2
  386. package/src/concepts/basics/stdlib/nasl.auth.ts +26 -0
  387. package/src/concepts/basics/stdlib/nasl.browser.ts +37 -0
  388. package/src/concepts/basics/stdlib/nasl.configuration.ts +21 -0
  389. package/src/concepts/basics/stdlib/nasl.ui.ts +20 -1
  390. package/src/concepts/basics/stdlib/nasl.util.ts +151 -13
  391. package/src/concepts/basics/stdlib/nasl.validation.ts +45 -11
  392. package/src/concepts/basics/types/coreTypeList.ts +11 -11
  393. package/src/concepts/index__.ts +1 -0
  394. package/src/config.ts +1 -2
  395. package/src/enums/KEYWORDS.ts +1206 -0
  396. package/src/{terms → enums}/LEVEL_NAME_MAP.ts +0 -0
  397. package/src/eventBus.ts +5 -0
  398. package/src/generator/genBundleFiles.ts +182 -30
  399. package/src/generator/genMetaData.ts +72 -21
  400. package/src/index.ts +2 -0
  401. package/src/manager/diagnostic.ts +1 -1
  402. package/src/server/createUiTs.ts +45 -7
  403. package/src/server/entity2LogicNamespace.ts +41 -25
  404. package/src/server/getExtensionModules.ts +2 -0
  405. package/src/server/getFunctions.ts +6 -0
  406. package/src/server/getLogics.ts +66 -19
  407. package/src/server/getMemberIdentifier.ts +233 -63
  408. package/src/server/getProcesses.ts +248 -4
  409. package/src/server/getScope.ts +50 -0
  410. package/src/server/index.ts +12 -1
  411. package/src/server/naslServer.ts +685 -387
  412. package/src/server/process2LogicNamespace.ts +30 -2
  413. package/src/server/translator.ts +423 -128
  414. package/src/service/config/index.js +1 -1
  415. package/src/service/creator/errHandles.js +5 -2
  416. package/src/service/creator/index.js +0 -6
  417. package/src/service/storage/api.js +14 -0
  418. package/src/service/storage/init.ts +198 -45
  419. package/src/service/storage/service.ts +6 -0
  420. package/src/service/storage/storagePoint.ts +16 -16
  421. package/src/templator/genCreateBlock.ts +6 -6
  422. package/src/templator/genCurdEditMultipleKeyBlock.ts +29 -30
  423. package/src/templator/genCurdMultipleKeyBlock.ts +11 -11
  424. package/src/templator/genEditTableBlock.ts +5 -5
  425. package/src/templator/genEnumSelectBlock.ts +2 -2
  426. package/src/templator/genGetBlock.ts +6 -8
  427. package/src/templator/genGridViewBlock.ts +59 -9
  428. package/src/templator/genQueryComponent.ts +39 -28
  429. package/src/templator/genTableBlock.ts +5 -9
  430. package/src/templator/genUpdateBlock.ts +9 -11
  431. package/src/templator/utils.ts +9 -6
  432. package/src/test/fixtures/env.ts +0 -2
  433. package/src/test/units/page/Element.spec.ts +3 -3
  434. package/src/test/units/temp/temp.spec.ts +1 -1
  435. package/src/utils/index.ts +19 -0
  436. package/out/concepts/basics/stdlib/nasl.validate.js +0 -527
  437. package/out/concepts/basics/stdlib/nasl.validate.js.map +0 -1
  438. package/out/data/Module.d.ts +0 -34
  439. package/out/data/Module.js +0 -53
  440. package/out/data/Module.js.map +0 -1
  441. package/src/automate/engine/index.d.ts +0 -3
@@ -198,7 +198,7 @@ export class Module extends BaseNode {
198
198
  name: options,
199
199
  }, this, 'entities');
200
200
  } else if (options instanceof Entity) {
201
- options.delete(); // 同一实例不支持多处存在
201
+ options.ensureDelete(); // 同一实例不支持多处存在
202
202
  entity = options;
203
203
  Object.assign(entity, relationOptions);
204
204
  } else {
@@ -286,7 +286,7 @@ export class Module extends BaseNode {
286
286
 
287
287
  addEntity(options?: string | Partial<Entity> | Entity) {
288
288
  const node = this._addEntity(options as any);
289
- const index = 0;
289
+ const index = this.entities.indexOf(node);
290
290
  node.create({
291
291
  index,
292
292
  parentNode: this,
@@ -340,7 +340,7 @@ export class Module extends BaseNode {
340
340
  name: options,
341
341
  }, this, 'structures');
342
342
  } else if (options instanceof Structure) {
343
- options.delete(); // 同一实例不支持多处存在
343
+ options.ensureDelete(); // 同一实例不支持多处存在
344
344
  structure = options;
345
345
  Object.assign(structure, relationOptions);
346
346
  } else {
@@ -428,7 +428,7 @@ export class Module extends BaseNode {
428
428
 
429
429
  addStructure(options?: string | Partial<Structure> | Structure) {
430
430
  const node = this._addStructure(options as any);
431
- const index = 0;
431
+ const index = this.structures.indexOf(node);
432
432
  node.create({
433
433
  index,
434
434
  parentNode: this,
@@ -482,7 +482,7 @@ export class Module extends BaseNode {
482
482
  name: options,
483
483
  }, this, 'enums');
484
484
  } else if (options instanceof Enum) {
485
- options.delete(); // 同一实例不支持多处存在
485
+ options.ensureDelete(); // 同一实例不支持多处存在
486
486
  enumeration = options;
487
487
  Object.assign(enumeration, relationOptions);
488
488
  } else {
@@ -570,7 +570,7 @@ export class Module extends BaseNode {
570
570
 
571
571
  addEnum(options?: string | Partial<Enum> | Enum) {
572
572
  const node = this._addEnum(options as any);
573
- const index = 0;
573
+ const index = this.enums.indexOf(node);
574
574
  node.create({
575
575
  index,
576
576
  parentNode: this,
@@ -624,7 +624,7 @@ export class Module extends BaseNode {
624
624
  name: options,
625
625
  }, this, 'logics');
626
626
  } else if (options instanceof Logic) {
627
- options.delete(); // 同一实例不支持多处存在
627
+ options.ensureDelete(); // 同一实例不支持多处存在
628
628
  logic = options;
629
629
  Object.assign(logic, relationOptions);
630
630
  } else {
@@ -712,7 +712,7 @@ export class Module extends BaseNode {
712
712
 
713
713
  addLogic(options?: string | Partial<Logic> | Logic) {
714
714
  const node = this._addLogic(options as any);
715
- const index = 0;
715
+ const index = this.logics.indexOf(node);
716
716
  node.create({
717
717
  index,
718
718
  parentNode: this,
@@ -766,7 +766,7 @@ export class Module extends BaseNode {
766
766
  name: options,
767
767
  }, this, 'interfaces');
768
768
  } else if (options instanceof Interface) {
769
- options.delete(); // 同一实例不支持多处存在
769
+ options.ensureDelete(); // 同一实例不支持多处存在
770
770
  itface = options;
771
771
  Object.assign(itface, relationOptions);
772
772
  } else {
@@ -854,7 +854,7 @@ export class Module extends BaseNode {
854
854
 
855
855
  addInterface(options?: string | Partial<Interface> | Interface) {
856
856
  const node = this._addInterface(options as any);
857
- const index = 0;
857
+ const index = this.interfaces.indexOf(node);
858
858
  node.create({
859
859
  index,
860
860
  parentNode: this,
@@ -908,7 +908,7 @@ export class Module extends BaseNode {
908
908
  name: options,
909
909
  }, this, 'views');
910
910
  } else if (options instanceof View) {
911
- options.delete(); // 同一实例不支持多处存在
911
+ options.ensureDelete(); // 同一实例不支持多处存在
912
912
  view = options;
913
913
  Object.assign(view, relationOptions);
914
914
  } else {
@@ -996,7 +996,7 @@ export class Module extends BaseNode {
996
996
 
997
997
  addView(options?: string | Partial<View> | View) {
998
998
  const node = this._addView(options as any);
999
- const index = this.views.length;
999
+ const index = this.views.indexOf(node);
1000
1000
  node.create({
1001
1001
  index,
1002
1002
  parentNode: this,
@@ -1050,7 +1050,7 @@ export class Module extends BaseNode {
1050
1050
  name: options,
1051
1051
  }, this, 'processes');
1052
1052
  } else if (options instanceof Process) {
1053
- options.delete(); // 同一实例不支持多处存在
1053
+ options.ensureDelete(); // 同一实例不支持多处存在
1054
1054
  process = options;
1055
1055
  Object.assign(process, relationOptions);
1056
1056
  } else {
@@ -1138,7 +1138,7 @@ export class Module extends BaseNode {
1138
1138
 
1139
1139
  addProcess(options?: string | Partial<Process> | Process) {
1140
1140
  const node = this._addProcess(options as any);
1141
- const index = 0;
1141
+ const index = this.processes.indexOf(node);
1142
1142
  node.create({
1143
1143
  index,
1144
1144
  parentNode: this,
@@ -1192,7 +1192,7 @@ export class Module extends BaseNode {
1192
1192
  name: options,
1193
1193
  }, this, 'viewComponents');
1194
1194
  } else if (options instanceof ViewComponent) {
1195
- options.delete(); // 同一实例不支持多处存在
1195
+ options.ensureDelete(); // 同一实例不支持多处存在
1196
1196
  viewComponent = options;
1197
1197
  Object.assign(viewComponent, relationOptions);
1198
1198
  } else {
@@ -1280,7 +1280,7 @@ export class Module extends BaseNode {
1280
1280
 
1281
1281
  addViewComponent(options?: string | Partial<ViewComponent> | ViewComponent) {
1282
1282
  const node = this._addViewComponent(options as any);
1283
- const index = this.viewComponents.length;
1283
+ const index = this.viewComponents.indexOf(node);
1284
1284
  node.create({
1285
1285
  index,
1286
1286
  parentNode: this,
@@ -1695,11 +1695,22 @@ export class Module extends BaseNode {
1695
1695
  // 自动生成的代码已结束。下面可以手动编写。
1696
1696
  //================================================================================
1697
1697
 
1698
+ /**
1699
+ * 生成宿主语言的文件路径
1700
+ * @param name 一般不用传,用于 rename
1701
+ */
1702
+ getEmbeddedFilePath(name = this.name) {
1703
+ return `/embedded/${this.app.name}/${this.parentKey}/${this.name}`;
1704
+ }
1698
1705
  /**
1699
1706
  * 获取命名空间和
1700
1707
  * 暂时不考虑 Module 嵌套的情况
1701
1708
  */
1702
1709
  getNamespace() {
1710
+ return `${moduleNameSpace[this.parentKey as ModuleKeyType]}.${this.name}`;
1711
+ }
1712
+
1713
+ getTsNamespace() {
1703
1714
  return `${moduleNameSpace[this.parentKey as ModuleKeyType]}.${this.tsName}`;
1704
1715
  }
1705
1716
 
@@ -36,7 +36,7 @@ export class Namespace extends BaseNode {
36
36
  * 表示是从实体还是流程等概念产生的
37
37
  */
38
38
  @property()
39
- originConcept: 'Namespace' = 'Namespace';
39
+ originConcept: string = undefined;
40
40
 
41
41
  /**
42
42
  * 命名空间名称
@@ -200,7 +200,7 @@ export class Namespace extends BaseNode {
200
200
  name: options,
201
201
  }, this, 'children');
202
202
  } else if (options instanceof Namespace) {
203
- options.delete(); // 同一实例不支持多处存在
203
+ options.ensureDelete(); // 同一实例不支持多处存在
204
204
  namespace = options;
205
205
  Object.assign(namespace, relationOptions);
206
206
  } else {
@@ -288,7 +288,7 @@ export class Namespace extends BaseNode {
288
288
 
289
289
  addNamespace(options?: string | Partial<Namespace> | Namespace) {
290
290
  const node = this._addNamespace(options as any);
291
- const index = this.children.length;
291
+ const index = this.children.indexOf(node);
292
292
  node.create({
293
293
  index,
294
294
  parentNode: this,
@@ -342,7 +342,7 @@ export class Namespace extends BaseNode {
342
342
  name: options,
343
343
  }, this, 'processes');
344
344
  } else if (options instanceof Process) {
345
- options.delete(); // 同一实例不支持多处存在
345
+ options.ensureDelete(); // 同一实例不支持多处存在
346
346
  process = options;
347
347
  Object.assign(process, relationOptions);
348
348
  } else {
@@ -430,7 +430,7 @@ export class Namespace extends BaseNode {
430
430
 
431
431
  addProcess(options?: string | Partial<Process> | Process) {
432
432
  const node = this._addProcess(options as any);
433
- const index = 0;
433
+ const index = this.processes.indexOf(node);
434
434
  node.create({
435
435
  index,
436
436
  parentNode: this,
@@ -484,7 +484,7 @@ export class Namespace extends BaseNode {
484
484
  name: options,
485
485
  }, this, 'entities');
486
486
  } else if (options instanceof Entity) {
487
- options.delete(); // 同一实例不支持多处存在
487
+ options.ensureDelete(); // 同一实例不支持多处存在
488
488
  entity = options;
489
489
  Object.assign(entity, relationOptions);
490
490
  } else {
@@ -572,7 +572,7 @@ export class Namespace extends BaseNode {
572
572
 
573
573
  addEntity(options?: string | Partial<Entity> | Entity) {
574
574
  const node = this._addEntity(options as any);
575
- const index = 0;
575
+ const index = this.entities.indexOf(node);
576
576
  node.create({
577
577
  index,
578
578
  parentNode: this,
@@ -626,7 +626,7 @@ export class Namespace extends BaseNode {
626
626
  name: options,
627
627
  }, this, 'structures');
628
628
  } else if (options instanceof Structure) {
629
- options.delete(); // 同一实例不支持多处存在
629
+ options.ensureDelete(); // 同一实例不支持多处存在
630
630
  structure = options;
631
631
  Object.assign(structure, relationOptions);
632
632
  } else {
@@ -714,7 +714,7 @@ export class Namespace extends BaseNode {
714
714
 
715
715
  addStructure(options?: string | Partial<Structure> | Structure) {
716
716
  const node = this._addStructure(options as any);
717
- const index = 0;
717
+ const index = this.structures.indexOf(node);
718
718
  node.create({
719
719
  index,
720
720
  parentNode: this,
@@ -768,7 +768,7 @@ export class Namespace extends BaseNode {
768
768
  name: options,
769
769
  }, this, 'enums');
770
770
  } else if (options instanceof Enum) {
771
- options.delete(); // 同一实例不支持多处存在
771
+ options.ensureDelete(); // 同一实例不支持多处存在
772
772
  enumeration = options;
773
773
  Object.assign(enumeration, relationOptions);
774
774
  } else {
@@ -856,7 +856,7 @@ export class Namespace extends BaseNode {
856
856
 
857
857
  addEnum(options?: string | Partial<Enum> | Enum) {
858
858
  const node = this._addEnum(options as any);
859
- const index = 0;
859
+ const index = this.enums.indexOf(node);
860
860
  node.create({
861
861
  index,
862
862
  parentNode: this,
@@ -910,7 +910,7 @@ export class Namespace extends BaseNode {
910
910
  name: options,
911
911
  }, this, 'logics');
912
912
  } else if (options instanceof Logic) {
913
- options.delete(); // 同一实例不支持多处存在
913
+ options.ensureDelete(); // 同一实例不支持多处存在
914
914
  logic = options;
915
915
  Object.assign(logic, relationOptions);
916
916
  } else {
@@ -998,7 +998,7 @@ export class Namespace extends BaseNode {
998
998
 
999
999
  addLogic(options?: string | Partial<Logic> | Logic) {
1000
1000
  const node = this._addLogic(options as any);
1001
- const index = 0;
1001
+ const index = this.logics.indexOf(node);
1002
1002
  node.create({
1003
1003
  index,
1004
1004
  parentNode: this,
@@ -1052,7 +1052,7 @@ export class Namespace extends BaseNode {
1052
1052
  name: options,
1053
1053
  }, this, 'functions');
1054
1054
  } else if (options instanceof Function) {
1055
- options.delete(); // 同一实例不支持多处存在
1055
+ options.ensureDelete(); // 同一实例不支持多处存在
1056
1056
  func = options;
1057
1057
  Object.assign(func, relationOptions);
1058
1058
  } else {
@@ -1140,7 +1140,7 @@ export class Namespace extends BaseNode {
1140
1140
 
1141
1141
  addFunction(options?: string | Partial<Function> | Function) {
1142
1142
  const node = this._addFunction(options as any);
1143
- const index = 0;
1143
+ const index = this.functions.indexOf(node);
1144
1144
  node.create({
1145
1145
  index,
1146
1146
  parentNode: this,
@@ -1194,7 +1194,7 @@ export class Namespace extends BaseNode {
1194
1194
  name: options,
1195
1195
  }, this, 'interfaces');
1196
1196
  } else if (options instanceof Interface) {
1197
- options.delete(); // 同一实例不支持多处存在
1197
+ options.ensureDelete(); // 同一实例不支持多处存在
1198
1198
  itface = options;
1199
1199
  Object.assign(itface, relationOptions);
1200
1200
  } else {
@@ -1282,7 +1282,7 @@ export class Namespace extends BaseNode {
1282
1282
 
1283
1283
  addInterface(options?: string | Partial<Interface> | Interface) {
1284
1284
  const node = this._addInterface(options as any);
1285
- const index = 0;
1285
+ const index = this.interfaces.indexOf(node);
1286
1286
  node.create({
1287
1287
  index,
1288
1288
  parentNode: this,
@@ -1336,7 +1336,7 @@ export class Namespace extends BaseNode {
1336
1336
  name: options,
1337
1337
  }, this, 'views');
1338
1338
  } else if (options instanceof View) {
1339
- options.delete(); // 同一实例不支持多处存在
1339
+ options.ensureDelete(); // 同一实例不支持多处存在
1340
1340
  view = options;
1341
1341
  Object.assign(view, relationOptions);
1342
1342
  } else {
@@ -1424,7 +1424,7 @@ export class Namespace extends BaseNode {
1424
1424
 
1425
1425
  addView(options?: string | Partial<View> | View) {
1426
1426
  const node = this._addView(options as any);
1427
- const index = this.views.length;
1427
+ const index = this.views.indexOf(node);
1428
1428
  node.create({
1429
1429
  index,
1430
1430
  parentNode: this,
@@ -1478,7 +1478,7 @@ export class Namespace extends BaseNode {
1478
1478
  name: options,
1479
1479
  }, this, 'variables');
1480
1480
  } else if (options instanceof Variable) {
1481
- options.delete(); // 同一实例不支持多处存在
1481
+ options.ensureDelete(); // 同一实例不支持多处存在
1482
1482
  variable = options;
1483
1483
  Object.assign(variable, relationOptions);
1484
1484
  } else {
@@ -1566,7 +1566,7 @@ export class Namespace extends BaseNode {
1566
1566
 
1567
1567
  addVariable(options?: string | Partial<Variable> | Variable) {
1568
1568
  const node = this._addVariable(options as any);
1569
- const index = this.variables.length;
1569
+ const index = this.variables.indexOf(node);
1570
1570
  node.create({
1571
1571
  index,
1572
1572
  parentNode: this,
@@ -1620,7 +1620,7 @@ export class Namespace extends BaseNode {
1620
1620
  name: options,
1621
1621
  }, this, 'viewComponents');
1622
1622
  } else if (options instanceof ViewComponent) {
1623
- options.delete(); // 同一实例不支持多处存在
1623
+ options.ensureDelete(); // 同一实例不支持多处存在
1624
1624
  viewComponent = options;
1625
1625
  Object.assign(viewComponent, relationOptions);
1626
1626
  } else {
@@ -1708,7 +1708,7 @@ export class Namespace extends BaseNode {
1708
1708
 
1709
1709
  addViewComponent(options?: string | Partial<ViewComponent> | ViewComponent) {
1710
1710
  const node = this._addViewComponent(options as any);
1711
- const index = this.viewComponents.length;
1711
+ const index = this.viewComponents.indexOf(node);
1712
1712
  node.create({
1713
1713
  index,
1714
1714
  parentNode: this,
@@ -1762,7 +1762,7 @@ export class Namespace extends BaseNode {
1762
1762
  name: options,
1763
1763
  }, this, 'processComponents');
1764
1764
  } else if (options instanceof ProcessComponent) {
1765
- options.delete(); // 同一实例不支持多处存在
1765
+ options.ensureDelete(); // 同一实例不支持多处存在
1766
1766
  processComponent = options;
1767
1767
  Object.assign(processComponent, relationOptions);
1768
1768
  } else {
@@ -1850,7 +1850,7 @@ export class Namespace extends BaseNode {
1850
1850
 
1851
1851
  addProcessComponent(options?: string | Partial<ProcessComponent> | ProcessComponent) {
1852
1852
  const node = this._addProcessComponent(options as any);
1853
- const index = this.processComponents.length;
1853
+ const index = this.processComponents.indexOf(node);
1854
1854
  node.create({
1855
1855
  index,
1856
1856
  parentNode: this,
@@ -2496,6 +2496,18 @@ export class Namespace extends BaseNode {
2496
2496
  throw new Error('无法获取命名空间,请设置 parentNode 或临时的 path!');
2497
2497
  }
2498
2498
 
2499
+ /**
2500
+ * 获取命名空间
2501
+ */
2502
+ getTsNamespace(): string {
2503
+ if (this.path)
2504
+ return this.path;
2505
+ else if (this.parentNode && (this.parentNode as Namespace).getNamespace)
2506
+ return `${(this.parentNode as Namespace).getNamespace()}.${this.tsName}`;
2507
+ else
2508
+ throw new Error('无法获取命名空间,请设置 parentNode 或临时的 path!');
2509
+ }
2510
+
2499
2511
  findChild(name: string) {
2500
2512
  return this.children.find((child) => child.name === name);
2501
2513
  }
@@ -52,7 +52,7 @@ export class NullLiteral extends LogicItem {
52
52
  // 自动生成的代码已结束。下面可以手动编写。
53
53
  //================================================================================
54
54
  toVue(options?: ElementToVueOptions): string {
55
- return 'null';
55
+ return 'undefined';
56
56
  }
57
57
 
58
58
  toUI(): string {
@@ -60,6 +60,13 @@ export class NullLiteral extends LogicItem {
60
60
  }
61
61
 
62
62
  toJS(): string {
63
+ return 'undefined';
64
+ }
65
+ @withSourceMap()
66
+ toEmbeddedTS(state?: TranslatorState) {
67
+ return 'null';
68
+ }
69
+ getValue() {
63
70
  return 'null';
64
71
  }
65
72
 
@@ -135,26 +135,37 @@ export class NumericLiteral extends LogicItem {
135
135
  return code;
136
136
  }
137
137
 
138
- changeType() {
139
- if (this.value.length > 8) {
140
- this.typeAnnotation.typeName = 'Long';
138
+ changeType(value: string | number) {
139
+ const newValue = value.toString();
140
+ let typeName = 'Integer';
141
+ if (newValue.length > 8) {
142
+ typeName = 'Long';
141
143
  } else {
142
- this.typeAnnotation.typeName = 'Integer';
144
+ typeName = 'Integer';
143
145
  }
144
- if (this.value.includes('.')) {
145
- this.typeAnnotation.typeName = 'Double';
146
+ if (newValue.includes('.')) {
147
+ typeName = 'Double';
146
148
  }
149
+ return typeName;
147
150
  }
148
151
  /**
149
152
  * 设置数组内容
150
153
  */
151
154
  setValue(value: string) {
155
+ const typeName = this.changeType(value);
156
+ const App = this.app;
157
+ App.emit('collect:start', {
158
+ actionMsg: '修改数字文本内容',
159
+ });
160
+ this.typeAnnotation.setTypeName(typeName);
152
161
  const object = {
153
162
  value,
154
163
  };
155
164
  this.update({
156
165
  ...object,
157
166
  });
167
+ // 结束修改 ,批量操作
168
+ App.emit('collect:end');
158
169
  }
159
170
 
160
171
  /**
@@ -6,7 +6,7 @@ import Entity from './Entity__';
6
6
  import EntityProperty from './EntityProperty__';
7
7
  import Structure from './Structure__';
8
8
  import StructureProperty from './StructureProperty__';
9
- import { getNodeByNodeCallee } from '@nasl/automate/engine/utils';
9
+ import { getNodeByNodeCallee, getNaslNodeByNodeCallee } from '../automate/engine/utils';
10
10
 
11
11
  //================================================================================
12
12
  // 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
@@ -244,7 +244,7 @@ export class Param extends BaseNode {
244
244
  @excludedInJSON()
245
245
  @property()
246
246
  useComponent: {
247
- type: 's-member-identifier-select' | 's-enum-select' | 's-schema-select' | 's-datatype-select' | 's-options-select';
247
+ type: 's-member-identifier-select' | 's-enum-select' | 's-schema-select' | 's-datatype-select' | 's-config-select' | 's-options-select';
248
248
  attrs?: any;
249
249
  } = undefined;
250
250
 
@@ -255,7 +255,9 @@ export class Param extends BaseNode {
255
255
 
256
256
  toJS(state?: TranslatorState): string {
257
257
  if (this.view) {
258
- return `${this.name} = ${this.name} !== undefined ? ${this.name} : this.$genInitFromSchema(${JSON.stringify(this.typeAnnotation)}, this.$route.query.hasOwnProperty('${this.name}') ? this.$route.query.${this.name} : ${JSON.stringify(this.defaultValue)}, true)`;
258
+ return `${this.name} = ${this.name} !== undefined ? ${this.name} : this.$genInitFromSchema(${JSON.stringify(this.typeAnnotation)}, this.$route.query.hasOwnProperty('${
259
+ this.name
260
+ }') ? this.$route.query.${this.name} : ${JSON.stringify(this.defaultValue)}, true)`;
259
261
  } else {
260
262
  return '';
261
263
  }
@@ -295,15 +297,20 @@ export class Param extends BaseNode {
295
297
  // eslint-disable-next-line prefer-rest-params
296
298
  throw new Error('找不到类型:' + arguments[0]);
297
299
  } else {
298
- typeAnnotation._delete();
300
+ typeAnnotation._delete?.();
299
301
  const relationOptions = { parentId: this.id, parentConcept: this.concept, parentNode: this };
300
302
  Object.assign(typeAnnotation, relationOptions);
301
303
  }
302
304
  const object = {
303
305
  typeAnnotation,
304
306
  };
307
+ try {
308
+ this.completionChildren = this.getSelectRef();
309
+ } catch (err) {
310
+ this.completionChildren = [];
311
+ console.log(err);
312
+ }
305
313
  // 处理下拉属性
306
- this.completionChildren = this.getSelectRef();
307
314
  return this.update({
308
315
  ...object,
309
316
  });
@@ -320,24 +327,58 @@ export class Param extends BaseNode {
320
327
  };
321
328
  }
322
329
 
330
+ _readonly: boolean = false;
323
331
  /**
324
332
  * 是否可编辑
325
333
  * */
326
334
  get readonly() {
327
- return !!this.module;
335
+ return !!this.module || this._readonly;
328
336
  }
329
337
 
338
+ set readonly(val) {
339
+ this._readonly = val;
340
+ }
341
+ get hasChildren() {
342
+ const { typeKind, typeNamespace } = this.typeAnnotation;
343
+ if (typeKind === 'reference' || typeKind === 'generic') {
344
+ if (typeNamespace.endsWith('.enums'))
345
+ return null;
346
+ return [{}];
347
+ }
348
+ return null;
349
+ }
350
+ get isTreeLeaf() {
351
+ return !this.hasChildren;
352
+ }
330
353
  getSelectRef() {
331
- const { typeName, typeKind, typeNamespace } = this.typeAnnotation;
332
- let completionChildren;
333
- if (typeKind === 'reference') {
334
- const node = getNodeByNodeCallee(this.app, typeNamespace + '.' + typeName);
335
- const properties = node.properties || [];
336
- completionChildren = properties;
337
- } else {
338
- completionChildren = undefined;
354
+ try {
355
+ const { typeName, typeKind, typeNamespace } = this.typeAnnotation;
356
+ let completionChildren;
357
+ if (typeKind === 'reference') {
358
+ if (typeNamespace === 'nasl.ui') {
359
+ const node = getNaslNodeByNodeCallee(typeNamespace, typeName);
360
+ const properties = node.properties || [];
361
+ completionChildren = properties;
362
+ } else if (typeNamespace.endsWith('.enums')) {
363
+ completionChildren = undefined;
364
+ } else {
365
+ const node = getNodeByNodeCallee(this.app, typeNamespace + '.' + typeName);
366
+ const properties = node.properties || [];
367
+ completionChildren = properties;
368
+ }
369
+ } else if (typeKind === 'generic') {
370
+ if (typeNamespace === 'nasl.collection') {
371
+ const node = getNaslNodeByNodeCallee(typeNamespace, typeName);
372
+ const properties = node.properties || [];
373
+ completionChildren = properties;
374
+ }
375
+ } else {
376
+ completionChildren = undefined;
377
+ }
378
+ return completionChildren;
379
+ } catch (err) {
380
+ console.log(err);
339
381
  }
340
- return completionChildren;
341
382
  }
342
383
  //================================================================================
343
384
  // 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
@@ -144,7 +144,7 @@ export class ProcessComponent extends BaseNode {
144
144
  name: options,
145
145
  }, this, 'attrs');
146
146
  } else if (options instanceof Attribute) {
147
- options.delete(); // 同一实例不支持多处存在
147
+ options.ensureDelete(); // 同一实例不支持多处存在
148
148
  attribute = options;
149
149
  Object.assign(attribute, relationOptions);
150
150
  } else {
@@ -232,7 +232,7 @@ export class ProcessComponent extends BaseNode {
232
232
 
233
233
  addAttribute(options?: string | Partial<Attribute> | Attribute) {
234
234
  const node = this._addAttribute(options as any);
235
- const index = this.attrs.length;
235
+ const index = this.attrs.indexOf(node);
236
236
  node.create({
237
237
  index,
238
238
  parentNode: this,
@@ -286,7 +286,7 @@ export class ProcessComponent extends BaseNode {
286
286
  name: options,
287
287
  }, this, 'logics');
288
288
  } else if (options instanceof Logic) {
289
- options.delete(); // 同一实例不支持多处存在
289
+ options.ensureDelete(); // 同一实例不支持多处存在
290
290
  logic = options;
291
291
  Object.assign(logic, relationOptions);
292
292
  } else {
@@ -374,7 +374,7 @@ export class ProcessComponent extends BaseNode {
374
374
 
375
375
  addLogic(options?: string | Partial<Logic> | Logic) {
376
376
  const node = this._addLogic(options as any);
377
- const index = this.logics.length;
377
+ const index = this.logics.indexOf(node);
378
378
  node.create({
379
379
  index,
380
380
  parentNode: this,