@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
@@ -3,7 +3,7 @@ import { v4 as uuidv4 } from 'uuid';
3
3
 
4
4
  import { config } from '../config';
5
5
  import { SourceMap } from '../translator';
6
- import axios from '../service/storage';
6
+ import storageService from '../service/storage/service';
7
7
  import { getSourceFromMap } from '../service/storage/map';
8
8
  import { loadThen } from '../service/storage/storagePoint';
9
9
 
@@ -12,21 +12,7 @@ import * as utils from '../utils';
12
12
  import classMap from '../common/classMap';
13
13
  import { action, circular, excludedInJSON, property, getConceptConstructor, getConceptPropertyMap } from '../decorators';
14
14
  import { Diagnostic } from '../manager/diagnostic';
15
-
16
- /**
17
- * 分割数组
18
- * @param array 原数组
19
- * @param subGroupLength 长度
20
- * @returns
21
- */
22
- function group(array: Array<any>, subGroupLength: number) {
23
- let index = 0;
24
- const newArray = [];
25
- while (index < array.length) {
26
- newArray.push(array.slice(index, (index += subGroupLength)));
27
- }
28
- return newArray;
29
- }
15
+ import { ViewElement } from '..';
30
16
 
31
17
  /**
32
18
  * 顶点类
@@ -168,57 +154,54 @@ export class BaseNode extends EventEmitter {
168
154
  subConstructor(source?: Partial<BaseNode>) {
169
155
  const propertyMap = getConceptPropertyMap(this.constructor.name);
170
156
 
171
- const properties = Array.from(new Set([...Object.keys(this), ...Object.keys(source)])).filter((key) => {
172
- const property = propertyMap.get(key);
173
- return !!property;
174
- });
157
+ const properties = Array.from(new Set([...Object.keys(this), ...Object.keys(source)])).filter((key) => propertyMap.has(key));
175
158
  properties.forEach((key) => {
176
159
  const property = propertyMap.get(key);
177
- const sourceItem = (source as any)[key] || (this as any)[key];
160
+ const sourceItem = (source as any)[key] !== undefined ? (source as any)[key] : (this as any)[key];
178
161
  const { objectRef: propertyObjectRef } = property;
179
162
  let objectRefCtor;
180
163
  try {
181
164
  if (propertyObjectRef) {
182
165
  objectRefCtor = getConceptConstructor(propertyObjectRef);
183
166
  if (objectRefCtor && sourceItem instanceof objectRefCtor) {
184
- if (!sourceItem.parentNode || !sourceItem.parentKey) {
185
- sourceItem.parentNode = this;
186
- sourceItem.parentKey = key;
187
- }
167
+ sourceItem.parentNode = this;
168
+ sourceItem.parentKey = key;
188
169
  }
189
170
  }
190
- (this as any)[key] = objectRefCtor && !(sourceItem instanceof objectRefCtor) ? this.activeInside(sourceItem, objectRefCtor, this, key) : sourceItem;
171
+
172
+ (this as any)[key] = objectRefCtor && sourceItem && !(sourceItem instanceof objectRefCtor) ? this.activeInside(sourceItem, objectRefCtor, this, key) : sourceItem;
191
173
  } catch (e) {
192
174
  // Function has non-object prototype 'undefined' in instanceof check
193
175
  if (!e.message.includes('Function has non-object prototype'))
194
176
  throw e;
195
177
  }
196
178
  });
197
- if (config.storage.protocol === 'http' && loadThen[source.concept as 'App' | 'View']) {
198
- const { childNodes } = loadThen[source.concept as 'App' | 'View'] || {};
199
- const queryList = childNodes.map(({ field, concept }) => {
200
- const path = [this.nodePath, field].join('.');
201
- return {
202
- path,
203
- excludes: loadThen[concept as 'App' | 'View'].childNodes.map(({ field }) => field),
204
- };
205
- });
206
- axios
207
- .post('/api/storage/batchQuery', queryList, {
208
- headers: {
209
- appId: this.rootNode?.id || this.id,
210
- },
211
- })
212
- .then((res) =>
213
- res?.data?.result.forEach((sourceItem: any, index: number) => {
214
- const { field, concept } = childNodes[index];
215
- if (!sourceItem || (Array.isArray((this as any)[field]) && !Array.isArray(sourceItem))) {
216
- return;
217
- }
218
- const objectRefCtor = getConceptConstructor(concept);
219
- (this as any)[field] = objectRefCtor ? this.activeInside(sourceItem, objectRefCtor, this, field) : sourceItem;
220
- }));
221
- }
179
+ // if (config.storage.protocol === 'http' && loadThen[source.concept as 'App' | 'View']) {
180
+ // const { childNodes } = loadThen[source.concept as 'App' | 'View'] || {};
181
+ // const queryList = childNodes.map(({ field, concept }) => {
182
+ // const path = [this.nodePath, field].join('.');
183
+ // return {
184
+ // path,
185
+ // excludes: loadThen[concept as 'App' | 'View'].childNodes.map(({ field }) => field),
186
+ // };
187
+ // });
188
+ // storageService
189
+ // .batchQuery({
190
+ // body: queryList,
191
+ // headers: {
192
+ // appId: this.rootNode?.id || this.id,
193
+ // },
194
+ // })
195
+ // .then((data: any) =>
196
+ // data.forEach((sourceItem: any, index: number) => {
197
+ // const { field, concept } = childNodes[index];
198
+ // if (!sourceItem || (Array.isArray((this as any)[field]) && !Array.isArray(sourceItem))) {
199
+ // return;
200
+ // }
201
+ // const objectRefCtor = getConceptConstructor(concept);
202
+ // (this as any)[field] = objectRefCtor ? this.activeInside(sourceItem, objectRefCtor, this, field) : sourceItem;
203
+ // }));
204
+ // }
222
205
  }
223
206
 
224
207
  getIndexOfParent() {
@@ -240,35 +223,28 @@ export class BaseNode extends EventEmitter {
240
223
  * @returns
241
224
  */
