@lcap/nasl 2.12.0 → 2.13.0-beta

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 (669) hide show
  1. package/package.json +1 -1
  2. package/src/bak/translator.js +8 -1
  3. package/src/common/BaseNode.ts +1 -1
  4. package/src/concepts/App__.ts +38 -1
  5. package/src/concepts/Argument__.ts +1 -1
  6. package/src/concepts/Assignee__.ts +1 -1
  7. package/src/concepts/Assignment__.ts +1 -1
  8. package/src/concepts/Attribute__.ts +1 -1
  9. package/src/concepts/BinaryExpression__.ts +21 -4
  10. package/src/concepts/BindAttribute__.ts +1 -1
  11. package/src/concepts/BindDirective__.ts +4 -0
  12. package/src/concepts/BindEvent__.ts +416 -59
  13. package/src/concepts/BooleanLiteral__.ts +1 -1
  14. package/src/concepts/CallFunction__.ts +1 -1
  15. package/src/concepts/CallInterface__.ts +3 -1
  16. package/src/concepts/CallLogic__.ts +1 -1
  17. package/src/concepts/CallQueryComponent__.ts +1 -1
  18. package/src/concepts/Comment__.ts +1 -1
  19. package/src/concepts/CompletionProperty__.ts +1 -2
  20. package/src/concepts/ConfigGroup__.ts +1 -1
  21. package/src/concepts/ConfigPropertyValue__.ts +1 -1
  22. package/src/concepts/ConfigProperty__.ts +1 -1
  23. package/src/concepts/Configuration__.ts +1 -1
  24. package/src/concepts/Constant__.ts +1 -1
  25. package/src/concepts/DataElement__.ts +1 -1
  26. package/src/concepts/DataSource__.ts +1 -1
  27. package/src/concepts/Destination__.ts +3 -2
  28. package/src/concepts/End__.ts +1 -1
  29. package/src/concepts/EntityIndex__.ts +1 -1
  30. package/src/concepts/EntityProperty__.ts +1 -1
  31. package/src/concepts/Entity__.ts +1 -2
  32. package/src/concepts/EnumItem__.ts +1 -1
  33. package/src/concepts/Enum__.ts +1 -1
  34. package/src/concepts/Event__.ts +1 -1
  35. package/src/concepts/ForEachStatement__.ts +1 -1
  36. package/src/concepts/Function__.ts +65 -41
  37. package/src/concepts/Identifier__.ts +2 -2
  38. package/src/concepts/IfStatement__.ts +1 -1
  39. package/src/concepts/InterfaceParam__.ts +1 -1
  40. package/src/concepts/Interface__.ts +2 -1
  41. package/src/concepts/JSBlock__.ts +7 -0
  42. package/src/concepts/LogicItem__.ts +1 -1
  43. package/src/concepts/Logic__.ts +116 -14
  44. package/src/concepts/MemberExpression__.ts +1 -1
  45. package/src/concepts/Module__.ts +129 -107
  46. package/src/concepts/Namespace__.ts +1 -1
  47. package/src/concepts/NullLiteral__.ts +1 -1
  48. package/src/concepts/NumericLiteral__.ts +1 -1
  49. package/src/concepts/Param__.ts +7 -1
  50. package/src/concepts/Point__.ts +1 -1
  51. package/src/concepts/ProcessComponent__.ts +1 -1
  52. package/src/concepts/ProcessElement__.ts +228 -2
  53. package/src/concepts/ProcessOutcome__.ts +1 -1
  54. package/src/concepts/Process__.ts +242 -3
  55. package/src/concepts/QueryAggregateExpression__.ts +1 -1
  56. package/src/concepts/QueryFieldExpression__.ts +1 -1
  57. package/src/concepts/QueryFromExpression__.ts +1 -1
  58. package/src/concepts/QueryGroupByExpression__.ts +1 -1
  59. package/src/concepts/QueryJoinExpression__.ts +1 -1
  60. package/src/concepts/QueryLimitExpression__.ts +1 -1
  61. package/src/concepts/QueryOrderByExpression__.ts +1 -1
  62. package/src/concepts/QuerySelectExpression__.ts +1 -1
  63. package/src/concepts/Rect__.ts +1 -1
  64. package/src/concepts/Return__.ts +1 -1
  65. package/src/concepts/Role__.ts +1 -1
  66. package/src/concepts/Slot__.ts +1 -1
  67. package/src/concepts/SqlQueryComponent__.ts +14 -4
  68. package/src/concepts/Start__.ts +1 -1
  69. package/src/concepts/StringLiteral__.ts +1 -1
  70. package/src/concepts/StructureProperty__.ts +4 -0
  71. package/src/concepts/Structure__.ts +1 -1
  72. package/src/concepts/SwitchCase__.ts +1 -1
  73. package/src/concepts/SwitchStatement__.ts +1 -1
  74. package/src/concepts/Theme__.ts +1 -1
  75. package/src/concepts/Transactional__.ts +1 -1
  76. package/src/concepts/TypeAnnotation__.ts +32 -3
  77. package/src/concepts/TypeParam__.ts +1 -1
  78. package/src/concepts/UnaryExpression__.ts +1 -1
  79. package/src/concepts/Unparsed__.ts +1 -1
  80. package/src/concepts/UseComponent__.ts +1 -1
  81. package/src/concepts/ValidationRule__.ts +1 -1
  82. package/src/concepts/Variable__.ts +1 -1
  83. package/src/concepts/ViewComponent__.ts +1 -1
  84. package/src/concepts/ViewElement__.ts +34 -17
  85. package/src/concepts/View__.ts +75 -12
  86. package/src/concepts/WhileStatement__.ts +1 -1
  87. package/src/concepts/basics/stdlib/nasl.ui.ts +4 -0
  88. package/src/concepts/basics/stdlib/nasl.util.ts +2 -2
  89. package/src/concepts/basics/types/coreTypeList.ts +1 -0
  90. package/src/enums/KEYWORDS.ts +3 -0
  91. package/src/server/createUiTs.ts +26 -2
  92. package/src/server/events.yaml +89 -0
  93. package/src/server/getMemberIdentifier.ts +121 -28
  94. package/src/server/getProcesses.ts +30 -29
  95. package/src/server/index.ts +4 -0
  96. package/src/server/naslServer.ts +46 -12
  97. package/src/server/translator.ts +25 -13
  98. package/src/templator/genCreateBlock.ts +4 -0
  99. package/src/templator/genCurdEditMultipleKeyBlock.ts +10 -3
  100. package/src/templator/genCurdMultipleKeyBlock.ts +36 -21
  101. package/src/templator/genEditTableBlock.ts +2 -27
  102. package/src/templator/genGridViewBlock.ts +0 -13
  103. package/src/templator/genTableBlock.ts +0 -13
  104. package/src/templator/genUpdateBlock.ts +4 -0
  105. package/src/templator/utils.ts +1 -0
  106. package/out/automate/engine/index.d.ts +0 -4
  107. package/out/automate/engine/index.js +0 -436
  108. package/out/automate/engine/index.js.map +0 -1
  109. package/out/automate/engine/operators.d.ts +0 -21
  110. package/out/automate/engine/operators.js +0 -161
  111. package/out/automate/engine/operators.js.map +0 -1
  112. package/out/automate/engine/uniqueName.d.ts +0 -12
  113. package/out/automate/engine/uniqueName.js +0 -107
  114. package/out/automate/engine/uniqueName.js.map +0 -1
  115. package/out/automate/engine/utils.d.ts +0 -25
  116. package/out/automate/engine/utils.js +0 -404
  117. package/out/automate/engine/utils.js.map +0 -1
  118. package/out/automate/template/process.d.ts +0 -9
  119. package/out/automate/template/process.js +0 -10976
  120. package/out/automate/template/process.js.map +0 -1
  121. package/out/bak/translator.d.ts +0 -1
  122. package/out/bak/translator.js +0 -112
  123. package/out/bak/translator.js.map +0 -1
  124. package/out/common/BaseNode.d.ts +0 -256
  125. package/out/common/BaseNode.js +0 -891
  126. package/out/common/BaseNode.js.map +0 -1
  127. package/out/common/Command.d.ts +0 -8
  128. package/out/common/Command.js +0 -32
  129. package/out/common/Command.js.map +0 -1
  130. package/out/common/ComponentAPI.d.ts +0 -110
  131. package/out/common/ComponentAPI.js +0 -3
  132. package/out/common/ComponentAPI.js.map +0 -1
  133. package/out/common/EventEmitter.d.ts +0 -58
  134. package/out/common/EventEmitter.js +0 -68
  135. package/out/common/EventEmitter.js.map +0 -1
  136. package/out/common/Messager.d.ts +0 -86
  137. package/out/common/Messager.js +0 -187
  138. package/out/common/Messager.js.map +0 -1
  139. package/out/common/classMap.d.ts +0 -4
  140. package/out/common/classMap.js +0 -5
  141. package/out/common/classMap.js.map +0 -1
  142. package/out/common/index.d.ts +0 -4
  143. package/out/common/index.js +0 -21
  144. package/out/common/index.js.map +0 -1
  145. package/out/concepts/App__.d.ts +0 -1119
  146. package/out/concepts/App__.js +0 -1591
  147. package/out/concepts/App__.js.map +0 -1
  148. package/out/concepts/Argument__.d.ts +0 -58
  149. package/out/concepts/Argument__.js +0 -198
  150. package/out/concepts/Argument__.js.map +0 -1
  151. package/out/concepts/Assignee__.d.ts +0 -201
  152. package/out/concepts/Assignee__.js +0 -298
  153. package/out/concepts/Assignee__.js.map +0 -1
  154. package/out/concepts/Assignment__.d.ts +0 -70
  155. package/out/concepts/Assignment__.js +0 -201
  156. package/out/concepts/Assignment__.js.map +0 -1
  157. package/out/concepts/Attribute__.d.ts +0 -101
  158. package/out/concepts/Attribute__.js +0 -221
  159. package/out/concepts/Attribute__.js.map +0 -1
  160. package/out/concepts/BinaryExpression__.d.ts +0 -64
  161. package/out/concepts/BinaryExpression__.js +0 -251
  162. package/out/concepts/BinaryExpression__.js.map +0 -1
  163. package/out/concepts/BindAttribute__.d.ts +0 -231
  164. package/out/concepts/BindAttribute__.js +0 -450
  165. package/out/concepts/BindAttribute__.js.map +0 -1
  166. package/out/concepts/BindDirective__.d.ts +0 -93
  167. package/out/concepts/BindDirective__.js +0 -251
  168. package/out/concepts/BindDirective__.js.map +0 -1
  169. package/out/concepts/BindEvent__.d.ts +0 -139
  170. package/out/concepts/BindEvent__.js +0 -369
  171. package/out/concepts/BindEvent__.js.map +0 -1
  172. package/out/concepts/BooleanLiteral__.d.ts +0 -31
  173. package/out/concepts/BooleanLiteral__.js +0 -91
  174. package/out/concepts/BooleanLiteral__.js.map +0 -1
  175. package/out/concepts/CallFunction__.d.ts +0 -153
  176. package/out/concepts/CallFunction__.js +0 -381
  177. package/out/concepts/CallFunction__.js.map +0 -1
  178. package/out/concepts/CallInterface__.d.ts +0 -103
  179. package/out/concepts/CallInterface__.js +0 -441
  180. package/out/concepts/CallInterface__.js.map +0 -1
  181. package/out/concepts/CallLogic__.d.ts +0 -170
  182. package/out/concepts/CallLogic__.js +0 -604
  183. package/out/concepts/CallLogic__.js.map +0 -1
  184. package/out/concepts/CallQueryComponent__.d.ts +0 -345
  185. package/out/concepts/CallQueryComponent__.js +0 -1009
  186. package/out/concepts/CallQueryComponent__.js.map +0 -1
  187. package/out/concepts/Comment__.d.ts +0 -30
  188. package/out/concepts/Comment__.js +0 -93
  189. package/out/concepts/Comment__.js.map +0 -1
  190. package/out/concepts/CompletionProperty__.d.ts +0 -101
  191. package/out/concepts/CompletionProperty__.js +0 -237
  192. package/out/concepts/CompletionProperty__.js.map +0 -1
  193. package/out/concepts/ConfigGroup__.d.ts +0 -121
  194. package/out/concepts/ConfigGroup__.js +0 -221
  195. package/out/concepts/ConfigGroup__.js.map +0 -1
  196. package/out/concepts/ConfigPropertyValue__.d.ts +0 -43
  197. package/out/concepts/ConfigPropertyValue__.js +0 -103
  198. package/out/concepts/ConfigPropertyValue__.js.map +0 -1
  199. package/out/concepts/ConfigProperty__.d.ts +0 -129
  200. package/out/concepts/ConfigProperty__.js +0 -239
  201. package/out/concepts/ConfigProperty__.js.map +0 -1
  202. package/out/concepts/Configuration__.d.ts +0 -121
  203. package/out/concepts/Configuration__.js +0 -213
  204. package/out/concepts/Configuration__.js.map +0 -1
  205. package/out/concepts/Constant__.d.ts +0 -99
  206. package/out/concepts/Constant__.js +0 -237
  207. package/out/concepts/Constant__.js.map +0 -1
  208. package/out/concepts/DataElement__.d.ts +0 -45
  209. package/out/concepts/DataElement__.js +0 -114
  210. package/out/concepts/DataElement__.js.map +0 -1
  211. package/out/concepts/DataSource__.d.ts +0 -143
  212. package/out/concepts/DataSource__.js +0 -318
  213. package/out/concepts/DataSource__.js.map +0 -1
  214. package/out/concepts/Destination__.d.ts +0 -120
  215. package/out/concepts/Destination__.js +0 -433
  216. package/out/concepts/Destination__.js.map +0 -1
  217. package/out/concepts/End__.d.ts +0 -23
  218. package/out/concepts/End__.js +0 -84
  219. package/out/concepts/End__.js.map +0 -1
  220. package/out/concepts/EntityIndex__.d.ts +0 -94
  221. package/out/concepts/EntityIndex__.js +0 -215
  222. package/out/concepts/EntityIndex__.js.map +0 -1
  223. package/out/concepts/EntityProperty__.d.ts +0 -231
  224. package/out/concepts/EntityProperty__.js +0 -567
  225. package/out/concepts/EntityProperty__.js.map +0 -1
  226. package/out/concepts/Entity__.d.ts +0 -297
  227. package/out/concepts/Entity__.js +0 -572
  228. package/out/concepts/Entity__.js.map +0 -1
  229. package/out/concepts/EnumItem__.d.ts +0 -60
  230. package/out/concepts/EnumItem__.js +0 -136
  231. package/out/concepts/EnumItem__.js.map +0 -1
  232. package/out/concepts/Enum__.d.ts +0 -135
  233. package/out/concepts/Enum__.js +0 -293
  234. package/out/concepts/Enum__.js.map +0 -1
  235. package/out/concepts/Event__.d.ts +0 -142
  236. package/out/concepts/Event__.js +0 -242
  237. package/out/concepts/Event__.js.map +0 -1
  238. package/out/concepts/ForEachStatement__.d.ts +0 -191
  239. package/out/concepts/ForEachStatement__.js +0 -441
  240. package/out/concepts/ForEachStatement__.js.map +0 -1
  241. package/out/concepts/Function__.d.ts +0 -406
  242. package/out/concepts/Function__.js +0 -657
  243. package/out/concepts/Function__.js.map +0 -1
  244. package/out/concepts/Identifier__.d.ts +0 -45
  245. package/out/concepts/Identifier__.js +0 -203
  246. package/out/concepts/Identifier__.js.map +0 -1
  247. package/out/concepts/IfStatement__.d.ts +0 -148
  248. package/out/concepts/IfStatement__.js +0 -280
  249. package/out/concepts/IfStatement__.js.map +0 -1
  250. package/out/concepts/InterfaceParam__.d.ts +0 -112
  251. package/out/concepts/InterfaceParam__.js +0 -311
  252. package/out/concepts/InterfaceParam__.js.map +0 -1
  253. package/out/concepts/Interface__.d.ts +0 -268
  254. package/out/concepts/Interface__.js +0 -598
  255. package/out/concepts/Interface__.js.map +0 -1
  256. package/out/concepts/JSBlock__.d.ts +0 -31
  257. package/out/concepts/JSBlock__.js +0 -90
  258. package/out/concepts/JSBlock__.js.map +0 -1
  259. package/out/concepts/LogicItem__.d.ts +0 -117
  260. package/out/concepts/LogicItem__.js +0 -233
  261. package/out/concepts/LogicItem__.js.map +0 -1
  262. package/out/concepts/Logic__.d.ts +0 -610
  263. package/out/concepts/Logic__.js +0 -1203
  264. package/out/concepts/Logic__.js.map +0 -1
  265. package/out/concepts/MemberExpression__.d.ts +0 -65
  266. package/out/concepts/MemberExpression__.js +0 -238
  267. package/out/concepts/MemberExpression__.js.map +0 -1
  268. package/out/concepts/Module__.d.ts +0 -675
  269. package/out/concepts/Module__.js +0 -914
  270. package/out/concepts/Module__.js.map +0 -1
  271. package/out/concepts/Namespace__.d.ts +0 -986
  272. package/out/concepts/Namespace__.js +0 -1301
  273. package/out/concepts/Namespace__.js.map +0 -1
  274. package/out/concepts/NullLiteral__.d.ts +0 -23
  275. package/out/concepts/NullLiteral__.js +0 -73
  276. package/out/concepts/NullLiteral__.js.map +0 -1
  277. package/out/concepts/NumericLiteral__.d.ts +0 -53
  278. package/out/concepts/NumericLiteral__.js +0 -172
  279. package/out/concepts/NumericLiteral__.js.map +0 -1
  280. package/out/concepts/Param__.d.ts +0 -147
  281. package/out/concepts/Param__.js +0 -366
  282. package/out/concepts/Param__.js.map +0 -1
  283. package/out/concepts/Point__.d.ts +0 -30
  284. package/out/concepts/Point__.js +0 -75
  285. package/out/concepts/Point__.js.map +0 -1
  286. package/out/concepts/ProcessComponent__.d.ts +0 -218
  287. package/out/concepts/ProcessComponent__.js +0 -333
  288. package/out/concepts/ProcessComponent__.js.map +0 -1
  289. package/out/concepts/ProcessElement__.d.ts +0 -554
  290. package/out/concepts/ProcessElement__.js +0 -998
  291. package/out/concepts/ProcessElement__.js.map +0 -1
  292. package/out/concepts/ProcessOutcome__.d.ts +0 -30
  293. package/out/concepts/ProcessOutcome__.js +0 -87
  294. package/out/concepts/ProcessOutcome__.js.map +0 -1
  295. package/out/concepts/Process__.d.ts +0 -451
  296. package/out/concepts/Process__.js +0 -773
  297. package/out/concepts/Process__.js.map +0 -1
  298. package/out/concepts/QueryAggregateExpression__.d.ts +0 -50
  299. package/out/concepts/QueryAggregateExpression__.js +0 -144
  300. package/out/concepts/QueryAggregateExpression__.js.map +0 -1
  301. package/out/concepts/QueryFieldExpression__.d.ts +0 -48
  302. package/out/concepts/QueryFieldExpression__.js +0 -132
  303. package/out/concepts/QueryFieldExpression__.js.map +0 -1
  304. package/out/concepts/QueryFromExpression__.d.ts +0 -95
  305. package/out/concepts/QueryFromExpression__.js +0 -192
  306. package/out/concepts/QueryFromExpression__.js.map +0 -1
  307. package/out/concepts/QueryGroupByExpression__.d.ts +0 -45
  308. package/out/concepts/QueryGroupByExpression__.js +0 -139
  309. package/out/concepts/QueryGroupByExpression__.js.map +0 -1
  310. package/out/concepts/QueryJoinExpression__.d.ts +0 -182
  311. package/out/concepts/QueryJoinExpression__.js +0 -312
  312. package/out/concepts/QueryJoinExpression__.js.map +0 -1
  313. package/out/concepts/QueryLimitExpression__.d.ts +0 -56
  314. package/out/concepts/QueryLimitExpression__.js +0 -156
  315. package/out/concepts/QueryLimitExpression__.js.map +0 -1
  316. package/out/concepts/QueryOrderByExpression__.d.ts +0 -67
  317. package/out/concepts/QueryOrderByExpression__.js +0 -169
  318. package/out/concepts/QueryOrderByExpression__.js.map +0 -1
  319. package/out/concepts/QuerySelectExpression__.d.ts +0 -114
  320. package/out/concepts/QuerySelectExpression__.js +0 -203
  321. package/out/concepts/QuerySelectExpression__.js.map +0 -1
  322. package/out/concepts/Rect__.d.ts +0 -38
  323. package/out/concepts/Rect__.js +0 -89
  324. package/out/concepts/Rect__.js.map +0 -1
  325. package/out/concepts/Return__.d.ts +0 -131
  326. package/out/concepts/Return__.js +0 -340
  327. package/out/concepts/Return__.js.map +0 -1
  328. package/out/concepts/Role__.d.ts +0 -61
  329. package/out/concepts/Role__.js +0 -164
  330. package/out/concepts/Role__.js.map +0 -1
  331. package/out/concepts/Slot__.d.ts +0 -57
  332. package/out/concepts/Slot__.js +0 -114
  333. package/out/concepts/Slot__.js.map +0 -1
  334. package/out/concepts/SqlQueryComponent__.d.ts +0 -61
  335. package/out/concepts/SqlQueryComponent__.js +0 -177
  336. package/out/concepts/SqlQueryComponent__.js.map +0 -1
  337. package/out/concepts/Start__.d.ts +0 -23
  338. package/out/concepts/Start__.js +0 -71
  339. package/out/concepts/Start__.js.map +0 -1
  340. package/out/concepts/StringLiteral__.d.ts +0 -35
  341. package/out/concepts/StringLiteral__.js +0 -125
  342. package/out/concepts/StringLiteral__.js.map +0 -1
  343. package/out/concepts/StructureProperty__.d.ts +0 -124
  344. package/out/concepts/StructureProperty__.js +0 -324
  345. package/out/concepts/StructureProperty__.js.map +0 -1
  346. package/out/concepts/Structure__.d.ts +0 -250
  347. package/out/concepts/Structure__.js +0 -440
  348. package/out/concepts/Structure__.js.map +0 -1
  349. package/out/concepts/SwitchCase__.d.ts +0 -92
  350. package/out/concepts/SwitchCase__.js +0 -229
  351. package/out/concepts/SwitchCase__.js.map +0 -1
  352. package/out/concepts/SwitchStatement__.d.ts +0 -82
  353. package/out/concepts/SwitchStatement__.js +0 -175
  354. package/out/concepts/SwitchStatement__.js.map +0 -1
  355. package/out/concepts/Theme__.d.ts +0 -36
  356. package/out/concepts/Theme__.js +0 -86
  357. package/out/concepts/Theme__.js.map +0 -1
  358. package/out/concepts/Transactional__.d.ts +0 -76
  359. package/out/concepts/Transactional__.js +0 -151
  360. package/out/concepts/Transactional__.js.map +0 -1
  361. package/out/concepts/TypeAnnotation__.d.ts +0 -133
  362. package/out/concepts/TypeAnnotation__.js +0 -412
  363. package/out/concepts/TypeAnnotation__.js.map +0 -1
  364. package/out/concepts/TypeParam__.d.ts +0 -20
  365. package/out/concepts/TypeParam__.js +0 -57
  366. package/out/concepts/TypeParam__.js.map +0 -1
  367. package/out/concepts/UnaryExpression__.d.ts +0 -46
  368. package/out/concepts/UnaryExpression__.js +0 -166
  369. package/out/concepts/UnaryExpression__.js.map +0 -1
  370. package/out/concepts/Unparsed__.d.ts +0 -29
  371. package/out/concepts/Unparsed__.js +0 -88
  372. package/out/concepts/Unparsed__.js.map +0 -1
  373. package/out/concepts/UseComponent__.d.ts +0 -30
  374. package/out/concepts/UseComponent__.js +0 -75
  375. package/out/concepts/UseComponent__.js.map +0 -1
  376. package/out/concepts/ValidationRule__.d.ts +0 -94
  377. package/out/concepts/ValidationRule__.js +0 -254
  378. package/out/concepts/ValidationRule__.js.map +0 -1
  379. package/out/concepts/Variable__.d.ts +0 -130
  380. package/out/concepts/Variable__.js +0 -338
  381. package/out/concepts/Variable__.js.map +0 -1
  382. package/out/concepts/ViewComponent__.d.ts +0 -472
  383. package/out/concepts/ViewComponent__.js +0 -644
  384. package/out/concepts/ViewComponent__.js.map +0 -1
  385. package/out/concepts/ViewElement__.d.ts +0 -490
  386. package/out/concepts/ViewElement__.js +0 -1414
  387. package/out/concepts/ViewElement__.js.map +0 -1
  388. package/out/concepts/View__.d.ts +0 -683
  389. package/out/concepts/View__.js +0 -1333
  390. package/out/concepts/View__.js.map +0 -1
  391. package/out/concepts/WhileStatement__.d.ts +0 -95
  392. package/out/concepts/WhileStatement__.js +0 -208
  393. package/out/concepts/WhileStatement__.js.map +0 -1
  394. package/out/concepts/basics/stdlib/index.d.ts +0 -4
  395. package/out/concepts/basics/stdlib/index.js +0 -26
  396. package/out/concepts/basics/stdlib/index.js.map +0 -1
  397. package/out/concepts/basics/stdlib/nasl.auth.d.ts +0 -3
  398. package/out/concepts/basics/stdlib/nasl.auth.js +0 -50
  399. package/out/concepts/basics/stdlib/nasl.auth.js.map +0 -1
  400. package/out/concepts/basics/stdlib/nasl.browser.d.ts +0 -3
  401. package/out/concepts/basics/stdlib/nasl.browser.js +0 -41
  402. package/out/concepts/basics/stdlib/nasl.browser.js.map +0 -1
  403. package/out/concepts/basics/stdlib/nasl.collection.d.ts +0 -7
  404. package/out/concepts/basics/stdlib/nasl.collection.js +0 -83
  405. package/out/concepts/basics/stdlib/nasl.collection.js.map +0 -1
  406. package/out/concepts/basics/stdlib/nasl.configuration.d.ts +0 -3
  407. package/out/concepts/basics/stdlib/nasl.configuration.js +0 -25
  408. package/out/concepts/basics/stdlib/nasl.configuration.js.map +0 -1
  409. package/out/concepts/basics/stdlib/nasl.core.d.ts +0 -3
  410. package/out/concepts/basics/stdlib/nasl.core.js +0 -15
  411. package/out/concepts/basics/stdlib/nasl.core.js.map +0 -1
  412. package/out/concepts/basics/stdlib/nasl.interface.d.ts +0 -7
  413. package/out/concepts/basics/stdlib/nasl.interface.js +0 -43
  414. package/out/concepts/basics/stdlib/nasl.interface.js.map +0 -1
  415. package/out/concepts/basics/stdlib/nasl.process.d.ts +0 -7
  416. package/out/concepts/basics/stdlib/nasl.process.js +0 -453
  417. package/out/concepts/basics/stdlib/nasl.process.js.map +0 -1
  418. package/out/concepts/basics/stdlib/nasl.ui.d.ts +0 -7
  419. package/out/concepts/basics/stdlib/nasl.ui.js +0 -824
  420. package/out/concepts/basics/stdlib/nasl.ui.js.map +0 -1
  421. package/out/concepts/basics/stdlib/nasl.util.d.ts +0 -3
  422. package/out/concepts/basics/stdlib/nasl.util.js +0 -1030
  423. package/out/concepts/basics/stdlib/nasl.util.js.map +0 -1
  424. package/out/concepts/basics/stdlib/nasl.validation.d.ts +0 -3
  425. package/out/concepts/basics/stdlib/nasl.validation.js +0 -561
  426. package/out/concepts/basics/stdlib/nasl.validation.js.map +0 -1
  427. package/out/concepts/basics/stdlib/reference2TypeAnnotationList.d.ts +0 -5
  428. package/out/concepts/basics/stdlib/reference2TypeAnnotationList.js +0 -26
  429. package/out/concepts/basics/stdlib/reference2TypeAnnotationList.js.map +0 -1
  430. package/out/concepts/basics/types/coreTypeList.d.ts +0 -2
  431. package/out/concepts/basics/types/coreTypeList.js +0 -18
  432. package/out/concepts/basics/types/coreTypeList.js.map +0 -1
  433. package/out/concepts/basics/types/index.d.ts +0 -13
  434. package/out/concepts/basics/types/index.js +0 -27
  435. package/out/concepts/basics/types/index.js.map +0 -1
  436. package/out/concepts/index.d.ts +0 -5
  437. package/out/concepts/index.js +0 -24
  438. package/out/concepts/index.js.map +0 -1
  439. package/out/concepts/index__.d.ts +0 -83
  440. package/out/concepts/index__.js +0 -100
  441. package/out/concepts/index__.js.map +0 -1
  442. package/out/config.d.ts +0 -42
  443. package/out/config.js +0 -71
  444. package/out/config.js.map +0 -1
  445. package/out/decorators/index.d.ts +0 -54
  446. package/out/decorators/index.js +0 -149
  447. package/out/decorators/index.js.map +0 -1
  448. package/out/enums/KEYWORDS.d.ts +0 -3
  449. package/out/enums/KEYWORDS.js +0 -1199
  450. package/out/enums/KEYWORDS.js.map +0 -1
  451. package/out/enums/LEVEL_NAME_MAP.d.ts +0 -26
  452. package/out/enums/LEVEL_NAME_MAP.js +0 -30
  453. package/out/enums/LEVEL_NAME_MAP.js.map +0 -1
  454. package/out/eventBus.d.ts +0 -3
  455. package/out/eventBus.js +0 -7
  456. package/out/eventBus.js.map +0 -1
  457. package/out/generator/compileComponent.d.ts +0 -11
  458. package/out/generator/compileComponent.js +0 -12
  459. package/out/generator/compileComponent.js.map +0 -1
  460. package/out/generator/genBundleFiles.d.ts +0 -44
  461. package/out/generator/genBundleFiles.js +0 -387
  462. package/out/generator/genBundleFiles.js.map +0 -1
  463. package/out/generator/genHash.d.ts +0 -7
  464. package/out/generator/genHash.js +0 -39
  465. package/out/generator/genHash.js.map +0 -1
  466. package/out/generator/genMetaData.d.ts +0 -36
  467. package/out/generator/genMetaData.js +0 -121
  468. package/out/generator/genMetaData.js.map +0 -1
  469. package/out/generator/index.d.ts +0 -5
  470. package/out/generator/index.js +0 -22
  471. package/out/generator/index.js.map +0 -1
  472. package/out/generator/styleReplacer.d.ts +0 -3
  473. package/out/generator/styleReplacer.js +0 -71
  474. package/out/generator/styleReplacer.js.map +0 -1
  475. package/out/index.d.ts +0 -11
  476. package/out/index.js +0 -53
  477. package/out/index.js.map +0 -1
  478. package/out/manager/diagnostic.d.ts +0 -38
  479. package/out/manager/diagnostic.js +0 -84
  480. package/out/manager/diagnostic.js.map +0 -1
  481. package/out/manager/history.d.ts +0 -0
  482. package/out/manager/history.js +0 -1
  483. package/out/manager/history.js.map +0 -1
  484. package/out/manager/problem.d.ts +0 -0
  485. package/out/manager/problem.js +0 -1
  486. package/out/manager/problem.js.map +0 -1
  487. package/out/server/createUiTs.d.ts +0 -8
  488. package/out/server/createUiTs.js +0 -204
  489. package/out/server/createUiTs.js.map +0 -1
  490. package/out/server/entity2LogicNamespace.d.ts +0 -10
  491. package/out/server/entity2LogicNamespace.js +0 -217
  492. package/out/server/entity2LogicNamespace.js.map +0 -1
  493. package/out/server/extendBaseNode.d.ts +0 -1
  494. package/out/server/extendBaseNode.js +0 -323
  495. package/out/server/extendBaseNode.js.map +0 -1
  496. package/out/server/getExtensionModules.d.ts +0 -3
  497. package/out/server/getExtensionModules.js +0 -20
  498. package/out/server/getExtensionModules.js.map +0 -1
  499. package/out/server/getFunctions.d.ts +0 -3
  500. package/out/server/getFunctions.js +0 -20
  501. package/out/server/getFunctions.js.map +0 -1
  502. package/out/server/getInterfaces.d.ts +0 -2
  503. package/out/server/getInterfaces.js +0 -48
  504. package/out/server/getInterfaces.js.map +0 -1
  505. package/out/server/getLogics.d.ts +0 -3
  506. package/out/server/getLogics.js +0 -210
  507. package/out/server/getLogics.js.map +0 -1
  508. package/out/server/getMemberIdentifier.d.ts +0 -22
  509. package/out/server/getMemberIdentifier.js +0 -459
  510. package/out/server/getMemberIdentifier.js.map +0 -1
  511. package/out/server/getProcessComponents.d.ts +0 -2
  512. package/out/server/getProcessComponents.js +0 -13
  513. package/out/server/getProcessComponents.js.map +0 -1
  514. package/out/server/getProcesses.d.ts +0 -33
  515. package/out/server/getProcesses.js +0 -565
  516. package/out/server/getProcesses.js.map +0 -1
  517. package/out/server/getScope.d.ts +0 -13
  518. package/out/server/getScope.js +0 -61
  519. package/out/server/getScope.js.map +0 -1
  520. package/out/server/getValidates.d.ts +0 -3
  521. package/out/server/getValidates.js +0 -14
  522. package/out/server/getValidates.js.map +0 -1
  523. package/out/server/index.d.ts +0 -3
  524. package/out/server/index.js +0 -33
  525. package/out/server/index.js.map +0 -1
  526. package/out/server/naslServer.d.ts +0 -136
  527. package/out/server/naslServer.js +0 -1733
  528. package/out/server/naslServer.js.map +0 -1
  529. package/out/server/process2LogicNamespace.d.ts +0 -26
  530. package/out/server/process2LogicNamespace.js +0 -97
  531. package/out/server/process2LogicNamespace.js.map +0 -1
  532. package/out/server/translator.d.ts +0 -24
  533. package/out/server/translator.js +0 -460
  534. package/out/server/translator.js.map +0 -1
  535. package/out/service/creator/add.configs.d.ts +0 -1
  536. package/out/service/creator/add.configs.js +0 -68
  537. package/out/service/creator/add.configs.js.map +0 -1
  538. package/out/service/creator/errHandles.d.ts +0 -18
  539. package/out/service/creator/errHandles.js +0 -65
  540. package/out/service/creator/errHandles.js.map +0 -1
  541. package/out/service/creator/index.d.ts +0 -1
  542. package/out/service/creator/index.js +0 -72
  543. package/out/service/creator/index.js.map +0 -1
  544. package/out/service/storage/api.d.ts +0 -18
  545. package/out/service/storage/api.js +0 -17
  546. package/out/service/storage/api.js.map +0 -1
  547. package/out/service/storage/index.d.ts +0 -2
  548. package/out/service/storage/index.js +0 -10
  549. package/out/service/storage/index.js.map +0 -1
  550. package/out/service/storage/init.d.ts +0 -13
  551. package/out/service/storage/init.js +0 -469
  552. package/out/service/storage/init.js.map +0 -1
  553. package/out/service/storage/jsoner.d.ts +0 -29
  554. package/out/service/storage/jsoner.js +0 -130
  555. package/out/service/storage/jsoner.js.map +0 -1
  556. package/out/service/storage/map.d.ts +0 -4
  557. package/out/service/storage/map.js +0 -54
  558. package/out/service/storage/map.js.map +0 -1
  559. package/out/service/storage/service.d.ts +0 -2
  560. package/out/service/storage/service.js +0 -10
  561. package/out/service/storage/service.js.map +0 -1
  562. package/out/service/storage/storagePoint.d.ts +0 -17
  563. package/out/service/storage/storagePoint.js +0 -76
  564. package/out/service/storage/storagePoint.js.map +0 -1
  565. package/out/templator/genCallComponentLogic.d.ts +0 -17
  566. package/out/templator/genCallComponentLogic.js +0 -30
  567. package/out/templator/genCallComponentLogic.js.map +0 -1
  568. package/out/templator/genCreateBlock.d.ts +0 -10
  569. package/out/templator/genCreateBlock.js +0 -327
  570. package/out/templator/genCreateBlock.js.map +0 -1
  571. package/out/templator/genCurdEditMultipleKeyBlock.d.ts +0 -2
  572. package/out/templator/genCurdEditMultipleKeyBlock.js +0 -475
  573. package/out/templator/genCurdEditMultipleKeyBlock.js.map +0 -1
  574. package/out/templator/genCurdMultipleKeyBlock.d.ts +0 -3
  575. package/out/templator/genCurdMultipleKeyBlock.js +0 -672
  576. package/out/templator/genCurdMultipleKeyBlock.js.map +0 -1
  577. package/out/templator/genEditTableBlock.d.ts +0 -51
  578. package/out/templator/genEditTableBlock.js +0 -303
  579. package/out/templator/genEditTableBlock.js.map +0 -1
  580. package/out/templator/genEnumSelectBlock.d.ts +0 -10
  581. package/out/templator/genEnumSelectBlock.js +0 -23
  582. package/out/templator/genEnumSelectBlock.js.map +0 -1
  583. package/out/templator/genGetBlock.d.ts +0 -6
  584. package/out/templator/genGetBlock.js +0 -135
  585. package/out/templator/genGetBlock.js.map +0 -1
  586. package/out/templator/genGridViewBlock.d.ts +0 -55
  587. package/out/templator/genGridViewBlock.js +0 -368
  588. package/out/templator/genGridViewBlock.js.map +0 -1
  589. package/out/templator/genListViewBlock.d.ts +0 -19
  590. package/out/templator/genListViewBlock.js +0 -141
  591. package/out/templator/genListViewBlock.js.map +0 -1
  592. package/out/templator/genQueryComponent.d.ts +0 -34
  593. package/out/templator/genQueryComponent.js +0 -322
  594. package/out/templator/genQueryComponent.js.map +0 -1
  595. package/out/templator/genSelectBlock.d.ts +0 -34
  596. package/out/templator/genSelectBlock.js +0 -143
  597. package/out/templator/genSelectBlock.js.map +0 -1
  598. package/out/templator/genTableBlock.d.ts +0 -53
  599. package/out/templator/genTableBlock.js +0 -305
  600. package/out/templator/genTableBlock.js.map +0 -1
  601. package/out/templator/genUpdateBlock.d.ts +0 -6
  602. package/out/templator/genUpdateBlock.js +0 -368
  603. package/out/templator/genUpdateBlock.js.map +0 -1
  604. package/out/templator/index.d.ts +0 -16
  605. package/out/templator/index.js +0 -34
  606. package/out/templator/index.js.map +0 -1
  607. package/out/templator/utils.d.ts +0 -645
  608. package/out/templator/utils.js +0 -426
  609. package/out/templator/utils.js.map +0 -1
  610. package/out/test/fixtures/env.d.ts +0 -5
  611. package/out/test/fixtures/env.js +0 -20
  612. package/out/test/fixtures/env.js.map +0 -1
  613. package/out/test/integration/connect-create-file.d.ts +0 -1
  614. package/out/test/integration/connect-create-file.js +0 -39
  615. package/out/test/integration/connect-create-file.js.map +0 -1
  616. package/out/test/integration/connect-file.d.ts +0 -1
  617. package/out/test/integration/connect-file.js +0 -49
  618. package/out/test/integration/connect-file.js.map +0 -1
  619. package/out/test/units/baseTypes/Assignment.spec.d.ts +0 -1
  620. package/out/test/units/baseTypes/Assignment.spec.js +0 -43
  621. package/out/test/units/baseTypes/Assignment.spec.js.map +0 -1
  622. package/out/test/units/baseTypes/CallLogic.spec.d.ts +0 -1
  623. package/out/test/units/baseTypes/CallLogic.spec.js +0 -44
  624. package/out/test/units/baseTypes/CallLogic.spec.js.map +0 -1
  625. package/out/test/units/baseTypes/StringLiteral.spec.d.ts +0 -1
  626. package/out/test/units/baseTypes/StringLiteral.spec.js +0 -75
  627. package/out/test/units/baseTypes/StringLiteral.spec.js.map +0 -1
  628. package/out/test/units/baseTypes/new.spec.d.ts +0 -1
  629. package/out/test/units/baseTypes/new.spec.js +0 -37
  630. package/out/test/units/baseTypes/new.spec.js.map +0 -1
  631. package/out/test/units/common/Vertex.spec.d.ts +0 -1
  632. package/out/test/units/common/Vertex.spec.js +0 -22
  633. package/out/test/units/common/Vertex.spec.js.map +0 -1
  634. package/out/test/units/data/Entity.spec.d.ts +0 -1
  635. package/out/test/units/data/Entity.spec.js +0 -12
  636. package/out/test/units/data/Entity.spec.js.map +0 -1
  637. package/out/test/units/login.spec.d.ts +0 -1
  638. package/out/test/units/login.spec.js +0 -12
  639. package/out/test/units/login.spec.js.map +0 -1
  640. package/out/test/units/page/Block.spec.d.ts +0 -0
  641. package/out/test/units/page/Block.spec.js +0 -13
  642. package/out/test/units/page/Block.spec.js.map +0 -1
  643. package/out/test/units/page/Element.spec.d.ts +0 -1
  644. package/out/test/units/page/Element.spec.js +0 -44
  645. package/out/test/units/page/Element.spec.js.map +0 -1
  646. package/out/test/units/temp/temp.spec.d.ts +0 -1
  647. package/out/test/units/temp/temp.spec.js +0 -68
  648. package/out/test/units/temp/temp.spec.js.map +0 -1
  649. package/out/translator/index.d.ts +0 -47
  650. package/out/translator/index.js +0 -108
  651. package/out/translator/index.js.map +0 -1
  652. package/out/translator/lsp.d.ts +0 -45
  653. package/out/translator/lsp.js +0 -6
  654. package/out/translator/lsp.js.map +0 -1
  655. package/out/translator/tsp.d.ts +0 -12
  656. package/out/translator/tsp.js +0 -3
  657. package/out/translator/tsp.js.map +0 -1
  658. package/out/utils/index.d.ts +0 -37
  659. package/out/utils/index.js +0 -125
  660. package/out/utils/index.js.map +0 -1
  661. package/out/utils/logger.d.ts +0 -3
  662. package/out/utils/logger.js +0 -11
  663. package/out/utils/logger.js.map +0 -1
  664. package/out/utils/string.d.ts +0 -38
  665. package/out/utils/string.js +0 -95
  666. package/out/utils/string.js.map +0 -1
  667. package/out/utils/traverse.d.ts +0 -36
  668. package/out/utils/traverse.js +0 -132
  669. package/out/utils/traverse.js.map +0 -1
