@lcap/nasl 1.0.0-alpha.9 → 1.0.2

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 (481) 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 +379 -0
  12. package/out/automate/engine/utils.js.map +1 -0
  13. package/out/common/BaseNode.d.ts +21 -1
  14. package/out/common/BaseNode.js +232 -84
  15. package/out/common/BaseNode.js.map +1 -1
  16. package/out/concepts/App__.d.ts +19 -1
  17. package/out/concepts/App__.js +88 -45
  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 +201 -0
  23. package/out/concepts/Assignee__.js +298 -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 +58 -25
  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 +38 -3
  49. package/out/concepts/CallQueryComponent__.js +329 -75
  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 +16 -2
  64. package/out/concepts/Constant__.js.map +1 -1
  65. package/out/concepts/Destination__.d.ts +12 -0
  66. package/out/concepts/Destination__.js +115 -22
  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/EntityIndex__.js +4 -2
  71. package/out/concepts/EntityIndex__.js.map +1 -1
  72. package/out/concepts/EntityProperty__.d.ts +11 -0
  73. package/out/concepts/EntityProperty__.js +71 -5
  74. package/out/concepts/EntityProperty__.js.map +1 -1
  75. package/out/concepts/Entity__.d.ts +5 -4
  76. package/out/concepts/Entity__.js +35 -19
  77. package/out/concepts/Entity__.js.map +1 -1
  78. package/out/concepts/Enum__.d.ts +5 -0
  79. package/out/concepts/Enum__.js +24 -12
  80. package/out/concepts/Enum__.js.map +1 -1
  81. package/out/concepts/Event__.js +3 -3
  82. package/out/concepts/Event__.js.map +1 -1
  83. package/out/concepts/ForEachStatement__.d.ts +1 -1
  84. package/out/concepts/ForEachStatement__.js +11 -15
  85. package/out/concepts/ForEachStatement__.js.map +1 -1
  86. package/out/concepts/Function__.js +13 -13
  87. package/out/concepts/Function__.js.map +1 -1
  88. package/out/concepts/Identifier__.d.ts +3 -0
  89. package/out/concepts/Identifier__.js +77 -30
  90. package/out/concepts/Identifier__.js.map +1 -1
  91. package/out/concepts/IfStatement__.js +4 -4
  92. package/out/concepts/IfStatement__.js.map +1 -1
  93. package/out/concepts/InterfaceParam__.d.ts +6 -4
  94. package/out/concepts/InterfaceParam__.js +57 -19
  95. package/out/concepts/InterfaceParam__.js.map +1 -1
  96. package/out/concepts/Interface__.d.ts +42 -30
  97. package/out/concepts/Interface__.js +133 -17
  98. package/out/concepts/Interface__.js.map +1 -1
  99. package/out/concepts/JSBlock__.d.ts +1 -0
  100. package/out/concepts/JSBlock__.js +3 -0
  101. package/out/concepts/JSBlock__.js.map +1 -1
  102. package/out/concepts/LogicItem__.d.ts +2 -1
  103. package/out/concepts/LogicItem__.js +14 -0
  104. package/out/concepts/LogicItem__.js.map +1 -1
  105. package/out/concepts/Logic__.d.ts +20 -1
  106. package/out/concepts/Logic__.js +194 -37
  107. package/out/concepts/Logic__.js.map +1 -1
  108. package/out/concepts/MemberExpression__.d.ts +2 -0
  109. package/out/concepts/MemberExpression__.js +49 -13
  110. package/out/concepts/MemberExpression__.js.map +1 -1
  111. package/out/concepts/Module__.d.ts +126 -120
  112. package/out/concepts/Module__.js +36 -26
  113. package/out/concepts/Module__.js.map +1 -1
  114. package/out/concepts/Namespace__.d.ts +5 -1
  115. package/out/concepts/Namespace__.js +48 -37
  116. package/out/concepts/Namespace__.js.map +1 -1
  117. package/out/concepts/NullLiteral__.d.ts +3 -0
  118. package/out/concepts/NullLiteral__.js +11 -1
  119. package/out/concepts/NullLiteral__.js.map +1 -1
  120. package/out/concepts/NumericLiteral__.d.ts +1 -1
  121. package/out/concepts/NumericLiteral__.js +17 -6
  122. package/out/concepts/NumericLiteral__.js.map +1 -1
  123. package/out/concepts/Param__.d.ts +7 -3
  124. package/out/concepts/Param__.js +64 -28
  125. package/out/concepts/Param__.js.map +1 -1
  126. package/out/concepts/ProcessComponent__.js +6 -6
  127. package/out/concepts/ProcessComponent__.js.map +1 -1
  128. package/out/concepts/ProcessElement__.d.ts +0 -4
  129. package/out/concepts/ProcessElement__.js +123 -54
  130. package/out/concepts/ProcessElement__.js.map +1 -1
  131. package/out/concepts/ProcessOutcome__.js +1 -1
  132. package/out/concepts/ProcessOutcome__.js.map +1 -1
  133. package/out/concepts/Process__.d.ts +7 -1
  134. package/out/concepts/Process__.js +81 -85
  135. package/out/concepts/Process__.js.map +1 -1
  136. package/out/concepts/QueryAggregateExpression__.js +1 -1
  137. package/out/concepts/QueryAggregateExpression__.js.map +1 -1
  138. package/out/concepts/QueryFieldExpression__.d.ts +1 -0
  139. package/out/concepts/QueryFieldExpression__.js +3 -0
  140. package/out/concepts/QueryFieldExpression__.js.map +1 -1
  141. package/out/concepts/QueryFromExpression__.js +2 -2
  142. package/out/concepts/QueryFromExpression__.js.map +1 -1
  143. package/out/concepts/QueryGroupByExpression__.d.ts +3 -0
  144. package/out/concepts/QueryGroupByExpression__.js +20 -0
  145. package/out/concepts/QueryGroupByExpression__.js.map +1 -1
  146. package/out/concepts/QueryJoinExpression__.js +5 -5
  147. package/out/concepts/QueryJoinExpression__.js.map +1 -1
  148. package/out/concepts/QueryLimitExpression__.js +2 -2
  149. package/out/concepts/QueryLimitExpression__.js.map +1 -1
  150. package/out/concepts/QuerySelectExpression__.js +3 -3
  151. package/out/concepts/QuerySelectExpression__.js.map +1 -1
  152. package/out/concepts/Return__.d.ts +4 -1
  153. package/out/concepts/Return__.js +74 -23
  154. package/out/concepts/Return__.js.map +1 -1
  155. package/out/concepts/Role__.d.ts +4 -0
  156. package/out/concepts/Role__.js +13 -4
  157. package/out/concepts/Role__.js.map +1 -1
  158. package/out/concepts/SqlQueryComponent__.js +2 -2
  159. package/out/concepts/SqlQueryComponent__.js.map +1 -1
  160. package/out/concepts/StringLiteral__.d.ts +1 -1
  161. package/out/concepts/StringLiteral__.js +22 -39
  162. package/out/concepts/StringLiteral__.js.map +1 -1
  163. package/out/concepts/StructureProperty__.d.ts +5 -4
  164. package/out/concepts/StructureProperty__.js +55 -26
  165. package/out/concepts/StructureProperty__.js.map +1 -1
  166. package/out/concepts/Structure__.d.ts +44 -30
  167. package/out/concepts/Structure__.js +44 -12
  168. package/out/concepts/Structure__.js.map +1 -1
  169. package/out/concepts/SwitchCase__.js +4 -4
  170. package/out/concepts/SwitchCase__.js.map +1 -1
  171. package/out/concepts/SwitchStatement__.js +2 -2
  172. package/out/concepts/SwitchStatement__.js.map +1 -1
  173. package/out/concepts/TypeAnnotation__.d.ts +5 -5
  174. package/out/concepts/TypeAnnotation__.js +82 -20
  175. package/out/concepts/TypeAnnotation__.js.map +1 -1
  176. package/out/concepts/UnaryExpression__.js +10 -8
  177. package/out/concepts/UnaryExpression__.js.map +1 -1
  178. package/out/concepts/Unparsed__.js +1 -1
  179. package/out/concepts/Unparsed__.js.map +1 -1
  180. package/out/concepts/ValidationRule__.d.ts +1 -0
  181. package/out/concepts/ValidationRule__.js +48 -13
  182. package/out/concepts/ValidationRule__.js.map +1 -1
  183. package/out/concepts/Variable__.d.ts +10 -1
  184. package/out/concepts/Variable__.js +77 -20
  185. package/out/concepts/Variable__.js.map +1 -1
  186. package/out/concepts/ViewComponent__.js +15 -15
  187. package/out/concepts/ViewComponent__.js.map +1 -1
  188. package/out/concepts/ViewElement__.d.ts +17 -11
  189. package/out/concepts/ViewElement__.js +302 -204
  190. package/out/concepts/ViewElement__.js.map +1 -1
  191. package/out/concepts/View__.d.ts +13 -12
  192. package/out/concepts/View__.js +124 -102
  193. package/out/concepts/View__.js.map +1 -1
  194. package/out/concepts/WhileStatement__.js +3 -3
  195. package/out/concepts/WhileStatement__.js.map +1 -1
  196. package/out/concepts/basics/stdlib/index.js +4 -1
  197. package/out/concepts/basics/stdlib/index.js.map +1 -1
  198. package/out/concepts/basics/stdlib/{nasl.validate.d.ts → nasl.auth.d.ts} +0 -0
  199. package/out/concepts/basics/stdlib/nasl.auth.js +30 -0
  200. package/out/concepts/basics/stdlib/nasl.auth.js.map +1 -0
  201. package/out/concepts/basics/stdlib/nasl.browser.d.ts +3 -0
  202. package/out/concepts/basics/stdlib/nasl.browser.js +41 -0
  203. package/out/concepts/basics/stdlib/nasl.browser.js.map +1 -0
  204. package/out/concepts/basics/stdlib/nasl.configuration.d.ts +3 -0
  205. package/out/concepts/basics/stdlib/nasl.configuration.js +25 -0
  206. package/out/concepts/basics/stdlib/nasl.configuration.js.map +1 -0
  207. package/out/concepts/basics/stdlib/nasl.interface.d.ts +2 -0
  208. package/out/concepts/basics/stdlib/nasl.interface.js +4 -4
  209. package/out/concepts/basics/stdlib/nasl.interface.js.map +1 -1
  210. package/out/concepts/basics/stdlib/nasl.ui.js +20 -0
  211. package/out/concepts/basics/stdlib/nasl.ui.js.map +1 -1
  212. package/out/concepts/basics/stdlib/nasl.util.js +138 -18
  213. package/out/concepts/basics/stdlib/nasl.util.js.map +1 -1
  214. package/out/concepts/basics/stdlib/nasl.validation.js +54 -20
  215. package/out/concepts/basics/stdlib/nasl.validation.js.map +1 -1
  216. package/out/concepts/basics/stdlib/reference2TypeAnnotationList.js +1 -1
  217. package/out/concepts/basics/stdlib/reference2TypeAnnotationList.js.map +1 -1
  218. package/out/concepts/basics/types/coreTypeList.js +11 -10
  219. package/out/concepts/basics/types/coreTypeList.js.map +1 -1
  220. package/out/concepts/basics/types/index.d.ts +1 -0
  221. package/out/concepts/basics/types/index.js +3 -1
  222. package/out/concepts/basics/types/index.js.map +1 -1
  223. package/out/concepts/index__.d.ts +1 -0
  224. package/out/concepts/index__.js +1 -0
  225. package/out/concepts/index__.js.map +1 -1
  226. package/out/config.d.ts +1 -2
  227. package/out/config.js +1 -2
  228. package/out/config.js.map +1 -1
  229. package/out/enums/KEYWORDS.d.ts +3 -0
  230. package/out/enums/KEYWORDS.js +1199 -0
  231. package/out/enums/KEYWORDS.js.map +1 -0
  232. package/out/{terms → enums}/LEVEL_NAME_MAP.d.ts +0 -0
  233. package/out/{terms → enums}/LEVEL_NAME_MAP.js +0 -0
  234. package/out/{terms → enums}/LEVEL_NAME_MAP.js.map +1 -1
  235. package/out/eventBus.d.ts +3 -0
  236. package/out/eventBus.js +7 -0
  237. package/out/eventBus.js.map +1 -0
  238. package/out/generator/genBundleFiles.d.ts +7 -2
  239. package/out/generator/genBundleFiles.js +168 -27
  240. package/out/generator/genBundleFiles.js.map +1 -1
  241. package/out/generator/genMetaData.d.ts +20 -20
  242. package/out/generator/genMetaData.js +50 -15
  243. package/out/generator/genMetaData.js.map +1 -1
  244. package/out/index.d.ts +2 -0
  245. package/out/index.js +2 -0
  246. package/out/index.js.map +1 -1
  247. package/out/manager/diagnostic.d.ts +2 -2
  248. package/out/server/createUiTs.d.ts +1 -0
  249. package/out/server/createUiTs.js +49 -5
  250. package/out/server/createUiTs.js.map +1 -1
  251. package/out/server/entity2LogicNamespace.js +38 -23
  252. package/out/server/entity2LogicNamespace.js.map +1 -1
  253. package/out/server/extendBaseNode.d.ts +1 -0
  254. package/out/server/extendBaseNode.js +323 -0
  255. package/out/server/extendBaseNode.js.map +1 -0
  256. package/out/server/getExtensionModules.js +2 -0
  257. package/out/server/getExtensionModules.js.map +1 -1
  258. package/out/server/getFunctions.d.ts +1 -0
  259. package/out/server/getFunctions.js +7 -1
  260. package/out/server/getFunctions.js.map +1 -1
  261. package/out/server/getLogics.js +84 -18
  262. package/out/server/getLogics.js.map +1 -1
  263. package/out/server/getMemberIdentifier.d.ts +16 -1
  264. package/out/server/getMemberIdentifier.js +326 -38
  265. package/out/server/getMemberIdentifier.js.map +1 -1
  266. package/out/server/getProcesses.d.ts +8 -1
  267. package/out/server/getProcesses.js +383 -1
  268. package/out/server/getProcesses.js.map +1 -1
  269. package/out/server/getScope.d.ts +13 -0
  270. package/out/server/getScope.js +61 -0
  271. package/out/server/getScope.js.map +1 -0
  272. package/out/server/index.d.ts +1 -0
  273. package/out/server/index.js +5 -0
  274. package/out/server/index.js.map +1 -1
  275. package/out/server/naslServer.d.ts +36 -57
  276. package/out/server/naslServer.js +689 -615
  277. package/out/server/naslServer.js.map +1 -1
  278. package/out/server/process2LogicNamespace.d.ts +10 -0
  279. package/out/server/process2LogicNamespace.js +29 -1
  280. package/out/server/process2LogicNamespace.js.map +1 -1
  281. package/out/server/translator.d.ts +22 -3
  282. package/out/server/translator.js +369 -123
  283. package/out/server/translator.js.map +1 -1
  284. package/out/service/creator/add.configs.d.ts +1 -0
  285. package/out/service/creator/add.configs.js +68 -0
  286. package/out/service/creator/add.configs.js.map +1 -0
  287. package/out/service/creator/errHandles.d.ts +18 -0
  288. package/out/service/creator/errHandles.js +60 -0
  289. package/out/service/creator/errHandles.js.map +1 -0
  290. package/out/service/creator/index.d.ts +1 -0
  291. package/out/service/creator/index.js +72 -0
  292. package/out/service/creator/index.js.map +1 -0
  293. package/out/service/storage/api.d.ts +18 -0
  294. package/out/service/storage/api.js +17 -0
  295. package/out/service/storage/api.js.map +1 -0
  296. package/out/service/storage/init.js +221 -37
  297. package/out/service/storage/init.js.map +1 -1
  298. package/out/service/storage/service.d.ts +2 -0
  299. package/out/service/storage/service.js +10 -0
  300. package/out/service/storage/service.js.map +1 -0
  301. package/out/service/storage/storagePoint.d.ts +1 -14
  302. package/out/service/storage/storagePoint.js +16 -16
  303. package/out/service/storage/storagePoint.js.map +1 -1
  304. package/out/templator/genCreateBlock.js +6 -6
  305. package/out/templator/genCreateBlock.js.map +1 -1
  306. package/out/templator/genCurdEditMultipleKeyBlock.js +13 -17
  307. package/out/templator/genCurdEditMultipleKeyBlock.js.map +1 -1
  308. package/out/templator/genCurdMultipleKeyBlock.js +11 -11
  309. package/out/templator/genCurdMultipleKeyBlock.js.map +1 -1
  310. package/out/templator/genEditTableBlock.js +5 -5
  311. package/out/templator/genEditTableBlock.js.map +1 -1
  312. package/out/templator/genEnumSelectBlock.js +2 -2
  313. package/out/templator/genEnumSelectBlock.js.map +1 -1
  314. package/out/templator/genGetBlock.js +6 -4
  315. package/out/templator/genGetBlock.js.map +1 -1
  316. package/out/templator/genGridViewBlock.d.ts +3 -1
  317. package/out/templator/genGridViewBlock.js +61 -6
  318. package/out/templator/genGridViewBlock.js.map +1 -1
  319. package/out/templator/genQueryComponent.d.ts +2 -0
  320. package/out/templator/genQueryComponent.js +34 -18
  321. package/out/templator/genQueryComponent.js.map +1 -1
  322. package/out/templator/genSelectBlock.js +5 -15
  323. package/out/templator/genSelectBlock.js.map +1 -1
  324. package/out/templator/genTableBlock.d.ts +1 -1
  325. package/out/templator/genTableBlock.js +4 -5
  326. package/out/templator/genTableBlock.js.map +1 -1
  327. package/out/templator/genUpdateBlock.js +10 -11
  328. package/out/templator/genUpdateBlock.js.map +1 -1
  329. package/out/templator/utils.d.ts +16 -5
  330. package/out/templator/utils.js +10 -5
  331. package/out/templator/utils.js.map +1 -1
  332. package/out/test/fixtures/env.js +0 -1
  333. package/out/test/fixtures/env.js.map +1 -1
  334. package/out/test/units/page/Element.spec.js +3 -3
  335. package/out/test/units/page/Element.spec.js.map +1 -1
  336. package/out/test/units/temp/temp.spec.js +1 -1
  337. package/out/test/units/temp/temp.spec.js.map +1 -1
  338. package/out/utils/index.d.ts +6 -0
  339. package/out/utils/index.js +25 -1
  340. package/out/utils/index.js.map +1 -1
  341. package/out/utils/string.d.ts +1 -1
  342. package/out/utils/string.js +38 -9
  343. package/out/utils/string.js.map +1 -1
  344. package/package.json +2 -2
  345. package/src/automate/engine/index.js +95 -119
  346. package/src/automate/engine/operators.js +63 -0
  347. package/src/automate/engine/uniqueName.js +36 -0
  348. package/src/automate/engine/utils.js +63 -19
  349. package/src/common/BaseNode.ts +229 -74
  350. package/src/concepts/App__.ts +92 -85
  351. package/src/concepts/Argument__.ts +23 -3
  352. package/src/concepts/Assignee__.ts +467 -0
  353. package/src/concepts/Assignment__.ts +4 -1
  354. package/src/concepts/BinaryExpression__.ts +9 -7
  355. package/src/concepts/BindAttribute__.ts +69 -9
  356. package/src/concepts/BindDirective__.ts +22 -3
  357. package/src/concepts/BindEvent__.ts +67 -23
  358. package/src/concepts/BooleanLiteral__.ts +8 -0
  359. package/src/concepts/CallFunction__.ts +55 -23
  360. package/src/concepts/CallInterface__.ts +236 -26
  361. package/src/concepts/CallLogic__.ts +111 -52
  362. package/src/concepts/CallQueryComponent__.ts +315 -67
  363. package/src/concepts/Comment__.ts +6 -2
  364. package/src/concepts/CompletionProperty__.ts +5 -1
  365. package/src/concepts/ConfigGroup__.ts +3 -3
  366. package/src/concepts/ConfigProperty__.ts +3 -3
  367. package/src/concepts/Configuration__.ts +3 -3
  368. package/src/concepts/Constant__.ts +14 -2
  369. package/src/concepts/Destination__.ts +123 -37
  370. package/src/concepts/End__.ts +8 -1
  371. package/src/concepts/EntityIndex__.ts +4 -2
  372. package/src/concepts/EntityProperty__.ts +56 -5
  373. package/src/concepts/Entity__.ts +38 -21
  374. package/src/concepts/Enum__.ts +23 -26
  375. package/src/concepts/Event__.ts +3 -3
  376. package/src/concepts/ForEachStatement__.ts +16 -21
  377. package/src/concepts/Function__.ts +13 -13
  378. package/src/concepts/Identifier__.ts +84 -42
  379. package/src/concepts/IfStatement__.ts +4 -4
  380. package/src/concepts/InterfaceParam__.ts +57 -16
  381. package/src/concepts/Interface__.ts +130 -16
  382. package/src/concepts/JSBlock__.ts +4 -0
  383. package/src/concepts/LogicItem__.ts +16 -1
  384. package/src/concepts/Logic__.ts +192 -39
  385. package/src/concepts/MemberExpression__.ts +58 -15
  386. package/src/concepts/Module__.ts +35 -24
  387. package/src/concepts/Namespace__.ts +49 -37
  388. package/src/concepts/NullLiteral__.ts +8 -1
  389. package/src/concepts/NumericLiteral__.ts +17 -6
  390. package/src/concepts/Param__.ts +64 -16
  391. package/src/concepts/ProcessComponent__.ts +6 -6
  392. package/src/concepts/ProcessElement__.ts +149 -44
  393. package/src/concepts/ProcessOutcome__.ts +1 -1
  394. package/src/concepts/Process__.ts +85 -98
  395. package/src/concepts/QueryAggregateExpression__.ts +1 -1
  396. package/src/concepts/QueryFieldExpression__.ts +4 -0
  397. package/src/concepts/QueryFromExpression__.ts +2 -2
  398. package/src/concepts/QueryGroupByExpression__.ts +23 -0
  399. package/src/concepts/QueryJoinExpression__.ts +5 -5
  400. package/src/concepts/QueryLimitExpression__.ts +2 -2
  401. package/src/concepts/QuerySelectExpression__.ts +3 -3
  402. package/src/concepts/Return__.ts +69 -17
  403. package/src/concepts/Role__.ts +5 -4
  404. package/src/concepts/SqlQueryComponent__.ts +2 -2
  405. package/src/concepts/StringLiteral__.ts +21 -39
  406. package/src/concepts/StructureProperty__.ts +50 -18
  407. package/src/concepts/Structure__.ts +32 -10
  408. package/src/concepts/SwitchCase__.ts +4 -4
  409. package/src/concepts/SwitchStatement__.ts +2 -2
  410. package/src/concepts/TypeAnnotation__.ts +66 -15
  411. package/src/concepts/UnaryExpression__.ts +10 -8
  412. package/src/concepts/Unparsed__.ts +1 -1
  413. package/src/concepts/ValidationRule__.ts +44 -14
  414. package/src/concepts/Variable__.ts +70 -16
  415. package/src/concepts/ViewComponent__.ts +15 -15
  416. package/src/concepts/ViewElement__.ts +289 -166
  417. package/src/concepts/View__.ts +135 -69
  418. package/src/concepts/WhileStatement__.ts +4 -4
  419. package/src/concepts/basics/stdlib/index.ts +4 -2
  420. package/src/concepts/basics/stdlib/nasl.auth.ts +26 -0
  421. package/src/concepts/basics/stdlib/nasl.browser.ts +37 -0
  422. package/src/concepts/basics/stdlib/nasl.configuration.ts +21 -0
  423. package/src/concepts/basics/stdlib/nasl.interface.ts +1 -1
  424. package/src/concepts/basics/stdlib/nasl.ui.ts +20 -1
  425. package/src/concepts/basics/stdlib/nasl.util.ts +140 -18
  426. package/src/concepts/basics/stdlib/nasl.validation.ts +45 -11
  427. package/src/concepts/basics/stdlib/reference2TypeAnnotationList.ts +1 -1
  428. package/src/concepts/basics/types/coreTypeList.ts +11 -11
  429. package/src/concepts/basics/types/index.ts +1 -0
  430. package/src/concepts/index__.ts +1 -0
  431. package/src/config.ts +1 -2
  432. package/src/enums/KEYWORDS.ts +1197 -0
  433. package/src/{terms → enums}/LEVEL_NAME_MAP.ts +0 -0
  434. package/src/eventBus.ts +5 -0
  435. package/src/generator/genBundleFiles.ts +182 -30
  436. package/src/generator/genMetaData.ts +72 -21
  437. package/src/index.ts +2 -0
  438. package/src/manager/diagnostic.ts +2 -2
  439. package/src/server/createUiTs.ts +45 -7
  440. package/src/server/entity2LogicNamespace.ts +41 -25
  441. package/src/server/extendBaseNode.ts +318 -0
  442. package/src/server/getExtensionModules.ts +2 -0
  443. package/src/server/getFunctions.ts +6 -0
  444. package/src/server/getLogics.ts +87 -19
  445. package/src/server/getMemberIdentifier.ts +282 -65
  446. package/src/server/getProcesses.ts +397 -4
  447. package/src/server/getScope.ts +67 -0
  448. package/src/server/index.ts +13 -1
  449. package/src/server/naslServer.ts +694 -632
  450. package/src/server/process2LogicNamespace.ts +30 -2
  451. package/src/server/translator.ts +425 -128
  452. package/src/service/config/index.js +1 -1
  453. package/src/service/creator/errHandles.js +5 -2
  454. package/src/service/creator/index.js +0 -6
  455. package/src/service/storage/api.js +14 -0
  456. package/src/service/storage/init.ts +218 -45
  457. package/src/service/storage/service.ts +6 -0
  458. package/src/service/storage/storagePoint.ts +16 -16
  459. package/src/templator/genCreateBlock.ts +6 -6
  460. package/src/templator/genCurdEditMultipleKeyBlock.ts +29 -30
  461. package/src/templator/genCurdMultipleKeyBlock.ts +11 -11
  462. package/src/templator/genEditTableBlock.ts +5 -5
  463. package/src/templator/genEnumSelectBlock.ts +2 -2
  464. package/src/templator/genGetBlock.ts +7 -9
  465. package/src/templator/genGridViewBlock.ts +59 -9
  466. package/src/templator/genQueryComponent.ts +46 -32
  467. package/src/templator/genSelectBlock.ts +5 -15
  468. package/src/templator/genTableBlock.ts +5 -9
  469. package/src/templator/genUpdateBlock.ts +10 -12
  470. package/src/templator/utils.ts +12 -6
  471. package/src/test/fixtures/env.ts +0 -2
  472. package/src/test/units/page/Element.spec.ts +3 -3
  473. package/src/test/units/temp/temp.spec.ts +1 -1
  474. package/src/utils/index.ts +24 -0
  475. package/src/utils/string.ts +39 -9
  476. package/out/concepts/basics/stdlib/nasl.validate.js +0 -527
  477. package/out/concepts/basics/stdlib/nasl.validate.js.map +0 -1
  478. package/out/data/Module.d.ts +0 -34
  479. package/out/data/Module.js +0 -53
  480. package/out/data/Module.js.map +0 -1
  481. 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
  * 顶点类
