@lcap/nasl 3.2.0-beta.4 → 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 (774) hide show
  1. package/out/automate/upgrader/2.20.js +1 -1
  2. package/out/automate/upgrader/2.20.js.map +1 -1
  3. package/out/bak/translator.js +11 -15
  4. package/out/bak/translator.js.map +1 -1
  5. package/out/breakpoint/generator/AfterStartNode.js +3 -1
  6. package/out/breakpoint/generator/AfterStartNode.js.map +1 -1
  7. package/out/breakpoint/generator/BeforeEndNode.js.map +1 -1
  8. package/out/breakpoint/generator/BreakpointNode.d.ts +1 -0
  9. package/out/breakpoint/generator/BreakpointNode.js +48 -15
  10. package/out/breakpoint/generator/BreakpointNode.js.map +1 -1
  11. package/out/breakpoint/generator/CallbackNode.d.ts +4 -0
  12. package/out/breakpoint/generator/CallbackNode.js +22 -0
  13. package/out/breakpoint/generator/CallbackNode.js.map +1 -0
  14. package/out/breakpoint/generator/FragmentNode.d.ts +4 -0
  15. package/out/breakpoint/generator/FragmentNode.js +18 -0
  16. package/out/breakpoint/generator/FragmentNode.js.map +1 -0
  17. package/out/breakpoint/generator/index.js +25 -4
  18. package/out/breakpoint/generator/index.js.map +1 -1
  19. package/out/breakpoint/shared/constants.d.ts +3 -0
  20. package/out/breakpoint/shared/constants.js +6 -1
  21. package/out/breakpoint/shared/constants.js.map +1 -1
  22. package/out/breakpoint/shared/operations.js.map +1 -1
  23. package/out/breakpoint/shared/socket.d.ts +1 -1
  24. package/out/breakpoint/shared/socket.js +36 -7
  25. package/out/breakpoint/shared/socket.js.map +1 -1
  26. package/out/breakpoint/shared/utils.d.ts +2 -0
  27. package/out/breakpoint/shared/utils.js +15 -2
  28. package/out/breakpoint/shared/utils.js.map +1 -1
  29. package/out/breakpoint/store/core.d.ts +48 -2
  30. package/out/breakpoint/store/core.js +58 -32
  31. package/out/breakpoint/store/core.js.map +1 -1
  32. package/out/breakpoint/store/dock.js +1 -1
  33. package/out/breakpoint/store/dock.js.map +1 -1
  34. package/out/common/BaseNode.d.ts +1 -1
  35. package/out/common/BaseNode.js +105 -51
  36. package/out/common/BaseNode.js.map +1 -1
  37. package/out/common/Command.d.ts +13 -2
  38. package/out/common/Command.js +37 -9
  39. package/out/common/Command.js.map +1 -1
  40. package/out/common/EventEmitter.js.map +1 -1
  41. package/out/common/Messager.d.ts +3 -3
  42. package/out/common/Messager.js +6 -7
  43. package/out/common/Messager.js.map +1 -1
  44. package/out/common/asyncFuncMap.js.map +1 -1
  45. package/out/concepts/Abort__.js +6 -5
  46. package/out/concepts/Abort__.js.map +1 -1
  47. package/out/concepts/Anchor__.d.ts +4 -3
  48. package/out/concepts/Anchor__.js +24 -7
  49. package/out/concepts/Anchor__.js.map +1 -1
  50. package/out/concepts/AnonymousFunction__.d.ts +22 -21
  51. package/out/concepts/AnonymousFunction__.js +48 -22
  52. package/out/concepts/AnonymousFunction__.js.map +1 -1
  53. package/out/concepts/App__.d.ts +421 -247
  54. package/out/concepts/App__.js +286 -54
  55. package/out/concepts/App__.js.map +1 -1
  56. package/out/concepts/Argument__.d.ts +4 -3
  57. package/out/concepts/Argument__.js +42 -11
  58. package/out/concepts/Argument__.js.map +1 -1
  59. package/out/concepts/Assignee__.d.ts +45 -45
  60. package/out/concepts/Assignee__.js +15 -15
  61. package/out/concepts/Assignee__.js.map +1 -1
  62. package/out/concepts/AssignmentLine__.js +6 -5
  63. package/out/concepts/AssignmentLine__.js.map +1 -1
  64. package/out/concepts/Assignment__.d.ts +7 -6
  65. package/out/concepts/Assignment__.js +40 -22
  66. package/out/concepts/Assignment__.js.map +1 -1
  67. package/out/concepts/Attribute__.d.ts +3 -3
  68. package/out/concepts/Attribute__.js +8 -7
  69. package/out/concepts/Attribute__.js.map +1 -1
  70. package/out/concepts/AuthInterface__.js +4 -3
  71. package/out/concepts/AuthInterface__.js.map +1 -1
  72. package/out/concepts/AuthLogicForCallInterface__.d.ts +15 -15
  73. package/out/concepts/AuthLogicForCallInterface__.js +46 -27
  74. package/out/concepts/AuthLogicForCallInterface__.js.map +1 -1
  75. package/out/concepts/AuthLogic__.js +27 -13
  76. package/out/concepts/AuthLogic__.js.map +1 -1
  77. package/out/concepts/BackendVariable__.d.ts +5 -5
  78. package/out/concepts/BackendVariable__.js +23 -26
  79. package/out/concepts/BackendVariable__.js.map +1 -1
  80. package/out/concepts/Backend__.d.ts +18 -18
  81. package/out/concepts/Backend__.js +13 -13
  82. package/out/concepts/Backend__.js.map +1 -1
  83. package/out/concepts/BatchAssignment__.d.ts +34 -33
  84. package/out/concepts/BatchAssignment__.js +83 -43
  85. package/out/concepts/BatchAssignment__.js.map +1 -1
  86. package/out/concepts/BinaryExpression__.d.ts +7 -6
  87. package/out/concepts/BinaryExpression__.js +60 -24
  88. package/out/concepts/BinaryExpression__.js.map +1 -1
  89. package/out/concepts/BindAttribute__.d.ts +37 -37
  90. package/out/concepts/BindAttribute__.js +101 -48
  91. package/out/concepts/BindAttribute__.js.map +1 -1
  92. package/out/concepts/BindDirective__.d.ts +13 -13
  93. package/out/concepts/BindDirective__.js +23 -21
  94. package/out/concepts/BindDirective__.js.map +1 -1
  95. package/out/concepts/BindEvent__.d.ts +28 -28
  96. package/out/concepts/BindEvent__.js +99 -48
  97. package/out/concepts/BindEvent__.js.map +1 -1
  98. package/out/concepts/BindStyle__.d.ts +14 -15
  99. package/out/concepts/BindStyle__.js +16 -16
  100. package/out/concepts/BindStyle__.js.map +1 -1
  101. package/out/concepts/BooleanLiteral__.d.ts +1 -0
  102. package/out/concepts/BooleanLiteral__.js +12 -5
  103. package/out/concepts/BooleanLiteral__.js.map +1 -1
  104. package/out/concepts/CallAuthInterface__.d.ts +15 -15
  105. package/out/concepts/CallAuthInterface__.js +23 -22
  106. package/out/concepts/CallAuthInterface__.js.map +1 -1
  107. package/out/concepts/CallConnector__.d.ts +11 -9
  108. package/out/concepts/CallConnector__.js +79 -36
  109. package/out/concepts/CallConnector__.js.map +1 -1
  110. package/out/concepts/CallFunction__.d.ts +17 -16
  111. package/out/concepts/CallFunction__.js +95 -63
  112. package/out/concepts/CallFunction__.js.map +1 -1
  113. package/out/concepts/CallInterface__.d.ts +9 -8
  114. package/out/concepts/CallInterface__.js +71 -30
  115. package/out/concepts/CallInterface__.js.map +1 -1
  116. package/out/concepts/CallLogic__.d.ts +20 -19
  117. package/out/concepts/CallLogic__.js +155 -52
  118. package/out/concepts/CallLogic__.js.map +1 -1
  119. package/out/concepts/CallQueryComponent__.d.ts +51 -51
  120. package/out/concepts/CallQueryComponent__.js +66 -63
  121. package/out/concepts/CallQueryComponent__.js.map +1 -1
  122. package/out/concepts/Comment__.d.ts +1 -0
  123. package/out/concepts/Comment__.js +13 -6
  124. package/out/concepts/Comment__.js.map +1 -1
  125. package/out/concepts/CompletionProperty__.d.ts +3 -3
  126. package/out/concepts/CompletionProperty__.js +8 -7
  127. package/out/concepts/CompletionProperty__.js.map +1 -1
  128. package/out/concepts/ConfigGroup__.d.ts +15 -15
  129. package/out/concepts/ConfigGroup__.js +9 -9
  130. package/out/concepts/ConfigGroup__.js.map +1 -1
  131. package/out/concepts/ConfigPropertyValue__.js +4 -3
  132. package/out/concepts/ConfigPropertyValue__.js.map +1 -1
  133. package/out/concepts/ConfigProperty__.d.ts +15 -15
  134. package/out/concepts/ConfigProperty__.js +10 -10
  135. package/out/concepts/ConfigProperty__.js.map +1 -1
  136. package/out/concepts/Configuration__.d.ts +15 -15
  137. package/out/concepts/Configuration__.js +9 -9
  138. package/out/concepts/Configuration__.js.map +1 -1
  139. package/out/concepts/Connection__.d.ts +166 -0
  140. package/out/concepts/Connection__.js +332 -0
  141. package/out/concepts/Connection__.js.map +1 -0
  142. package/out/concepts/ConnectorTrigger__.js +4 -3
  143. package/out/concepts/ConnectorTrigger__.js.map +1 -1
  144. package/out/concepts/Connector__.d.ts +66 -66
  145. package/out/concepts/Connector__.js +16 -15
  146. package/out/concepts/Connector__.js.map +1 -1
  147. package/out/concepts/Constant__.d.ts +3 -3
  148. package/out/concepts/Constant__.js +8 -7
  149. package/out/concepts/Constant__.js.map +1 -1
  150. package/out/concepts/DataElement__.d.ts +3 -3
  151. package/out/concepts/DataElement__.js +6 -5
  152. package/out/concepts/DataElement__.js.map +1 -1
  153. package/out/concepts/DataSource__.d.ts +15 -15
  154. package/out/concepts/DataSource__.js +55 -39
  155. package/out/concepts/DataSource__.js.map +1 -1
  156. package/out/concepts/DatabaseTypeAnnotation__.js +4 -3
  157. package/out/concepts/DatabaseTypeAnnotation__.js.map +1 -1
  158. package/out/concepts/Destination__.d.ts +12 -11
  159. package/out/concepts/Destination__.js +93 -36
  160. package/out/concepts/Destination__.js.map +1 -1
  161. package/out/concepts/End__.js +15 -13
  162. package/out/concepts/End__.js.map +1 -1
  163. package/out/concepts/EntityIndex__.d.ts +1 -1
  164. package/out/concepts/EntityIndex__.js +6 -5
  165. package/out/concepts/EntityIndex__.js.map +1 -1
  166. package/out/concepts/EntityProperty__.d.ts +8 -7
  167. package/out/concepts/EntityProperty__.js +39 -24
  168. package/out/concepts/EntityProperty__.js.map +1 -1
  169. package/out/concepts/Entity__.d.ts +31 -30
  170. package/out/concepts/Entity__.js +40 -16
  171. package/out/concepts/Entity__.js.map +1 -1
  172. package/out/concepts/EnumItem__.d.ts +1 -0
  173. package/out/concepts/EnumItem__.js +12 -5
  174. package/out/concepts/EnumItem__.js.map +1 -1
  175. package/out/concepts/Enum__.d.ts +9 -8
  176. package/out/concepts/Enum__.js +24 -11
  177. package/out/concepts/Enum__.js.map +1 -1
  178. package/out/concepts/Event__.d.ts +15 -15
  179. package/out/concepts/Event__.js +6 -5
  180. package/out/concepts/Event__.js.map +1 -1
  181. package/out/concepts/ExternalDestination__.d.ts +6 -6
  182. package/out/concepts/ExternalDestination__.js +12 -11
  183. package/out/concepts/ExternalDestination__.js.map +1 -1
  184. package/out/concepts/ForEachStatement__.d.ts +25 -24
  185. package/out/concepts/ForEachStatement__.js +101 -36
  186. package/out/concepts/ForEachStatement__.js.map +1 -1
  187. package/out/concepts/FrontendLibrary__.d.ts +30 -30
  188. package/out/concepts/FrontendLibrary__.js +12 -13
  189. package/out/concepts/FrontendLibrary__.js.map +1 -1
  190. package/out/concepts/FrontendVariable__.js +4 -3
  191. package/out/concepts/FrontendVariable__.js.map +1 -1
  192. package/out/concepts/Frontend__.d.ts +64 -65
  193. package/out/concepts/Frontend__.js +23 -27
  194. package/out/concepts/Frontend__.js.map +1 -1
  195. package/out/concepts/Function__.d.ts +64 -63
  196. package/out/concepts/Function__.js +49 -21
  197. package/out/concepts/Function__.js.map +1 -1
  198. package/out/concepts/Identifier__.js +37 -31
  199. package/out/concepts/Identifier__.js.map +1 -1
  200. package/out/concepts/IfStatement__.d.ts +20 -19
  201. package/out/concepts/IfStatement__.js +64 -34
  202. package/out/concepts/IfStatement__.js.map +1 -1
  203. package/out/concepts/Integration__.d.ts +3 -3
  204. package/out/concepts/Integration__.js +8 -7
  205. package/out/concepts/Integration__.js.map +1 -1
  206. package/out/concepts/InterfaceParam__.d.ts +3 -3
  207. package/out/concepts/InterfaceParam__.js +7 -6
  208. package/out/concepts/InterfaceParam__.js.map +1 -1
  209. package/out/concepts/Interface__.d.ts +33 -33
  210. package/out/concepts/Interface__.js +19 -20
  211. package/out/concepts/Interface__.js.map +1 -1
  212. package/out/concepts/JSBlock__.d.ts +1 -0
  213. package/out/concepts/JSBlock__.js +12 -5
  214. package/out/concepts/JSBlock__.js.map +1 -1
  215. package/out/concepts/JavaLogic__.js +10 -9
  216. package/out/concepts/JavaLogic__.js.map +1 -1
  217. package/out/concepts/LogicItem__.d.ts +6 -0
  218. package/out/concepts/LogicItem__.js +14 -5
  219. package/out/concepts/LogicItem__.js.map +1 -1
  220. package/out/concepts/Logic__.d.ts +80 -79
  221. package/out/concepts/Logic__.js +204 -58
  222. package/out/concepts/Logic__.js.map +1 -1
  223. package/out/concepts/MatchCase__.d.ts +39 -38
  224. package/out/concepts/MatchCase__.js +122 -37
  225. package/out/concepts/MatchCase__.js.map +1 -1
  226. package/out/concepts/Match__.d.ts +13 -11
  227. package/out/concepts/Match__.js +128 -60
  228. package/out/concepts/Match__.js.map +1 -1
  229. package/out/concepts/MemberExpression__.d.ts +7 -6
  230. package/out/concepts/MemberExpression__.js +52 -22
  231. package/out/concepts/MemberExpression__.js.map +1 -1
  232. package/out/concepts/MicroApp__.js +4 -3
  233. package/out/concepts/MicroApp__.js.map +1 -1
  234. package/out/concepts/Module__.d.ts +239 -155
  235. package/out/concepts/Module__.js +139 -33
  236. package/out/concepts/Module__.js.map +1 -1
  237. package/out/concepts/MsgTriggerEvent__.d.ts +15 -15
  238. package/out/concepts/MsgTriggerEvent__.js +6 -5
  239. package/out/concepts/MsgTriggerEvent__.js.map +1 -1
  240. package/out/concepts/MsgTriggerLauncher__.d.ts +23 -15
  241. package/out/concepts/MsgTriggerLauncher__.js +24 -5
  242. package/out/concepts/MsgTriggerLauncher__.js.map +1 -1
  243. package/out/concepts/Namespace__.d.ts +180 -180
  244. package/out/concepts/Namespace__.js +33 -34
  245. package/out/concepts/Namespace__.js.map +1 -1
  246. package/out/concepts/NewComposite__.d.ts +49 -48
  247. package/out/concepts/NewComposite__.js +164 -49
  248. package/out/concepts/NewComposite__.js.map +1 -1
  249. package/out/concepts/NewList__.d.ts +19 -18
  250. package/out/concepts/NewList__.js +29 -12
  251. package/out/concepts/NewList__.js.map +1 -1
  252. package/out/concepts/NewMap__.d.ts +34 -33
  253. package/out/concepts/NewMap__.js +81 -72
  254. package/out/concepts/NewMap__.js.map +1 -1
  255. package/out/concepts/New__.js +6 -5
  256. package/out/concepts/New__.js.map +1 -1
  257. package/out/concepts/NullLiteral__.js +6 -5
  258. package/out/concepts/NullLiteral__.js.map +1 -1
  259. package/out/concepts/NumericLiteral__.d.ts +4 -3
  260. package/out/concepts/NumericLiteral__.js +15 -8
  261. package/out/concepts/NumericLiteral__.js.map +1 -1
  262. package/out/concepts/OqlQueryComponent__.d.ts +4 -3
  263. package/out/concepts/OqlQueryComponent__.js +25 -16
  264. package/out/concepts/OqlQueryComponent__.js.map +1 -1
  265. package/out/concepts/OverriddenLogic__.d.ts +79 -79
  266. package/out/concepts/OverriddenLogic__.js +79 -58
  267. package/out/concepts/OverriddenLogic__.js.map +1 -1
  268. package/out/concepts/Param__.d.ts +6 -5
  269. package/out/concepts/Param__.js +66 -29
  270. package/out/concepts/Param__.js.map +1 -1
  271. package/out/concepts/Point__.js +4 -3
  272. package/out/concepts/Point__.js.map +1 -1
  273. package/out/concepts/ProcessComponent__.d.ts +30 -30
  274. package/out/concepts/ProcessComponent__.js +8 -7
  275. package/out/concepts/ProcessComponent__.js.map +1 -1
  276. package/out/concepts/ProcessElement__.d.ts +96 -96
  277. package/out/concepts/ProcessElement__.js +34 -34
  278. package/out/concepts/ProcessElement__.js.map +1 -1
  279. package/out/concepts/ProcessOutcome__.js +6 -5
  280. package/out/concepts/ProcessOutcome__.js.map +1 -1
  281. package/out/concepts/ProcessOutcomes__.js +6 -5
  282. package/out/concepts/ProcessOutcomes__.js.map +1 -1
  283. package/out/concepts/Process__.d.ts +75 -75
  284. package/out/concepts/Process__.js +33 -30
  285. package/out/concepts/Process__.js.map +1 -1
  286. package/out/concepts/QueryAggregateExpression__.d.ts +3 -3
  287. package/out/concepts/QueryAggregateExpression__.js +8 -7
  288. package/out/concepts/QueryAggregateExpression__.js.map +1 -1
  289. package/out/concepts/QueryFieldExpression__.js +7 -6
  290. package/out/concepts/QueryFieldExpression__.js.map +1 -1
  291. package/out/concepts/QueryFromExpression__.d.ts +8 -8
  292. package/out/concepts/QueryFromExpression__.js +8 -7
  293. package/out/concepts/QueryFromExpression__.js.map +1 -1
  294. package/out/concepts/QueryGroupByExpression__.d.ts +3 -3
  295. package/out/concepts/QueryGroupByExpression__.js +9 -10
  296. package/out/concepts/QueryGroupByExpression__.js.map +1 -1
  297. package/out/concepts/QueryJoinExpression__.d.ts +23 -23
  298. package/out/concepts/QueryJoinExpression__.js +11 -10
  299. package/out/concepts/QueryJoinExpression__.js.map +1 -1
  300. package/out/concepts/QueryLimitExpression__.d.ts +6 -6
  301. package/out/concepts/QueryLimitExpression__.js +9 -8
  302. package/out/concepts/QueryLimitExpression__.js.map +1 -1
  303. package/out/concepts/QueryOrderByExpression__.d.ts +6 -6
  304. package/out/concepts/QueryOrderByExpression__.js +9 -8
  305. package/out/concepts/QueryOrderByExpression__.js.map +1 -1
  306. package/out/concepts/QuerySelectExpression__.d.ts +30 -30
  307. package/out/concepts/QuerySelectExpression__.js +9 -8
  308. package/out/concepts/QuerySelectExpression__.js.map +1 -1
  309. package/out/concepts/Rect__.js +4 -3
  310. package/out/concepts/Rect__.js.map +1 -1
  311. package/out/concepts/Return__.d.ts +4 -3
  312. package/out/concepts/Return__.js +37 -18
  313. package/out/concepts/Return__.js.map +1 -1
  314. package/out/concepts/Role__.js +9 -9
  315. package/out/concepts/Role__.js.map +1 -1
  316. package/out/concepts/SelectMembers__.d.ts +18 -18
  317. package/out/concepts/SelectMembers__.js +10 -9
  318. package/out/concepts/SelectMembers__.js.map +1 -1
  319. package/out/concepts/Slot__.d.ts +3 -3
  320. package/out/concepts/Slot__.js +6 -5
  321. package/out/concepts/Slot__.js.map +1 -1
  322. package/out/concepts/SqlQueryComponent__.d.ts +4 -3
  323. package/out/concepts/SqlQueryComponent__.js +21 -12
  324. package/out/concepts/SqlQueryComponent__.js.map +1 -1
  325. package/out/concepts/Start__.js +6 -5
  326. package/out/concepts/Start__.js.map +1 -1
  327. package/out/concepts/StringInterpolation__.d.ts +16 -15
  328. package/out/concepts/StringInterpolation__.js +37 -14
  329. package/out/concepts/StringInterpolation__.js.map +1 -1
  330. package/out/concepts/StringLiteral__.d.ts +1 -0
  331. package/out/concepts/StringLiteral__.js +13 -8
  332. package/out/concepts/StringLiteral__.js.map +1 -1
  333. package/out/concepts/StructureProperty__.d.ts +4 -3
  334. package/out/concepts/StructureProperty__.js +22 -9
  335. package/out/concepts/StructureProperty__.js.map +1 -1
  336. package/out/concepts/Structure__.d.ts +31 -30
  337. package/out/concepts/Structure__.js +27 -15
  338. package/out/concepts/Structure__.js.map +1 -1
  339. package/out/concepts/SwitchCase__.d.ts +12 -11
  340. package/out/concepts/SwitchCase__.js +69 -31
  341. package/out/concepts/SwitchCase__.js.map +1 -1
  342. package/out/concepts/SwitchStatement__.d.ts +9 -8
  343. package/out/concepts/SwitchStatement__.js +27 -7
  344. package/out/concepts/SwitchStatement__.js.map +1 -1
  345. package/out/concepts/Theme__.js +4 -3
  346. package/out/concepts/Theme__.js.map +1 -1
  347. package/out/concepts/Transactional__.js +4 -3
  348. package/out/concepts/Transactional__.js.map +1 -1
  349. package/out/concepts/TriggerEvent__.d.ts +15 -15
  350. package/out/concepts/TriggerEvent__.js +6 -5
  351. package/out/concepts/TriggerEvent__.js.map +1 -1
  352. package/out/concepts/TriggerLauncher__.d.ts +15 -10
  353. package/out/concepts/TriggerLauncher__.js +54 -32
  354. package/out/concepts/TriggerLauncher__.js.map +1 -1
  355. package/out/concepts/TypeAnnotation__.d.ts +28 -27
  356. package/out/concepts/TypeAnnotation__.js +144 -124
  357. package/out/concepts/TypeAnnotation__.js.map +1 -1
  358. package/out/concepts/TypeParam__.d.ts +1 -0
  359. package/out/concepts/TypeParam__.js +12 -5
  360. package/out/concepts/TypeParam__.js.map +1 -1
  361. package/out/concepts/UnaryExpression__.d.ts +4 -3
  362. package/out/concepts/UnaryExpression__.js +31 -20
  363. package/out/concepts/UnaryExpression__.js.map +1 -1
  364. package/out/concepts/Unparsed__.d.ts +1 -0
  365. package/out/concepts/Unparsed__.js +12 -5
  366. package/out/concepts/Unparsed__.js.map +1 -1
  367. package/out/concepts/UseComponent__.js +4 -3
  368. package/out/concepts/UseComponent__.js.map +1 -1
  369. package/out/concepts/ValidationRule__.d.ts +14 -14
  370. package/out/concepts/ValidationRule__.js +19 -17
  371. package/out/concepts/ValidationRule__.js.map +1 -1
  372. package/out/concepts/Variable__.d.ts +4 -3
  373. package/out/concepts/Variable__.js +39 -23
  374. package/out/concepts/Variable__.js.map +1 -1
  375. package/out/concepts/ViewBlock__.js +4 -3
  376. package/out/concepts/ViewBlock__.js.map +1 -1
  377. package/out/concepts/ViewComponent__.d.ts +90 -90
  378. package/out/concepts/ViewComponent__.js +16 -15
  379. package/out/concepts/ViewComponent__.js.map +1 -1
  380. package/out/concepts/ViewElement__.d.ts +91 -86
  381. package/out/concepts/ViewElement__.js +218 -146
  382. package/out/concepts/ViewElement__.js.map +1 -1
  383. package/out/concepts/View__.d.ts +92 -92
  384. package/out/concepts/View__.js +135 -60
  385. package/out/concepts/View__.js.map +1 -1
  386. package/out/concepts/WhileStatement__.d.ts +12 -11
  387. package/out/concepts/WhileStatement__.js +46 -23
  388. package/out/concepts/WhileStatement__.js.map +1 -1
  389. package/out/concepts/index__.d.ts +2 -1
  390. package/out/concepts/index__.js +2 -1
  391. package/out/concepts/index__.js.map +1 -1
  392. package/out/concepts/types__.d.ts +2 -1
  393. package/out/decorators/index.d.ts +1 -1
  394. package/out/decorators/index.js +20 -7
  395. package/out/decorators/index.js.map +1 -1
  396. package/out/decorators/promise.d.ts +7 -0
  397. package/out/decorators/promise.js +28 -0
  398. package/out/decorators/promise.js.map +1 -0
  399. package/out/enums/KEYWORDS.js.map +1 -1
  400. package/out/enums/LEVEL_NAME_MAP.js.map +1 -1
  401. package/out/generator/compileComponent.js.map +1 -1
  402. package/out/generator/genBundleFiles.d.ts +4 -1
  403. package/out/generator/genBundleFiles.js +15 -11
  404. package/out/generator/genBundleFiles.js.map +1 -1
  405. package/out/generator/genHash.js.map +1 -1
  406. package/out/generator/genMetaData.js +12 -8
  407. package/out/generator/genMetaData.js.map +1 -1
  408. package/out/generator/genReleaseBody.js +33 -35
  409. package/out/generator/genReleaseBody.js.map +1 -1
  410. package/out/generator/microApp.js +2 -1
  411. package/out/generator/microApp.js.map +1 -1
  412. package/out/generator/permission.js +16 -14
  413. package/out/generator/permission.js.map +1 -1
  414. package/out/generator/styleReplacer.js +4 -7
  415. package/out/generator/styleReplacer.js.map +1 -1
  416. package/out/index.d.ts +0 -2
  417. package/out/index.js +0 -3
  418. package/out/index.js.map +1 -1
  419. package/out/manager/diagnostic.d.ts +1 -1
  420. package/out/manager/diagnostic.js.map +1 -1
  421. package/out/manager/stepRecorder.js +13 -9
  422. package/out/manager/stepRecorder.js.map +1 -1
  423. package/out/natural/RequirementAnalyzer.d.ts +22 -0
  424. package/out/natural/RequirementAnalyzer.js +196 -0
  425. package/out/natural/RequirementAnalyzer.js.map +1 -0
  426. package/out/natural/RequirementExecutor.d.ts +51 -0
  427. package/out/natural/RequirementExecutor.js +692 -0
  428. package/out/natural/RequirementExecutor.js.map +1 -0
  429. package/out/natural/componentData.d.ts +31 -0
  430. package/out/natural/componentData.js +85 -0
  431. package/out/natural/componentData.js.map +1 -0
  432. package/out/natural/genNaturalTS.d.ts +3 -0
  433. package/out/natural/genNaturalTS.js +76 -0
  434. package/out/natural/genNaturalTS.js.map +1 -0
  435. package/out/natural/index.d.ts +4 -0
  436. package/out/natural/index.js +21 -0
  437. package/out/natural/index.js.map +1 -0
  438. package/out/natural/knowledgeMap.d.ts +4 -0
  439. package/out/natural/knowledgeMap.js +40 -0
  440. package/out/natural/knowledgeMap.js.map +1 -0
  441. package/out/natural/naslStdlibMap.d.ts +2 -0
  442. package/out/natural/naslStdlibMap.js +26 -0
  443. package/out/natural/naslStdlibMap.js.map +1 -0
  444. package/out/natural/transformTSCode.d.ts +7 -0
  445. package/out/natural/transformTSCode.js +760 -0
  446. package/out/natural/transformTSCode.js.map +1 -0
  447. package/out/sentry/index.d.ts +2 -1
  448. package/out/sentry/index.js.map +1 -1
  449. package/out/server/createUiTs.js +28 -16
  450. package/out/server/createUiTs.js.map +1 -1
  451. package/out/server/entity2LogicNamespace.js +24 -22
  452. package/out/server/entity2LogicNamespace.js.map +1 -1
  453. package/out/server/event.js.map +1 -1
  454. package/out/server/extendBaseNode.js +55 -70
  455. package/out/server/extendBaseNode.js.map +1 -1
  456. package/out/server/formatTsUtils.js +46 -50
  457. package/out/server/formatTsUtils.js.map +1 -1
  458. package/out/server/getConnector.d.ts +3 -3
  459. package/out/server/getConnector.js +7 -8
  460. package/out/server/getConnector.js.map +1 -1
  461. package/out/server/getExtensionModules.js +2 -2
  462. package/out/server/getExtensionModules.js.map +1 -1
  463. package/out/server/getFunctions.js.map +1 -1
  464. package/out/server/getInterfaces.js.map +1 -1
  465. package/out/server/getLogging.js.map +1 -1
  466. package/out/server/getLogics.d.ts +1 -1
  467. package/out/server/getLogics.js +34 -16
  468. package/out/server/getLogics.js.map +1 -1
  469. package/out/server/getMemberIdentifier.js +13 -10
  470. package/out/server/getMemberIdentifier.js.map +1 -1
  471. package/out/server/getProcessComponents.js.map +1 -1
  472. package/out/server/getProcesses.js +21 -29
  473. package/out/server/getProcesses.js.map +1 -1
  474. package/out/server/getScope.js.map +1 -1
  475. package/out/server/getValidates.js.map +1 -1
  476. package/out/server/index.js +0 -1
  477. package/out/server/index.js.map +1 -1
  478. package/out/server/naslServer.d.ts +99 -94
  479. package/out/server/naslServer.js +485 -465
  480. package/out/server/naslServer.js.map +1 -1
  481. package/out/server/naslStdlibMap.js +4 -2
  482. package/out/server/naslStdlibMap.js.map +1 -1
  483. package/out/server/process2LogicNamespace.js.map +1 -1
  484. package/out/server/translator.d.ts +1 -1
  485. package/out/server/translator.js +52 -47
  486. package/out/server/translator.js.map +1 -1
  487. package/out/service/storage/init.d.ts +15 -1
  488. package/out/service/storage/init.js +65 -56
  489. package/out/service/storage/init.js.map +1 -1
  490. package/out/templator/genCallComponentLogic.js +1 -2
  491. package/out/templator/genCallComponentLogic.js.map +1 -1
  492. package/out/templator/genCreateBlock.js +13 -8
  493. package/out/templator/genCreateBlock.js.map +1 -1
  494. package/out/templator/genCurdEditMultipleKeyBlock.js +19 -10
  495. package/out/templator/genCurdEditMultipleKeyBlock.js.map +1 -1
  496. package/out/templator/genCurdMultipleKeyBlock.js +22 -26
  497. package/out/templator/genCurdMultipleKeyBlock.js.map +1 -1
  498. package/out/templator/genEditTableBlock.js +11 -12
  499. package/out/templator/genEditTableBlock.js.map +1 -1
  500. package/out/templator/genEnumSelectBlock.js +1 -1
  501. package/out/templator/genEnumSelectBlock.js.map +1 -1
  502. package/out/templator/genGetBlock.js +2 -2
  503. package/out/templator/genGetBlock.js.map +1 -1
  504. package/out/templator/genGridViewBlock.js +10 -14
  505. package/out/templator/genGridViewBlock.js.map +1 -1
  506. package/out/templator/genListViewBlock.js +4 -7
  507. package/out/templator/genListViewBlock.js.map +1 -1
  508. package/out/templator/genQueryComponent.js +22 -15
  509. package/out/templator/genQueryComponent.js.map +1 -1
  510. package/out/templator/genSelectBlock.js +12 -33
  511. package/out/templator/genSelectBlock.js.map +1 -1
  512. package/out/templator/genTableBlock.js +8 -10
  513. package/out/templator/genTableBlock.js.map +1 -1
  514. package/out/templator/genUpdateBlock.js +12 -7
  515. package/out/templator/genUpdateBlock.js.map +1 -1
  516. package/out/templator/index.d.ts +4 -2
  517. package/out/templator/index.js +2 -2
  518. package/out/templator/index.js.map +1 -1
  519. package/out/templator/utils.d.ts +2 -2
  520. package/out/templator/utils.js +21 -22
  521. package/out/templator/utils.js.map +1 -1
  522. package/out/translator/index.js +27 -28
  523. package/out/translator/index.js.map +1 -1
  524. package/out/utils/index.d.ts +2 -1
  525. package/out/utils/index.js +8 -14
  526. package/out/utils/index.js.map +1 -1
  527. package/out/utils/logger.js.map +1 -1
  528. package/out/utils/sortTsString.js +3 -1
  529. package/out/utils/sortTsString.js.map +1 -1
  530. package/out/utils/string.js +8 -11
  531. package/out/utils/string.js.map +1 -1
  532. package/out/utils/time-slicing.d.ts +41 -0
  533. package/out/utils/time-slicing.js +81 -0
  534. package/out/utils/time-slicing.js.map +1 -0
  535. package/out/utils/traverse.js +4 -6
  536. package/out/utils/traverse.js.map +1 -1
  537. package/package.json +11 -7
  538. package/sandbox/stdlib/nasl.auth.ts +49 -46
  539. package/sandbox/stdlib/nasl.http.ts +29 -31
  540. package/sandbox/stdlib/nasl.ui.definition.ts +13 -1
  541. package/sandbox-natural/stdlib/nasl.core.ts +36 -0
  542. package/sandbox-natural/stdlib/nasl.oql.ts +8 -0
  543. package/sandbox-natural/stdlib/nasl.ui.ts +56 -0
  544. package/sandbox-natural/stdlib/nasl.util.ts +26 -0
  545. package/sandbox-natural/tsconfig.json +12 -0
  546. package/src/automate/upgrader/2.20.js +1 -1
  547. package/src/bak/translator.js +92 -99
  548. package/src/breakpoint/generator/AfterStartNode.ts +19 -17
  549. package/src/breakpoint/generator/BeforeEndNode.ts +17 -17
  550. package/src/breakpoint/generator/BreakpointNode.ts +243 -195
  551. package/src/breakpoint/generator/CallbackNode.ts +20 -0
  552. package/src/breakpoint/generator/FragmentNode.ts +14 -0
  553. package/src/breakpoint/generator/index.ts +107 -80
  554. package/src/breakpoint/shared/constants.ts +59 -53
  555. package/src/breakpoint/shared/operations.ts +6 -6
  556. package/src/breakpoint/shared/socket.ts +277 -223
  557. package/src/breakpoint/shared/utils.ts +166 -146
  558. package/src/breakpoint/store/core.ts +326 -297
  559. package/src/breakpoint/store/dock.ts +103 -103
  560. package/src/breakpoint/types/index.d.ts +11 -11
  561. package/src/common/BaseNode.ts +1102 -1024
  562. package/src/common/Command.ts +46 -16
  563. package/src/common/ComponentAPI.ts +72 -72
  564. package/src/common/EventEmitter.ts +80 -76
  565. package/src/common/Messager.ts +223 -224
  566. package/src/common/asyncFuncMap.ts +12 -12
  567. package/src/concepts/Abort__.ts +53 -60
  568. package/src/concepts/Anchor__.ts +158 -149
  569. package/src/concepts/AnonymousFunction__.ts +584 -551
  570. package/src/concepts/App__.ts +4278 -3671
  571. package/src/concepts/Argument__.ts +234 -210
  572. package/src/concepts/Assignee__.ts +680 -656
  573. package/src/concepts/AssignmentLine__.ts +80 -84
  574. package/src/concepts/Assignment__.ts +275 -264
  575. package/src/concepts/Attribute__.ts +183 -184
  576. package/src/concepts/AuthInterface__.ts +61 -63
  577. package/src/concepts/AuthLogicForCallInterface__.ts +540 -511
  578. package/src/concepts/AuthLogic__.ts +210 -194
  579. package/src/concepts/BackendVariable__.ts +414 -415
  580. package/src/concepts/Backend__.ts +317 -303
  581. package/src/concepts/BatchAssignment__.ts +987 -939
  582. package/src/concepts/BinaryExpression__.ts +370 -341
  583. package/src/concepts/BindAttribute__.ts +1057 -1007
  584. package/src/concepts/BindDirective__.ts +540 -542
  585. package/src/concepts/BindEvent__.ts +992 -911
  586. package/src/concepts/BindStyle__.ts +442 -451
  587. package/src/concepts/BooleanLiteral__.ts +89 -90
  588. package/src/concepts/CallAuthInterface__.ts +458 -433
  589. package/src/concepts/CallConnector__.ts +209 -164
  590. package/src/concepts/CallFunction__.ts +600 -600
  591. package/src/concepts/CallInterface__.ts +752 -721
  592. package/src/concepts/CallLogic__.ts +1324 -1200
  593. package/src/concepts/CallQueryComponent__.ts +1580 -1501
  594. package/src/concepts/Comment__.ts +69 -68
  595. package/src/concepts/CompletionProperty__.ts +250 -255
  596. package/src/concepts/ConfigGroup__.ts +312 -296
  597. package/src/concepts/ConfigPropertyValue__.ts +92 -93
  598. package/src/concepts/ConfigProperty__.ts +374 -357
  599. package/src/concepts/Configuration__.ts +288 -276
  600. package/src/concepts/Connection__.ts +426 -0
  601. package/src/concepts/ConnectorTrigger__.ts +146 -142
  602. package/src/concepts/Connector__.ts +1090 -1048
  603. package/src/concepts/Constant__.ts +226 -219
  604. package/src/concepts/DataElement__.ts +108 -115
  605. package/src/concepts/DataSource__.ts +508 -472
  606. package/src/concepts/DatabaseTypeAnnotation__.ts +53 -59
  607. package/src/concepts/Destination__.ts +808 -746
  608. package/src/concepts/End__.ts +85 -89
  609. package/src/concepts/EntityIndex__.ts +206 -202
  610. package/src/concepts/EntityProperty__.ts +825 -791
  611. package/src/concepts/Entity__.ts +921 -864
  612. package/src/concepts/EnumItem__.ts +133 -125
  613. package/src/concepts/Enum__.ts +347 -337
  614. package/src/concepts/Event__.ts +305 -292
  615. package/src/concepts/ExternalDestination__.ts +269 -280
  616. package/src/concepts/ForEachStatement__.ts +583 -531
  617. package/src/concepts/FrontendLibrary__.ts +507 -485
  618. package/src/concepts/FrontendVariable__.ts +44 -49
  619. package/src/concepts/Frontend__.ts +1239 -1187
  620. package/src/concepts/Function__.ts +1110 -1045
  621. package/src/concepts/Identifier__.ts +276 -272
  622. package/src/concepts/IfStatement__.ts +467 -436
  623. package/src/concepts/Integration__.ts +136 -137
  624. package/src/concepts/InterfaceParam__.ts +239 -238
  625. package/src/concepts/Interface__.ts +969 -948
  626. package/src/concepts/JSBlock__.ts +83 -83
  627. package/src/concepts/JavaLogic__.ts +101 -106
  628. package/src/concepts/LogicItem__.ts +307 -237
  629. package/src/concepts/Logic__.ts +2301 -2088
  630. package/src/concepts/MatchCase__.ts +886 -779
  631. package/src/concepts/Match__.ts +728 -659
  632. package/src/concepts/MemberExpression__.ts +330 -311
  633. package/src/concepts/MicroApp__.ts +91 -97
  634. package/src/concepts/Module__.ts +2590 -2278
  635. package/src/concepts/MsgTriggerEvent__.ts +297 -281
  636. package/src/concepts/MsgTriggerLauncher__.ts +286 -256
  637. package/src/concepts/Namespace__.ts +2579 -2466
  638. package/src/concepts/NewComposite__.ts +1487 -1350
  639. package/src/concepts/NewList__.ts +464 -450
  640. package/src/concepts/NewMap__.ts +691 -674
  641. package/src/concepts/New__.ts +42 -49
  642. package/src/concepts/NullLiteral__.ts +66 -72
  643. package/src/concepts/NumericLiteral__.ts +169 -169
  644. package/src/concepts/OqlQueryComponent__.ts +282 -279
  645. package/src/concepts/OverriddenLogic__.ts +2142 -2097
  646. package/src/concepts/Param__.ts +500 -442
  647. package/src/concepts/Point__.ts +53 -59
  648. package/src/concepts/ProcessComponent__.ts +497 -475
  649. package/src/concepts/ProcessElement__.ts +1852 -1780
  650. package/src/concepts/ProcessOutcome__.ts +59 -64
  651. package/src/concepts/ProcessOutcomes__.ts +59 -64
  652. package/src/concepts/Process__.ts +1491 -1428
  653. package/src/concepts/QueryAggregateExpression__.ts +135 -142
  654. package/src/concepts/QueryFieldExpression__.ts +138 -142
  655. package/src/concepts/QueryFromExpression__.ts +246 -254
  656. package/src/concepts/QueryGroupByExpression__.ts +130 -136
  657. package/src/concepts/QueryJoinExpression__.ts +441 -438
  658. package/src/concepts/QueryLimitExpression__.ts +159 -166
  659. package/src/concepts/QueryOrderByExpression__.ts +173 -180
  660. package/src/concepts/QuerySelectExpression__.ts +464 -439
  661. package/src/concepts/Rect__.ts +73 -79
  662. package/src/concepts/Return__.ts +366 -345
  663. package/src/concepts/Role__.ts +146 -147
  664. package/src/concepts/SelectMembers__.ts +358 -350
  665. package/src/concepts/Slot__.ts +152 -153
  666. package/src/concepts/SqlQueryComponent__.ts +230 -228
  667. package/src/concepts/Start__.ts +45 -52
  668. package/src/concepts/StringInterpolation__.ts +323 -296
  669. package/src/concepts/StringLiteral__.ts +113 -115
  670. package/src/concepts/StructureProperty__.ts +306 -295
  671. package/src/concepts/Structure__.ts +615 -578
  672. package/src/concepts/SwitchCase__.ts +326 -290
  673. package/src/concepts/SwitchStatement__.ts +236 -229
  674. package/src/concepts/Theme__.ts +64 -68
  675. package/src/concepts/Transactional__.ts +159 -153
  676. package/src/concepts/TriggerEvent__.ts +285 -274
  677. package/src/concepts/TriggerLauncher__.ts +232 -196
  678. package/src/concepts/TypeAnnotation__.ts +1049 -1011
  679. package/src/concepts/TypeParam__.ts +48 -50
  680. package/src/concepts/UnaryExpression__.ts +163 -153
  681. package/src/concepts/Unparsed__.ts +81 -82
  682. package/src/concepts/UseComponent__.ts +53 -59
  683. package/src/concepts/ValidationRule__.ts +524 -544
  684. package/src/concepts/Variable__.ts +419 -397
  685. package/src/concepts/ViewBlock__.ts +58 -64
  686. package/src/concepts/ViewComponent__.ts +1323 -1261
  687. package/src/concepts/ViewElement__.ts +2538 -2350
  688. package/src/concepts/View__.ts +2447 -2268
  689. package/src/concepts/WhileStatement__.ts +293 -272
  690. package/src/concepts/index__.ts +2 -1
  691. package/src/concepts/types__.ts +123 -121
  692. package/src/decorators/index.ts +75 -77
  693. package/src/decorators/promise.ts +28 -0
  694. package/src/enums/KEYWORDS.ts +1228 -1228
  695. package/src/enums/LEVEL_NAME_MAP.ts +24 -24
  696. package/src/generator/compileComponent.ts +10 -10
  697. package/src/generator/genBundleFiles.ts +300 -291
  698. package/src/generator/genHash.ts +2 -2
  699. package/src/generator/genMetaData.ts +280 -261
  700. package/src/generator/genReleaseBody.ts +312 -291
  701. package/src/generator/icestark.ts +1 -1
  702. package/src/generator/microApp.ts +17 -20
  703. package/src/generator/permission.ts +227 -218
  704. package/src/generator/qiankun.ts +1 -1
  705. package/src/generator/styleReplacer.ts +28 -31
  706. package/src/index.ts +0 -3
  707. package/src/manager/diagnostic.ts +84 -82
  708. package/src/manager/stepRecorder.ts +106 -94
  709. package/src/natural/RequirementAnalyzer.ts +208 -0
  710. package/src/natural/RequirementExecutor.ts +685 -0
  711. package/src/natural/componentData.ts +81 -0
  712. package/src/natural/genNaturalTS.ts +77 -0
  713. package/src/natural/index.ts +4 -0
  714. package/src/natural/knowledgeMap.ts +39 -0
  715. package/src/natural/naslStdlibMap.ts +24 -0
  716. package/src/natural/transformTSCode.ts +692 -0
  717. package/src/sentry/index.ts +109 -104
  718. package/src/server/createUiTs.ts +190 -184
  719. package/src/server/entity2LogicNamespace.ts +379 -359
  720. package/src/server/event.js +145 -145
  721. package/src/server/extendBaseNode.ts +461 -456
  722. package/src/server/formatTsUtils.ts +712 -713
  723. package/src/server/getConnector.ts +33 -33
  724. package/src/server/getExtensionModules.ts +23 -22
  725. package/src/server/getFunctions.ts +6 -6
  726. package/src/server/getInterfaces.ts +38 -37
  727. package/src/server/getLogging.ts +1 -1
  728. package/src/server/getLogics.ts +390 -344
  729. package/src/server/getMemberIdentifier.ts +286 -281
  730. package/src/server/getProcessComponents.ts +2 -2
  731. package/src/server/getProcesses.ts +548 -534
  732. package/src/server/getScope.ts +51 -51
  733. package/src/server/getValidates.ts +3 -3
  734. package/src/server/index.ts +29 -30
  735. package/src/server/naslServer.ts +4302 -4225
  736. package/src/server/naslStdlibMap.ts +43 -41
  737. package/src/server/process2LogicNamespace.ts +97 -97
  738. package/src/server/translator.ts +740 -746
  739. package/src/service/storage/init.ts +761 -728
  740. package/src/templator/genCallComponentLogic.ts +14 -15
  741. package/src/templator/genCreateBlock.ts +257 -229
  742. package/src/templator/genCurdEditMultipleKeyBlock.ts +332 -316
  743. package/src/templator/genCurdMultipleKeyBlock.ts +501 -473
  744. package/src/templator/genEditTableBlock.ts +192 -182
  745. package/src/templator/genEnumSelectBlock.ts +13 -7
  746. package/src/templator/genGetBlock.ts +57 -55
  747. package/src/templator/genGridViewBlock.ts +191 -201
  748. package/src/templator/genListViewBlock.ts +59 -64
  749. package/src/templator/genQueryComponent.ts +337 -287
  750. package/src/templator/genSelectBlock.ts +276 -285
  751. package/src/templator/genTableBlock.ts +157 -160
  752. package/src/templator/genUpdateBlock.ts +269 -255
  753. package/src/templator/index.ts +4 -4
  754. package/src/templator/utils.ts +490 -464
  755. package/src/translator/index.ts +84 -84
  756. package/src/translator/lsp.ts +22 -22
  757. package/src/translator/tsp.ts +6 -6
  758. package/src/utils/index.ts +115 -117
  759. package/src/utils/logger.ts +3 -4
  760. package/src/utils/sortTsString.ts +34 -32
  761. package/src/utils/string.ts +47 -48
  762. package/src/utils/time-slicing.ts +109 -0
  763. package/src/utils/traverse.ts +114 -126
  764. package/test/concepts/match/__snapshots__/toEmbeddedTS.spec.ts.snap +66 -0
  765. package/test/concepts/match/__snapshots__/toJS.spec.ts.snap +40 -0
  766. package/test/concepts/match/constant.ts +5 -0
  767. package/test/concepts/match/fixtures/isExpression.json +259 -0
  768. package/test/concepts/match/fixtures/lastBodyIf.json +268 -0
  769. package/test/concepts/match/fixtures/noExpression.json +176 -0
  770. package/test/concepts/match/toEmbeddedTS.spec.ts +14 -0
  771. package/test/concepts/match/toJS.spec.ts +14 -0
  772. package/test/setup.ts +2 -1
  773. package/ts-worker/src/index.js +0 -2
  774. package/tsconfig.json +21 -21
