@lcap/nasl 3.2.0-beta.3 → 3.3.0-alpha

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 (842) hide show
  1. package/out/automate/engine/utils.js +4 -0
  2. package/out/automate/engine/utils.js.map +1 -1
  3. package/out/automate/upgrader/2.20.js +1 -1
  4. package/out/automate/upgrader/2.20.js.map +1 -1
  5. package/out/bak/translator.js +11 -15
  6. package/out/bak/translator.js.map +1 -1
  7. package/out/breakpoint/generator/AfterStartNode.js +3 -1
  8. package/out/breakpoint/generator/AfterStartNode.js.map +1 -1
  9. package/out/breakpoint/generator/BeforeEndNode.js.map +1 -1
  10. package/out/breakpoint/generator/BreakpointNode.d.ts +1 -0
  11. package/out/breakpoint/generator/BreakpointNode.js +48 -15
  12. package/out/breakpoint/generator/BreakpointNode.js.map +1 -1
  13. package/out/breakpoint/generator/CallbackNode.d.ts +4 -0
  14. package/out/breakpoint/generator/CallbackNode.js +22 -0
  15. package/out/breakpoint/generator/CallbackNode.js.map +1 -0
  16. package/out/breakpoint/generator/FragmentNode.d.ts +4 -0
  17. package/out/breakpoint/generator/FragmentNode.js +18 -0
  18. package/out/breakpoint/generator/FragmentNode.js.map +1 -0
  19. package/out/breakpoint/generator/index.js +25 -4
  20. package/out/breakpoint/generator/index.js.map +1 -1
  21. package/out/breakpoint/shared/constants.d.ts +3 -0
  22. package/out/breakpoint/shared/constants.js +6 -1
  23. package/out/breakpoint/shared/constants.js.map +1 -1
  24. package/out/breakpoint/shared/operations.js.map +1 -1
  25. package/out/breakpoint/shared/socket.d.ts +1 -1
  26. package/out/breakpoint/shared/socket.js +36 -7
  27. package/out/breakpoint/shared/socket.js.map +1 -1
  28. package/out/breakpoint/shared/utils.d.ts +2 -0
  29. package/out/breakpoint/shared/utils.js +15 -2
  30. package/out/breakpoint/shared/utils.js.map +1 -1
  31. package/out/breakpoint/store/core.d.ts +48 -2
  32. package/out/breakpoint/store/core.js +58 -32
  33. package/out/breakpoint/store/core.js.map +1 -1
  34. package/out/breakpoint/store/dock.js +1 -1
  35. package/out/breakpoint/store/dock.js.map +1 -1
  36. package/out/common/BaseNode.d.ts +2 -2
  37. package/out/common/BaseNode.js +110 -53
  38. package/out/common/BaseNode.js.map +1 -1
  39. package/out/common/Command.d.ts +13 -2
  40. package/out/common/Command.js +37 -9
  41. package/out/common/Command.js.map +1 -1
  42. package/out/common/EventEmitter.js.map +1 -1
  43. package/out/common/Messager.d.ts +3 -3
  44. package/out/common/Messager.js +6 -7
  45. package/out/common/Messager.js.map +1 -1
  46. package/out/common/asyncFuncMap.js.map +1 -1
  47. package/out/concepts/Abort__.js +6 -5
  48. package/out/concepts/Abort__.js.map +1 -1
  49. package/out/concepts/Anchor__.d.ts +4 -3
  50. package/out/concepts/Anchor__.js +24 -7
  51. package/out/concepts/Anchor__.js.map +1 -1
  52. package/out/concepts/AnonymousFunction__.d.ts +22 -21
  53. package/out/concepts/AnonymousFunction__.js +48 -22
  54. package/out/concepts/AnonymousFunction__.js.map +1 -1
  55. package/out/concepts/App__.d.ts +421 -247
  56. package/out/concepts/App__.js +288 -54
  57. package/out/concepts/App__.js.map +1 -1
  58. package/out/concepts/Argument__.d.ts +4 -3
  59. package/out/concepts/Argument__.js +42 -11
  60. package/out/concepts/Argument__.js.map +1 -1
  61. package/out/concepts/Assignee__.d.ts +45 -45
  62. package/out/concepts/Assignee__.js +15 -15
  63. package/out/concepts/Assignee__.js.map +1 -1
  64. package/out/concepts/AssignmentLine__.js +6 -5
  65. package/out/concepts/AssignmentLine__.js.map +1 -1
  66. package/out/concepts/Assignment__.d.ts +7 -6
  67. package/out/concepts/Assignment__.js +41 -23
  68. package/out/concepts/Assignment__.js.map +1 -1
  69. package/out/concepts/Attribute__.d.ts +3 -3
  70. package/out/concepts/Attribute__.js +8 -7
  71. package/out/concepts/Attribute__.js.map +1 -1
  72. package/out/concepts/AuthInterface__.js +4 -3
  73. package/out/concepts/AuthInterface__.js.map +1 -1
  74. package/out/concepts/AuthLogicForCallInterface__.d.ts +15 -15
  75. package/out/concepts/AuthLogicForCallInterface__.js +46 -27
  76. package/out/concepts/AuthLogicForCallInterface__.js.map +1 -1
  77. package/out/concepts/AuthLogic__.js +27 -13
  78. package/out/concepts/AuthLogic__.js.map +1 -1
  79. package/out/concepts/BackendVariable__.d.ts +5 -5
  80. package/out/concepts/BackendVariable__.js +23 -26
  81. package/out/concepts/BackendVariable__.js.map +1 -1
  82. package/out/concepts/Backend__.d.ts +18 -18
  83. package/out/concepts/Backend__.js +13 -13
  84. package/out/concepts/Backend__.js.map +1 -1
  85. package/out/concepts/BatchAssignment__.d.ts +34 -33
  86. package/out/concepts/BatchAssignment__.js +83 -43
  87. package/out/concepts/BatchAssignment__.js.map +1 -1
  88. package/out/concepts/BinaryExpression__.d.ts +7 -6
  89. package/out/concepts/BinaryExpression__.js +60 -24
  90. package/out/concepts/BinaryExpression__.js.map +1 -1
  91. package/out/concepts/BindAttribute__.d.ts +37 -37
  92. package/out/concepts/BindAttribute__.js +102 -58
  93. package/out/concepts/BindAttribute__.js.map +1 -1
  94. package/out/concepts/BindDirective__.d.ts +13 -13
  95. package/out/concepts/BindDirective__.js +23 -21
  96. package/out/concepts/BindDirective__.js.map +1 -1
  97. package/out/concepts/BindEvent__.d.ts +28 -28
  98. package/out/concepts/BindEvent__.js +150 -57
  99. package/out/concepts/BindEvent__.js.map +1 -1
  100. package/out/concepts/BindStyle__.d.ts +14 -15
  101. package/out/concepts/BindStyle__.js +16 -16
  102. package/out/concepts/BindStyle__.js.map +1 -1
  103. package/out/concepts/BooleanLiteral__.d.ts +1 -0
  104. package/out/concepts/BooleanLiteral__.js +12 -5
  105. package/out/concepts/BooleanLiteral__.js.map +1 -1
  106. package/out/concepts/CallAuthInterface__.d.ts +15 -15
  107. package/out/concepts/CallAuthInterface__.js +23 -22
  108. package/out/concepts/CallAuthInterface__.js.map +1 -1
  109. package/out/concepts/CallConnector__.d.ts +11 -9
  110. package/out/concepts/CallConnector__.js +79 -36
  111. package/out/concepts/CallConnector__.js.map +1 -1
  112. package/out/concepts/CallFunction__.d.ts +17 -16
  113. package/out/concepts/CallFunction__.js +95 -63
  114. package/out/concepts/CallFunction__.js.map +1 -1
  115. package/out/concepts/CallInterface__.d.ts +9 -8
  116. package/out/concepts/CallInterface__.js +109 -80
  117. package/out/concepts/CallInterface__.js.map +1 -1
  118. package/out/concepts/CallLogic__.d.ts +24 -20
  119. package/out/concepts/CallLogic__.js +209 -162
  120. package/out/concepts/CallLogic__.js.map +1 -1
  121. package/out/concepts/CallQueryComponent__.d.ts +51 -51
  122. package/out/concepts/CallQueryComponent__.js +66 -63
  123. package/out/concepts/CallQueryComponent__.js.map +1 -1
  124. package/out/concepts/Comment__.d.ts +1 -0
  125. package/out/concepts/Comment__.js +13 -6
  126. package/out/concepts/Comment__.js.map +1 -1
  127. package/out/concepts/CompletionProperty__.d.ts +3 -3
  128. package/out/concepts/CompletionProperty__.js +16 -8
  129. package/out/concepts/CompletionProperty__.js.map +1 -1
  130. package/out/concepts/ConfigGroup__.d.ts +15 -15
  131. package/out/concepts/ConfigGroup__.js +9 -9
  132. package/out/concepts/ConfigGroup__.js.map +1 -1
  133. package/out/concepts/ConfigPropertyValue__.js +4 -3
  134. package/out/concepts/ConfigPropertyValue__.js.map +1 -1
  135. package/out/concepts/ConfigProperty__.d.ts +15 -15
  136. package/out/concepts/ConfigProperty__.js +10 -10
  137. package/out/concepts/ConfigProperty__.js.map +1 -1
  138. package/out/concepts/Configuration__.d.ts +15 -15
  139. package/out/concepts/Configuration__.js +9 -9
  140. package/out/concepts/Configuration__.js.map +1 -1
  141. package/out/concepts/Connection__.d.ts +166 -0
  142. package/out/concepts/Connection__.js +332 -0
  143. package/out/concepts/Connection__.js.map +1 -0
  144. package/out/concepts/ConnectorTrigger__.js +4 -3
  145. package/out/concepts/ConnectorTrigger__.js.map +1 -1
  146. package/out/concepts/Connector__.d.ts +66 -66
  147. package/out/concepts/Connector__.js +16 -15
  148. package/out/concepts/Connector__.js.map +1 -1
  149. package/out/concepts/Constant__.d.ts +3 -3
  150. package/out/concepts/Constant__.js +8 -7
  151. package/out/concepts/Constant__.js.map +1 -1
  152. package/out/concepts/DataElement__.d.ts +3 -3
  153. package/out/concepts/DataElement__.js +6 -5
  154. package/out/concepts/DataElement__.js.map +1 -1
  155. package/out/concepts/DataSource__.d.ts +15 -15
  156. package/out/concepts/DataSource__.js +55 -39
  157. package/out/concepts/DataSource__.js.map +1 -1
  158. package/out/concepts/DatabaseTypeAnnotation__.js +4 -3
  159. package/out/concepts/DatabaseTypeAnnotation__.js.map +1 -1
  160. package/out/concepts/Destination__.d.ts +12 -11
  161. package/out/concepts/Destination__.js +93 -36
  162. package/out/concepts/Destination__.js.map +1 -1
  163. package/out/concepts/End__.js +15 -13
  164. package/out/concepts/End__.js.map +1 -1
  165. package/out/concepts/EntityIndex__.d.ts +1 -1
  166. package/out/concepts/EntityIndex__.js +6 -5
  167. package/out/concepts/EntityIndex__.js.map +1 -1
  168. package/out/concepts/EntityProperty__.d.ts +8 -7
  169. package/out/concepts/EntityProperty__.js +39 -24
  170. package/out/concepts/EntityProperty__.js.map +1 -1
  171. package/out/concepts/Entity__.d.ts +31 -30
  172. package/out/concepts/Entity__.js +40 -16
  173. package/out/concepts/Entity__.js.map +1 -1
  174. package/out/concepts/EnumItem__.d.ts +1 -0
  175. package/out/concepts/EnumItem__.js +12 -5
  176. package/out/concepts/EnumItem__.js.map +1 -1
  177. package/out/concepts/Enum__.d.ts +9 -8
  178. package/out/concepts/Enum__.js +24 -11
  179. package/out/concepts/Enum__.js.map +1 -1
  180. package/out/concepts/Event__.d.ts +15 -15
  181. package/out/concepts/Event__.js +6 -5
  182. package/out/concepts/Event__.js.map +1 -1
  183. package/out/concepts/ExternalDestination__.d.ts +6 -6
  184. package/out/concepts/ExternalDestination__.js +12 -11
  185. package/out/concepts/ExternalDestination__.js.map +1 -1
  186. package/out/concepts/ForEachStatement__.d.ts +25 -24
  187. package/out/concepts/ForEachStatement__.js +101 -36
  188. package/out/concepts/ForEachStatement__.js.map +1 -1
  189. package/out/concepts/FrontendLibrary__.d.ts +30 -30
  190. package/out/concepts/FrontendLibrary__.js +12 -13
  191. package/out/concepts/FrontendLibrary__.js.map +1 -1
  192. package/out/concepts/FrontendVariable__.js +4 -3
  193. package/out/concepts/FrontendVariable__.js.map +1 -1
  194. package/out/concepts/Frontend__.d.ts +64 -65
  195. package/out/concepts/Frontend__.js +23 -27
  196. package/out/concepts/Frontend__.js.map +1 -1
  197. package/out/concepts/Function__.d.ts +64 -63
  198. package/out/concepts/Function__.js +49 -21
  199. package/out/concepts/Function__.js.map +1 -1
  200. package/out/concepts/Identifier__.js +37 -31
  201. package/out/concepts/Identifier__.js.map +1 -1
  202. package/out/concepts/IfStatement__.d.ts +20 -19
  203. package/out/concepts/IfStatement__.js +64 -34
  204. package/out/concepts/IfStatement__.js.map +1 -1
  205. package/out/concepts/Integration__.d.ts +3 -3
  206. package/out/concepts/Integration__.js +8 -7
  207. package/out/concepts/Integration__.js.map +1 -1
  208. package/out/concepts/InterfaceParam__.d.ts +3 -3
  209. package/out/concepts/InterfaceParam__.js +7 -6
  210. package/out/concepts/InterfaceParam__.js.map +1 -1
  211. package/out/concepts/Interface__.d.ts +33 -33
  212. package/out/concepts/Interface__.js +19 -20
  213. package/out/concepts/Interface__.js.map +1 -1
  214. package/out/concepts/JSBlock__.d.ts +1 -0
  215. package/out/concepts/JSBlock__.js +12 -5
  216. package/out/concepts/JSBlock__.js.map +1 -1
  217. package/out/concepts/JavaLogic__.js +10 -9
  218. package/out/concepts/JavaLogic__.js.map +1 -1
  219. package/out/concepts/LogicItem__.d.ts +6 -0
  220. package/out/concepts/LogicItem__.js +14 -5
  221. package/out/concepts/LogicItem__.js.map +1 -1
  222. package/out/concepts/Logic__.d.ts +80 -79
  223. package/out/concepts/Logic__.js +204 -58
  224. package/out/concepts/Logic__.js.map +1 -1
  225. package/out/concepts/MatchCase__.d.ts +39 -38
  226. package/out/concepts/MatchCase__.js +122 -37
  227. package/out/concepts/MatchCase__.js.map +1 -1
  228. package/out/concepts/Match__.d.ts +13 -11
  229. package/out/concepts/Match__.js +128 -60
  230. package/out/concepts/Match__.js.map +1 -1
  231. package/out/concepts/MemberExpression__.d.ts +7 -6
  232. package/out/concepts/MemberExpression__.js +52 -22
  233. package/out/concepts/MemberExpression__.js.map +1 -1
  234. package/out/concepts/MicroApp__.js +4 -3
  235. package/out/concepts/MicroApp__.js.map +1 -1
  236. package/out/concepts/Module__.d.ts +242 -154
  237. package/out/concepts/Module__.js +139 -33
  238. package/out/concepts/Module__.js.map +1 -1
  239. package/out/concepts/MsgTriggerEvent__.d.ts +15 -15
  240. package/out/concepts/MsgTriggerEvent__.js +6 -5
  241. package/out/concepts/MsgTriggerEvent__.js.map +1 -1
  242. package/out/concepts/MsgTriggerLauncher__.d.ts +23 -15
  243. package/out/concepts/MsgTriggerLauncher__.js +24 -5
  244. package/out/concepts/MsgTriggerLauncher__.js.map +1 -1
  245. package/out/concepts/Namespace__.d.ts +180 -180
  246. package/out/concepts/Namespace__.js +33 -34
  247. package/out/concepts/Namespace__.js.map +1 -1
  248. package/out/concepts/NewComposite__.d.ts +49 -48
  249. package/out/concepts/NewComposite__.js +164 -49
  250. package/out/concepts/NewComposite__.js.map +1 -1
  251. package/out/concepts/NewList__.d.ts +19 -18
  252. package/out/concepts/NewList__.js +29 -12
  253. package/out/concepts/NewList__.js.map +1 -1
  254. package/out/concepts/NewMap__.d.ts +34 -33
  255. package/out/concepts/NewMap__.js +81 -72
  256. package/out/concepts/NewMap__.js.map +1 -1
  257. package/out/concepts/New__.js +6 -5
  258. package/out/concepts/New__.js.map +1 -1
  259. package/out/concepts/NullLiteral__.js +6 -5
  260. package/out/concepts/NullLiteral__.js.map +1 -1
  261. package/out/concepts/NumericLiteral__.d.ts +4 -3
  262. package/out/concepts/NumericLiteral__.js +15 -8
  263. package/out/concepts/NumericLiteral__.js.map +1 -1
  264. package/out/concepts/OqlQueryComponent__.d.ts +4 -3
  265. package/out/concepts/OqlQueryComponent__.js +25 -16
  266. package/out/concepts/OqlQueryComponent__.js.map +1 -1
  267. package/out/concepts/OverriddenLogic__.d.ts +79 -79
  268. package/out/concepts/OverriddenLogic__.js +79 -58
  269. package/out/concepts/OverriddenLogic__.js.map +1 -1
  270. package/out/concepts/Param__.d.ts +6 -5
  271. package/out/concepts/Param__.js +66 -29
  272. package/out/concepts/Param__.js.map +1 -1
  273. package/out/concepts/Point__.js +4 -3
  274. package/out/concepts/Point__.js.map +1 -1
  275. package/out/concepts/ProcessComponent__.d.ts +30 -30
  276. package/out/concepts/ProcessComponent__.js +8 -7
  277. package/out/concepts/ProcessComponent__.js.map +1 -1
  278. package/out/concepts/ProcessElement__.d.ts +96 -96
  279. package/out/concepts/ProcessElement__.js +34 -34
  280. package/out/concepts/ProcessElement__.js.map +1 -1
  281. package/out/concepts/ProcessOutcome__.js +6 -5
  282. package/out/concepts/ProcessOutcome__.js.map +1 -1
  283. package/out/concepts/ProcessOutcomes__.js +6 -5
  284. package/out/concepts/ProcessOutcomes__.js.map +1 -1
  285. package/out/concepts/Process__.d.ts +75 -75
  286. package/out/concepts/Process__.js +33 -30
  287. package/out/concepts/Process__.js.map +1 -1
  288. package/out/concepts/QueryAggregateExpression__.d.ts +3 -3
  289. package/out/concepts/QueryAggregateExpression__.js +8 -7
  290. package/out/concepts/QueryAggregateExpression__.js.map +1 -1
  291. package/out/concepts/QueryFieldExpression__.js +7 -6
  292. package/out/concepts/QueryFieldExpression__.js.map +1 -1
  293. package/out/concepts/QueryFromExpression__.d.ts +8 -8
  294. package/out/concepts/QueryFromExpression__.js +8 -7
  295. package/out/concepts/QueryFromExpression__.js.map +1 -1
  296. package/out/concepts/QueryGroupByExpression__.d.ts +3 -3
  297. package/out/concepts/QueryGroupByExpression__.js +9 -10
  298. package/out/concepts/QueryGroupByExpression__.js.map +1 -1
  299. package/out/concepts/QueryJoinExpression__.d.ts +23 -23
  300. package/out/concepts/QueryJoinExpression__.js +11 -10
  301. package/out/concepts/QueryJoinExpression__.js.map +1 -1
  302. package/out/concepts/QueryLimitExpression__.d.ts +6 -6
  303. package/out/concepts/QueryLimitExpression__.js +9 -8
  304. package/out/concepts/QueryLimitExpression__.js.map +1 -1
  305. package/out/concepts/QueryOrderByExpression__.d.ts +6 -6
  306. package/out/concepts/QueryOrderByExpression__.js +9 -8
  307. package/out/concepts/QueryOrderByExpression__.js.map +1 -1
  308. package/out/concepts/QuerySelectExpression__.d.ts +30 -30
  309. package/out/concepts/QuerySelectExpression__.js +9 -8
  310. package/out/concepts/QuerySelectExpression__.js.map +1 -1
  311. package/out/concepts/Rect__.js +4 -3
  312. package/out/concepts/Rect__.js.map +1 -1
  313. package/out/concepts/Return__.d.ts +4 -3
  314. package/out/concepts/Return__.js +37 -18
  315. package/out/concepts/Return__.js.map +1 -1
  316. package/out/concepts/Role__.js +9 -9
  317. package/out/concepts/Role__.js.map +1 -1
  318. package/out/concepts/SelectMembers__.d.ts +18 -18
  319. package/out/concepts/SelectMembers__.js +10 -9
  320. package/out/concepts/SelectMembers__.js.map +1 -1
  321. package/out/concepts/Slot__.d.ts +3 -3
  322. package/out/concepts/Slot__.js +6 -5
  323. package/out/concepts/Slot__.js.map +1 -1
  324. package/out/concepts/SqlQueryComponent__.d.ts +4 -3
  325. package/out/concepts/SqlQueryComponent__.js +21 -12
  326. package/out/concepts/SqlQueryComponent__.js.map +1 -1
  327. package/out/concepts/Start__.js +6 -5
  328. package/out/concepts/Start__.js.map +1 -1
  329. package/out/concepts/StringInterpolation__.d.ts +16 -15
  330. package/out/concepts/StringInterpolation__.js +37 -14
  331. package/out/concepts/StringInterpolation__.js.map +1 -1
  332. package/out/concepts/StringLiteral__.d.ts +1 -0
  333. package/out/concepts/StringLiteral__.js +13 -8
  334. package/out/concepts/StringLiteral__.js.map +1 -1
  335. package/out/concepts/StructureProperty__.d.ts +4 -3
  336. package/out/concepts/StructureProperty__.js +22 -9
  337. package/out/concepts/StructureProperty__.js.map +1 -1
  338. package/out/concepts/Structure__.d.ts +31 -30
  339. package/out/concepts/Structure__.js +27 -15
  340. package/out/concepts/Structure__.js.map +1 -1
  341. package/out/concepts/SwitchCase__.d.ts +12 -11
  342. package/out/concepts/SwitchCase__.js +69 -31
  343. package/out/concepts/SwitchCase__.js.map +1 -1
  344. package/out/concepts/SwitchStatement__.d.ts +9 -8
  345. package/out/concepts/SwitchStatement__.js +27 -7
  346. package/out/concepts/SwitchStatement__.js.map +1 -1
  347. package/out/concepts/Theme__.js +4 -3
  348. package/out/concepts/Theme__.js.map +1 -1
  349. package/out/concepts/Transactional__.js +4 -3
  350. package/out/concepts/Transactional__.js.map +1 -1
  351. package/out/concepts/TriggerEvent__.d.ts +15 -15
  352. package/out/concepts/TriggerEvent__.js +6 -5
  353. package/out/concepts/TriggerEvent__.js.map +1 -1
  354. package/out/concepts/TriggerLauncher__.d.ts +15 -10
  355. package/out/concepts/TriggerLauncher__.js +54 -32
  356. package/out/concepts/TriggerLauncher__.js.map +1 -1
  357. package/out/concepts/TypeAnnotation__.d.ts +28 -27
  358. package/out/concepts/TypeAnnotation__.js +144 -124
  359. package/out/concepts/TypeAnnotation__.js.map +1 -1
  360. package/out/concepts/TypeParam__.d.ts +1 -0
  361. package/out/concepts/TypeParam__.js +12 -5
  362. package/out/concepts/TypeParam__.js.map +1 -1
  363. package/out/concepts/UnaryExpression__.d.ts +4 -3
  364. package/out/concepts/UnaryExpression__.js +31 -20
  365. package/out/concepts/UnaryExpression__.js.map +1 -1
  366. package/out/concepts/Unparsed__.d.ts +1 -0
  367. package/out/concepts/Unparsed__.js +12 -5
  368. package/out/concepts/Unparsed__.js.map +1 -1
  369. package/out/concepts/UseComponent__.js +4 -3
  370. package/out/concepts/UseComponent__.js.map +1 -1
  371. package/out/concepts/ValidationRule__.d.ts +14 -14
  372. package/out/concepts/ValidationRule__.js +19 -17
  373. package/out/concepts/ValidationRule__.js.map +1 -1
  374. package/out/concepts/Variable__.d.ts +4 -3
  375. package/out/concepts/Variable__.js +39 -23
  376. package/out/concepts/Variable__.js.map +1 -1
  377. package/out/concepts/ViewBlock__.js +4 -3
  378. package/out/concepts/ViewBlock__.js.map +1 -1
  379. package/out/concepts/ViewComponent__.d.ts +90 -90
  380. package/out/concepts/ViewComponent__.js +16 -15
  381. package/out/concepts/ViewComponent__.js.map +1 -1
  382. package/out/concepts/ViewElement__.d.ts +92 -86
  383. package/out/concepts/ViewElement__.js +258 -200
  384. package/out/concepts/ViewElement__.js.map +1 -1
  385. package/out/concepts/View__.d.ts +92 -92
  386. package/out/concepts/View__.js +173 -63
  387. package/out/concepts/View__.js.map +1 -1
  388. package/out/concepts/WhileStatement__.d.ts +12 -11
  389. package/out/concepts/WhileStatement__.js +46 -23
  390. package/out/concepts/WhileStatement__.js.map +1 -1
  391. package/out/concepts/basics/stdlib/index.js +17 -1
  392. package/out/concepts/basics/stdlib/index.js.map +1 -1
  393. package/out/concepts/basics/stdlib/nasl.browser.js +36 -0
  394. package/out/concepts/basics/stdlib/nasl.browser.js.map +1 -1
  395. package/out/concepts/basics/stdlib/nasl.event.d.ts +3 -0
  396. package/out/concepts/basics/stdlib/nasl.event.js +23 -0
  397. package/out/concepts/basics/stdlib/nasl.event.js.map +1 -0
  398. package/out/concepts/basics/stdlib/nasl.ui.js +45 -0
  399. package/out/concepts/basics/stdlib/nasl.ui.js.map +1 -1
  400. package/out/concepts/basics/stdlib/nasl.util.js +6 -22
  401. package/out/concepts/basics/stdlib/nasl.util.js.map +1 -1
  402. package/out/concepts/index__.d.ts +2 -1
  403. package/out/concepts/index__.js +2 -1
  404. package/out/concepts/index__.js.map +1 -1
  405. package/out/concepts/types__.d.ts +2 -1
  406. package/out/decorators/index.d.ts +1 -1
  407. package/out/decorators/index.js +20 -7
  408. package/out/decorators/index.js.map +1 -1
  409. package/out/decorators/promise.d.ts +7 -0
  410. package/out/decorators/promise.js +28 -0
  411. package/out/decorators/promise.js.map +1 -0
  412. package/out/enums/KEYWORDS.js.map +1 -1
  413. package/out/enums/LEVEL_NAME_MAP.js.map +1 -1
  414. package/out/generator/compileComponent.js.map +1 -1
  415. package/out/generator/genBundleFiles.d.ts +4 -1
  416. package/out/generator/genBundleFiles.js +15 -11
  417. package/out/generator/genBundleFiles.js.map +1 -1
  418. package/out/generator/genHash.js.map +1 -1
  419. package/out/generator/genMetaData.js +12 -8
  420. package/out/generator/genMetaData.js.map +1 -1
  421. package/out/generator/genReleaseBody.js +33 -35
  422. package/out/generator/genReleaseBody.js.map +1 -1
  423. package/out/generator/microApp.js +2 -1
  424. package/out/generator/microApp.js.map +1 -1
  425. package/out/generator/permission.js +31 -30
  426. package/out/generator/permission.js.map +1 -1
  427. package/out/generator/styleReplacer.js +4 -7
  428. package/out/generator/styleReplacer.js.map +1 -1
  429. package/out/index.d.ts +0 -2
  430. package/out/index.js +0 -3
  431. package/out/index.js.map +1 -1
  432. package/out/manager/diagnostic.d.ts +1 -1
  433. package/out/manager/diagnostic.js.map +1 -1
  434. package/out/manager/stepRecorder.js +13 -9
  435. package/out/manager/stepRecorder.js.map +1 -1
  436. package/out/natural/RequirementAnalyzer.d.ts +22 -0
  437. package/out/natural/RequirementAnalyzer.js +196 -0
  438. package/out/natural/RequirementAnalyzer.js.map +1 -0
  439. package/out/natural/RequirementExecutor.d.ts +51 -0
  440. package/out/natural/RequirementExecutor.js +692 -0
  441. package/out/natural/RequirementExecutor.js.map +1 -0
  442. package/out/natural/componentData.d.ts +31 -0
  443. package/out/natural/componentData.js +85 -0
  444. package/out/natural/componentData.js.map +1 -0
  445. package/out/natural/genNaturalTS.d.ts +3 -0
  446. package/out/natural/genNaturalTS.js +76 -0
  447. package/out/natural/genNaturalTS.js.map +1 -0
  448. package/out/natural/index.d.ts +4 -0
  449. package/out/natural/index.js +21 -0
  450. package/out/natural/index.js.map +1 -0
  451. package/out/natural/knowledgeMap.d.ts +4 -0
  452. package/out/natural/knowledgeMap.js +40 -0
  453. package/out/natural/knowledgeMap.js.map +1 -0
  454. package/out/natural/naslStdlibMap.d.ts +2 -0
  455. package/out/natural/naslStdlibMap.js +26 -0
  456. package/out/natural/naslStdlibMap.js.map +1 -0
  457. package/out/natural/transformTSCode.d.ts +7 -0
  458. package/out/natural/transformTSCode.js +760 -0
  459. package/out/natural/transformTSCode.js.map +1 -0
  460. package/out/sentry/index.d.ts +2 -1
  461. package/out/sentry/index.js.map +1 -1
  462. package/out/server/createUiTs.js +28 -16
  463. package/out/server/createUiTs.js.map +1 -1
  464. package/out/server/entity2LogicNamespace.js +24 -22
  465. package/out/server/entity2LogicNamespace.js.map +1 -1
  466. package/out/server/event.d.ts +12 -0
  467. package/out/server/event.js +52 -28
  468. package/out/server/event.js.map +1 -1
  469. package/out/server/extendBaseNode.js +55 -70
  470. package/out/server/extendBaseNode.js.map +1 -1
  471. package/out/server/formatTsUtils.js +46 -50
  472. package/out/server/formatTsUtils.js.map +1 -1
  473. package/out/server/getConnector.d.ts +3 -3
  474. package/out/server/getConnector.js +7 -8
  475. package/out/server/getConnector.js.map +1 -1
  476. package/out/server/getExtensionModules.js +2 -2
  477. package/out/server/getExtensionModules.js.map +1 -1
  478. package/out/server/getFunctions.js.map +1 -1
  479. package/out/server/getInterfaces.js.map +1 -1
  480. package/out/server/getLogging.js.map +1 -1
  481. package/out/server/getLogics.d.ts +1 -1
  482. package/out/server/getLogics.js +55 -8
  483. package/out/server/getLogics.js.map +1 -1
  484. package/out/server/getMemberIdentifier.js +13 -10
  485. package/out/server/getMemberIdentifier.js.map +1 -1
  486. package/out/server/getProcessComponents.js.map +1 -1
  487. package/out/server/getProcesses.js +21 -29
  488. package/out/server/getProcesses.js.map +1 -1
  489. package/out/server/getScope.js.map +1 -1
  490. package/out/server/getValidates.js.map +1 -1
  491. package/out/server/index.js +0 -1
  492. package/out/server/index.js.map +1 -1
  493. package/out/server/naslServer.d.ts +99 -94
  494. package/out/server/naslServer.js +490 -469
  495. package/out/server/naslServer.js.map +1 -1
  496. package/out/server/naslStdlibMap.js +6 -2
  497. package/out/server/naslStdlibMap.js.map +1 -1
  498. package/out/server/process2LogicNamespace.js.map +1 -1
  499. package/out/server/translator.d.ts +1 -1
  500. package/out/server/translator.js +52 -47
  501. package/out/server/translator.js.map +1 -1
  502. package/out/service/storage/init.d.ts +15 -1
  503. package/out/service/storage/init.js +65 -56
  504. package/out/service/storage/init.js.map +1 -1
  505. package/out/templator/genCallComponentLogic.js +1 -2
  506. package/out/templator/genCallComponentLogic.js.map +1 -1
  507. package/out/templator/genCreateBlock.js +14 -9
  508. package/out/templator/genCreateBlock.js.map +1 -1
  509. package/out/templator/genCurdEditMultipleKeyBlock.js +23 -14
  510. package/out/templator/genCurdEditMultipleKeyBlock.js.map +1 -1
  511. package/out/templator/genCurdMultipleKeyBlock.js +26 -30
  512. package/out/templator/genCurdMultipleKeyBlock.js.map +1 -1
  513. package/out/templator/genEditTableBlock.d.ts +1 -1
  514. package/out/templator/genEditTableBlock.js +14 -19
  515. package/out/templator/genEditTableBlock.js.map +1 -1
  516. package/out/templator/genEnumSelectBlock.js +1 -1
  517. package/out/templator/genEnumSelectBlock.js.map +1 -1
  518. package/out/templator/genGetBlock.js +2 -2
  519. package/out/templator/genGetBlock.js.map +1 -1
  520. package/out/templator/genGridViewBlock.d.ts +2 -2
  521. package/out/templator/genGridViewBlock.js +18 -28
  522. package/out/templator/genGridViewBlock.js.map +1 -1
  523. package/out/templator/genListViewBlock.d.ts +2 -2
  524. package/out/templator/genListViewBlock.js +9 -16
  525. package/out/templator/genListViewBlock.js.map +1 -1
  526. package/out/templator/genQueryComponent.js +22 -15
  527. package/out/templator/genQueryComponent.js.map +1 -1
  528. package/out/templator/genSelectBlock.d.ts +2 -2
  529. package/out/templator/genSelectBlock.js +21 -48
  530. package/out/templator/genSelectBlock.js.map +1 -1
  531. package/out/templator/genTableBlock.d.ts +1 -1
  532. package/out/templator/genTableBlock.js +11 -17
  533. package/out/templator/genTableBlock.js.map +1 -1
  534. package/out/templator/genUpdateBlock.js +13 -8
  535. package/out/templator/genUpdateBlock.js.map +1 -1
  536. package/out/templator/index.d.ts +4 -2
  537. package/out/templator/index.js +2 -2
  538. package/out/templator/index.js.map +1 -1
  539. package/out/templator/utils.d.ts +9 -2
  540. package/out/templator/utils.js +22 -22
  541. package/out/templator/utils.js.map +1 -1
  542. package/out/translator/index.js +27 -28
  543. package/out/translator/index.js.map +1 -1
  544. package/out/utils/index.d.ts +2 -1
  545. package/out/utils/index.js +8 -14
  546. package/out/utils/index.js.map +1 -1
  547. package/out/utils/logger.js.map +1 -1
  548. package/out/utils/sortTsString.js +3 -1
  549. package/out/utils/sortTsString.js.map +1 -1
  550. package/out/utils/string.js +8 -11
  551. package/out/utils/string.js.map +1 -1
  552. package/out/utils/time-slicing.d.ts +41 -0
  553. package/out/utils/time-slicing.js +81 -0
  554. package/out/utils/time-slicing.js.map +1 -0
  555. package/out/utils/traverse.js +4 -6
  556. package/out/utils/traverse.js.map +1 -1
  557. package/package.json +22 -20
  558. package/sandbox/stdlib/nasl.auth.ts +49 -46
  559. package/sandbox/stdlib/nasl.browser.ts +1 -0
  560. package/sandbox/stdlib/nasl.event.ts +4 -0
  561. package/sandbox/stdlib/nasl.http.ts +29 -31
  562. package/sandbox/stdlib/nasl.ui.definition.ts +13 -1
  563. package/sandbox/stdlib/nasl.ui.ts +11 -0
  564. package/sandbox-natural/stdlib/nasl.core.ts +36 -0
  565. package/sandbox-natural/stdlib/nasl.oql.ts +8 -0
  566. package/sandbox-natural/stdlib/nasl.ui.ts +56 -0
  567. package/sandbox-natural/stdlib/nasl.util.ts +26 -0
  568. package/sandbox-natural/tsconfig.json +12 -0
  569. package/src/automate/engine/utils.js +3 -0
  570. package/src/automate/upgrader/2.20.js +1 -1
  571. package/src/bak/translator.js +92 -99
  572. package/src/breakpoint/generator/AfterStartNode.ts +19 -17
  573. package/src/breakpoint/generator/BeforeEndNode.ts +17 -17
  574. package/src/breakpoint/generator/BreakpointNode.ts +243 -195
  575. package/src/breakpoint/generator/CallbackNode.ts +20 -0
  576. package/src/breakpoint/generator/FragmentNode.ts +14 -0
  577. package/src/breakpoint/generator/index.ts +107 -80
  578. package/src/breakpoint/shared/constants.ts +59 -53
  579. package/src/breakpoint/shared/operations.ts +6 -6
  580. package/src/breakpoint/shared/socket.ts +277 -223
  581. package/src/breakpoint/shared/utils.ts +166 -146
  582. package/src/breakpoint/store/core.ts +326 -297
  583. package/src/breakpoint/store/dock.ts +103 -103
  584. package/src/breakpoint/types/index.d.ts +11 -11
  585. package/src/common/BaseNode.ts +1103 -1020
  586. package/src/common/Command.ts +46 -16
  587. package/src/common/ComponentAPI.ts +72 -72
  588. package/src/common/EventEmitter.ts +80 -76
  589. package/src/common/Messager.ts +223 -224
  590. package/src/common/asyncFuncMap.ts +12 -12
  591. package/src/concepts/Abort__.ts +53 -60
  592. package/src/concepts/Anchor__.ts +158 -149
  593. package/src/concepts/AnonymousFunction__.ts +584 -551
  594. package/src/concepts/App__.ts +4278 -3669
  595. package/src/concepts/Argument__.ts +234 -210
  596. package/src/concepts/Assignee__.ts +680 -656
  597. package/src/concepts/AssignmentLine__.ts +80 -84
  598. package/src/concepts/Assignment__.ts +276 -264
  599. package/src/concepts/Attribute__.ts +183 -184
  600. package/src/concepts/AuthInterface__.ts +61 -63
  601. package/src/concepts/AuthLogicForCallInterface__.ts +540 -511
  602. package/src/concepts/AuthLogic__.ts +210 -194
  603. package/src/concepts/BackendVariable__.ts +414 -415
  604. package/src/concepts/Backend__.ts +317 -303
  605. package/src/concepts/BatchAssignment__.ts +987 -939
  606. package/src/concepts/BinaryExpression__.ts +370 -341
  607. package/src/concepts/BindAttribute__.ts +1056 -1011
  608. package/src/concepts/BindDirective__.ts +540 -542
  609. package/src/concepts/BindEvent__.ts +992 -866
  610. package/src/concepts/BindStyle__.ts +442 -451
  611. package/src/concepts/BooleanLiteral__.ts +89 -90
  612. package/src/concepts/CallAuthInterface__.ts +458 -433
  613. package/src/concepts/CallConnector__.ts +209 -164
  614. package/src/concepts/CallFunction__.ts +600 -600
  615. package/src/concepts/CallInterface__.ts +752 -725
  616. package/src/concepts/CallLogic__.ts +1328 -1236
  617. package/src/concepts/CallQueryComponent__.ts +1580 -1501
  618. package/src/concepts/Comment__.ts +69 -68
  619. package/src/concepts/CompletionProperty__.ts +250 -250
  620. package/src/concepts/ConfigGroup__.ts +312 -296
  621. package/src/concepts/ConfigPropertyValue__.ts +81 -82
  622. package/src/concepts/ConfigProperty__.ts +374 -357
  623. package/src/concepts/Configuration__.ts +288 -276
  624. package/src/concepts/Connection__.ts +426 -0
  625. package/src/concepts/ConnectorTrigger__.ts +146 -142
  626. package/src/concepts/Connector__.ts +1090 -1048
  627. package/src/concepts/Constant__.ts +226 -219
  628. package/src/concepts/DataElement__.ts +108 -115
  629. package/src/concepts/DataSource__.ts +508 -472
  630. package/src/concepts/DatabaseTypeAnnotation__.ts +53 -59
  631. package/src/concepts/Destination__.ts +808 -746
  632. package/src/concepts/End__.ts +85 -89
  633. package/src/concepts/EntityIndex__.ts +206 -202
  634. package/src/concepts/EntityProperty__.ts +825 -791
  635. package/src/concepts/Entity__.ts +921 -864
  636. package/src/concepts/EnumItem__.ts +133 -125
  637. package/src/concepts/Enum__.ts +347 -337
  638. package/src/concepts/Event__.ts +305 -292
  639. package/src/concepts/ExternalDestination__.ts +269 -280
  640. package/src/concepts/ForEachStatement__.ts +583 -531
  641. package/src/concepts/FrontendLibrary__.ts +507 -485
  642. package/src/concepts/FrontendVariable__.ts +44 -49
  643. package/src/concepts/Frontend__.ts +1239 -1187
  644. package/src/concepts/Function__.ts +1110 -1045
  645. package/src/concepts/Identifier__.ts +276 -272
  646. package/src/concepts/IfStatement__.ts +467 -436
  647. package/src/concepts/Integration__.ts +136 -137
  648. package/src/concepts/InterfaceParam__.ts +239 -238
  649. package/src/concepts/Interface__.ts +969 -948
  650. package/src/concepts/JSBlock__.ts +83 -83
  651. package/src/concepts/JavaLogic__.ts +101 -106
  652. package/src/concepts/LogicItem__.ts +307 -237
  653. package/src/concepts/Logic__.ts +2301 -2088
  654. package/src/concepts/MatchCase__.ts +886 -779
  655. package/src/concepts/Match__.ts +728 -659
  656. package/src/concepts/MemberExpression__.ts +330 -311
  657. package/src/concepts/MicroApp__.ts +91 -97
  658. package/src/concepts/Module__.ts +2590 -2275
  659. package/src/concepts/MsgTriggerEvent__.ts +297 -281
  660. package/src/concepts/MsgTriggerLauncher__.ts +286 -256
  661. package/src/concepts/Namespace__.ts +2579 -2466
  662. package/src/concepts/NewComposite__.ts +1487 -1350
  663. package/src/concepts/NewList__.ts +464 -450
  664. package/src/concepts/NewMap__.ts +691 -674
  665. package/src/concepts/New__.ts +42 -49
  666. package/src/concepts/NullLiteral__.ts +66 -72
  667. package/src/concepts/NumericLiteral__.ts +169 -169
  668. package/src/concepts/OqlQueryComponent__.ts +282 -279
  669. package/src/concepts/OverriddenLogic__.ts +2142 -2097
  670. package/src/concepts/Param__.ts +500 -442
  671. package/src/concepts/Point__.ts +53 -59
  672. package/src/concepts/ProcessComponent__.ts +497 -475
  673. package/src/concepts/ProcessElement__.ts +1852 -1780
  674. package/src/concepts/ProcessOutcome__.ts +59 -64
  675. package/src/concepts/ProcessOutcomes__.ts +59 -64
  676. package/src/concepts/Process__.ts +1491 -1428
  677. package/src/concepts/QueryAggregateExpression__.ts +135 -142
  678. package/src/concepts/QueryFieldExpression__.ts +138 -142
  679. package/src/concepts/QueryFromExpression__.ts +246 -254
  680. package/src/concepts/QueryGroupByExpression__.ts +130 -136
  681. package/src/concepts/QueryJoinExpression__.ts +441 -438
  682. package/src/concepts/QueryLimitExpression__.ts +159 -166
  683. package/src/concepts/QueryOrderByExpression__.ts +173 -180
  684. package/src/concepts/QuerySelectExpression__.ts +464 -439
  685. package/src/concepts/Rect__.ts +73 -79
  686. package/src/concepts/Return__.ts +366 -345
  687. package/src/concepts/Role__.ts +146 -147
  688. package/src/concepts/SelectMembers__.ts +358 -350
  689. package/src/concepts/Slot__.ts +152 -153
  690. package/src/concepts/SqlQueryComponent__.ts +230 -228
  691. package/src/concepts/Start__.ts +45 -52
  692. package/src/concepts/StringInterpolation__.ts +323 -296
  693. package/src/concepts/StringLiteral__.ts +113 -115
  694. package/src/concepts/StructureProperty__.ts +306 -295
  695. package/src/concepts/Structure__.ts +615 -578
  696. package/src/concepts/SwitchCase__.ts +326 -290
  697. package/src/concepts/SwitchStatement__.ts +236 -229
  698. package/src/concepts/Theme__.ts +64 -68
  699. package/src/concepts/Transactional__.ts +159 -153
  700. package/src/concepts/TriggerEvent__.ts +285 -274
  701. package/src/concepts/TriggerLauncher__.ts +232 -196
  702. package/src/concepts/TypeAnnotation__.ts +1049 -1011
  703. package/src/concepts/TypeParam__.ts +48 -50
  704. package/src/concepts/UnaryExpression__.ts +163 -153
  705. package/src/concepts/Unparsed__.ts +81 -82
  706. package/src/concepts/UseComponent__.ts +53 -59
  707. package/src/concepts/ValidationRule__.ts +524 -544
  708. package/src/concepts/Variable__.ts +419 -397
  709. package/src/concepts/ViewBlock__.ts +58 -64
  710. package/src/concepts/ViewComponent__.ts +1323 -1261
  711. package/src/concepts/ViewElement__.ts +2537 -2351
  712. package/src/concepts/View__.ts +2461 -2245
  713. package/src/concepts/WhileStatement__.ts +293 -272
  714. package/src/concepts/basics/stdlib/index.ts +17 -1
  715. package/src/concepts/basics/stdlib/nasl.browser.ts +36 -0
  716. package/src/concepts/basics/stdlib/nasl.event.ts +18 -0
  717. package/src/concepts/basics/stdlib/nasl.ui.ts +45 -0
  718. package/src/concepts/basics/stdlib/nasl.util.ts +6 -22
  719. package/src/concepts/index__.ts +2 -1
  720. package/src/concepts/types__.ts +123 -121
  721. package/src/decorators/index.ts +75 -77
  722. package/src/decorators/promise.ts +28 -0
  723. package/src/enums/KEYWORDS.ts +1228 -1228
  724. package/src/enums/LEVEL_NAME_MAP.ts +24 -24
  725. package/src/generator/compileComponent.ts +10 -10
  726. package/src/generator/genBundleFiles.ts +300 -291
  727. package/src/generator/genHash.ts +2 -2
  728. package/src/generator/genMetaData.ts +280 -261
  729. package/src/generator/genReleaseBody.ts +312 -291
  730. package/src/generator/icestark.ts +1 -1
  731. package/src/generator/microApp.ts +17 -20
  732. package/src/generator/permission.ts +241 -232
  733. package/src/generator/qiankun.ts +1 -1
  734. package/src/generator/styleReplacer.ts +28 -31
  735. package/src/index.ts +0 -3
  736. package/src/manager/diagnostic.ts +84 -82
  737. package/src/manager/stepRecorder.ts +106 -94
  738. package/src/natural/RequirementAnalyzer.ts +208 -0
  739. package/src/natural/RequirementExecutor.ts +685 -0
  740. package/src/natural/componentData.ts +81 -0
  741. package/src/natural/genNaturalTS.ts +77 -0
  742. package/src/natural/index.ts +4 -0
  743. package/src/natural/knowledgeMap.ts +39 -0
  744. package/src/natural/naslStdlibMap.ts +24 -0
  745. package/src/natural/transformTSCode.ts +692 -0
  746. package/src/sentry/index.ts +109 -104
  747. package/src/server/createUiTs.ts +190 -184
  748. package/src/server/entity2LogicNamespace.ts +379 -359
  749. package/src/server/event.js +145 -121
  750. package/src/server/extendBaseNode.ts +461 -456
  751. package/src/server/formatTsUtils.ts +712 -713
  752. package/src/server/getConnector.ts +33 -33
  753. package/src/server/getExtensionModules.ts +23 -22
  754. package/src/server/getFunctions.ts +6 -6
  755. package/src/server/getInterfaces.ts +38 -37
  756. package/src/server/getLogging.ts +1 -1
  757. package/src/server/getLogics.ts +391 -312
  758. package/src/server/getMemberIdentifier.ts +286 -281
  759. package/src/server/getProcessComponents.ts +2 -2
  760. package/src/server/getProcesses.ts +548 -534
  761. package/src/server/getScope.ts +51 -51
  762. package/src/server/getValidates.ts +3 -3
  763. package/src/server/index.ts +29 -30
  764. package/src/server/naslServer.ts +4303 -4222
  765. package/src/server/naslStdlibMap.ts +43 -39
  766. package/src/server/process2LogicNamespace.ts +97 -97
  767. package/src/server/translator.ts +740 -746
  768. package/src/service/storage/init.ts +761 -728
  769. package/src/templator/genCallComponentLogic.ts +14 -15
  770. package/src/templator/genCreateBlock.ts +257 -229
  771. package/src/templator/genCurdEditMultipleKeyBlock.ts +333 -317
  772. package/src/templator/genCurdMultipleKeyBlock.ts +503 -475
  773. package/src/templator/genEditTableBlock.ts +194 -187
  774. package/src/templator/genEnumSelectBlock.ts +13 -7
  775. package/src/templator/genGetBlock.ts +57 -55
  776. package/src/templator/genGridViewBlock.ts +195 -211
  777. package/src/templator/genListViewBlock.ts +62 -72
  778. package/src/templator/genQueryComponent.ts +337 -287
  779. package/src/templator/genSelectBlock.ts +283 -297
  780. package/src/templator/genTableBlock.ts +160 -166
  781. package/src/templator/genUpdateBlock.ts +269 -255
  782. package/src/templator/index.ts +4 -4
  783. package/src/templator/utils.ts +491 -463
  784. package/src/translator/index.ts +84 -84
  785. package/src/translator/lsp.ts +22 -22
  786. package/src/translator/tsp.ts +6 -6
  787. package/src/utils/index.ts +115 -117
  788. package/src/utils/logger.ts +3 -4
  789. package/src/utils/sortTsString.ts +34 -32
  790. package/src/utils/string.ts +47 -48
  791. package/src/utils/time-slicing.ts +109 -0
  792. package/src/utils/traverse.ts +114 -126
  793. package/test/concepts/call-interface/__snapshots__/toEmbeddedTS.spec.ts.snap +71 -0
  794. package/test/concepts/call-interface/__snapshots__/toJS.spec.ts.snap +140 -0
  795. package/test/concepts/call-interface/constant.ts +5 -0
  796. package/test/concepts/call-interface/fixtures/only-interface.json +158 -0
  797. package/test/concepts/call-interface/fixtures/with-body-complex-argument.json +455 -0
  798. package/test/concepts/call-interface/fixtures/with-body-no-argument.json +187 -0
  799. package/test/concepts/call-interface/fixtures/with-body-simple-argument.json +225 -0
  800. package/test/concepts/call-interface/fixtures/with-headers-no-argument.json +213 -0
  801. package/test/concepts/call-interface/fixtures/with-headers.json +192 -0
  802. package/test/concepts/call-interface/fixtures/with-query-no-argument.json +213 -0
  803. package/test/concepts/call-interface/fixtures/with-query.json +192 -0
  804. package/test/concepts/call-interface/toEmbeddedTS.spec.ts +14 -0
  805. package/test/concepts/call-interface/toJS.spec.ts +14 -0
  806. package/test/concepts/call-logic/__snapshots__/toEmbeddedTS.spec.ts.snap +74 -0
  807. package/test/concepts/call-logic/__snapshots__/toJS.spec.ts.snap +141 -0
  808. package/test/concepts/call-logic/constant.ts +5 -0
  809. package/test/concepts/call-logic/fixtures/entries-get-with-arguments.json +223 -0
  810. package/test/concepts/call-logic/fixtures/entries-update-with-arguments.json +359 -0
  811. package/test/concepts/call-logic/fixtures/global-logic-argument-no-expression.json +209 -0
  812. package/test/concepts/call-logic/fixtures/global-logic-argument-some-expression.json +311 -0
  813. package/test/concepts/call-logic/fixtures/only-call-logic.json +10 -0
  814. package/test/concepts/call-logic/fixtures/view-buildin-logic-with-argument.json +128 -0
  815. package/test/concepts/call-logic/fixtures/view-component-logic-no-argument.json +126 -0
  816. package/test/concepts/call-logic/fixtures/view-component-with-validation.json +244 -0
  817. package/test/concepts/call-logic/toEmbeddedTS.spec.ts +14 -0
  818. package/test/concepts/call-logic/toJS.spec.ts +14 -0
  819. package/test/concepts/match/__snapshots__/toEmbeddedTS.spec.ts.snap +66 -0
  820. package/test/concepts/match/__snapshots__/toJS.spec.ts.snap +40 -0
  821. package/test/concepts/match/constant.ts +5 -0
  822. package/test/concepts/match/fixtures/isExpression.json +259 -0
  823. package/test/concepts/match/fixtures/lastBodyIf.json +268 -0
  824. package/test/concepts/match/fixtures/noExpression.json +176 -0
  825. package/test/concepts/match/toEmbeddedTS.spec.ts +14 -0
  826. package/test/concepts/match/toJS.spec.ts +14 -0
  827. package/test/concepts/utils.ts +76 -3
  828. package/test/concepts/validation-rule/__snapshots__/toEmbeddedTS.spec.ts.snap +3 -3
  829. package/test/concepts/validation-rule/__snapshots__/toJS.spec.ts.snap +16 -0
  830. package/test/concepts/validation-rule/constant.ts +5 -0
  831. package/test/concepts/validation-rule/toEmbeddedTS.spec.ts +10 -17
  832. package/test/concepts/validation-rule/toJS.spec.ts +14 -0
  833. package/test/concepts/view-element/__snapshots__/toEmbeddedTS.spec.ts.snap +68 -0
  834. package/test/concepts/view-element/__snapshots__/toVue.spec.ts.snap +44 -0
  835. package/test/concepts/view-element/constant.ts +5 -0
  836. package/test/concepts/view-element/fixtures/default-not-found.json +322 -0
  837. package/test/concepts/view-element/toEmbeddedTS.spec.ts +14 -0
  838. package/test/concepts/view-element/toVue.spec.ts +14 -0
  839. package/test/setup.ts +7 -0
  840. package/ts-worker/src/index.js +0 -2
  841. package/tsconfig.json +21 -21
  842. package/bin/naslc +0 -3