@@ -1,9 +1,12 @@
1
1
  import * as babel from '@babel/core';
2
- import Logic from './Logic__';
3
2
  import LogicItem from './LogicItem__';
4
3
  import Namespace from './Namespace__';
5
4
  import { TranslatorState, shiftState, withSourceMap, indent, createCompilerState, embeddedTSEmitter } from '../translator';
6
5
  import { ElementToVueOptions } from './ViewElement__';
6
+ import { elementsEventsMap } from '../server/createUiTs';
7
+ import Param from './Param__';
8
+ import TypeAnnotation from './TypeAnnotation__';
9
+
7
10
  //================================================================================
8
11
  // 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
9
12
  // ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
@@ -15,6 +18,7 @@ import * as utils from '../utils';
15
18
  import { v4 as uuidv4 } from 'uuid';
16
19
  import BaseNode from '../common/BaseNode';
17
20
  import classMap from '../common/classMap';
21
+ import Logic from './Logic__';
18
22
  import Argument from './Argument__';
19
23
  import ViewElement from './ViewElement__';
20
24
  import View from './View__';
@@ -38,6 +42,12 @@ export class BindEvent extends BaseNode {
38
42
  @property()
39
43
  name: string = undefined;
40
44
 
45
+ /**
46
+ * 逻辑列表
47
+ */
48
+ @property('Logic')
49
+ logics: Array<Logic> = [];
50
+
41
51
  /**
42
52
  * calleeNamespace
43
53
  */
@@ -142,7 +152,149 @@ export class BindEvent extends BaseNode {
142
152
  });
