@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 +1 @@
1
- {"version":3,"file":"App__.js","sourceRoot":"","sources":["../../src/concepts/App__.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"App__.js","sourceRoot":"","sources":["../../src/concepts/App__.ts"],"names":[],"mappings":"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"}
@@ -34,9 +34,9 @@ export declare class Argument extends LogicItem {
34
34
  */
35
35
  setExpression(expression: LogicItem): void;
36
36
  /**
37
- * 删除逻辑项
38
- * @param name 逻辑项名称
39
- */
37
+ * 删除逻辑项
38
+ * @param name 逻辑项名称
39
+ */
40
40
  removeExpression(name: string): void;
41
41
  /**
42
42
  * 删除逻辑项
@@ -58,6 +58,7 @@ export declare class Argument extends LogicItem {
58
58
  */
59
59
  get tsKeyword(): string;
60
60
  toEmbeddedTS(state?: TranslatorState, isRequired?: boolean, isHaveKeyWord?: boolean): string;
61
+ toNaturalTS(state?: TranslatorState, isRequired?: boolean, isHaveKeyWord?: boolean): string;
61
62
  paramTypeAnnotation?: TypeAnnotation;
62
63
  paramDefaultValue?: String;
63
64
  paramRequired?: boolean;
@@ -63,7 +63,8 @@ let Argument = Argument_1 = class Argument extends LogicItem__1.default {
63
63
  * @param source 需要合并的部分参数
64
64
  */
65
65
  constructor(source) {
66
- source = Object.assign({}, Argument_1.getDefaultOptions(), source);
66
+ // @ts-ignore
67
+ source = { ...Argument_1.getDefaultOptions(), ...source };
67
68
  super(source);
68
69
  super.subConstructor(source);
69
70
  }
@@ -92,7 +93,7 @@ let Argument = Argument_1 = class Argument extends LogicItem__1.default {
92
93
  if (typeof options === 'string') {
93
94
  expression = this.expression;
94
95
  if (!expression) {
95
- throw new Error('找不到逻辑项 ' + options);
96
+ throw new Error(`找不到逻辑项 ${options}`);
96
97
  }
97
98
  }
98
99
  else {
@@ -101,7 +102,7 @@ let Argument = Argument_1 = class Argument extends LogicItem__1.default {
101
102
  return expression.delete();
102
103
  }
103
104
  __removeLogicItem(logicItem) {
104
- const parentKey = logicItem.parentKey;
105
+ const { parentKey } = logicItem;
105
106
  const params = {
106
107
  parentNode: this,
107
108
  parentKey,
@@ -123,10 +124,10 @@ let Argument = Argument_1 = class Argument extends LogicItem__1.default {
123
124
  }
124
125
  return params;
125
126
  }
126
- //================================================================================
127
+ //= ===============================================================================
127
128
  // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
128
129
  // 自动生成的代码已结束。下面可以手动编写。
129
- //================================================================================
130
+ //= ===============================================================================
130
131
  preSetExpression(expression) {
131
132
  this.parentNode.detectArgs?.({
132
133
  expression,
@@ -152,7 +153,10 @@ let Argument = Argument_1 = class Argument extends LogicItem__1.default {
152
153
  else if (this.paramTypeAnnotation && this.paramDefaultValue) {
153
154
  if (this.paramTypeAnnotation.typeName === 'Boolean')
154
155
  code += this.paramDefaultValue === 'true' ? 'true' : 'false';
155
- else if (this.paramTypeAnnotation.typeName === 'Integer' || this.paramTypeAnnotation.typeName === 'Double' || this.paramTypeAnnotation.typeName === 'Long' || this.paramTypeAnnotation.typeName === 'Decimal')
156
+ else if (this.paramTypeAnnotation.typeName === 'Integer' ||
157
+ this.paramTypeAnnotation.typeName === 'Double' ||
158
+ this.paramTypeAnnotation.typeName === 'Long' ||
159
+ this.paramTypeAnnotation.typeName === 'Decimal')
156
160
  code += `Number(${this.paramDefaultValue})`;
157
161
  else
158
162
  code += `'${this.paramDefaultValue}'`;
@@ -170,7 +174,10 @@ let Argument = Argument_1 = class Argument extends LogicItem__1.default {
170
174
  else if (this.paramTypeAnnotation && this.paramDefaultValue) {
171
175
  if (this.paramTypeAnnotation.typeName === 'Boolean')
172
176
  code += this.paramDefaultValue === 'true' ? 'true' : 'false';
173
- else if (this.paramTypeAnnotation.typeName === 'Integer' || this.paramTypeAnnotation.typeName === 'Double' || this.paramTypeAnnotation.typeName === 'Long' || this.paramTypeAnnotation.typeName === 'Decimal')
177
+ else if (this.paramTypeAnnotation.typeName === 'Integer' ||
178
+ this.paramTypeAnnotation.typeName === 'Double' ||
179
+ this.paramTypeAnnotation.typeName === 'Long' ||
180
+ this.paramTypeAnnotation.typeName === 'Decimal')
174
181
  code += `Number(${this.paramDefaultValue})`;
175
182
  else
176
183
  code += `'${this.paramDefaultValue}'`;
@@ -188,7 +195,10 @@ let Argument = Argument_1 = class Argument extends LogicItem__1.default {
188
195
  else if (this.paramTypeAnnotation && this.paramDefaultValue) {
189
196
  if (this.paramTypeAnnotation.typeName === 'Boolean')
190
197
  code += this.paramDefaultValue === 'true' ? 'true' : 'false';
191
- else if (this.paramTypeAnnotation.typeName === 'Integer' || this.paramTypeAnnotation.typeName === 'Double' || this.paramTypeAnnotation.typeName === 'Long' || this.paramTypeAnnotation.typeName === 'Decimal')
198
+ else if (this.paramTypeAnnotation.typeName === 'Integer' ||
199
+ this.paramTypeAnnotation.typeName === 'Double' ||
200
+ this.paramTypeAnnotation.typeName === 'Long' ||
201
+ this.paramTypeAnnotation.typeName === 'Decimal')
192
202
  code += `Number(${this.paramDefaultValue})`;
193
203
  else
194
204
  code += `'${this.paramDefaultValue}'`;
@@ -211,7 +221,7 @@ let Argument = Argument_1 = class Argument extends LogicItem__1.default {
211
221
  // 匹配所有特殊字符都转为_
212
222
  tsName = tsName.replace(/\W/g, '_');
213
223
  if (/^\d/.test(tsName)) {
214
- tsName = '$' + tsName;
224
+ tsName = `$${tsName}`;
215
225
  }
216
226
  return tsName;
217
227
  }
@@ -235,6 +245,24 @@ let Argument = Argument_1 = class Argument extends LogicItem__1.default {
235
245
  }
236
246
  return code;
237
247
  }
248
+ toNaturalTS(state, isRequired = true, isHaveKeyWord) {
249
+ let code = this.spread ? '...' : '';
250
+ if (isHaveKeyWord) {
251
+ code += `${this.tsKeyword}:`;
252
+ }
253
+ if (this.expression) {
254
+ if (this.expression.name === 'ListDistinctByTargetDefaultExpression') {
255
+ code += this.expression.toEmbeddedIgnoreTS((0, translator_1.shiftState)(state, code));
256
+ }
257
+ else {
258
+ code += this.expression.toNaturalTS((0, translator_1.shiftState)(state, code), isRequired);
259
+ }
260
+ }
261
+ else {
262
+ code += isRequired ? '__IDENTIFIER__' : 'undefined';
263
+ }
264
+ return code;
265
+ }
238
266
  // 参数的类型
239
267
  paramTypeAnnotation = undefined;
240
268
  // 参数的默认值
@@ -257,14 +285,17 @@ __decorate([
257
285
  __decorate([
258
286
  (0, translator_1.withSourceMap)()
259
287
  ], Argument.prototype, "toEmbeddedTS", null);
288
+ __decorate([
289
+ (0, translator_1.withSourceMap)()
290
+ ], Argument.prototype, "toNaturalTS", null);
260
291
  Argument = Argument_1 = __decorate([
261
292
  (0, decorators_1.concept)('实际参数')
262
293
  ], Argument);
263
294
  exports.Argument = Argument;
264
295
  classMap_1.default.Argument = Argument;
265
296
  exports.default = Argument;
266
- //================================================================================
297
+ //= ===============================================================================
267
298
  // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
268
299
  // 自动生成的代码已结束。下面可以手动编写。
269
- //================================================================================
300
+ //= ===============================================================================
270
301
  //# sourceMappingURL=Argument__.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Argument__.js","sourceRoot":"","sources":["../../src/concepts/Argument__.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Argument__.js","sourceRoot":"","sources":["../../src/concepts/Argument__.ts"],"names":[],"mappings":"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"}