@lcap/nasl 1.0.0-alpha.8 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (460) hide show
  1. package/out/automate/engine/index.d.ts +3 -0
  2. package/out/automate/engine/index.js +414 -0
  3. package/out/automate/engine/index.js.map +1 -0
  4. package/out/automate/engine/operators.d.ts +13 -0
  5. package/out/automate/engine/operators.js +63 -0
  6. package/out/automate/engine/operators.js.map +1 -0
  7. package/out/automate/engine/uniqueName.d.ts +6 -0
  8. package/out/automate/engine/uniqueName.js +39 -0
  9. package/out/automate/engine/uniqueName.js.map +1 -0
  10. package/out/automate/engine/utils.d.ts +24 -0
  11. package/out/automate/engine/utils.js +363 -0
  12. package/out/automate/engine/utils.js.map +1 -0
  13. package/out/common/BaseNode.d.ts +20 -0
  14. package/out/common/BaseNode.js +219 -81
  15. package/out/common/BaseNode.js.map +1 -1
  16. package/out/concepts/App__.d.ts +18 -1
  17. package/out/concepts/App__.js +84 -44
  18. package/out/concepts/App__.js.map +1 -1
  19. package/out/concepts/Argument__.d.ts +5 -1
  20. package/out/concepts/Argument__.js +21 -3
  21. package/out/concepts/Argument__.js.map +1 -1
  22. package/out/concepts/Assignee__.d.ts +190 -0
  23. package/out/concepts/Assignee__.js +264 -0
  24. package/out/concepts/Assignee__.js.map +1 -0
  25. package/out/concepts/Assignment__.js +5 -0
  26. package/out/concepts/Assignment__.js.map +1 -1
  27. package/out/concepts/BinaryExpression__.js +8 -7
  28. package/out/concepts/BinaryExpression__.js.map +1 -1
  29. package/out/concepts/BindAttribute__.d.ts +19 -0
  30. package/out/concepts/BindAttribute__.js +55 -10
  31. package/out/concepts/BindAttribute__.js.map +1 -1
  32. package/out/concepts/BindDirective__.js +23 -3
  33. package/out/concepts/BindDirective__.js.map +1 -1
  34. package/out/concepts/BindEvent__.d.ts +2 -2
  35. package/out/concepts/BindEvent__.js +67 -34
  36. package/out/concepts/BindEvent__.js.map +1 -1
  37. package/out/concepts/BooleanLiteral__.d.ts +2 -0
  38. package/out/concepts/BooleanLiteral__.js +10 -0
  39. package/out/concepts/BooleanLiteral__.js.map +1 -1
  40. package/out/concepts/CallFunction__.js +57 -23
  41. package/out/concepts/CallFunction__.js.map +1 -1
  42. package/out/concepts/CallInterface__.d.ts +5 -0
  43. package/out/concepts/CallInterface__.js +238 -31
  44. package/out/concepts/CallInterface__.js.map +1 -1
  45. package/out/concepts/CallLogic__.d.ts +4 -4
  46. package/out/concepts/CallLogic__.js +107 -50
  47. package/out/concepts/CallLogic__.js.map +1 -1
  48. package/out/concepts/CallQueryComponent__.d.ts +7 -1
  49. package/out/concepts/CallQueryComponent__.js +45 -26
  50. package/out/concepts/CallQueryComponent__.js.map +1 -1
  51. package/out/concepts/Comment__.js +6 -2
  52. package/out/concepts/Comment__.js.map +1 -1
  53. package/out/concepts/CompletionProperty__.d.ts +3 -1
  54. package/out/concepts/CompletionProperty__.js +2 -0
  55. package/out/concepts/CompletionProperty__.js.map +1 -1
  56. package/out/concepts/ConfigGroup__.js +3 -3
  57. package/out/concepts/ConfigGroup__.js.map +1 -1
  58. package/out/concepts/ConfigProperty__.js +3 -3
  59. package/out/concepts/ConfigProperty__.js.map +1 -1
  60. package/out/concepts/Configuration__.js +3 -3
  61. package/out/concepts/Configuration__.js.map +1 -1
  62. package/out/concepts/Constant__.d.ts +1 -0
  63. package/out/concepts/Constant__.js +14 -0
  64. package/out/concepts/Constant__.js.map +1 -1
  65. package/out/concepts/Destination__.d.ts +12 -0
  66. package/out/concepts/Destination__.js +98 -19
  67. package/out/concepts/Destination__.js.map +1 -1
  68. package/out/concepts/End__.js +9 -1
  69. package/out/concepts/End__.js.map +1 -1
  70. package/out/concepts/EntityProperty__.d.ts +11 -0
  71. package/out/concepts/EntityProperty__.js +73 -5
  72. package/out/concepts/EntityProperty__.js.map +1 -1
  73. package/out/concepts/Entity__.d.ts +4 -4
  74. package/out/concepts/Entity__.js +30 -20
  75. package/out/concepts/Entity__.js.map +1 -1
  76. package/out/concepts/Enum__.d.ts +4 -0
  77. package/out/concepts/Enum__.js +18 -10
  78. package/out/concepts/Enum__.js.map +1 -1
  79. package/out/concepts/Event__.js +3 -3
  80. package/out/concepts/Event__.js.map +1 -1
  81. package/out/concepts/ForEachStatement__.d.ts +1 -1
  82. package/out/concepts/ForEachStatement__.js +11 -15
  83. package/out/concepts/ForEachStatement__.js.map +1 -1
  84. package/out/concepts/Function__.js +13 -13
  85. package/out/concepts/Function__.js.map +1 -1
  86. package/out/concepts/Identifier__.d.ts +3 -0
  87. package/out/concepts/Identifier__.js +76 -29
  88. package/out/concepts/Identifier__.js.map +1 -1
  89. package/out/concepts/IfStatement__.js +4 -4
  90. package/out/concepts/IfStatement__.js.map +1 -1
  91. package/out/concepts/InterfaceParam__.d.ts +6 -4
  92. package/out/concepts/InterfaceParam__.js +52 -19
  93. package/out/concepts/InterfaceParam__.js.map +1 -1
  94. package/out/concepts/Interface__.d.ts +42 -30
  95. package/out/concepts/Interface__.js +133 -17
  96. package/out/concepts/Interface__.js.map +1 -1
  97. package/out/concepts/JSBlock__.d.ts +1 -0
  98. package/out/concepts/JSBlock__.js +3 -0
  99. package/out/concepts/JSBlock__.js.map +1 -1
  100. package/out/concepts/LogicItem__.d.ts +2 -1
  101. package/out/concepts/LogicItem__.js +14 -0
  102. package/out/concepts/LogicItem__.js.map +1 -1
  103. package/out/concepts/Logic__.d.ts +20 -1
  104. package/out/concepts/Logic__.js +194 -37
  105. package/out/concepts/Logic__.js.map +1 -1
  106. package/out/concepts/MemberExpression__.d.ts +2 -0
  107. package/out/concepts/MemberExpression__.js +49 -13
  108. package/out/concepts/MemberExpression__.js.map +1 -1
  109. package/out/concepts/Module__.d.ts +126 -120
  110. package/out/concepts/Module__.js +36 -26
  111. package/out/concepts/Module__.js.map +1 -1
  112. package/out/concepts/Namespace__.d.ts +5 -1
  113. package/out/concepts/Namespace__.js +48 -37
  114. package/out/concepts/Namespace__.js.map +1 -1
  115. package/out/concepts/NullLiteral__.d.ts +3 -0
  116. package/out/concepts/NullLiteral__.js +11 -1
  117. package/out/concepts/NullLiteral__.js.map +1 -1
  118. package/out/concepts/NumericLiteral__.d.ts +1 -1
  119. package/out/concepts/NumericLiteral__.js +17 -6
  120. package/out/concepts/NumericLiteral__.js.map +1 -1
  121. package/out/concepts/Param__.d.ts +7 -3
  122. package/out/concepts/Param__.js +57 -28
  123. package/out/concepts/Param__.js.map +1 -1
  124. package/out/concepts/ProcessComponent__.js +6 -6
  125. package/out/concepts/ProcessComponent__.js.map +1 -1
  126. package/out/concepts/ProcessElement__.d.ts +0 -4
  127. package/out/concepts/ProcessElement__.js +117 -54
  128. package/out/concepts/ProcessElement__.js.map +1 -1
  129. package/out/concepts/ProcessOutcome__.js +1 -1
  130. package/out/concepts/ProcessOutcome__.js.map +1 -1
  131. package/out/concepts/Process__.d.ts +7 -1
  132. package/out/concepts/Process__.js +81 -85
  133. package/out/concepts/Process__.js.map +1 -1
  134. package/out/concepts/QueryAggregateExpression__.js +1 -1
  135. package/out/concepts/QueryAggregateExpression__.js.map +1 -1
  136. package/out/concepts/QueryFromExpression__.js +2 -2
  137. package/out/concepts/QueryFromExpression__.js.map +1 -1
  138. package/out/concepts/QueryJoinExpression__.js +5 -5
  139. package/out/concepts/QueryJoinExpression__.js.map +1 -1
  140. package/out/concepts/QueryLimitExpression__.js +2 -2
  141. package/out/concepts/QueryLimitExpression__.js.map +1 -1
  142. package/out/concepts/QuerySelectExpression__.js +3 -3
  143. package/out/concepts/QuerySelectExpression__.js.map +1 -1
  144. package/out/concepts/Return__.d.ts +4 -1
  145. package/out/concepts/Return__.js +67 -21
  146. package/out/concepts/Return__.js.map +1 -1
  147. package/out/concepts/Role__.d.ts +4 -0
  148. package/out/concepts/Role__.js +13 -4
  149. package/out/concepts/Role__.js.map +1 -1
  150. package/out/concepts/SqlQueryComponent__.js +2 -2
  151. package/out/concepts/SqlQueryComponent__.js.map +1 -1
  152. package/out/concepts/StringLiteral__.d.ts +1 -1
  153. package/out/concepts/StringLiteral__.js +21 -31
  154. package/out/concepts/StringLiteral__.js.map +1 -1
  155. package/out/concepts/StructureProperty__.d.ts +5 -4
  156. package/out/concepts/StructureProperty__.js +55 -26
  157. package/out/concepts/StructureProperty__.js.map +1 -1
  158. package/out/concepts/Structure__.d.ts +44 -30
  159. package/out/concepts/Structure__.js +44 -12
  160. package/out/concepts/Structure__.js.map +1 -1
  161. package/out/concepts/SwitchCase__.js +4 -4
  162. package/out/concepts/SwitchCase__.js.map +1 -1
  163. package/out/concepts/SwitchStatement__.js +2 -2
  164. package/out/concepts/SwitchStatement__.js.map +1 -1
  165. package/out/concepts/TypeAnnotation__.d.ts +5 -5
  166. package/out/concepts/TypeAnnotation__.js +74 -20
  167. package/out/concepts/TypeAnnotation__.js.map +1 -1
  168. package/out/concepts/UnaryExpression__.js +10 -8
  169. package/out/concepts/UnaryExpression__.js.map +1 -1
  170. package/out/concepts/Unparsed__.js +1 -1
  171. package/out/concepts/Unparsed__.js.map +1 -1
  172. package/out/concepts/ValidationRule__.d.ts +1 -0
  173. package/out/concepts/ValidationRule__.js +48 -13
  174. package/out/concepts/ValidationRule__.js.map +1 -1
  175. package/out/concepts/Variable__.d.ts +10 -1
  176. package/out/concepts/Variable__.js +70 -18
  177. package/out/concepts/Variable__.js.map +1 -1
  178. package/out/concepts/ViewComponent__.js +15 -15
  179. package/out/concepts/ViewComponent__.js.map +1 -1
  180. package/out/concepts/ViewElement__.d.ts +17 -11
  181. package/out/concepts/ViewElement__.js +302 -204
  182. package/out/concepts/ViewElement__.js.map +1 -1
  183. package/out/concepts/View__.d.ts +12 -11
  184. package/out/concepts/View__.js +109 -98
  185. package/out/concepts/View__.js.map +1 -1
  186. package/out/concepts/WhileStatement__.js +3 -3
  187. package/out/concepts/WhileStatement__.js.map +1 -1
  188. package/out/concepts/basics/stdlib/index.js +4 -1
  189. package/out/concepts/basics/stdlib/index.js.map +1 -1
  190. package/out/concepts/basics/stdlib/{nasl.validate.d.ts → nasl.auth.d.ts} +0 -0
  191. package/out/concepts/basics/stdlib/nasl.auth.js +30 -0
  192. package/out/concepts/basics/stdlib/nasl.auth.js.map +1 -0
  193. package/out/concepts/basics/stdlib/nasl.browser copy.d.ts +3 -0
  194. package/out/concepts/basics/stdlib/nasl.browser copy.js +70 -0
  195. package/out/concepts/basics/stdlib/nasl.browser copy.js.map +1 -0
  196. package/out/concepts/basics/stdlib/nasl.browser.d.ts +3 -0
  197. package/out/concepts/basics/stdlib/nasl.browser.js +41 -0
  198. package/out/concepts/basics/stdlib/nasl.browser.js.map +1 -0
  199. package/out/concepts/basics/stdlib/nasl.configuration.d.ts +3 -0
  200. package/out/concepts/basics/stdlib/nasl.configuration.js +25 -0
  201. package/out/concepts/basics/stdlib/nasl.configuration.js.map +1 -0
  202. package/out/concepts/basics/stdlib/nasl.ui.js +20 -0
  203. package/out/concepts/basics/stdlib/nasl.ui.js.map +1 -1
  204. package/out/concepts/basics/stdlib/nasl.util.js +149 -13
  205. package/out/concepts/basics/stdlib/nasl.util.js.map +1 -1
  206. package/out/concepts/basics/stdlib/nasl.validation.js +54 -20
  207. package/out/concepts/basics/stdlib/nasl.validation.js.map +1 -1
  208. package/out/concepts/basics/types/coreTypeList.js +11 -10
  209. package/out/concepts/basics/types/coreTypeList.js.map +1 -1
  210. package/out/concepts/index__.d.ts +1 -0
  211. package/out/concepts/index__.js +1 -0
  212. package/out/concepts/index__.js.map +1 -1
  213. package/out/config.d.ts +1 -2
  214. package/out/config.js +1 -2
  215. package/out/config.js.map +1 -1
  216. package/out/enums/KEYWORDS.d.ts +3 -0
  217. package/out/enums/KEYWORDS.js +1206 -0
  218. package/out/enums/KEYWORDS.js.map +1 -0
  219. package/out/enums/LEVEL_NAME_MAP.d.ts +26 -0
  220. package/out/enums/LEVEL_NAME_MAP.js +30 -0
  221. package/out/enums/LEVEL_NAME_MAP.js.map +1 -0
  222. package/out/eventBus.d.ts +3 -0
  223. package/out/eventBus.js +7 -0
  224. package/out/eventBus.js.map +1 -0
  225. package/out/generator/genBundleFiles.d.ts +7 -2
  226. package/out/generator/genBundleFiles.js +168 -27
  227. package/out/generator/genBundleFiles.js.map +1 -1
  228. package/out/generator/genMetaData.d.ts +20 -20
  229. package/out/generator/genMetaData.js +50 -15
  230. package/out/generator/genMetaData.js.map +1 -1
  231. package/out/index.d.ts +2 -0
  232. package/out/index.js +2 -0
  233. package/out/index.js.map +1 -1
  234. package/out/manager/diagnostic.d.ts +1 -1
  235. package/out/server/createUiTs.d.ts +1 -0
  236. package/out/server/createUiTs.js +49 -5
  237. package/out/server/createUiTs.js.map +1 -1
  238. package/out/server/entity2LogicNamespace.js +38 -23
  239. package/out/server/entity2LogicNamespace.js.map +1 -1
  240. package/out/server/getExtensionModules.js +2 -0
  241. package/out/server/getExtensionModules.js.map +1 -1
  242. package/out/server/getFunctions.d.ts +1 -0
  243. package/out/server/getFunctions.js +7 -1
  244. package/out/server/getFunctions.js.map +1 -1
  245. package/out/server/getLogics.js +63 -18
  246. package/out/server/getLogics.js.map +1 -1
  247. package/out/server/getMemberIdentifier.d.ts +16 -1
  248. package/out/server/getMemberIdentifier.js +279 -36
  249. package/out/server/getMemberIdentifier.js.map +1 -1
  250. package/out/server/getProcesses.d.ts +6 -1
  251. package/out/server/getProcesses.js +243 -1
  252. package/out/server/getProcesses.js.map +1 -1
  253. package/out/server/getScope.d.ts +12 -0
  254. package/out/server/getScope.js +57 -0
  255. package/out/server/getScope.js.map +1 -0
  256. package/out/server/index.js +4 -0
  257. package/out/server/index.js.map +1 -1
  258. package/out/server/naslServer.d.ts +30 -53
  259. package/out/server/naslServer.js +721 -381
  260. package/out/server/naslServer.js.map +1 -1
  261. package/out/server/process2LogicNamespace.d.ts +10 -0
  262. package/out/server/process2LogicNamespace.js +29 -1
  263. package/out/server/process2LogicNamespace.js.map +1 -1
  264. package/out/server/translator.d.ts +22 -3
  265. package/out/server/translator.js +367 -123
  266. package/out/server/translator.js.map +1 -1
  267. package/out/service/creator/add.configs.d.ts +1 -0
  268. package/out/service/creator/add.configs.js +68 -0
  269. package/out/service/creator/add.configs.js.map +1 -0
  270. package/out/service/creator/errHandles.d.ts +18 -0
  271. package/out/service/creator/errHandles.js +60 -0
  272. package/out/service/creator/errHandles.js.map +1 -0
  273. package/out/service/creator/index.d.ts +1 -0
  274. package/out/service/creator/index.js +72 -0
  275. package/out/service/creator/index.js.map +1 -0
  276. package/out/service/storage/api.d.ts +18 -0
  277. package/out/service/storage/api.js +17 -0
  278. package/out/service/storage/api.js.map +1 -0
  279. package/out/service/storage/init.js +213 -37
  280. package/out/service/storage/init.js.map +1 -1
  281. package/out/service/storage/service.d.ts +2 -0
  282. package/out/service/storage/service.js +10 -0
  283. package/out/service/storage/service.js.map +1 -0
  284. package/out/service/storage/storagePoint.d.ts +1 -14
  285. package/out/service/storage/storagePoint.js +16 -16
  286. package/out/service/storage/storagePoint.js.map +1 -1
  287. package/out/templator/genCreateBlock.js +6 -6
  288. package/out/templator/genCreateBlock.js.map +1 -1
  289. package/out/templator/genCurdEditMultipleKeyBlock.js +13 -17
  290. package/out/templator/genCurdEditMultipleKeyBlock.js.map +1 -1
  291. package/out/templator/genCurdMultipleKeyBlock.js +11 -11
  292. package/out/templator/genCurdMultipleKeyBlock.js.map +1 -1
  293. package/out/templator/genEditTableBlock.js +5 -5
  294. package/out/templator/genEditTableBlock.js.map +1 -1
  295. package/out/templator/genEnumSelectBlock.js +2 -2
  296. package/out/templator/genEnumSelectBlock.js.map +1 -1
  297. package/out/templator/genGetBlock.js +5 -3
  298. package/out/templator/genGetBlock.js.map +1 -1
  299. package/out/templator/genGridViewBlock.d.ts +3 -1
  300. package/out/templator/genGridViewBlock.js +61 -6
  301. package/out/templator/genGridViewBlock.js.map +1 -1
  302. package/out/templator/genQueryComponent.d.ts +2 -0
  303. package/out/templator/genQueryComponent.js +27 -14
  304. package/out/templator/genQueryComponent.js.map +1 -1
  305. package/out/templator/genTableBlock.d.ts +1 -1
  306. package/out/templator/genTableBlock.js +4 -5
  307. package/out/templator/genTableBlock.js.map +1 -1
  308. package/out/templator/genUpdateBlock.js +9 -10
  309. package/out/templator/genUpdateBlock.js.map +1 -1
  310. package/out/templator/utils.d.ts +13 -4
  311. package/out/templator/utils.js +8 -4
  312. package/out/templator/utils.js.map +1 -1
  313. package/out/test/fixtures/env.js +0 -1
  314. package/out/test/fixtures/env.js.map +1 -1
  315. package/out/test/integration/connect-file copy.d.ts +1 -0
  316. package/out/test/integration/connect-file copy.js +50 -0
  317. package/out/test/integration/connect-file copy.js.map +1 -0
  318. package/out/test/integration/node-nasl-server.d.ts +1 -0
  319. package/out/test/integration/node-nasl-server.js +41 -0
  320. package/out/test/integration/node-nasl-server.js.map +1 -0
  321. package/out/test/units/page/Element.spec.js +3 -3
  322. package/out/test/units/page/Element.spec.js.map +1 -1
  323. package/out/test/units/temp/temp.spec.js +1 -1
  324. package/out/test/units/temp/temp.spec.js.map +1 -1
  325. package/out/utils/index.d.ts +6 -0
  326. package/out/utils/index.js +25 -1
  327. package/out/utils/index.js.map +1 -1
  328. package/out/utils/string.d.ts +1 -1
  329. package/out/utils/string.js +38 -9
  330. package/out/utils/string.js.map +1 -1
  331. package/package.json +2 -1
  332. package/src/automate/engine/index.js +97 -118
  333. package/src/automate/engine/operators.js +63 -0
  334. package/src/automate/engine/uniqueName.js +36 -0
  335. package/src/automate/engine/utils.js +49 -19
  336. package/src/common/BaseNode.ts +223 -87
  337. package/src/concepts/App__.ts +86 -46
  338. package/src/concepts/Argument__.ts +23 -3
  339. package/src/concepts/Assignee__.ts +437 -0
  340. package/src/concepts/Assignment__.ts +4 -1
  341. package/src/concepts/BinaryExpression__.ts +9 -7
  342. package/src/concepts/BindAttribute__.ts +69 -9
  343. package/src/concepts/BindDirective__.ts +22 -3
  344. package/src/concepts/BindEvent__.ts +67 -23
  345. package/src/concepts/BooleanLiteral__.ts +8 -0
  346. package/src/concepts/CallFunction__.ts +58 -25
  347. package/src/concepts/CallInterface__.ts +236 -26
  348. package/src/concepts/CallLogic__.ts +111 -52
  349. package/src/concepts/CallQueryComponent__.ts +36 -21
  350. package/src/concepts/Comment__.ts +6 -2
  351. package/src/concepts/CompletionProperty__.ts +5 -1
  352. package/src/concepts/ConfigGroup__.ts +3 -3
  353. package/src/concepts/ConfigProperty__.ts +3 -3
  354. package/src/concepts/Configuration__.ts +3 -3
  355. package/src/concepts/Constant__.ts +12 -0
  356. package/src/concepts/Destination__.ts +106 -18
  357. package/src/concepts/End__.ts +8 -1
  358. package/src/concepts/EntityProperty__.ts +69 -5
  359. package/src/concepts/Entity__.ts +33 -28
  360. package/src/concepts/Enum__.ts +16 -11
  361. package/src/concepts/Event__.ts +3 -3
  362. package/src/concepts/ForEachStatement__.ts +16 -21
  363. package/src/concepts/Function__.ts +13 -13
  364. package/src/concepts/Identifier__.ts +82 -32
  365. package/src/concepts/IfStatement__.ts +4 -4
  366. package/src/concepts/InterfaceParam__.ts +49 -27
  367. package/src/concepts/Interface__.ts +130 -16
  368. package/src/concepts/JSBlock__.ts +4 -0
  369. package/src/concepts/LogicItem__.ts +16 -1
  370. package/src/concepts/Logic__.ts +201 -39
  371. package/src/concepts/MemberExpression__.ts +58 -15
  372. package/src/concepts/Module__.ts +35 -24
  373. package/src/concepts/Namespace__.ts +49 -37
  374. package/src/concepts/NullLiteral__.ts +8 -1
  375. package/src/concepts/NumericLiteral__.ts +17 -6
  376. package/src/concepts/Param__.ts +54 -28
  377. package/src/concepts/ProcessComponent__.ts +6 -6
  378. package/src/concepts/ProcessElement__.ts +143 -44
  379. package/src/concepts/ProcessOutcome__.ts +1 -1
  380. package/src/concepts/Process__.ts +85 -98
  381. package/src/concepts/QueryAggregateExpression__.ts +1 -1
  382. package/src/concepts/QueryFromExpression__.ts +2 -2
  383. package/src/concepts/QueryJoinExpression__.ts +5 -5
  384. package/src/concepts/QueryLimitExpression__.ts +2 -2
  385. package/src/concepts/QuerySelectExpression__.ts +3 -3
  386. package/src/concepts/Return__.ts +60 -29
  387. package/src/concepts/Role__.ts +11 -4
  388. package/src/concepts/SqlQueryComponent__.ts +2 -2
  389. package/src/concepts/StringLiteral__.ts +20 -31
  390. package/src/concepts/StructureProperty__.ts +50 -33
  391. package/src/concepts/Structure__.ts +32 -10
  392. package/src/concepts/SwitchCase__.ts +4 -4
  393. package/src/concepts/SwitchStatement__.ts +2 -2
  394. package/src/concepts/TypeAnnotation__.ts +59 -16
  395. package/src/concepts/UnaryExpression__.ts +10 -8
  396. package/src/concepts/Unparsed__.ts +1 -1
  397. package/src/concepts/ValidationRule__.ts +44 -14
  398. package/src/concepts/Variable__.ts +67 -25
  399. package/src/concepts/ViewComponent__.ts +15 -15
  400. package/src/concepts/ViewElement__.ts +380 -264
  401. package/src/concepts/View__.ts +139 -94
  402. package/src/concepts/WhileStatement__.ts +4 -4
  403. package/src/concepts/basics/stdlib/index.ts +4 -2
  404. package/src/concepts/basics/stdlib/nasl.auth.ts +26 -0
  405. package/src/concepts/basics/stdlib/nasl.browser.ts +37 -0
  406. package/src/concepts/basics/stdlib/nasl.configuration.ts +21 -0
  407. package/src/concepts/basics/stdlib/nasl.ui.ts +20 -1
  408. package/src/concepts/basics/stdlib/nasl.util.ts +151 -13
  409. package/src/concepts/basics/stdlib/nasl.validation.ts +45 -11
  410. package/src/concepts/basics/types/coreTypeList.ts +11 -10
  411. package/src/concepts/index__.ts +1 -0
  412. package/src/config.ts +1 -2
  413. package/src/enums/KEYWORDS.ts +1204 -0
  414. package/src/{terms → enums}/LEVEL_NAME_MAP.ts +0 -0
  415. package/src/eventBus.ts +5 -0
  416. package/src/generator/genBundleFiles.ts +182 -30
  417. package/src/generator/genMetaData.ts +72 -21
  418. package/src/index.ts +2 -0
  419. package/src/manager/diagnostic.ts +1 -1
  420. package/src/server/createUiTs.ts +50 -8
  421. package/src/server/entity2LogicNamespace.ts +41 -25
  422. package/src/server/getExtensionModules.ts +2 -0
  423. package/src/server/getFunctions.ts +6 -0
  424. package/src/server/getLogics.ts +66 -19
  425. package/src/server/getMemberIdentifier.ts +275 -46
  426. package/src/server/getProcesses.ts +248 -4
  427. package/src/server/getScope.ts +62 -0
  428. package/src/server/index.ts +12 -1
  429. package/src/server/naslServer.ts +715 -398
  430. package/src/server/process2LogicNamespace.ts +30 -2
  431. package/src/server/translator.ts +423 -128
  432. package/src/service/config/index.js +1 -1
  433. package/src/service/creator/errHandles.js +5 -2
  434. package/src/service/creator/index.js +0 -6
  435. package/src/service/storage/api.js +14 -0
  436. package/src/service/storage/init.ts +217 -47
  437. package/src/service/storage/service.ts +6 -0
  438. package/src/service/storage/storagePoint.ts +16 -16
  439. package/src/templator/genCreateBlock.ts +6 -6
  440. package/src/templator/genCurdEditMultipleKeyBlock.ts +29 -30
  441. package/src/templator/genCurdMultipleKeyBlock.ts +11 -11
  442. package/src/templator/genEditTableBlock.ts +5 -5
  443. package/src/templator/genEnumSelectBlock.ts +2 -2
  444. package/src/templator/genGetBlock.ts +6 -8
  445. package/src/templator/genGridViewBlock.ts +59 -9
  446. package/src/templator/genQueryComponent.ts +39 -28
  447. package/src/templator/genTableBlock.ts +5 -9
  448. package/src/templator/genUpdateBlock.ts +9 -11
  449. package/src/templator/utils.ts +9 -6
  450. package/src/test/fixtures/env.ts +0 -2
  451. package/src/test/units/page/Element.spec.ts +3 -3
  452. package/src/test/units/temp/temp.spec.ts +1 -1
  453. package/src/utils/index.ts +24 -0
  454. package/src/utils/string.ts +39 -9
  455. package/out/concepts/basics/stdlib/nasl.validate.js +0 -527
  456. package/out/concepts/basics/stdlib/nasl.validate.js.map +0 -1
  457. package/out/data/Module.d.ts +0 -34
  458. package/out/data/Module.js +0 -53
  459. package/out/data/Module.js.map +0 -1
  460. package/src/automate/engine/index.d.ts +0 -3