143
153
  }
144
154
 
145
-
155
+ getLogicExistingNames(excludedList: Array<Logic> = []) {
156
+ const excludedSet = new Set(excludedList);
157
+ return (this.logics || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
158
+ }
159
+ getLogicUniqueName(name = 'logic1') {
160
+ return utils.unique(name, this.getLogicExistingNames(), undefined, true);
161
+ }
162
+
163
+ /**
164
+ * 插入逻辑
165
+ * @internal
166
+ * @param name 逻辑名称,如果不填会自动生成一个唯一名称
167
+ */
168
+ _insertLogicAt(name: string, index: number): Logic;
169
+
170
+ /**
171
+ * 插入逻辑
172
+ * @internal
173
+ * @param logicOptions 逻辑参数
174
+ */
175
+ _insertLogicAt(logicOptions: Partial<Logic>, index: number): Logic;
176
+
177
+ /**
178
+ * 插入逻辑
179
+ * @internal
180
+ * @param logic 已有的逻辑实例
181
+ */
182
+ _insertLogicAt(logic: Logic, index: number): Logic;
183
+
184
+ _insertLogicAt(options: string | Partial<Logic> | Logic, index: number) {
185
+ const logicOptions: any = {};
186
+ const relationOptions = { parentNode: this, parentKey: 'logics' };
187
+ let logic: Logic;
188
+ if (!options) {
189
+ logic = Logic.from({
190
+ ...logicOptions,
191
+ name: this.getLogicUniqueName(),
192
+ }, this, 'logics');
193
+ } else if (typeof options === 'string') {
194
+ logic = Logic.from({
195
+ ...logicOptions,
196
+ name: options,
197
+ }, this, 'logics');
198
+ } else if (options instanceof Logic) {
199
+ options.ensureDelete(); // 同一实例不支持多处存在
200
+ logic = options;
201
+ Object.assign(logic, relationOptions);
202
+ } else {
203
+ logic = Logic.from({
204
+ ...logicOptions,
205
+ ...options,
206
+ }, this, 'logics');
207
+ }
208
+ this.logics.splice(index, 0, logic);
209
+ return logic;
210
+ }
211
+
212
+ /**
213
+ * 插入逻辑
214
+ * @param name 逻辑名称,如果不填会自动生成一个唯一名称
215
+ */
216
+ insertLogicAt(name: string, index: number): Logic;
217
+
218
+ /**
219
+ * 插入逻辑
220
+ * @param logicOptions 逻辑参数
221
+ */
222
+ insertLogicAt(logicOptions: Partial<Logic>, index: number): Logic;
223
+
224
+ /**
225
+ * 插入逻辑
226
+ * @param logic 已有的逻辑实例
227
+ */
228
+ insertLogicAt(logic: Logic, index: number): Logic;
229
+
230
+ insertLogicAt(options: string | Partial<Logic> | Logic, index: number) {
231
+ const node = this._insertLogicAt(options as any, index);
232
+ node.create({
233
+ index,
234
+ parentNode: this,
235
+ parentKey: 'logics',
236
+ });
237
+ return node;
238
+ }
239
+
240
+ /**
241
+ * 添加逻辑
242
+ * @internal
243
+ * @param name 逻辑名称,如果不填会自动生成一个唯一名称
244
+ */
245
+ _addLogic(name?: string): Logic;
246
+
247
+ /**
248
+ * 添加逻辑
249
+ * @internal
250
+ * @param logicOptions 逻辑参数
251
+ */
252
+ _addLogic(logicOptions: Partial<Logic>): Logic;
253
+
254
+ /**
255
+ * 添加逻辑
256
+ * @internal
257
+ * @param logic 已有的逻辑实例
258
+ */
259
+ _addLogic(logic: Logic): Logic;
260
+
261
+ _addLogic(options?: string | Partial<Logic> | Logic) {
262
+ const index = 0;
263
+ return this._insertLogicAt(options as any, index);
264
+ }
265
+
266
+ /**
267
+ * 添加逻辑
268
+ * @internal
269
+ * @param name 逻辑名称,如果不填会自动生成一个唯一名称
270
+ */
271
+ addLogic(name?: string): Logic;
272
+
273
+ /**
274
+ * 添加逻辑
275
+ * @param logicOptions 逻辑参数
276
+ */
277
+ addLogic(logicOptions: Partial<Logic>): Logic;
278
+
279
+ /**
280
+ * 添加逻辑
281
+ * @param logic 已有的逻辑实例
282
+ */
283
+ addLogic(logic: Logic): Logic;
284
+
285
+ addLogic(options?: string | Partial<Logic> | Logic) {
286
+ const node = this._addLogic(options as any);
287
+ const index = this.logics.indexOf(node);
288
+ node.create({
289
+ index,
290
+ parentNode: this,
291
+ parentKey: 'logics',
292
+ });
293
+ return node;
294
+ }
295
+
296
+
297
+
146
298
 
147
299
 
148
300
 
@@ -251,6 +403,56 @@ export class BindEvent extends BaseNode {
251
403
 
252
404
 
253
405
 
406
+ /**
407
+ * 删除逻辑
408
+ * @param name 逻辑名称
409
+ */
410
+ removeLogic(name: string): void;
411
+
412
+ /**
413
+ * 删除逻辑
414
+ * @param logic 已有的逻辑实例
415
+ */
416
+ removeLogic(logic: Logic): void;
417
+
418
+ removeLogic(options: string | Logic) {
419
+ let logic: Logic;
420
+ if (typeof options === 'string') {
421
+ logic = this.logics.find((item) => item.name === options);
422
+ if (!logic) {
423
+ throw new Error('找不到逻辑 ' + options);
424
+ }
425
+ } else {
426
+ logic = options;
427
+ }
428
+ return logic.delete();
429
+ }
430
+
431
+ __removeLogic(logic: Logic) {
432
+ const parentKey = logic.parentKey;
433
+ const params: Params = {
434
+ parentNode: this,
435
+ parentKey,
436
+ index: -1,
437
+ object: null,
438
+ oldObject: logic,
439
+ };
440
+ if (parentKey) {
441
+ params.parentKey = parentKey;
442
+ if (Array.isArray((this as any)[parentKey])) {
443
+ const index = (this as any)[parentKey].indexOf(logic);
444
+ ~index && (this as any)[parentKey].splice(index, 1);
445
+ params.index = index;
446
+ } else if ((this as any)[parentKey] === logic) {
447
+ params.index = 0;
448
+ (this as any)[parentKey] = undefined;
449
+ }
450
+ }
451
+ return params;
452
+ }
453
+
454
+
455
+
254
456
  /**
255
457
  * 删除实际参数
256
458
  * @param argument 已有的实际参数实例
@@ -289,14 +491,7 @@ export class BindEvent extends BaseNode {
289
491
  // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
290
492
  // 自动生成的代码已结束。下面可以手动编写。
291
493
  //================================================================================
292
- // 用于logic回填
293
- get calleewholeKey(): string {
294
- if (!this.calleeNamespace && this.calleeName) {
295
- // 页面逻辑单独处理
296
- return `${this.view.getNamespace()}.${this.view.name}.logics.${this.calleeName}`;
297
- }
298
- return this.calleeNamespace + '.' + this.calleeName;
299
- }
494
+
300
495
  get tsCalleeNamespace() {
301
496
  if (this.calleeNamespace) {
302
497
  let tsCalleeNamespace = this.calleeNamespace;
@@ -335,22 +530,86 @@ export class BindEvent extends BaseNode {
335
530
  // 绑定事件转驼峰
336
531
  toHump = (name: string) => (name ? name.replace(/\-(\w)/g, (all, letter) => letter.toUpperCase()) : '');
337
532
 
533
+ toJS(state?: TranslatorState): string {
534
+ // shiftState(state, code)
535
+ let code = `methods['${this.getViewEventName()}'] = async function (`;
536
+ const params = this.getContextLogicParams();
537
+ code += params.map((item: Param) => item.name).toString();
538
+ code += ') { \n';
539
+ this.logics.forEach((logic) => {
540
+ code += logic.toJS(shiftState(state, code), 'IIFE');
541
+ });
542
+ code += '};\n';
543
+ return code;
544
+ }
545
+
338
546
  @withSourceMap()
339
547
  toEmbeddedTS(state?: TranslatorState, isPageCycle?: Boolean): string {
340
548
  // 如果有绑定的事件名
341
- if (this.calleeName) {
342
- if (isPageCycle) {
343
- return `${this.calleeKey}();`;
344
- }
345
- let code = `${this.toHump(this.name) || '__IDENTIFIER__'}: (event: any) => [\n`;
346
- code += indent((state?.tabSize || 0) + 1);
347
- code += `() => {${this.calleeKey}()}`;
348
- code += '\n';
349
- code += indent((state?.tabSize || 0));
350
- code += '],\n';
549
+ let code = ``;
550
+ if (isPageCycle) {
551
+ this.logics.forEach((logic, index) => {
552
+ const logicName = logic.name;
553
+ logic.name = logic.view.name + logic.name + index;
554
+ code += logic.toEmbeddedTS(shiftState(state, code, {
555
+ tabSize: (state?.tabSize || 0) + 2,
556
+ }), 'noExport');
557
+ code += indent((state?.tabSize || 0));
558
+ code += `${logic.name}();`;
559
+ logic.name = logicName;
560
+ });
351
561
  return code;
352
562
  }
353
- return '';
563
+ code = `${this.toHump(this.name) || '__IDENTIFIER__'}: (event: `;
564
+
565
+ // event的类型
566
+ code += this.getEventTypeString();
567
+
568
+ code += ') => [\n';
569
+ this.logics.forEach((logic) => {
570
+ const logicName = logic.name;
571
+ logic.name = logic.view.name + (logic.parentNode as BindEvent).element.name + logic.name;
572
+ logic.name = logic.name.replace(/-/g, '');
573
+ code += logic.toEmbeddedTS(shiftState(state, code, {
574
+ tabSize: (state?.tabSize || 0) + 2,
575
+ }), 'noExport');
576
+ logic.name = logicName;
577
+
578
+ code += indent((state?.tabSize || 0));
579
+ code += ',\n';
580
+ });
581
+ code += '],\n';
582
+ return code;
583
+ }
584
+
585
+ getEventTypeString() {
586
+ let code = '';
587
+ if (!Object.keys(elementsEventsMap).length)
588
+ return;
589
+ if (this.element && elementsEventsMap[`${this.element.tag}-${this.name}`]) {
590
+ const pageInfo = elementsEventsMap[`${this.element.tag}-${this.name}`];
591
+ const refParam = pageInfo.params && pageInfo.params.find((item: any) => item.schema);
592
+ if (refParam) {
593
+ const ref = refParam.schema.$ref;
594
+ let type = '';
595
+ if (ref.includes('systemTypes')) {
596
+ type = ref.replace('#/systemTypes/', 'nasl.ui.');
597
+ } else if (ref.includes('basicTypes')) {
598
+ type = ref.replace('#/basicTypes/', 'nasl.core.');
599
+ }
600
+ code = `${type}`;
601
+ } else {
602
+ code = `nasl.ui.BaseEvent`;
603
+ }
604
+ } else if (['click', 'dblclick', 'contextmenu', 'mousedown', 'mouseup', 'mouseenter', 'mouseleave', 'focus', 'blur'].includes(this.name)) {
605
+ const eventInfo = elementsEventsMap[this.name];
606
+ const ref = eventInfo.params[0].schema.$ref;
607
+ const type = ref.replace('#/systemTypes/', 'nasl.ui.');
608
+ code = `${type}`;
609
+ } else {
610
+ code = 'nasl.ui.BaseEvent';
611
+ }
612
+ return code;
354
613
  }
355
614
 
356
615
  // @withSourceMap()
@@ -383,50 +642,43 @@ export class BindEvent extends BaseNode {
383
642
  ...object,
384
643
  });
385
644
  }
645
+
646
+ getNamespace(ns: string) {
647
+ if (this.view)
648
+ return `${this.view.getNamespace()}.${this.view.name}.bindEvents.${this.name}.logics`;
649
+ if (this.parentNode && (this.parentNode as Namespace).getNamespace) {
650
+ const parentNamespace = (this.parentNode as Namespace).getNamespace();
651
+ const parentName = this.parentNode.name;
652
+ const arr = [parentNamespace];
653
+ if (this.parentNode.concept !== 'App' && parentName) {
654
+ arr.push(parentName);
655
+ }
656
+ return `${arr.join('.')}.${ns || 'bindEvent'}`;
657
+ } else
658
+ throw new Error('无法获取命名空间,请设置 parentNode!');
659
+ }
386
660
  /**
387
661
  * 转换成 Vue 的模板格式
388
662
  */
389
663
  toVue(options?: ElementToVueOptions) {
390
- const calleeNamespace = this.calleeNamespace;
391
- let isComponentLogic = false;
392
- let componentName = '';
393
- if (calleeNamespace) {
394
- const namespaceArr = calleeNamespace.split('.');
395
- const start = namespaceArr.shift();
396
- if (start === 'elements' && namespaceArr.length === 2 && namespaceArr[1] === 'logics') {
397
- isComponentLogic = true;
398
- componentName = namespaceArr[0];
399
- }
400
- }
401
- let callee = '';
402
- if (isComponentLogic)
403
- callee = `$refs.${componentName}.${this.calleeName}`;
404
- else if (calleeNamespace?.startsWith('nasl.'))
405
- callee = `$global.${this.calleeName}`;
406
- else
407
- callee = this.calleeName;
408
664
  let code = '';
409
- if (callee) {
410
- code += `@${this.name}="${callee}`;
665
+ if (this.logics?.length) {
666
+ code += `@${this.name}="`;
411
667
  const argsList: string[] = [];
412
- const argsMap: any = {};
413
- if (Array.isArray(this.arguments) && this.arguments.length) {
414
- this.arguments.forEach((arg) => {
415
- const argStr = arg.toJS();
416
- argsList.push(argStr);
417
- argsMap[argStr] = true;
418
- });
419
- }
420
- const additionalArgs: string[] = ['$event'];
421
- if (Array.isArray(options?.scopeList) && options?.scopeList.length) {
422
- additionalArgs.push(...options.scopeList);
423
- }
424
- additionalArgs.forEach((arg) => {
425
- if (!argsMap[arg]) {
426
- argsList.push(arg);
427
- argsMap[arg] = true;
668
+ if (this.logics?.length) {
669
+ let parent = this.parentNode;
670
+ let index = 0;
671
+ while (parent && parent.concept !== 'View') {
672
+ if ((parent as ViewElement).slotScope) {
673
+ argsList.unshift(index === 0 ? 'scope' : 'scope' + index);
674
+ index++;
675
+ }
676
+ parent = parent.parentNode;
428
677
  }
429
- });
678
+ argsList.unshift('event');
679
+ }
680
+ code += this.getViewEventName();
681
+
430
682
  code += '(';
431
683
  argsList.forEach((arg, index) => {
432
684
  code += arg;
@@ -434,17 +686,122 @@ export class BindEvent extends BaseNode {
434
686
  code += ', ';
435
687
  });
436
688
  code += ')';
689
+
437
690
  code += `"`;
438
691
  }
439
692
  return code;
440
693
  }
694
+
695
+ // 获取bindEvent上的logic的参数从上文获取
696
+ getContextLogicParams() {
697
+ const argsList: string[] = [];
698
+ if (this.logics?.length) {
699
+ let parent = this.parentNode;
700
+ let index = 0;
701
+ while (parent && parent.concept !== 'View') {
702
+ if ((parent as ViewElement).slotScope) {
703
+ argsList.unshift(index === 0 ? 'scope' : 'scope' + index);
704
+ index++;
705
+ }
706
+ parent = parent.parentNode;
707
+ }
708
+ argsList.unshift('event');
709
+ }
710
+ return argsList.map((name: string) => new Param({ name }));
711
+ }
712
+
713
+ // 获取bindEvent上的logic的参数从上文获取
714
+ getContextRenderLogicParams(logic: Logic) {
715
+ const argsList: Param[] = [];
716
+ if (this.logics?.length) {
717
+ let parent = this.parentNode;
718
+ let index = 0;
719
+ const event = Param.from({ name: 'event' }, logic, 'virtualParams');
720
+ const typeString = this.getEventTypeString();
721
+ if (!typeString)
722
+ return argsList;
723
+ if (typeString && typeString.includes('nasl.ui')) {
724
+ const last = typeString.lastIndexOf('.');
725
+ event.typeAnnotation = TypeAnnotation.createReference(typeString.substring(last + 1, typeString.length), {
726
+ typeNamespace: 'nasl.ui',
727
+ });
728
+ } else {
729
+ const last = typeString.lastIndexOf('.');
730
+ event.typeAnnotation = TypeAnnotation.createPrimitive(typeString.substring(last + 1, typeString.length), {
731
+ typeNamespace: 'nasl.core',
732
+ });
733
+ }
734
+ argsList.push(event);
735
+
736
+ while (parent && parent.concept !== 'View') {
737
+ if ((parent as ViewElement).slotScope) {
738
+ const param = Param.from({ name: index === 0 ? 'scope' : 'scope' + index }, logic, 'virtualParams');
739
+ param.typeAnnotation = TypeAnnotation.createGeneric('ScopeOf', {
740
+ typeNamespace: 'nasl.ui',
741
+ typeArguments: [],
742
+ });
743
+ argsList.push(param);
744
+ index++;
745
+ }
746
+ parent = parent.parentNode;
747
+ }
748
+ }
749
+ return argsList;
750
+ }
751
+
752
+ getPageViewEventChineseName() {
753
+ const parent = this.parentNode;
754
+ if (parent instanceof View) {
755
+ const page = elementsEventsMap[this.name];
756
+ return `${parent.name}-${page.title}`;
757
+ } else if (parent instanceof ViewElement) {
758
+ const eventName = `${parent.tag}-${this.name}`;
759
+ if (elementsEventsMap[eventName]) {
760
+ const page = elementsEventsMap[eventName];
761
+ return `${parent.name}-${page.title}`;
762
+ } else if (['click', 'dblclick', 'contextmenu', 'mousedown', 'mouseup', 'mouseenter', 'mouseleave', 'focus', 'blur'].includes(this.name)) {
763
+ const page = elementsEventsMap[this.name];
764
+ return `${parent.name}-${page.title}`;
765
+ }
766
+ return `${parent.name}-${this.name}`;
767
+ }
768
+ }
769
+
770
+ getViewEventChineseName() {
771
+ const parent = this.parentNode;
772
+ if (parent instanceof View) {
773
+ const page = elementsEventsMap[this.name];
774
+ return `${page.title}`;
775
+ } else if (parent instanceof ViewElement) {
776
+ const eventName = `${parent.tag}-${this.name}`;
777
+ if (elementsEventsMap[eventName]) {
778
+ const page = elementsEventsMap[eventName];
779
+ return `${page.title}`;
780
+ } else if (['click', 'dblclick', 'contextmenu', 'mousedown', 'mouseup', 'mouseenter', 'mouseleave', 'focus', 'blur'].includes(this.name)) {
781
+ const page = elementsEventsMap[this.name];
782
+ return `${page.title}`;
783
+ }
784
+ return `${this.name}`;
785
+ }
786
+ }
787
+ getViewEventName() {
788
+ // 名称规则:组件的名称 + 组件的事件 + 逻辑本身的事件 用下划线链接
789
+ const parentNode = this.parentNode;
790
+ const newName = this.name.replace(/-/g, '');
791
+
792
+ if (parentNode instanceof ViewElement) {
793
+ return `${parentNode.name}_${newName}`;
794
+ } else if (parentNode instanceof View) {
795
+ return `${this.view.name}_${newName}`;
796
+ }
797
+ }
441
798
  //================================================================================
442
799
  // 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
443
800
  // ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
444
801
  //================================================================================
445
802
  }
446
803
 
447
- classMap['BindEvent'] = BindEvent;
804
+ classMap.BindEvent = BindEvent;
448
805
  export default BindEvent;
449
806
  //================================================================================
450
807
  // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
@@ -94,7 +94,7 @@ export class BooleanLiteral extends LogicItem {
94
94
  //================================================================================
95
95
  }
96
96
 
97
- classMap['BooleanLiteral'] = BooleanLiteral;
97
+ classMap.BooleanLiteral = BooleanLiteral;
98
98
  export default BooleanLiteral;
99
99
  //================================================================================
100
100
  // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
@@ -524,7 +524,7 @@ export class CallFunction extends LogicItem {
524
524
  //================================================================================
525
525
  }
526
526
 
527
- classMap['CallFunction'] = CallFunction;
527
+ classMap.CallFunction = CallFunction;
528
528
  export default CallFunction;
529
529
  //================================================================================
530
530
  // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
@@ -393,6 +393,7 @@ export class CallInterface extends LogicItem {
393
393
  'delete',
394
394
  'do',
395
395
  'double',
396
+ 'decimal',
396
397
  'else',
397
398
  'enum',
398
399
  'eval',
@@ -484,6 +485,7 @@ export class CallInterface extends LogicItem {
484
485
  Boolean: 'BooleanLiteral',
485
486
  Integer: 'NumericLiteral',
486
487
  Double: 'NumericLiteral',
488
+ Decimal: 'NumericLiteral',
487
489
  Long: 'NumericLiteral',
488
490
  };
489
491
  const typeName = param.typeAnnotation.typeName;
@@ -516,7 +518,7 @@ export class CallInterface extends LogicItem {
516
518
  //================================================================================
517
519
  }
518
520
 
519
- classMap['CallInterface'] = CallInterface;
521
+ classMap.CallInterface = CallInterface;
520
522
  export default CallInterface;
521
523
  //================================================================================
522
524
  // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
@@ -751,7 +751,7 @@ export class CallLogic extends LogicItem {
751
751
  //================================================================================
752
752
  }
753
753
 
754
- classMap['CallLogic'] = CallLogic;
754
+ classMap.CallLogic = CallLogic;
755
755
  export default CallLogic;
756
756
  //================================================================================
757
757
  // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
@@ -1274,7 +1274,7 @@ export class CallQueryComponent extends LogicItem {
1274
1274
  //================================================================================
1275
1275
  }
1276
1276
 
1277
- classMap['CallQueryComponent'] = CallQueryComponent;
1277
+ classMap.CallQueryComponent = CallQueryComponent;
1278
1278
  export default CallQueryComponent;
1279
1279
  //================================================================================
1280
1280
  // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
@@ -92,7 +92,7 @@ export class Comment extends LogicItem {
92
92
  //================================================================================
93
93
  }
94
94
 
95
- classMap['Comment'] = Comment;
95
+ classMap.Comment = Comment;
96
96
  export default Comment;
97
97
  //================================================================================
98
98
  // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
@@ -239,14 +239,13 @@ export class CompletionProperty extends BaseNode {
239
239
 
240
240
  isProcess: boolean = false;
241
241
 
242
- noFurther: boolean = false;
243
242
  //================================================================================
244
243
  // 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
245
244
  // ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
246
245
  //================================================================================
247
246
  }
248
247
 
249
- classMap['CompletionProperty'] = CompletionProperty;
248
+ classMap.CompletionProperty = CompletionProperty;
250
249
  export default CompletionProperty;
251
250
  //================================================================================
252
251
  // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
@@ -284,7 +284,7 @@ export class ConfigGroup extends BaseNode {
284
284
  //================================================================================
285
285
  }
286
286
 
287
- classMap['ConfigGroup'] = ConfigGroup;
287
+ classMap.ConfigGroup = ConfigGroup;
288
288
  export default ConfigGroup;
289
289
  //================================================================================
290
290
  // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
@@ -104,7 +104,7 @@ export class ConfigPropertyValue extends BaseNode {
104
104
  //================================================================================
105
105
  }
106
106
 
107
- classMap['ConfigPropertyValue'] = ConfigPropertyValue;
107
+ classMap.ConfigPropertyValue = ConfigPropertyValue;
108
108
  export default ConfigPropertyValue;
109
109
  //================================================================================
110
110
  // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
@@ -302,7 +302,7 @@ export class ConfigProperty extends BaseNode {
302
302
  //================================================================================
303
303
  }
304
304
 
305
- classMap['ConfigProperty'] = ConfigProperty;
305
+ classMap.ConfigProperty = ConfigProperty;
306
306
  export default ConfigProperty;
307
307
  //================================================================================
308
308
  // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