@@ -171,51 +157,51 @@ export class BaseNode extends EventEmitter {
171
157
  const properties = Array.from(new Set([...Object.keys(this), ...Object.keys(source)])).filter((key) => propertyMap.has(key));
172
158
  properties.forEach((key) => {
173
159
  const property = propertyMap.get(key);
174
- 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];
175
161
  const { objectRef: propertyObjectRef } = property;
176
162
  let objectRefCtor;
177
163
  try {
178
164
  if (propertyObjectRef) {
179
165
  objectRefCtor = getConceptConstructor(propertyObjectRef);
180
166
  if (objectRefCtor && sourceItem instanceof objectRefCtor) {
181
- if (!sourceItem.parentNode || !sourceItem.parentKey) {
182
- sourceItem.parentNode = this;
183
- sourceItem.parentKey = key;
184
- }
167
+ sourceItem.parentNode = this;
168
+ sourceItem.parentKey = key;
185
169
  }
186
170
  }
187
- (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;
188
173
  } catch (e) {
189
174
  // Function has non-object prototype 'undefined' in instanceof check
190
175
  if (!e.message.includes('Function has non-object prototype'))
191
176
  throw e;
192
177
  }
193
178
  });
194
- if (config.storage.protocol === 'http' && loadThen[source.concept as 'App' | 'View']) {
195
- const { childNodes } = loadThen[source.concept as 'App' | 'View'] || {};
196
- const queryList = childNodes.map(({ field, concept }) => {
197
- const path = [this.nodePath, field].join('.');
198
- return {
199
- path,
200
- excludes: loadThen[concept as 'App' | 'View'].childNodes.map(({ field }) => field),
201
- };
202
- });
203
- axios
204
- .post('/api/storage/batchQuery', queryList, {
205
- headers: {
206
- appId: this.rootNode?.id || this.id,
207
- },
208
- })
209
- .then((res) =>
210
- res?.data?.result.forEach((sourceItem: any, index: number) => {
211
- const { field, concept } = childNodes[index];
212
- if (!sourceItem || (Array.isArray((this as any)[field]) && !Array.isArray(sourceItem))) {
213
- return;
214
- }
215
- const objectRefCtor = getConceptConstructor(concept);
216
- (this as any)[field] = objectRefCtor ? this.activeInside(sourceItem, objectRefCtor, this, field) : sourceItem;
217
- }));
218
- }
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
+ // }
219
205
  }
