@lcap/nasl 3.2.0-beta.3 โ†’ 3.3.0-alpha

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (842) hide show
  1. package/out/automate/engine/utils.js +4 -0
  2. package/out/automate/engine/utils.js.map +1 -1
  3. package/out/automate/upgrader/2.20.js +1 -1
  4. package/out/automate/upgrader/2.20.js.map +1 -1
  5. package/out/bak/translator.js +11 -15
  6. package/out/bak/translator.js.map +1 -1
  7. package/out/breakpoint/generator/AfterStartNode.js +3 -1
  8. package/out/breakpoint/generator/AfterStartNode.js.map +1 -1
  9. package/out/breakpoint/generator/BeforeEndNode.js.map +1 -1
  10. package/out/breakpoint/generator/BreakpointNode.d.ts +1 -0
  11. package/out/breakpoint/generator/BreakpointNode.js +48 -15
  12. package/out/breakpoint/generator/BreakpointNode.js.map +1 -1
  13. package/out/breakpoint/generator/CallbackNode.d.ts +4 -0
  14. package/out/breakpoint/generator/CallbackNode.js +22 -0
  15. package/out/breakpoint/generator/CallbackNode.js.map +1 -0
  16. package/out/breakpoint/generator/FragmentNode.d.ts +4 -0
  17. package/out/breakpoint/generator/FragmentNode.js +18 -0
  18. package/out/breakpoint/generator/FragmentNode.js.map +1 -0
  19. package/out/breakpoint/generator/index.js +25 -4
  20. package/out/breakpoint/generator/index.js.map +1 -1
  21. package/out/breakpoint/shared/constants.d.ts +3 -0
  22. package/out/breakpoint/shared/constants.js +6 -1
  23. package/out/breakpoint/shared/constants.js.map +1 -1
  24. package/out/breakpoint/shared/operations.js.map +1 -1
  25. package/out/breakpoint/shared/socket.d.ts +1 -1
  26. package/out/breakpoint/shared/socket.js +36 -7
  27. package/out/breakpoint/shared/socket.js.map +1 -1
  28. package/out/breakpoint/shared/utils.d.ts +2 -0
  29. package/out/breakpoint/shared/utils.js +15 -2
  30. package/out/breakpoint/shared/utils.js.map +1 -1
  31. package/out/breakpoint/store/core.d.ts +48 -2
  32. package/out/breakpoint/store/core.js +58 -32
  33. package/out/breakpoint/store/core.js.map +1 -1
  34. package/out/breakpoint/store/dock.js +1 -1
  35. package/out/breakpoint/store/dock.js.map +1 -1
  36. package/out/common/BaseNode.d.ts +2 -2
  37. package/out/common/BaseNode.js +110 -53
  38. package/out/common/BaseNode.js.map +1 -1
  39. package/out/common/Command.d.ts +13 -2
  40. package/out/common/Command.js +37 -9
  41. package/out/common/Command.js.map +1 -1
  42. package/out/common/EventEmitter.js.map +1 -1
  43. package/out/common/Messager.d.ts +3 -3
  44. package/out/common/Messager.js +6 -7
  45. package/out/common/Messager.js.map +1 -1
  46. package/out/common/asyncFuncMap.js.map +1 -1
  47. package/out/concepts/Abort__.js +6 -5
  48. package/out/concepts/Abort__.js.map +1 -1
  49. package/out/concepts/Anchor__.d.ts +4 -3
  50. package/out/concepts/Anchor__.js +24 -7
  51. package/out/concepts/Anchor__.js.map +1 -1
  52. package/out/concepts/AnonymousFunction__.d.ts +22 -21
  53. package/out/concepts/AnonymousFunction__.js +48 -22
  54. package/out/concepts/AnonymousFunction__.js.map +1 -1
  55. package/out/concepts/App__.d.ts +421 -247
  56. package/out/concepts/App__.js +288 -54
  57. package/out/concepts/App__.js.map +1 -1
  58. package/out/concepts/Argument__.d.ts +4 -3
  59. package/out/concepts/Argument__.js +42 -11
  60. package/out/concepts/Argument__.js.map +1 -1
  61. package/out/concepts/Assignee__.d.ts +45 -45
  62. package/out/concepts/Assignee__.js +15 -15
  63. package/out/concepts/Assignee__.js.map +1 -1
  64. package/out/concepts/AssignmentLine__.js +6 -5
  65. package/out/concepts/AssignmentLine__.js.map +1 -1
  66. package/out/concepts/Assignment__.d.ts +7 -6
  67. package/out/concepts/Assignment__.js +41 -23
  68. package/out/concepts/Assignment__.js.map +1 -1
  69. package/out/concepts/Attribute__.d.ts +3 -3
  70. package/out/concepts/Attribute__.js +8 -7
  71. package/out/concepts/Attribute__.js.map +1 -1
  72. package/out/concepts/AuthInterface__.js +4 -3
  73. package/out/concepts/AuthInterface__.js.map +1 -1
  74. package/out/concepts/AuthLogicForCallInterface__.d.ts +15 -15
  75. package/out/concepts/AuthLogicForCallInterface__.js +46 -27
  76. package/out/concepts/AuthLogicForCallInterface__.js.map +1 -1
  77. package/out/concepts/AuthLogic__.js +27 -13
  78. package/out/concepts/AuthLogic__.js.map +1 -1
  79. package/out/concepts/BackendVariable__.d.ts +5 -5
  80. package/out/concepts/BackendVariable__.js +23 -26
  81. package/out/concepts/BackendVariable__.js.map +1 -1
  82. package/out/concepts/Backend__.d.ts +18 -18
  83. package/out/concepts/Backend__.js +13 -13
  84. package/out/concepts/Backend__.js.map +1 -1
  85. package/out/concepts/BatchAssignment__.d.ts +34 -33
  86. package/out/concepts/BatchAssignment__.js +83 -43
  87. package/out/concepts/BatchAssignment__.js.map +1 -1
  88. package/out/concepts/BinaryExpression__.d.ts +7 -6
  89. package/out/concepts/BinaryExpression__.js +60 -24
  90. package/out/concepts/BinaryExpression__.js.map +1 -1
  91. package/out/concepts/BindAttribute__.d.ts +37 -37
  92. package/out/concepts/BindAttribute__.js +102 -58
  93. package/out/concepts/BindAttribute__.js.map +1 -1
  94. package/out/concepts/BindDirective__.d.ts +13 -13
  95. package/out/concepts/BindDirective__.js +23 -21
  96. package/out/concepts/BindDirective__.js.map +1 -1
  97. package/out/concepts/BindEvent__.d.ts +28 -28
  98. package/out/concepts/BindEvent__.js +150 -57
  99. package/out/concepts/BindEvent__.js.map +1 -1
  100. package/out/concepts/BindStyle__.d.ts +14 -15
  101. package/out/concepts/BindStyle__.js +16 -16
  102. package/out/concepts/BindStyle__.js.map +1 -1
  103. package/out/concepts/BooleanLiteral__.d.ts +1 -0
  104. package/out/concepts/BooleanLiteral__.js +12 -5
  105. package/out/concepts/BooleanLiteral__.js.map +1 -1
  106. package/out/concepts/CallAuthInterface__.d.ts +15 -15
  107. package/out/concepts/CallAuthInterface__.js +23 -22
  108. package/out/concepts/CallAuthInterface__.js.map +1 -1
  109. package/out/concepts/CallConnector__.d.ts +11 -9
  110. package/out/concepts/CallConnector__.js +79 -36
  111. package/out/concepts/CallConnector__.js.map +1 -1
  112. package/out/concepts/CallFunction__.d.ts +17 -16
  113. package/out/concepts/CallFunction__.js +95 -63
  114. package/out/concepts/CallFunction__.js.map +1 -1
  115. package/out/concepts/CallInterface__.d.ts +9 -8
  116. package/out/concepts/CallInterface__.js +109 -80
  117. package/out/concepts/CallInterface__.js.map +1 -1
  118. package/out/concepts/CallLogic__.d.ts +24 -20
  119. package/out/concepts/CallLogic__.js +209 -162
  120. package/out/concepts/CallLogic__.js.map +1 -1
  121. package/out/concepts/CallQueryComponent__.d.ts +51 -51
  122. package/out/concepts/CallQueryComponent__.js +66 -63
  123. package/out/concepts/CallQueryComponent__.js.map +1 -1
  124. package/out/concepts/Comment__.d.ts +1 -0
  125. package/out/concepts/Comment__.js +13 -6
  126. package/out/concepts/Comment__.js.map +1 -1
  127. package/out/concepts/CompletionProperty__.d.ts +3 -3
  128. package/out/concepts/CompletionProperty__.js +16 -8
  129. package/out/concepts/CompletionProperty__.js.map +1 -1
  130. package/out/concepts/ConfigGroup__.d.ts +15 -15
  131. package/out/concepts/ConfigGroup__.js +9 -9
  132. package/out/concepts/ConfigGroup__.js.map +1 -1
  133. package/out/concepts/ConfigPropertyValue__.js +4 -3
  134. package/out/concepts/ConfigPropertyValue__.js.map +1 -1
  135. package/out/concepts/ConfigProperty__.d.ts +15 -15
  136. package/out/concepts/ConfigProperty__.js +10 -10
  137. package/out/concepts/ConfigProperty__.js.map +1 -1
  138. package/out/concepts/Configuration__.d.ts +15 -15
  139. package/out/concepts/Configuration__.js +9 -9
  140. package/out/concepts/Configuration__.js.map +1 -1
  141. package/out/concepts/Connection__.d.ts +166 -0
  142. package/out/concepts/Connection__.js +332 -0
  143. package/out/concepts/Connection__.js.map +1 -0
  144. package/out/concepts/ConnectorTrigger__.js +4 -3
  145. package/out/concepts/ConnectorTrigger__.js.map +1 -1
  146. package/out/concepts/Connector__.d.ts +66 -66
  147. package/out/concepts/Connector__.js +16 -15
  148. package/out/concepts/Connector__.js.map +1 -1
  149. package/out/concepts/Constant__.d.ts +3 -3
  150. package/out/concepts/Constant__.js +8 -7
  151. package/out/concepts/Constant__.js.map +1 -1
  152. package/out/concepts/DataElement__.d.ts +3 -3
  153. package/out/concepts/DataElement__.js +6 -5
  154. package/out/concepts/DataElement__.js.map +1 -1
  155. package/out/concepts/DataSource__.d.ts +15 -15
  156. package/out/concepts/DataSource__.js +55 -39
  157. package/out/concepts/DataSource__.js.map +1 -1
  158. package/out/concepts/DatabaseTypeAnnotation__.js +4 -3
  159. package/out/concepts/DatabaseTypeAnnotation__.js.map +1 -1
  160. package/out/concepts/Destination__.d.ts +12 -11
  161. package/out/concepts/Destination__.js +93 -36
  162. package/out/concepts/Destination__.js.map +1 -1
  163. package/out/concepts/End__.js +15 -13
  164. package/out/concepts/End__.js.map +1 -1
  165. package/out/concepts/EntityIndex__.d.ts +1 -1
  166. package/out/concepts/EntityIndex__.js +6 -5
  167. package/out/concepts/EntityIndex__.js.map +1 -1
  168. package/out/concepts/EntityProperty__.d.ts +8 -7
  169. package/out/concepts/EntityProperty__.js +39 -24
  170. package/out/concepts/EntityProperty__.js.map +1 -1
  171. package/out/concepts/Entity__.d.ts +31 -30
  172. package/out/concepts/Entity__.js +40 -16
  173. package/out/concepts/Entity__.js.map +1 -1
  174. package/out/concepts/EnumItem__.d.ts +1 -0
  175. package/out/concepts/EnumItem__.js +12 -5
  176. package/out/concepts/EnumItem__.js.map +1 -1
  177. package/out/concepts/Enum__.d.ts +9 -8
  178. package/out/concepts/Enum__.js +24 -11
  179. package/out/concepts/Enum__.js.map +1 -1
  180. package/out/concepts/Event__.d.ts +15 -15
  181. package/out/concepts/Event__.js +6 -5
  182. package/out/concepts/Event__.js.map +1 -1
  183. package/out/concepts/ExternalDestination__.d.ts +6 -6
  184. package/out/concepts/ExternalDestination__.js +12 -11
  185. package/out/concepts/ExternalDestination__.js.map +1 -1
  186. package/out/concepts/ForEachStatement__.d.ts +25 -24
  187. package/out/concepts/ForEachStatement__.js +101 -36
  188. package/out/concepts/ForEachStatement__.js.map +1 -1
  189. package/out/concepts/FrontendLibrary__.d.ts +30 -30
  190. package/out/concepts/FrontendLibrary__.js +12 -13
  191. package/out/concepts/FrontendLibrary__.js.map +1 -1
  192. package/out/concepts/FrontendVariable__.js +4 -3
  193. package/out/concepts/FrontendVariable__.js.map +1 -1
  194. package/out/concepts/Frontend__.d.ts +64 -65
  195. package/out/concepts/Frontend__.js +23 -27
  196. package/out/concepts/Frontend__.js.map +1 -1
  197. package/out/concepts/Function__.d.ts +64 -63
  198. package/out/concepts/Function__.js +49 -21
  199. package/out/concepts/Function__.js.map +1 -1
  200. package/out/concepts/Identifier__.js +37 -31
  201. package/out/concepts/Identifier__.js.map +1 -1
  202. package/out/concepts/IfStatement__.d.ts +20 -19
  203. package/out/concepts/IfStatement__.js +64 -34
  204. package/out/concepts/IfStatement__.js.map +1 -1
  205. package/out/concepts/Integration__.d.ts +3 -3
  206. package/out/concepts/Integration__.js +8 -7
  207. package/out/concepts/Integration__.js.map +1 -1
  208. package/out/concepts/InterfaceParam__.d.ts +3 -3
  209. package/out/concepts/InterfaceParam__.js +7 -6
  210. package/out/concepts/InterfaceParam__.js.map +1 -1
  211. package/out/concepts/Interface__.d.ts +33 -33
  212. package/out/concepts/Interface__.js +19 -20
  213. package/out/concepts/Interface__.js.map +1 -1
  214. package/out/concepts/JSBlock__.d.ts +1 -0
  215. package/out/concepts/JSBlock__.js +12 -5
  216. package/out/concepts/JSBlock__.js.map +1 -1
  217. package/out/concepts/JavaLogic__.js +10 -9
  218. package/out/concepts/JavaLogic__.js.map +1 -1
  219. package/out/concepts/LogicItem__.d.ts +6 -0
  220. package/out/concepts/LogicItem__.js +14 -5
  221. package/out/concepts/LogicItem__.js.map +1 -1
  222. package/out/concepts/Logic__.d.ts +80 -79
  223. package/out/concepts/Logic__.js +204 -58
  224. package/out/concepts/Logic__.js.map +1 -1
  225. package/out/concepts/MatchCase__.d.ts +39 -38
  226. package/out/concepts/MatchCase__.js +122 -37
  227. package/out/concepts/MatchCase__.js.map +1 -1
  228. package/out/concepts/Match__.d.ts +13 -11
  229. package/out/concepts/Match__.js +128 -60
  230. package/out/concepts/Match__.js.map +1 -1
  231. package/out/concepts/MemberExpression__.d.ts +7 -6
  232. package/out/concepts/MemberExpression__.js +52 -22
  233. package/out/concepts/MemberExpression__.js.map +1 -1
  234. package/out/concepts/MicroApp__.js +4 -3
  235. package/out/concepts/MicroApp__.js.map +1 -1
  236. package/out/concepts/Module__.d.ts +242 -154
  237. package/out/concepts/Module__.js +139 -33
  238. package/out/concepts/Module__.js.map +1 -1
  239. package/out/concepts/MsgTriggerEvent__.d.ts +15 -15
  240. package/out/concepts/MsgTriggerEvent__.js +6 -5
  241. package/out/concepts/MsgTriggerEvent__.js.map +1 -1
  242. package/out/concepts/MsgTriggerLauncher__.d.ts +23 -15
  243. package/out/concepts/MsgTriggerLauncher__.js +24 -5
  244. package/out/concepts/MsgTriggerLauncher__.js.map +1 -1
  245. package/out/concepts/Namespace__.d.ts +180 -180
  246. package/out/concepts/Namespace__.js +33 -34
  247. package/out/concepts/Namespace__.js.map +1 -1
  248. package/out/concepts/NewComposite__.d.ts +49 -48
  249. package/out/concepts/NewComposite__.js +164 -49
  250. package/out/concepts/NewComposite__.js.map +1 -1
  251. package/out/concepts/NewList__.d.ts +19 -18
  252. package/out/concepts/NewList__.js +29 -12
  253. package/out/concepts/NewList__.js.map +1 -1
  254. package/out/concepts/NewMap__.d.ts +34 -33
  255. package/out/concepts/NewMap__.js +81 -72
  256. package/out/concepts/NewMap__.js.map +1 -1
  257. package/out/concepts/New__.js +6 -5
  258. package/out/concepts/New__.js.map +1 -1
  259. package/out/concepts/NullLiteral__.js +6 -5
  260. package/out/concepts/NullLiteral__.js.map +1 -1
  261. package/out/concepts/NumericLiteral__.d.ts +4 -3
  262. package/out/concepts/NumericLiteral__.js +15 -8
  263. package/out/concepts/NumericLiteral__.js.map +1 -1
  264. package/out/concepts/OqlQueryComponent__.d.ts +4 -3
  265. package/out/concepts/OqlQueryComponent__.js +25 -16
  266. package/out/concepts/OqlQueryComponent__.js.map +1 -1
  267. package/out/concepts/OverriddenLogic__.d.ts +79 -79
  268. package/out/concepts/OverriddenLogic__.js +79 -58
  269. package/out/concepts/OverriddenLogic__.js.map +1 -1
  270. package/out/concepts/Param__.d.ts +6 -5
  271. package/out/concepts/Param__.js +66 -29
  272. package/out/concepts/Param__.js.map +1 -1
  273. package/out/concepts/Point__.js +4 -3
  274. package/out/concepts/Point__.js.map +1 -1
  275. package/out/concepts/ProcessComponent__.d.ts +30 -30
  276. package/out/concepts/ProcessComponent__.js +8 -7
  277. package/out/concepts/ProcessComponent__.js.map +1 -1
  278. package/out/concepts/ProcessElement__.d.ts +96 -96
  279. package/out/concepts/ProcessElement__.js +34 -34
  280. package/out/concepts/ProcessElement__.js.map +1 -1
  281. package/out/concepts/ProcessOutcome__.js +6 -5
  282. package/out/concepts/ProcessOutcome__.js.map +1 -1
  283. package/out/concepts/ProcessOutcomes__.js +6 -5
  284. package/out/concepts/ProcessOutcomes__.js.map +1 -1
  285. package/out/concepts/Process__.d.ts +75 -75
  286. package/out/concepts/Process__.js +33 -30
  287. package/out/concepts/Process__.js.map +1 -1
  288. package/out/concepts/QueryAggregateExpression__.d.ts +3 -3
  289. package/out/concepts/QueryAggregateExpression__.js +8 -7
  290. package/out/concepts/QueryAggregateExpression__.js.map +1 -1
  291. package/out/concepts/QueryFieldExpression__.js +7 -6
  292. package/out/concepts/QueryFieldExpression__.js.map +1 -1
  293. package/out/concepts/QueryFromExpression__.d.ts +8 -8
  294. package/out/concepts/QueryFromExpression__.js +8 -7
  295. package/out/concepts/QueryFromExpression__.js.map +1 -1
  296. package/out/concepts/QueryGroupByExpression__.d.ts +3 -3
  297. package/out/concepts/QueryGroupByExpression__.js +9 -10
  298. package/out/concepts/QueryGroupByExpression__.js.map +1 -1
  299. package/out/concepts/QueryJoinExpression__.d.ts +23 -23
  300. package/out/concepts/QueryJoinExpression__.js +11 -10
  301. package/out/concepts/QueryJoinExpression__.js.map +1 -1
  302. package/out/concepts/QueryLimitExpression__.d.ts +6 -6
  303. package/out/concepts/QueryLimitExpression__.js +9 -8
  304. package/out/concepts/QueryLimitExpression__.js.map +1 -1
  305. package/out/concepts/QueryOrderByExpression__.d.ts +6 -6
  306. package/out/concepts/QueryOrderByExpression__.js +9 -8
  307. package/out/concepts/QueryOrderByExpression__.js.map +1 -1
  308. package/out/concepts/QuerySelectExpression__.d.ts +30 -30
  309. package/out/concepts/QuerySelectExpression__.js +9 -8
  310. package/out/concepts/QuerySelectExpression__.js.map +1 -1
  311. package/out/concepts/Rect__.js +4 -3
  312. package/out/concepts/Rect__.js.map +1 -1
  313. package/out/concepts/Return__.d.ts +4 -3
  314. package/out/concepts/Return__.js +37 -18
  315. package/out/concepts/Return__.js.map +1 -1
  316. package/out/concepts/Role__.js +9 -9
  317. package/out/concepts/Role__.js.map +1 -1
  318. package/out/concepts/SelectMembers__.d.ts +18 -18
  319. package/out/concepts/SelectMembers__.js +10 -9
  320. package/out/concepts/SelectMembers__.js.map +1 -1
  321. package/out/concepts/Slot__.d.ts +3 -3
  322. package/out/concepts/Slot__.js +6 -5
  323. package/out/concepts/Slot__.js.map +1 -1
  324. package/out/concepts/SqlQueryComponent__.d.ts +4 -3
  325. package/out/concepts/SqlQueryComponent__.js +21 -12
  326. package/out/concepts/SqlQueryComponent__.js.map +1 -1
  327. package/out/concepts/Start__.js +6 -5
  328. package/out/concepts/Start__.js.map +1 -1
  329. package/out/concepts/StringInterpolation__.d.ts +16 -15
  330. package/out/concepts/StringInterpolation__.js +37 -14
  331. package/out/concepts/StringInterpolation__.js.map +1 -1
  332. package/out/concepts/StringLiteral__.d.ts +1 -0
  333. package/out/concepts/StringLiteral__.js +13 -8
  334. package/out/concepts/StringLiteral__.js.map +1 -1
  335. package/out/concepts/StructureProperty__.d.ts +4 -3
  336. package/out/concepts/StructureProperty__.js +22 -9
  337. package/out/concepts/StructureProperty__.js.map +1 -1
  338. package/out/concepts/Structure__.d.ts +31 -30
  339. package/out/concepts/Structure__.js +27 -15
  340. package/out/concepts/Structure__.js.map +1 -1
  341. package/out/concepts/SwitchCase__.d.ts +12 -11
  342. package/out/concepts/SwitchCase__.js +69 -31
  343. package/out/concepts/SwitchCase__.js.map +1 -1
  344. package/out/concepts/SwitchStatement__.d.ts +9 -8
  345. package/out/concepts/SwitchStatement__.js +27 -7
  346. package/out/concepts/SwitchStatement__.js.map +1 -1
  347. package/out/concepts/Theme__.js +4 -3
  348. package/out/concepts/Theme__.js.map +1 -1
  349. package/out/concepts/Transactional__.js +4 -3
  350. package/out/concepts/Transactional__.js.map +1 -1
  351. package/out/concepts/TriggerEvent__.d.ts +15 -15
  352. package/out/concepts/TriggerEvent__.js +6 -5
  353. package/out/concepts/TriggerEvent__.js.map +1 -1
  354. package/out/concepts/TriggerLauncher__.d.ts +15 -10
  355. package/out/concepts/TriggerLauncher__.js +54 -32
  356. package/out/concepts/TriggerLauncher__.js.map +1 -1
  357. package/out/concepts/TypeAnnotation__.d.ts +28 -27
  358. package/out/concepts/TypeAnnotation__.js +144 -124
  359. package/out/concepts/TypeAnnotation__.js.map +1 -1
  360. package/out/concepts/TypeParam__.d.ts +1 -0
  361. package/out/concepts/TypeParam__.js +12 -5
  362. package/out/concepts/TypeParam__.js.map +1 -1
  363. package/out/concepts/UnaryExpression__.d.ts +4 -3
  364. package/out/concepts/UnaryExpression__.js +31 -20
  365. package/out/concepts/UnaryExpression__.js.map +1 -1
  366. package/out/concepts/Unparsed__.d.ts +1 -0
  367. package/out/concepts/Unparsed__.js +12 -5
  368. package/out/concepts/Unparsed__.js.map +1 -1
  369. package/out/concepts/UseComponent__.js +4 -3
  370. package/out/concepts/UseComponent__.js.map +1 -1
  371. package/out/concepts/ValidationRule__.d.ts +14 -14
  372. package/out/concepts/ValidationRule__.js +19 -17
  373. package/out/concepts/ValidationRule__.js.map +1 -1
  374. package/out/concepts/Variable__.d.ts +4 -3
  375. package/out/concepts/Variable__.js +39 -23
  376. package/out/concepts/Variable__.js.map +1 -1
  377. package/out/concepts/ViewBlock__.js +4 -3
  378. package/out/concepts/ViewBlock__.js.map +1 -1
  379. package/out/concepts/ViewComponent__.d.ts +90 -90
  380. package/out/concepts/ViewComponent__.js +16 -15
  381. package/out/concepts/ViewComponent__.js.map +1 -1
  382. package/out/concepts/ViewElement__.d.ts +92 -86
  383. package/out/concepts/ViewElement__.js +258 -200
  384. package/out/concepts/ViewElement__.js.map +1 -1
  385. package/out/concepts/View__.d.ts +92 -92
  386. package/out/concepts/View__.js +173 -63
  387. package/out/concepts/View__.js.map +1 -1
  388. package/out/concepts/WhileStatement__.d.ts +12 -11
  389. package/out/concepts/WhileStatement__.js +46 -23
  390. package/out/concepts/WhileStatement__.js.map +1 -1
  391. package/out/concepts/basics/stdlib/index.js +17 -1
  392. package/out/concepts/basics/stdlib/index.js.map +1 -1
  393. package/out/concepts/basics/stdlib/nasl.browser.js +36 -0
  394. package/out/concepts/basics/stdlib/nasl.browser.js.map +1 -1
  395. package/out/concepts/basics/stdlib/nasl.event.d.ts +3 -0
  396. package/out/concepts/basics/stdlib/nasl.event.js +23 -0
  397. package/out/concepts/basics/stdlib/nasl.event.js.map +1 -0
  398. package/out/concepts/basics/stdlib/nasl.ui.js +45 -0
  399. package/out/concepts/basics/stdlib/nasl.ui.js.map +1 -1
  400. package/out/concepts/basics/stdlib/nasl.util.js +6 -22
  401. package/out/concepts/basics/stdlib/nasl.util.js.map +1 -1
  402. package/out/concepts/index__.d.ts +2 -1
  403. package/out/concepts/index__.js +2 -1
  404. package/out/concepts/index__.js.map +1 -1
  405. package/out/concepts/types__.d.ts +2 -1
  406. package/out/decorators/index.d.ts +1 -1
  407. package/out/decorators/index.js +20 -7
  408. package/out/decorators/index.js.map +1 -1
  409. package/out/decorators/promise.d.ts +7 -0
  410. package/out/decorators/promise.js +28 -0
  411. package/out/decorators/promise.js.map +1 -0
  412. package/out/enums/KEYWORDS.js.map +1 -1
  413. package/out/enums/LEVEL_NAME_MAP.js.map +1 -1
  414. package/out/generator/compileComponent.js.map +1 -1
  415. package/out/generator/genBundleFiles.d.ts +4 -1
  416. package/out/generator/genBundleFiles.js +15 -11
  417. package/out/generator/genBundleFiles.js.map +1 -1
  418. package/out/generator/genHash.js.map +1 -1
  419. package/out/generator/genMetaData.js +12 -8
  420. package/out/generator/genMetaData.js.map +1 -1
  421. package/out/generator/genReleaseBody.js +33 -35
  422. package/out/generator/genReleaseBody.js.map +1 -1
  423. package/out/generator/microApp.js +2 -1
  424. package/out/generator/microApp.js.map +1 -1
  425. package/out/generator/permission.js +31 -30
  426. package/out/generator/permission.js.map +1 -1
  427. package/out/generator/styleReplacer.js +4 -7
  428. package/out/generator/styleReplacer.js.map +1 -1
  429. package/out/index.d.ts +0 -2
  430. package/out/index.js +0 -3
  431. package/out/index.js.map +1 -1
  432. package/out/manager/diagnostic.d.ts +1 -1
  433. package/out/manager/diagnostic.js.map +1 -1
  434. package/out/manager/stepRecorder.js +13 -9
  435. package/out/manager/stepRecorder.js.map +1 -1
  436. package/out/natural/RequirementAnalyzer.d.ts +22 -0
  437. package/out/natural/RequirementAnalyzer.js +196 -0
  438. package/out/natural/RequirementAnalyzer.js.map +1 -0
  439. package/out/natural/RequirementExecutor.d.ts +51 -0
  440. package/out/natural/RequirementExecutor.js +692 -0
  441. package/out/natural/RequirementExecutor.js.map +1 -0
  442. package/out/natural/componentData.d.ts +31 -0
  443. package/out/natural/componentData.js +85 -0
  444. package/out/natural/componentData.js.map +1 -0
  445. package/out/natural/genNaturalTS.d.ts +3 -0
  446. package/out/natural/genNaturalTS.js +76 -0
  447. package/out/natural/genNaturalTS.js.map +1 -0
  448. package/out/natural/index.d.ts +4 -0
  449. package/out/natural/index.js +21 -0
  450. package/out/natural/index.js.map +1 -0
  451. package/out/natural/knowledgeMap.d.ts +4 -0
  452. package/out/natural/knowledgeMap.js +40 -0
  453. package/out/natural/knowledgeMap.js.map +1 -0
  454. package/out/natural/naslStdlibMap.d.ts +2 -0
  455. package/out/natural/naslStdlibMap.js +26 -0
  456. package/out/natural/naslStdlibMap.js.map +1 -0
  457. package/out/natural/transformTSCode.d.ts +7 -0
  458. package/out/natural/transformTSCode.js +760 -0
  459. package/out/natural/transformTSCode.js.map +1 -0
  460. package/out/sentry/index.d.ts +2 -1
  461. package/out/sentry/index.js.map +1 -1
  462. package/out/server/createUiTs.js +28 -16
  463. package/out/server/createUiTs.js.map +1 -1
  464. package/out/server/entity2LogicNamespace.js +24 -22
  465. package/out/server/entity2LogicNamespace.js.map +1 -1
  466. package/out/server/event.d.ts +12 -0
  467. package/out/server/event.js +52 -28
  468. package/out/server/event.js.map +1 -1
  469. package/out/server/extendBaseNode.js +55 -70
  470. package/out/server/extendBaseNode.js.map +1 -1
  471. package/out/server/formatTsUtils.js +46 -50
  472. package/out/server/formatTsUtils.js.map +1 -1
  473. package/out/server/getConnector.d.ts +3 -3
  474. package/out/server/getConnector.js +7 -8
  475. package/out/server/getConnector.js.map +1 -1
  476. package/out/server/getExtensionModules.js +2 -2
  477. package/out/server/getExtensionModules.js.map +1 -1
  478. package/out/server/getFunctions.js.map +1 -1
  479. package/out/server/getInterfaces.js.map +1 -1
  480. package/out/server/getLogging.js.map +1 -1
  481. package/out/server/getLogics.d.ts +1 -1
  482. package/out/server/getLogics.js +55 -8
  483. package/out/server/getLogics.js.map +1 -1
  484. package/out/server/getMemberIdentifier.js +13 -10
  485. package/out/server/getMemberIdentifier.js.map +1 -1
  486. package/out/server/getProcessComponents.js.map +1 -1
  487. package/out/server/getProcesses.js +21 -29
  488. package/out/server/getProcesses.js.map +1 -1
  489. package/out/server/getScope.js.map +1 -1
  490. package/out/server/getValidates.js.map +1 -1
  491. package/out/server/index.js +0 -1
  492. package/out/server/index.js.map +1 -1
  493. package/out/server/naslServer.d.ts +99 -94
  494. package/out/server/naslServer.js +490 -469
  495. package/out/server/naslServer.js.map +1 -1
  496. package/out/server/naslStdlibMap.js +6 -2
  497. package/out/server/naslStdlibMap.js.map +1 -1
  498. package/out/server/process2LogicNamespace.js.map +1 -1
  499. package/out/server/translator.d.ts +1 -1
  500. package/out/server/translator.js +52 -47
  501. package/out/server/translator.js.map +1 -1
  502. package/out/service/storage/init.d.ts +15 -1
  503. package/out/service/storage/init.js +65 -56
  504. package/out/service/storage/init.js.map +1 -1
  505. package/out/templator/genCallComponentLogic.js +1 -2
  506. package/out/templator/genCallComponentLogic.js.map +1 -1
  507. package/out/templator/genCreateBlock.js +14 -9
  508. package/out/templator/genCreateBlock.js.map +1 -1
  509. package/out/templator/genCurdEditMultipleKeyBlock.js +23 -14
  510. package/out/templator/genCurdEditMultipleKeyBlock.js.map +1 -1
  511. package/out/templator/genCurdMultipleKeyBlock.js +26 -30
  512. package/out/templator/genCurdMultipleKeyBlock.js.map +1 -1
  513. package/out/templator/genEditTableBlock.d.ts +1 -1
  514. package/out/templator/genEditTableBlock.js +14 -19
  515. package/out/templator/genEditTableBlock.js.map +1 -1
  516. package/out/templator/genEnumSelectBlock.js +1 -1
  517. package/out/templator/genEnumSelectBlock.js.map +1 -1
  518. package/out/templator/genGetBlock.js +2 -2
  519. package/out/templator/genGetBlock.js.map +1 -1
  520. package/out/templator/genGridViewBlock.d.ts +2 -2
  521. package/out/templator/genGridViewBlock.js +18 -28
  522. package/out/templator/genGridViewBlock.js.map +1 -1
  523. package/out/templator/genListViewBlock.d.ts +2 -2
  524. package/out/templator/genListViewBlock.js +9 -16
  525. package/out/templator/genListViewBlock.js.map +1 -1
  526. package/out/templator/genQueryComponent.js +22 -15
  527. package/out/templator/genQueryComponent.js.map +1 -1
  528. package/out/templator/genSelectBlock.d.ts +2 -2
  529. package/out/templator/genSelectBlock.js +21 -48
  530. package/out/templator/genSelectBlock.js.map +1 -1
  531. package/out/templator/genTableBlock.d.ts +1 -1
  532. package/out/templator/genTableBlock.js +11 -17
  533. package/out/templator/genTableBlock.js.map +1 -1
  534. package/out/templator/genUpdateBlock.js +13 -8
  535. package/out/templator/genUpdateBlock.js.map +1 -1
  536. package/out/templator/index.d.ts +4 -2
  537. package/out/templator/index.js +2 -2
  538. package/out/templator/index.js.map +1 -1
  539. package/out/templator/utils.d.ts +9 -2
  540. package/out/templator/utils.js +22 -22
  541. package/out/templator/utils.js.map +1 -1
  542. package/out/translator/index.js +27 -28
  543. package/out/translator/index.js.map +1 -1
  544. package/out/utils/index.d.ts +2 -1
  545. package/out/utils/index.js +8 -14
  546. package/out/utils/index.js.map +1 -1
  547. package/out/utils/logger.js.map +1 -1
  548. package/out/utils/sortTsString.js +3 -1
  549. package/out/utils/sortTsString.js.map +1 -1
  550. package/out/utils/string.js +8 -11
  551. package/out/utils/string.js.map +1 -1
  552. package/out/utils/time-slicing.d.ts +41 -0
  553. package/out/utils/time-slicing.js +81 -0
  554. package/out/utils/time-slicing.js.map +1 -0
  555. package/out/utils/traverse.js +4 -6
  556. package/out/utils/traverse.js.map +1 -1
  557. package/package.json +22 -20
  558. package/sandbox/stdlib/nasl.auth.ts +49 -46
  559. package/sandbox/stdlib/nasl.browser.ts +1 -0
  560. package/sandbox/stdlib/nasl.event.ts +4 -0
  561. package/sandbox/stdlib/nasl.http.ts +29 -31
  562. package/sandbox/stdlib/nasl.ui.definition.ts +13 -1
  563. package/sandbox/stdlib/nasl.ui.ts +11 -0
  564. package/sandbox-natural/stdlib/nasl.core.ts +36 -0
  565. package/sandbox-natural/stdlib/nasl.oql.ts +8 -0
  566. package/sandbox-natural/stdlib/nasl.ui.ts +56 -0
  567. package/sandbox-natural/stdlib/nasl.util.ts +26 -0
  568. package/sandbox-natural/tsconfig.json +12 -0
  569. package/src/automate/engine/utils.js +3 -0
  570. package/src/automate/upgrader/2.20.js +1 -1
  571. package/src/bak/translator.js +92 -99
  572. package/src/breakpoint/generator/AfterStartNode.ts +19 -17
  573. package/src/breakpoint/generator/BeforeEndNode.ts +17 -17
  574. package/src/breakpoint/generator/BreakpointNode.ts +243 -195
  575. package/src/breakpoint/generator/CallbackNode.ts +20 -0
  576. package/src/breakpoint/generator/FragmentNode.ts +14 -0
  577. package/src/breakpoint/generator/index.ts +107 -80
  578. package/src/breakpoint/shared/constants.ts +59 -53
  579. package/src/breakpoint/shared/operations.ts +6 -6
  580. package/src/breakpoint/shared/socket.ts +277 -223
  581. package/src/breakpoint/shared/utils.ts +166 -146
  582. package/src/breakpoint/store/core.ts +326 -297
  583. package/src/breakpoint/store/dock.ts +103 -103
  584. package/src/breakpoint/types/index.d.ts +11 -11
  585. package/src/common/BaseNode.ts +1103 -1020
  586. package/src/common/Command.ts +46 -16
  587. package/src/common/ComponentAPI.ts +72 -72
  588. package/src/common/EventEmitter.ts +80 -76
  589. package/src/common/Messager.ts +223 -224
  590. package/src/common/asyncFuncMap.ts +12 -12
  591. package/src/concepts/Abort__.ts +53 -60
  592. package/src/concepts/Anchor__.ts +158 -149
  593. package/src/concepts/AnonymousFunction__.ts +584 -551
  594. package/src/concepts/App__.ts +4278 -3669
  595. package/src/concepts/Argument__.ts +234 -210
  596. package/src/concepts/Assignee__.ts +680 -656
  597. package/src/concepts/AssignmentLine__.ts +80 -84
  598. package/src/concepts/Assignment__.ts +276 -264
  599. package/src/concepts/Attribute__.ts +183 -184
  600. package/src/concepts/AuthInterface__.ts +61 -63
  601. package/src/concepts/AuthLogicForCallInterface__.ts +540 -511
  602. package/src/concepts/AuthLogic__.ts +210 -194
  603. package/src/concepts/BackendVariable__.ts +414 -415
  604. package/src/concepts/Backend__.ts +317 -303
  605. package/src/concepts/BatchAssignment__.ts +987 -939
  606. package/src/concepts/BinaryExpression__.ts +370 -341
  607. package/src/concepts/BindAttribute__.ts +1056 -1011
  608. package/src/concepts/BindDirective__.ts +540 -542
  609. package/src/concepts/BindEvent__.ts +992 -866
  610. package/src/concepts/BindStyle__.ts +442 -451
  611. package/src/concepts/BooleanLiteral__.ts +89 -90
  612. package/src/concepts/CallAuthInterface__.ts +458 -433
  613. package/src/concepts/CallConnector__.ts +209 -164
  614. package/src/concepts/CallFunction__.ts +600 -600
  615. package/src/concepts/CallInterface__.ts +752 -725
  616. package/src/concepts/CallLogic__.ts +1328 -1236
  617. package/src/concepts/CallQueryComponent__.ts +1580 -1501
  618. package/src/concepts/Comment__.ts +69 -68
  619. package/src/concepts/CompletionProperty__.ts +250 -250
  620. package/src/concepts/ConfigGroup__.ts +312 -296
  621. package/src/concepts/ConfigPropertyValue__.ts +81 -82
  622. package/src/concepts/ConfigProperty__.ts +374 -357
  623. package/src/concepts/Configuration__.ts +288 -276
  624. package/src/concepts/Connection__.ts +426 -0
  625. package/src/concepts/ConnectorTrigger__.ts +146 -142
  626. package/src/concepts/Connector__.ts +1090 -1048
  627. package/src/concepts/Constant__.ts +226 -219
  628. package/src/concepts/DataElement__.ts +108 -115
  629. package/src/concepts/DataSource__.ts +508 -472
  630. package/src/concepts/DatabaseTypeAnnotation__.ts +53 -59
  631. package/src/concepts/Destination__.ts +808 -746
  632. package/src/concepts/End__.ts +85 -89
  633. package/src/concepts/EntityIndex__.ts +206 -202
  634. package/src/concepts/EntityProperty__.ts +825 -791
  635. package/src/concepts/Entity__.ts +921 -864
  636. package/src/concepts/EnumItem__.ts +133 -125
  637. package/src/concepts/Enum__.ts +347 -337
  638. package/src/concepts/Event__.ts +305 -292
  639. package/src/concepts/ExternalDestination__.ts +269 -280
  640. package/src/concepts/ForEachStatement__.ts +583 -531
  641. package/src/concepts/FrontendLibrary__.ts +507 -485
  642. package/src/concepts/FrontendVariable__.ts +44 -49
  643. package/src/concepts/Frontend__.ts +1239 -1187
  644. package/src/concepts/Function__.ts +1110 -1045
  645. package/src/concepts/Identifier__.ts +276 -272
  646. package/src/concepts/IfStatement__.ts +467 -436
  647. package/src/concepts/Integration__.ts +136 -137
  648. package/src/concepts/InterfaceParam__.ts +239 -238
  649. package/src/concepts/Interface__.ts +969 -948
  650. package/src/concepts/JSBlock__.ts +83 -83
  651. package/src/concepts/JavaLogic__.ts +101 -106
  652. package/src/concepts/LogicItem__.ts +307 -237
  653. package/src/concepts/Logic__.ts +2301 -2088
  654. package/src/concepts/MatchCase__.ts +886 -779
  655. package/src/concepts/Match__.ts +728 -659
  656. package/src/concepts/MemberExpression__.ts +330 -311
  657. package/src/concepts/MicroApp__.ts +91 -97
  658. package/src/concepts/Module__.ts +2590 -2275
  659. package/src/concepts/MsgTriggerEvent__.ts +297 -281
  660. package/src/concepts/MsgTriggerLauncher__.ts +286 -256
  661. package/src/concepts/Namespace__.ts +2579 -2466
  662. package/src/concepts/NewComposite__.ts +1487 -1350
  663. package/src/concepts/NewList__.ts +464 -450
  664. package/src/concepts/NewMap__.ts +691 -674
  665. package/src/concepts/New__.ts +42 -49
  666. package/src/concepts/NullLiteral__.ts +66 -72
  667. package/src/concepts/NumericLiteral__.ts +169 -169
  668. package/src/concepts/OqlQueryComponent__.ts +282 -279
  669. package/src/concepts/OverriddenLogic__.ts +2142 -2097
  670. package/src/concepts/Param__.ts +500 -442
  671. package/src/concepts/Point__.ts +53 -59
  672. package/src/concepts/ProcessComponent__.ts +497 -475
  673. package/src/concepts/ProcessElement__.ts +1852 -1780
  674. package/src/concepts/ProcessOutcome__.ts +59 -64
  675. package/src/concepts/ProcessOutcomes__.ts +59 -64
  676. package/src/concepts/Process__.ts +1491 -1428
  677. package/src/concepts/QueryAggregateExpression__.ts +135 -142
  678. package/src/concepts/QueryFieldExpression__.ts +138 -142
  679. package/src/concepts/QueryFromExpression__.ts +246 -254
  680. package/src/concepts/QueryGroupByExpression__.ts +130 -136
  681. package/src/concepts/QueryJoinExpression__.ts +441 -438
  682. package/src/concepts/QueryLimitExpression__.ts +159 -166
  683. package/src/concepts/QueryOrderByExpression__.ts +173 -180
  684. package/src/concepts/QuerySelectExpression__.ts +464 -439
  685. package/src/concepts/Rect__.ts +73 -79
  686. package/src/concepts/Return__.ts +366 -345
  687. package/src/concepts/Role__.ts +146 -147
  688. package/src/concepts/SelectMembers__.ts +358 -350
  689. package/src/concepts/Slot__.ts +152 -153
  690. package/src/concepts/SqlQueryComponent__.ts +230 -228
  691. package/src/concepts/Start__.ts +45 -52
  692. package/src/concepts/StringInterpolation__.ts +323 -296
  693. package/src/concepts/StringLiteral__.ts +113 -115
  694. package/src/concepts/StructureProperty__.ts +306 -295
  695. package/src/concepts/Structure__.ts +615 -578
  696. package/src/concepts/SwitchCase__.ts +326 -290
  697. package/src/concepts/SwitchStatement__.ts +236 -229
  698. package/src/concepts/Theme__.ts +64 -68
  699. package/src/concepts/Transactional__.ts +159 -153
  700. package/src/concepts/TriggerEvent__.ts +285 -274
  701. package/src/concepts/TriggerLauncher__.ts +232 -196
  702. package/src/concepts/TypeAnnotation__.ts +1049 -1011
  703. package/src/concepts/TypeParam__.ts +48 -50
  704. package/src/concepts/UnaryExpression__.ts +163 -153
  705. package/src/concepts/Unparsed__.ts +81 -82
  706. package/src/concepts/UseComponent__.ts +53 -59
  707. package/src/concepts/ValidationRule__.ts +524 -544
  708. package/src/concepts/Variable__.ts +419 -397
  709. package/src/concepts/ViewBlock__.ts +58 -64
  710. package/src/concepts/ViewComponent__.ts +1323 -1261
  711. package/src/concepts/ViewElement__.ts +2537 -2351
  712. package/src/concepts/View__.ts +2461 -2245
  713. package/src/concepts/WhileStatement__.ts +293 -272
  714. package/src/concepts/basics/stdlib/index.ts +17 -1
  715. package/src/concepts/basics/stdlib/nasl.browser.ts +36 -0
  716. package/src/concepts/basics/stdlib/nasl.event.ts +18 -0
  717. package/src/concepts/basics/stdlib/nasl.ui.ts +45 -0
  718. package/src/concepts/basics/stdlib/nasl.util.ts +6 -22
  719. package/src/concepts/index__.ts +2 -1
  720. package/src/concepts/types__.ts +123 -121
  721. package/src/decorators/index.ts +75 -77
  722. package/src/decorators/promise.ts +28 -0
  723. package/src/enums/KEYWORDS.ts +1228 -1228
  724. package/src/enums/LEVEL_NAME_MAP.ts +24 -24
  725. package/src/generator/compileComponent.ts +10 -10
  726. package/src/generator/genBundleFiles.ts +300 -291
  727. package/src/generator/genHash.ts +2 -2
  728. package/src/generator/genMetaData.ts +280 -261
  729. package/src/generator/genReleaseBody.ts +312 -291
  730. package/src/generator/icestark.ts +1 -1
  731. package/src/generator/microApp.ts +17 -20
  732. package/src/generator/permission.ts +241 -232
  733. package/src/generator/qiankun.ts +1 -1
  734. package/src/generator/styleReplacer.ts +28 -31
  735. package/src/index.ts +0 -3
  736. package/src/manager/diagnostic.ts +84 -82
  737. package/src/manager/stepRecorder.ts +106 -94
  738. package/src/natural/RequirementAnalyzer.ts +208 -0
  739. package/src/natural/RequirementExecutor.ts +685 -0
  740. package/src/natural/componentData.ts +81 -0
  741. package/src/natural/genNaturalTS.ts +77 -0
  742. package/src/natural/index.ts +4 -0
  743. package/src/natural/knowledgeMap.ts +39 -0
  744. package/src/natural/naslStdlibMap.ts +24 -0
  745. package/src/natural/transformTSCode.ts +692 -0
  746. package/src/sentry/index.ts +109 -104
  747. package/src/server/createUiTs.ts +190 -184
  748. package/src/server/entity2LogicNamespace.ts +379 -359
  749. package/src/server/event.js +145 -121
  750. package/src/server/extendBaseNode.ts +461 -456
  751. package/src/server/formatTsUtils.ts +712 -713
  752. package/src/server/getConnector.ts +33 -33
  753. package/src/server/getExtensionModules.ts +23 -22
  754. package/src/server/getFunctions.ts +6 -6
  755. package/src/server/getInterfaces.ts +38 -37
  756. package/src/server/getLogging.ts +1 -1
  757. package/src/server/getLogics.ts +391 -312
  758. package/src/server/getMemberIdentifier.ts +286 -281
  759. package/src/server/getProcessComponents.ts +2 -2
  760. package/src/server/getProcesses.ts +548 -534
  761. package/src/server/getScope.ts +51 -51
  762. package/src/server/getValidates.ts +3 -3
  763. package/src/server/index.ts +29 -30
  764. package/src/server/naslServer.ts +4303 -4222
  765. package/src/server/naslStdlibMap.ts +43 -39
  766. package/src/server/process2LogicNamespace.ts +97 -97
  767. package/src/server/translator.ts +740 -746
  768. package/src/service/storage/init.ts +761 -728
  769. package/src/templator/genCallComponentLogic.ts +14 -15
  770. package/src/templator/genCreateBlock.ts +257 -229
  771. package/src/templator/genCurdEditMultipleKeyBlock.ts +333 -317
  772. package/src/templator/genCurdMultipleKeyBlock.ts +503 -475
  773. package/src/templator/genEditTableBlock.ts +194 -187
  774. package/src/templator/genEnumSelectBlock.ts +13 -7
  775. package/src/templator/genGetBlock.ts +57 -55
  776. package/src/templator/genGridViewBlock.ts +195 -211
  777. package/src/templator/genListViewBlock.ts +62 -72
  778. package/src/templator/genQueryComponent.ts +337 -287
  779. package/src/templator/genSelectBlock.ts +283 -297
  780. package/src/templator/genTableBlock.ts +160 -166
  781. package/src/templator/genUpdateBlock.ts +269 -255
  782. package/src/templator/index.ts +4 -4
  783. package/src/templator/utils.ts +491 -463
  784. package/src/translator/index.ts +84 -84
  785. package/src/translator/lsp.ts +22 -22
  786. package/src/translator/tsp.ts +6 -6
  787. package/src/utils/index.ts +115 -117
  788. package/src/utils/logger.ts +3 -4
  789. package/src/utils/sortTsString.ts +34 -32
  790. package/src/utils/string.ts +47 -48
  791. package/src/utils/time-slicing.ts +109 -0
  792. package/src/utils/traverse.ts +114 -126
  793. package/test/concepts/call-interface/__snapshots__/toEmbeddedTS.spec.ts.snap +71 -0
  794. package/test/concepts/call-interface/__snapshots__/toJS.spec.ts.snap +140 -0
  795. package/test/concepts/call-interface/constant.ts +5 -0
  796. package/test/concepts/call-interface/fixtures/only-interface.json +158 -0
  797. package/test/concepts/call-interface/fixtures/with-body-complex-argument.json +455 -0
  798. package/test/concepts/call-interface/fixtures/with-body-no-argument.json +187 -0
  799. package/test/concepts/call-interface/fixtures/with-body-simple-argument.json +225 -0
  800. package/test/concepts/call-interface/fixtures/with-headers-no-argument.json +213 -0
  801. package/test/concepts/call-interface/fixtures/with-headers.json +192 -0
  802. package/test/concepts/call-interface/fixtures/with-query-no-argument.json +213 -0
  803. package/test/concepts/call-interface/fixtures/with-query.json +192 -0
  804. package/test/concepts/call-interface/toEmbeddedTS.spec.ts +14 -0
  805. package/test/concepts/call-interface/toJS.spec.ts +14 -0
  806. package/test/concepts/call-logic/__snapshots__/toEmbeddedTS.spec.ts.snap +74 -0
  807. package/test/concepts/call-logic/__snapshots__/toJS.spec.ts.snap +141 -0
  808. package/test/concepts/call-logic/constant.ts +5 -0
  809. package/test/concepts/call-logic/fixtures/entries-get-with-arguments.json +223 -0
  810. package/test/concepts/call-logic/fixtures/entries-update-with-arguments.json +359 -0
  811. package/test/concepts/call-logic/fixtures/global-logic-argument-no-expression.json +209 -0
  812. package/test/concepts/call-logic/fixtures/global-logic-argument-some-expression.json +311 -0
  813. package/test/concepts/call-logic/fixtures/only-call-logic.json +10 -0
  814. package/test/concepts/call-logic/fixtures/view-buildin-logic-with-argument.json +128 -0
  815. package/test/concepts/call-logic/fixtures/view-component-logic-no-argument.json +126 -0
  816. package/test/concepts/call-logic/fixtures/view-component-with-validation.json +244 -0
  817. package/test/concepts/call-logic/toEmbeddedTS.spec.ts +14 -0
  818. package/test/concepts/call-logic/toJS.spec.ts +14 -0
  819. package/test/concepts/match/__snapshots__/toEmbeddedTS.spec.ts.snap +66 -0
  820. package/test/concepts/match/__snapshots__/toJS.spec.ts.snap +40 -0
  821. package/test/concepts/match/constant.ts +5 -0
  822. package/test/concepts/match/fixtures/isExpression.json +259 -0
  823. package/test/concepts/match/fixtures/lastBodyIf.json +268 -0
  824. package/test/concepts/match/fixtures/noExpression.json +176 -0
  825. package/test/concepts/match/toEmbeddedTS.spec.ts +14 -0
  826. package/test/concepts/match/toJS.spec.ts +14 -0
  827. package/test/concepts/utils.ts +76 -3
  828. package/test/concepts/validation-rule/__snapshots__/toEmbeddedTS.spec.ts.snap +3 -3
  829. package/test/concepts/validation-rule/__snapshots__/toJS.spec.ts.snap +16 -0
  830. package/test/concepts/validation-rule/constant.ts +5 -0
  831. package/test/concepts/validation-rule/toEmbeddedTS.spec.ts +10 -17
  832. package/test/concepts/validation-rule/toJS.spec.ts +14 -0
  833. package/test/concepts/view-element/__snapshots__/toEmbeddedTS.spec.ts.snap +68 -0
  834. package/test/concepts/view-element/__snapshots__/toVue.spec.ts.snap +44 -0
  835. package/test/concepts/view-element/constant.ts +5 -0
  836. package/test/concepts/view-element/fixtures/default-not-found.json +322 -0
  837. package/test/concepts/view-element/toEmbeddedTS.spec.ts +14 -0
  838. package/test/concepts/view-element/toVue.spec.ts +14 -0
  839. package/test/setup.ts +7 -0
  840. package/ts-worker/src/index.js +0 -2
  841. package/tsconfig.json +21 -21
  842. package/bin/naslc +0 -3
@@ -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
+ //= ===============================================================================