@@ -39,11 +39,42 @@ const uuid_1 = require("uuid");
39
39
  const map_1 = require("../service/storage/map");
40
40
  const EventEmitter_1 = require("./EventEmitter");
41
41
  const utils = __importStar(require("../utils"));
42
- const classMap_1 = __importDefault(require("../common/classMap"));
42
+ const classMap_1 = __importDefault(require("./classMap"));
43
43
  const decorators_1 = require("../decorators");
44
- const __1 = require("..");
45
44
  const sentry_1 = require("../sentry");
46
45
  const operations_1 = __importDefault(require("../breakpoint/shared/operations"));
46
+ // 确保属性都是定义过的
47
+ function ensureDefined(object, concept) {
48
+ if (!object) {
49
+ return object;
50
+ }
51
+ const newObject = {};
52
+ const actualConcept = object?.concept || concept;
53
+ if (actualConcept) {
54
+ const propertyMap = (0, decorators_1.getConceptPropertyMap)(actualConcept);
55
+ for (const key in object) {
56
+ const property = propertyMap.get(key);
57
+ if (property) {
58
+ const objProperty = object[key] ?? null;
59
+ const propertyConcept = property?.objectRef;
60
+ if (propertyConcept) {
61
+ if (Array.isArray(objProperty)) {
62
+ newObject[key] = objProperty.map((objItem) => {
63
+ return ensureDefined(objItem, propertyConcept);
64
+ });
65
+ }
66
+ else {
67
+ newObject[key] = ensureDefined(objProperty, propertyConcept);
68
+ }
69
+ }
70
+ else {
71
+ newObject[key] = objProperty;
72
+ }
73
+ }
74
+ }
75
+ }
76
+ return newObject;
77
+ }
47
78
  /**
48
79
  * 顶点类
49
80
  * 属性均为只读,仅在初始化和 load 的情况下可以修改
@@ -192,12 +223,16 @@ let BaseNode = BaseNode_1 = class BaseNode extends EventEmitter_1.EventEmitter {
192
223
  subConstructor(source) {
193
224
  const propertyMap = (0, decorators_1.getConceptPropertyMap)(this.getClassName() || this.constructor.name);
194
225
  const properties = Array.from(new Set([...Object.keys(this), ...Object.keys(source)])).filter((key) => propertyMap.has(key));
226
+ // 测试时用的标记属性
227
+ if (process.env.NODE_ENV === 'testing') {
228
+ properties.push('__$Selected');
229
+ }
195
230
  properties.forEach((key) => {
196
231
  const property = propertyMap.get(key);
197
232
  const sourceItem = source[key] !== undefined ? source[key] : this[key];
198
233
  let objectRefCtor;
199
234
  try {
200
- if (property.objectRef) {
235
+ if (property?.objectRef) {
201
236
  const arr = property.objectRef.split(' | ');
202
237
  for (let i = 0; i < arr.length; i++) {
203
238
  objectRefCtor = (0, decorators_1.getConceptConstructor)(arr[i]);
@@ -209,7 +244,8 @@ let BaseNode = BaseNode_1 = class BaseNode extends EventEmitter_1.EventEmitter {
209
244
  }
210
245
  }
211
246
  // 数组的情况也在这里做掉了
212
- this[key] = objectRefCtor && sourceItem && !(sourceItem instanceof objectRefCtor) ? this.instantiateSub(sourceItem, key) : sourceItem;
247
+ this[key] =
248
+ objectRefCtor && sourceItem && !(sourceItem instanceof objectRefCtor) ? this.instantiateSub(sourceItem, key) : sourceItem;
213
249
  }
214
250
  catch (e) {
215
251
  // Function has non-object prototype 'undefined' in instanceof check
@@ -265,24 +301,22 @@ let BaseNode = BaseNode_1 = class BaseNode extends EventEmitter_1.EventEmitter {
265
301
  }
266
302
  });
267
303
  }
304
+ else if (sourceItem instanceof objectRefCtor) {
305
+ sourceItem.parentNode = this;
306
+ sourceItem.parentKey = key;
307
+ sourceItem.fixInstantiate();
308
+ }
268
309
  else {
269
- if (sourceItem instanceof objectRefCtor) {
270
- sourceItem.parentNode = this;
271
- sourceItem.parentKey = key;
272
- sourceItem.fixInstantiate();
273
- }
274
- else {
275
- this[key] = this.instantiateSub(sourceItem instanceof BaseNode_1 ? sourceItem.toJSON() : sourceItem, key);
276
- }
310
+ this[key] = this.instantiateSub(sourceItem instanceof BaseNode_1 ? sourceItem.toJSON() : sourceItem, key);
277
311
  }
278
312
  }
279
313
  });
280
314
  }
281
315
  getIndexOfParent() {
282
316
  let index = -1;
283
- const parentNode = this.parentNode;
317
+ const { parentNode } = this;
284
318
  if (parentNode) {
285
- const parentKey = this.parentKey;
319
+ const { parentKey } = this;
286
320
  const parentProperty = parentNode[parentKey];
287
321
  if (Array.isArray(parentProperty)) {
288
322
  index = parentProperty.indexOf(this);
@@ -408,7 +442,7 @@ let BaseNode = BaseNode_1 = class BaseNode extends EventEmitter_1.EventEmitter {
408
442
  node.delete();
409
443
  return;
410
444
  }
411
- else if (this.concept === 'SelectMembers') {
445
+ if (this.concept === 'SelectMembers') {
412
446
  const node = this.parentNode;
413
447
  node.changeLinesLocation(this);
414
448
  }
@@ -443,7 +477,6 @@ let BaseNode = BaseNode_1 = class BaseNode extends EventEmitter_1.EventEmitter {
443
477
  * 更新节点
444
478
  */