@@ -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,
@@ -390,7 +390,7 @@ let View = View_1 = class View extends BaseNode_1.default {
390
390
  return (this.logics || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
391
391
  }
392
392
  getLogicUniqueName(name = 'logic1') {
393
- return utils.unique(name, this.getLogicExistingNames());
393
+ return utils.unique(name, this.getLogicExistingNames(), undefined, false);
394
394
  }
395
395
  _insertLogicAt(options, index) {
396
396
  const logicOptions = {};
@@ -409,7 +409,7 @@ let View = View_1 = class View extends BaseNode_1.default {
409
409
  }, this, 'logics');
410
410
  }
411
411
  else if (options instanceof Logic__1.default) {
412
- options.delete(); // 同一实例不支持多处存在
412
+ options.ensureDelete(); // 同一实例不支持多处存在
413
413
  logic = options;
414
414
  Object.assign(logic, relationOptions);
415
415
  }
@@ -437,7 +437,7 @@ let View = View_1 = class View extends BaseNode_1.default {
437
437
  }
438
438
  addLogic(options) {
439
439
  const node = this._addLogic(options);
440
- const index = this.logics.length;
440
+ const index = this.logics.indexOf(node);
441
441
  node.create({
442
442
  index,
443
443
  parentNode: this,
@@ -450,7 +450,7 @@ let View = View_1 = class View extends BaseNode_1.default {
450
450
  return (this.bindEvents || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
451
451
  }
452
452
  getBindEventUniqueName(name = 'bindEvent1') {
453
- return utils.unique(name, this.getBindEventExistingNames());
453
+ return utils.unique(name, this.getBindEventExistingNames(), undefined, false);
454
454
  }
455
455
  _insertBindEventAt(options, index) {
456
456
  const bindEventOptions = {};
@@ -469,7 +469,7 @@ let View = View_1 = class View extends BaseNode_1.default {
469
469
  }, this, 'bindEvents');
470
470
  }
471
471
  else if (options instanceof BindEvent__1.default) {
472
- options.delete(); // 同一实例不支持多处存在
472
+ options.ensureDelete(); // 同一实例不支持多处存在
473
473
  bindEvent = options;
474
474
  Object.assign(bindEvent, relationOptions);
475
475
  }
@@ -497,7 +497,7 @@ let View = View_1 = class View extends BaseNode_1.default {
497
497
  }
498
498
  addBindEvent(options) {
499
499
  const node = this._addBindEvent(options);
500
- const index = this.bindEvents.length;
500
+ const index = this.bindEvents.indexOf(node);
501
501
  node.create({
502
502
  index,
503
503
  parentNode: this,
@@ -510,7 +510,7 @@ let View = View_1 = class View extends BaseNode_1.default {
510
510
  return (this.children || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
511
511
  }
512
512
  getViewUniqueName(name = 'view1') {
513
- return utils.unique(name, this.getViewExistingNames());
513
+ return utils.unique(name, this.getViewExistingNames(), undefined, false);
514
514
  }
515
515
  _insertViewAt(options, index) {
516
516
  const viewOptions = {};
@@ -529,7 +529,7 @@ let View = View_1 = class View extends BaseNode_1.default {
529
529
  }, this, 'children');
530
530
  }
531
531
  else if (options instanceof View_1) {
532
- options.delete(); // 同一实例不支持多处存在
532
+ options.ensureDelete(); // 同一实例不支持多处存在
533
533
  view = options;
534
534
  Object.assign(view, relationOptions);
535
535
  }
@@ -557,7 +557,7 @@ let View = View_1 = class View extends BaseNode_1.default {
557
557
  }
558
558
  addView(options) {
559
559
  const node = this._addView(options);
560
- const index = this.children.length;
560
+ const index = this.children.indexOf(node);
561
561
  node.create({
562
562
  index,
563
563
  parentNode: this,
@@ -785,6 +785,12 @@ let View = View_1 = class View extends BaseNode_1.default {
785
785
  // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
786
786
  // 自动生成的代码已结束。下面可以手动编写。
787
787
  //================================================================================
788
+ /* 主页面有没有权限 */
789
+ get parentAuth() {
790
+ const _nameSpace = this.getTsNamespace();
791
+ const mainViewName = _nameSpace.split('.')[2];
792
+ return mainViewName ? this.app.views.find((item) => item.name === mainViewName)?.auth : this.auth;
793
+ }
788
794
  /**
789
795
  * 设置页面权限
790
796
  */
@@ -867,15 +873,6 @@ let View = View_1 = class View extends BaseNode_1.default {
867
873
  }
868
874
  }
869
875
  }
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
876
  // 全局逻辑
880
877
  if (Array.isArray(definition.logics)) {
881
878
  definition.logics.forEach((logicOption) => {
@@ -885,6 +882,15 @@ let View = View_1 = class View extends BaseNode_1.default {
885
882
  this.rootNode.addLogic(logic);
886
883
  });
887
884
  }
885
+ // 全局结构体
886
+ if (Array.isArray(definition.structures)) {
887
+ definition.structures.forEach((structureOption) => {
888
+ const structure = Structure__1.Structure.from({
889
+ ...structureOption,
890
+ }, this.rootNode, 'structures');
891
+ this.rootNode.addStructure(structure);
892
+ });
893
+ }
888
894
  // 页面入参
889
895
  if (Array.isArray(definition.viewParams)) {
890
896
  definition.viewParams.forEach((paramsOption) => {
@@ -927,31 +933,27 @@ let View = View_1 = class View extends BaseNode_1.default {
927
933
  }
928
934
  getVarExistingNames(excludedList = []) {
929
935
  const excludedSet = new Set(excludedList);
930
- return [...this.params, ...this.variables].filter((item) => !excludedSet.has(item)).map((item) => item.name);
931
- }
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;
936
+ const varList = [];
937
+ if (Array.isArray(this.params)) {
938
+ varList.push(...this.params);
942
939
  }
943
- else {
944
- roles.push({
945
- namespace: role.getNamespace(),
946
- name: role.name,
940
+ if (Array.isArray(this.variables)) {
941
+ varList.push(...this.variables);
942
+ }
943
+ if (Array.isArray(this.logics)) {
944
+ this.logics.forEach((logic) => {
945
+ if (Array.isArray(logic.params)) {
946
+ varList.push(...logic.params);
947
+ }
948
+ if (Array.isArray(logic.returns)) {
949
+ varList.push(...logic.returns);
950
+ }
951
+ if (Array.isArray(logic.variables)) {
952
+ varList.push(...logic.variables);
953
+ }
947
954
  });
948
955
  }
949
- const object = {
950
- roles,
951
- };
952
- this.update({
953
- ...object,
954
- });
956
+ return varList.filter((item) => !excludedSet.has(item)).map((item) => item.name);
955
957
  }
956
958
  /**
957
959
  * 生成 Vue 中需要的 JS 代码
@@ -968,7 +970,7 @@ let View = View_1 = class View extends BaseNode_1.default {
968
970
  events: this.bindEvents,
969
971
  title: this.title,
970
972
  crumb: this.crumb,
971
- first: this.isIndex,
973
+ first: this.children.find((child) => child.isIndex)?.name,
972
974
  };
973
975
  return `${componentOptions}
974
976
  ${(0, translator_2.default)(definition)}
@@ -976,7 +978,7 @@ let View = View_1 = class View extends BaseNode_1.default {
976
978
  `;
977
979
  }
978
980
  genVueTemplate(options) {
979
- return this.elements.map((element) => element.toVue(options) + '\n').join('');
981
+ return this.elements?.map((element) => element?.toVue(options) + '\n').join('');
980
982
  }
981
983
  /**
982
984
  * 转换成 Vue 文件
@@ -1038,14 +1040,11 @@ let View = View_1 = class View extends BaseNode_1.default {
1038
1040
  else
1039
1041
  throw new Error('无法获取命名空间,请设置 parentNode!');
1040
1042
  }
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;
1043
+ getTsNamespace() {
1044
+ const parentNodeNamespace = this.getNamespace();
1045
+ let tsCalleeNamespace = parentNodeNamespace.replace(/\.[0-9]/g, (m) => m.replace('.', '.$'));
1046
+ tsCalleeNamespace = tsCalleeNamespace.replace(/-/g, '_');
1047
+ return tsCalleeNamespace;
1049
1048
  }
1050
1049
  // 获取当前element,铺平
1051
1050
  elementsMethods(elements, allMethods) {
@@ -1061,30 +1060,15 @@ let View = View_1 = class View extends BaseNode_1.default {
1061
1060
  toEmbeddedTS(state) {
1062
1061
  function chineseTsName(name) {
1063
1062
  let tsName = name;
1064
- if (/^\d/.test(tsName)) {
1065
- tsName = '$' + tsName;
1066
- }
1067
1063
  // 匹配所有特殊字符都转为_
1068
- tsName = tsName.replace(/\W/g, '_');
1064
+ tsName = tsName.replace(/[^\u4e00-\u9fa5a-zA-Z0-9]/g, '_');
1069
1065
  return tsName;
1070
1066
  }
1071
1067
  let code = `export namespace ${this.tsName} {\n`;
1072
1068
  // 角色
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) {
1069
+ if (Array.isArray(this.bindRoles) && this.bindRoles.length) {
1086
1070
  code += (0, translator_1.indent)(state.tabSize + 1);
1087
- code += 'export let bindRoles = [\n';
1071
+ code += 'export let __bindRoles = [\n';
1088
1072
  this.bindRoles.forEach((role) => {
1089
1073
  code += (0, translator_1.indent)(state.tabSize + 1);
1090
1074
  code += `${this.app.getNamespace()}.roles.${chineseTsName(role)}.${chineseTsName(role)},`;
@@ -1109,7 +1093,7 @@ let View = View_1 = class View extends BaseNode_1.default {
1109
1093
  });
1110
1094
  }
1111
1095
  // elements类型声明定义
1112
- code += (0, translator_1.indent)(state.tabSize + 1) + `let __elements = {\n`;
1096
+ code += `interface __elements {\n`;
1113
1097
  // 生成所有的name和类型定义
1114
1098
  this.elements.forEach((element) => {
1115
1099
  code += element.toEmbeddedTSDefinition((0, translator_1.shiftState)(state, code, {
@@ -1117,29 +1101,27 @@ let View = View_1 = class View extends BaseNode_1.default {
1117
1101
  }));
1118
1102
  });
1119
1103
  code += (0, translator_1.indent)(state.tabSize + 1) + '}\n';
1104
+ code += `let __elements: __elements;\n`;
1120
1105
  // 逻辑
1121
1106
  if (Array.isArray(this.logics) && this.logics.length) {
1122
1107
  code += (0, translator_1.indent)(state.tabSize + 1);
1123
- code += `export namespace logics {\n`;
1124
1108
  this.logics.forEach((logic) => {
1125
1109
  code += logic.toEmbeddedTS((0, translator_1.shiftState)(state, code, {
1126
1110
  tabSize: state.tabSize + 2,
1127
- }));
1111
+ }), 'noExport');
1128
1112
  code += '\n';
1129
1113
  });
1130
1114
  code += (0, translator_1.indent)(state.tabSize + 1);
1131
- code += '}\n';
1132
1115
  }
1133
1116
  // 事件
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
- // }
1117
+ if (Array.isArray(this.bindEvents)) {
1118
+ this.bindEvents.forEach((event) => {
1119
+ code += event.toEmbeddedTS((0, translator_1.shiftState)(state, code, {
1120
+ tabSize: state.tabSize,
1121
+ }), true);
1122
+ code += '\n';
1123
+ });
1124
+ }
1143
1125
  // render函数
1144
1126
  code += '\n' + (0, translator_1.indent)(state.tabSize + 1);
1145
1127
  code += `export function __render(`;
@@ -1157,23 +1139,29 @@ let View = View_1 = class View extends BaseNode_1.default {
1157
1139
  }
1158
1140
  code += '\n' + (0, translator_1.indent)(state.tabSize + 1) + '}\n';
1159
1141
  if (Array.isArray(this.params)) {
1160
- code += (0, translator_1.indent)(state.tabSize + 1) + `export function $destination(`;
1142
+ code += (0, translator_1.indent)(state.tabSize + 1) + `export function $destination(options: {`;
1161
1143
  this.params.forEach((param, index) => {
1162
- code += `${param.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true }))}`;
1144
+ code += param.name + '?: ';
1145
+ code += param.typeAnnotation.toEmbeddedTS((0, translator_1.shiftState)(state, code));
1163
1146
  if (index !== this.params.length - 1)
1164
1147
  code += ', ';
1165
1148
  });
1166
- code += '){}\n';
1149
+ code += '}){}\n';
1167
1150
  }
1168
1151
  code += (0, translator_1.indent)(state.tabSize) + '}\n';
1169
1152
  return code;
1170
1153
  }
1171
1154
  toEmbeddedTSFile() {
1172
- let code = `namespace ${this.getNamespace()} {\n`;
1155
+ let code = `namespace ${this.getTsNamespace()} {\n`;
1173
1156
  const state = (0, translator_1.createCompilerState)(code, {
1174
1157
  tabSize: 1,
1175
1158
  });
1176
- code += this.toEmbeddedTS(state);
1159
+ try {
1160
+ code += this.toEmbeddedTS(state);
1161
+ }
1162
+ catch (err) {
1163
+ code += '';
1164
+ }
1177
1165
  code += '}\n';
1178
1166
  return {
1179
1167
  code,
@@ -1190,10 +1178,16 @@ let View = View_1 = class View extends BaseNode_1.default {
1190
1178
  }
1191
1179
  let path = '/';
1192
1180
  if (_path.length) {
1193
- path += `${_path.join('/')}`;
1181
+ path += `${_path.reverse().join('/')}`;
1194
1182
  }
1195
1183
  return path;
1196
1184
  }
1185
+ /**
1186
+ * 权限领域的资源路径
1187
+ */
1188
+ get authPath() {
1189
+ return this.path;
1190
+ }
1197
1191
  /**
1198
1192
  * @param path 子路径
1199
1193
  * 比如当前页面路径为:/dashboard
@@ -1209,6 +1203,21 @@ let View = View_1 = class View extends BaseNode_1.default {
1209
1203
  const subView = this.children.find((child) => child.name === childName);
1210
1204
  return arr.length ? subView.findViewByPath(arr.join('/')) : subView;
1211
1205
  }
1206
+ findViewByName(name) {
1207
+ return utils.traverse((current) => {
1208
+ if (current.node.name === name)
1209
+ return current.node;
1210
+ }, { node: this });
1211
+ }
1212
+ findElementByName(name) {
1213
+ return this.elements[0]?.findElementByName(name);
1214
+ }
1215
+ findElementByTag(tag) {
1216
+ return this.elements[0]?.findElementByName(tag);
1217
+ }
1218
+ findElementByAttr(name, value) {
1219
+ return this.elements[0]?.findElementByAttr(name, value);
1220
+ }
1212
1221
  _setAsIndexView(isIndex) {
1213
1222
  let views = [];
1214
1223
  if (this.parentNode.concept !== 'View') {
@@ -1242,6 +1251,11 @@ let View = View_1 = class View extends BaseNode_1.default {
1242
1251
  this._setAsIndexView(isIndex);
1243
1252
  this.rootNode.emit('collect:end');
1244
1253
  }
1254
+ removeExistingViewElement(viewElement) {
1255
+ if (this.existingViewElement.has(viewElement.name)) {
1256
+ this.existingViewElement.delete(viewElement.name);
1257
+ }
1258
+ }
1245
1259
  };
1246
1260
  __decorate([
1247
1261
  (0, decorators_1.property)()
@@ -1297,9 +1311,6 @@ __decorate([
1297
1311
  __decorate([
1298
1312
  (0, decorators_1.property)('View')
1299
1313
  ], View.prototype, "children", void 0);
1300
- __decorate([
1301
- (0, decorators_1.property)()
1302
- ], View.prototype, "roles", void 0);
1303
1314
  __decorate([
1304
1315
  (0, translator_1.withSourceMap)()
1305
1316
  ], 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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"}
@@ -61,7 +61,7 @@ let WhileStatement = WhileStatement_1 = class WhileStatement extends LogicItem__
61
61
  const relationOptions = { parentNode: this, parentKey: 'body' };
62
62
  let logicItem;
63
63
  if (options instanceof LogicItem__1.default) {
64
- options.delete(); // 同一实例不支持多处存在
64
+ options.ensureDelete(); // 同一实例不支持多处存在
65
65
  logicItem = options;
66
66
  Object.assign(logicItem, relationOptions);
67
67
  }
@@ -89,7 +89,7 @@ let WhileStatement = WhileStatement_1 = class WhileStatement extends LogicItem__
89
89
  }
90
90
  addItem(options) {
91
91
  const node = this._addItem(options);
92
- const index = this.body.length;
92
+ const index = this.body.indexOf(node);
93
93
  node.create({
94
94
  index,
95
95
  parentNode: this,
@@ -152,7 +152,7 @@ let WhileStatement = WhileStatement_1 = class WhileStatement extends LogicItem__
152
152
  code += this.test ? this.test.toJS((0, translator_1.shiftState)(state, code, {
153
153
  tabSize: 0,
154
154
  })) : '';
155
- code += ')) {\n';
155
+ code += ') {\n';
156
156
  if (Array.isArray(this.body)) {
157
157
  this.body.forEach((logicItem) => {
158
158
  code