@lcap/nasl 3.2.0-beta.4 → 3.3.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (774) hide show
  1. package/out/automate/upgrader/2.20.js +1 -1
  2. package/out/automate/upgrader/2.20.js.map +1 -1
  3. package/out/bak/translator.js +11 -15
  4. package/out/bak/translator.js.map +1 -1
  5. package/out/breakpoint/generator/AfterStartNode.js +3 -1
  6. package/out/breakpoint/generator/AfterStartNode.js.map +1 -1
  7. package/out/breakpoint/generator/BeforeEndNode.js.map +1 -1
  8. package/out/breakpoint/generator/BreakpointNode.d.ts +1 -0
  9. package/out/breakpoint/generator/BreakpointNode.js +48 -15
  10. package/out/breakpoint/generator/BreakpointNode.js.map +1 -1
  11. package/out/breakpoint/generator/CallbackNode.d.ts +4 -0
  12. package/out/breakpoint/generator/CallbackNode.js +22 -0
  13. package/out/breakpoint/generator/CallbackNode.js.map +1 -0
  14. package/out/breakpoint/generator/FragmentNode.d.ts +4 -0
  15. package/out/breakpoint/generator/FragmentNode.js +18 -0
  16. package/out/breakpoint/generator/FragmentNode.js.map +1 -0
  17. package/out/breakpoint/generator/index.js +25 -4
  18. package/out/breakpoint/generator/index.js.map +1 -1
  19. package/out/breakpoint/shared/constants.d.ts +3 -0
  20. package/out/breakpoint/shared/constants.js +6 -1
  21. package/out/breakpoint/shared/constants.js.map +1 -1
  22. package/out/breakpoint/shared/operations.js.map +1 -1
  23. package/out/breakpoint/shared/socket.d.ts +1 -1
  24. package/out/breakpoint/shared/socket.js +36 -7
  25. package/out/breakpoint/shared/socket.js.map +1 -1
  26. package/out/breakpoint/shared/utils.d.ts +2 -0
  27. package/out/breakpoint/shared/utils.js +15 -2
  28. package/out/breakpoint/shared/utils.js.map +1 -1
  29. package/out/breakpoint/store/core.d.ts +48 -2
  30. package/out/breakpoint/store/core.js +58 -32
  31. package/out/breakpoint/store/core.js.map +1 -1
  32. package/out/breakpoint/store/dock.js +1 -1
  33. package/out/breakpoint/store/dock.js.map +1 -1
  34. package/out/common/BaseNode.d.ts +1 -1
  35. package/out/common/BaseNode.js +105 -51
  36. package/out/common/BaseNode.js.map +1 -1
  37. package/out/common/Command.d.ts +13 -2
  38. package/out/common/Command.js +37 -9
  39. package/out/common/Command.js.map +1 -1
  40. package/out/common/EventEmitter.js.map +1 -1
  41. package/out/common/Messager.d.ts +3 -3
  42. package/out/common/Messager.js +6 -7
  43. package/out/common/Messager.js.map +1 -1
  44. package/out/common/asyncFuncMap.js.map +1 -1
  45. package/out/concepts/Abort__.js +6 -5
  46. package/out/concepts/Abort__.js.map +1 -1
  47. package/out/concepts/Anchor__.d.ts +4 -3
  48. package/out/concepts/Anchor__.js +24 -7
  49. package/out/concepts/Anchor__.js.map +1 -1
  50. package/out/concepts/AnonymousFunction__.d.ts +22 -21
  51. package/out/concepts/AnonymousFunction__.js +48 -22
  52. package/out/concepts/AnonymousFunction__.js.map +1 -1
  53. package/out/concepts/App__.d.ts +421 -247
  54. package/out/concepts/App__.js +286 -54
  55. package/out/concepts/App__.js.map +1 -1
  56. package/out/concepts/Argument__.d.ts +4 -3
  57. package/out/concepts/Argument__.js +42 -11
  58. package/out/concepts/Argument__.js.map +1 -1
  59. package/out/concepts/Assignee__.d.ts +45 -45
  60. package/out/concepts/Assignee__.js +15 -15
  61. package/out/concepts/Assignee__.js.map +1 -1
  62. package/out/concepts/AssignmentLine__.js +6 -5
  63. package/out/concepts/AssignmentLine__.js.map +1 -1
  64. package/out/concepts/Assignment__.d.ts +7 -6
  65. package/out/concepts/Assignment__.js +40 -22
  66. package/out/concepts/Assignment__.js.map +1 -1
  67. package/out/concepts/Attribute__.d.ts +3 -3
  68. package/out/concepts/Attribute__.js +8 -7
  69. package/out/concepts/Attribute__.js.map +1 -1
  70. package/out/concepts/AuthInterface__.js +4 -3
  71. package/out/concepts/AuthInterface__.js.map +1 -1
  72. package/out/concepts/AuthLogicForCallInterface__.d.ts +15 -15
  73. package/out/concepts/AuthLogicForCallInterface__.js +46 -27
  74. package/out/concepts/AuthLogicForCallInterface__.js.map +1 -1
  75. package/out/concepts/AuthLogic__.js +27 -13
  76. package/out/concepts/AuthLogic__.js.map +1 -1
  77. package/out/concepts/BackendVariable__.d.ts +5 -5
  78. package/out/concepts/BackendVariable__.js +23 -26
  79. package/out/concepts/BackendVariable__.js.map +1 -1
  80. package/out/concepts/Backend__.d.ts +18 -18
  81. package/out/concepts/Backend__.js +13 -13
  82. package/out/concepts/Backend__.js.map +1 -1
  83. package/out/concepts/BatchAssignment__.d.ts +34 -33
  84. package/out/concepts/BatchAssignment__.js +83 -43
  85. package/out/concepts/BatchAssignment__.js.map +1 -1
  86. package/out/concepts/BinaryExpression__.d.ts +7 -6
  87. package/out/concepts/BinaryExpression__.js +60 -24
  88. package/out/concepts/BinaryExpression__.js.map +1 -1
  89. package/out/concepts/BindAttribute__.d.ts +37 -37
  90. package/out/concepts/BindAttribute__.js +101 -48
  91. package/out/concepts/BindAttribute__.js.map +1 -1
  92. package/out/concepts/BindDirective__.d.ts +13 -13
  93. package/out/concepts/BindDirective__.js +23 -21
  94. package/out/concepts/BindDirective__.js.map +1 -1
  95. package/out/concepts/BindEvent__.d.ts +28 -28
  96. package/out/concepts/BindEvent__.js +99 -48
  97. package/out/concepts/BindEvent__.js.map +1 -1
  98. package/out/concepts/BindStyle__.d.ts +14 -15
  99. package/out/concepts/BindStyle__.js +16 -16
  100. package/out/concepts/BindStyle__.js.map +1 -1
  101. package/out/concepts/BooleanLiteral__.d.ts +1 -0
  102. package/out/concepts/BooleanLiteral__.js +12 -5
  103. package/out/concepts/BooleanLiteral__.js.map +1 -1
  104. package/out/concepts/CallAuthInterface__.d.ts +15 -15
  105. package/out/concepts/CallAuthInterface__.js +23 -22
  106. package/out/concepts/CallAuthInterface__.js.map +1 -1
  107. package/out/concepts/CallConnector__.d.ts +11 -9
  108. package/out/concepts/CallConnector__.js +79 -36
  109. package/out/concepts/CallConnector__.js.map +1 -1
  110. package/out/concepts/CallFunction__.d.ts +17 -16
  111. package/out/concepts/CallFunction__.js +95 -63
  112. package/out/concepts/CallFunction__.js.map +1 -1
  113. package/out/concepts/CallInterface__.d.ts +9 -8
  114. package/out/concepts/CallInterface__.js +71 -30
  115. package/out/concepts/CallInterface__.js.map +1 -1
  116. package/out/concepts/CallLogic__.d.ts +20 -19
  117. package/out/concepts/CallLogic__.js +155 -52
  118. package/out/concepts/CallLogic__.js.map +1 -1
  119. package/out/concepts/CallQueryComponent__.d.ts +51 -51
  120. package/out/concepts/CallQueryComponent__.js +66 -63
  121. package/out/concepts/CallQueryComponent__.js.map +1 -1
  122. package/out/concepts/Comment__.d.ts +1 -0
  123. package/out/concepts/Comment__.js +13 -6
  124. package/out/concepts/Comment__.js.map +1 -1
  125. package/out/concepts/CompletionProperty__.d.ts +3 -3
  126. package/out/concepts/CompletionProperty__.js +8 -7
  127. package/out/concepts/CompletionProperty__.js.map +1 -1
  128. package/out/concepts/ConfigGroup__.d.ts +15 -15
  129. package/out/concepts/ConfigGroup__.js +9 -9
  130. package/out/concepts/ConfigGroup__.js.map +1 -1
  131. package/out/concepts/ConfigPropertyValue__.js +4 -3
  132. package/out/concepts/ConfigPropertyValue__.js.map +1 -1
  133. package/out/concepts/ConfigProperty__.d.ts +15 -15
  134. package/out/concepts/ConfigProperty__.js +10 -10
  135. package/out/concepts/ConfigProperty__.js.map +1 -1
  136. package/out/concepts/Configuration__.d.ts +15 -15
  137. package/out/concepts/Configuration__.js +9 -9
  138. package/out/concepts/Configuration__.js.map +1 -1
  139. package/out/concepts/Connection__.d.ts +166 -0
  140. package/out/concepts/Connection__.js +332 -0
  141. package/out/concepts/Connection__.js.map +1 -0
  142. package/out/concepts/ConnectorTrigger__.js +4 -3
  143. package/out/concepts/ConnectorTrigger__.js.map +1 -1
  144. package/out/concepts/Connector__.d.ts +66 -66
  145. package/out/concepts/Connector__.js +16 -15
  146. package/out/concepts/Connector__.js.map +1 -1
  147. package/out/concepts/Constant__.d.ts +3 -3
  148. package/out/concepts/Constant__.js +8 -7
  149. package/out/concepts/Constant__.js.map +1 -1
  150. package/out/concepts/DataElement__.d.ts +3 -3
  151. package/out/concepts/DataElement__.js +6 -5
  152. package/out/concepts/DataElement__.js.map +1 -1
  153. package/out/concepts/DataSource__.d.ts +15 -15
  154. package/out/concepts/DataSource__.js +55 -39
  155. package/out/concepts/DataSource__.js.map +1 -1
  156. package/out/concepts/DatabaseTypeAnnotation__.js +4 -3
  157. package/out/concepts/DatabaseTypeAnnotation__.js.map +1 -1
  158. package/out/concepts/Destination__.d.ts +12 -11
  159. package/out/concepts/Destination__.js +93 -36
  160. package/out/concepts/Destination__.js.map +1 -1
  161. package/out/concepts/End__.js +15 -13
  162. package/out/concepts/End__.js.map +1 -1
  163. package/out/concepts/EntityIndex__.d.ts +1 -1
  164. package/out/concepts/EntityIndex__.js +6 -5
  165. package/out/concepts/EntityIndex__.js.map +1 -1
  166. package/out/concepts/EntityProperty__.d.ts +8 -7
  167. package/out/concepts/EntityProperty__.js +39 -24
  168. package/out/concepts/EntityProperty__.js.map +1 -1
  169. package/out/concepts/Entity__.d.ts +31 -30
  170. package/out/concepts/Entity__.js +40 -16
  171. package/out/concepts/Entity__.js.map +1 -1
  172. package/out/concepts/EnumItem__.d.ts +1 -0
  173. package/out/concepts/EnumItem__.js +12 -5
  174. package/out/concepts/EnumItem__.js.map +1 -1
  175. package/out/concepts/Enum__.d.ts +9 -8
  176. package/out/concepts/Enum__.js +24 -11
  177. package/out/concepts/Enum__.js.map +1 -1
  178. package/out/concepts/Event__.d.ts +15 -15
  179. package/out/concepts/Event__.js +6 -5
  180. package/out/concepts/Event__.js.map +1 -1
  181. package/out/concepts/ExternalDestination__.d.ts +6 -6
  182. package/out/concepts/ExternalDestination__.js +12 -11
  183. package/out/concepts/ExternalDestination__.js.map +1 -1
  184. package/out/concepts/ForEachStatement__.d.ts +25 -24
  185. package/out/concepts/ForEachStatement__.js +101 -36
  186. package/out/concepts/ForEachStatement__.js.map +1 -1
  187. package/out/concepts/FrontendLibrary__.d.ts +30 -30
  188. package/out/concepts/FrontendLibrary__.js +12 -13
  189. package/out/concepts/FrontendLibrary__.js.map +1 -1
  190. package/out/concepts/FrontendVariable__.js +4 -3
  191. package/out/concepts/FrontendVariable__.js.map +1 -1
  192. package/out/concepts/Frontend__.d.ts +64 -65
  193. package/out/concepts/Frontend__.js +23 -27
  194. package/out/concepts/Frontend__.js.map +1 -1
  195. package/out/concepts/Function__.d.ts +64 -63
  196. package/out/concepts/Function__.js +49 -21
  197. package/out/concepts/Function__.js.map +1 -1
  198. package/out/concepts/Identifier__.js +37 -31
  199. package/out/concepts/Identifier__.js.map +1 -1
  200. package/out/concepts/IfStatement__.d.ts +20 -19
  201. package/out/concepts/IfStatement__.js +64 -34
  202. package/out/concepts/IfStatement__.js.map +1 -1
  203. package/out/concepts/Integration__.d.ts +3 -3
  204. package/out/concepts/Integration__.js +8 -7
  205. package/out/concepts/Integration__.js.map +1 -1
  206. package/out/concepts/InterfaceParam__.d.ts +3 -3
  207. package/out/concepts/InterfaceParam__.js +7 -6
  208. package/out/concepts/InterfaceParam__.js.map +1 -1
  209. package/out/concepts/Interface__.d.ts +33 -33
  210. package/out/concepts/Interface__.js +19 -20
  211. package/out/concepts/Interface__.js.map +1 -1
  212. package/out/concepts/JSBlock__.d.ts +1 -0
  213. package/out/concepts/JSBlock__.js +12 -5
  214. package/out/concepts/JSBlock__.js.map +1 -1
  215. package/out/concepts/JavaLogic__.js +10 -9
  216. package/out/concepts/JavaLogic__.js.map +1 -1
  217. package/out/concepts/LogicItem__.d.ts +6 -0
  218. package/out/concepts/LogicItem__.js +14 -5
  219. package/out/concepts/LogicItem__.js.map +1 -1
  220. package/out/concepts/Logic__.d.ts +80 -79
  221. package/out/concepts/Logic__.js +204 -58
  222. package/out/concepts/Logic__.js.map +1 -1
  223. package/out/concepts/MatchCase__.d.ts +39 -38
  224. package/out/concepts/MatchCase__.js +122 -37
  225. package/out/concepts/MatchCase__.js.map +1 -1
  226. package/out/concepts/Match__.d.ts +13 -11
  227. package/out/concepts/Match__.js +128 -60
  228. package/out/concepts/Match__.js.map +1 -1
  229. package/out/concepts/MemberExpression__.d.ts +7 -6
  230. package/out/concepts/MemberExpression__.js +52 -22
  231. package/out/concepts/MemberExpression__.js.map +1 -1
  232. package/out/concepts/MicroApp__.js +4 -3
  233. package/out/concepts/MicroApp__.js.map +1 -1
  234. package/out/concepts/Module__.d.ts +239 -155
  235. package/out/concepts/Module__.js +139 -33
  236. package/out/concepts/Module__.js.map +1 -1
  237. package/out/concepts/MsgTriggerEvent__.d.ts +15 -15
  238. package/out/concepts/MsgTriggerEvent__.js +6 -5
  239. package/out/concepts/MsgTriggerEvent__.js.map +1 -1
  240. package/out/concepts/MsgTriggerLauncher__.d.ts +23 -15
  241. package/out/concepts/MsgTriggerLauncher__.js +24 -5
  242. package/out/concepts/MsgTriggerLauncher__.js.map +1 -1
  243. package/out/concepts/Namespace__.d.ts +180 -180
  244. package/out/concepts/Namespace__.js +33 -34
  245. package/out/concepts/Namespace__.js.map +1 -1
  246. package/out/concepts/NewComposite__.d.ts +49 -48
  247. package/out/concepts/NewComposite__.js +164 -49
  248. package/out/concepts/NewComposite__.js.map +1 -1
  249. package/out/concepts/NewList__.d.ts +19 -18
  250. package/out/concepts/NewList__.js +29 -12
  251. package/out/concepts/NewList__.js.map +1 -1
  252. package/out/concepts/NewMap__.d.ts +34 -33
  253. package/out/concepts/NewMap__.js +81 -72
  254. package/out/concepts/NewMap__.js.map +1 -1
  255. package/out/concepts/New__.js +6 -5
  256. package/out/concepts/New__.js.map +1 -1
  257. package/out/concepts/NullLiteral__.js +6 -5
  258. package/out/concepts/NullLiteral__.js.map +1 -1
  259. package/out/concepts/NumericLiteral__.d.ts +4 -3
  260. package/out/concepts/NumericLiteral__.js +15 -8
  261. package/out/concepts/NumericLiteral__.js.map +1 -1
  262. package/out/concepts/OqlQueryComponent__.d.ts +4 -3
  263. package/out/concepts/OqlQueryComponent__.js +25 -16
  264. package/out/concepts/OqlQueryComponent__.js.map +1 -1
  265. package/out/concepts/OverriddenLogic__.d.ts +79 -79
  266. package/out/concepts/OverriddenLogic__.js +79 -58
  267. package/out/concepts/OverriddenLogic__.js.map +1 -1
  268. package/out/concepts/Param__.d.ts +6 -5
  269. package/out/concepts/Param__.js +66 -29
  270. package/out/concepts/Param__.js.map +1 -1
  271. package/out/concepts/Point__.js +4 -3
  272. package/out/concepts/Point__.js.map +1 -1
  273. package/out/concepts/ProcessComponent__.d.ts +30 -30
  274. package/out/concepts/ProcessComponent__.js +8 -7
  275. package/out/concepts/ProcessComponent__.js.map +1 -1
  276. package/out/concepts/ProcessElement__.d.ts +96 -96
  277. package/out/concepts/ProcessElement__.js +34 -34
  278. package/out/concepts/ProcessElement__.js.map +1 -1
  279. package/out/concepts/ProcessOutcome__.js +6 -5
  280. package/out/concepts/ProcessOutcome__.js.map +1 -1
  281. package/out/concepts/ProcessOutcomes__.js +6 -5
  282. package/out/concepts/ProcessOutcomes__.js.map +1 -1
  283. package/out/concepts/Process__.d.ts +75 -75
  284. package/out/concepts/Process__.js +33 -30
  285. package/out/concepts/Process__.js.map +1 -1
  286. package/out/concepts/QueryAggregateExpression__.d.ts +3 -3
  287. package/out/concepts/QueryAggregateExpression__.js +8 -7
  288. package/out/concepts/QueryAggregateExpression__.js.map +1 -1
  289. package/out/concepts/QueryFieldExpression__.js +7 -6
  290. package/out/concepts/QueryFieldExpression__.js.map +1 -1
  291. package/out/concepts/QueryFromExpression__.d.ts +8 -8
  292. package/out/concepts/QueryFromExpression__.js +8 -7
  293. package/out/concepts/QueryFromExpression__.js.map +1 -1
  294. package/out/concepts/QueryGroupByExpression__.d.ts +3 -3
  295. package/out/concepts/QueryGroupByExpression__.js +9 -10
  296. package/out/concepts/QueryGroupByExpression__.js.map +1 -1
  297. package/out/concepts/QueryJoinExpression__.d.ts +23 -23
  298. package/out/concepts/QueryJoinExpression__.js +11 -10
  299. package/out/concepts/QueryJoinExpression__.js.map +1 -1
  300. package/out/concepts/QueryLimitExpression__.d.ts +6 -6
  301. package/out/concepts/QueryLimitExpression__.js +9 -8
  302. package/out/concepts/QueryLimitExpression__.js.map +1 -1
  303. package/out/concepts/QueryOrderByExpression__.d.ts +6 -6
  304. package/out/concepts/QueryOrderByExpression__.js +9 -8
  305. package/out/concepts/QueryOrderByExpression__.js.map +1 -1
  306. package/out/concepts/QuerySelectExpression__.d.ts +30 -30
  307. package/out/concepts/QuerySelectExpression__.js +9 -8
  308. package/out/concepts/QuerySelectExpression__.js.map +1 -1
  309. package/out/concepts/Rect__.js +4 -3
  310. package/out/concepts/Rect__.js.map +1 -1
  311. package/out/concepts/Return__.d.ts +4 -3
  312. package/out/concepts/Return__.js +37 -18
  313. package/out/concepts/Return__.js.map +1 -1
  314. package/out/concepts/Role__.js +9 -9
  315. package/out/concepts/Role__.js.map +1 -1
  316. package/out/concepts/SelectMembers__.d.ts +18 -18
  317. package/out/concepts/SelectMembers__.js +10 -9
  318. package/out/concepts/SelectMembers__.js.map +1 -1
  319. package/out/concepts/Slot__.d.ts +3 -3
  320. package/out/concepts/Slot__.js +6 -5
  321. package/out/concepts/Slot__.js.map +1 -1
  322. package/out/concepts/SqlQueryComponent__.d.ts +4 -3
  323. package/out/concepts/SqlQueryComponent__.js +21 -12
  324. package/out/concepts/SqlQueryComponent__.js.map +1 -1
  325. package/out/concepts/Start__.js +6 -5
  326. package/out/concepts/Start__.js.map +1 -1
  327. package/out/concepts/StringInterpolation__.d.ts +16 -15
  328. package/out/concepts/StringInterpolation__.js +37 -14
  329. package/out/concepts/StringInterpolation__.js.map +1 -1
  330. package/out/concepts/StringLiteral__.d.ts +1 -0
  331. package/out/concepts/StringLiteral__.js +13 -8
  332. package/out/concepts/StringLiteral__.js.map +1 -1
  333. package/out/concepts/StructureProperty__.d.ts +4 -3
  334. package/out/concepts/StructureProperty__.js +22 -9
  335. package/out/concepts/StructureProperty__.js.map +1 -1
  336. package/out/concepts/Structure__.d.ts +31 -30
  337. package/out/concepts/Structure__.js +27 -15
  338. package/out/concepts/Structure__.js.map +1 -1
  339. package/out/concepts/SwitchCase__.d.ts +12 -11
  340. package/out/concepts/SwitchCase__.js +69 -31
  341. package/out/concepts/SwitchCase__.js.map +1 -1
  342. package/out/concepts/SwitchStatement__.d.ts +9 -8
  343. package/out/concepts/SwitchStatement__.js +27 -7
  344. package/out/concepts/SwitchStatement__.js.map +1 -1
  345. package/out/concepts/Theme__.js +4 -3
  346. package/out/concepts/Theme__.js.map +1 -1
  347. package/out/concepts/Transactional__.js +4 -3
  348. package/out/concepts/Transactional__.js.map +1 -1
  349. package/out/concepts/TriggerEvent__.d.ts +15 -15
  350. package/out/concepts/TriggerEvent__.js +6 -5
  351. package/out/concepts/TriggerEvent__.js.map +1 -1
  352. package/out/concepts/TriggerLauncher__.d.ts +15 -10
  353. package/out/concepts/TriggerLauncher__.js +54 -32
  354. package/out/concepts/TriggerLauncher__.js.map +1 -1
  355. package/out/concepts/TypeAnnotation__.d.ts +28 -27
  356. package/out/concepts/TypeAnnotation__.js +144 -124
  357. package/out/concepts/TypeAnnotation__.js.map +1 -1
  358. package/out/concepts/TypeParam__.d.ts +1 -0
  359. package/out/concepts/TypeParam__.js +12 -5
  360. package/out/concepts/TypeParam__.js.map +1 -1
  361. package/out/concepts/UnaryExpression__.d.ts +4 -3
  362. package/out/concepts/UnaryExpression__.js +31 -20
  363. package/out/concepts/UnaryExpression__.js.map +1 -1
  364. package/out/concepts/Unparsed__.d.ts +1 -0
  365. package/out/concepts/Unparsed__.js +12 -5
  366. package/out/concepts/Unparsed__.js.map +1 -1
  367. package/out/concepts/UseComponent__.js +4 -3
  368. package/out/concepts/UseComponent__.js.map +1 -1
  369. package/out/concepts/ValidationRule__.d.ts +14 -14
  370. package/out/concepts/ValidationRule__.js +19 -17
  371. package/out/concepts/ValidationRule__.js.map +1 -1
  372. package/out/concepts/Variable__.d.ts +4 -3
  373. package/out/concepts/Variable__.js +39 -23
  374. package/out/concepts/Variable__.js.map +1 -1
  375. package/out/concepts/ViewBlock__.js +4 -3
  376. package/out/concepts/ViewBlock__.js.map +1 -1
  377. package/out/concepts/ViewComponent__.d.ts +90 -90
  378. package/out/concepts/ViewComponent__.js +16 -15
  379. package/out/concepts/ViewComponent__.js.map +1 -1
  380. package/out/concepts/ViewElement__.d.ts +91 -86
  381. package/out/concepts/ViewElement__.js +218 -146
  382. package/out/concepts/ViewElement__.js.map +1 -1
  383. package/out/concepts/View__.d.ts +92 -92
  384. package/out/concepts/View__.js +135 -60
  385. package/out/concepts/View__.js.map +1 -1
  386. package/out/concepts/WhileStatement__.d.ts +12 -11
  387. package/out/concepts/WhileStatement__.js +46 -23
  388. package/out/concepts/WhileStatement__.js.map +1 -1
  389. package/out/concepts/index__.d.ts +2 -1
  390. package/out/concepts/index__.js +2 -1
  391. package/out/concepts/index__.js.map +1 -1
  392. package/out/concepts/types__.d.ts +2 -1
  393. package/out/decorators/index.d.ts +1 -1
  394. package/out/decorators/index.js +20 -7
  395. package/out/decorators/index.js.map +1 -1
  396. package/out/decorators/promise.d.ts +7 -0
  397. package/out/decorators/promise.js +28 -0
  398. package/out/decorators/promise.js.map +1 -0
  399. package/out/enums/KEYWORDS.js.map +1 -1
  400. package/out/enums/LEVEL_NAME_MAP.js.map +1 -1
  401. package/out/generator/compileComponent.js.map +1 -1
  402. package/out/generator/genBundleFiles.d.ts +4 -1
  403. package/out/generator/genBundleFiles.js +15 -11
  404. package/out/generator/genBundleFiles.js.map +1 -1
  405. package/out/generator/genHash.js.map +1 -1
  406. package/out/generator/genMetaData.js +12 -8
  407. package/out/generator/genMetaData.js.map +1 -1
  408. package/out/generator/genReleaseBody.js +33 -35
  409. package/out/generator/genReleaseBody.js.map +1 -1
  410. package/out/generator/microApp.js +2 -1
  411. package/out/generator/microApp.js.map +1 -1
  412. package/out/generator/permission.js +16 -14
  413. package/out/generator/permission.js.map +1 -1
  414. package/out/generator/styleReplacer.js +4 -7
  415. package/out/generator/styleReplacer.js.map +1 -1
  416. package/out/index.d.ts +0 -2
  417. package/out/index.js +0 -3
  418. package/out/index.js.map +1 -1
  419. package/out/manager/diagnostic.d.ts +1 -1
  420. package/out/manager/diagnostic.js.map +1 -1
  421. package/out/manager/stepRecorder.js +13 -9
  422. package/out/manager/stepRecorder.js.map +1 -1
  423. package/out/natural/RequirementAnalyzer.d.ts +22 -0
  424. package/out/natural/RequirementAnalyzer.js +196 -0
  425. package/out/natural/RequirementAnalyzer.js.map +1 -0
  426. package/out/natural/RequirementExecutor.d.ts +51 -0
  427. package/out/natural/RequirementExecutor.js +692 -0
  428. package/out/natural/RequirementExecutor.js.map +1 -0
  429. package/out/natural/componentData.d.ts +31 -0
  430. package/out/natural/componentData.js +85 -0
  431. package/out/natural/componentData.js.map +1 -0
  432. package/out/natural/genNaturalTS.d.ts +3 -0
  433. package/out/natural/genNaturalTS.js +76 -0
  434. package/out/natural/genNaturalTS.js.map +1 -0
  435. package/out/natural/index.d.ts +4 -0
  436. package/out/natural/index.js +21 -0
  437. package/out/natural/index.js.map +1 -0
  438. package/out/natural/knowledgeMap.d.ts +4 -0
  439. package/out/natural/knowledgeMap.js +40 -0
  440. package/out/natural/knowledgeMap.js.map +1 -0
  441. package/out/natural/naslStdlibMap.d.ts +2 -0
  442. package/out/natural/naslStdlibMap.js +26 -0
  443. package/out/natural/naslStdlibMap.js.map +1 -0
  444. package/out/natural/transformTSCode.d.ts +7 -0
  445. package/out/natural/transformTSCode.js +760 -0
  446. package/out/natural/transformTSCode.js.map +1 -0
  447. package/out/sentry/index.d.ts +2 -1
  448. package/out/sentry/index.js.map +1 -1
  449. package/out/server/createUiTs.js +28 -16
  450. package/out/server/createUiTs.js.map +1 -1
  451. package/out/server/entity2LogicNamespace.js +24 -22
  452. package/out/server/entity2LogicNamespace.js.map +1 -1
  453. package/out/server/event.js.map +1 -1
  454. package/out/server/extendBaseNode.js +55 -70
  455. package/out/server/extendBaseNode.js.map +1 -1
  456. package/out/server/formatTsUtils.js +46 -50
  457. package/out/server/formatTsUtils.js.map +1 -1
  458. package/out/server/getConnector.d.ts +3 -3
  459. package/out/server/getConnector.js +7 -8
  460. package/out/server/getConnector.js.map +1 -1
  461. package/out/server/getExtensionModules.js +2 -2
  462. package/out/server/getExtensionModules.js.map +1 -1
  463. package/out/server/getFunctions.js.map +1 -1
  464. package/out/server/getInterfaces.js.map +1 -1
  465. package/out/server/getLogging.js.map +1 -1
  466. package/out/server/getLogics.d.ts +1 -1
  467. package/out/server/getLogics.js +34 -16
  468. package/out/server/getLogics.js.map +1 -1
  469. package/out/server/getMemberIdentifier.js +13 -10
  470. package/out/server/getMemberIdentifier.js.map +1 -1
  471. package/out/server/getProcessComponents.js.map +1 -1
  472. package/out/server/getProcesses.js +21 -29
  473. package/out/server/getProcesses.js.map +1 -1
  474. package/out/server/getScope.js.map +1 -1
  475. package/out/server/getValidates.js.map +1 -1
  476. package/out/server/index.js +0 -1
  477. package/out/server/index.js.map +1 -1
  478. package/out/server/naslServer.d.ts +99 -94
  479. package/out/server/naslServer.js +485 -465
  480. package/out/server/naslServer.js.map +1 -1
  481. package/out/server/naslStdlibMap.js +4 -2
  482. package/out/server/naslStdlibMap.js.map +1 -1
  483. package/out/server/process2LogicNamespace.js.map +1 -1
  484. package/out/server/translator.d.ts +1 -1
  485. package/out/server/translator.js +52 -47
  486. package/out/server/translator.js.map +1 -1
  487. package/out/service/storage/init.d.ts +15 -1
  488. package/out/service/storage/init.js +65 -56
  489. package/out/service/storage/init.js.map +1 -1
  490. package/out/templator/genCallComponentLogic.js +1 -2
  491. package/out/templator/genCallComponentLogic.js.map +1 -1
  492. package/out/templator/genCreateBlock.js +13 -8
  493. package/out/templator/genCreateBlock.js.map +1 -1
  494. package/out/templator/genCurdEditMultipleKeyBlock.js +19 -10
  495. package/out/templator/genCurdEditMultipleKeyBlock.js.map +1 -1
  496. package/out/templator/genCurdMultipleKeyBlock.js +22 -26
  497. package/out/templator/genCurdMultipleKeyBlock.js.map +1 -1
  498. package/out/templator/genEditTableBlock.js +11 -12
  499. package/out/templator/genEditTableBlock.js.map +1 -1
  500. package/out/templator/genEnumSelectBlock.js +1 -1
  501. package/out/templator/genEnumSelectBlock.js.map +1 -1
  502. package/out/templator/genGetBlock.js +2 -2
  503. package/out/templator/genGetBlock.js.map +1 -1
  504. package/out/templator/genGridViewBlock.js +10 -14
  505. package/out/templator/genGridViewBlock.js.map +1 -1
  506. package/out/templator/genListViewBlock.js +4 -7
  507. package/out/templator/genListViewBlock.js.map +1 -1
  508. package/out/templator/genQueryComponent.js +22 -15
  509. package/out/templator/genQueryComponent.js.map +1 -1
  510. package/out/templator/genSelectBlock.js +12 -33
  511. package/out/templator/genSelectBlock.js.map +1 -1
  512. package/out/templator/genTableBlock.js +8 -10
  513. package/out/templator/genTableBlock.js.map +1 -1
  514. package/out/templator/genUpdateBlock.js +12 -7
  515. package/out/templator/genUpdateBlock.js.map +1 -1
  516. package/out/templator/index.d.ts +4 -2
  517. package/out/templator/index.js +2 -2
  518. package/out/templator/index.js.map +1 -1
  519. package/out/templator/utils.d.ts +2 -2
  520. package/out/templator/utils.js +21 -22
  521. package/out/templator/utils.js.map +1 -1
  522. package/out/translator/index.js +27 -28
  523. package/out/translator/index.js.map +1 -1
  524. package/out/utils/index.d.ts +2 -1
  525. package/out/utils/index.js +8 -14
  526. package/out/utils/index.js.map +1 -1
  527. package/out/utils/logger.js.map +1 -1
  528. package/out/utils/sortTsString.js +3 -1
  529. package/out/utils/sortTsString.js.map +1 -1
  530. package/out/utils/string.js +8 -11
  531. package/out/utils/string.js.map +1 -1
  532. package/out/utils/time-slicing.d.ts +41 -0
  533. package/out/utils/time-slicing.js +81 -0
  534. package/out/utils/time-slicing.js.map +1 -0
  535. package/out/utils/traverse.js +4 -6
  536. package/out/utils/traverse.js.map +1 -1
  537. package/package.json +13 -7
  538. package/sandbox/stdlib/nasl.auth.ts +49 -46
  539. package/sandbox/stdlib/nasl.http.ts +29 -31
  540. package/sandbox/stdlib/nasl.ui.definition.ts +13 -1
  541. package/sandbox-natural/stdlib/nasl.core.ts +36 -0
  542. package/sandbox-natural/stdlib/nasl.oql.ts +8 -0
  543. package/sandbox-natural/stdlib/nasl.ui.ts +56 -0
  544. package/sandbox-natural/stdlib/nasl.util.ts +26 -0
  545. package/sandbox-natural/tsconfig.json +12 -0
  546. package/src/automate/upgrader/2.20.js +1 -1
  547. package/src/bak/translator.js +92 -99
  548. package/src/breakpoint/generator/AfterStartNode.ts +19 -17
  549. package/src/breakpoint/generator/BeforeEndNode.ts +17 -17
  550. package/src/breakpoint/generator/BreakpointNode.ts +243 -195
  551. package/src/breakpoint/generator/CallbackNode.ts +20 -0
  552. package/src/breakpoint/generator/FragmentNode.ts +14 -0
  553. package/src/breakpoint/generator/index.ts +107 -80
  554. package/src/breakpoint/shared/constants.ts +59 -53
  555. package/src/breakpoint/shared/operations.ts +6 -6
  556. package/src/breakpoint/shared/socket.ts +277 -223
  557. package/src/breakpoint/shared/utils.ts +166 -146
  558. package/src/breakpoint/store/core.ts +326 -297
  559. package/src/breakpoint/store/dock.ts +103 -103
  560. package/src/breakpoint/types/index.d.ts +11 -11
  561. package/src/common/BaseNode.ts +1102 -1024
  562. package/src/common/Command.ts +46 -16
  563. package/src/common/ComponentAPI.ts +72 -72
  564. package/src/common/EventEmitter.ts +80 -76
  565. package/src/common/Messager.ts +223 -224
  566. package/src/common/asyncFuncMap.ts +12 -12
  567. package/src/concepts/Abort__.ts +53 -60
  568. package/src/concepts/Anchor__.ts +158 -149
  569. package/src/concepts/AnonymousFunction__.ts +584 -551
  570. package/src/concepts/App__.ts +4278 -3671
  571. package/src/concepts/Argument__.ts +234 -210
  572. package/src/concepts/Assignee__.ts +680 -656
  573. package/src/concepts/AssignmentLine__.ts +80 -84
  574. package/src/concepts/Assignment__.ts +275 -264
  575. package/src/concepts/Attribute__.ts +183 -184
  576. package/src/concepts/AuthInterface__.ts +61 -63
  577. package/src/concepts/AuthLogicForCallInterface__.ts +540 -511
  578. package/src/concepts/AuthLogic__.ts +210 -194
  579. package/src/concepts/BackendVariable__.ts +414 -415
  580. package/src/concepts/Backend__.ts +317 -303
  581. package/src/concepts/BatchAssignment__.ts +987 -939
  582. package/src/concepts/BinaryExpression__.ts +370 -341
  583. package/src/concepts/BindAttribute__.ts +1057 -1007
  584. package/src/concepts/BindDirective__.ts +540 -542
  585. package/src/concepts/BindEvent__.ts +992 -911
  586. package/src/concepts/BindStyle__.ts +442 -451
  587. package/src/concepts/BooleanLiteral__.ts +89 -90
  588. package/src/concepts/CallAuthInterface__.ts +458 -433
  589. package/src/concepts/CallConnector__.ts +209 -164
  590. package/src/concepts/CallFunction__.ts +600 -600
  591. package/src/concepts/CallInterface__.ts +752 -721
  592. package/src/concepts/CallLogic__.ts +1324 -1200
  593. package/src/concepts/CallQueryComponent__.ts +1580 -1501
  594. package/src/concepts/Comment__.ts +69 -68
  595. package/src/concepts/CompletionProperty__.ts +250 -255
  596. package/src/concepts/ConfigGroup__.ts +312 -296
  597. package/src/concepts/ConfigPropertyValue__.ts +92 -93
  598. package/src/concepts/ConfigProperty__.ts +374 -357
  599. package/src/concepts/Configuration__.ts +288 -276
  600. package/src/concepts/Connection__.ts +426 -0
  601. package/src/concepts/ConnectorTrigger__.ts +146 -142
  602. package/src/concepts/Connector__.ts +1090 -1048
  603. package/src/concepts/Constant__.ts +226 -219
  604. package/src/concepts/DataElement__.ts +108 -115
  605. package/src/concepts/DataSource__.ts +508 -472
  606. package/src/concepts/DatabaseTypeAnnotation__.ts +53 -59
  607. package/src/concepts/Destination__.ts +808 -746
  608. package/src/concepts/End__.ts +85 -89
  609. package/src/concepts/EntityIndex__.ts +206 -202
  610. package/src/concepts/EntityProperty__.ts +825 -791
  611. package/src/concepts/Entity__.ts +921 -864
  612. package/src/concepts/EnumItem__.ts +133 -125
  613. package/src/concepts/Enum__.ts +347 -337
  614. package/src/concepts/Event__.ts +305 -292
  615. package/src/concepts/ExternalDestination__.ts +269 -280
  616. package/src/concepts/ForEachStatement__.ts +583 -531
  617. package/src/concepts/FrontendLibrary__.ts +507 -485
  618. package/src/concepts/FrontendVariable__.ts +44 -49
  619. package/src/concepts/Frontend__.ts +1239 -1187
  620. package/src/concepts/Function__.ts +1110 -1045
  621. package/src/concepts/Identifier__.ts +276 -272
  622. package/src/concepts/IfStatement__.ts +467 -436
  623. package/src/concepts/Integration__.ts +136 -137
  624. package/src/concepts/InterfaceParam__.ts +239 -238
  625. package/src/concepts/Interface__.ts +969 -948
  626. package/src/concepts/JSBlock__.ts +83 -83
  627. package/src/concepts/JavaLogic__.ts +101 -106
  628. package/src/concepts/LogicItem__.ts +307 -237
  629. package/src/concepts/Logic__.ts +2301 -2088
  630. package/src/concepts/MatchCase__.ts +886 -779
  631. package/src/concepts/Match__.ts +728 -659
  632. package/src/concepts/MemberExpression__.ts +330 -311
  633. package/src/concepts/MicroApp__.ts +91 -97
  634. package/src/concepts/Module__.ts +2590 -2278
  635. package/src/concepts/MsgTriggerEvent__.ts +297 -281
  636. package/src/concepts/MsgTriggerLauncher__.ts +286 -256
  637. package/src/concepts/Namespace__.ts +2579 -2466
  638. package/src/concepts/NewComposite__.ts +1487 -1350
  639. package/src/concepts/NewList__.ts +464 -450
  640. package/src/concepts/NewMap__.ts +691 -674
  641. package/src/concepts/New__.ts +42 -49
  642. package/src/concepts/NullLiteral__.ts +66 -72
  643. package/src/concepts/NumericLiteral__.ts +169 -169
  644. package/src/concepts/OqlQueryComponent__.ts +282 -279
  645. package/src/concepts/OverriddenLogic__.ts +2142 -2097
  646. package/src/concepts/Param__.ts +500 -442
  647. package/src/concepts/Point__.ts +53 -59
  648. package/src/concepts/ProcessComponent__.ts +497 -475
  649. package/src/concepts/ProcessElement__.ts +1852 -1780
  650. package/src/concepts/ProcessOutcome__.ts +59 -64
  651. package/src/concepts/ProcessOutcomes__.ts +59 -64
  652. package/src/concepts/Process__.ts +1491 -1428
  653. package/src/concepts/QueryAggregateExpression__.ts +135 -142
  654. package/src/concepts/QueryFieldExpression__.ts +138 -142
  655. package/src/concepts/QueryFromExpression__.ts +246 -254
  656. package/src/concepts/QueryGroupByExpression__.ts +130 -136
  657. package/src/concepts/QueryJoinExpression__.ts +441 -438
  658. package/src/concepts/QueryLimitExpression__.ts +159 -166
  659. package/src/concepts/QueryOrderByExpression__.ts +173 -180
  660. package/src/concepts/QuerySelectExpression__.ts +464 -439
  661. package/src/concepts/Rect__.ts +73 -79
  662. package/src/concepts/Return__.ts +366 -345
  663. package/src/concepts/Role__.ts +146 -147
  664. package/src/concepts/SelectMembers__.ts +358 -350
  665. package/src/concepts/Slot__.ts +152 -153
  666. package/src/concepts/SqlQueryComponent__.ts +230 -228
  667. package/src/concepts/Start__.ts +45 -52
  668. package/src/concepts/StringInterpolation__.ts +323 -296
  669. package/src/concepts/StringLiteral__.ts +113 -115
  670. package/src/concepts/StructureProperty__.ts +306 -295
  671. package/src/concepts/Structure__.ts +615 -578
  672. package/src/concepts/SwitchCase__.ts +326 -290
  673. package/src/concepts/SwitchStatement__.ts +236 -229
  674. package/src/concepts/Theme__.ts +64 -68
  675. package/src/concepts/Transactional__.ts +159 -153
  676. package/src/concepts/TriggerEvent__.ts +285 -274
  677. package/src/concepts/TriggerLauncher__.ts +232 -196
  678. package/src/concepts/TypeAnnotation__.ts +1049 -1011
  679. package/src/concepts/TypeParam__.ts +48 -50
  680. package/src/concepts/UnaryExpression__.ts +163 -153
  681. package/src/concepts/Unparsed__.ts +81 -82
  682. package/src/concepts/UseComponent__.ts +53 -59
  683. package/src/concepts/ValidationRule__.ts +524 -544
  684. package/src/concepts/Variable__.ts +419 -397
  685. package/src/concepts/ViewBlock__.ts +58 -64
  686. package/src/concepts/ViewComponent__.ts +1323 -1261
  687. package/src/concepts/ViewElement__.ts +2538 -2350
  688. package/src/concepts/View__.ts +2447 -2268
  689. package/src/concepts/WhileStatement__.ts +293 -272
  690. package/src/concepts/index__.ts +2 -1
  691. package/src/concepts/types__.ts +123 -121
  692. package/src/decorators/index.ts +75 -77
  693. package/src/decorators/promise.ts +28 -0
  694. package/src/enums/KEYWORDS.ts +1228 -1228
  695. package/src/enums/LEVEL_NAME_MAP.ts +24 -24
  696. package/src/generator/compileComponent.ts +10 -10
  697. package/src/generator/genBundleFiles.ts +300 -291
  698. package/src/generator/genHash.ts +2 -2
  699. package/src/generator/genMetaData.ts +280 -261
  700. package/src/generator/genReleaseBody.ts +312 -291
  701. package/src/generator/icestark.ts +1 -1
  702. package/src/generator/microApp.ts +17 -20
  703. package/src/generator/permission.ts +227 -218
  704. package/src/generator/qiankun.ts +1 -1
  705. package/src/generator/styleReplacer.ts +28 -31
  706. package/src/index.ts +0 -3
  707. package/src/manager/diagnostic.ts +84 -82
  708. package/src/manager/stepRecorder.ts +106 -94
  709. package/src/natural/RequirementAnalyzer.ts +208 -0
  710. package/src/natural/RequirementExecutor.ts +685 -0
  711. package/src/natural/componentData.ts +81 -0
  712. package/src/natural/genNaturalTS.ts +77 -0
  713. package/src/natural/index.ts +4 -0
  714. package/src/natural/knowledgeMap.ts +39 -0
  715. package/src/natural/naslStdlibMap.ts +24 -0
  716. package/src/natural/transformTSCode.ts +692 -0
  717. package/src/sentry/index.ts +109 -104
  718. package/src/server/createUiTs.ts +190 -184
  719. package/src/server/entity2LogicNamespace.ts +379 -359
  720. package/src/server/event.js +145 -145
  721. package/src/server/extendBaseNode.ts +461 -456
  722. package/src/server/formatTsUtils.ts +712 -713
  723. package/src/server/getConnector.ts +33 -33
  724. package/src/server/getExtensionModules.ts +23 -22
  725. package/src/server/getFunctions.ts +6 -6
  726. package/src/server/getInterfaces.ts +38 -37
  727. package/src/server/getLogging.ts +1 -1
  728. package/src/server/getLogics.ts +390 -344
  729. package/src/server/getMemberIdentifier.ts +286 -281
  730. package/src/server/getProcessComponents.ts +2 -2
  731. package/src/server/getProcesses.ts +548 -534
  732. package/src/server/getScope.ts +51 -51
  733. package/src/server/getValidates.ts +3 -3
  734. package/src/server/index.ts +29 -30
  735. package/src/server/naslServer.ts +4302 -4225
  736. package/src/server/naslStdlibMap.ts +43 -41
  737. package/src/server/process2LogicNamespace.ts +97 -97
  738. package/src/server/translator.ts +740 -746
  739. package/src/service/storage/init.ts +761 -728
  740. package/src/templator/genCallComponentLogic.ts +14 -15
  741. package/src/templator/genCreateBlock.ts +257 -229
  742. package/src/templator/genCurdEditMultipleKeyBlock.ts +332 -316
  743. package/src/templator/genCurdMultipleKeyBlock.ts +501 -473
  744. package/src/templator/genEditTableBlock.ts +192 -182
  745. package/src/templator/genEnumSelectBlock.ts +13 -7
  746. package/src/templator/genGetBlock.ts +57 -55
  747. package/src/templator/genGridViewBlock.ts +191 -201
  748. package/src/templator/genListViewBlock.ts +59 -64
  749. package/src/templator/genQueryComponent.ts +337 -287
  750. package/src/templator/genSelectBlock.ts +276 -285
  751. package/src/templator/genTableBlock.ts +157 -160
  752. package/src/templator/genUpdateBlock.ts +269 -255
  753. package/src/templator/index.ts +4 -4
  754. package/src/templator/utils.ts +490 -464
  755. package/src/translator/index.ts +84 -84
  756. package/src/translator/lsp.ts +22 -22
  757. package/src/translator/tsp.ts +6 -6
  758. package/src/utils/index.ts +115 -117
  759. package/src/utils/logger.ts +3 -4
  760. package/src/utils/sortTsString.ts +34 -32
  761. package/src/utils/string.ts +47 -48
  762. package/src/utils/time-slicing.ts +109 -0
  763. package/src/utils/traverse.ts +114 -126
  764. package/test/concepts/match/__snapshots__/toEmbeddedTS.spec.ts.snap +66 -0
  765. package/test/concepts/match/__snapshots__/toJS.spec.ts.snap +40 -0
  766. package/test/concepts/match/constant.ts +5 -0
  767. package/test/concepts/match/fixtures/isExpression.json +259 -0
  768. package/test/concepts/match/fixtures/lastBodyIf.json +268 -0
  769. package/test/concepts/match/fixtures/noExpression.json +176 -0
  770. package/test/concepts/match/toEmbeddedTS.spec.ts +14 -0
  771. package/test/concepts/match/toJS.spec.ts +14 -0
  772. package/test/setup.ts +2 -1
  773. package/ts-worker/src/index.js +0 -2
  774. package/tsconfig.json +21 -21