445
479
  update({ field, ...object }) {
446
- // const useIndexKeys = ['Module'];
447
480
  const path = this.getNodePath(false);
448
481
  const oldObject = {};
449
482
  for (const key in object) {
@@ -480,10 +513,32 @@ let BaseNode = BaseNode_1 = class BaseNode extends EventEmitter_1.EventEmitter {
480
513
  }
481
514
  }
482
515
  }
516
+ const newObject = {};
517
+ const propertyMap = (0, decorators_1.getConceptPropertyMap)(this.getClassName() || this.constructor.name);
518
+ for (const key in object) {
519
+ const property = propertyMap.get(key);
520
+ if (property) {
521
+ const objProperty = object[key] ?? null;
522
+ const propertyConcept = property?.objectRef;
523
+ if (propertyConcept) {
524
+ if (Array.isArray(objProperty)) {
525
+ newObject[key] = objProperty.map((objItem) => {
526
+ return ensureDefined(objItem, propertyConcept);
527
+ });
528
+ }
529
+ else {
530
+ newObject[key] = ensureDefined(objProperty, propertyConcept);
531
+ }
532
+ }
533
+ else {
534
+ newObject[key] = objProperty;
535
+ }
536
+ }
537
+ }
483
538
  this.emit('update', {
484
539
  action: 'update',
485
540
  path,
486
- object,
541
+ object: newObject,
487
542
  oldObject,
488
543
  field,
489
544
  });