@@ -1,3 +1,4 @@
1
+ import { v4 as uuidv4 } from 'uuid';
1
2
  import Namespace from './Namespace__';
2
3
  import { TranslatorState, shiftState, withSourceMap, indent } from '../translator';
3
4
  import { ElementToVueOptions } from './ViewElement__';
@@ -8,15 +9,14 @@ import MemberExpression from './MemberExpression__';
8
9
  import Entity from './Entity__';
9
10
  import asyncFuncMap from '../common/asyncFuncMap';
10
11
 
11
- //================================================================================
12
+ //= ===============================================================================
12
13
  // 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
13
14
  // ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
14
- //================================================================================
15
+ //= ===============================================================================
15
16
  import { EventPayload, Params } from '../common/EventEmitter';
16
17
  import { concept, excludedInJSON, property } from '../decorators';
17
18
 
18
19
  import * as utils from '../utils';
19
- import { v4 as uuidv4 } from 'uuid';
20
20
  import BaseNode from '../common/BaseNode';
21
21
  import classMap from '../common/classMap';
22
22
  import Param from './Param__';
@@ -30,584 +30,617 @@ import App from './App__';
30
30
  */
31
31
  @concept('匿名函数')
32
32
  export class AnonymousFunction extends LogicItem {
33
- /**
34
- * 产品概念
35
- */
36
- @property()
37
- concept: 'AnonymousFunction' = 'AnonymousFunction';
38
-
39
- /**
40
- * 匿名函数描述
41
- */
42
- @property()
43
- description: string = undefined;
44
-
45
- /**
46
- * 输入参数列表
47
- */
48
- @property('Param')
49
- params: Array<Param> = [];
50
-
51
- /**
52
- * 逻辑项
53
- */
54
- @property('LogicItem')
55
- body: LogicItem = undefined;
56
-
57
- /**
58
- * 类型
59
- */
60
- @property('TypeAnnotation')
61
- typeAnnotation: TypeAnnotation = undefined;
62
-
63
- /**
64
- * 祖先 Module
65
- */
66
- get module() {
67
- return this.getAncestor('Module') as Module;
33
+ /**
34
+ * 产品概念
35
+ */
36
+ @property()
37
+ concept: 'AnonymousFunction' = 'AnonymousFunction';
38
+
39
+ /**
40
+ * 匿名函数描述
41
+ */
42
+ @property()
43
+ description: string = undefined;
44
+
45
+ /**
46
+ * 输入参数列表
47
+ */
48
+ @property('Param')
49
+ params: Array<Param> = [];
50
+
51
+ /**
52
+ * 逻辑项
53
+ */
54
+ @property('LogicItem')
55
+ body: LogicItem = undefined;
56
+
57
+ /**
58
+ * 类型
59
+ */
60
+ @property('TypeAnnotation')
61
+ typeAnnotation: TypeAnnotation = undefined;
62
+
63
+ /**
64
+ * 祖先 Module
65
+ */
66
+ get module() {
67
+ return this.getAncestor('Module') as Module;
68
+ }
69
+
70
+ /**
71
+ * 祖先 App
72
+ */
73
+ get app() {
74
+ return this.getAncestor('App') as App;
75
+ }
76
+
77
+ /**
78
+ * @param source 需要合并的部分参数
79
+ */
80
+ constructor(source?: Partial<AnonymousFunction>) {
81
+ // @ts-ignore
82
+ source = { ...AnonymousFunction.getDefaultOptions(), ...source };
83
+ super(source);
84
+ super.subConstructor(source);
85
+ }
86
+
87
+ getClassName() {
88
+ return 'AnonymousFunction';
89
+ }
90
+
91
+ static from(source: any, parentNode?: any, parentKey?: string): AnonymousFunction {
92
+ return super.from(source, parentNode, parentKey) as AnonymousFunction;
93
+ }
94
+
95
+ /**
96
+ * 设置匿名函数描述
97
+ */
98
+ setDescription(description: string) {
99
+ const object = {
100
+ description,
101
+ };
102
+ this.update({
103
+ ...object,
104
+ });
105
+ }
106
+
107
+ /**
108
+ * 设置逻辑项
109
+ */
110
+ setBody(body: LogicItem) {
111
+ body._delete();
112
+ const relationOptions = { parentNode: this, parentKey: 'body' };
113
+ Object.assign(body, relationOptions);
114
+ const object = {
115
+ body,
116
+ };
117
+ this.update({
118
+ ...object,
119
+ });
120
+ }
121
+
122
+ getParamUniqueName(name = 'param1') {
123
+ return utils.unique(name, this.getVarExistingNames(), undefined, false);
124
+ }
125
+
126
+ /**
127
+ * 插入输入参数
128
+ * @internal
129
+ * @param name 输入参数名称,如果不填会自动生成一个唯一名称
130
+ */
131
+ _insertParamAt(name: string, index: number): Param;
132
+
133
+ /**
134
+ * 插入输入参数
135
+ * @internal
136
+ * @param paramOptions 输入参数参数
137
+ */
138
+ _insertParamAt(paramOptions: Partial<Param>, index: number): Param;
139
+
140
+ /**
141
+ * 插入输入参数
142
+ * @internal
143
+ * @param param 已有的输入参数实例
144
+ */
145
+ _insertParamAt(param: Param, index: number): Param;
146
+
147
+ _insertParamAt(options: string | Partial<Param> | Param, index: number) {
148
+ const paramOptions: any = {};
149
+ const relationOptions = { parentNode: this, parentKey: 'params' };
150
+ let param: Param;
151
+ if (!options) {
152
+ param = Param.from(
153
+ {
154
+ ...paramOptions,
155
+ name: this.getParamUniqueName(),
156
+ },
157
+ this,
158
+ 'params'
159
+ );
160
+ } else if (typeof options === 'string') {
161
+ param = Param.from(
162
+ {
163
+ ...paramOptions,
164
+ name: options,
165
+ },
166
+ this,
167
+ 'params'
168
+ );
169
+ } else if (options instanceof Param) {
170
+ options.ensureDelete(); // 同一实例不支持多处存在
171
+ param = options;
172
+ Object.assign(param, relationOptions);
173
+ } else {
174
+ param = Param.from(
175
+ {
176
+ ...paramOptions,
177
+ ...options,
178
+ },
179
+ this,
180
+ 'params'
181
+ );
68
182
  }
69
- /**
70
- * 祖先 App
71
- */
72
- get app() {
73
- return this.getAncestor('App') as App;
183
+ this.params.splice(index, 0, param);
184
+ return param;
185
+ }
186
+
187
+ /**
188
+ * 插入输入参数
189
+ * @param name 输入参数名称,如果不填会自动生成一个唯一名称
190
+ */
191
+ insertParamAt(name: string, index: number): Param;
192
+
193
+ /**
194
+ * 插入输入参数
195
+ * @param paramOptions 输入参数参数
196
+ */
197
+ insertParamAt(paramOptions: Partial<Param>, index: number): Param;
198
+
199
+ /**
200
+ * 插入输入参数
201
+ * @param param 已有的输入参数实例
202
+ */
203
+ insertParamAt(param: Param, index: number): Param;
204
+
205
+ insertParamAt(options: string | Partial<Param> | Param, index: number) {
206
+ const node = this._insertParamAt(options as any, index);
207
+ node.create({
208
+ index,
209
+ parentNode: this,
210
+ parentKey: 'params',
211
+ });
212
+ return node;
213
+ }
214
+
215
+ /**
216
+ * 添加输入参数
217
+ * @internal
218
+ * @param name 输入参数名称,如果不填会自动生成一个唯一名称
219
+ */
220
+ _addParam(name?: string): Param;
221
+
222
+ /**
223
+ * 添加输入参数
224
+ * @internal
225
+ * @param paramOptions 输入参数参数
226
+ */
227
+ _addParam(paramOptions: Partial<Param>): Param;
228
+
229
+ /**
230
+ * 添加输入参数
231
+ * @internal
232
+ * @param param 已有的输入参数实例
233
+ */
234
+ _addParam(param: Param): Param;
235
+
236
+ _addParam(options?: string | Partial<Param> | Param) {
237
+ const index = this.params.length;
238
+ return this._insertParamAt(options as any, index);
239
+ }
240
+
241
+ /**
242
+ * 添加输入参数
243
+ * @internal
244
+ * @param name 输入参数名称,如果不填会自动生成一个唯一名称
245
+ */
246
+ addParam(name?: string): Param;
247
+
248
+ /**
249
+ * 添加输入参数
250
+ * @param paramOptions 输入参数参数
251
+ */
252
+ addParam(paramOptions: Partial<Param>): Param;
253
+
254
+ /**
255
+ * 添加输入参数
256
+ * @param param 已有的输入参数实例
257
+ */
258
+ addParam(param: Param): Param;
259
+
260
+ addParam(options?: string | Partial<Param> | Param) {
261
+ const node = this._addParam(options as any);
262
+ const index = this.params.indexOf(node);
263
+ node.create({
264
+ index,
265
+ parentNode: this,
266
+ parentKey: 'params',
267
+ });
268
+ return node;
269
+ }
270
+
271
+ /**
272
+ * 删除输入参数
273
+ * @param name 输入参数名称
274
+ */
275
+ removeParam(name: string): void;
276
+
277
+ /**
278
+ * 删除输入参数
279
+ * @param param 已有的输入参数实例
280
+ */
281
+ removeParam(param: Param): void;
282
+
283
+ removeParam(options: string | Param) {
284
+ let param: Param;
285
+ if (typeof options === 'string') {
286
+ param = (this.params as Param[]).find((item) => item.name === options);
287
+ if (!param) {
288
+ throw new Error(`找不到输入参数 ${options}`);
289
+ }
290
+ } else {
291
+ param = options;
74
292
  }
75
-
76
- /**
77
- * @param source 需要合并的部分参数
78
- */
79
- constructor(source?: Partial<AnonymousFunction>) {
80
- source = Object.assign({}, AnonymousFunction.getDefaultOptions(), source);
81
- super(source);
82
- super.subConstructor(source);
293
+ return param.delete();
294
+ }
295
+
296
+ __removeParam(param: Param) {
297
+ const { parentKey } = param;
298
+ const params: Params = {
299
+ parentNode: this,
300
+ parentKey,
301
+ index: -1,
302
+ object: null,
303
+ oldObject: param,
304
+ };
305
+ if (parentKey) {
306
+ params.parentKey = parentKey;
307
+ if (Array.isArray((this as any)[parentKey])) {
308
+ const index = (this as any)[parentKey].indexOf(param);
309
+ ~index && (this as any)[parentKey].splice(index, 1);
310
+ params.index = index;
311
+ } else if ((this as any)[parentKey] === param) {
312
+ params.index = 0;
313
+ (this as any)[parentKey] = undefined;
314
+ }
83
315
  }
84
- getClassName() {
85
- return 'AnonymousFunction';
316
+ return params;
317
+ }
318
+
319
+ /**
320
+ * 删除逻辑项
321
+ * @param name 逻辑项名称
322
+ */
323
+ removeBody(name: string): void;
324
+
325
+ /**
326
+ * 删除逻辑项
327
+ * @param body 已有的逻辑项实例
328
+ */
329
+ removeBody(body: LogicItem): void;
330
+
331
+ removeBody(options: string | LogicItem) {
332
+ let body: LogicItem;
333
+ if (typeof options === 'string') {
334
+ body = this.body;
335
+ if (!body) {
336
+ throw new Error(`找不到逻辑项 ${options}`);
337
+ }
338
+ } else {
339
+ body = options;
86
340
  }
87
-
88
- static from(source: any, parentNode?: any, parentKey?: string): AnonymousFunction {
89
- return super.from(source, parentNode, parentKey) as AnonymousFunction;
341
+ return body.delete();
342
+ }
343
+
344
+ __removeLogicItem(logicItem: LogicItem) {
345
+ const { parentKey } = logicItem;
346
+ const params: Params = {
347
+ parentNode: this,
348
+ parentKey,
349
+ index: -1,
350
+ object: null,
351
+ oldObject: logicItem,
352
+ };
353
+ if (parentKey) {
354
+ params.parentKey = parentKey;
355
+ if (Array.isArray((this as any)[parentKey])) {
356
+ const index = (this as any)[parentKey].indexOf(logicItem);
357
+ ~index && (this as any)[parentKey].splice(index, 1);
358
+ params.index = index;
359
+ } else if ((this as any)[parentKey] === logicItem) {
360
+ params.index = 0;
361
+ (this as any)[parentKey] = undefined;
362
+ }
90
363
  }
91
-
92
-
93
- /**
94
- * 设置匿名函数描述
95
- */
96
- setDescription(description: string) {
97
- const object = {
98
- description,
99
- };
100
- this.update({
101
- ...object,
102
- });
364
+ return params;
365
+ }
366
+
367
+ /**
368
+ * 删除类型标注
369
+ * @param name 类型标注名称
370
+ */
371
+ removeTypeAnnotation(name: string): void;
372
+
373
+ /**
374
+ * 删除类型标注
375
+ * @param typeAnnotation 已有的类型标注实例
376
+ */
377
+ removeTypeAnnotation(typeAnnotation: TypeAnnotation): void;
378
+
379
+ removeTypeAnnotation(options: string | TypeAnnotation) {
380
+ let typeAnnotation: TypeAnnotation;
381
+ if (typeof options === 'string') {
382
+ typeAnnotation = this.typeAnnotation;
383
+ if (!typeAnnotation) {
384
+ throw new Error(`找不到类型标注 ${options}`);
385
+ }
386
+ } else {
387
+ typeAnnotation = options;
103
388
  }
104
-
105
- /**
106
- * 设置逻辑项
107
- */
108
- setBody(body: LogicItem) {
109
- body._delete();
110
- const relationOptions = { parentNode: this, parentKey: 'body' };
111
- Object.assign(body, relationOptions);
112
- const object = {
113
- body,
114
- };
115
- this.update({
116
- ...object,
117
- });
389
+ return typeAnnotation.delete();
390
+ }
391
+
392
+ __removeTypeAnnotation(typeAnnotation: TypeAnnotation) {
393
+ const { parentKey } = typeAnnotation;
394
+ const params: Params = {
395
+ parentNode: this,
396
+ parentKey,
397
+ index: -1,
398
+ object: null,
399
+ oldObject: typeAnnotation,
400
+ };
401
+ if (parentKey) {
402
+ params.parentKey = parentKey;
403
+ if (Array.isArray((this as any)[parentKey])) {
404
+ const index = (this as any)[parentKey].indexOf(typeAnnotation);
405
+ ~index && (this as any)[parentKey].splice(index, 1);
406
+ params.index = index;
407
+ } else if ((this as any)[parentKey] === typeAnnotation) {
408
+ params.index = 0;
409
+ (this as any)[parentKey] = undefined;
410
+ }
118
411
  }
119
-
120
- getParamUniqueName(name = 'param1') {
121
- return utils.unique(name, this.getVarExistingNames(), undefined, false);
412
+ return params;
413
+ }
414
+
415
+ //= ===============================================================================
416
+ // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
417
+ // 自动生成的代码已结束。下面可以手动编写。
418
+ //= ===============================================================================
419
+
420
+ toJS(state?: TranslatorState): string {
421
+ const grandParent = this.parentNode?.parentNode;
422
+ if (
423
+ grandParent instanceof CallLogic &&
424
+ /dataSources\.[^.]+\.entities\.[^.]+\.logics/.test(grandParent.calleeNamespace) &&
425
+ ['update', 'updateBy', 'createOrUpdate', 'batchUpdate'].includes(grandParent.calleeName)
426
+ )
427
+ return this.toJSOfEntityLogicProperties(state);
428
+
429
+ let code = '(';
430
+ this.params.forEach((param, index) => {
431
+ code += param.name;
432
+ if (index !== this.params.length - 1) {
433
+ code += ',';
434
+ }
435
+ });
436
+ code += ')';
437
+ code += ' => (';
438
+ if (this.body) {
439
+ code += this.body.toJS(shiftState(state, code));
122
440
  }
123
-
124
- /**
125
- * 插入输入参数
126
- * @internal
127
- * @param name 输入参数名称,如果不填会自动生成一个唯一名称
128
- */
129
- _insertParamAt(name: string, index: number): Param;
130
-
131
- /**
132
- * 插入输入参数
133
- * @internal
134
- * @param paramOptions 输入参数参数
135
- */
136
- _insertParamAt(paramOptions: Partial<Param>, index: number): Param;
137
-
138
- /**
139
- * 插入输入参数
140
- * @internal
141
- * @param param 已有的输入参数实例
142
- */
143
- _insertParamAt(param: Param, index: number): Param;
144
-
145
- _insertParamAt(options: string | Partial<Param> | Param, index: number) {
146
- const paramOptions: any = {};
147
- const relationOptions = { parentNode: this, parentKey: 'params' };
148
- let param: Param;
149
- if (!options) {
150
- param = Param.from({
151
- ...paramOptions,
152
- name: this.getParamUniqueName(),
153
- }, this, 'params');
154
- } else if (typeof options === 'string') {
155
- param = Param.from({
156
- ...paramOptions,
157
- name: options,
158
- }, this, 'params');
159
- } else if (options instanceof Param) {
160
- options.ensureDelete(); // 同一实例不支持多处存在
161
- param = options;
162
- Object.assign(param, relationOptions);
163
- } else {
164
- param = Param.from({
165
- ...paramOptions,
166
- ...options,
167
- }, this, 'params');
168
- }
169
- this.params.splice(index, 0, param);
170
- return param;
441
+ code += ')';
442
+ let resultCode = '';
443
+ const gParent = this.parentNode?.parentNode as any;
444
+ const ancestorLogic = this.getAncestor('Logic');
445
+ if (gParent?.view && ancestorLogic && asyncFuncMap[gParent?.calleeName] && code.indexOf('await') !== -1) {
446
+ resultCode += `async ${code}`;
447
+ } else {
448
+ resultCode = code;
171
449
  }
172
-
173
- /**
174
- * 插入输入参数
175
- * @param name 输入参数名称,如果不填会自动生成一个唯一名称
176
- */
177
- insertParamAt(name: string, index: number): Param;
178
-
179
- /**
180
- * 插入输入参数
181
- * @param paramOptions 输入参数参数
182
- */
183
- insertParamAt(paramOptions: Partial<Param>, index: number): Param;
184
-
185
- /**
186
- * 插入输入参数
187
- * @param param 已有的输入参数实例
188
- */
189
- insertParamAt(param: Param, index: number): Param;
190
-
191
- insertParamAt(options: string | Partial<Param> | Param, index: number) {
192
- const node = this._insertParamAt(options as any, index);
193
- node.create({
194
- index,
195
- parentNode: this,
196
- parentKey: 'params',
197
- });
198
- return node;
199
- }
200
-
201
- /**
202
- * 添加输入参数
203
- * @internal
204
- * @param name 输入参数名称,如果不填会自动生成一个唯一名称
205
- */
206
- _addParam(name?: string): Param;
207
-
208
- /**
209
- * 添加输入参数
210
- * @internal
211
- * @param paramOptions 输入参数参数
212
- */
213
- _addParam(paramOptions: Partial<Param>): Param;
214
-
215
- /**
216
- * 添加输入参数
217
- * @internal
218
- * @param param 已有的输入参数实例
219
- */
220
- _addParam(param: Param): Param;
221
-
222
- _addParam(options?: string | Partial<Param> | Param) {
223
- const index = this.params.length;
224
- return this._insertParamAt(options as any, index);
450
+ return resultCode;
451
+ }
452
+
453
+ toJSOfEntityLogicProperties(state?: TranslatorState): string {
454
+ let code = '[';
455
+ if (this.body && this.body instanceof NewList) {
456
+ this.body.items.forEach((item: MemberExpression, index, array) => {
457
+ code += `'${item.property.toJS(shiftState(state, code))}'`;
458
+ if (index !== array.length - 1) code += ',';
459
+ });
225
460
  }
226
-
227
- /**
228
- * 添加输入参数
229
- * @internal
230
- * @param name 输入参数名称,如果不填会自动生成一个唯一名称
231
- */
232
- addParam(name?: string): Param;
233
-
234
- /**
235
- * 添加输入参数
236
- * @param paramOptions 输入参数参数
237
- */
238
- addParam(paramOptions: Partial<Param>): Param;
239
-
240
- /**
241
- * 添加输入参数
242
- * @param param 已有的输入参数实例
243
- */
244
- addParam(param: Param): Param;
245
-
246
- addParam(options?: string | Partial<Param> | Param) {
247
- const node = this._addParam(options as any);
248
- const index = this.params.indexOf(node);
249
- node.create({
250
- index,
251
- parentNode: this,
252
- parentKey: 'params',
253
- });
254
- return node;
461
+ code += ']';
462
+ return code;
463
+ }
464
+
465
+ /**
466
+ * 从父级删除该节点
467
+ * @internal
468
+ */
469
+ _delete() {
470
+ let params: Params = null;
471
+ if (this.parentNode) {
472
+ params = (this.parentNode as any)?.__removeAnonymousFunction?.(this);
255
473
  }
256
-
257
-
258
-
259
-
260
- /**
261
- * 删除输入参数
262
- * @param name 输入参数名称
263
- */
264
- removeParam(name: string): void;
265
-
266
- /**
267
- * 删除输入参数
268
- * @param param 已有的输入参数实例
269
- */
270
- removeParam(param: Param): void;
271
-
272
- removeParam(options: string | Param) {
273
- let param: Param;
274
- if (typeof options === 'string') {
275
- param = (this.params as Param[]).find((item) => item.name === options);
276
- if (!param) {
277
- throw new Error('找不到输入参数 ' + options);
278
- }
279
- } else {
280
- param = options;
281
- }
282
- return param.delete();
474
+ return params;
475
+ }
476
+
477
+ getVarExistingNames(excludedList: Array<Param> = []) {
478
+ const excludedSet = new Set(excludedList);
479
+ return [...this.params].filter((item) => !excludedSet.has(item)).map((item) => item.name);
480
+ }
481
+
482
+ getNamespace(): string {
483
+ if (this.parentNode) {
484
+ let parentNodeNamespace = '';
485
+ if ((this.parentNode as Namespace).getNamespace) {
486
+ parentNodeNamespace = [(this.parentNode as Namespace).getNamespace(), this.parentNode.name].join('.');
487
+ }
488
+ return `${parentNodeNamespace}`;
283
489
  }
284
-
285
- __removeParam(param: Param) {
286
- const parentKey = param.parentKey;
287
- const params: Params = {
288
- parentNode: this,
289
- parentKey,
290
- index: -1,
291
- object: null,
292
- oldObject: param,
293
- };
294
- if (parentKey) {
295
- params.parentKey = parentKey;
296
- if (Array.isArray((this as any)[parentKey])) {
297
- const index = (this as any)[parentKey].indexOf(param);
298
- ~index && (this as any)[parentKey].splice(index, 1);
299
- params.index = index;
300
- } else if ((this as any)[parentKey] === param) {
301
- params.index = 0;
302
- (this as any)[parentKey] = undefined;
303
- }
304
- }
305
- return params;
490
+ throw new Error('无法获取命名空间,请设置 parentNode!');
491
+ }
492
+
493
+ @withSourceMap()
494
+ toEmbeddedTS(state?: TranslatorState): string {
495
+ let updateNoPropertyCode = '';
496
+ const grandParent = this.parentNode?.parentNode;
497
+ if (
498
+ grandParent instanceof CallLogic &&
499
+ /dataSources\.[^.]+\.entities\.[^.]+\.logics/.test(grandParent.calleeNamespace) &&
500
+ ['update', 'updateBy', 'createOrUpdate', 'batchUpdate'].includes(grandParent.calleeName)
501
+ ) {
502
+ const logicNode = grandParent.getCallNode();
503
+ const entity = logicNode?.upperNode?.upperNode as Entity;
504
+ if (entity) {
505
+ const primaryKeys = entity.properties.filter((item) => item.primaryKey);
506
+
507
+ const propertyArg = grandParent.arguments.find((item) => item.keyword === 'properties');
508
+ const expression = propertyArg?.expression as unknown as AnonymousFunction;
509
+ const newList = expression?.body as NewList;
510
+ const newListItems = newList?.items;
511
+
512
+ if (primaryKeys.length === newListItems?.length) updateNoPropertyCode = 'const __UpdateNoProperty__: any = null;\n';
513
+ }
306
514
  }
307
515
 
308
-
309
-
310
- /**
311
- * 删除逻辑项
312
- * @param name 逻辑项名称
313
- */
314
- removeBody(name: string): void;
315
-
316
- /**
317
- * 删除逻辑项
318
- * @param body 已有的逻辑项实例
319
- */
320
- removeBody(body: LogicItem): void;
321
-
322
- removeBody(options: string | LogicItem) {
323
- let body: LogicItem;
324
- if (typeof options === 'string') {
325
- body = this.body;
326
- if (!body) {
327
- throw new Error('找不到逻辑项 ' + options);
328
- }
329
- } else {
330
- body = options;
331
- }
332
- return body.delete();
516
+ let code = '';
517
+ if (this.body) {
518
+ code += `(`;
519
+ this.params.forEach((param, index) => {
520
+ code += param.toEmbeddedTS(shiftState(state, code, { inline: true }));
521
+ if (index !== this.params.length - 1) code += ', ';
522
+ });
523
+ code += `)`;
524
+ code += ` => {\n`;
525
+
526
+ if (updateNoPropertyCode) code += updateNoPropertyCode;
527
+
528
+ code += `return `;
529
+
530
+ if (this.body) {
531
+ code += this.body.toEmbeddedTS && this.body.toEmbeddedTS(shiftState(state, code, { tabSize: state.tabSize + 1 }));
532
+ }
533
+ code += ';';
534
+ code += `${indent(state.tabSize)}}`;
535
+ } else {
536
+ code += '__IDENTIFIER__';
333
537
  }
334
538
 
335
- __removeLogicItem(logicItem: LogicItem) {
336
- const parentKey = logicItem.parentKey;
337
- const params: Params = {
338
- parentNode: this,
339
- parentKey,
340
- index: -1,
341
- object: null,
342
- oldObject: logicItem,
343
- };
344
- if (parentKey) {
345
- params.parentKey = parentKey;
346
- if (Array.isArray((this as any)[parentKey])) {
347
- const index = (this as any)[parentKey].indexOf(logicItem);
348
- ~index && (this as any)[parentKey].splice(index, 1);
349
- params.index = index;
350
- } else if ((this as any)[parentKey] === logicItem) {
351
- params.index = 0;
352
- (this as any)[parentKey] = undefined;
353
- }
354
- }
355
- return params;
539
+ return code;
540
+ }
541
+
542
+ @withSourceMap()
543
+ toNaturalTS(state?: TranslatorState): string {
544
+ let code = '';
545
+ if (this.body) {
546
+ code += `(`;
547
+ this.params.forEach((param, index) => {
548
+ code += param.toNaturalTS(shiftState(state, code, { inline: true }));
549
+ if (index !== this.params.length - 1)
550
+ code += ', ';
551
+ });
552
+ code += `)`;
553
+ code += ` => (`;
554
+
555
+ if (this.body) {
556
+ code += this.body.toNaturalTS && this.body.toNaturalTS(shiftState(state, code, { tabSize: state.tabSize + 1, inline: true }));
557
+ }
558
+ code += ')';
559
+ code += ';';
560
+ code += `${indent(state.tabSize)}}`;
561
+ } else {
562
+ code += '__IDENTIFIER__';
356
563
  }
357
564
 
565
+ return code;
566
+ }
358
567
 
568
+ toVue(options?: ElementToVueOptions): string {
569
+ let code = '(';
570
+ this.params.forEach((param, index) => {
571
+ code += param.name;
572
+ if (index !== this.params.length - 1) code += ', ';
573
+ });
574
+ code += `)`;
575
+ code += ` => (`;
359
576
 
360
- /**
361
- * 删除类型标注
362
- * @param name 类型标注名称
363
- */
364
- removeTypeAnnotation(name: string): void;
365
-
366
- /**
367
- * 删除类型标注
368
- * @param typeAnnotation 已有的类型标注实例
369
- */
370
- removeTypeAnnotation(typeAnnotation: TypeAnnotation): void;
371
-
372
- removeTypeAnnotation(options: string | TypeAnnotation) {
373
- let typeAnnotation: TypeAnnotation;
374
- if (typeof options === 'string') {
375
- typeAnnotation = this.typeAnnotation;
376
- if (!typeAnnotation) {
377
- throw new Error('找不到类型标注 ' + options);
378
- }
379
- } else {
380
- typeAnnotation = options;
381
- }
382
- return typeAnnotation.delete();
577
+ if (this.body) {
578
+ code += this.body.toVue && this.body.toVue();
383
579
  }
384
-
385
- __removeTypeAnnotation(typeAnnotation: TypeAnnotation) {
386
- const parentKey = typeAnnotation.parentKey;
387
- const params: Params = {
388
- parentNode: this,
389
- parentKey,
390
- index: -1,
391
- object: null,
392
- oldObject: typeAnnotation,
393
- };
394
- if (parentKey) {
395
- params.parentKey = parentKey;
396
- if (Array.isArray((this as any)[parentKey])) {
397
- const index = (this as any)[parentKey].indexOf(typeAnnotation);
398
- ~index && (this as any)[parentKey].splice(index, 1);
399
- params.index = index;
400
- } else if ((this as any)[parentKey] === typeAnnotation) {
401
- params.index = 0;
402
- (this as any)[parentKey] = undefined;
403
- }
404
- }
405
- return params;
406
- }
407
-
408
- //================================================================================
409
- // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
410
- // 自动生成的代码已结束。下面可以手动编写。
411
- //================================================================================
412
-
413
- toJS(state?: TranslatorState): string {
414
- const grandParent = this.parentNode?.parentNode;
415
- if(grandParent instanceof CallLogic
416
- && /dataSources\.[^.]+\.entities\.[^.]+\.logics/.test(grandParent.calleeNamespace)
417
- && ['update', 'updateBy', 'createOrUpdate', 'batchUpdate'].includes(grandParent.calleeName))
418
- return this.toJSOfEntityLogicProperties(state);
419
-
420
- let code = '(';
421
- this.params.forEach((param, index) => {
422
- code += param.name;
423
- if (index !== this.params.length - 1) {
424
- code += ',';
425
- }
426
- });
427
- code += ')';
428
- code += ' => (';
429
- if (this.body) {
430
- code += this.body.toJS(shiftState(state, code));
431
- }
432
- code += ')';
433
- let resultCode = '';
434
- const gParent = this.parentNode?.parentNode as any;
435
- const ancestorLogic = this.getAncestor('Logic');
436
- if (gParent?.view && ancestorLogic && asyncFuncMap[gParent?.calleeName] && code.indexOf('await') !== -1) {
437
- resultCode += 'async ' + code;
438
- } else {
439
- resultCode = code;
440
- }
441
- return resultCode;
442
- }
443
-
444
- toJSOfEntityLogicProperties(state?: TranslatorState): string {
445
- let code = '[';
446
- if (this.body && this.body instanceof NewList) {
447
- this.body.items.forEach((item: MemberExpression, index, array) => {
448
- code += `'${item.property.toJS(shiftState(state, code))}'`;
449
- if(index !== array.length-1) code += ',';
450
- });
451
- }
452
- code += ']';
453
- return code;
454
- }
455
-
456
- /**
457
- * 从父级删除该节点
458
- * @internal
459
- */
460
- _delete() {
461
- let params: Params = null;
462
- if (this.parentNode) {
463
- params = (this.parentNode as any)?.__removeAnonymousFunction?.(this);
464
- }
465
- return params;
466
- }
467
-
468
- getVarExistingNames(excludedList: Array<Param> = []) {
469
- const excludedSet = new Set(excludedList);
470
- return [...this.params].filter((item) => !excludedSet.has(item)).map((item) => item.name);
580
+ code += ')';
581
+ return code;
582
+ }
583
+
584
+ toUI(state?: TranslatorState): string {
585
+ let code = '(';
586
+ this.params.forEach((param, index) => {
587
+ code += param.name;
588
+ if (index !== this.params.length - 1) code += ', ';
589
+ });
590
+ code += `)`;
591
+ code += ` => (`;
592
+
593
+ if (this.body) {
594
+ code += this.body.toUI && this.body.toUI();
471
595
  }
472
- getNamespace(): string {
473
- if (this.parentNode) {
474
- let parentNodeNamespace = '';
475
- if ((this.parentNode as Namespace).getNamespace) {
476
- parentNodeNamespace = [(this.parentNode as Namespace).getNamespace(), this.parentNode.name].join('.');
477
- }
478
- return `${parentNodeNamespace}`;
479
- } else
480
- throw new Error('无法获取命名空间,请设置 parentNode!');
481
- }
482
- @withSourceMap()
483
- toEmbeddedTS(state?: TranslatorState): string {
484
- let updateNoPropertyCode = '';
485
- const grandParent = this.parentNode?.parentNode;
486
- if(grandParent instanceof CallLogic
487
- && /dataSources\.[^.]+\.entities\.[^.]+\.logics/.test(grandParent.calleeNamespace)
488
- && ['update', 'updateBy', 'createOrUpdate', 'batchUpdate'].includes(grandParent.calleeName)) {
489
- const logicNode = grandParent.getCallNode();
490
- const entity = logicNode?.upperNode?.upperNode as Entity;
491
- if(entity) {
492
- const primaryKeys = entity.properties.filter((item) => item.primaryKey);
493
-
494
- const propertyArg = grandParent.arguments.find((item) => item.keyword === 'properties');
495
- const expression = propertyArg?.expression as unknown as AnonymousFunction;
496
- const newList = expression?.body as NewList;
497
- const newListItems = newList?.items;
498
-
499
- if(primaryKeys.length === newListItems?.length)
500
- updateNoPropertyCode = 'const __UpdateNoProperty__: any = null;\n';
501
- }
502
- }
503
-
504
- let code = '';
505
- if (this.body) {
506
- code += `(`;
507
- this.params.forEach((param, index) => {
508
- code += param.toEmbeddedTS(shiftState(state, code, { inline: true }));
509
- if (index !== this.params.length - 1)
510
- code += ', ';
511
- });
512
- code += `)`;
513
- code += ` => {\n`;
514
-
515
- if(updateNoPropertyCode)
516
- code += updateNoPropertyCode;
517
-
518
- code += `return `;
519
-
520
- if (this.body) {
521
- code += this.body.toEmbeddedTS && this.body.toEmbeddedTS(shiftState(state, code, { tabSize: state.tabSize + 1 }));
522
- }
523
- code += ';'
524
- code += indent(state.tabSize) + '}';
525
- } else {
526
- code += '__IDENTIFIER__';
527
- }
528
-
529
- return code;
530
- }
531
-
532
- toVue(options?: ElementToVueOptions): string {
533
- let code = '(';
534
- this.params.forEach((param, index) => {
535
- code += param.name;
536
- if (index !== this.params.length - 1)
537
- code += ', ';
538
- });
539
- code += `)`;
540
- code += ` => (`;
541
-
542
- if (this.body) {
543
- code += this.body.toVue && this.body.toVue();
544
- }
545
- code += ')';
546
- return code;
547
- }
548
-
549
- toUI(state?: TranslatorState): string {
550
- let code = '(';
551
- this.params.forEach((param, index) => {
552
- code += param.name;
553
- if (index !== this.params.length - 1)
554
- code += ', ';
596
+ code += ')';
597
+ return code;
598
+ }
599
+
600
+ toEmbeddedTSDefinition(state?: TranslatorState): string {
601
+ let code = '(';
602
+ this.params.forEach((param, index) => {
603
+ code += param.toEmbeddedTS(shiftState(state, code, { inline: true }));
604
+ if (index !== this.params.length - 1) code += ', ';
605
+ });
606
+ code += `) => (`;
607
+ code += 'any';
608
+ code += `${indent(state.tabSize)})`;
609
+ return code;
610
+ }
611
+
612
+ checkParamName() {
613
+ let node: BaseNode = this;
614
+ const names: Set<string> = new Set();
615
+ while (node && node.concept !== 'Logic') {
616
+ node = node.parentNode;
617
+ if (node instanceof AnonymousFunction) {
618
+ node.params.forEach((param) => {
619
+ names.add(param.name);
555
620
  });
556
- code += `)`;
557
- code += ` => (`;
558
-
559
- if (this.body) {
560
- code += this.body.toUI && this.body.toUI();
561
- }
562
- code += ')';
563
- return code;
564
- }
621
+ }
565
622
 
566
- toEmbeddedTSDefinition(state?: TranslatorState): string {
567
- let code = '(';
568
- this.params.forEach((param, index) => {
569
- code += param.toEmbeddedTS(shiftState(state, code, { inline: true }));
570
- if (index !== this.params.length - 1)
571
- code += ', ';
572
- });
573
- code += `) => (`;
574
- code += 'any';
575
- code += indent(state.tabSize) + ')';
576
- return code;
623
+ if (node instanceof ForEachStatement) {
624
+ names.add(node.item.name);
625
+ names.add(node.index.name);
626
+ }
577
627
  }
578
628
 
579
- checkParamName() {
580
- let node: BaseNode = this;
581
- const names: Set<string> = new Set();
582
- while(node && node.concept !== 'Logic') {
583
- node = node.parentNode;
584
- if(node instanceof AnonymousFunction) {
585
- node.params.forEach((param) => {
586
- names.add(param.name);
587
- });
588
- }
589
-
590
- if(node instanceof ForEachStatement) {
591
- names.add(node.item.name);
592
- names.add(node.index.name);
593
- }
594
- }
595
-
596
- this.params.forEach((param) => {
597
- const name = utils.unique(param.name, names);
598
- param.name = name;
599
- });
600
- }
629
+ this.params.forEach((param) => {
630
+ const name = utils.unique(param.name, names);
631
+ param.name = name;
632
+ });
633
+ }
601
634
 
602
- //================================================================================
603
- // 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
604
- // ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
605
- //================================================================================
635
+ //= ===============================================================================
636
+ // 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
637
+ // ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
638
+ //= ===============================================================================
606
639
  }
607
640
 
608
641
  classMap.AnonymousFunction = AnonymousFunction;
609
642
  export default AnonymousFunction;
610
- //================================================================================
643
+ //= ===============================================================================
611
644
  // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
612
645
  // 自动生成的代码已结束。下面可以手动编写。
613
- //================================================================================
646
+ //= ===============================================================================