@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
@@ -229,7 +229,7 @@ let View = View_1 = class View extends BaseNode_1.default {
229
229
  }, this, 'elements');
230
230
  }
231
231
  else if (options instanceof ViewElement__1.default) {
232
- options.delete(); // 同一实例不支持多处存在
232
+ options.ensureDelete(); // 同一实例不支持多处存在
233
233
  viewElement = options;
234
234
  Object.assign(viewElement, relationOptions);
235
235
  }
@@ -257,7 +257,7 @@ let View = View_1 = class View extends BaseNode_1.default {
257
257
  }
258
258
  addViewElement(options) {
259
259
  const node = this._addViewElement(options);
260
- const index = this.elements.length;
260
+ const index = this.elements.indexOf(node);
261
261
  node.create({
262
262
  index,
263
263
  parentNode: this,
@@ -270,7 +270,7 @@ let View = View_1 = class View extends BaseNode_1.default {
270
270
  return (this.params || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
271
271
  }
272
272
  getParamUniqueName(name = 'param1') {
273
- return utils.unique(name, this.getParamExistingNames());
273
+ return utils.unique(name, this.getParamExistingNames(), undefined, false);
274
274
  }
275
275
  _insertParamAt(options, index) {
276
276
  const paramOptions = {};
@@ -289,7 +289,7 @@ let View = View_1 = class View extends BaseNode_1.default {
289
289
  }, this, 'params');
290
290
  }
291
291
  else if (options instanceof Param__1.default) {
292
- options.delete(); // 同一实例不支持多处存在
292
+ options.ensureDelete(); // 同一实例不支持多处存在
293
293
  param = options;
294
294
  Object.assign(param, relationOptions);
295
295
  }
@@ -317,7 +317,7 @@ let View = View_1 = class View extends BaseNode_1.default {
317
317
  }
318
318
  addParam(options) {
319
319
  const node = this._addParam(options);
320
- const index = this.params.length;
320
+ const index = this.params.indexOf(node);
321
321
  node.create({
322
322
  index,
323
323
  parentNode: this,
@@ -330,7 +330,7 @@ let View = View_1 = class View extends BaseNode_1.default {
330
330
  return (this.variables || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
331
331
  }
332
332
  getVariableUniqueName(name = 'variable1') {
333
- return utils.unique(name, this.getVariableExistingNames());
333
+ return utils.unique(name, this.getVariableExistingNames(), undefined, false);
334
334
  }
335
335
  _insertVariableAt(options, index) {
336
336
  const variableOptions = {};
@@ -349,7 +349,7 @@ let View = View_1 = class View extends BaseNode_1.default {
349
349
  }, this, 'variables');
350
350
  }
351
351
  else if (options instanceof Variable__1.default) {
352
- options.delete(); // 同一实例不支持多处存在
352
+ options.ensureDelete(); // 同一实例不支持多处存在
353
353
  variable = options;
354
354
  Object.assign(variable, relationOptions);
355
355
  }
@@ -377,7 +377,7 @@ let View = View_1 = class View extends BaseNode_1.default {
377
377
  }
378
378
  addVariable(options) {
379
379
  const node = this._addVariable(options);
380
- const index = this.variables.length;
380
+ const index = this.variables.indexOf(node);
381
381
  node.create({
382
382
  index,
383
383
  parentNode: this,
@@ -385,12 +385,8 @@ let View = View_1 = class View extends BaseNode_1.default {
385
385
  });
386
386
  return node;
387
387
  }
388
- getLogicExistingNames(excludedList = []) {
389
- const excludedSet = new Set(excludedList);
390
- return (this.logics || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
391
- }
392
388
  getLogicUniqueName(name = 'logic1') {
393
- return utils.unique(name, this.getLogicExistingNames());
389
+ return utils.unique(name, this.getLogicExistingNames(), undefined, false);
394
390
  }
395
391
  _insertLogicAt(options, index) {
396
392
  const logicOptions = {};
@@ -409,7 +405,7 @@ let View = View_1 = class View extends BaseNode_1.default {
409
405
  }, this, 'logics');
410
406
  }
411
407
  else if (options instanceof Logic__1.default) {
412
- options.delete(); // 同一实例不支持多处存在
408
+ options.ensureDelete(); // 同一实例不支持多处存在
413
409
  logic = options;
414
410
  Object.assign(logic, relationOptions);
415
411
  }
@@ -437,7 +433,7 @@ let View = View_1 = class View extends BaseNode_1.default {
437
433
  }
438
434
  addLogic(options) {
439
435
  const node = this._addLogic(options);
440
- const index = this.logics.length;
436
+ const index = this.logics.indexOf(node);
441
437
  node.create({
442
438
  index,
443
439
  parentNode: this,
@@ -450,7 +446,7 @@ let View = View_1 = class View extends BaseNode_1.default {
450
446
  return (this.bindEvents || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
451
447
  }
452
448
  getBindEventUniqueName(name = 'bindEvent1') {
453
- return utils.unique(name, this.getBindEventExistingNames());
449
+ return utils.unique(name, this.getBindEventExistingNames(), undefined, false);
454
450
  }
455
451
  _insertBindEventAt(options, index) {
456
452
  const bindEventOptions = {};
@@ -469,7 +465,7 @@ let View = View_1 = class View extends BaseNode_1.default {
469
465
  }, this, 'bindEvents');
470
466
  }
471
467
  else if (options instanceof BindEvent__1.default) {
472
- options.delete(); // 同一实例不支持多处存在
468
+ options.ensureDelete(); // 同一实例不支持多处存在
473
469
  bindEvent = options;
474
470
  Object.assign(bindEvent, relationOptions);
475
471
  }
@@ -497,7 +493,7 @@ let View = View_1 = class View extends BaseNode_1.default {
497
493
  }
498
494
  addBindEvent(options) {
499
495
  const node = this._addBindEvent(options);
500
- const index = this.bindEvents.length;
496
+ const index = this.bindEvents.indexOf(node);
501
497
  node.create({
502
498
  index,
503
499
  parentNode: this,
@@ -510,7 +506,7 @@ let View = View_1 = class View extends BaseNode_1.default {
510
506
  return (this.children || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
511
507
  }
512
508
  getViewUniqueName(name = 'view1') {
513
- return utils.unique(name, this.getViewExistingNames());
509
+ return utils.unique(name, this.getViewExistingNames(), undefined, false);
514
510
  }
515
511
  _insertViewAt(options, index) {
516
512
  const viewOptions = {};
@@ -529,7 +525,7 @@ let View = View_1 = class View extends BaseNode_1.default {
529
525
  }, this, 'children');
530
526
  }
531
527
  else if (options instanceof View_1) {
532
- options.delete(); // 同一实例不支持多处存在
528
+ options.ensureDelete(); // 同一实例不支持多处存在
533
529
  view = options;
534
530
  Object.assign(view, relationOptions);
535
531
  }
@@ -557,7 +553,7 @@ let View = View_1 = class View extends BaseNode_1.default {
557
553
  }
558
554
  addView(options) {
559
555
  const node = this._addView(options);
560
- const index = this.children.length;
556
+ const index = this.children.indexOf(node);
561
557
  node.create({
562
558
  index,
563
559
  parentNode: this,
@@ -785,6 +781,12 @@ let View = View_1 = class View extends BaseNode_1.default {
785
781
  // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
786
782
  // 自动生成的代码已结束。下面可以手动编写。
787
783
  //================================================================================
784
+ /* 主页面有没有权限 */
785
+ get parentAuth() {
786
+ const _nameSpace = this.getTsNamespace();
787
+ const mainViewName = _nameSpace.split('.')[2];
788
+ return mainViewName ? this.app.views.find((item) => item.name === mainViewName)?.auth : this.auth;
789
+ }
788
790
  /**
789
791
  * 设置页面权限
790
792
  */
@@ -867,15 +869,6 @@ let View = View_1 = class View extends BaseNode_1.default {
867
869
  }
868
870
  }
869
871
  }
870
- // 全局结构体
871
- if (Array.isArray(definition.structures)) {
872
- definition.structures.forEach((structureOption) => {
873
- const structure = Structure__1.Structure.from({
874
- ...structureOption,
875
- }, this.rootNode, 'structures');
876
- this.rootNode.addStructure(structure);
877
- });
878
- }
879
872
  // 全局逻辑
880
873
  if (Array.isArray(definition.logics)) {
881
874
  definition.logics.forEach((logicOption) => {
@@ -885,6 +878,15 @@ let View = View_1 = class View extends BaseNode_1.default {
885
878
  this.rootNode.addLogic(logic);
886
879
  });
887
880
  }
881
+ // 全局结构体
882
+ if (Array.isArray(definition.structures)) {
883
+ definition.structures.forEach((structureOption) => {
884
+ const structure = Structure__1.Structure.from({
885
+ ...structureOption,
886
+ }, this.rootNode, 'structures');
887
+ this.rootNode.addStructure(structure);
888
+ });
889
+ }
888
890
  // 页面入参
889
891
  if (Array.isArray(definition.viewParams)) {
890
892
  definition.viewParams.forEach((paramsOption) => {
@@ -925,33 +927,44 @@ let View = View_1 = class View extends BaseNode_1.default {
925
927
  onChange($event) {
926
928
  this.emit('change', $event);
927
929
  }
928
- getVarExistingNames(excludedList = []) {
930
+ getLogicExistingNames(excludedList = []) {
929
931
  const excludedSet = new Set(excludedList);
930
- return [...this.params, ...this.variables].filter((item) => !excludedSet.has(item)).map((item) => item.name);
932
+ const varList = [];
933
+ if (Array.isArray(this.params)) {
934
+ varList.push(...this.params);
935
+ }
936
+ if (Array.isArray(this.variables)) {
937
+ varList.push(...this.variables);
938
+ }
939
+ if (Array.isArray(this.logics)) {
940
+ varList.push(...this.logics);
941
+ }
942
+ return varList.filter((item) => !excludedSet.has(item)).map((item) => item.name);
931
943
  }
932
- /**
933
- * 角色
934
- */
935
- roles = [];
936
- toggleRole(role) {
937
- const index = this.roles.findIndex((roleItem) => roleItem.name === role.name);
938
- const roles = [...this.roles];
939
- if (index !== -1) {
940
- roles.splice(index, 1);
941
- this.roles = roles;
944
+ getVarExistingNames(excludedList = []) {
945
+ const excludedSet = new Set(excludedList);
946
+ const varList = [];
947
+ if (Array.isArray(this.params)) {
948
+ varList.push(...this.params);
942
949
  }
943
- else {
944
- roles.push({
945
- namespace: role.getNamespace(),
946
- name: role.name,
950
+ if (Array.isArray(this.variables)) {
951
+ varList.push(...this.variables);
952
+ }
953
+ if (Array.isArray(this.logics)) {
954
+ this.logics.forEach((logic) => {
955
+ varList.push(logic);
956
+ if (Array.isArray(logic.params)) {
957
+ varList.push(...logic.params);
958
+ }
959
+ if (Array.isArray(logic.returns)) {
960
+ varList.push(...logic.returns);
961
+ }
962
+ if (Array.isArray(logic.variables)) {
963
+ varList.push(...logic.variables);
964
+ }
947
965
  });
948
966
  }
949
- const object = {
950
- roles,
951
- };
952
- this.update({
953
- ...object,
954
- });
967
+ return varList.filter((item) => !excludedSet.has(item)).map((item) => item.name);
955
968
  }
956
969
  /**
957
970
  * 生成 Vue 中需要的 JS 代码
@@ -968,7 +981,7 @@ let View = View_1 = class View extends BaseNode_1.default {
968
981
  events: this.bindEvents,
969
982
  title: this.title,
970
983
  crumb: this.crumb,
971
- first: this.isIndex,
984
+ first: this.children.find((child) => child.isIndex)?.name,
972
985
  };
973
986
  return `${componentOptions}
974
987
  ${(0, translator_2.default)(definition)}
@@ -976,7 +989,7 @@ let View = View_1 = class View extends BaseNode_1.default {
976
989
  `;
977
990
  }
978
991
  genVueTemplate(options) {
979
- return this.elements.map((element) => element.toVue(options) + '\n').join('');
992
+ return this.elements?.map((element) => element?.toVue(options) + '\n').join('');
980
993
  }
981
994
  /**
982
995
  * 转换成 Vue 文件
@@ -1038,14 +1051,11 @@ let View = View_1 = class View extends BaseNode_1.default {
1038
1051
  else
1039
1052
  throw new Error('无法获取命名空间,请设置 parentNode!');
1040
1053
  }
1041
- get tsName() {
1042
- let tsName = this.name;
1043
- if (/^\d/.test(tsName)) {
1044
- tsName = '$' + tsName;
1045
- }
1046
- // 匹配所有特殊字符都转为_
1047
- tsName = tsName.replace(/\W/g, '_');
1048
- return tsName;
1054
+ getTsNamespace() {
1055
+ const parentNodeNamespace = this.getNamespace();
1056
+ let tsCalleeNamespace = parentNodeNamespace.replace(/\.[0-9]/g, (m) => m.replace('.', '.$'));
1057
+ tsCalleeNamespace = tsCalleeNamespace.replace(/-/g, '_');
1058
+ return tsCalleeNamespace;
1049
1059
  }
1050
1060
  // 获取当前element,铺平
1051
1061
  elementsMethods(elements, allMethods) {
@@ -1061,30 +1071,15 @@ let View = View_1 = class View extends BaseNode_1.default {
1061
1071
  toEmbeddedTS(state) {
1062
1072
  function chineseTsName(name) {
1063
1073
  let tsName = name;
1064
- if (/^\d/.test(tsName)) {
1065
- tsName = '$' + tsName;
1066
- }
1067
1074
  // 匹配所有特殊字符都转为_
1068
- tsName = tsName.replace(/\W/g, '_');
1075
+ tsName = tsName.replace(/[^\u4e00-\u9fa5a-zA-Z0-9]/g, '_');
1069
1076
  return tsName;
1070
1077
  }
1071
1078
  let code = `export namespace ${this.tsName} {\n`;
1072
1079
  // 角色
1073
- // if (this.auth && Array.isArray(this.roles) && this.roles.length) {
1074
- // code += indent(state.tabSize + 1);
1075
- // code += 'export let roles = [\n';
1076
- // this.roles.forEach((role) => {
1077
- // code += indent(state.tabSize + 1);
1078
- // `${this.app.getNamespace()}.${role.name}`;
1079
- // code += `${role.namespace}.${role.name},`;
1080
- // code += '\n';
1081
- // });
1082
- // code += indent(state.tabSize + 1);
1083
- // code += '];\n';
1084
- // }
1085
- if (this.auth && Array.isArray(this.bindRoles) && this.bindRoles.length) {
1080
+ if (Array.isArray(this.bindRoles) && this.bindRoles.length) {
1086
1081
  code += (0, translator_1.indent)(state.tabSize + 1);
1087
- code += 'export let bindRoles = [\n';
1082
+ code += 'export let __bindRoles = [\n';
1088
1083
  this.bindRoles.forEach((role) => {
1089
1084
  code += (0, translator_1.indent)(state.tabSize + 1);
1090
1085
  code += `${this.app.getNamespace()}.roles.${chineseTsName(role)}.${chineseTsName(role)},`;
@@ -1109,7 +1104,7 @@ let View = View_1 = class View extends BaseNode_1.default {
1109
1104
  });
1110
1105
  }
1111
1106
  // elements类型声明定义
1112
- code += (0, translator_1.indent)(state.tabSize + 1) + `let __elements = {\n`;
1107
+ code += `interface __elements {\n`;
1113
1108
  // 生成所有的name和类型定义
1114
1109
  this.elements.forEach((element) => {
1115
1110
  code += element.toEmbeddedTSDefinition((0, translator_1.shiftState)(state, code, {
@@ -1117,29 +1112,27 @@ let View = View_1 = class View extends BaseNode_1.default {
1117
1112
  }));
1118
1113
  });
1119
1114
  code += (0, translator_1.indent)(state.tabSize + 1) + '}\n';
1115
+ code += `let __elements: __elements;\n`;
1120
1116
  // 逻辑
1121
1117
  if (Array.isArray(this.logics) && this.logics.length) {
1122
1118
  code += (0, translator_1.indent)(state.tabSize + 1);
1123
- code += `export namespace logics {\n`;
1124
1119
  this.logics.forEach((logic) => {
1125
1120
  code += logic.toEmbeddedTS((0, translator_1.shiftState)(state, code, {
1126
1121
  tabSize: state.tabSize + 2,
1127
- }));
1122
+ }), 'noExport');
1128
1123
  code += '\n';
1129
1124
  });
1130
1125
  code += (0, translator_1.indent)(state.tabSize + 1);
1131
- code += '}\n';
1132
1126
  }
1133
1127
  // 事件
1134
- // bindEvent暂时不用生成,生成就会校验参数
1135
- // if (Array.isArray(this.events) && this.events.length) {
1136
- // this.events.forEach((event) => {
1137
- // code += event.toObjectTS(shiftState(state, code, {
1138
- // tabSize: state.tabSize,
1139
- // }));
1140
- // code += '\n';
1141
- // });
1142
- // }
1128
+ if (Array.isArray(this.bindEvents)) {
1129
+ this.bindEvents.forEach((event) => {
1130
+ code += event.toEmbeddedTS((0, translator_1.shiftState)(state, code, {
1131
+ tabSize: state.tabSize,
1132
+ }), true);
1133
+ code += '\n';
1134
+ });
1135
+ }
1143
1136
  // render函数
1144
1137
  code += '\n' + (0, translator_1.indent)(state.tabSize + 1);
1145
1138
  code += `export function __render(`;
@@ -1157,23 +1150,29 @@ let View = View_1 = class View extends BaseNode_1.default {
1157
1150
  }
1158
1151
  code += '\n' + (0, translator_1.indent)(state.tabSize + 1) + '}\n';
1159
1152
  if (Array.isArray(this.params)) {
1160
- code += (0, translator_1.indent)(state.tabSize + 1) + `export function $destination(`;
1153
+ code += (0, translator_1.indent)(state.tabSize + 1) + `export function $destination(options: {`;
1161
1154
  this.params.forEach((param, index) => {
1162
- code += `${param.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true }))}`;
1155
+ code += param.name + '?: ';
1156
+ code += param.typeAnnotation.toEmbeddedTS((0, translator_1.shiftState)(state, code));
1163
1157
  if (index !== this.params.length - 1)
1164
1158
  code += ', ';
1165
1159
  });
1166
- code += '){}\n';
1160
+ code += '}){}\n';
1167
1161
  }
1168
1162
  code += (0, translator_1.indent)(state.tabSize) + '}\n';
1169
1163
  return code;
1170
1164
  }
1171
1165
  toEmbeddedTSFile() {
1172
- let code = `namespace ${this.getNamespace()} {\n`;
1166
+ let code = `namespace ${this.getTsNamespace()} {\n`;
1173
1167
  const state = (0, translator_1.createCompilerState)(code, {
1174
1168
  tabSize: 1,
1175
1169
  });
1176
- code += this.toEmbeddedTS(state);
1170
+ try {
1171
+ code += this.toEmbeddedTS(state);
1172
+ }
1173
+ catch (err) {
1174
+ code += '';
1175
+ }
1177
1176
  code += '}\n';
1178
1177
  return {
1179
1178
  code,
@@ -1190,10 +1189,16 @@ let View = View_1 = class View extends BaseNode_1.default {
1190
1189
  }
1191
1190
  let path = '/';
1192
1191
  if (_path.length) {
1193
- path += `${_path.join('/')}`;
1192
+ path += `${_path.reverse().join('/')}`;
1194
1193
  }
1195
1194
  return path;
1196
1195
  }
1196
+ /**
1197
+ * 权限领域的资源路径
1198
+ */
1199
+ get authPath() {
1200
+ return this.path;
1201
+ }
1197
1202
  /**
1198
1203
  * @param path 子路径
1199
1204
  * 比如当前页面路径为:/dashboard
@@ -1209,6 +1214,21 @@ let View = View_1 = class View extends BaseNode_1.default {
1209
1214
  const subView = this.children.find((child) => child.name === childName);
1210
1215
  return arr.length ? subView.findViewByPath(arr.join('/')) : subView;
1211
1216
  }
1217
+ findViewByName(name) {
1218
+ return utils.traverse((current) => {
1219
+ if (current.node.name === name)
1220
+ return current.node;
1221
+ }, { node: this });
1222
+ }
1223
+ findElementByName(name) {
1224
+ return this.elements[0]?.findElementByName(name);
1225
+ }
1226
+ findElementByTag(tag) {
1227
+ return this.elements[0]?.findElementByName(tag);
1228
+ }
1229
+ findElementByAttr(name, value) {
1230
+ return this.elements[0]?.findElementByAttr(name, value);
1231
+ }
1212
1232
  _setAsIndexView(isIndex) {
1213
1233
  let views = [];
1214
1234
  if (this.parentNode.concept !== 'View') {
@@ -1242,6 +1262,11 @@ let View = View_1 = class View extends BaseNode_1.default {
1242
1262
  this._setAsIndexView(isIndex);
1243
1263
  this.rootNode.emit('collect:end');
1244
1264
  }
1265
+ removeExistingViewElement(viewElement) {
1266
+ if (this.existingViewElement.has(viewElement.name)) {
1267
+ this.existingViewElement.delete(viewElement.name);
1268
+ }
1269
+ }
1245
1270
  };
1246
1271
  __decorate([
1247
1272
  (0, decorators_1.property)()
@@ -1297,9 +1322,6 @@ __decorate([
1297
1322
  __decorate([
1298
1323
  (0, decorators_1.property)('View')
1299
1324
  ], View.prototype, "children", void 0);
1300
- __decorate([
1301
- (0, decorators_1.property)()
1302
- ], View.prototype, "roles", void 0);
1303
1325
  __decorate([
1304
1326
  (0, translator_1.withSourceMap)()
1305
1327
  ], View.prototype, "toEmbeddedTS", null);
@@ -1 +1 @@
1
- {"version":3,"file":"View__.js","sourceRoot":"","sources":["../../src/concepts/View__.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"View__.js","sourceRoot":"","sources":["../../src/concepts/View__.ts"],"names":[],"mappings":"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"}