242
225
  genActionListener($event: EventPayload) {
226
+ if (!$event.eventList) {
227
+ $event.eventList = [];
228
+ }
229
+ if (!$event.eventStop) {
230
+ $event.eventList.push($event);
231
+ // 页面逻辑需要冒泡到页面
232
+ if (['App', 'Process', 'View', 'Interface', 'Entity', 'Structure', 'Enum', 'ConfigProperty'].includes(this.concept) || (this.concept === 'Logic' && this.parentNode?.concept !== 'View')) {
233
+ $event.eventStop = true;
234
+ }
235
+ }
236
+ $event.originEvent = $event.originEvent || $event;
243
237
  this.onChange($event);
244
238
  if (this.concept === 'App') {
245
239
  this.emit('storage', $event);
246
240
  } else {
247
- if (!$event.eventList) {
248
- $event.eventList = [];
249
- }
250
- if (!$event.eventStop) {
251
- $event.eventList.push($event);
252
- // 页面逻辑需要冒泡到页面
253
- if ([
254
- 'Process',
255
- 'View',
256
- 'Interface',
257
- 'Entity',
258
- 'Structure',
259
- 'Enum',
260
- 'ConfigProperty',
261
- ].includes(this.concept) || this.concept === 'Logic' && this.parentNode?.concept !== 'View') {
262
- $event.eventStop = true;
263
- }
264
- }
265
241
  const event: EventPayload = {
266
242
  action: 'update',
267
243
  path: this.parentNode?.getNodePath(false),
268
244
  object: {},
269
245
  oldObject: {},
270
- originEvent: $event.originEvent || $event,
271
- eventList: $event.eventList || [],
246
+ originEvent: $event.originEvent,
247
+ eventList: $event.eventList,
272
248
  eventStop: $event.eventStop,
273
249
  };
274
250
  this.parentNode?.emit('update', event);
@@ -306,12 +282,44 @@ export class BaseNode extends EventEmitter {
306
282
  this.emit('create', {
307
283
  action: 'create',
308
284
  path: this.getNodePath(true),
309
- object: this,
285
+ object: this.toJSON(),
310
286
  ...parentParams,
311
287
  oldObject: null,
312
288
  });
313
289
  }
314
290
 
291
+ /**
292
+ * 如果有父节点,则删除节点,在添加时调用
293
+ */
294
+ ensureDelete() {
295
+ if (this.parentNode && this.parentKey) {
296
+ const path = this.getNodePath(false);
297
+ const parentParams = this._delete();
298
+ if (parentParams && parentParams.index !== -1) {
299
+ if (Array.isArray((this.parentNode as any)[this.parentKey])) {
300
+ this.emit('delete', {
301
+ action: 'delete',
302
+ path,
303
+ object: null,
304
+ ...parentParams,
305
+ });
306
+ } else {
307
+ const parentPath = this.parentNode.getNodePath(false);
308
+ this.parentNode.emit('update', {
309
+ action: 'update',
310
+ path: parentPath,
311
+ object: {
312
+ [this.parentKey]: null,
313
+ },
314
+ oldObject: {
315
+ [this.parentKey]: this.toJSON(),
316
+ },
317
+ });
318
+ }
319
+ }
320
+ }
321
+ }
322
+
315
323
  /**
316
324
  * 删除节点
317
325
  */
@@ -319,12 +327,26 @@ export class BaseNode extends EventEmitter {
319
327
  const path = this.getNodePath(false);
320
328
  const parentParams = this._delete();
321
329
  if (parentParams && parentParams.index !== -1) {
322
- this.emit('delete', {
323
- action: 'delete',
324
- path,
325
- object: null,
326
- ...parentParams,
327
- });
330
+ if (Array.isArray((this.parentNode as any)[this.parentKey])) {
331
+ this.emit('delete', {
332
+ action: 'delete',
333
+ path,
334
+ object: null,
335
+ ...parentParams,
336
+ });
337
+ } else {
338
+ const parentPath = this.parentNode.getNodePath(false);
339
+ this.parentNode.emit('update', {
340
+ action: 'update',
341
+ path: parentPath,
342
+ object: {
343
+ [this.parentKey]: null,
344
+ },
345
+ oldObject: {
346
+ [this.parentKey]: this.toJSON(),
347
+ },
348
+ });
349
+ }
328
350
  }
329
351
  }
330
352
 
@@ -336,8 +358,34 @@ export class BaseNode extends EventEmitter {
336
358
  const oldObject: any = {};
337
359
  for (const key in object) {
338
360
  if (Object.prototype.hasOwnProperty.call(object, key)) {
339
- oldObject[key] = (this as any)[key] ?? null;
340
- (this as any)[key] = object[key] ?? null;
361
+ const oldProperty = (this as any)[key] ?? null;
362
+ oldObject[key] = oldProperty;
363
+ if (Array.isArray(oldProperty)) {
364
+ oldObject[key] = oldProperty.map((item) => {
365
+ let propertyItem = item ?? null;
366
+ if (item instanceof BaseNode) {
367
+ propertyItem = item.toJSON();
368
+ }
369
+ return propertyItem;
370
+ });
371
+ } else if (oldProperty instanceof BaseNode) {
372
+ oldObject[key] = oldProperty.toJSON();
373
+ }
374
+ const property = object[key] ?? null;
375
+ (this as any)[key] = property;
376
+ const objectRefCtor = getConceptConstructor(property?.concept);
377
+ if (Array.isArray(property)) {
378
+ (this as any)[key] = property.map((item) => {
379
+ let propertyItem = item ?? null;
380
+ const propertyObjectRefCtor = getConceptConstructor(item?.concept);
381
+ if (propertyObjectRefCtor?.from) {
382
+ propertyItem = (propertyObjectRefCtor as any).from(item, this, key);
383
+ }
384
+ return propertyItem;
385
+ });
386
+ } else if (objectRefCtor?.from) {
387
+ (this as any)[key] = (objectRefCtor as any).from(property, this, key);
388
+ }
341
389
  }
342
390
  }
343
391
  this.emit('update', {
@@ -345,6 +393,7 @@ export class BaseNode extends EventEmitter {
345
393
  path,
346
394
  object,
347
395
  oldObject,
396
+ field,
348
397
  });
349
398
  }
350
399
 
@@ -458,13 +507,16 @@ export class BaseNode extends EventEmitter {
458
507
  * 获取当前的TsName
459
508
  */
460
509
  get tsName() {
461
- let tsName = this.name;
462
- if (/^\d/.test(tsName)) {
463
- tsName = '$' + tsName;
510
+ if (this.name) {
511
+ let tsName = this.name;
512
+ // 匹配所有特殊字符都转为_
513
+ tsName = tsName.replace(/\W/g, '_');
514
+ if (/^\d/.test(tsName)) {
515
+ tsName = '$' + tsName;
516
+ }
517
+ return tsName;
464
518
  }
465
- // 匹配所有特殊字符都转为_
466
- tsName = tsName.replace(/\W/g, '_');
467
- return tsName;
519
+ return '';
468
520
  }
469
521
  /**
470
522
  * 激活 JSON 内部实例
@@ -500,7 +552,7 @@ export class BaseNode extends EventEmitter {
500
552
  */
501
553
  genSources(instance: BaseNode, filerFn?: (source: Partial<BaseNode>) => {}) {
502
554
  if (!instance) {
503
- return;
555
+ return instance;
504
556
  }
505
557
  if (Array.isArray(instance)) {
506
558
  return instance.map((item) => (item && item._toJSON ? item._toJSON(filerFn) : item));
@@ -629,6 +681,10 @@ export class BaseNode extends EventEmitter {
629
681
  /* override */
630
682
  }
631
683
 
684
+ async findReadOnlyLogicUsage(): Promise<any> {
685
+ /* override */
686
+ }
687
+
632
688
  /**
633
689
  * 重命名
634
690
  */
@@ -652,6 +708,7 @@ export class BaseNode extends EventEmitter {
652
708
  async addParamsPrepare(): Promise<any> {
653
709
  /* override */
654
710
  }
711
+
655
712
  /**
656
713
  * 销毁
657
714
  * 从 Map 中删除点和子节点
@@ -673,6 +730,63 @@ export class BaseNode extends EventEmitter {
673
730
  /* override */
674
731
  }
675
732
 
733
+ /**
734
+ * 移动节点
735
+ * @param sourceNode
736
+ * @param position
737
+ */
738
+ moveNode(options: {
739
+ sourceNode: BaseNode,
740
+ position: 'append' | 'insertBefore' | 'insertAfter',
741
+ action?: string
742
+ }) {
743
+ const { sourceNode, position } = options;
744
+ if (this.concept === 'App') {
745
+ return;
746
+ }
747
+ let actionMsg = `移动${(this.constructor as any).nodeTitle}`;
748
+ if (this.name) {
749
+ actionMsg += `“${this.name}”`;
750
+ }
751
+ (sourceNode as any).app.emit('collect:start', {
752
+ actionMsg,
753
+ });
754
+ // 如果是兄弟节点之前的移动
755
+ if (position !== 'append' && this.concept !== sourceNode.concept) {
756
+ return;
757
+ }
758
+ // 先删
759
+ this.delete();
760
+ if (position === 'append') {
761
+ let { action } = options;
762
+ if (!action)
763
+ action = `add${this.concept}`;
764
+ const parentNode = sourceNode;
765
+ (parentNode as any)[action](this as any);
766
+ } else {
767
+ const parentNode = sourceNode?.parentNode;
768
+ const parentKey = sourceNode?.parentKey || '';
769
+ const list = (parentNode as any)[parentKey];
770
+ if (Array.isArray(list)) {
771
+ let index = list.indexOf(sourceNode);
772
+ if (position === 'insertAfter') {
773
+ index += 1;
774
+ }
775
+ Object.assign(this, {
776
+ parentNode,
777
+ parentKey,
778
+ });
779
+ list.splice(index, 0, this);
780
+ this.create({
781
+ index,
782
+ parentNode,
783
+ parentKey,
784
+ });
785
+ }
786
+ }
787
+ (sourceNode as any).app.emit('collect:end');
788
+ }
789
+
676
790
  /**
677
791
  * 获取添加时的默认选项
678
792
  * @returns
@@ -680,6 +794,28 @@ export class BaseNode extends EventEmitter {
680
794
  public static getDefaultOptions(): any {
681
795
  return {};
682
796
  }
797
+
798
+ public traverseChildren(cb: (ele: BaseNode) => void): void {
799
+ function traverse(node: BaseNode) {
800
+ cb(node);
801
+
802
+ const propertyMap = getConceptPropertyMap(node.concept);
803
+ if (!propertyMap)
804
+ return;
805
+
806
+ for (const property of propertyMap.keys()) {
807
+ const child = node[property as keyof BaseNode];
808
+ if (!child)
809
+ continue;
810
+ else if (Array.isArray(child))
811
+ child.forEach((node: BaseNode) => traverse(node));
812
+ else
813
+ traverse(child);
814
+ }
815
+ }
816
+
817
+ traverse(this);
818
+ }
683
819
  }
684
820
 
685
821
  export default BaseNode;