220
206
 
221
207
  getIndexOfParent() {
@@ -237,27 +223,28 @@ export class BaseNode extends EventEmitter {
237
223
  * @returns
238
224
  */
239
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;
240
237
  this.onChange($event);
241
238
  if (this.concept === 'App') {
242
239
  this.emit('storage', $event);
243
240
  } else {
244
- if (!$event.eventList) {
245
- $event.eventList = [];
246
- }
247
- if (!$event.eventStop) {
248
- $event.eventList.push($event);
249
- // 页面逻辑需要冒泡到页面
250
- if (['Process', 'View', 'Interface', 'Entity', 'Structure', 'Enum', 'ConfigProperty'].includes(this.concept) || (this.concept === 'Logic' && this.parentNode?.concept !== 'View')) {
251
- $event.eventStop = true;
252
- }
253
- }
254
241
  const event: EventPayload = {
255
242
  action: 'update',
256
243
  path: this.parentNode?.getNodePath(false),
257
244
  object: {},
258
245
  oldObject: {},
259
- originEvent: $event.originEvent || $event,
260
- eventList: $event.eventList || [],
246
+ originEvent: $event.originEvent,
247
+ eventList: $event.eventList,
261
248
  eventStop: $event.eventStop,
262
249
  };
263
250
  this.parentNode?.emit('update', event);
@@ -295,25 +282,72 @@ export class BaseNode extends EventEmitter {
295
282
  this.emit('create', {
296
283
  action: 'create',
297
284
  path: this.getNodePath(true),
298
- object: this,
285
+ object: this.toJSON(),
299
286
  ...parentParams,
300
287
  oldObject: null,
301
288
  });
302
289
  }
303
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
+
304
323
  /**
305
324
  * 删除节点
306
325
  */
307
326
  delete() {
308
- const path = this.getNodePath(false);
327
+ const useIndex = ['BindEvent', 'Identifier'].includes(this.concept);
328
+ const path = this.getNodePath(useIndex);
309
329
  const parentParams = this._delete();
310
330
  if (parentParams && parentParams.index !== -1) {
311
- this.emit('delete', {
312
- action: 'delete',
313
- path,
314
- object: null,
315
- ...parentParams,
316
- });
331
+ if (Array.isArray((this.parentNode as any)[this.parentKey])) {
332
+ this.emit('delete', {
333
+ action: 'delete',
334
+ path,
335
+ object: null,
336
+ ...parentParams,
337
+ });
338
+ } else {
339
+ const parentPath = this.parentNode.getNodePath(false);
340
+ this.parentNode.emit('update', {
341
+ action: 'update',
342
+ path: parentPath,
343
+ object: {
344
+ [this.parentKey]: null,
345
+ },
346
+ oldObject: {
347
+ [this.parentKey]: this.toJSON(),
348
+ },
349
+ });
350
+ }
317
351
  }
318
352
  }
319
353
 
@@ -325,8 +359,34 @@ export class BaseNode extends EventEmitter {
325
359
  const oldObject: any = {};
326
360
  for (const key in object) {
327
361
  if (Object.prototype.hasOwnProperty.call(object, key)) {
328
- oldObject[key] = (this as any)[key] ?? null;
329
- (this as any)[key] = object[key] ?? null;
362
+ const oldProperty = (this as any)[key] ?? null;
363
+ oldObject[key] = oldProperty;
364
+ if (Array.isArray(oldProperty)) {
365
+ oldObject[key] = oldProperty.map((item) => {
366
+ let propertyItem = item ?? null;
367
+ if (item instanceof BaseNode) {
368
+ propertyItem = item.toJSON();
369
+ }
370
+ return propertyItem;
371
+ });
372
+ } else if (oldProperty instanceof BaseNode) {
373
+ oldObject[key] = oldProperty.toJSON();
374
+ }
375
+ const property = object[key] ?? null;
376
+ (this as any)[key] = property;
377
+ const objectRefCtor = getConceptConstructor(property?.concept);
378
+ if (Array.isArray(property)) {
379
+ (this as any)[key] = property.map((item) => {
380
+ let propertyItem = item ?? null;
381
+ const propertyObjectRefCtor = getConceptConstructor(item?.concept);
382
+ if (propertyObjectRefCtor?.from) {
383
+ propertyItem = (propertyObjectRefCtor as any).from(item, this, key);
384
+ }
385
+ return propertyItem;
386
+ });
387
+ } else if (objectRefCtor?.from) {
388
+ (this as any)[key] = (objectRefCtor as any).from(property, this, key);
389
+ }
330
390
  }
331
391
  }
332
392
  this.emit('update', {
@@ -334,6 +394,7 @@ export class BaseNode extends EventEmitter {
334
394
  path,
335
395
  object,
336
396
  oldObject,
397
+ field,
337
398
  });
338
399
  }
339
400
 
@@ -350,6 +411,16 @@ export class BaseNode extends EventEmitter {
350
411
  static from(source: any, parentNode?: BaseNode, parentKey?: string): BaseNode {
351
412
  // 有一些继承的情况
352
413
  const Ctor = classMap[source.concept] || this;
414
+ if (Ctor && source instanceof Ctor) {
415
+ if (parentNode) {
416
+ source.parentNode = parentNode;
417
+ }
418
+ if (parentKey) {
419
+ source.parentKey = parentKey;
420
+ }
421
+ return source;
422
+ }
423
+
353
424
  if (Ctor) {
354
425
  const instance = new Ctor();
355
426
  if (parentNode) {
@@ -371,7 +442,7 @@ export class BaseNode extends EventEmitter {
371
442
  return this.getNodePath(false);
372
443
  }
373
444
 
374
- getNodePath(isCreate: boolean) {
445
+ getNodePath(useIndex: boolean) {
375
446
  let node: BaseNode = this;
376
447
  let isNodeSelf = true;
377
448
  const pathArr = [];
@@ -384,7 +455,7 @@ export class BaseNode extends EventEmitter {
384
455
  const parentProperty = parentNode[parentKey as keyof BaseNode];
385
456
  if (Array.isArray(parentProperty)) {
386
457
  const name = node.name;
387
- if (!name || (isCreate && isNodeSelf)) {
458
+ if (!name || (useIndex && isNodeSelf)) {
388
459
  const index = parentProperty.indexOf(node);
389
460
  path += `[${index}]`;
390
461
  } else {
@@ -449,11 +520,11 @@ export class BaseNode extends EventEmitter {
449
520
  get tsName() {
450
521
  if (this.name) {
451
522
  let tsName = this.name;
523
+ // 匹配所有特殊字符都转为_
524
+ tsName = tsName.replace(/\W/g, '_');
452
525
  if (/^\d/.test(tsName)) {
453
526
  tsName = '$' + tsName;
454
527
  }
455
- // 匹配所有特殊字符都转为_
456
- tsName = tsName.replace(/\W/g, '_');
457
528
  return tsName;
458
529
  }
459
530
  return '';
@@ -492,7 +563,7 @@ export class BaseNode extends EventEmitter {
492
563
  */
493
564
  genSources(instance: BaseNode, filerFn?: (source: Partial<BaseNode>) => {}) {
494
565
  if (!instance) {
495
- return;
566
+ return instance;
496
567
  }
497
568
  if (Array.isArray(instance)) {
498
569
  return instance.map((item) => (item && item._toJSON ? item._toJSON(filerFn) : item));
@@ -621,6 +692,10 @@ export class BaseNode extends EventEmitter {
621
692
  /* override */
622
693
  }
623
694
 
695
+ async findReadOnlyLogicUsage(): Promise<any> {
696
+ /* override */
697
+ }
698
+
624
699
  /**
625
700
  * 重命名
626
701
  */
@@ -644,6 +719,7 @@ export class BaseNode extends EventEmitter {
644
719
  async addParamsPrepare(): Promise<any> {
645
720
  /* override */
646
721
  }
722
+
647
723
  /**
648
724
  * 销毁
649
725
  * 从 Map 中删除点和子节点
@@ -665,6 +741,63 @@ export class BaseNode extends EventEmitter {
665
741
  /* override */
666
742
  }
667
743
 
744
+ /**
745
+ * 移动节点
746
+ * @param sourceNode
747
+ * @param position
748
+ */
749
+ moveNode(options: {
750
+ sourceNode: BaseNode,
751
+ position: 'append' | 'insertBefore' | 'insertAfter',
752
+ action?: string
753
+ }) {
754
+ const { sourceNode, position } = options;
755
+ if (this.concept === 'App') {
756
+ return;
757
+ }
758
+ let actionMsg = `移动${(this.constructor as any).nodeTitle}`;
759
+ if (this.name) {
760
+ actionMsg += `“${this.name}”`;
761
+ }
762
+ (sourceNode as any).app.emit('collect:start', {
763
+ actionMsg,
764
+ });
765
+ // 如果是兄弟节点之前的移动
766
+ if (position !== 'append' && this.concept !== sourceNode.concept) {
767
+ return;
768
+ }
769
+ // 先删
770
+ this.delete();
771
+ if (position === 'append') {
772
+ let { action } = options;
773
+ if (!action)
774
+ action = `add${this.concept}`;
775
+ const parentNode = sourceNode;
776
+ (parentNode as any)[action](this as any);
777
+ } else {
778
+ const parentNode = sourceNode?.parentNode;
779
+ const parentKey = sourceNode?.parentKey || '';
780
+ const list = (parentNode as any)[parentKey];
781
+ if (Array.isArray(list)) {
782
+ let index = list.indexOf(sourceNode);
783
+ if (position === 'insertAfter') {
784
+ index += 1;
785
+ }
786
+ Object.assign(this, {
787
+ parentNode,
788
+ parentKey,
789
+ });
790
+ list.splice(index, 0, this);
791
+ this.create({
792
+ index,
793
+ parentNode,
794
+ parentKey,
795
+ });
796
+ }
797
+ }
798
+ (sourceNode as any).app.emit('collect:end');
799
+ }
800
+
668
801
  /**
669
802
  * 获取添加时的默认选项
670
803
  * @returns
@@ -672,6 +805,28 @@ export class BaseNode extends EventEmitter {
672
805
  public static getDefaultOptions(): any {
673
806
  return {};
674
807
  }
808
+
809
+ public traverseChildren(cb: (ele: BaseNode) => void): void {
810
+ function traverse(node: BaseNode) {
811
+ cb(node);
812
+
813
+ const propertyMap = getConceptPropertyMap(node.concept);
814
+ if (!propertyMap)
815
+ return;
816
+
817
+ for (const property of propertyMap.keys()) {
818
+ const child = node[property as keyof BaseNode];
819
+ if (!child)
820
+ continue;
821
+ else if (Array.isArray(child))
822
+ child.forEach((node: BaseNode) => traverse(node));
823
+ else
824
+ traverse(child);
825
+ }
826
+ }
827
+
828
+ traverse(this);
829
+ }
675
830
  }
676
831
 
677
832
  export default BaseNode;