@@ -539,14 +594,21 @@ let BaseNode = BaseNode_1 = class BaseNode extends EventEmitter_1.EventEmitter {
539
594
  const pathArr = [];
540
595
  while (node) {
541
596
  let path = '';
542
- const parentNode = node.parentNode;
597
+ const { parentNode } = node;
543
598
  if (parentNode) {
544
- const parentKey = node.parentKey;
599
+ const { parentKey } = node;
545
600
  path = parentKey;
546
601
  const parentProperty = parentNode[parentKey];
547
602
  if (Array.isArray(parentProperty)) {
548
- const name = node.name;
549
- if (!name || (useIndex && isNodeSelf) || useIndexKeys.includes(node.concept)) {
603
+ const { name } = node;
604
+ // 如果存在同名节点,使用下标来表示NodePath
605
+ const siblingNode = name
606
+ ? parentProperty.find((child) => {
607
+ // 因为proxy的关系,导致两边的引用不相同,所以这里需要判断id
608
+ return child?.name === name && child !== node && child?.id !== node?.id;
609
+ })
610
+ : null;
611
+ if (siblingNode || !name || (useIndex && isNodeSelf) || useIndexKeys.includes(node.concept)) {
550
612
  const index = parentProperty.indexOf(node);
551
613
  path += `[${index}]`;
552
614
  }
@@ -580,7 +642,7 @@ let BaseNode = BaseNode_1 = class BaseNode extends EventEmitter_1.EventEmitter {
580
642
  return this.getAncestor('App');
581
643
  }
582
644
  getAncestor(concept) {
583
- let upperNode = this.upperNode;
645
+ let { upperNode } = this;
584
646
  while (upperNode && upperNode.concept && upperNode.concept !== concept) {
585
647
  upperNode = upperNode.upperNode;
586
648
  }
@@ -607,7 +669,7 @@ let BaseNode = BaseNode_1 = class BaseNode extends EventEmitter_1.EventEmitter {
607
669
  // 匹配所有特殊字符都转为_
608
670
  tsName = tsName.replace(/\W/g, '_');
609
671
  if (/^\d/.test(tsName)) {
610
- tsName = '$' + tsName;
672
+ tsName = `$${tsName}`;
611
673
  }
612
674
  return tsName;
613
675
  }
@@ -625,9 +687,7 @@ let BaseNode = BaseNode_1 = class BaseNode extends EventEmitter_1.EventEmitter {
625
687
  if (Array.isArray(instance)) {
626
688
  return instance.map((item) => (item && item._toJSON ? item._toJSON(filerFn) : item));
627
689
  }
628
- else {
629
- return instance && instance._toJSON ? instance._toJSON(filerFn) : instance;
630
- }
690
+ return instance && instance._toJSON ? instance._toJSON(filerFn) : instance;
631
691
  }
632
692
  /**
633
693
  * 实例化一个 JSON
@@ -644,16 +704,14 @@ let BaseNode = BaseNode_1 = class BaseNode extends EventEmitter_1.EventEmitter {
644
704
  }
645
705
  return source;
646
706
  }
647
- else if (source && source.concept && classMap_1.default[source.concept]) {
707
+ if (source && source.concept && classMap_1.default[source.concept]) {
648
708
  const Ctor = classMap_1.default[source.concept];
649
709
  const instance = Ctor.from(source, parentNode, parentKey);
650
710
  if (instance && instance.toStorageJSON)
651
711
  instance.storageJSON = instance.toStorageJSON();
652
712
  return instance;
653
713
  }
654
- else {
655
- return source;
656
- }
714
+ return source;
657
715
  }
658
716
  /**
659
717
  * 激活 JSON 内部实例
@@ -679,7 +737,7 @@ let BaseNode = BaseNode_1 = class BaseNode extends EventEmitter_1.EventEmitter {
679
737
  if (isArray) {
680
738
  return instanceList;
681
739
  }
682
- else if (Array.isArray(instanceList) && instanceList.length) {
740
+ if (Array.isArray(instanceList) && instanceList.length) {
683
741
  return instanceList[0];
684
742
  }
685
743
  }
@@ -782,7 +840,7 @@ let BaseNode = BaseNode_1 = class BaseNode extends EventEmitter_1.EventEmitter {
782
840
  /**
783
841
  * 重命名
784
842
  */
785
- async changeName(newValue) {
843
+ async changeName(newValue, updateAll = false) {
786
844
  /* override */
787
845
  }
788
846
  /**
@@ -820,7 +878,7 @@ let BaseNode = BaseNode_1 = class BaseNode extends EventEmitter_1.EventEmitter {
820
878
  // });
821
879
  }
822
880
  onChange($event) {
823
- /* override */
881
+ this.emit('change', $event);
824
882
  }
825
883
  onCreate($event) {
826
884
  /* override */
@@ -887,7 +945,7 @@ let BaseNode = BaseNode_1 = class BaseNode extends EventEmitter_1.EventEmitter {
887
945
  replaceNode(newNode) {
888
946
  const oldNode = this;
889
947
  const { parentNode, parentKey, offsetX, offsetY, app } = oldNode;
890
- const logic = oldNode.logic;
948
+ const { logic } = oldNode;
891
949
  if (!Array.isArray(parentNode[parentKey])) {
892
950
  /**
893
951
  * match切换分支,需要调用setExpressionWitchCase,补全分支的信息
@@ -968,14 +1026,12 @@ let BaseNode = BaseNode_1 = class BaseNode extends EventEmitter_1.EventEmitter {
968
1026
  */
969
1027
  getCurrentSource() {
970
1028
  const node = this;
971
- let sourceMap = node.sourceMap;
1029
+ let { sourceMap } = node;
972
1030
  let fileNode = node;
973
1031
  // 如果没有sourceMap,就继续向上找 ,或者到module结束
974
1032
  // 如果 节点找到 app 或者module 停止 或者entity找到DataSource为止
975
1033
  // 如果当前节点是view就不要向上查找了
976
- while (!sourceMap
977
- && fileNode
978
- && !(fileNode.parentNode instanceof __1.App)) {
1034
+ while (!sourceMap && fileNode && !(fileNode.parentNode.concept === 'App')) {
979
1035
  fileNode = fileNode.parentNode;
980
1036
  sourceMap = fileNode?.sourceMap;
981
1037
  }
@@ -991,33 +1047,34 @@ let BaseNode = BaseNode_1 = class BaseNode extends EventEmitter_1.EventEmitter {
991
1047
  */
992
1048
  getFileConceptNode(concept) {
993
1049
  const node = this;
994
- let sourceMap = node.sourceMap;
1050
+ let { sourceMap } = node;
995
1051
  let fileNode = node;
996
1052
  // 如果没有sourceMap,就继续向上找 ,或者到module结束
997
1053
  // 如果 节点找到 app 或者module 停止 或者entity找到DataSource为止
998
1054
  // 如果当前节点是view就不要向上查找了
999
- while (!sourceMap
1000
- && fileNode
1001
- && !(fileNode.parentNode instanceof __1.App)) {
1055
+ while (!sourceMap && fileNode && !(fileNode.parentNode.concept === 'App')) {
1002
1056
  fileNode = fileNode.parentNode;
1003
1057
  sourceMap = fileNode?.sourceMap;
1004
1058
  }
1005
1059
  const arr = [];
1006
- sourceMap && sourceMap.forEach((value, key) => {
1007
- if (key.concept === concept)
1008
- arr.push({ key, value });
1009
- });
1060
+ sourceMap &&
1061
+ sourceMap.forEach((value, key) => {
1062
+ if (key.concept === concept)
1063
+ arr.push({ key, value });
1064
+ });
1010
1065
  return arr;
1011
1066
  }
1012
1067
  get isTreeLeaf() {
1013
- if (this.concept === 'EntityProperty' || this.concept === 'InterfaceParam' || this.concept === 'Param'
1014
- || this.concept === 'Return' || this.concept === 'StructureProperty' || this.concept === 'Variable') {
1068
+ if (this.concept === 'EntityProperty' ||
1069
+ this.concept === 'InterfaceParam' ||
1070
+ this.concept === 'Param' ||
1071
+ this.concept === 'Return' ||
1072
+ this.concept === 'StructureProperty' ||
1073
+ this.concept === 'Variable') {
1015
1074
  if (this.typeAnnotation || (this.__TypeAnnotation && this.parentKey === 'virtualParams')) {
1016
1075
  return !this.hasChildren;
1017
1076
  }
1018
- else {
1019
- return true;
1020
- }
1077
+ return true;
1021
1078
  }
1022
1079
  return false;
1023
1080
  }
@@ -1030,10 +1087,10 @@ let BaseNode = BaseNode_1 = class BaseNode extends EventEmitter_1.EventEmitter {
1030
1087
  return null;
1031
1088
  return [{}];
1032
1089
  }
1033
- else if (typeNamespace === 'nasl.core' && ['String', 'Text', 'Email'].includes(typeName)) {
1090
+ if (typeNamespace === 'nasl.core' && ['String', 'Text', 'Email'].includes(typeName)) {
1034
1091
  return [{}];
1035
1092
  }
1036
- else if (typeKind === 'anonymousStructure' && properties?.length) {
1093
+ if (typeKind === 'anonymousStructure' && properties?.length) {
1037
1094
  return [{}];
1038
1095
  }
1039
1096
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"BaseNode.js","sourceRoot":"","sources":["../../src/common/BaseNode.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mCAA4B;AAC5B,+BAAoC;AAKpC,gDAA0D;AAG1D,iDAAoE;AACpE,gDAAkC;AAClC,kEAA0C;AAC1C,8CAAyH;AAEzH,0BAAsD;AAGtD,sCAAkD;AAClD,iFAAyD;AAGzD;;;GAGG;AAEH,IAAa,QAAQ,gBAArB,MAAa,QAAS,SAAQ,2BAAY;IACtC;;;OAGG;IAEH,QAAQ,GAAG,IAAI,CAAC;IAChB;;OAEG;IAEH,OAAO,GAAW,SAAS,CAAC;IAC5B;;OAEG;IACM,kBAAkB,CAAc;IACzC;;OAEG;IACH,EAAE,GAAW,IAAA,SAAM,GAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACxC;;OAEG;IAEH,WAAW,GAAW,SAAS,CAAC;IAChC;;OAEG;IAEH,UAAU,GAAW,SAAS,CAAC;IAC/B;;OAEG;IAEH,WAAW,GAAW,SAAS,CAAC;IAEhC,MAAM,GAAW,SAAS,CAAC;IAC3B;;;;;;OAMG;IAEH,UAAU,GAA8C,SAAS,CAAC;IAClE;;OAEG;IAEH,UAAU,GAAe,IAAI,CAAC;IAE9B,SAAS,GAAW,EAAE,CAAC;IACvB;;;OAGG;IAEH,QAAQ,GAAY,SAAS,CAAC;IAC9B;;;OAGG;IAEH,SAAS,GAAY,SAAS,CAAC;IAC/B;;;OAGG;IAEH,OAAO,GAAY,KAAK,CAAC;IACzB;;;OAGG;IAEH,OAAO,GAAY,KAAK,CAAC;IACzB;;;OAGG;IAEH,QAAQ,GAAY,KAAK,CAAC;IAC1B;;;OAGG;IAEH,MAAM,GAAY,KAAK,CAAC;IACxB;;;OAGG;IAEH,kBAAkB,GAAY,KAAK,CAAC;IACpC;;;OAGG;IAEH,mBAAmB,GAAY,KAAK,CAAC;IACrC;;;OAGG;IAEH,kBAAkB,GAAY,KAAK,CAAC;IACpC;;;OAGG;IAEH,qBAAqB,GAAY,KAAK,CAAC;IACvC;;OAEG;IAEH,SAAS,GAAc,SAAS,CAAC;IACjC;;;OAGG;IAEH,MAAM,GAAY,KAAK,CAAC;IAExB,WAAW,CAAM;IACjB;;OAEG;IACH,aAAa,GAA2B,SAAS,CAAC;IAGlD,IAAI,GAAW,EAAE,CAAC;IAElB;;OAEG;IAEH,gBAAgB,GAAmB,SAAS,CAAC;IAC7C;;OAEG;IAEH,yBAAyB,GAAY,KAAK,CAAC;IAC3C;;OAEG;IACH,YAAY,MAA0B;QAClC,KAAK,EAAE,CAAC;QACR,IAAI,IAAI,CAAC,cAAc,CAAC,oBAAoB,CAAC,IAAI,IAAI,CAAC,kBAAkB,KAAK,SAAS;YAClF,OAAQ,IAAY,CAAC,kBAAkB,CAAC;QAC5C;;WAEG;QACH,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC1C,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC1C,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAE1C;;WAEG;QACH,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,oBAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QACjD,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,oBAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QACjD,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,oBAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IACrD,CAAC;IAED,sCAAsC;IACtC,YAAY;QACR,OAAO,UAAU,CAAC;IACtB,CAAC;IACD,cAAc,CAAC,MAA0B;QACrC,MAAM,WAAW,GAAG,IAAA,kCAAqB,EAAC,IAAI,CAAC,YAAY,EAAE,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACxF,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAC7H,UAAU,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACvB,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACtC,MAAM,UAAU,GAAI,MAAc,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC,CAAC,CAAE,MAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,IAAY,CAAC,GAAG,CAAC,CAAC;YAClG,IAAI,aAAkB,CAAC;YACvB,IAAI;gBACA,IAAI,QAAQ,CAAC,SAAS,EAAE;oBACpB,MAAM,GAAG,GAAG,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBACjC,aAAa,GAAG,IAAA,kCAAqB,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC9C,IAAI,UAAU,YAAY,aAAa,EAAE;4BACrC,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC;4BAC7B,UAAU,CAAC,SAAS,GAAG,GAAG,CAAC;4BAC3B,MAAM;yBACT;qBACJ;iBACJ;gBACD,eAAe;gBACd,IAAY,CAAC,GAAG,CAAC,GAAG,aAAa,IAAI,UAAU,IAAI,CAAC,CAAC,UAAU,YAAY,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;aAClJ;YAAC,OAAO,CAAC,EAAE;gBACR,oEAAoE;gBACpE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,mCAAmC,CAAC;oBACxD,MAAM,CAAC,CAAC;aACf;QACL,CAAC,CAAC,CAAC;QACH,oBAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACxB,0FAA0F;QAC1F,+EAA+E;QAC/E,iEAAiE;QACjE,yDAAyD;QACzD,mBAAmB;QACnB,oBAAoB;QACpB,kGAAkG;QAClG,aAAa;QACb,UAAU;QACV,qBAAqB;QACrB,wBAAwB;QACxB,+BAA+B;QAC/B,yBAAyB;QACzB,uDAAuD;QACvD,iBAAiB;QACjB,aAAa;QACb,+BAA+B;QAC/B,iEAAiE;QACjE,gEAAgE;QAChE,4GAA4G;QAC5G,8BAA8B;QAC9B,oBAAoB;QACpB,wEAAwE;QACxE,8GAA8G;QAC9G,mBAAmB;QACnB,IAAI;IACR,CAAC;IAED,cAAc;QACV,MAAM,WAAW,GAAG,IAAA,kCAAqB,EAAC,IAAI,CAAC,YAAY,EAAE,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAExF,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3E,UAAU,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACvB,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACtC,MAAM,UAAU,GAAI,IAAY,CAAC,GAAG,CAAC,CAAC;YACtC,MAAM,aAAa,GAAG,QAAQ,CAAC,SAAS,IAAI,IAAA,kCAAqB,EAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YACtF,IAAI,aAAa,EAAE;gBACf,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;oBAC3B,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;wBAC/B,IAAI,IAAI,YAAY,aAAa,EAAE;4BAC/B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;4BACvB,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;4BACrB,IAAI,CAAC,cAAc,EAAE,CAAC;yBACzB;6BAAM;4BACH,UAAU,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,YAAY,UAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;yBACjG;oBACL,CAAC,CAAC,CAAC;iBACN;qBAAM;oBACH,IAAI,UAAU,YAAY,aAAa,EAAE;wBACrC,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC;wBAC7B,UAAU,CAAC,SAAS,GAAG,GAAG,CAAC;wBAC3B,UAAU,CAAC,cAAc,EAAE,CAAC;qBAC/B;yBAAM;wBACF,IAAY,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,YAAY,UAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;qBACpH;iBACJ;aACJ;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,gBAAgB;QACZ,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC;QACf,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACnC,IAAI,UAAU,EAAE;YACZ,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YACjC,MAAM,cAAc,GAAI,UAAkB,CAAC,SAAS,CAAC,CAAC;YACtD,IAAI,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE;gBAC/B,KAAK,GAAG,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;aACxC;SACJ;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;;;OAIG;IACH,iBAAiB,CAAC,MAAoB;QAClC,uBAAuB;QACvB,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;YACnB,MAAM,CAAC,SAAS,GAAG,EAAE,CAAC;SACzB;QACD,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;YACnB,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SACjC;QACD,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC;QAClD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACtB,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,EAAE;YACxB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;SAChC;aAAM,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE;YAChD,MAAM,KAAK,GAAiB;gBACxB,MAAM,EAAE,QAAQ;gBAChB,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,KAAK,CAAC;gBACzC,MAAM,EAAE,EAAE;gBACV,SAAS,EAAE,EAAE;gBACb,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,iDAAiD;gBACjD,SAAS,EAAE,IAAI;aAClB,CAAC;YACF,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;SAC1C;IACL,CAAC;IAED,UAAU,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAgE;QACrG,IAAI,UAAU,EAAE;YACZ,MAAM,QAAQ,GAAG,UAAU,CAAC,SAA6B,CAAC,CAAC;YAC3D,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;gBACzC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;aACnC;iBAAM;gBACF,UAAkB,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;aACzC;YACD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;YAC7B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;YAC3B,IAAI,CAAC,MAAM,CAAC;gBACR,KAAK;gBACL,SAAS;aACZ,CAAC,CAAC;SACN;IACL,CAAC;IAED,cAAc;QACV,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YAC3B,OAAO,MAAM,CAAC,EAAE,CAAC;YACjB,OAAO,MAAM,CAAC;QAClB,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,YAAoB;QACvB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAChB,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;YAC5B,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;YACrB,GAAG,YAAY;YACf,SAAS,EAAE,IAAI;SAClB,CAAC,CAAC;IACP,CAAC;IAED;;OAEG;IACH,YAAY;QACR,uBAAuB;QACvB,IAAI,IAAI,CAAC,UAAU,EAAE,OAAO,KAAK,eAAe,EAAE;YAC9C,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC;YAC/B,OAAO;SACV;QAED,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,SAAS,EAAE;YACnC,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YACrC,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YACpC,IAAI,YAAY,IAAI,YAAY,CAAC,KAAK,KAAK,CAAC,CAAC,EAAE;gBAC3C,IAAI,KAAK,CAAC,OAAO,CAAE,IAAI,CAAC,UAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE;oBACzD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;wBAChB,MAAM,EAAE,QAAQ;wBAChB,IAAI;wBACJ,MAAM,EAAE,IAAI;wBACZ,GAAG,YAAY;qBAClB,CAAC,CAAC;iBACN;qBAAM;oBACH,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;oBACtD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE;wBAC3B,MAAM,EAAE,QAAQ;wBAChB,IAAI,EAAE,UAAU;wBAChB,MAAM,EAAE;4BACJ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI;yBACzB;wBACD,SAAS,EAAE;4BACP,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE;yBAClC;qBACJ,CAAC,CAAC;iBACN;aACJ;SACJ;IACL,CAAC;IAED;;OAEG;IACH,MAAM;QACF,IAAI,IAAI,CAAC,UAAU,EAAE,OAAO,KAAK,OAAO,IAAI,IAAI,CAAC,SAAS,KAAK,YAAY,EAAE;YACxE,IAAI,CAAC,UAAkB,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;YACtD,OAAO;SACV;QACD,uBAAuB;QACvB,IAAI,IAAI,CAAC,UAAU,EAAE,OAAO,KAAK,eAAe,EAAE;YAC9C,MAAM,IAAI,GAAQ,IAAI,CAAC,UAAU,CAAC;YAClC,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,OAAO;SACV;aAAM,IAAI,IAAI,CAAC,OAAO,KAAK,eAAe,EAAE;YACzC,MAAM,IAAI,GAAQ,IAAI,CAAC,UAAU,CAAC;YAClC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;SAClC;QAED,MAAM,QAAQ,GAAG,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpE,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QACxC,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QACpC,IAAI,YAAY,IAAI,YAAY,CAAC,KAAK,KAAK,CAAC,CAAC,EAAE;YAC3C,IAAI,KAAK,CAAC,OAAO,CAAE,IAAI,CAAC,UAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE;gBACzD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;oBAChB,MAAM,EAAE,QAAQ;oBAChB,IAAI;oBACJ,MAAM,EAAE,IAAI;oBACZ,GAAG,YAAY;iBAClB,CAAC,CAAC;aACN;iBAAM;gBACH,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBACtD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE;oBAC3B,MAAM,EAAE,QAAQ;oBAChB,IAAI,EAAE,UAAU;oBAChB,MAAM,EAAE;wBACJ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI;qBACzB;oBACD,SAAS,EAAE;wBACP,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE;qBAClC;iBACJ,CAAC,CAAC;aACN;SACJ;IACL,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,EAAE,KAAK,EAAE,GAAG,MAAM,EAAO;QAC5B,mCAAmC;QACnC,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACrC,MAAM,SAAS,GAAQ,EAAE,CAAC;QAC1B,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE;YACtB,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE;gBACnD,MAAM,WAAW,GAAI,IAAY,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;gBAC/C,SAAS,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC;gBAC7B,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;oBAC5B,SAAS,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;wBACtC,IAAI,YAAY,GAAG,IAAI,IAAI,IAAI,CAAC;wBAChC,IAAI,IAAI,YAAY,UAAQ,EAAE;4BAC1B,YAAY,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;yBAChC;wBACD,OAAO,YAAY,CAAC;oBACxB,CAAC,CAAC,CAAC;iBACN;qBAAM,IAAI,WAAW,YAAY,UAAQ,EAAE;oBACxC,SAAS,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC;iBACzC;gBACD,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;gBACpC,IAAY,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;gBAC9B,MAAM,aAAa,GAAG,IAAA,kCAAqB,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gBAC/D,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;oBACxB,IAAY,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;wBACvC,IAAI,YAAY,GAAG,IAAI,IAAI,IAAI,CAAC;wBAChC,MAAM,qBAAqB,GAAG,IAAA,kCAAqB,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;wBACnE,IAAI,qBAAqB,EAAE,IAAI,EAAE;4BAC7B,YAAY,GAAI,qBAA6B,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;yBACvE;wBACD,OAAO,YAAY,CAAC;oBACxB,CAAC,CAAC,CAAC;iBACN;qBAAM,IAAI,aAAa,EAAE,IAAI,EAAE;oBAC3B,IAAY,CAAC,GAAG,CAAC,GAAI,aAAqB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;iBACzE;aACJ;SACJ;QACD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAChB,MAAM,EAAE,QAAQ;YAChB,IAAI;YACJ,MAAM;YACN,SAAS;YACT,KAAK;SACR,CAAC,CAAC;IACP,CAAC;IAED,OAAO;QACH,cAAc;QACd,OAAO;YACH,YAAY,EAAE,EAAE;YAChB,KAAK,EAAE,CAAC,CAAC;YACT,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,IAAI;SAClB,CAAC;IACN,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,MAAW,EAAE,UAAqB,EAAE,SAAkB;QAC9D,WAAW;QACX,MAAM,IAAI,GAAG,kBAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC;QACjD,IAAI,IAAI,IAAI,MAAM,YAAY,IAAI,EAAE;YAChC,IAAI,UAAU,EAAE;gBACZ,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC;aAClC;YACD,IAAI,SAAS,EAAE;gBACX,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;aAChC;YACD,OAAO,MAAM,CAAC;SACjB;QAED,IAAI,IAAI,EAAE;YACN,MAAM,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAC;YAC5B,IAAI,UAAU,EAAE;gBACZ,QAAQ,CAAC,UAAU,GAAG,UAAU,CAAC;aACpC;YACD,IAAI,SAAS,EAAE;gBACX,QAAQ,CAAC,SAAS,GAAG,SAAS,CAAC;aAClC;YACD,QAAQ,CAAC,cAAc,CAAC;gBACpB,GAAG,MAAM;gBACT,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,IAAI,IAAI,CAAC,IAAI;gBACvE,UAAU;aACb,CAAC,CAAC;YACH,OAAO,QAAQ,CAAC;SACnB;IACL,CAAC;IAED,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IAID,WAAW,CAAC,QAA4B;QACpC,IAAI,IAAI,GAAa,IAAI,CAAC;QAC1B,IAAI,YAAY,GAAa,EAAE,CAAC;QAChC,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YACzB,YAAY,GAAG,QAAQ,CAAC;YACxB,QAAQ,GAAG,KAAK,CAAC;SACpB;QACD,IAAI,UAAU,GAAG,IAAI,CAAC;QACtB,MAAM,OAAO,GAAG,EAAE,CAAC;QACnB,OAAO,IAAI,EAAE;YACT,IAAI,IAAI,GAAG,EAAE,CAAC;YACd,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;YACnC,IAAI,UAAU,EAAE;gBACZ,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;gBACjC,IAAI,GAAG,SAAS,CAAC;gBACjB,MAAM,cAAc,GAAG,UAAU,CAAC,SAA2B,CAAC,CAAC;gBAC/D,IAAI,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE;oBAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;oBACvB,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,IAAI,UAAU,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;wBAC1E,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;wBAC3C,IAAI,IAAI,IAAI,KAAK,GAAG,CAAC;qBACxB;yBAAM;wBACH,IAAI,IAAI,SAAS,IAAI,GAAG,CAAC;qBAC5B;iBACJ;gBACD,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;aACzB;YACD,IAAI,GAAG,UAAU,CAAC;YAClB,UAAU,GAAG,KAAK,CAAC;SACtB;QACD,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACvB,OAAO,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,IAAI,SAAS;QACT,2CAA2C;QAC3C,IAAI,UAAU,GAAa,IAAI,CAAC;QAChC,OAAO,CAAC,CAAC,UAAU,IAAI,UAAU,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,EAAE;YACxD,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;SACtC;QACD,OAAO,UAAwB,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAQ,CAAC;IAC1C,CAAC;IAOD,WAAW,CAAuC,OAA8B;QAC5E,IAAI,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAC/B,OAAO,SAAS,IAAI,SAAS,CAAC,OAAO,IAAI,SAAS,CAAC,OAAO,KAAK,OAAO,EAAE;YACpE,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC;SACnC;QACD,OAAO,SAAiB,CAAC;IAC7B,CAAC;IAED;;;;;;OAMG;IACH,YAAY,CAAC,MAAW,EAAE,YAAmB;QACzC,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,EAAE,CAAC;QACrC,MAAM,YAAY,GAAG,MAAM,YAAY,UAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAA,sBAAgB,EAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QACzF,YAAY,CAAC,IAAI,CAAC,YAAY,IAAI,MAAM,CAAC,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,IAAI,MAAM;QACN,IAAI,IAAI,CAAC,IAAI,EAAE;YACX,IAAI,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC;YACvB,eAAe;YACf,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YACpC,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;gBACpB,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC;aACzB;YACD,OAAO,MAAM,CAAC;SACjB;QACD,OAAO,EAAE,CAAC;IACd,CAAC;IAED;;;;OAIG;IACH,UAAU,CAAC,QAAkB,EAAE,OAA2C;QACtE,IAAI,CAAC,QAAQ,EAAE;YACX,OAAO,QAAQ,CAAC;SACnB;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YACzB,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;SACxF;aAAM;YACH,OAAO,QAAQ,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;SAC9E;IACL,CAAC;IAED;;;;;;OAMG;IACH,WAAW,CAAC,MAAW,EAAE,UAAoB,EAAE,SAAiB;QAC5D,IAAI,MAAM,YAAY,UAAQ,EAAE;YAC5B,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;gBACzC,MAAM,CAAC,UAAU,GAAG,UAAwB,CAAC;gBAC7C,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;aAChC;YACD,OAAO,MAAM,CAAC;SACjB;aAAM,IAAI,MAAM,IAAI,MAAM,CAAC,OAAO,IAAI,kBAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;YAC7D,MAAM,IAAI,GAAG,kBAAQ,CAAC,MAAM,CAAC,OAAO,CAAQ,CAAC;YAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;YAC1D,IAAI,QAAQ,IAAI,QAAQ,CAAC,aAAa;gBAClC,QAAQ,CAAC,WAAW,GAAG,QAAQ,CAAC,aAAa,EAAE,CAAC;YACpD,OAAO,QAAQ,CAAC;SACnB;aAAM;YACH,OAAO,MAAM,CAAC;SACjB;IACL,CAAC;IAED;;;OAGG;IACH,cAAc,CAAC,MAAW,EAAE,SAAiB;QACzC,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;SACV;QACD,MAAM,YAAY,GAAU,EAAE,CAAC;QAC/B,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,qBAAqB;QACrB,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YACvB,OAAO,GAAG,IAAI,CAAC;YACf,MAAM,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;gBAC1B,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;YAChD,CAAC,CAAC,CAAC;SACN;aAAM;YACH,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;SAC3C;QACD,MAAM,YAAY,GAAU,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;QAChG,IAAI,OAAO,EAAE;YACT,OAAO,YAAY,CAAC;SACvB;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,YAAY,CAAC,MAAM,EAAE;YAC3D,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC;SAC1B;IACL,CAAC;IAED,WAAW,CAAC,MAAW;QACnB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QAErB,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC;QAEtB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YAChC,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YAC1B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,UAAU;gBACvD,IAAY,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACnC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IAC1B,CAAC;IAED,IAAI,CAAC,MAAW,EAAE,OAAsB,EAAE;QACtC,MAAM,GAAG,GAA4B,EAAE,CAAC;QACxC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAChD,2BAA2B;QAC3B,oBAAoB;IACxB,CAAC;IACD;;;;;;;OAOG;IACH,QAAQ,CAAC,MAAW,EAAE,OAAsB,EAAE;QAC1C,KAAK,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,EAAE;YACvB,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAA,WAAE,EAAC,MAAM,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YAChF,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAA,WAAE,EAAC,IAAW,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAChF,IAAI,CAAC,MAAM;gBACP,OAAO;YAEX,MAAM,GAAG,GAA4B,EAAE,CAAC;YACxC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;gBACjB,IAAI,SAAS,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;oBAC/B,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;iBAC7B;YACL,CAAC,CAAC,CAAC;YACH,2BAA2B;YAC3B,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACpE,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;IAChD,CAAC;IACD;;;;OAIG;IACH,MAAM;QACF,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;IAC1B,CAAC;IAED,OAAO,CAAC,OAA2C;QAC/C,MAAM,WAAW,GAAG,IAAA,kCAAqB,EAAC,IAAI,CAAC,YAAY,EAAE,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACxF,MAAM,MAAM,GAAsB,EAAE,CAAC;QACrC,WAAW,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,GAAW,EAAE,EAAE;YAC1C,IAAI,QAAQ,EAAE;gBACV,MAAM,EAAE,SAAS,EAAE,iBAAiB,EAAE,GAAG,QAAQ,CAAC;gBAClD,IAAI,CAAC,iBAAiB,EAAE;oBACnB,MAAc,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAqB,CAAC,CAAC;iBACtD;qBAAM;oBACH,MAAM,OAAO,GAAQ,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAqB,CAAC,EAAE,OAAO,CAAC,CAAC;oBAC1E,MAAc,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;iBAClC;aACJ;QACL,CAAC,CAAC,CAAC;QACH,OAAO,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAC9C,CAAC;IACD;;;;OAIG;IACH,WAAW,CAAC,SAAkB,EAAE,eAA8B,EAAE;QAC5D,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC,CAAC,oEAAoE;QACvI,YAAY,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAE3D,MAAM,IAAI,GAA4B,EAAE,CAAC;QACzC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YAC9B,MAAM,KAAK,GAAI,IAAY,CAAC,GAAG,CAAC,CAAC;YACjC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,UAAU;gBACxF,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QAC1B,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5C,CAAC;IACD;;OAEG;IAEH,KAAK,CAAC,SAAS;QACX,cAAc;IAClB,CAAC;IAED;;OAEG;IAEH,KAAK,CAAC,gBAAgB;QAClB,cAAc;IAClB,CAAC;IAED,KAAK,CAAC,sBAAsB;QACxB,cAAc;IAClB,CAAC;IAED;;OAEG;IAEH,KAAK,CAAC,UAAU,CAAC,QAAgB;QAC7B,cAAc;IAClB,CAAC;IAED;;OAEG;IAEH,KAAK,CAAC,aAAa,CAAC,EAAa;QAC7B,cAAc;IAClB,CAAC;IAED;;OAEG;IAEH,KAAK,CAAC,gBAAgB;QAClB,cAAc;IAClB,CAAC;IAED;;OAEG;IAEH,KAAK,CAAC,wBAAwB;QAC1B,cAAc;IAClB,CAAC;IACD;;OAEG;IAEH,YAAY,CAAC,iBAAiC,EAAE,gBAAgB,GAAG,KAAK;QACpE,cAAc;IAClB,CAAC;IACD;;;OAGG;IACH,OAAO;QACH,kDAAkD;QAClD,yBAAyB;QACzB,+CAA+C;QAC/C,MAAM;IACV,CAAC;IAED,QAAQ,CAAC,MAAqB;QAC1B,cAAc;IAClB,CAAC;IACD,QAAQ,CAAC,MAAY;QACjB,cAAc;IAClB,CAAC;IACD,QAAQ,CAAC,MAAY;QACjB,cAAc;IAClB,CAAC;IAED;;;;OAIG;IACH,QAAQ,CAAC,OAIR;QACG,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;QACzC,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,EAAE;YACxB,OAAO;SACV;QACD,IAAI,SAAS,GAAG,KAAM,IAAI,CAAC,WAAmB,CAAC,SAAS,EAAE,CAAC;QAC3D,IAAI,IAAI,CAAC,IAAI,EAAE;YACX,SAAS,IAAI,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC;SACjC;QACA,UAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE;YAC1C,SAAS;SACZ,CAAC,CAAC;QACH,eAAe;QACf,IAAI,QAAQ,KAAK,QAAQ,IAAI,IAAI,CAAC,OAAO,KAAK,UAAU,CAAC,OAAO,EAAE;YAC9D,OAAO;SACV;QACD,KAAK;QACL,IAAI,CAAC,MAAM,EAAE,CAAC;QACd,IAAI,QAAQ,KAAK,QAAQ,EAAE;YACvB,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;YACzB,IAAI,CAAC,MAAM;gBACP,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,MAAM,UAAU,GAAG,UAAU,CAAC;YAC7B,UAAkB,CAAC,MAAM,CAAC,CAAC,IAAW,CAAC,CAAC;SAC5C;aAAM;YACH,MAAM,UAAU,GAAG,UAAU,EAAE,UAAU,CAAC;YAC1C,MAAM,SAAS,GAAG,UAAU,EAAE,SAAS,IAAI,EAAE,CAAC;YAC9C,MAAM,IAAI,GAAI,UAAkB,CAAC,SAAS,CAAC,CAAC;YAC5C,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBACrB,IAAI,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;gBACrC,IAAI,QAAQ,KAAK,aAAa,EAAE;oBAC5B,KAAK,IAAI,CAAC,CAAC;iBACd;gBACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE;oBAChB,UAAU;oBACV,SAAS;iBACZ,CAAC,CAAC;gBAEH,IAAI,IAAI,CAAC,OAAO,KAAK,aAAa;oBAC9B,IAAI,CAAC,IAAI,GAAI,IAA+B,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAErF,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;gBAC5B,IAAI,CAAC,MAAM,CAAC;oBACR,KAAK;oBACL,UAAU;oBACV,SAAS;iBACZ,CAAC,CAAC;aACN;SACJ;QACA,UAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAChD,CAAC;IAED,gBAAgB;IAChB,WAAW,CAAC,OAAY;QACpB,MAAM,OAAO,GAAQ,IAAI,CAAC;QAC1B,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;QACjE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC5B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE;YACvC;;eAEG;YACH,IAAI,UAAU,CAAC,OAAO,KAAK,OAAO,IAAI,SAAS,KAAK,YAAY,EAAE;gBAC9D,UAAU,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;gBAC3C,OAAO;aACV;YACD,UAAU,CAAC,MAAM,CAAC;gBACd,CAAC,SAAS,CAAC,EAAE,OAAO;aACvB,CAAC,CAAC;SACN;aAAM;YACH,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE;gBACtB,SAAS,EAAE,QAAQ;aACtB,CAAC,CAAC;YACH,IAAI,UAAU,CAAC,OAAO,KAAK,OAAO,EAAE;gBAChC,IAAI,SAAS,KAAK,MAAM,EAAE;oBACtB,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;oBACvE,KAAK,CAAC,kBAAkB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;iBAC/C;qBAAM;oBACH,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;oBAC7E,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;oBAC7C,KAAK,CAAC,wBAAwB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;iBACrD;aACJ;iBAAM;gBACH,MAAM,QAAQ,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;gBAClF,MAAM,cAAc,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;gBACzF,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;gBAC7C,IAAI,UAAU,CAAC,OAAO,KAAK,WAAW,EAAE;oBACpC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,kBAAkB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,2BAA2B,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;iBACvI;qBAAM,IAAI,UAAU,CAAC,eAAe,cAAc,IAAI,CAAC;oBACpD,UAAU,CAAC,eAAe,cAAc,IAAI,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;;oBAEjE,UAAU,CAAC,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;aAClD;YACD,OAAO,CAAC,MAAM,EAAE,CAAC;YACjB,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;SAC3B;IACL,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,iBAAiB;QAC3B,OAAO,EAAE,CAAC;IACd,CAAC;IAEM,gBAAgB,CAAC,EAA6B;QACjD,SAAS,QAAQ,CAAC,IAAgB;YAC9B,EAAE,CAAC,IAAI,CAAC,CAAC;YAET,MAAM,WAAW,GAAG,IAAA,kCAAqB,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACzD,IAAI,CAAC,WAAW;gBACZ,OAAO;YAEX,KAAK,MAAM,QAAQ,IAAI,WAAW,CAAC,IAAI,EAAE,EAAE;gBACvC,MAAM,KAAK,GAAG,IAAI,CAAC,QAA0B,CAAC,CAAC;gBAC/C,IAAI,CAAC,KAAK;oBACN,SAAS;qBACR,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;oBACzB,KAAK,CAAC,OAAO,CAAC,CAAC,IAAgB,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;;oBAEpD,QAAQ,CAAC,KAAK,CAAC,CAAC;aACvB;QACL,CAAC;QAED,QAAQ,CAAC,IAA6B,CAAC,CAAC;IAC5C,CAAC;IAED;;OAEG;IACI,uBAAuB;QAC1B,OAAO,IAAI,CAAC,gBAAgB,CAAC;IACjC,CAAC;IACD;;;OAGG;IACI,gBAAgB;QACnB,MAAM,IAAI,GAAI,IAAiB,CAAC;QAChC,IAAI,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAC/B,IAAI,QAAQ,GAAG,IAAI,CAAC;QACpB,oCAAoC;QACpC,iDAAiD;QACjD,sBAAsB;QACtB,OACI,CAAC,SAAS;eACP,QAAQ;eACR,CAAC,CAAC,QAAQ,CAAC,UAAU,YAAY,OAAG,CAAC,EAC1C;YACE,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC;YAC/B,SAAS,GAAG,QAAQ,EAAE,SAAS,CAAC;SACnC;QACD,MAAM,aAAa,GAAG,SAAS,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACvD,IAAI,aAAa,EAAE;YACf,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC;SACtC;QACD,OAAO,EAAE,QAAQ,EAAE,CAAC;IACxB,CAAC;IAED;;;OAGG;IACI,kBAAkB,CAAC,OAAe;QACrC,MAAM,IAAI,GAAI,IAAiB,CAAC;QAChC,IAAI,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAC/B,IAAI,QAAQ,GAAG,IAAI,CAAC;QACpB,oCAAoC;QACpC,iDAAiD;QACjD,sBAAsB;QACtB,OACI,CAAC,SAAS;eACP,QAAQ;eACR,CAAC,CAAC,QAAQ,CAAC,UAAU,YAAY,OAAG,CAAC,EAC1C;YACE,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC;YAC/B,SAAS,GAAG,QAAQ,EAAE,SAAS,CAAC;SACnC;QACD,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,SAAS,IAAI,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YAC1C,IAAI,GAAG,CAAC,OAAO,KAAK,OAAO;gBACvB,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;QACH,OAAO,GAAG,CAAC;IACf,CAAC;IACD,IAAI,UAAU;QACV,IAAI,IAAI,CAAC,OAAO,KAAK,gBAAgB,IAAI,IAAI,CAAC,OAAO,KAAK,gBAAgB,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO;eAC/F,IAAI,CAAC,OAAO,KAAK,QAAQ,IAAI,IAAI,CAAC,OAAO,KAAK,mBAAmB,IAAI,IAAI,CAAC,OAAO,KAAK,UAAU,EAAE;YACrG,IAAK,IAAY,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,SAAS,KAAK,eAAe,CAAC,EAAE;gBAC/F,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC;aAC5B;iBAAM;gBACH,OAAO,IAAI,CAAC;aACf;SACJ;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,IAAI,WAAW;QACX,MAAM,cAAc,GAAI,IAAY,CAAC,cAAc,IAAI,IAAI,CAAC,gBAAgB,CAAC;QAC7E,IAAI,cAAc,EAAE;YAChB,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,cAAc,CAAC;YACzE,IAAI,QAAQ,KAAK,WAAW,IAAI,QAAQ,KAAK,SAAS,EAAE;gBACpD,IAAI,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC;oBAChC,OAAO,IAAI,CAAC;gBAChB,OAAO,CAAC,EAAE,CAAC,CAAC;aACf;iBAAM,IAAI,aAAa,KAAK,WAAW,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;gBACxF,OAAO,CAAC,EAAE,CAAC,CAAC;aACf;iBAAM,IAAI,QAAQ,KAAK,oBAAoB,IAAI,UAAU,EAAE,MAAM,EAAE;gBAChE,OAAO,CAAC,EAAE,CAAC,CAAC;aACf;YACD,OAAO,IAAI,CAAC;SACf;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAMD,YAAY,CAAC,KAA0D;QACnE,MAAM,GAAG,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAgB,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;QAC7F,MAAM,KAAK,GAAiB,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAG,IAA6B,CAAC;QAE3C,IAAI,GAAG,CAAC,IAAI,CAAC,EAAE;YACX,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACpB;QAED,IAAI,CAAC,gBAAgB,CAAC,CAAC,OAAO,EAAE,EAAE;YAC9B,IAAI,GAAG,CAAC,OAAO,CAAC,EAAE;gBACd,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aACvB;QACL,CAAC,CAAC,CAAC;QAEH,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ,CAAA;AA5jCG;IADC,IAAA,2BAAc,GAAE;0CACD;AAKhB;IADC,IAAA,qBAAQ,GAAE;yCACiB;AAa5B;IADC,IAAA,qBAAQ,GAAE;6CACqB;AAKhC;IADC,IAAA,qBAAQ,GAAE;4CACoB;AAK/B;IADC,IAAA,qBAAQ,GAAE;6CACqB;AAEhC;IADC,IAAA,qBAAQ,GAAE;wCACgB;AAS3B;IADC,IAAA,qBAAQ,GAAE;4CACuD;AAKlE;IADC,IAAA,qBAAQ,GAAE;4CACmB;AAQ9B;IADC,IAAA,2BAAc,GAAE;0CACa;AAM9B;IADC,IAAA,2BAAc,GAAE;2CACc;AAM/B;IADC,IAAA,2BAAc,GAAE;yCACQ;AAMzB;IADC,IAAA,2BAAc,GAAE;yCACQ;AAMzB;IADC,IAAA,2BAAc,GAAE;0CACS;AAM1B;IADC,IAAA,2BAAc,GAAE;wCACO;AAMxB;IADC,IAAA,2BAAc,GAAE;oDACmB;AAMpC;IADC,IAAA,2BAAc,GAAE;qDACoB;AAMrC;IADC,IAAA,2BAAc,GAAE;oDACmB;AAMpC;IADC,IAAA,2BAAc,GAAE;uDACsB;AAKvC;IADC,IAAA,2BAAc,GAAE;2CACgB;AAMjC;IADC,IAAA,2BAAc,GAAE;wCACO;AAExB;IADC,IAAA,2BAAc,GAAE;6CACA;AAOjB;IADC,IAAA,qBAAQ,GAAE;sCACO;AAMlB;IADC,IAAA,2BAAc,GAAE;kDAC4B;AAK7C;IADC,IAAA,2BAAc,GAAE;2DAC0B;AAonB3C;IADC,IAAA,mBAAM,EAAC,MAAM,CAAC;yCAGd;AAMD;IADC,IAAA,mBAAM,EAAC,iBAAiB,CAAC;gDAGzB;AAUD;IADC,IAAA,mBAAM,EAAC,KAAK,CAAC;0CAGb;AAMD;IADC,IAAA,mBAAM,EAAC,MAAM,CAAC;6CAGd;AAMD;IADC,IAAA,mBAAM,EAAC,QAAQ,CAAC;gDAGhB;AAMD;IADC,IAAA,mBAAM,EAAC,UAAU,CAAC;wDAGlB;AAKD;IADC,IAAA,mBAAM,EAAC,cAAc,CAAC;4CAGtB;AAxzBQ,QAAQ;IADpB,8BAAqB;GACT,QAAQ,CAkkCpB;AAlkCY,4BAAQ;AAokCrB,kBAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"BaseNode.js","sourceRoot":"","sources":["../../src/common/BaseNode.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,18 @@ export declare class Command {
3
3
  execute: CommandExecute;
4
4
  constructor(execute: CommandExecute);
5
5
  }
6
+ /**
7
+ * 注册命令
8
+ * @param command 命令名称
9
+ * @param execute 命令执行函数
10
+ */
6
11
  export declare function registerCommand(command: string, execute: CommandExecute): void;
7
- export declare function unregisterCommand(command: string): void;
8
- export declare function invokeCommand(command: string, ...args: any[]): any;
12
+ /**
13
+ * 注销命令
14
+ * @param command 命令名称
15
+ * @param execute 如果不传,则注销所有执行函数
16
+ * @returns
17
+ */
18
+ export declare function unregisterCommand(command: string, execute?: CommandExecute): void;
19
+ export declare function invokeCommand(command: string, ...args: any[]): any[];
9
20
  export declare function hasCommand(command: string): boolean;
@@ -9,26 +9,54 @@ class Command {
9
9
  }
10
10
  }
11
11
  exports.Command = Command;
12
+ // 命令集合
12
13
  const _commands = new Map();
14
+ /**
15
+ * 注册命令
16
+ * @param command 命令名称
17
+ * @param execute 命令执行函数
18
+ */
13
19
  function registerCommand(command, execute) {
14
- _commands.set(command, new Command(execute));
20
+ let cmds = _commands.get(command);
21
+ if (!cmds) {
22
+ // 如果不存在,则创建
23
+ cmds = [];
24
+ _commands.set(command, cmds);
25
+ }
26
+ cmds.push(new Command(execute));
15
27
  }
16
28
  exports.registerCommand = registerCommand;
17
- function unregisterCommand(command) {
18
- const cmd = _commands.get(command);
19
- if (cmd) {
29
+ /**
30
+ * 注销命令
31
+ * @param command 命令名称
32
+ * @param execute 如果不传,则注销所有执行函数
33
+ * @returns
34
+ */
35
+ function unregisterCommand(command, execute) {
36
+ const cmds = _commands.get(command);
37
+ if (cmds?.length) {
38
+ if (execute) {
39
+ const index = cmds.findIndex((cmd) => cmd.execute === execute);
40
+ if (index !== -1) {
41
+ console.log(command);
42
+ cmds.splice(index, 1);
43
+ }
44
+ if (cmds.length) {
45
+ return;
46
+ }
47
+ }
20
48
  _commands.delete(command);
21
49
  }
22
50
  }
23
51
  exports.unregisterCommand = unregisterCommand;
24
52
  function invokeCommand(command, ...args) {
25
- const cmd = _commands.get(command);
26
- if (cmd) {
27
- return cmd.execute(...args);
28
- }
29
- else {
53
+ const cmds = _commands.get(command);
54
+ if (!cmds?.length) {
30
55
  console.warn(`Command ${command} not found!`);
31
56
  }
57
+ return cmds?.map((cmd) => {
58
+ return cmd.execute(...args);
59
+ });
32
60
  }
33
61
  exports.invokeCommand = invokeCommand;
34
62
  function hasCommand(command) {
@@ -1 +1 @@
1
- {"version":3,"file":"Command.js","sourceRoot":"","sources":["../../src/common/Command.ts"],"names":[],"mappings":";;;AAEA,MAAa,OAAO;IACG;IAAnB,YAAmB,OAAuB;QAAvB,YAAO,GAAP,OAAO,CAAgB;QACtC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;CACJ;AAJD,0BAIC;AAED,MAAM,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;AAC5B,SAAgB,eAAe,CAAC,OAAe,EAAE,OAAuB;IACpE,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;AACjD,CAAC;AAFD,0CAEC;AAED,SAAgB,iBAAiB,CAAC,OAAe;IAC7C,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACnC,IAAI,GAAG,EAAE;QACL,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;KAC7B;AACL,CAAC;AALD,8CAKC;AAED,SAAgB,aAAa,CAAC,OAAe,EAAE,GAAG,IAAW;IACzD,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACnC,IAAI,GAAG,EAAE;QACL,OAAO,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;KAC/B;SAAM;QACH,OAAO,CAAC,IAAI,CAAC,WAAW,OAAO,aAAa,CAAC,CAAC;KACjD;AACL,CAAC;AAPD,sCAOC;AAED,SAAgB,UAAU,CAAC,OAAe;IACtC,OAAO,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AAClC,CAAC;AAFD,gCAEC"}
1
+ {"version":3,"file":"Command.js","sourceRoot":"","sources":["../../src/common/Command.ts"],"names":[],"mappings":";;;AAEA,MAAa,OAAO;IACC;IAAnB,YAAmB,OAAuB;QAAvB,YAAO,GAAP,OAAO,CAAgB;QACxC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;CACF;AAJD,0BAIC;AAED,OAAO;AACP,MAAM,SAAS,GAAG,IAAI,GAAG,EAAqB,CAAC;AAE/C;;;;GAIG;AACH,SAAgB,eAAe,CAAC,OAAe,EAAE,OAAuB;IACtE,IAAI,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAClC,IAAI,CAAC,IAAI,EAAE;QACT,YAAY;QACZ,IAAI,GAAG,EAAE,CAAC;QACV,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;KAC9B;IACD,IAAI,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;AAClC,CAAC;AARD,0CAQC;AAED;;;;;GAKG;AACH,SAAgB,iBAAiB,CAAC,OAAe,EAAE,OAAwB;IACzE,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACpC,IAAI,IAAI,EAAE,MAAM,EAAE;QAChB,IAAI,OAAO,EAAE;YACX,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC;YAC/D,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;gBAChB,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBACrB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;aACvB;YACD,IAAI,IAAI,CAAC,MAAM,EAAE;gBACf,OAAO;aACR;SACF;QACD,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;KAC3B;AACH,CAAC;AAfD,8CAeC;AAED,SAAgB,aAAa,CAAC,OAAe,EAAE,GAAG,IAAW;IAC3D,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACpC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE;QACjB,OAAO,CAAC,IAAI,CAAC,WAAW,OAAO,aAAa,CAAC,CAAC;KAC/C;IACD,OAAO,IAAI,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACvB,OAAO,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;AACL,CAAC;AARD,sCAQC;AAED,SAAgB,UAAU,CAAC,OAAe;IACxC,OAAO,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AAChC,CAAC;AAFD,gCAEC"}
@@ -1 +1 @@
1
- {"version":3,"file":"EventEmitter.js","sourceRoot":"","sources":["../../src/common/EventEmitter.ts"],"names":[],"mappings":";;;;;;;;;AACA,8CAA+C;AAI/C,MAAa,YAAY;IAEJ,OAAO,GAA6C,EAAE,CAAC;IACxE,YAAY;QACR,OAAO,cAAc,CAAC;IAC1B,CAAC;IACD;;;;OAIG;IACH,EAAE,CAAC,SAAiB,EAAE,QAAuB;QACzC,IAAI,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACxC,IAAI,CAAC,SAAS;YACV,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;QAE7C,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC1C,CAAC,CAAC,KAAK,IAAI,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACxC,CAAC;IACD;;;;OAIG;IACH,GAAG,CAAC,SAAiB,EAAE,QAAuB;QAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC1C,IAAI,SAAS,EAAE;YACX,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC1C,CAAC,KAAK,IAAI,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;SACxC;IACL,CAAC;IACD;;;;OAIG;IACH,IAAI,CAAC,SAAiB,EAAE,QAAuB;QAC3C,MAAM,IAAI,GAAG,CAAC,GAAG,IAAgB,EAAE,EAAE;YACjC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YAC1B,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC/B,CAAC,CAAC;QACF,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAC7B,CAAC;IACD;;;;OAIG;IACH,IAAI,CAAC,SAAiB,EAAE,KAAoB,EAAE,MAAY;QACtD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC1C,IAAI,KAAK,EAAE;YACP,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC;YACpC,KAAK,CAAC,aAAa,GAAG,MAAM,IAAI,IAAI,CAAC;SACxC;QACD,SAAS,IAAI,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC5F,CAAC;CACJ;AAtDG;IADC,IAAA,2BAAc,GAAE;6CACuD;AAF5E,oCAwDC;AA+BD,kBAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"EventEmitter.js","sourceRoot":"","sources":["../../src/common/EventEmitter.ts"],"names":[],"mappings":";;;;;;;;;AACA,8CAA+C;AAI/C,MAAa,YAAY;IAEN,OAAO,GAA6C,EAAE,CAAC;IAExE,YAAY;QACV,OAAO,cAAc,CAAC;IACxB,CAAC;IAED;;;;OAIG;IACH,EAAE,CAAC,SAAiB,EAAE,QAAuB;QAC3C,IAAI,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACxC,IAAI,CAAC,SAAS;YAAE,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;QAEzD,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC1C,CAAC,CAAC,KAAK,IAAI,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC;IAED;;;;OAIG;IACH,GAAG,CAAC,SAAiB,EAAE,QAAuB;QAC5C,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC1C,IAAI,SAAS,EAAE;YACb,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC1C,CAAC,KAAK,IAAI,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;SACtC;IACH,CAAC;IAED;;;;OAIG;IACH,IAAI,CAAC,SAAiB,EAAE,QAAuB;QAC7C,MAAM,IAAI,GAAG,CAAC,GAAG,IAAgB,EAAE,EAAE;YACnC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YAC1B,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC7B,CAAC,CAAC;QACF,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAC3B,CAAC;IAED;;;;OAIG;IACH,IAAI,CAAC,SAAiB,EAAE,KAAoB,EAAE,MAAY;QACxD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC1C,IAAI,KAAK,EAAE;YACT,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC;YACpC,KAAK,CAAC,aAAa,GAAG,MAAM,IAAI,IAAI,CAAC;SACtC;QACD,SAAS,IAAI,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC1F,CAAC;CACF;AA1DC;IADC,IAAA,2BAAc,GAAE;6CACuD;AAF1E,oCA4DC;AA+BD,kBAAe,YAAY,CAAC"}
@@ -67,17 +67,17 @@ export default class Messager {
67
67
  */
68
68
  requestMessage(message: Message, options?: {
69
69
  id?: string | number;
70
- }): Promise<unknown>;
70
+ }): Promise<any>;
71
71
  /**
72
72
  * 请求数据
73
73
  * 与 sendData 系列的区别是接收返回数据
74
74
  */
75
- requestData(data: any): Promise<unknown>;
75
+ requestData(data: any): Promise<any>;
76
76
  /**
77
77
  * 请求命令
78
78
  * 与 sendCommand 系列的区别是接收返回数据
79
79
  */
80
- requestCommand(command: string, ...args: any[]): Promise<unknown>;
80
+ requestCommand<T = void>(command: string, ...args: any[]): Promise<T>;
81
81
  /**
82
82
  * 内置处理接收的 MessageEvent 事件
83
83
  * @override
@@ -9,7 +9,7 @@ class Messager {
9
9
  options;
10
10
  requests;
11
11
  constructor(options) {
12
- this.options = Object.assign({
12
+ this.options = {
13
13
  protocol: 'vusion',
14
14
  sender: 'platform',
15
15
  logLevel: 'info',
@@ -24,7 +24,8 @@ class Messager {
24
24
  handleMessage(message) {
25
25
  // handle
26
26
  },
27
- }, options);
27
+ ...options,
28
+ };
28
29
  this.requests = new Map();
29
30
  this.onMessageReceived = this.onMessageReceived.bind(this);
30
31
  this.onDataReceived = this.onDataReceived.bind(this);
@@ -101,10 +102,10 @@ class Messager {
101
102
  }
102
103
  this.sendMessage(message);
103
104
  return new Promise((res, rej) => {
104
- this.requests.set(message.id, Object.assign({ res, rej }, message));
105
+ this.requests.set(message.id, { res, rej, ...message });
105
106
  setTimeout(() => {
106
107
  this.requests.delete(message.id);
107
- rej(Object.assign({ error: 'Timeout' }, message));
108
+ rej({ error: 'Timeout', ...message });
108
109
  }, this.options.timeout || 2000);
109
110
  });
110
111
  }
@@ -197,9 +198,7 @@ class Messager {
197
198
  });
198
199
  });
199
200
  }
200
- else {
201
- return;
202
- }
201
+ return;
203
202
  }
204
203
  this.options.handleMessage(data);
205
204
  }