@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
@@ -1,17 +1,40 @@
1
- import { CallLogic, BindEvent, App, Namespace, Entity, BaseNode, Logic, Param, TypeAnnotation, Return } from '..';
1
+ import { CallLogic, EntityProperty, BindEvent, App, Namespace, Entity, BaseNode, Logic, Param, TypeAnnotation, Return } from '..';
2
+
2
3
  export function entity2LogicNamespace(entity: Entity) {
4
+ const properties = entity.properties;
5
+ const keys = properties.filter((item) => item.primaryKey);
6
+ const params = keys.map((item: EntityProperty) => new Param({ name: item.name, typeAnnotation: TypeAnnotation.createPrimitive(item.typeAnnotation.typeName), required: true }));
7
+ const batchDeleteParams
8
+ = keys.length > 1 ? [
9
+ new Param({
10
+ name: 'body',
11
+ typeAnnotation: TypeAnnotation.createGeneric('List', {
12
+ typeArguments: [
13
+ TypeAnnotation.from({
14
+ typeKind: 'reference',
15
+ typeNamespace: entity.getNamespace(),
16
+ typeName: entity.name,
17
+ }),
18
+ ],
19
+ }),
20
+ required: true,
21
+ }),
22
+ ] : [
23
+ new Param({
24
+ name: 'body',
25
+ typeAnnotation: TypeAnnotation.createGeneric('List', {
26
+ typeArguments: [TypeAnnotation.createPrimitive(keys[0].typeAnnotation.typeName)],
27
+ }),
28
+ required: true,
29
+ }),
30
+ ];
3
31
  const ns = new Namespace({
4
32
  name: entity.name,
5
33
  logics: [
6
34
  new Logic({
7
35
  name: 'get',
8
- params: [
9
- new Param({
10
- name: 'id',
11
- typeAnnotation: TypeAnnotation.createPrimitive('Long'),
12
- required: true,
13
- }),
14
- ],
36
+ description: 'get',
37
+ params,
15
38
  returns: [
16
39
  new Return({
17
40
  name: 'result',
@@ -26,6 +49,7 @@ export function entity2LogicNamespace(entity: Entity) {
26
49
  }),
27
50
  new Logic({
28
51
  name: 'create',
52
+ description: 'create',
29
53
  params: [
30
54
  new Param({
31
55
  name: 'body',
@@ -51,6 +75,7 @@ export function entity2LogicNamespace(entity: Entity) {
51
75
  }),
52
76
  new Logic({
53
77
  name: 'update',
78
+ description: 'update',
54
79
  params: [
55
80
  new Param({
56
81
  name: 'body',
@@ -76,17 +101,13 @@ export function entity2LogicNamespace(entity: Entity) {
76
101
  }),
77
102
  new Logic({
78
103
  name: 'delete',
79
- params: [
80
- new Param({
81
- name: 'id',
82
- typeAnnotation: TypeAnnotation.createPrimitive('Long'),
83
- required: true,
84
- }),
85
- ],
104
+ description: 'delete',
105
+ params,
86
106
  body: [],
87
107
  }),
88
108
  new Logic({
89
109
  name: 'batchCreate',
110
+ description: 'batchCreate',
90
111
  params: [
91
112
  new Param({
92
113
  name: 'body',
@@ -120,6 +141,7 @@ export function entity2LogicNamespace(entity: Entity) {
120
141
  }),
121
142
  new Logic({
122
143
  name: 'batchUpdate',
144
+ description: 'batchUpdate',
123
145
  params: [
124
146
  new Param({
125
147
  name: 'body',
@@ -153,19 +175,13 @@ export function entity2LogicNamespace(entity: Entity) {
153
175
  }),
154
176
  new Logic({
155
177
  name: 'batchDelete',
156
- params: [
157
- new Param({
158
- name: 'body',
159
- typeAnnotation: TypeAnnotation.createGeneric('List', {
160
- typeArguments: [TypeAnnotation.createPrimitive('Long')],
161
- }),
162
- required: true,
163
- }),
164
- ],
178
+ description: 'batchDelete',
179
+ params: batchDeleteParams,
165
180
  body: [],
166
181
  }),
167
182
  new Logic({
168
183
  name: 'import',
184
+ description: 'import',
169
185
  params: [
170
186
  new Param({
171
187
  name: 'body',
@@ -183,7 +199,7 @@ export function entity2LogicNamespace(entity: Entity) {
183
199
  }),
184
200
  ],
185
201
  });
186
-
202
+ ns.parentNode = entity;
187
203
  return ns;
188
204
  }
189
205
 
@@ -0,0 +1,318 @@
1
+ import naslServer, { FileNode } from './naslServer';
2
+ import * as tsProtocol from 'typescript/lib/protocol';
3
+ import { MinRange } from './translator';
4
+ import { BaseNode, CallLogic, Destination, EnumItem, Interface, Logic, Param, Process, Role, Structure, View, ViewElement } from '../concepts';
5
+ import { EventPayload, invokeCommand, registerCommand } from '../common';
6
+
7
+ interface SetNameNode extends BaseNode {
8
+ setName(name: string): any;
9
+ [propname: string]: any;
10
+ }
11
+
12
+ BaseNode.prototype.findReadOnlyLogicUsage = function () {
13
+ let targetNode;
14
+
15
+ if (this.parentNode.concept === 'Namespace' || this.parentNode.parentNode.concept === 'Namespace') {
16
+ const sourceMap = this.parentNode.concept === 'Namespace' ? this.parentNode.parentNode.sourceMap : this.parentNode.parentNode.parentNode.sourceMap;
17
+ for (const item of sourceMap) {
18
+ const logic = item[0] as Logic;
19
+ if (this.concept === 'Logic') {
20
+ if (logic instanceof Logic)
21
+ if (logic.calleewholeKey === (this as Logic).calleewholeKey) {
22
+ targetNode = logic;
23
+ break;
24
+ }
25
+ } else {
26
+ if (logic instanceof Logic)
27
+ if (logic.calleewholeKey === (this.parentNode as Logic).calleewholeKey) {
28
+ targetNode = logic;
29
+ break;
30
+ }
31
+ }
32
+ }
33
+ } else if (this.parentNode.concept === 'Module') {
34
+ // 父级是模块的还是用它本身去查找引用
35
+ targetNode = this;
36
+ } else {
37
+ const sourceMap = this.parentNode.sourceMap;
38
+ for (const item of sourceMap) {
39
+ const logic = item[0] as Logic;
40
+ if (logic.getNamespace && logic.getNamespace() === (this as Logic).getNamespace()) {
41
+ targetNode = logic;
42
+ break;
43
+ }
44
+ }
45
+ }
46
+
47
+ try {
48
+ return naslServer.findReferences(targetNode);
49
+ } catch (err) {
50
+ console.log(err);
51
+ }
52
+ };
53
+ // 查找引用
54
+ BaseNode.prototype.findUsage = function findUsage() {
55
+ try {
56
+ return naslServer.findReferences(this);
57
+ } catch (err) {
58
+ console.log(err);
59
+ }
60
+ };
61
+ BaseNode.prototype.changeName = async function changeName(newValue: string, updateAll: boolean = false) {
62
+ console.log(newValue);
63
+ console.log(this);
64
+ try {
65
+ /**
66
+ * 查找这个节点是不是有依赖
67
+ */
68
+ const refsList = await naslServer._isHaveRef(this);
69
+ // 是不是有引用有的话,就返回
70
+ /**
71
+ * @param this 当前重命名的节点
72
+ * @param newValue 传递过来的新值,给MemberExpression用的比较特殊
73
+ * 而且,这个新值不一定会用到,MemberExpression在批量更新的时候,可以取到新的value, 这里需要位置信息防止 a.a.a.a 中的一个a发生修改
74
+ * @returns 找到的引用
75
+ */
76
+ const res = naslServer._renamePrepare(this, refsList, newValue);
77
+ if (res.length <= 1) {
78
+ (this as SetNameNode).setName(newValue);
79
+ } else {
80
+ const callback = (value: boolean) => {
81
+ if (value) {
82
+ const App = this.rootNode;
83
+ // 收集修改
84
+ App.emit('collect:start', {
85
+ actionMsg: '重命名并更新引用',
86
+ });
87
+ res.forEach((item) => {
88
+ const itemNode = item.node as SetNameNode;
89
+ if (item.newValue) {
90
+ // 如果有指定的修改方法,就用那个,没有就修改名字
91
+ item.setTypeMethods ? itemNode[item.setTypeMethods](item.newValue) : itemNode.setName?.(item.newValue);
92
+ } else {
93
+ item.setTypeMethods ? itemNode[item.setTypeMethods](newValue) : itemNode.setName?.(newValue);
94
+ }
95
+ });
96
+ // 结束修改 ,批量操作
97
+ App.emit('collect:end');
98
+ } else {
99
+ (this as SetNameNode).setName(newValue);
100
+ }
101
+ };
102
+ const confirmParms = {
103
+ actionType: 'rename',
104
+ node: this,
105
+ newValue,
106
+ };
107
+ /**
108
+ * nasl和vue的通信,回退,要触发vue的watch。
109
+ * 因为如果没修改的话nasl不会修改view,就不会通知到页面改成旧值
110
+ * 先修改之
111
+ */
112
+ const closeCallBack = () => {
113
+ if (this.concept === 'EnumItem') {
114
+ const oldValue = (this as EnumItem).value;
115
+ (this as EnumItem).value = oldValue + ' ';
116
+ setTimeout(() => {
117
+ (this as EnumItem).value = oldValue;
118
+ }, 0);
119
+ } else {
120
+ const oldValue = this.name;
121
+ this.name = oldValue + ' ';
122
+ setTimeout(() => {
123
+ this.name = oldValue;
124
+ }, 0);
125
+ }
126
+ };
127
+ updateAll ? callback(true) : invokeCommand('tsConfirm.open', confirmParms, callback, closeCallBack);
128
+
129
+ return;
130
+ }
131
+ } catch (err) {
132
+ console.log(err);
133
+ }
134
+ };
135
+
136
+ /**
137
+ * 准备删除
138
+ */
139
+ BaseNode.prototype.prepareDelete = async function prepareDelete() {
140
+ try {
141
+ /**
142
+ * 查找这个节点是不是有依赖
143
+ */
144
+ const node = this;
145
+ let refsList = await naslServer._isHaveRef(node);
146
+ // 删除的时候过滤一把组件删除提示
147
+ refsList = refsList.filter((item) =>
148
+ // 因为ui组件本身会多渲染一次,就先过滤一个
149
+ !(item.lineText.includes(': nasl.ui.')));
150
+ // 删除参数单独处理
151
+ if (node instanceof Param) {
152
+ const methodRefs: tsProtocol.ReferencesResponseItem[] = [];
153
+ refsList.forEach((item) => {
154
+ // 入参查找引用,查到logic 和自己,内容完全一样,就保留一个
155
+ const find = methodRefs.find((findItem) => item.lineText === findItem.lineText);
156
+ // 而且内容不是跳转链接,跳转链接多个可能会完全一样
157
+ if (!find || find?.lineText?.includes('.$destination')) {
158
+ methodRefs.push(item);
159
+ }
160
+ });
161
+ refsList = methodRefs;
162
+ }
163
+
164
+ // delete的弹框展示
165
+ const confirmParms = {
166
+ actionType: 'delete',
167
+ tipFlag: false,
168
+ node,
169
+ icon: 'warning',
170
+ };
171
+ let callback = null;
172
+ if (refsList.length <= 1) {
173
+ // 页面组件直接删除然后return
174
+ if (node instanceof ViewElement) {
175
+ this.delete();
176
+ return;
177
+ }
178
+ callback = () => {
179
+ // Structure 和 Interface是内部有delete方法
180
+ if (node instanceof Structure || node instanceof Interface) {
181
+ (this as any).deleteLogincAndModule();
182
+ } else {
183
+ this.delete();
184
+ }
185
+ };
186
+ } else {
187
+ // 如果有依赖就有一个查找引用提示
188
+ confirmParms.tipFlag = true;
189
+ const node = this;
190
+
191
+ // 删除页面或者流程
192
+ if (node instanceof View || node instanceof Process) {
193
+ /**
194
+ * 查找这个页面是不是有依赖
195
+ */
196
+ let viewPath = (this as FileNode).getEmbeddedFilePath();
197
+ viewPath = viewPath.slice(0, viewPath.length - 3);
198
+ const find = refsList.find((record) => !record.file.includes(viewPath));
199
+ // 如果没有别的文件的依赖,就直接delete
200
+ if (!find) {
201
+ this.delete();
202
+ return;
203
+ }
204
+ }
205
+ callback = () => {
206
+ // removeParam
207
+ // 跟rename 还不太一样,部分修改依赖修改好的值,然后在下面的修改需要把自己传递进去
208
+ if (node instanceof Param) {
209
+ const App = this.rootNode;
210
+ const parentNode = this.parentNode;
211
+ // 收集修改
212
+ App.emit('collect:start', {
213
+ actionMsg: '删除参数',
214
+ });
215
+ this.delete();
216
+ refsList.forEach((record) => {
217
+ const fileNode = naslServer.file2NodeMap.get(record.file);
218
+ if (!fileNode)
219
+ return null;
220
+ const minRange: MinRange = naslServer._findMinRange(record, fileNode as FileNode);
221
+ if (minRange) {
222
+ if (minRange.node instanceof CallLogic) {
223
+ minRange.node.setCalleeArgName(parentNode as Logic);
224
+ }
225
+ if (minRange.node instanceof Destination) {
226
+ minRange.node.setViewArgument(parentNode as View);
227
+ }
228
+ }
229
+ });
230
+ // 结束修改 ,批量操作
231
+ App.emit('collect:end');
232
+ return;
233
+ }
234
+ // 删除logic节点,如果有对应的interface要一起删除
235
+ if (node instanceof Logic) {
236
+ const App = this.rootNode;
237
+ // 收集修改
238
+ App.emit('collect:start', {
239
+ actionMsg: '删除逻辑并删除导出的接口',
240
+ });
241
+ this.delete();
242
+ refsList.forEach((record) => {
243
+ const fileNode = naslServer.file2NodeMap.get(record.file);
244
+ if (!fileNode)
245
+ return null;
246
+ const minRange: MinRange = naslServer._findMinRange(record, fileNode as FileNode);
247
+ if (minRange) {
248
+ if (minRange.node instanceof Interface) {
249
+ minRange.node.delete();
250
+ }
251
+ }
252
+ });
253
+ // 结束修改 ,批量操作
254
+ App.emit('collect:end');
255
+ return;
256
+ }
257
+ // 删除权限节点
258
+ if (node instanceof Role) {
259
+ const App = this.rootNode;
260
+ // 收集修改
261
+ App.emit('collect:start', {
262
+ actionMsg: '删除权限',
263
+ });
264
+ this.delete();
265
+ refsList.forEach((record) => {
266
+ const fileNode = naslServer.file2NodeMap.get(record.file);
267
+ if (!fileNode)
268
+ return null;
269
+ const minRange: MinRange = naslServer._findMinRange(record, fileNode as FileNode);
270
+ if (minRange) {
271
+ if (minRange.node instanceof View || minRange.node instanceof ViewElement) {
272
+ // oldName旧的节点存的值
273
+ // newValue用户输入值
274
+ // node.bindRoles 存的
275
+ const str = minRange.node.bindRoles.toString().replace(this.name, '');
276
+ const newBindRoles = str.split(',').filter((item) => !!item);
277
+ minRange.node.setBindRoles(newBindRoles);
278
+ }
279
+ }
280
+ });
281
+ // 结束修改 ,批量操作
282
+ App.emit('collect:end');
283
+ return;
284
+ }
285
+
286
+ // 删除页面或者流程,如果上一步没有return 就说明他是有别的引用的,会有引用弹框
287
+ if (node instanceof View || node instanceof Process) {
288
+ this.delete();
289
+ }
290
+ // 其余的都直接调用删除
291
+ // Structure 和 Interface是内部有delete方法
292
+ if (node instanceof Structure || node instanceof Interface) {
293
+ (this as any).deleteLogincAndModule();
294
+ } else {
295
+ this.delete();
296
+ }
297
+ };
298
+ }
299
+ invokeCommand('tsConfirm.open', confirmParms, callback);
300
+ } catch (err) {
301
+ console.log(err);
302
+ }
303
+ };
304
+
305
+ /**
306
+ * 如果添加需要触发查找引用并且在之后,对内容产生影响
307
+ */
308
+ BaseNode.prototype.addParamsPrepare = async function addParamsPrepare(needAdd = true) {
309
+ try {
310
+ /**
311
+ * 查找这个节点是不是有依赖
312
+ */
313
+ const refsList = await naslServer._isHaveRef(this);
314
+ return naslServer._addParamsPrepare(this, refsList, needAdd);
315
+ } catch (err) {
316
+ console.log(err);
317
+ }
318
+ };
@@ -9,5 +9,7 @@ export function moduleToLogicNamesapce(m: Module) {
9
9
  logics: m.logics,
10
10
  });
11
11
  ns.path = `app.${m.name}.logics`;
12
+ ns.expanded = true
13
+ ns.originConcept = 'import-interface-category'
12
14
  return ns;
13
15
  }
@@ -8,3 +8,9 @@ export function getBuildInFunction(name: string) {
8
8
  const utilFunctions = getFunctions().functions;
9
9
  return utilFunctions.find((f) => f.name === name);
10
10
  }
11
+
12
+ export function getValidationInFunction(name: string) {
13
+ const validation = stdlibNamespace.findChild('validation');
14
+ const validationFunctions = validation.functions;
15
+ return validationFunctions.find((f) => f.name === name);
16
+ }
@@ -1,4 +1,4 @@
1
- import { CallLogic, BindEvent, App, Namespace, Entity, BaseNode, Logic, Param, TypeAnnotation, Return, Process, ViewElement } from '..';
1
+ import { CallLogic, BindEvent, App, Namespace, Entity, BaseNode, Logic, Param, TypeAnnotation, Return, Process, ViewElement, stdlibNamespace } from '..';
2
2
  import { process2LogicNamespace } from './process2LogicNamespace';
3
3
  import { moduleToLogicNamesapce } from './getExtensionModules';
4
4
  import naslServer from './naslServer';
@@ -20,32 +20,34 @@ function iterator(tree: FakeNode | FakeProcessNode, searchContent: string, fakeN
20
20
  if (searchContent) {
21
21
  fakeNode.children = [];
22
22
  fakeNode.logics = [];
23
- fakeNode.processes = [];
23
+ // fakeNode.processes = [];
24
24
  if (tree.children) {
25
25
  tree.children.forEach((c) => {
26
26
  const childFakeNode = {};
27
- if (iterator(c, searchContent, childFakeNode)) {
27
+ if(c.title?.toLowerCase().includes(searchContent) || c.name?.toLowerCase().includes(searchContent))
28
+ fakeNode.children.push({...c});
29
+ else if (iterator(c, searchContent, childFakeNode)) {
28
30
  fakeNode.children.push(childFakeNode);
29
31
  }
30
32
  });
31
33
  }
32
34
  if (tree.logics) {
33
35
  tree.logics.forEach((l) => {
34
- const exist = l.name.includes(searchContent);
36
+ const exist = l.name.toLowerCase().includes(searchContent);
35
37
  if (exist) {
36
38
  fakeNode.logics.push(l);
37
39
  }
38
40
  });
39
41
  }
40
- if (tree.processes) {
41
- tree.processes.forEach((c) => {
42
- const childFakeNode = {};
43
- if (iterator(c, searchContent, childFakeNode)) {
44
- fakeNode.processes.push(childFakeNode);
45
- }
46
- });
47
- }
48
- if (fakeNode.logics.length > 0) {
42
+ // if (tree.processes) {
43
+ // tree.processes.forEach((c) => {
44
+ // const childFakeNode = {};
45
+ // if (iterator(c, searchContent, childFakeNode)) {
46
+ // fakeNode.processes.push(childFakeNode);
47
+ // }
48
+ // });
49
+ // }
50
+ if (fakeNode.logics.length > 0 || fakeNode.children.length > 0) {
49
51
  return true;
50
52
  }
51
53
  return false;
@@ -64,17 +66,25 @@ export async function getLogics(node: CallLogic | BindEvent, needAllLogic: boole
64
66
  const nc = app.entities.map((entity) => entity.ns);
65
67
  nc.map((item) => {
66
68
  item.logics = item.logics.filter((logic) => !logic.name.startsWith('import'));
69
+ item.expanded = true;
70
+ item.originConcept = 'Entity';
67
71
  return item;
68
72
  });
69
- const ps = app.processes.map((p) => process2LogicNamespace(p));
73
+ const ps = app.processes.map((p) => {
74
+ const pItem = process2LogicNamespace(p);
75
+ pItem.expanded = true;
76
+ pItem.originConcept = 'Process';
77
+ return pItem;
78
+ });
70
79
  const extensions = app.dependencies.map(moduleToLogicNamesapce);
71
80
  const tree = new Namespace({
72
- name: 'logics',
81
+ name: 'category',
73
82
  path: `${app.getNamespace()}.logics`,
74
83
  title: '全局逻辑',
75
84
  logics: app.logics,
76
85
  children: [...nc, ...extensions, ...ps],
77
86
  });
87
+ tree.expanded = true;
78
88
  result.push(tree);
79
89
  }
80
90
 
@@ -92,29 +102,87 @@ export async function getLogics(node: CallLogic | BindEvent, needAllLogic: boole
92
102
  if (Array.isArray(eleLogis) && eleLogis.length) {
93
103
  const viewElement = new Namespace({
94
104
  title: toHump(item.name),
95
- name: 'methods',
96
- logics: elementsLogic[elementsLogicName],
105
+ logics: eleLogis.map((item: Logic) => Logic.from(item.toJSON())),
97
106
  path: `elements.${toHump(item.name)}.logics`,
107
+ originConcept: 'ViewElement',
98
108
  });
109
+ viewElement.expanded = true;
99
110
  viewElements.push(viewElement);
100
111
  }
101
112
  });
102
113
  // 增加页面逻辑
103
114
  const tree = new Namespace({
104
- name: 'logics',
115
+ name: 'category',
105
116
  path: `${node.view.getNamespace()}.${node.view.name}.logics`,
106
117
  title: '页面逻辑',
107
118
  logics: node.view.logics,
108
119
  children: viewElements,
109
120
  });
121
+ tree.expanded = true;
110
122
  result.push(tree);
123
+
124
+ const systemTree = new Namespace({
125
+ name: 'category',
126
+ path: `nasl`,
127
+ title: '系统逻辑',
128
+ children: [
129
+ new Namespace({
130
+ name: 'category',
131
+ path: `browser`,
132
+ title: '浏览器',
133
+ logics: stdlibNamespace.findChild('browser').logics,
134
+ expanded: true,
135
+ }),
136
+ new Namespace({
137
+ name: 'category',
138
+ path: `auth`,
139
+ title: '认证与权限',
140
+ logics: stdlibNamespace.findChild('auth').logics,
141
+ expanded: true,
142
+ }),
143
+ new Namespace({
144
+ name: 'category',
145
+ path: `configuration`,
146
+ title: '配置',
147
+ logics: stdlibNamespace.findChild('configuration').logics,
148
+ expanded: true,
149
+ }),
150
+ ],
151
+ expanded: true,
152
+ });
153
+
154
+ systemTree.expanded = true;
155
+ systemTree.children.forEach((child) => (child.expanded = true));
156
+ result.push(systemTree);
157
+ } else {
158
+ // 增加全局逻辑中的系统逻辑
159
+ const systemTree = new Namespace({
160
+ name: 'category',
161
+ path: `nasl`,
162
+ title: '系统逻辑',
163
+ children: [
164
+ new Namespace({
165
+ name: 'category',
166
+ path: `configuration`,
167
+ title: '配置',
168
+ logics: stdlibNamespace.findChild('configuration').logics,
169
+ expanded: true,
170
+ })
171
+ ],
172
+ expanded: true,
173
+ });
174
+
175
+ systemTree.expanded = true;
176
+ systemTree.children.forEach((child) => (child.expanded = true));
177
+ result.push(systemTree);
111
178
  }
112
179
  return result;
113
180
  }
114
181
  }
115
182
 
116
- export function iteratorTree(treeList: {}[], filterText?: string) {
183
+ export function iteratorTree(treeList: {}[], filterText: string = '') {
117
184
  const result: {}[] = [];
185
+ filterText = filterText.toLowerCase();
118
186
  treeList.forEach((item) => {
119
187
  const fakeNode = {};
120
188
  iterator(item, filterText, fakeNode);