@@ -1,12 +1,12 @@
1
- //================================================================================
1
+ //= ===============================================================================
2
2
  // 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
3
3
  // ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
4
- //================================================================================
4
+ //= ===============================================================================
5
+ import { v4 as uuidv4 } from 'uuid';
5
6
  import { EventPayload, Params } from '../common/EventEmitter';
6
7
  import { concept, excludedInJSON, property } from '../decorators';
7
8
 
8
9
  import * as utils from '../utils';
9
- import { v4 as uuidv4 } from 'uuid';
10
10
  import BaseNode from '../common/BaseNode';
11
11
  import classMap from '../common/classMap';
12
12
  import Param from './Param__';
@@ -25,1069 +25,1111 @@ import Process from './Process__';
25
25
  */
26
26
  @concept('连接器')
27
27
  export class Connector extends Module {
28
- /**
29
- * 产品概念
30
- */
31
- @property()
32
- concept: 'Connector' = 'Connector';
33
-
34
- /**
35
- * 连接器名称
36
- */
37
- @property()
38
- name: string = undefined;
39
-
40
- /**
41
- * connectorKind
42
- */
43
- @property()
44
- connectorKind: string = undefined;
45
-
46
- /**
47
- * 输入参数列表
48
- */
49
- @property('Param')
50
- properties: Array<Param> = [];
51
-
52
- /**
53
- * 逻辑列表
54
- */
55
- @property('Logic')
56
- logics: Array<Logic> = [];
57
-
58
- /**
59
- * 连接器Trigger列表
60
- */
61
- @property('ConnectorTrigger')
62
- triggers: Array<ConnectorTrigger> = [];
63
-
64
- /**
65
- * 数据结构列表
66
- */
67
- @property('Structure')
68
- structures: Array<Structure> = [];
69
-
70
- /**
71
- * compilerInfoMap
72
- */
73
- @property()
28
+ /**
29
+ * 产品概念
30
+ */
31
+ @property()
32
+ concept: 'Connector' = 'Connector';
33
+
34
+ /**
35
+ * 连接器名称
36
+ */
37
+ @property()
38
+ name: string = undefined;
39
+
40
+ /**
41
+ * connectorKind
42
+ */
43
+ @property()
44
+ connectorKind: string = undefined;
45
+
46
+ /**
47
+ * 输入参数列表
48
+ */
49
+ @property('Param')
50
+ properties: Array<Param> = [];
51
+
52
+ /**
53
+ * 逻辑列表
54
+ */
55
+ @property('Logic')
56
+ logics: Array<Logic> = [];
57
+
58
+ /**
59
+ * 连接器Trigger列表
60
+ */
61
+ @property('ConnectorTrigger')
62
+ triggers: Array<ConnectorTrigger> = [];
63
+
64
+ /**
65
+ * 数据结构列表
66
+ */
67
+ @property('Structure')
68
+ structures: Array<Structure> = [];
69
+
70
+ /**
71
+ * compilerInfoMap
72
+ */
73
+ @property()
74
+ // @ts-ignore
75
+ compilerInfoMap: Map<string, string> = undefined;
76
+
77
+ /**
78
+ * createLogic
79
+ */
80
+ @property('Logic')
81
+ createLogic: undefined = undefined;
82
+
83
+ /**
84
+ * testConnectorLogic
85
+ */
86
+ @property('Logic')
87
+ testConnectorLogic: undefined = undefined;
88
+
89
+ /**
90
+ * 祖先 Module
91
+ */
92
+ get module() {
93
+ return this.getAncestor('Module') as Module;
94
+ }
95
+
96
+ /**
97
+ * 祖先 App
98
+ */
99
+ get app() {
100
+ return this.getAncestor('App') as App;
101
+ }
102
+
103
+ /**
104
+ * 祖先 View
105
+ */
106
+ get view() {
107
+ return this.getAncestor('View') as View;
108
+ }
109
+
110
+ /**
111
+ * 祖先 Frontend
112
+ */
113
+ get frontend() {
114
+ return this.getAncestor('Frontend') as Frontend;
115
+ }
116
+
117
+ /**
118
+ * 祖先 ProcessElement
119
+ */
120
+ get processElement() {
121
+ return this.getAncestor('ProcessElement') as ProcessElement;
122
+ }
123
+
124
+ /**
125
+ * 祖先 Process
126
+ */
127
+ get process() {
128
+ return this.getAncestor('Process') as Process;
129
+ }
130
+
131
+ /**
132
+ * @param source 需要合并的部分参数
133
+ */
134
+ constructor(source?: Partial<Connector>) {
74
135
  // @ts-ignore
75
- compilerInfoMap: Map<string, string> = undefined;
76
-
77
- /**
78
- * createLogic
79
- */
80
- @property('Logic')
81
- createLogic: undefined = undefined;
82
-
83
- /**
84
- * testConnectorLogic
85
- */
86
- @property('Logic')
87
- testConnectorLogic: undefined = undefined;
88
-
89
- /**
90
- * 祖先 Module
91
- */
92
- get module() {
93
- return this.getAncestor('Module') as Module;
94
- }
95
- /**
96
- * 祖先 App
97
- */
98
- get app() {
99
- return this.getAncestor('App') as App;
100
- }
101
- /**
102
- * 祖先 View
103
- */
104
- get view() {
105
- return this.getAncestor('View') as View;
106
- }
107
- /**
108
- * 祖先 Frontend
109
- */
110
- get frontend() {
111
- return this.getAncestor('Frontend') as Frontend;
112
- }
113
- /**
114
- * 祖先 ProcessElement
115
- */
116
- get processElement() {
117
- return this.getAncestor('ProcessElement') as ProcessElement;
118
- }
119
- /**
120
- * 祖先 Process
121
- */
122
- get process() {
123
- return this.getAncestor('Process') as Process;
124
- }
125
-
126
- /**
127
- * @param source 需要合并的部分参数
128
- */
129
- constructor(source?: Partial<Connector>) {
130
- source = Object.assign({}, Connector.getDefaultOptions(), source);
131
- super(source as any);
132
- super.subConstructor(source);
133
- }
134
- getClassName() {
135
- return 'Connector';
136
- }
137
-
138
- static from(source: any, parentNode?: any, parentKey?: string): Connector {
139
- return super.from(source, parentNode, parentKey) as Connector;
140
- }
141
-
142
-
143
- /**
144
- * 设置连接器名称
145
- */
146
- setName(name: string) {
147
- const object = {
148
- name,
149
- };
150
- this.update({
151
- ...object,
152
- field: 'name',
153
- });
154
- }
155
-
156
- /**
157
- * 设置connectorKind
158
- */
159
- setConnectorKind(connectorKind: string) {
160
- const object = {
161
- connectorKind,
162
- };
163
- this.update({
164
- ...object,
165
- });
166
- }
167
-
168
- /**
169
- * 设置输入参数列表
170
- */
171
- setProperties(properties: Array<Param>) {
172
- const object = {
173
- properties,
174
- };
175
- this.update({
176
- ...object,
177
- });
178
- }
179
-
180
- /**
181
- * 设置逻辑列表
182
- */
183
- setLogics(logics: Array<Logic>) {
184
- const object = {
185
- logics,
186
- };
187
- this.update({
188
- ...object,
189
- });
190
- }
191
-
192
- /**
193
- * 设置连接器Trigger列表
194
- */
195
- setTriggers(triggers: Array<ConnectorTrigger>) {
196
- const object = {
197
- triggers,
198
- };
199
- this.update({
200
- ...object,
201
- });
202
- }
203
-
204
- /**
205
- * 设置数据结构列表
206
- */
207
- setStructures(structures: Array<Structure>) {
208
- const object = {
209
- structures,
210
- };
211
- this.update({
212
- ...object,
213
- });
214
- }
215
-
216
- /**
217
- * 设置compilerInfoMap
218
- */
219
- setCompilerInfoMap(compilerInfoMap: Map<string, string>) {
220
- const object = {
221
- compilerInfoMap,
222
- };
223
- this.update({
224
- ...object,
225
- });
226
- }
227
-
228
- /**
229
- * 设置createLogic
230
- */
231
- setCreateLogic(createLogic: undefined) {
232
- const object = {
233
- createLogic,
234
- };
235
- this.update({
236
- ...object,
237
- });
238
- }
239
-
240
- /**
241
- * 设置testConnectorLogic
242
- */
243
- setTestConnectorLogic(testConnectorLogic: undefined) {
244
- const object = {
245
- testConnectorLogic,
246
- };
247
- this.update({
248
- ...object,
249
- });
250
- }
251
-
252
- getParamExistingNames(excludedList: Array<Param> = []) {
253
- const excludedSet = new Set(excludedList);
254
- return ((this.properties as Param[]) || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
255
- }
256
- getParamUniqueName(name = 'param1') {
257
- return utils.unique(name, this.getParamExistingNames(), undefined, false);
258
- }
259
-
260
- /**
261
- * 插入输入参数
262
- * @internal
263
- * @param name 输入参数名称,如果不填会自动生成一个唯一名称
264
- */
265
- _insertParamAt(name: string, index: number): Param;
266
-
267
- /**
268
- * 插入输入参数
269
- * @internal
270
- * @param paramOptions 输入参数参数
271
- */
272
- _insertParamAt(paramOptions: Partial<Param>, index: number): Param;
273
-
274
- /**
275
- * 插入输入参数
276
- * @internal
277
- * @param param 已有的输入参数实例
278
- */
279
- _insertParamAt(param: Param, index: number): Param;
280
-
281
- _insertParamAt(options: string | Partial<Param> | Param, index: number) {
282
- const paramOptions: any = {};
283
- const relationOptions = { parentNode: this, parentKey: 'properties' };
284
- let param: Param;
285
- if (!options) {
286
- param = Param.from({
287
- ...paramOptions,
288
- name: this.getParamUniqueName(),
289
- }, this, 'properties');
290
- } else if (typeof options === 'string') {
291
- param = Param.from({
292
- ...paramOptions,
293
- name: options,
294
- }, this, 'properties');
295
- } else if (options instanceof Param) {
296
- options.ensureDelete(); // 同一实例不支持多处存在
297
- param = options;
298
- Object.assign(param, relationOptions);
299
- } else {
300
- param = Param.from({
301
- ...paramOptions,
302
- ...options,
303
- }, this, 'properties');
304
- }
305
- this.properties.splice(index, 0, param);
306
- return param;
307
- }
308
-
309
- /**
310
- * 插入输入参数
311
- * @param name 输入参数名称,如果不填会自动生成一个唯一名称
312
- */
313
- insertParamAt(name: string, index: number): Param;
314
-
315
- /**
316
- * 插入输入参数
317
- * @param paramOptions 输入参数参数
318
- */
319
- insertParamAt(paramOptions: Partial<Param>, index: number): Param;
320
-
321
- /**
322
- * 插入输入参数
323
- * @param param 已有的输入参数实例
324
- */
325
- insertParamAt(param: Param, index: number): Param;
326
-
327
- insertParamAt(options: string | Partial<Param> | Param, index: number) {
328
- const node = this._insertParamAt(options as any, index);
329
- node.create({
330
- index,
331
- parentNode: this,
332
- parentKey: 'properties',
333
- });
334
- return node;
335
- }
336
-
337
- /**
338
- * 添加输入参数
339
- * @internal
340
- * @param name 输入参数名称,如果不填会自动生成一个唯一名称
341
- */
342
- _addParam(name?: string): Param;
343
-
344
- /**
345
- * 添加输入参数
346
- * @internal
347
- * @param paramOptions 输入参数参数
348
- */
349
- _addParam(paramOptions: Partial<Param>): Param;
350
-
351
- /**
352
- * 添加输入参数
353
- * @internal
354
- * @param param 已有的输入参数实例
355
- */
356
- _addParam(param: Param): Param;
357
-
358
- _addParam(options?: string | Partial<Param> | Param) {
359
- const index = this.properties.length;
360
- return this._insertParamAt(options as any, index);
136
+ source = { ...Connector.getDefaultOptions(), ...source };
137
+ super(source as any);
138
+ super.subConstructor(source);
139
+ }
140
+
141
+ getClassName() {
142
+ return 'Connector';
143
+ }
144
+
145
+ static from(source: any, parentNode?: any, parentKey?: string): Connector {
146
+ return super.from(source, parentNode, parentKey) as Connector;
147
+ }
148
+
149
+ /**
150
+ * 设置连接器名称
151
+ */
152
+ setName(name: string) {
153
+ const object = {
154
+ name,
155
+ };
156
+ this.update({
157
+ ...object,
158
+ field: 'name',
159
+ });
160
+ }
161
+
162
+ /**
163
+ * 设置connectorKind
164
+ */
165
+ setConnectorKind(connectorKind: string) {
166
+ const object = {
167
+ connectorKind,
168
+ };
169
+ this.update({
170
+ ...object,
171
+ });
172
+ }
173
+
174
+ /**
175
+ * 设置输入参数列表
176
+ */
177
+ setProperties(properties: Array<Param>) {
178
+ const object = {
179
+ properties,
180
+ };
181
+ this.update({
182
+ ...object,
183
+ });
184
+ }
185
+
186
+ /**
187
+ * 设置逻辑列表
188
+ */
189
+ setLogics(logics: Array<Logic>) {
190
+ const object = {
191
+ logics,
192
+ };
193
+ this.update({
194
+ ...object,
195
+ });
196
+ }
197
+
198
+ /**
199
+ * 设置连接器Trigger列表
200
+ */
201
+ setTriggers(triggers: Array<ConnectorTrigger>) {
202
+ const object = {
203
+ triggers,
204
+ };
205
+ this.update({
206
+ ...object,
207
+ });
208
+ }
209
+
210
+ /**
211
+ * 设置数据结构列表
212
+ */
213
+ setStructures(structures: Array<Structure>) {
214
+ const object = {
215
+ structures,
216
+ };
217
+ this.update({
218
+ ...object,
219
+ });
220
+ }
221
+
222
+ /**
223
+ * 设置compilerInfoMap
224
+ */
225
+ setCompilerInfoMap(compilerInfoMap: Map<string, string>) {
226
+ const object = {
227
+ compilerInfoMap,
228
+ };
229
+ this.update({
230
+ ...object,
231
+ });
232
+ }
233
+
234
+ /**
235
+ * 设置createLogic
236
+ */
237
+ setCreateLogic(createLogic: undefined) {
238
+ const object = {
239
+ createLogic,
240
+ };
241
+ this.update({
242
+ ...object,
243
+ });
244
+ }
245
+
246
+ /**
247
+ * 设置testConnectorLogic
248
+ */
249
+ setTestConnectorLogic(testConnectorLogic: undefined) {
250
+ const object = {
251
+ testConnectorLogic,
252
+ };
253
+ this.update({
254
+ ...object,
255
+ });
256
+ }
257
+
258
+ getParamExistingNames(excludedList: Array<Param> = []) {
259
+ const excludedSet = new Set(excludedList);
260
+ return ((this.properties as Param[]) || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
261
+ }
262
+
263
+ getParamUniqueName(name = 'param1') {
264
+ return utils.unique(name, this.getParamExistingNames(), undefined, false);
265
+ }
266
+
267
+ /**
268
+ * 插入输入参数
269
+ * @internal
270
+ * @param name 输入参数名称,如果不填会自动生成一个唯一名称
271
+ */
272
+ _insertParamAt(name: string, index: number): Param;
273
+
274
+ /**
275
+ * 插入输入参数
276
+ * @internal
277
+ * @param paramOptions 输入参数参数
278
+ */
279
+ _insertParamAt(paramOptions: Partial<Param>, index: number): Param;
280
+
281
+ /**
282
+ * 插入输入参数
283
+ * @internal
284
+ * @param param 已有的输入参数实例
285
+ */
286
+ _insertParamAt(param: Param, index: number): Param;
287
+
288
+ _insertParamAt(options: string | Partial<Param> | Param, index: number) {
289
+ const paramOptions: any = {};
290
+ const relationOptions = { parentNode: this, parentKey: 'properties' };
291
+ let param: Param;
292
+ if (!options) {
293
+ param = Param.from(
294
+ {
295
+ ...paramOptions,
296
+ name: this.getParamUniqueName(),
297
+ },
298
+ this,
299
+ 'properties'
300
+ );
301
+ } else if (typeof options === 'string') {
302
+ param = Param.from(
303
+ {
304
+ ...paramOptions,
305
+ name: options,
306
+ },
307
+ this,
308
+ 'properties'
309
+ );
310
+ } else if (options instanceof Param) {
311
+ options.ensureDelete(); // 同一实例不支持多处存在
312
+ param = options;
313
+ Object.assign(param, relationOptions);
314
+ } else {
315
+ param = Param.from(
316
+ {
317
+ ...paramOptions,
318
+ ...options,
319
+ },
320
+ this,
321
+ 'properties'
322
+ );
361
323
  }
362
-
363
- /**
364
- * 添加输入参数
365
- * @internal
366
- * @param name 输入参数名称,如果不填会自动生成一个唯一名称
367
- */
368
- addParam(name?: string): Param;
369
-
370
- /**
371
- * 添加输入参数
372
- * @param paramOptions 输入参数参数
373
- */
374
- addParam(paramOptions: Partial<Param>): Param;
375
-
376
- /**
377
- * 添加输入参数
378
- * @param param 已有的输入参数实例
379
- */
380
- addParam(param: Param): Param;
381
-
382
- addParam(options?: string | Partial<Param> | Param) {
383
- const node = this._addParam(options as any);
384
- const index = this.properties.indexOf(node);
385
- node.create({
386
- index,
387
- parentNode: this,
388
- parentKey: 'properties',
389
- });
390
- return node;
324
+ this.properties.splice(index, 0, param);
325
+ return param;
326
+ }
327
+
328
+ /**
329
+ * 插入输入参数
330
+ * @param name 输入参数名称,如果不填会自动生成一个唯一名称
331
+ */
332
+ insertParamAt(name: string, index: number): Param;
333
+
334
+ /**
335
+ * 插入输入参数
336
+ * @param paramOptions 输入参数参数
337
+ */
338
+ insertParamAt(paramOptions: Partial<Param>, index: number): Param;
339
+
340
+ /**
341
+ * 插入输入参数
342
+ * @param param 已有的输入参数实例
343
+ */
344
+ insertParamAt(param: Param, index: number): Param;
345
+
346
+ insertParamAt(options: string | Partial<Param> | Param, index: number) {
347
+ const node = this._insertParamAt(options as any, index);
348
+ node.create({
349
+ index,
350
+ parentNode: this,
351
+ parentKey: 'properties',
352
+ });
353
+ return node;
354
+ }
355
+
356
+ /**
357
+ * 添加输入参数
358
+ * @internal
359
+ * @param name 输入参数名称,如果不填会自动生成一个唯一名称
360
+ */
361
+ _addParam(name?: string): Param;
362
+
363
+ /**
364
+ * 添加输入参数
365
+ * @internal
366
+ * @param paramOptions 输入参数参数
367
+ */
368
+ _addParam(paramOptions: Partial<Param>): Param;
369
+
370
+ /**
371
+ * 添加输入参数
372
+ * @internal
373
+ * @param param 已有的输入参数实例
374
+ */
375
+ _addParam(param: Param): Param;
376
+
377
+ _addParam(options?: string | Partial<Param> | Param) {
378
+ const index = this.properties.length;
379
+ return this._insertParamAt(options as any, index);
380
+ }
381
+
382
+ /**
383
+ * 添加输入参数
384
+ * @internal
385
+ * @param name 输入参数名称,如果不填会自动生成一个唯一名称
386
+ */
387
+ addParam(name?: string): Param;
388
+
389
+ /**
390
+ * 添加输入参数
391
+ * @param paramOptions 输入参数参数
392
+ */
393
+ addParam(paramOptions: Partial<Param>): Param;
394
+
395
+ /**
396
+ * 添加输入参数
397
+ * @param param 已有的输入参数实例
398
+ */
399
+ addParam(param: Param): Param;
400
+
401
+ addParam(options?: string | Partial<Param> | Param) {
402
+ const node = this._addParam(options as any);
403
+ const index = this.properties.indexOf(node);
404
+ node.create({
405
+ index,
406
+ parentNode: this,
407
+ parentKey: 'properties',
408
+ });
409
+ return node;
410
+ }
411
+
412
+ getLogicExistingNames(excludedList: Array<Logic> = []) {
413
+ const excludedSet = new Set(excludedList);
414
+ return ((this.logics as Logic[]) || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
415
+ }
416
+
417
+ getLogicUniqueName(name = 'logic1') {
418
+ return utils.unique(name, this.getLogicExistingNames(), undefined, false);
419
+ }
420
+
421
+ /**
422
+ * 插入逻辑
423
+ * @internal
424
+ * @param name 逻辑名称,如果不填会自动生成一个唯一名称
425
+ */
426
+ _insertLogicAt(name: string, index: number): Logic;
427
+
428
+ /**
429
+ * 插入逻辑
430
+ * @internal
431
+ * @param logicOptions 逻辑参数
432
+ */
433
+ _insertLogicAt(logicOptions: Partial<Logic>, index: number): Logic;
434
+
435
+ /**
436
+ * 插入逻辑
437
+ * @internal
438
+ * @param logic 已有的逻辑实例
439
+ */
440
+ _insertLogicAt(logic: Logic, index: number): Logic;
441
+
442
+ _insertLogicAt(options: string | Partial<Logic> | Logic, index: number) {
443
+ const logicOptions: any = {};
444
+ const relationOptions = { parentNode: this, parentKey: 'logics' };
445
+ let logic: Logic;
446
+ if (!options) {
447
+ logic = Logic.from(
448
+ {
449
+ ...logicOptions,
450
+ name: this.getLogicUniqueName(),
451
+ },
452
+ this,
453
+ 'logics'
454
+ );
455
+ } else if (typeof options === 'string') {
456
+ logic = Logic.from(
457
+ {
458
+ ...logicOptions,
459
+ name: options,
460
+ },
461
+ this,
462
+ 'logics'
463
+ );
464
+ } else if (options instanceof Logic) {
465
+ options.ensureDelete(); // 同一实例不支持多处存在
466
+ logic = options;
467
+ Object.assign(logic, relationOptions);
468
+ } else {
469
+ logic = Logic.from(
470
+ {
471
+ ...logicOptions,
472
+ ...options,
473
+ },
474
+ this,
475
+ 'logics'
476
+ );
391
477
  }
392
-
393
-
394
- getLogicExistingNames(excludedList: Array<Logic> = []) {
395
- const excludedSet = new Set(excludedList);
396
- return ((this.logics as Logic[]) || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
478
+ this.logics.splice(index, 0, logic);
479
+ return logic;
480
+ }
481
+
482
+ /**
483
+ * 插入逻辑
484
+ * @param name 逻辑名称,如果不填会自动生成一个唯一名称
485
+ */
486
+ insertLogicAt(name: string, index: number): Logic;
487
+
488
+ /**
489
+ * 插入逻辑
490
+ * @param logicOptions 逻辑参数
491
+ */
492
+ insertLogicAt(logicOptions: Partial<Logic>, index: number): Logic;
493
+
494
+ /**
495
+ * 插入逻辑
496
+ * @param logic 已有的逻辑实例
497
+ */
498
+ insertLogicAt(logic: Logic, index: number): Logic;
499
+
500
+ insertLogicAt(options: string | Partial<Logic> | Logic, index: number) {
501
+ const node = this._insertLogicAt(options as any, index);
502
+ node.create({
503
+ index,
504
+ parentNode: this,
505
+ parentKey: 'logics',
506
+ });
507
+ return node;
508
+ }
509
+
510
+ /**
511
+ * 添加逻辑
512
+ * @internal
513
+ * @param name 逻辑名称,如果不填会自动生成一个唯一名称
514
+ */
515
+ _addLogic(name?: string): Logic;
516
+
517
+ /**
518
+ * 添加逻辑
519
+ * @internal
520
+ * @param logicOptions 逻辑参数
521
+ */
522
+ _addLogic(logicOptions: Partial<Logic>): Logic;
523
+
524
+ /**
525
+ * 添加逻辑
526
+ * @internal
527
+ * @param logic 已有的逻辑实例
528
+ */
529
+ _addLogic(logic: Logic): Logic;
530
+
531
+ _addLogic(options?: string | Partial<Logic> | Logic) {
532
+ const index = this.logics.length;
533
+ return this._insertLogicAt(options as any, index);
534
+ }
535
+
536
+ /**
537
+ * 添加逻辑
538
+ * @internal
539
+ * @param name 逻辑名称,如果不填会自动生成一个唯一名称
540
+ */
541
+ addLogic(name?: string): Logic;
542
+
543
+ /**
544
+ * 添加逻辑
545
+ * @param logicOptions 逻辑参数
546
+ */
547
+ addLogic(logicOptions: Partial<Logic>): Logic;
548
+
549
+ /**
550
+ * 添加逻辑
551
+ * @param logic 已有的逻辑实例
552
+ */
553
+ addLogic(logic: Logic): Logic;
554
+
555
+ addLogic(options?: string | Partial<Logic> | Logic) {
556
+ const node = this._addLogic(options as any);
557
+ const index = this.logics.indexOf(node);
558
+ node.create({
559
+ index,
560
+ parentNode: this,
561
+ parentKey: 'logics',
562
+ });
563
+ return node;
564
+ }
565
+
566
+ getConnectorTriggerExistingNames(excludedList: Array<ConnectorTrigger> = []) {
567
+ const excludedSet = new Set(excludedList);
568
+ return ((this.triggers as ConnectorTrigger[]) || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
569
+ }
570
+
571
+ getConnectorTriggerUniqueName(name = 'connectorTrigger1') {
572
+ return utils.unique(name, this.getConnectorTriggerExistingNames(), undefined, false);
573
+ }
574
+
575
+ /**
576
+ * 插入连接器Trigger
577
+ * @internal
578
+ * @param name 连接器Trigger名称,如果不填会自动生成一个唯一名称
579
+ */
580
+ _insertConnectorTriggerAt(name: string, index: number): ConnectorTrigger;
581
+
582
+ /**
583
+ * 插入连接器Trigger
584
+ * @internal
585
+ * @param connectorTriggerOptions 连接器Trigger参数
586
+ */
587
+ _insertConnectorTriggerAt(connectorTriggerOptions: Partial<ConnectorTrigger>, index: number): ConnectorTrigger;
588
+
589
+ /**
590
+ * 插入连接器Trigger
591
+ * @internal
592
+ * @param connectorTrigger 已有的连接器Trigger实例
593
+ */
594
+ _insertConnectorTriggerAt(connectorTrigger: ConnectorTrigger, index: number): ConnectorTrigger;
595
+
596
+ _insertConnectorTriggerAt(options: string | Partial<ConnectorTrigger> | ConnectorTrigger, index: number) {
597
+ const connectorTriggerOptions: any = {};
598
+ const relationOptions = { parentNode: this, parentKey: 'triggers' };
599
+ let connectorTrigger: ConnectorTrigger;
600
+ if (!options) {
601
+ connectorTrigger = ConnectorTrigger.from(
602
+ {
603
+ ...connectorTriggerOptions,
604
+ name: this.getConnectorTriggerUniqueName(),
605
+ },
606
+ this,
607
+ 'triggers'
608
+ );
609
+ } else if (typeof options === 'string') {
610
+ connectorTrigger = ConnectorTrigger.from(
611
+ {
612
+ ...connectorTriggerOptions,
613
+ name: options,
614
+ },
615
+ this,
616
+ 'triggers'
617
+ );
618
+ } else if (options instanceof ConnectorTrigger) {
619
+ options.ensureDelete(); // 同一实例不支持多处存在
620
+ connectorTrigger = options;
621
+ Object.assign(connectorTrigger, relationOptions);
622
+ } else {
623
+ connectorTrigger = ConnectorTrigger.from(
624
+ {
625
+ ...connectorTriggerOptions,
626
+ ...options,
627
+ },
628
+ this,
629
+ 'triggers'
630
+ );
397
631
  }
398
- getLogicUniqueName(name = 'logic1') {
399
- return utils.unique(name, this.getLogicExistingNames(), undefined, false);
632
+ this.triggers.splice(index, 0, connectorTrigger);
633
+ return connectorTrigger;
634
+ }
635
+
636
+ /**
637
+ * 插入连接器Trigger
638
+ * @param name 连接器Trigger名称,如果不填会自动生成一个唯一名称
639
+ */
640
+ insertConnectorTriggerAt(name: string, index: number): ConnectorTrigger;
641
+
642
+ /**
643
+ * 插入连接器Trigger
644
+ * @param connectorTriggerOptions 连接器Trigger参数
645
+ */
646
+ insertConnectorTriggerAt(connectorTriggerOptions: Partial<ConnectorTrigger>, index: number): ConnectorTrigger;
647
+
648
+ /**
649
+ * 插入连接器Trigger
650
+ * @param connectorTrigger 已有的连接器Trigger实例
651
+ */
652
+ insertConnectorTriggerAt(connectorTrigger: ConnectorTrigger, index: number): ConnectorTrigger;
653
+
654
+ insertConnectorTriggerAt(options: string | Partial<ConnectorTrigger> | ConnectorTrigger, index: number) {
655
+ const node = this._insertConnectorTriggerAt(options as any, index);
656
+ node.create({
657
+ index,
658
+ parentNode: this,
659
+ parentKey: 'triggers',
660
+ });
661
+ return node;
662
+ }
663
+
664
+ /**
665
+ * 添加连接器Trigger
666
+ * @internal
667
+ * @param name 连接器Trigger名称,如果不填会自动生成一个唯一名称
668
+ */
669
+ _addConnectorTrigger(name?: string): ConnectorTrigger;
670
+
671
+ /**
672
+ * 添加连接器Trigger
673
+ * @internal
674
+ * @param connectorTriggerOptions 连接器Trigger参数
675
+ */
676
+ _addConnectorTrigger(connectorTriggerOptions: Partial<ConnectorTrigger>): ConnectorTrigger;
677
+
678
+ /**
679
+ * 添加连接器Trigger
680
+ * @internal
681
+ * @param connectorTrigger 已有的连接器Trigger实例
682
+ */
683
+ _addConnectorTrigger(connectorTrigger: ConnectorTrigger): ConnectorTrigger;
684
+
685
+ _addConnectorTrigger(options?: string | Partial<ConnectorTrigger> | ConnectorTrigger) {
686
+ const index = this.triggers.length;
687
+ return this._insertConnectorTriggerAt(options as any, index);
688
+ }
689
+
690
+ /**
691
+ * 添加连接器Trigger
692
+ * @internal
693
+ * @param name 连接器Trigger名称,如果不填会自动生成一个唯一名称
694
+ */
695
+ addConnectorTrigger(name?: string): ConnectorTrigger;
696
+
697
+ /**
698
+ * 添加连接器Trigger
699
+ * @param connectorTriggerOptions 连接器Trigger参数
700
+ */
701
+ addConnectorTrigger(connectorTriggerOptions: Partial<ConnectorTrigger>): ConnectorTrigger;
702
+
703
+ /**
704
+ * 添加连接器Trigger
705
+ * @param connectorTrigger 已有的连接器Trigger实例
706
+ */
707
+ addConnectorTrigger(connectorTrigger: ConnectorTrigger): ConnectorTrigger;
708
+
709
+ addConnectorTrigger(options?: string | Partial<ConnectorTrigger> | ConnectorTrigger) {
710
+ const node = this._addConnectorTrigger(options as any);
711
+ const index = this.triggers.indexOf(node);
712
+ node.create({
713
+ index,
714
+ parentNode: this,
715
+ parentKey: 'triggers',
716
+ });
717
+ return node;
718
+ }
719
+
720
+ getStructureExistingNames(excludedList: Array<Structure> = []) {
721
+ const excludedSet = new Set(excludedList);
722
+ return ((this.structures as Structure[]) || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
723
+ }
724
+
725
+ getStructureUniqueName(name = 'structure1') {
726
+ return utils.unique(name, this.getStructureExistingNames(), undefined, false);
727
+ }
728
+
729
+ /**
730
+ * 插入数据结构
731
+ * @internal
732
+ * @param name 数据结构名称,如果不填会自动生成一个唯一名称
733
+ */
734
+ _insertStructureAt(name: string, index: number): Structure;
735
+
736
+ /**
737
+ * 插入数据结构
738
+ * @internal
739
+ * @param structureOptions 数据结构参数
740
+ */
741
+ _insertStructureAt(structureOptions: Partial<Structure>, index: number): Structure;
742
+
743
+ /**
744
+ * 插入数据结构
745
+ * @internal
746
+ * @param structure 已有的数据结构实例
747
+ */
748
+ _insertStructureAt(structure: Structure, index: number): Structure;
749
+
750
+ _insertStructureAt(options: string | Partial<Structure> | Structure, index: number) {
751
+ const structureOptions: any = {};
752
+ const relationOptions = { parentNode: this, parentKey: 'structures' };
753
+ let structure: Structure;
754
+ if (!options) {
755
+ structure = Structure.from(
756
+ {
757
+ ...structureOptions,
758
+ name: this.getStructureUniqueName(),
759
+ },
760
+ this,
761
+ 'structures'
762
+ );
763
+ } else if (typeof options === 'string') {
764
+ structure = Structure.from(
765
+ {
766
+ ...structureOptions,
767
+ name: options,
768
+ },
769
+ this,
770
+ 'structures'
771
+ );
772
+ } else if (options instanceof Structure) {
773
+ options.ensureDelete(); // 同一实例不支持多处存在
774
+ structure = options;
775
+ Object.assign(structure, relationOptions);
776
+ } else {
777
+ structure = Structure.from(
778
+ {
779
+ ...structureOptions,
780
+ ...options,
781
+ },
782
+ this,
783
+ 'structures'
784
+ );
400
785
  }
401
-
402
- /**
403
- * 插入逻辑
404
- * @internal
405
- * @param name 逻辑名称,如果不填会自动生成一个唯一名称
406
- */
407
- _insertLogicAt(name: string, index: number): Logic;
408
-
409
- /**
410
- * 插入逻辑
411
- * @internal
412
- * @param logicOptions 逻辑参数
413
- */
414
- _insertLogicAt(logicOptions: Partial<Logic>, index: number): Logic;
415
-
416
- /**
417
- * 插入逻辑
418
- * @internal
419
- * @param logic 已有的逻辑实例
420
- */
421
- _insertLogicAt(logic: Logic, index: number): Logic;
422
-
423
- _insertLogicAt(options: string | Partial<Logic> | Logic, index: number) {
424
- const logicOptions: any = {};
425
- const relationOptions = { parentNode: this, parentKey: 'logics' };
426
- let logic: Logic;
427
- if (!options) {
428
- logic = Logic.from({
429
- ...logicOptions,
430
- name: this.getLogicUniqueName(),
431
- }, this, 'logics');
432
- } else if (typeof options === 'string') {
433
- logic = Logic.from({
434
- ...logicOptions,
435
- name: options,
436
- }, this, 'logics');
437
- } else if (options instanceof Logic) {
438
- options.ensureDelete(); // 同一实例不支持多处存在
439
- logic = options;
440
- Object.assign(logic, relationOptions);
441
- } else {
442
- logic = Logic.from({
443
- ...logicOptions,
444
- ...options,
445
- }, this, 'logics');
446
- }
447
- this.logics.splice(index, 0, logic);
448
- return logic;
786
+ this.structures.splice(index, 0, structure);
787
+ return structure;
788
+ }
789
+
790
+ /**
791
+ * 插入数据结构
792
+ * @param name 数据结构名称,如果不填会自动生成一个唯一名称
793
+ */
794
+ insertStructureAt(name: string, index: number): Structure;
795
+
796
+ /**
797
+ * 插入数据结构
798
+ * @param structureOptions 数据结构参数
799
+ */
800
+ insertStructureAt(structureOptions: Partial<Structure>, index: number): Structure;
801
+
802
+ /**
803
+ * 插入数据结构
804
+ * @param structure 已有的数据结构实例
805
+ */
806
+ insertStructureAt(structure: Structure, index: number): Structure;
807
+
808
+ insertStructureAt(options: string | Partial<Structure> | Structure, index: number) {
809
+ const node = this._insertStructureAt(options as any, index);
810
+ node.create({
811
+ index,
812
+ parentNode: this,
813
+ parentKey: 'structures',
814
+ });
815
+ return node;
816
+ }
817
+
818
+ /**
819
+ * 添加数据结构
820
+ * @internal
821
+ * @param name 数据结构名称,如果不填会自动生成一个唯一名称
822
+ */
823
+ _addStructure(name?: string): Structure;
824
+
825
+ /**
826
+ * 添加数据结构
827
+ * @internal
828
+ * @param structureOptions 数据结构参数
829
+ */
830
+ _addStructure(structureOptions: Partial<Structure>): Structure;
831
+
832
+ /**
833
+ * 添加数据结构
834
+ * @internal
835
+ * @param structure 已有的数据结构实例
836
+ */
837
+ _addStructure(structure: Structure): Structure;
838
+
839
+ _addStructure(options?: string | Partial<Structure> | Structure) {
840
+ const index = this.structures.length;
841
+ return this._insertStructureAt(options as any, index);
842
+ }
843
+
844
+ /**
845
+ * 添加数据结构
846
+ * @internal
847
+ * @param name 数据结构名称,如果不填会自动生成一个唯一名称
848
+ */
849
+ addStructure(name?: string): Structure;
850
+
851
+ /**
852
+ * 添加数据结构
853
+ * @param structureOptions 数据结构参数
854
+ */
855
+ addStructure(structureOptions: Partial<Structure>): Structure;
856
+
857
+ /**
858
+ * 添加数据结构
859
+ * @param structure 已有的数据结构实例
860
+ */
861
+ addStructure(structure: Structure): Structure;
862
+
863
+ addStructure(options?: string | Partial<Structure> | Structure) {
864
+ const node = this._addStructure(options as any);
865
+ const index = this.structures.indexOf(node);
866
+ node.create({
867
+ index,
868
+ parentNode: this,
869
+ parentKey: 'structures',
870
+ });
871
+ return node;
872
+ }
873
+
874
+ /**
875
+ * 删除输入参数
876
+ * @param name 输入参数名称
877
+ */
878
+ removeParam(name: string): void;
879
+
880
+ /**
881
+ * 删除输入参数
882
+ * @param param 已有的输入参数实例
883
+ */
884
+ removeParam(param: Param): void;
885
+
886
+ removeParam(options: string | Param) {
887
+ let param: Param;
888
+ if (typeof options === 'string') {
889
+ param = (this.properties as Param[]).find((item) => item.name === options);
890
+ if (!param) {
891
+ throw new Error(`找不到输入参数 ${options}`);
892
+ }
893
+ } else {
894
+ param = options;
449
895
  }
450
-
451
- /**
452
- * 插入逻辑
453
- * @param name 逻辑名称,如果不填会自动生成一个唯一名称
454
- */
455
- insertLogicAt(name: string, index: number): Logic;
456
-
457
- /**
458
- * 插入逻辑
459
- * @param logicOptions 逻辑参数
460
- */
461
- insertLogicAt(logicOptions: Partial<Logic>, index: number): Logic;
462
-
463
- /**
464
- * 插入逻辑
465
- * @param logic 已有的逻辑实例
466
- */
467
- insertLogicAt(logic: Logic, index: number): Logic;
468
-
469
- insertLogicAt(options: string | Partial<Logic> | Logic, index: number) {
470
- const node = this._insertLogicAt(options as any, index);
471
- node.create({
472
- index,
473
- parentNode: this,
474
- parentKey: 'logics',
475
- });
476
- return node;
896
+ return param.delete();
897
+ }
898
+
899
+ __removeParam(param: Param) {
900
+ const { parentKey } = param;
901
+ const params: Params = {
902
+ parentNode: this,
903
+ parentKey,
904
+ index: -1,
905
+ object: null,
906
+ oldObject: param,
907
+ };
908
+ if (parentKey) {
909
+ params.parentKey = parentKey;
910
+ if (Array.isArray((this as any)[parentKey])) {
911
+ const index = (this as any)[parentKey].indexOf(param);
912
+ ~index && (this as any)[parentKey].splice(index, 1);
913
+ params.index = index;
914
+ } else if ((this as any)[parentKey] === param) {
915
+ params.index = 0;
916
+ (this as any)[parentKey] = undefined;
917
+ }
477
918
  }
478
-
479
- /**
480
- * 添加逻辑
481
- * @internal
482
- * @param name 逻辑名称,如果不填会自动生成一个唯一名称
483
- */
484
- _addLogic(name?: string): Logic;
485
-
486
- /**
487
- * 添加逻辑
488
- * @internal
489
- * @param logicOptions 逻辑参数
490
- */
491
- _addLogic(logicOptions: Partial<Logic>): Logic;
492
-
493
- /**
494
- * 添加逻辑
495
- * @internal
496
- * @param logic 已有的逻辑实例
497
- */
498
- _addLogic(logic: Logic): Logic;
499
-
500
- _addLogic(options?: string | Partial<Logic> | Logic) {
501
- const index = this.logics.length;
502
- return this._insertLogicAt(options as any, index);
919
+ return params;
920
+ }
921
+
922
+ /**
923
+ * 删除逻辑
924
+ * @param name 逻辑名称
925
+ */
926
+ removeLogicInLogics(name: string): void;
927
+
928
+ /**
929
+ * 删除逻辑
930
+ * @param logic 已有的逻辑实例
931
+ */
932
+ removeLogicInLogics(logic: Logic): void;
933
+
934
+ removeLogicInLogics(options: string | Logic) {
935
+ let logic: Logic;
936
+ if (typeof options === 'string') {
937
+ logic = (this.logics as Logic[]).find((item) => item.name === options);
938
+ if (!logic) {
939
+ throw new Error(`找不到逻辑 ${options}`);
940
+ }
941
+ } else {
942
+ logic = options;
503
943
  }
504
-
505
- /**
506
- * 添加逻辑
507
- * @internal
508
- * @param name 逻辑名称,如果不填会自动生成一个唯一名称
509
- */
510
- addLogic(name?: string): Logic;
511
-
512
- /**
513
- * 添加逻辑
514
- * @param logicOptions 逻辑参数
515
- */
516
- addLogic(logicOptions: Partial<Logic>): Logic;
517
-
518
- /**
519
- * 添加逻辑
520
- * @param logic 已有的逻辑实例
521
- */
522
- addLogic(logic: Logic): Logic;
523
-
524
- addLogic(options?: string | Partial<Logic> | Logic) {
525
- const node = this._addLogic(options as any);
526
- const index = this.logics.indexOf(node);
527
- node.create({
528
- index,
529
- parentNode: this,
530
- parentKey: 'logics',
531
- });
532
- return node;
944
+ return logic.delete();
945
+ }
946
+
947
+ /**
948
+ * 删除逻辑
949
+ * @param name 逻辑名称
950
+ */
951
+ removeCreateLogic(name: string): void;
952
+
953
+ /**
954
+ * 删除逻辑
955
+ * @param createLogic 已有的逻辑实例
956
+ */
957
+ removeCreateLogic(createLogic: Logic): void;
958
+
959
+ removeCreateLogic(options: string | Logic) {
960
+ let createLogic: Logic;
961
+ if (typeof options === 'string') {
962
+ createLogic = this.createLogic;
963
+ if (!createLogic) {
964
+ throw new Error(`找不到逻辑 ${options}`);
965
+ }
966
+ } else {
967
+ createLogic = options;
533
968
  }
534
-
535
-
536
- getConnectorTriggerExistingNames(excludedList: Array<ConnectorTrigger> = []) {
537
- const excludedSet = new Set(excludedList);
538
- return ((this.triggers as ConnectorTrigger[]) || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
969
+ return createLogic.delete();
970
+ }
971
+
972
+ /**
973
+ * 删除逻辑
974
+ * @param name 逻辑名称
975
+ */
976
+ removeTestConnectorLogic(name: string): void;
977
+
978
+ /**
979
+ * 删除逻辑
980
+ * @param testConnectorLogic 已有的逻辑实例
981
+ */
982
+ removeTestConnectorLogic(testConnectorLogic: Logic): void;
983
+
984
+ removeTestConnectorLogic(options: string | Logic) {
985
+ let testConnectorLogic: Logic;
986
+ if (typeof options === 'string') {
987
+ testConnectorLogic = this.testConnectorLogic;
988
+ if (!testConnectorLogic) {
989
+ throw new Error(`找不到逻辑 ${options}`);
990
+ }
991
+ } else {
992
+ testConnectorLogic = options;
539
993
  }
540
- getConnectorTriggerUniqueName(name = 'connectorTrigger1') {
541
- return utils.unique(name, this.getConnectorTriggerExistingNames(), undefined, false);
994
+ return testConnectorLogic.delete();
995
+ }
996
+
997
+ __removeLogic(logic: Logic) {
998
+ const { parentKey } = logic;
999
+ const params: Params = {
1000
+ parentNode: this,
1001
+ parentKey,
1002
+ index: -1,
1003
+ object: null,
1004
+ oldObject: logic,
1005
+ };
1006
+ if (parentKey) {
1007
+ params.parentKey = parentKey;
1008
+ if (Array.isArray((this as any)[parentKey])) {
1009
+ const index = (this as any)[parentKey].indexOf(logic);
1010
+ ~index && (this as any)[parentKey].splice(index, 1);
1011
+ params.index = index;
1012
+ } else if ((this as any)[parentKey] === logic) {
1013
+ params.index = 0;
1014
+ (this as any)[parentKey] = undefined;
1015
+ }
542
1016
  }
543
-
544
- /**
545
- * 插入连接器Trigger
546
- * @internal
547
- * @param name 连接器Trigger名称,如果不填会自动生成一个唯一名称
548
- */
549
- _insertConnectorTriggerAt(name: string, index: number): ConnectorTrigger;
550
-
551
- /**
552
- * 插入连接器Trigger
553
- * @internal
554
- * @param connectorTriggerOptions 连接器Trigger参数
555
- */
556
- _insertConnectorTriggerAt(connectorTriggerOptions: Partial<ConnectorTrigger>, index: number): ConnectorTrigger;
557
-
558
- /**
559
- * 插入连接器Trigger
560
- * @internal
561
- * @param connectorTrigger 已有的连接器Trigger实例
562
- */
563
- _insertConnectorTriggerAt(connectorTrigger: ConnectorTrigger, index: number): ConnectorTrigger;
564
-
565
- _insertConnectorTriggerAt(options: string | Partial<ConnectorTrigger> | ConnectorTrigger, index: number) {
566
- const connectorTriggerOptions: any = {};
567
- const relationOptions = { parentNode: this, parentKey: 'triggers' };
568
- let connectorTrigger: ConnectorTrigger;
569
- if (!options) {
570
- connectorTrigger = ConnectorTrigger.from({
571
- ...connectorTriggerOptions,
572
- name: this.getConnectorTriggerUniqueName(),
573
- }, this, 'triggers');
574
- } else if (typeof options === 'string') {
575
- connectorTrigger = ConnectorTrigger.from({
576
- ...connectorTriggerOptions,
577
- name: options,
578
- }, this, 'triggers');
579
- } else if (options instanceof ConnectorTrigger) {
580
- options.ensureDelete(); // 同一实例不支持多处存在
581
- connectorTrigger = options;
582
- Object.assign(connectorTrigger, relationOptions);
583
- } else {
584
- connectorTrigger = ConnectorTrigger.from({
585
- ...connectorTriggerOptions,
586
- ...options,
587
- }, this, 'triggers');
588
- }
589
- this.triggers.splice(index, 0, connectorTrigger);
590
- return connectorTrigger;
1017
+ return params;
1018
+ }
1019
+
1020
+ /**
1021
+ * 删除连接器Trigger
1022
+ * @param name 连接器Trigger名称
1023
+ */
1024
+ removeConnectorTrigger(name: string): void;
1025
+
1026
+ /**
1027
+ * 删除连接器Trigger
1028
+ * @param connectorTrigger 已有的连接器Trigger实例
1029
+ */
1030
+ removeConnectorTrigger(connectorTrigger: ConnectorTrigger): void;
1031
+
1032
+ removeConnectorTrigger(options: string | ConnectorTrigger) {
1033
+ let connectorTrigger: ConnectorTrigger;
1034
+ if (typeof options === 'string') {
1035
+ connectorTrigger = (this.triggers as ConnectorTrigger[]).find((item) => item.name === options);
1036
+ if (!connectorTrigger) {
1037
+ throw new Error(`找不到连接器Trigger ${options}`);
1038
+ }
1039
+ } else {
1040
+ connectorTrigger = options;
591
1041
  }
592
-
593
- /**
594
- * 插入连接器Trigger
595
- * @param name 连接器Trigger名称,如果不填会自动生成一个唯一名称
596
- */
597
- insertConnectorTriggerAt(name: string, index: number): ConnectorTrigger;
598
-
599
- /**
600
- * 插入连接器Trigger
601
- * @param connectorTriggerOptions 连接器Trigger参数
602
- */
603
- insertConnectorTriggerAt(connectorTriggerOptions: Partial<ConnectorTrigger>, index: number): ConnectorTrigger;
604
-
605
- /**
606
- * 插入连接器Trigger
607
- * @param connectorTrigger 已有的连接器Trigger实例
608
- */
609
- insertConnectorTriggerAt(connectorTrigger: ConnectorTrigger, index: number): ConnectorTrigger;
610
-
611
- insertConnectorTriggerAt(options: string | Partial<ConnectorTrigger> | ConnectorTrigger, index: number) {
612
- const node = this._insertConnectorTriggerAt(options as any, index);
613
- node.create({
614
- index,
615
- parentNode: this,
616
- parentKey: 'triggers',
617
- });
618
- return node;
1042
+ return connectorTrigger.delete();
1043
+ }
1044
+
1045
+ __removeConnectorTrigger(connectorTrigger: ConnectorTrigger) {
1046
+ const { parentKey } = connectorTrigger;
1047
+ const params: Params = {
1048
+ parentNode: this,
1049
+ parentKey,
1050
+ index: -1,
1051
+ object: null,
1052
+ oldObject: connectorTrigger,
1053
+ };
1054
+ if (parentKey) {
1055
+ params.parentKey = parentKey;
1056
+ if (Array.isArray((this as any)[parentKey])) {
1057
+ const index = (this as any)[parentKey].indexOf(connectorTrigger);
1058
+ ~index && (this as any)[parentKey].splice(index, 1);
1059
+ params.index = index;
1060
+ } else if ((this as any)[parentKey] === connectorTrigger) {
1061
+ params.index = 0;
1062
+ (this as any)[parentKey] = undefined;
1063
+ }
619
1064
  }
620
-
621
- /**
622
- * 添加连接器Trigger
623
- * @internal
624
- * @param name 连接器Trigger名称,如果不填会自动生成一个唯一名称
625
- */
626
- _addConnectorTrigger(name?: string): ConnectorTrigger;
627
-
628
- /**
629
- * 添加连接器Trigger
630
- * @internal
631
- * @param connectorTriggerOptions 连接器Trigger参数
632
- */
633
- _addConnectorTrigger(connectorTriggerOptions: Partial<ConnectorTrigger>): ConnectorTrigger;
634
-
635
- /**
636
- * 添加连接器Trigger
637
- * @internal
638
- * @param connectorTrigger 已有的连接器Trigger实例
639
- */
640
- _addConnectorTrigger(connectorTrigger: ConnectorTrigger): ConnectorTrigger;
641
-
642
- _addConnectorTrigger(options?: string | Partial<ConnectorTrigger> | ConnectorTrigger) {
643
- const index = this.triggers.length;
644
- return this._insertConnectorTriggerAt(options as any, index);
1065
+ return params;
1066
+ }
1067
+
1068
+ /**
1069
+ * 删除数据结构
1070
+ * @param name 数据结构名称
1071
+ */
1072
+ removeStructure(name: string): void;
1073
+
1074
+ /**
1075
+ * 删除数据结构
1076
+ * @param structure 已有的数据结构实例
1077
+ */
1078
+ removeStructure(structure: Structure): void;
1079
+
1080
+ removeStructure(options: string | Structure) {
1081
+ let structure: Structure;
1082
+ if (typeof options === 'string') {
1083
+ structure = (this.structures as Structure[]).find((item) => item.name === options);
1084
+ if (!structure) {
1085
+ throw new Error(`找不到数据结构 ${options}`);
1086
+ }
1087
+ } else {
1088
+ structure = options;
645
1089
  }
646
-
647
- /**
648
- * 添加连接器Trigger
649
- * @internal
650
- * @param name 连接器Trigger名称,如果不填会自动生成一个唯一名称
651
- */
652
- addConnectorTrigger(name?: string): ConnectorTrigger;
653
-
654
- /**
655
- * 添加连接器Trigger
656
- * @param connectorTriggerOptions 连接器Trigger参数
657
- */
658
- addConnectorTrigger(connectorTriggerOptions: Partial<ConnectorTrigger>): ConnectorTrigger;
659
-
660
- /**
661
- * 添加连接器Trigger
662
- * @param connectorTrigger 已有的连接器Trigger实例
663
- */
664
- addConnectorTrigger(connectorTrigger: ConnectorTrigger): ConnectorTrigger;
665
-
666
- addConnectorTrigger(options?: string | Partial<ConnectorTrigger> | ConnectorTrigger) {
667
- const node = this._addConnectorTrigger(options as any);
668
- const index = this.triggers.indexOf(node);
669
- node.create({
670
- index,
671
- parentNode: this,
672
- parentKey: 'triggers',
673
- });
674
- return node;
675
- }
676
-
677
-
678
- getStructureExistingNames(excludedList: Array<Structure> = []) {
679
- const excludedSet = new Set(excludedList);
680
- return ((this.structures as Structure[]) || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
681
- }
682
- getStructureUniqueName(name = 'structure1') {
683
- return utils.unique(name, this.getStructureExistingNames(), undefined, false);
684
- }
685
-
686
- /**
687
- * 插入数据结构
688
- * @internal
689
- * @param name 数据结构名称,如果不填会自动生成一个唯一名称
690
- */
691
- _insertStructureAt(name: string, index: number): Structure;
692
-
693
- /**
694
- * 插入数据结构
695
- * @internal
696
- * @param structureOptions 数据结构参数
697
- */
698
- _insertStructureAt(structureOptions: Partial<Structure>, index: number): Structure;
699
-
700
- /**
701
- * 插入数据结构
702
- * @internal
703
- * @param structure 已有的数据结构实例
704
- */
705
- _insertStructureAt(structure: Structure, index: number): Structure;
706
-
707
- _insertStructureAt(options: string | Partial<Structure> | Structure, index: number) {
708
- const structureOptions: any = {};
709
- const relationOptions = { parentNode: this, parentKey: 'structures' };
710
- let structure: Structure;
711
- if (!options) {
712
- structure = Structure.from({
713
- ...structureOptions,
714
- name: this.getStructureUniqueName(),
715
- }, this, 'structures');
716
- } else if (typeof options === 'string') {
717
- structure = Structure.from({
718
- ...structureOptions,
719
- name: options,
720
- }, this, 'structures');
721
- } else if (options instanceof Structure) {
722
- options.ensureDelete(); // 同一实例不支持多处存在
723
- structure = options;
724
- Object.assign(structure, relationOptions);
725
- } else {
726
- structure = Structure.from({
727
- ...structureOptions,
728
- ...options,
729
- }, this, 'structures');
730
- }
731
- this.structures.splice(index, 0, structure);
732
- return structure;
733
- }
734
-
735
- /**
736
- * 插入数据结构
737
- * @param name 数据结构名称,如果不填会自动生成一个唯一名称
738
- */
739
- insertStructureAt(name: string, index: number): Structure;
740
-
741
- /**
742
- * 插入数据结构
743
- * @param structureOptions 数据结构参数
744
- */
745
- insertStructureAt(structureOptions: Partial<Structure>, index: number): Structure;
746
-
747
- /**
748
- * 插入数据结构
749
- * @param structure 已有的数据结构实例
750
- */
751
- insertStructureAt(structure: Structure, index: number): Structure;
752
-
753
- insertStructureAt(options: string | Partial<Structure> | Structure, index: number) {
754
- const node = this._insertStructureAt(options as any, index);
755
- node.create({
756
- index,
757
- parentNode: this,
758
- parentKey: 'structures',
759
- });
760
- return node;
761
- }
762
-
763
- /**
764
- * 添加数据结构
765
- * @internal
766
- * @param name 数据结构名称,如果不填会自动生成一个唯一名称
767
- */
768
- _addStructure(name?: string): Structure;
769
-
770
- /**
771
- * 添加数据结构
772
- * @internal
773
- * @param structureOptions 数据结构参数
774
- */
775
- _addStructure(structureOptions: Partial<Structure>): Structure;
776
-
777
- /**
778
- * 添加数据结构
779
- * @internal
780
- * @param structure 已有的数据结构实例
781
- */
782
- _addStructure(structure: Structure): Structure;
783
-
784
- _addStructure(options?: string | Partial<Structure> | Structure) {
785
- const index = this.structures.length;
786
- return this._insertStructureAt(options as any, index);
787
- }
788
-
789
- /**
790
- * 添加数据结构
791
- * @internal
792
- * @param name 数据结构名称,如果不填会自动生成一个唯一名称
793
- */
794
- addStructure(name?: string): Structure;
795
-
796
- /**
797
- * 添加数据结构
798
- * @param structureOptions 数据结构参数
799
- */
800
- addStructure(structureOptions: Partial<Structure>): Structure;
801
-
802
- /**
803
- * 添加数据结构
804
- * @param structure 已有的数据结构实例
805
- */
806
- addStructure(structure: Structure): Structure;
807
-
808
- addStructure(options?: string | Partial<Structure> | Structure) {
809
- const node = this._addStructure(options as any);
810
- const index = this.structures.indexOf(node);
811
- node.create({
812
- index,
813
- parentNode: this,
814
- parentKey: 'structures',
815
- });
816
- return node;
817
- }
818
-
819
-
820
-
821
-
822
- /**
823
- * 删除输入参数
824
- * @param name 输入参数名称
825
- */
826
- removeParam(name: string): void;
827
-
828
- /**
829
- * 删除输入参数
830
- * @param param 已有的输入参数实例
831
- */
832
- removeParam(param: Param): void;
833
-
834
- removeParam(options: string | Param) {
835
- let param: Param;
836
- if (typeof options === 'string') {
837
- param = (this.properties as Param[]).find((item) => item.name === options);
838
- if (!param) {
839
- throw new Error('找不到输入参数 ' + options);
840
- }
841
- } else {
842
- param = options;
843
- }
844
- return param.delete();
845
- }
846
-
847
- __removeParam(param: Param) {
848
- const parentKey = param.parentKey;
849
- const params: Params = {
850
- parentNode: this,
851
- parentKey,
852
- index: -1,
853
- object: null,
854
- oldObject: param,
855
- };
856
- if (parentKey) {
857
- params.parentKey = parentKey;
858
- if (Array.isArray((this as any)[parentKey])) {
859
- const index = (this as any)[parentKey].indexOf(param);
860
- ~index && (this as any)[parentKey].splice(index, 1);
861
- params.index = index;
862
- } else if ((this as any)[parentKey] === param) {
863
- params.index = 0;
864
- (this as any)[parentKey] = undefined;
865
- }
866
- }
867
- return params;
868
- }
869
-
870
-
871
-
872
- /**
873
- * 删除逻辑
874
- * @param name 逻辑名称
875
- */
876
- removeLogicInLogics(name: string): void;
877
-
878
- /**
879
- * 删除逻辑
880
- * @param logic 已有的逻辑实例
881
- */
882
- removeLogicInLogics(logic: Logic): void;
883
-
884
- removeLogicInLogics(options: string | Logic) {
885
- let logic: Logic;
886
- if (typeof options === 'string') {
887
- logic = (this.logics as Logic[]).find((item) => item.name === options);
888
- if (!logic) {
889
- throw new Error('找不到逻辑 ' + options);
890
- }
891
- } else {
892
- logic = options;
893
- }
894
- return logic.delete();
895
- }
896
-
897
-
898
-
899
- /**
900
- * 删除逻辑
901
- * @param name 逻辑名称
902
- */
903
- removeCreateLogic(name: string): void;
904
-
905
- /**
906
- * 删除逻辑
907
- * @param createLogic 已有的逻辑实例
908
- */
909
- removeCreateLogic(createLogic: Logic): void;
910
-
911
- removeCreateLogic(options: string | Logic) {
912
- let createLogic: Logic;
913
- if (typeof options === 'string') {
914
- createLogic = this.createLogic;
915
- if (!createLogic) {
916
- throw new Error('找不到逻辑 ' + options);
917
- }
918
- } else {
919
- createLogic = options;
920
- }
921
- return createLogic.delete();
922
- }
923
-
924
-
925
-
926
- /**
927
- * 删除逻辑
928
- * @param name 逻辑名称
929
- */
930
- removeTestConnectorLogic(name: string): void;
931
-
932
- /**
933
- * 删除逻辑
934
- * @param testConnectorLogic 已有的逻辑实例
935
- */
936
- removeTestConnectorLogic(testConnectorLogic: Logic): void;
937
-
938
- removeTestConnectorLogic(options: string | Logic) {
939
- let testConnectorLogic: Logic;
940
- if (typeof options === 'string') {
941
- testConnectorLogic = this.testConnectorLogic;
942
- if (!testConnectorLogic) {
943
- throw new Error('找不到逻辑 ' + options);
944
- }
945
- } else {
946
- testConnectorLogic = options;
947
- }
948
- return testConnectorLogic.delete();
949
- }
950
-
951
- __removeLogic(logic: Logic) {
952
- const parentKey = logic.parentKey;
953
- const params: Params = {
954
- parentNode: this,
955
- parentKey,
956
- index: -1,
957
- object: null,
958
- oldObject: logic,
959
- };
960
- if (parentKey) {
961
- params.parentKey = parentKey;
962
- if (Array.isArray((this as any)[parentKey])) {
963
- const index = (this as any)[parentKey].indexOf(logic);
964
- ~index && (this as any)[parentKey].splice(index, 1);
965
- params.index = index;
966
- } else if ((this as any)[parentKey] === logic) {
967
- params.index = 0;
968
- (this as any)[parentKey] = undefined;
969
- }
970
- }
971
- return params;
972
- }
973
-
974
-
975
-
976
- /**
977
- * 删除连接器Trigger
978
- * @param name 连接器Trigger名称
979
- */
980
- removeConnectorTrigger(name: string): void;
981
-
982
- /**
983
- * 删除连接器Trigger
984
- * @param connectorTrigger 已有的连接器Trigger实例
985
- */
986
- removeConnectorTrigger(connectorTrigger: ConnectorTrigger): void;
987
-
988
- removeConnectorTrigger(options: string | ConnectorTrigger) {
989
- let connectorTrigger: ConnectorTrigger;
990
- if (typeof options === 'string') {
991
- connectorTrigger = (this.triggers as ConnectorTrigger[]).find((item) => item.name === options);
992
- if (!connectorTrigger) {
993
- throw new Error('找不到连接器Trigger ' + options);
994
- }
995
- } else {
996
- connectorTrigger = options;
997
- }
998
- return connectorTrigger.delete();
999
- }
1000
-
1001
- __removeConnectorTrigger(connectorTrigger: ConnectorTrigger) {
1002
- const parentKey = connectorTrigger.parentKey;
1003
- const params: Params = {
1004
- parentNode: this,
1005
- parentKey,
1006
- index: -1,
1007
- object: null,
1008
- oldObject: connectorTrigger,
1009
- };
1010
- if (parentKey) {
1011
- params.parentKey = parentKey;
1012
- if (Array.isArray((this as any)[parentKey])) {
1013
- const index = (this as any)[parentKey].indexOf(connectorTrigger);
1014
- ~index && (this as any)[parentKey].splice(index, 1);
1015
- params.index = index;
1016
- } else if ((this as any)[parentKey] === connectorTrigger) {
1017
- params.index = 0;
1018
- (this as any)[parentKey] = undefined;
1019
- }
1020
- }
1021
- return params;
1022
- }
1023
-
1024
-
1025
-
1026
- /**
1027
- * 删除数据结构
1028
- * @param name 数据结构名称
1029
- */
1030
- removeStructure(name: string): void;
1031
-
1032
- /**
1033
- * 删除数据结构
1034
- * @param structure 已有的数据结构实例
1035
- */
1036
- removeStructure(structure: Structure): void;
1037
-
1038
- removeStructure(options: string | Structure) {
1039
- let structure: Structure;
1040
- if (typeof options === 'string') {
1041
- structure = (this.structures as Structure[]).find((item) => item.name === options);
1042
- if (!structure) {
1043
- throw new Error('找不到数据结构 ' + options);
1044
- }
1045
- } else {
1046
- structure = options;
1047
- }
1048
- return structure.delete();
1049
- }
1050
-
1051
- __removeStructure(structure: Structure) {
1052
- const parentKey = structure.parentKey;
1053
- const params: Params = {
1054
- parentNode: this,
1055
- parentKey,
1056
- index: -1,
1057
- object: null,
1058
- oldObject: structure,
1059
- };
1060
- if (parentKey) {
1061
- params.parentKey = parentKey;
1062
- if (Array.isArray((this as any)[parentKey])) {
1063
- const index = (this as any)[parentKey].indexOf(structure);
1064
- ~index && (this as any)[parentKey].splice(index, 1);
1065
- params.index = index;
1066
- } else if ((this as any)[parentKey] === structure) {
1067
- params.index = 0;
1068
- (this as any)[parentKey] = undefined;
1069
- }
1070
- }
1071
- return params;
1072
- }
1073
-
1074
- //================================================================================
1075
- // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
1076
- // 自动生成的代码已结束。下面可以手动编写。
1077
- //================================================================================
1078
-
1079
- getActions() {
1080
- return this.logics;
1090
+ return structure.delete();
1091
+ }
1092
+
1093
+ __removeStructure(structure: Structure) {
1094
+ const { parentKey } = structure;
1095
+ const params: Params = {
1096
+ parentNode: this,
1097
+ parentKey,
1098
+ index: -1,
1099
+ object: null,
1100
+ oldObject: structure,
1101
+ };
1102
+ if (parentKey) {
1103
+ params.parentKey = parentKey;
1104
+ if (Array.isArray((this as any)[parentKey])) {
1105
+ const index = (this as any)[parentKey].indexOf(structure);
1106
+ ~index && (this as any)[parentKey].splice(index, 1);
1107
+ params.index = index;
1108
+ } else if ((this as any)[parentKey] === structure) {
1109
+ params.index = 0;
1110
+ (this as any)[parentKey] = undefined;
1111
+ }
1081
1112
  }
1082
- //================================================================================
1083
- // 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
1084
- // ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
1085
- //================================================================================
1113
+ return params;
1114
+ }
1115
+
1116
+ //= ===============================================================================
1117
+ // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
1118
+ // 自动生成的代码已结束。下面可以手动编写。
1119
+ //= ===============================================================================
1120
+
1121
+ getActions() {
1122
+ return this.logics;
1123
+ }
1124
+ //= ===============================================================================
1125
+ // 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
1126
+ // ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
1127
+ //= ===============================================================================
1086
1128
  }
1087
1129
 
1088
1130
  classMap.Connector = Connector;
1089
1131
  export default Connector;
1090
- //================================================================================
1132
+ //= ===============================================================================
1091
1133
  // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
1092
1134
  // 自动生成的代码已结束。下面可以手动编写。
1093
- //================================================================================
1135
+ //= ===============================================================================