@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,4 +1,4 @@
1
- import { BaseNode, CompletionProperty, App, Identifier, MemberExpression, Enum, NullLiteral, BooleanLiteral, Param, BindAttribute } from '..';
1
+ import { BaseNode, CompletionProperty, App, Identifier, MemberExpression, Enum, NullLiteral, BooleanLiteral, Param, BindAttribute, LogicItem, TypeAnnotation } from '..';
2
2
  import naslServer from './naslServer';
3
3
 
4
4
  interface variableItem {
@@ -9,22 +9,116 @@ interface variableItem {
9
9
  value?: string;
10
10
  expression: MemberExpression | Identifier;
11
11
  }
12
+
13
+ function getCompletionDetailType(displayParts: Array<{ text: string; kind: string }>): TypeAnnotation {
14
+ // 0: {text: 'let', kind: 'keyword'}
15
+ // 1: {text: ' ', kind: 'space'}
16
+ // 2: {text: 'bindRoles', kind: 'text'}
17
+ // 3: {text: ':', kind: 'punctuation'}
18
+ // 4: {text: ' ', kind: 'space'}
19
+ // 5: {text: 'roles', kind: 'moduleName'}
20
+ // 6: {text: '.', kind: 'punctuation'}
21
+ // 7: {text: 'DEV_AdminRole', kind: 'enumName'}
22
+ // 8: {text: '[', kind: 'punctuation'}
23
+ // 9: {text: ']', kind: 'punctuation'}
24
+ let str = '';
25
+ displayParts.forEach((item) => {
26
+ str += item.text;
27
+ });
28
+ const strTypes = str.split(': ');
29
+ const type = strTypes[1];
30
+ let typeAnnotation;
31
+ try {
32
+ if (type.includes('<') && type.includes('>')) {
33
+ // 泛型的处理
34
+ typeAnnotation = createGenericTypeAnnotation(type);
35
+ } else {
36
+ typeAnnotation = createType2Annotation(type);
37
+ }
38
+ } catch (err) {
39
+ console.log(err);
40
+ }
41
+ return typeAnnotation;
42
+ }
43
+
44
+ function createGenericTypeAnnotation(type: string) {
45
+ // 取出匹配的内容
46
+
47
+ const childType = type.substring(0, type.indexOf('<'));
48
+ const typeAnnotation = createType2Annotation(childType);
49
+ // 如果还有匹配到的多层泛型;
50
+ // 取出匹配到的内容
51
+ const types = /\<([^()]+)\>/g.exec(type);
52
+ const newtext = types[1];
53
+ // 把匹配的值,的内容在,检索一遍,看是不是泛型套泛型
54
+ const newTypes = /\<([^()]+)\>/g.exec(newtext);
55
+ // 如果是的话就去递归
56
+ if (newTypes) {
57
+ const argTypeAnnotation = createGenericTypeAnnotation(newtext);
58
+ typeAnnotation.typeArguments = [argTypeAnnotation];
59
+ } else {
60
+ // 如果不是就创造内部的真正类型
61
+ const argTypeAnnotation = createType2Annotation(newtext);
62
+ typeAnnotation.typeArguments = [argTypeAnnotation];
63
+ }
64
+ return typeAnnotation;
65
+ }
66
+ function createType2Annotation(type: string): TypeAnnotation {
67
+ let typeAnnotation;
68
+ // 没有泛型类型的
69
+ const types = type.split('.');
70
+ if (types.length === 1) {
71
+ typeAnnotation = TypeAnnotation.createPrimitive(types[0]);
72
+ } else {
73
+ if (type.startsWith('nasl.core')) {
74
+ typeAnnotation = TypeAnnotation.createPrimitive(types[types.length - 1]);
75
+ } else if (type.startsWith('nasl.ui')) {
76
+ typeAnnotation = TypeAnnotation.createReference(types[types.length - 1], {
77
+ typeNamespace: 'nasl.ui',
78
+ });
79
+ } else if (type.startsWith('nasl.collection')) {
80
+ typeAnnotation = TypeAnnotation.createGeneric(types[types.length - 1], {
81
+ typeNamespace: 'nasl.collection',
82
+ });
83
+ } else if (type.startsWith('entities.')) {
84
+ typeAnnotation = TypeAnnotation.createReference(types[types.length - 1], {
85
+ typeNamespace: 'app.entities',
86
+ });
87
+ } else if (type.startsWith('structures.')) {
88
+ typeAnnotation = TypeAnnotation.createReference(types[types.length - 1], {
89
+ typeNamespace: 'app.structures',
90
+ });
91
+ } else if (type.startsWith('enums.')) {
92
+ typeAnnotation = TypeAnnotation.createReference(types[types.length - 1], {
93
+ typeNamespace: 'app.enums',
94
+ });
95
+ }
96
+ }
97
+ return typeAnnotation;
98
+ }
12
99
  // 格式化变量数据
13
- function formatVariableData(data: unknown | variableItem[], node: BaseNode, parent?: any) {
100
+ export function formatVariableData(data: unknown | variableItem[], node: BaseNode, parent?: any) {
14
101
  if (Array.isArray(data)) {
15
102
  const result = data.map((item) => {
16
103
  // value需要拼接生成
17
104
  item.value = parent ? `${parent.value}.${item.text}` : item.text;
18
105
  item.name = item.text;
106
+ // 当前结构的typeAnnotation
107
+ const typeAnnotation = item.completionDetail && getCompletionDetailType(item.completionDetail.displayParts as Array<{ text: string; kind: string }>);
19
108
  // 如果没有父节点就是Identifier
20
109
  if (!parent) {
21
110
  const identifier = new Identifier({ name: item.name });
111
+ // 携带上当前的类型
112
+ identifier.typeAnnotation = typeAnnotation;
22
113
  item.expression = identifier;
23
114
  } else {
24
- item.expression = new MemberExpression({
115
+ const memberExpression = new MemberExpression({
25
116
  object: parent.expression,
26
117
  property: new Identifier({ name: item.name }),
27
118
  });
119
+ // 携带上当前的类型
120
+ memberExpression.typeAnnotation = typeAnnotation;
121
+ item.expression = memberExpression;
28
122
  }
29
123
  if (item.children) {
30
124
  item.children = formatVariableData(item.children, node, item);
@@ -46,8 +140,14 @@ function formatVariableData(data: unknown | variableItem[], node: BaseNode, pare
46
140
  // 从logic获取节点的icon
47
141
  function getNodeiconFromLogic(completionProperty: CompletionProperty, node: BaseNode): string {
48
142
  const logic = (node as Param).logic;
143
+ const view = (node as Param).view;
144
+ if (view) {
145
+ const { params } = view;
146
+ if (params.find((item) => item.name === completionProperty.name))
147
+ return 'param';
148
+ }
49
149
  if (logic) {
50
- const { params, variables, returns } = logic;
150
+ const { params, returns } = logic;
51
151
  if (params.find((item) => item.name === completionProperty.name))
52
152
  return 'param';
53
153
 
@@ -66,22 +166,28 @@ function getNodeiconFromLogic(completionProperty: CompletionProperty, node: Base
66
166
  function formatEnums(enums: Array<Enum>) {
67
167
  const result = enums.map((item) => {
68
168
  const namespace = item.getNamespace();
69
- item.expression = new Identifier({
169
+ const newItem: any = {
70
170
  name: item.name,
71
- namespace,
72
- });
73
- item.children = item.enumItems.map((enumItem) => {
171
+ value: item.name,
172
+ expression: new Identifier({
173
+ name: item.name,
174
+ namespace,
175
+ }),
176
+ children: [],
177
+ };
178
+ newItem.children = item.enumItems.map((enumItem) => {
74
179
  const newEnumItem: any = { ...enumItem };
75
- newEnumItem.name = newEnumItem.value;
76
180
  newEnumItem.expression = new MemberExpression({
77
- object: item.expression,
181
+ object: newItem.expression,
78
182
  property: new Identifier({ name: newEnumItem.value }),
79
183
  });
184
+ newEnumItem.name = newEnumItem.value;
185
+ newEnumItem.value = newItem.value + '.' + newEnumItem.value;
80
186
  const completionProperty = new CompletionProperty(newEnumItem);
81
187
  completionProperty.icon = 'enumItem';
82
188
  return completionProperty;
83
189
  });
84
- const completionProperty = new CompletionProperty(item as any);
190
+ const completionProperty = new CompletionProperty(newItem);
85
191
  completionProperty.icon = 'enum';
86
192
  return completionProperty;
87
193
  });
@@ -92,32 +198,117 @@ type LiteralDefination = {
92
198
  value: string;
93
199
  expression?: Identifier;
94
200
  };
95
- // 先简单处理一下
96
201
  function formatLiterals() {
97
- const list: Array<LiteralDefination> = [
98
- { name: 'null', value: 'null' },
99
- { name: 'true', value: 'true' },
100
- { name: 'false', value: 'false' },
202
+ // const list: Array<LiteralDefination> = [
203
+ // { name: 'null', value: 'null' },
204
+ // { name: 'true', value: 'true' },
205
+ // { name: 'false', value: 'false' },
206
+ // ];
207
+ // const newList = list.map((item) => {
208
+ // item.expression = new Identifier({ name: item.name });
209
+ // const completionProperty = new CompletionProperty(item);
210
+ // completionProperty.icon = 'literal';
211
+ // return completionProperty;
212
+ // });
213
+ // return newList;
214
+ const list = [
215
+ new CompletionProperty({
216
+ name: 'null',
217
+ value: 'null',
218
+ expression: new NullLiteral(),
219
+ }),
220
+ new CompletionProperty({
221
+ name: 'true',
222
+ value: 'true',
223
+ expression: new BooleanLiteral({ value: 'true' }),
224
+ }),
225
+ new CompletionProperty({
226
+ name: 'false',
227
+ value: 'false',
228
+ expression: new BooleanLiteral({ value: 'false' }),
229
+ }),
101
230
  ];
102
- const newList = list.map((item) => {
103
- item.expression = new Identifier({ name: item.name });
104
- const completionProperty = new CompletionProperty(item);
105
- completionProperty.icon = 'literal';
106
- return completionProperty;
231
+ list.forEach((l) => {
232
+ l.icon = 'literal';
107
233
  });
108
- return newList;
234
+ return list;
109
235
  }
110
236
 
111
237
  function formatGlobalVariable() {
112
- return [];
238
+ const newList = [];
239
+ const globalVariable = {
240
+ name: 'userInfo',
241
+ value: 'userInfo',
242
+ children: [
243
+ { name: 'Status', value: 'userInfo.Status' },
244
+ { name: 'UserInfoExtend',
245
+ value: 'userInfo.UserInfoExtend',
246
+ children: [
247
+ { name: 'Company', value: 'userInfo.UserInfoExtend.Company' },
248
+ { name: 'JobLevel', value: 'userInfo.UserInfoExtend.JobLevel' },
249
+ { name: 'JobNum', value: 'userInfo.UserInfoExtend.JobNum' },
250
+ { name: 'JobYear', value: 'userInfo.UserInfoExtend.JobYear' },
251
+ { name: 'RealName', value: 'userInfo.UserInfoExtend.RealName' },
252
+ { name: 'NickName', value: 'userInfo.UserInfoExtend.NickName' },
253
+ { name: 'NameAndEmail', value: 'userInfo.UserInfoExtend.NameAndEmail' },
254
+ { name: 'Position', value: 'userInfo.UserInfoExtend.Position' },
255
+ { name: 'Department', value: 'userInfo.UserInfoExtend.Department' },
256
+ { name: 'EmployeeId', value: 'userInfo.UserInfoExtend.EmployeeId' },
257
+ ] },
258
+ { name: 'UserName', value: 'userInfo.UserName' },
259
+ { name: 'Email', value: 'userInfo.Email' },
260
+ { name: 'UserId', value: 'userInfo.UserId' },
261
+ { name: 'Phone', value: 'userInfo.Phone' },
262
+ { name: 'CreateTime', value: 'userInfo.CreateTime' },
263
+ { name: 'UpdateTime', value: 'userInfo.UpdateTime' },
264
+ { name: 'LoginCount', value: 'userInfo.LoginCount' },
265
+ { name: 'Source', value: 'userInfo.Source' },
266
+ ],
267
+ };
268
+ const userInfoIdentifier = new Identifier({
269
+ name: 'userInfo',
270
+ namespace: 'nasl.auth',
271
+ });
272
+ const userCompletionProperty = new CompletionProperty({
273
+ name: 'userInfo',
274
+ expression: userInfoIdentifier,
275
+ children: [],
276
+ });
277
+ userCompletionProperty.icon = 'variable';
278
+ newList.push(userCompletionProperty);
279
+ globalVariable.children.forEach((item) => {
280
+ const expression = new MemberExpression({
281
+ object: userInfoIdentifier,
282
+ property: new Identifier({ name: item.name }),
283
+ });
284
+ (item as any).expression = expression;
285
+ const completionProperty = new CompletionProperty(item as any);
286
+ completionProperty.icon = 'literal';
287
+ if (item.children) {
288
+ const children: LogicItem[] = [];
289
+ item.children.forEach((child) => {
290
+ const childExpression = new MemberExpression({
291
+ object: expression,
292
+ property: new Identifier({ name: child.name }),
293
+ });
294
+ (child as any).expression = childExpression;
295
+ const childProperty = new CompletionProperty(child as any);
296
+ childProperty.icon = 'literal';
297
+ children.push(childProperty as any);
298
+ });
299
+ completionProperty.children = children as unknown as Array<CompletionProperty>;
300
+ }
301
+ userCompletionProperty.children.push(completionProperty as any);
302
+ });
303
+ return newList;
113
304
  }
114
305
 
115
-
116
306
  // 获取当前可选的逻辑
117
307
  function getCurrentLogic(node: BaseNode,
118
308
  result: {
119
309
  name: string;
120
310
  children: CompletionProperty[];
311
+ expanded: boolean;
121
312
  icon: string;
122
313
  }[]) {
123
314
  // 只有data-source可以
@@ -134,41 +325,37 @@ function getCurrentLogic(node: BaseNode,
134
325
  completionProperty.icon = 'logic';
135
326
  return completionProperty;
136
327
  });
137
- result.push({ name: '逻辑', children: logicVariable, icon: 'category' });
328
+ result.push({ name: '逻辑', children: logicVariable, expanded: true, icon: 'category' });
138
329
  }
139
330
  }
140
331
 
141
332
  export async function getMemberIdentifier(node: BaseNode) {
142
333
  if (node) {
334
+ // 获取字面量
335
+ const literals = getLiteralsIdentifier();
336
+ if (node.getAncestor('CallQueryComponent'))
337
+ literals.shift(); // 去除 null
143
338
  // 获取枚举
144
- const app = node.rootNode as App;
145
- const literals = formatLiterals();
146
- const enums = app?.enums;
147
- const newEnums = enums ? formatEnums(enums) : [];
339
+ const newEnums = getEnumsIdentifier(node);
148
340
 
149
- // extensionModules(state) {
150
- // return state.app?.dependencies?.filter((module) => module.type === 'extension') || {};
341
+ // extensionModules(state) {
342
+ // return state.app?.dependencies?.filter((module) => module.type === 'extension') || {};
151
343
  // },
152
344
 
153
345
  // 如果之前有选好的值就需要的把之前那一列的内容渲染出来
154
346
  // 先去获取
155
347
 
156
- let completionData: CompletionProperty[] = [new CompletionProperty({})];
157
- if (node instanceof Identifier || node instanceof MemberExpression) {
158
- const value = (node as Identifier | MemberExpression).getValue();
159
- if (value) {
160
- const completion = (await naslServer.getValueSelectCompletion(node, value)) as variableItem[];
161
- completionData = formatVariableData(completion, node);
162
- }
163
- }
164
- const globalVariable = formatGlobalVariable();
348
+ // 获取变量
349
+ const completionData = await getVariableIdentifier(node);
350
+ // 获取公共变量
351
+ const globalVariable: CompletionProperty[] = await getGlobalVariableIdentifier(node);
352
+
165
353
  // 这个可能需要自己算一下
166
354
  const result = [
167
- { name: '字面量', children: literals, icon: 'category' },
168
- { name: '枚举', children: newEnums, icon: 'category' },
169
- { name: '变量', children: completionData, icon: 'category' },
170
- { name: '全局变量', children: globalVariable, icon: 'category' },
171
-
355
+ { name: '字面量', children: literals, expanded: true, icon: 'category' },
356
+ { name: '枚举', children: newEnums, expanded: true, icon: 'category' },
357
+ { name: '变量', children: completionData, expanded: true, icon: 'category' },
358
+ { name: '公共变量', children: globalVariable, expanded: true, icon: 'category' },
172
359
  // { name: '流程变量', children: [] },
173
360
  ];
174
361
  getCurrentLogic(node, result);
@@ -176,9 +363,51 @@ export async function getMemberIdentifier(node: BaseNode) {
176
363
  }
177
364
  }
178
365
 
366
+ // 获取字面量
367
+ export function getLiteralsIdentifier(): CompletionProperty[] {
368
+ return formatLiterals();
369
+ }
370
+
371
+ // 获取枚举
372
+ export function getEnumsIdentifier(node: BaseNode): CompletionProperty[] {
373
+ const app = node.rootNode as App;
374
+ const enums = app?.enums;
375
+ const newEnums = enums ? formatEnums(enums) : [];
376
+ return newEnums;
377
+ }
378
+
379
+ // 获取变量
380
+ export async function getVariableIdentifier(node: BaseNode): Promise<CompletionProperty[]> {
381
+ let completionData: CompletionProperty[] = [new CompletionProperty({})];
382
+ if (node instanceof Identifier || node instanceof MemberExpression) {
383
+ const value = (node as Identifier | MemberExpression).getValue();
384
+ if (value) {
385
+ const completion = (await naslServer.getValueSelectCompletion(node, value)) as variableItem[];
386
+ completionData = formatVariableData(completion, node);
387
+ } else {
388
+ const nextCompletion = await naslServer.getFieldKeySelectCompletion(node, '');
389
+ completionData = formatVariableData(nextCompletion, node);
390
+ }
391
+ } else {
392
+ const nextCompletion = await naslServer.getFieldKeySelectCompletion(node, '');
393
+ completionData = formatVariableData(nextCompletion, node);
394
+ }
395
+ return completionData;
396
+ }
397
+
398
+ // 获取公共变量
399
+ export async function getGlobalVariableIdentifier(node: BaseNode):Promise<CompletionProperty[]> {
400
+ let globalVariable: CompletionProperty[] = [];
401
+ // 公共变量修改
402
+ if ((node as any).view) {
403
+ globalVariable = formatGlobalVariable();
404
+ }
405
+ return globalVariable;
406
+ }
407
+
179
408
  export async function getSelectNextCompletionData(node: Identifier, completionProperty?: CompletionProperty) {
180
409
  if (node) {
181
- let fieldKey: string = null;
410
+ let fieldKey: string = '';
182
411
  if (completionProperty) {
183
412
  const exp = BaseNode.from(completionProperty.expression);
184
413
  const value = (exp as Identifier).getValue();