@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,14 +1,14 @@
1
+ import { v4 as uuidv4 } from 'uuid';
1
2
  import { TranslatorState, shiftState, withSourceMap, indent, createCompilerState } from '../translator';
2
3
  import Namespace from './Namespace__';
3
- //================================================================================
4
+ //= ===============================================================================
4
5
  // 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
5
6
  // ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
6
- //================================================================================
7
+ //= ===============================================================================
7
8
  import { EventPayload, Params } from '../common/EventEmitter';
8
9
  import { concept, excludedInJSON, property } from '../decorators';
9
10
 
10
11
  import * as utils from '../utils';
11
- import { v4 as uuidv4 } from 'uuid';
12
12
  import BaseNode from '../common/BaseNode';
13
13
  import classMap from '../common/classMap';
14
14
  import TypeParam from './TypeParam__';
@@ -21,595 +21,632 @@ import App from './App__';
21
21
  */
22
22
  @concept('数据结构')
23
23
  export class Structure extends BaseNode {
24
- /**
25
- * 产品概念
26
- */
27
- @property()
28
- concept: 'Structure' = 'Structure';
29
-
30
- /**
31
- * 数据结构名称
32
- */
33
- @property()
34
- name: string = undefined;
35
-
36
- /**
37
- * 数据结构描述
38
- */
39
- @property()
40
- description: string = undefined;
41
-
42
- /**
43
- * 数据结构来源
44
- */
45
- @property()
46
- origin: 'CallQueryComponent' = undefined;
47
-
48
- /**
49
- * 编译器信息
50
- */
51
- @property()
52
- compilerInfoMap: { java?: { packageName: string, className: string } } = undefined;
53
-
54
- /**
55
- * 类型参数列表
56
- */
57
- @property('TypeParam')
58
- typeParams: Array<TypeParam> = null;
59
-
60
- /**
61
- * 数据结构属性列表
62
- */
63
- @property('StructureProperty')
64
- properties: Array<StructureProperty> = [];
65
-
66
- /**
67
- * 祖先 Module
68
- */
69
- get module() {
70
- return this.getAncestor('Module') as Module;
71
- }
72
- /**
73
- * 祖先 App
74
- */
75
- get app() {
76
- return this.getAncestor('App') as App;
77
- }
78
-
79
- /**
80
- * @param source 需要合并的部分参数
81
- */
82
- constructor(source?: Partial<Structure>) {
83
- source = Object.assign({}, Structure.getDefaultOptions(), source);
84
- super(source);
85
- super.subConstructor(source);
86
- }
87
- getClassName() {
88
- return 'Structure';
89
- }
90
-
91
- static from(source: any, parentNode?: any, parentKey?: string): Structure {
92
- return super.from(source, parentNode, parentKey) as Structure;
93
- }
94
-
95
- /**
96
- * 从父级删除该节点
97
- * @internal
98
- */
99
- _delete() {
100
- let params: Params = null;
101
- if (this.parentNode) {
102
- params = (this.parentNode as any)?.__removeStructure?.(this);
103
- }
104
- return params;
105
- }
106
- /**
107
- * 设置数据结构名称
108
- */
109
- setName(name: string) {
110
- const object = {
111
- name,
112
- };
113
- this.update({
114
- ...object,
115
- field: 'name',
116
- });
117
- }
118
-
119
- /**
120
- * 设置数据结构描述
121
- */
122
- setDescription(description: string) {
123
- const object = {
124
- description,
125
- };
126
- this.update({
127
- ...object,
128
- });
129
- }
130
-
131
- getTypeParamExistingNames(excludedList: Array<TypeParam> = []) {
132
- const excludedSet = new Set(excludedList);
133
- return ((this.typeParams as TypeParam[]) || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
134
- }
135
- getTypeParamUniqueName(name = 'typeParam1') {
136
- return utils.unique(name, this.getTypeParamExistingNames(), undefined, false);
137
- }
138
-
139
- /**
140
- * 插入类型参数
141
- * @internal
142
- * @param name 类型参数名称,如果不填会自动生成一个唯一名称
143
- */
144
- _insertTypeParamAt(name: string, index: number): TypeParam;
145
-
146
- /**
147
- * 插入类型参数
148
- * @internal
149
- * @param typeParamOptions 类型参数参数
150
- */
151
- _insertTypeParamAt(typeParamOptions: Partial<TypeParam>, index: number): TypeParam;
152
-
153
- /**
154
- * 插入类型参数
155
- * @internal
156
- * @param typeParam 已有的类型参数实例
157
- */
158
- _insertTypeParamAt(typeParam: TypeParam, index: number): TypeParam;
159
-
160
- _insertTypeParamAt(options: string | Partial<TypeParam> | TypeParam, index: number) {
161
- const typeParamOptions: any = {};
162
- const relationOptions = { parentNode: this, parentKey: 'typeParams' };
163
- let typeParam: TypeParam;
164
- if (!options) {
165
- typeParam = TypeParam.from({
166
- ...typeParamOptions,
167
- name: this.getTypeParamUniqueName(),
168
- }, this, 'typeParams');
169
- } else if (typeof options === 'string') {
170
- typeParam = TypeParam.from({
171
- ...typeParamOptions,
172
- name: options,
173
- }, this, 'typeParams');
174
- } else if (options instanceof TypeParam) {
175
- options.ensureDelete(); // 同一实例不支持多处存在
176
- typeParam = options;
177
- Object.assign(typeParam, relationOptions);
178
- } else {
179
- typeParam = TypeParam.from({
180
- ...typeParamOptions,
181
- ...options,
182
- }, this, 'typeParams');
183
- }
184
- this.typeParams.splice(index, 0, typeParam);
185
- return typeParam;
186
- }
187
-
188
- /**
189
- * 插入类型参数
190
- * @param name 类型参数名称,如果不填会自动生成一个唯一名称
191
- */
192
- insertTypeParamAt(name: string, index: number): TypeParam;
193
-
194
- /**
195
- * 插入类型参数
196
- * @param typeParamOptions 类型参数参数
197
- */
198
- insertTypeParamAt(typeParamOptions: Partial<TypeParam>, index: number): TypeParam;
199
-
200
- /**
201
- * 插入类型参数
202
- * @param typeParam 已有的类型参数实例
203
- */
204
- insertTypeParamAt(typeParam: TypeParam, index: number): TypeParam;
205
-
206
- insertTypeParamAt(options: string | Partial<TypeParam> | TypeParam, index: number) {
207
- const node = this._insertTypeParamAt(options as any, index);
208
- node.create({
209
- index,
210
- parentNode: this,
211
- parentKey: 'typeParams',
212
- });
213
- return node;
214
- }
215
-
216
- /**
217
- * 添加类型参数
218
- * @internal
219
- * @param name 类型参数名称,如果不填会自动生成一个唯一名称
220
- */
221
- _addTypeParam(name?: string): TypeParam;
222
-
223
- /**
224
- * 添加类型参数
225
- * @internal
226
- * @param typeParamOptions 类型参数参数
227
- */
228
- _addTypeParam(typeParamOptions: Partial<TypeParam>): TypeParam;
229
-
230
- /**
231
- * 添加类型参数
232
- * @internal
233
- * @param typeParam 已有的类型参数实例
234
- */
235
- _addTypeParam(typeParam: TypeParam): TypeParam;
236
-
237
- _addTypeParam(options?: string | Partial<TypeParam> | TypeParam) {
238
- const index = this.typeParams.length;
239
- return this._insertTypeParamAt(options as any, index);
240
- }
241
-
242
- /**
243
- * 添加类型参数
244
- * @internal
245
- * @param name 类型参数名称,如果不填会自动生成一个唯一名称
246
- */
247
- addTypeParam(name?: string): TypeParam;
248
-
249
- /**
250
- * 添加类型参数
251
- * @param typeParamOptions 类型参数参数
252
- */
253
- addTypeParam(typeParamOptions: Partial<TypeParam>): TypeParam;
254
-
255
- /**
256
- * 添加类型参数
257
- * @param typeParam 已有的类型参数实例
258
- */
259
- addTypeParam(typeParam: TypeParam): TypeParam;
260
-
261
- addTypeParam(options?: string | Partial<TypeParam> | TypeParam) {
262
- const node = this._addTypeParam(options as any);
263
- const index = this.typeParams.indexOf(node);
264
- node.create({
265
- index,
266
- parentNode: this,
267
- parentKey: 'typeParams',
268
- });
269
- return node;
270
- }
271
-
272
-
273
- getPropertyExistingNames(excludedList: Array<StructureProperty> = []) {
274
- const excludedSet = new Set(excludedList);
275
- return ((this.properties as StructureProperty[]) || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
276
- }
277
- getPropertyUniqueName(name = 'property1') {
278
- return utils.unique(name, this.getPropertyExistingNames(), undefined, false);
279
- }
280
-
281
- /**
282
- * 插入数据结构属性
283
- * @internal
284
- * @param name 数据结构属性名称,如果不填会自动生成一个唯一名称
285
- */
286
- _insertPropertyAt(name: string, index: number): StructureProperty;
287
-
288
- /**
289
- * 插入数据结构属性
290
- * @internal
291
- * @param propertyOptions 数据结构属性参数
292
- */
293
- _insertPropertyAt(propertyOptions: Partial<StructureProperty>, index: number): StructureProperty;
294
-
295
- /**
296
- * 插入数据结构属性
297
- * @internal
298
- * @param property 已有的数据结构属性实例
299
- */
300
- _insertPropertyAt(property: StructureProperty, index: number): StructureProperty;
301
-
302
- _insertPropertyAt(options: string | Partial<StructureProperty> | StructureProperty, index: number) {
303
- const propertyOptions: any = {};
304
- const relationOptions = { parentNode: this, parentKey: 'properties' };
305
- let property: StructureProperty;
306
- if (!options) {
307
- property = StructureProperty.from({
308
- ...propertyOptions,
309
- name: this.getPropertyUniqueName(),
310
- }, this, 'properties');
311
- } else if (typeof options === 'string') {
312
- property = StructureProperty.from({
313
- ...propertyOptions,
314
- name: options,
315
- }, this, 'properties');
316
- } else if (options instanceof StructureProperty) {
317
- options.ensureDelete(); // 同一实例不支持多处存在
318
- property = options;
319
- Object.assign(property, relationOptions);
320
- } else {
321
- property = StructureProperty.from({
322
- ...propertyOptions,
323
- ...options,
324
- }, this, 'properties');
325
- }
326
- this.properties.splice(index, 0, property);
327
- return property;
328
- }
329
-
330
- /**
331
- * 插入数据结构属性
332
- * @param name 数据结构属性名称,如果不填会自动生成一个唯一名称
333
- */
334
- insertPropertyAt(name: string, index: number): StructureProperty;
335
-
336
- /**
337
- * 插入数据结构属性
338
- * @param propertyOptions 数据结构属性参数
339
- */
340
- insertPropertyAt(propertyOptions: Partial<StructureProperty>, index: number): StructureProperty;
341
-
342
- /**
343
- * 插入数据结构属性
344
- * @param property 已有的数据结构属性实例
345
- */
346
- insertPropertyAt(property: StructureProperty, index: number): StructureProperty;
347
-
348
- insertPropertyAt(options: string | Partial<StructureProperty> | StructureProperty, index: number) {
349
- const node = this._insertPropertyAt(options as any, index);
350
- node.create({
351
- index,
352
- parentNode: this,
353
- parentKey: 'properties',
354
- });
355
- return node;
356
- }
357
-
358
- /**
359
- * 添加数据结构属性
360
- * @internal
361
- * @param name 数据结构属性名称,如果不填会自动生成一个唯一名称
362
- */
363
- _addProperty(name?: string): StructureProperty;
364
-
365
- /**
366
- * 添加数据结构属性
367
- * @internal
368
- * @param propertyOptions 数据结构属性参数
369
- */
370
- _addProperty(propertyOptions: Partial<StructureProperty>): StructureProperty;
371
-
372
- /**
373
- * 添加数据结构属性
374
- * @internal
375
- * @param property 已有的数据结构属性实例
376
- */
377
- _addProperty(property: StructureProperty): StructureProperty;
378
-
379
- _addProperty(options?: string | Partial<StructureProperty> | StructureProperty) {
380
- const index = this.properties.length;
381
- return this._insertPropertyAt(options as any, index);
382
- }
383
-
384
- /**
385
- * 添加数据结构属性
386
- * @internal
387
- * @param name 数据结构属性名称,如果不填会自动生成一个唯一名称
388
- */
389
- addProperty(name?: string): StructureProperty;
390
-
391
- /**
392
- * 添加数据结构属性
393
- * @param propertyOptions 数据结构属性参数
394
- */
395
- addProperty(propertyOptions: Partial<StructureProperty>): StructureProperty;
396
-
397
- /**
398
- * 添加数据结构属性
399
- * @param property 已有的数据结构属性实例
400
- */
401
- addProperty(property: StructureProperty): StructureProperty;
402
-
403
- addProperty(options?: string | Partial<StructureProperty> | StructureProperty) {
404
- const node = this._addProperty(options as any);
405
- const index = this.properties.indexOf(node);
406
- node.create({
407
- index,
408
- parentNode: this,
409
- parentKey: 'properties',
410
- });
411
- return node;
412
- }
413
-
414
-
415
-
416
-
417
- /**
418
- * 删除类型参数
419
- * @param name 类型参数名称
420
- */
421
- removeTypeParam(name: string): void;
422
-
423
- /**
424
- * 删除类型参数
425
- * @param typeParam 已有的类型参数实例
426
- */
427
- removeTypeParam(typeParam: TypeParam): void;
428
-
429
- removeTypeParam(options: string | TypeParam) {
430
- let typeParam: TypeParam;
431
- if (typeof options === 'string') {
432
- typeParam = (this.typeParams as TypeParam[]).find((item) => item.name === options);
433
- if (!typeParam) {
434
- throw new Error('找不到类型参数 ' + options);
435
- }
436
- } else {
437
- typeParam = options;
438
- }
439
- return typeParam.delete();
24
+ /**
25
+ * 产品概念
26
+ */
27
+ @property()
28
+ concept: 'Structure' = 'Structure';
29
+
30
+ /**
31
+ * 数据结构名称
32
+ */
33
+ @property()
34
+ name: string = undefined;
35
+
36
+ /**
37
+ * 数据结构描述
38
+ */
39
+ @property()
40
+ description: string = undefined;
41
+
42
+ /**
43
+ * 数据结构来源
44
+ */
45
+ @property()
46
+ origin: 'CallQueryComponent' = undefined;
47
+
48
+ /**
49
+ * 编译器信息
50
+ */
51
+ @property()
52
+ compilerInfoMap: { java?: { packageName: string; className: string } } = undefined;
53
+
54
+ /**
55
+ * 类型参数列表
56
+ */
57
+ @property('TypeParam')
58
+ typeParams: Array<TypeParam> = null;
59
+
60
+ /**
61
+ * 数据结构属性列表
62
+ */
63
+ @property('StructureProperty')
64
+ properties: Array<StructureProperty> = [];
65
+
66
+ /**
67
+ * 祖先 Module
68
+ */
69
+ get module() {
70
+ return this.getAncestor('Module') as Module;
71
+ }
72
+
73
+ /**
74
+ * 祖先 App
75
+ */
76
+ get app() {
77
+ return this.getAncestor('App') as App;
78
+ }
79
+
80
+ /**
81
+ * @param source 需要合并的部分参数
82
+ */
83
+ constructor(source?: Partial<Structure>) {
84
+ // @ts-ignore
85
+ source = { ...Structure.getDefaultOptions(), ...source };
86
+ super(source);
87
+ super.subConstructor(source);
88
+ }
89
+
90
+ getClassName() {
91
+ return 'Structure';
92
+ }
93
+
94
+ static from(source: any, parentNode?: any, parentKey?: string): Structure {
95
+ return super.from(source, parentNode, parentKey) as Structure;
96
+ }
97
+
98
+ /**
99
+ * 从父级删除该节点
100
+ * @internal
101
+ */
102
+ _delete() {
103
+ let params: Params = null;
104
+ if (this.parentNode) {
105
+ params = (this.parentNode as any)?.__removeStructure?.(this);
440
106
  }
441
-
442
- __removeTypeParam(typeParam: TypeParam) {
443
- const parentKey = typeParam.parentKey;
444
- const params: Params = {
445
- parentNode: this,
446
- parentKey,
447
- index: -1,
448
- object: null,
449
- oldObject: typeParam,
450
- };
451
- if (parentKey) {
452
- params.parentKey = parentKey;
453
- if (Array.isArray((this as any)[parentKey])) {
454
- const index = (this as any)[parentKey].indexOf(typeParam);
455
- ~index && (this as any)[parentKey].splice(index, 1);
456
- params.index = index;
457
- } else if ((this as any)[parentKey] === typeParam) {
458
- params.index = 0;
459
- (this as any)[parentKey] = undefined;
460
- }
461
- }
462
- return params;
107
+ return params;
108
+ }
109
+
110
+ /**
111
+ * 设置数据结构名称
112
+ */
113
+ setName(name: string) {
114
+ const object = {
115
+ name,
116
+ };
117
+ this.update({
118
+ ...object,
119
+ field: 'name',
120
+ });
121
+ }
122
+
123
+ /**
124
+ * 设置数据结构描述
125
+ */
126
+ setDescription(description: string) {
127
+ const object = {
128
+ description,
129
+ };
130
+ this.update({
131
+ ...object,
132
+ });
133
+ }
134
+
135
+ getTypeParamExistingNames(excludedList: Array<TypeParam> = []) {
136
+ const excludedSet = new Set(excludedList);
137
+ return ((this.typeParams as TypeParam[]) || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
138
+ }
139
+
140
+ getTypeParamUniqueName(name = 'typeParam1') {
141
+ return utils.unique(name, this.getTypeParamExistingNames(), undefined, false);
142
+ }
143
+
144
+ /**
145
+ * 插入类型参数
146
+ * @internal
147
+ * @param name 类型参数名称,如果不填会自动生成一个唯一名称
148
+ */
149
+ _insertTypeParamAt(name: string, index: number): TypeParam;
150
+
151
+ /**
152
+ * 插入类型参数
153
+ * @internal
154
+ * @param typeParamOptions 类型参数参数
155
+ */
156
+ _insertTypeParamAt(typeParamOptions: Partial<TypeParam>, index: number): TypeParam;
157
+
158
+ /**
159
+ * 插入类型参数
160
+ * @internal
161
+ * @param typeParam 已有的类型参数实例
162
+ */
163
+ _insertTypeParamAt(typeParam: TypeParam, index: number): TypeParam;
164
+
165
+ _insertTypeParamAt(options: string | Partial<TypeParam> | TypeParam, index: number) {
166
+ const typeParamOptions: any = {};
167
+ const relationOptions = { parentNode: this, parentKey: 'typeParams' };
168
+ let typeParam: TypeParam;
169
+ if (!options) {
170
+ typeParam = TypeParam.from(
171
+ {
172
+ ...typeParamOptions,
173
+ name: this.getTypeParamUniqueName(),
174
+ },
175
+ this,
176
+ 'typeParams'
177
+ );
178
+ } else if (typeof options === 'string') {
179
+ typeParam = TypeParam.from(
180
+ {
181
+ ...typeParamOptions,
182
+ name: options,
183
+ },
184
+ this,
185
+ 'typeParams'
186
+ );
187
+ } else if (options instanceof TypeParam) {
188
+ options.ensureDelete(); // 同一实例不支持多处存在
189
+ typeParam = options;
190
+ Object.assign(typeParam, relationOptions);
191
+ } else {
192
+ typeParam = TypeParam.from(
193
+ {
194
+ ...typeParamOptions,
195
+ ...options,
196
+ },
197
+ this,
198
+ 'typeParams'
199
+ );
463
200
  }
464
-
465
-
466
-
467
- /**
468
- * 删除数据结构属性
469
- * @param name 数据结构属性名称
470
- */
471
- removeProperty(name: string): void;
472
-
473
- /**
474
- * 删除数据结构属性
475
- * @param property 已有的数据结构属性实例
476
- */
477
- removeProperty(property: StructureProperty): void;
478
-
479
- removeProperty(options: string | StructureProperty) {
480
- let property: StructureProperty;
481
- if (typeof options === 'string') {
482
- property = (this.properties as StructureProperty[]).find((item) => item.name === options);
483
- if (!property) {
484
- throw new Error('找不到数据结构属性 ' + options);
485
- }
486
- } else {
487
- property = options;
488
- }
489
- return property.delete();
201
+ this.typeParams.splice(index, 0, typeParam);
202
+ return typeParam;
203
+ }
204
+
205
+ /**
206
+ * 插入类型参数
207
+ * @param name 类型参数名称,如果不填会自动生成一个唯一名称
208
+ */
209
+ insertTypeParamAt(name: string, index: number): TypeParam;
210
+
211
+ /**
212
+ * 插入类型参数
213
+ * @param typeParamOptions 类型参数参数
214
+ */
215
+ insertTypeParamAt(typeParamOptions: Partial<TypeParam>, index: number): TypeParam;
216
+
217
+ /**
218
+ * 插入类型参数
219
+ * @param typeParam 已有的类型参数实例
220
+ */
221
+ insertTypeParamAt(typeParam: TypeParam, index: number): TypeParam;
222
+
223
+ insertTypeParamAt(options: string | Partial<TypeParam> | TypeParam, index: number) {
224
+ const node = this._insertTypeParamAt(options as any, index);
225
+ node.create({
226
+ index,
227
+ parentNode: this,
228
+ parentKey: 'typeParams',
229
+ });
230
+ return node;
231
+ }
232
+
233
+ /**
234
+ * 添加类型参数
235
+ * @internal
236
+ * @param name 类型参数名称,如果不填会自动生成一个唯一名称
237
+ */
238
+ _addTypeParam(name?: string): TypeParam;
239
+
240
+ /**
241
+ * 添加类型参数
242
+ * @internal
243
+ * @param typeParamOptions 类型参数参数
244
+ */
245
+ _addTypeParam(typeParamOptions: Partial<TypeParam>): TypeParam;
246
+
247
+ /**
248
+ * 添加类型参数
249
+ * @internal
250
+ * @param typeParam 已有的类型参数实例
251
+ */
252
+ _addTypeParam(typeParam: TypeParam): TypeParam;
253
+
254
+ _addTypeParam(options?: string | Partial<TypeParam> | TypeParam) {
255
+ const index = this.typeParams.length;
256
+ return this._insertTypeParamAt(options as any, index);
257
+ }
258
+
259
+ /**
260
+ * 添加类型参数
261
+ * @internal
262
+ * @param name 类型参数名称,如果不填会自动生成一个唯一名称
263
+ */
264
+ addTypeParam(name?: string): TypeParam;
265
+
266
+ /**
267
+ * 添加类型参数
268
+ * @param typeParamOptions 类型参数参数
269
+ */
270
+ addTypeParam(typeParamOptions: Partial<TypeParam>): TypeParam;
271
+
272
+ /**
273
+ * 添加类型参数
274
+ * @param typeParam 已有的类型参数实例
275
+ */
276
+ addTypeParam(typeParam: TypeParam): TypeParam;
277
+
278
+ addTypeParam(options?: string | Partial<TypeParam> | TypeParam) {
279
+ const node = this._addTypeParam(options as any);
280
+ const index = this.typeParams.indexOf(node);
281
+ node.create({
282
+ index,
283
+ parentNode: this,
284
+ parentKey: 'typeParams',
285
+ });
286
+ return node;
287
+ }
288
+
289
+ getPropertyExistingNames(excludedList: Array<StructureProperty> = []) {
290
+ const excludedSet = new Set(excludedList);
291
+ return ((this.properties as StructureProperty[]) || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
292
+ }
293
+
294
+ getPropertyUniqueName(name = 'property1') {
295
+ return utils.unique(name, this.getPropertyExistingNames(), undefined, false);
296
+ }
297
+
298
+ /**
299
+ * 插入数据结构属性
300
+ * @internal
301
+ * @param name 数据结构属性名称,如果不填会自动生成一个唯一名称
302
+ */
303
+ _insertPropertyAt(name: string, index: number): StructureProperty;
304
+
305
+ /**
306
+ * 插入数据结构属性
307
+ * @internal
308
+ * @param propertyOptions 数据结构属性参数
309
+ */
310
+ _insertPropertyAt(propertyOptions: Partial<StructureProperty>, index: number): StructureProperty;
311
+
312
+ /**
313
+ * 插入数据结构属性
314
+ * @internal
315
+ * @param property 已有的数据结构属性实例
316
+ */
317
+ _insertPropertyAt(property: StructureProperty, index: number): StructureProperty;
318
+
319
+ _insertPropertyAt(options: string | Partial<StructureProperty> | StructureProperty, index: number) {
320
+ const propertyOptions: any = {};
321
+ const relationOptions = { parentNode: this, parentKey: 'properties' };
322
+ let property: StructureProperty;
323
+ if (!options) {
324
+ property = StructureProperty.from(
325
+ {
326
+ ...propertyOptions,
327
+ name: this.getPropertyUniqueName(),
328
+ },
329
+ this,
330
+ 'properties'
331
+ );
332
+ } else if (typeof options === 'string') {
333
+ property = StructureProperty.from(
334
+ {
335
+ ...propertyOptions,
336
+ name: options,
337
+ },
338
+ this,
339
+ 'properties'
340
+ );
341
+ } else if (options instanceof StructureProperty) {
342
+ options.ensureDelete(); // 同一实例不支持多处存在
343
+ property = options;
344
+ Object.assign(property, relationOptions);
345
+ } else {
346
+ property = StructureProperty.from(
347
+ {
348
+ ...propertyOptions,
349
+ ...options,
350
+ },
351
+ this,
352
+ 'properties'
353
+ );
490
354
  }
491
-
492
- __removeStructureProperty(property: StructureProperty) {
493
- const parentKey = property.parentKey;
494
- const params: Params = {
495
- parentNode: this,
496
- parentKey,
497
- index: -1,
498
- object: null,
499
- oldObject: property,
500
- };
501
- if (parentKey) {
502
- params.parentKey = parentKey;
503
- if (Array.isArray((this as any)[parentKey])) {
504
- const index = (this as any)[parentKey].indexOf(property);
505
- ~index && (this as any)[parentKey].splice(index, 1);
506
- params.index = index;
507
- } else if ((this as any)[parentKey] === property) {
508
- params.index = 0;
509
- (this as any)[parentKey] = undefined;
510
- }
511
- }
512
- return params;
355
+ this.properties.splice(index, 0, property);
356
+ return property;
357
+ }
358
+
359
+ /**
360
+ * 插入数据结构属性
361
+ * @param name 数据结构属性名称,如果不填会自动生成一个唯一名称
362
+ */
363
+ insertPropertyAt(name: string, index: number): StructureProperty;
364
+
365
+ /**
366
+ * 插入数据结构属性
367
+ * @param propertyOptions 数据结构属性参数
368
+ */
369
+ insertPropertyAt(propertyOptions: Partial<StructureProperty>, index: number): StructureProperty;
370
+
371
+ /**
372
+ * 插入数据结构属性
373
+ * @param property 已有的数据结构属性实例
374
+ */
375
+ insertPropertyAt(property: StructureProperty, index: number): StructureProperty;
376
+
377
+ insertPropertyAt(options: string | Partial<StructureProperty> | StructureProperty, index: number) {
378
+ const node = this._insertPropertyAt(options as any, index);
379
+ node.create({
380
+ index,
381
+ parentNode: this,
382
+ parentKey: 'properties',
383
+ });
384
+ return node;
385
+ }
386
+
387
+ /**
388
+ * 添加数据结构属性
389
+ * @internal
390
+ * @param name 数据结构属性名称,如果不填会自动生成一个唯一名称
391
+ */
392
+ _addProperty(name?: string): StructureProperty;
393
+
394
+ /**
395
+ * 添加数据结构属性
396
+ * @internal
397
+ * @param propertyOptions 数据结构属性参数
398
+ */
399
+ _addProperty(propertyOptions: Partial<StructureProperty>): StructureProperty;
400
+
401
+ /**
402
+ * 添加数据结构属性
403
+ * @internal
404
+ * @param property 已有的数据结构属性实例
405
+ */
406
+ _addProperty(property: StructureProperty): StructureProperty;
407
+
408
+ _addProperty(options?: string | Partial<StructureProperty> | StructureProperty) {
409
+ const index = this.properties.length;
410
+ return this._insertPropertyAt(options as any, index);
411
+ }
412
+
413
+ /**
414
+ * 添加数据结构属性
415
+ * @internal
416
+ * @param name 数据结构属性名称,如果不填会自动生成一个唯一名称
417
+ */
418
+ addProperty(name?: string): StructureProperty;
419
+
420
+ /**
421
+ * 添加数据结构属性
422
+ * @param propertyOptions 数据结构属性参数
423
+ */
424
+ addProperty(propertyOptions: Partial<StructureProperty>): StructureProperty;
425
+
426
+ /**
427
+ * 添加数据结构属性
428
+ * @param property 已有的数据结构属性实例
429
+ */
430
+ addProperty(property: StructureProperty): StructureProperty;
431
+
432
+ addProperty(options?: string | Partial<StructureProperty> | StructureProperty) {
433
+ const node = this._addProperty(options as any);
434
+ const index = this.properties.indexOf(node);
435
+ node.create({
436
+ index,
437
+ parentNode: this,
438
+ parentKey: 'properties',
439
+ });
440
+ return node;
441
+ }
442
+
443
+ /**
444
+ * 删除类型参数
445
+ * @param name 类型参数名称
446
+ */
447
+ removeTypeParam(name: string): void;
448
+
449
+ /**
450
+ * 删除类型参数
451
+ * @param typeParam 已有的类型参数实例
452
+ */
453
+ removeTypeParam(typeParam: TypeParam): void;
454
+
455
+ removeTypeParam(options: string | TypeParam) {
456
+ let typeParam: TypeParam;
457
+ if (typeof options === 'string') {
458
+ typeParam = (this.typeParams as TypeParam[]).find((item) => item.name === options);
459
+ if (!typeParam) {
460
+ throw new Error(`找不到类型参数 ${options}`);
461
+ }
462
+ } else {
463
+ typeParam = options;
513
464
  }
514
-
515
- //================================================================================
516
- // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
517
- // 自动生成的代码已结束。下面可以手动编写。
518
- //================================================================================
519
-
520
- /**
521
- * 是否可编辑
522
- * */
523
- get readonly() {
524
- return !!this.module || this.origin === 'CallQueryComponent';
465
+ return typeParam.delete();
466
+ }
467
+
468
+ __removeTypeParam(typeParam: TypeParam) {
469
+ const { parentKey } = typeParam;
470
+ const params: Params = {
471
+ parentNode: this,
472
+ parentKey,
473
+ index: -1,
474
+ object: null,
475
+ oldObject: typeParam,
476
+ };
477
+ if (parentKey) {
478
+ params.parentKey = parentKey;
479
+ if (Array.isArray((this as any)[parentKey])) {
480
+ const index = (this as any)[parentKey].indexOf(typeParam);
481
+ ~index && (this as any)[parentKey].splice(index, 1);
482
+ params.index = index;
483
+ } else if ((this as any)[parentKey] === typeParam) {
484
+ params.index = 0;
485
+ (this as any)[parentKey] = undefined;
486
+ }
525
487
  }
526
- /* 删除空数据模块 */
527
- deleteLogincAndModule() {
528
- this.delete();
529
- if (this.module && this.module.interfaces.length === 0 && this.module.structures.length === 0) {
530
- this.app.removeModuleInInterfaceDependencies(this.module);
531
- }
488
+ return params;
489
+ }
490
+
491
+ /**
492
+ * 删除数据结构属性
493
+ * @param name 数据结构属性名称
494
+ */
495
+ removeProperty(name: string): void;
496
+
497
+ /**
498
+ * 删除数据结构属性
499
+ * @param property 已有的数据结构属性实例
500
+ */
501
+ removeProperty(property: StructureProperty): void;
502
+
503
+ removeProperty(options: string | StructureProperty) {
504
+ let property: StructureProperty;
505
+ if (typeof options === 'string') {
506
+ property = (this.properties as StructureProperty[]).find((item) => item.name === options);
507
+ if (!property) {
508
+ throw new Error(`找不到数据结构属性 ${options}`);
509
+ }
510
+ } else {
511
+ property = options;
532
512
  }
533
-
534
- @withSourceMap()
535
- toEmbeddedTS(state?: TranslatorState): string {
536
- let code = `export class ${this.tsName} {\n`;
537
- code += indent((state?.tabSize || 0) + 1);
538
- code += `__name: '${this.getTsNamespace()}.${this.tsName}';\n`;
539
- this.properties.forEach((property) => {
540
- code += indent((state?.tabSize || 0) + 1);
541
- code += property.toEmbeddedTS(shiftState(state, code, { tabSize: 0 }));
542
- code += ';\n';
543
- });
544
- code += indent((state?.tabSize || 0)) + '}\n';
545
-
546
- return code;
513
+ return property.delete();
514
+ }
515
+
516
+ __removeStructureProperty(property: StructureProperty) {
517
+ const { parentKey } = property;
518
+ const params: Params = {
519
+ parentNode: this,
520
+ parentKey,
521
+ index: -1,
522
+ object: null,
523
+ oldObject: property,
524
+ };
525
+ if (parentKey) {
526
+ params.parentKey = parentKey;
527
+ if (Array.isArray((this as any)[parentKey])) {
528
+ const index = (this as any)[parentKey].indexOf(property);
529
+ ~index && (this as any)[parentKey].splice(index, 1);
530
+ params.index = index;
531
+ } else if ((this as any)[parentKey] === property) {
532
+ params.index = 0;
533
+ (this as any)[parentKey] = undefined;
534
+ }
547
535
  }
548
-
549
- getNamespace() {
550
- if (this.parentNode && (this.parentNode as Namespace).getNamespace) {
551
- const parentNamespace = (this.parentNode as Namespace).getNamespace();
552
- const parentName = this.parentNode.name;
553
- const arr = [parentNamespace];
554
- if (this.parentNode.concept !== 'App' && parentName) {
555
- arr.push(parentName);
556
- }
557
- return `${arr.join('.')}.structures`;
558
- } else
559
- throw new Error('无法获取命名空间,请设置 parentNode!');
536
+ return params;
537
+ }
538
+
539
+ //= ===============================================================================
540
+ // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
541
+ // 自动生成的代码已结束。下面可以手动编写。
542
+ //= ===============================================================================
543
+
544
+ /**
545
+ * 是否可编辑
546
+ * */
547
+ get readonly() {
548
+ return !!this.module || this.origin === 'CallQueryComponent';
549
+ }
550
+
551
+ /* 删除空数据模块 */
552
+ deleteLogincAndModule() {
553
+ this.delete();
554
+ if (this.module && this.module.interfaces.length === 0 && this.module.structures.length === 0) {
555
+ this.app.removeModuleInInterfaceDependencies(this.module);
560
556
  }
561
-
562
- getTsNamespace() {
563
- if (this.parentNode && (this.parentNode as Namespace).getTsNamespace) {
564
- const parentNamespace = (this.parentNode as Namespace).getTsNamespace();
565
- const parentName = this.parentNode.tsName || this.parentNode.name;
566
- const arr = [parentNamespace];
567
- if (this.parentNode.concept !== 'App' && parentName) {
568
- arr.push(parentName);
569
- }
570
- return `${arr.join('.')}.structures`;
571
- } else {
572
- throw new Error('无法获取命名空间,请设置 parentNode!');
573
- }
557
+ }
558
+
559
+ @withSourceMap()
560
+ toEmbeddedTS(state?: TranslatorState): string {
561
+ let code = `export class ${this.tsName} {\n`;
562
+ code += indent((state?.tabSize || 0) + 1);
563
+ code += `__name: '${this.getTsNamespace()}.${this.tsName}';\n`;
564
+ this.properties.forEach((property) => {
565
+ code += indent((state?.tabSize || 0) + 1);
566
+ code += property.toEmbeddedTS(shiftState(state, code, { tabSize: 0 }));
567
+ code += ';\n';
568
+ });
569
+ code += `${indent(state?.tabSize || 0)}}\n`;
570
+
571
+ return code;
572
+ }
573
+
574
+ @withSourceMap()
575
+ toNaturalTS(state?: TranslatorState): string {
576
+ let code = `class ${this.name} {\n`;
577
+ // code += `${indent(state.tabSize + 1)}__name: '${this.getNamespace()}.${this.name}';\n`;
578
+ this.properties.forEach((property) => {
579
+ code += indent((state?.tabSize || 0) + 1);
580
+ code += property.toNaturalTS(shiftState(state, code, { tabSize: 0 }));
581
+ code += ';\n';
582
+ });
583
+ code += `${indent(state?.tabSize || 0)}}\n`;
584
+ return code;
585
+ }
586
+
587
+ getNamespace() {
588
+ if (this.parentNode && (this.parentNode as Namespace).getNamespace) {
589
+ const parentNamespace = (this.parentNode as Namespace).getNamespace();
590
+ const parentName = this.parentNode.name;
591
+ const arr = [parentNamespace];
592
+ if (this.parentNode.concept !== 'App' && parentName) {
593
+ arr.push(parentName);
594
+ }
595
+ return `${arr.join('.')}.structures`;
574
596
  }
575
-
576
- /**
577
- * 生成宿主语言的文件路径
578
- * @param name 一般不用传,用于 rename
579
- */
580
- getEmbeddedFilePath(name = this.name) {
581
- const _path = this.module ? `/${this.module.parentKey}/${this.module.name}` : '';
582
- return `/embedded/${this.app.name}${_path}/structures/${name}.ts`;
597
+ throw new Error('无法获取命名空间,请设置 parentNode!');
598
+ }
599
+
600
+ getTsNamespace() {
601
+ if (this.parentNode && (this.parentNode as Namespace).getTsNamespace) {
602
+ const parentNamespace = (this.parentNode as Namespace).getTsNamespace();
603
+ const parentName = this.parentNode.tsName || this.parentNode.name;
604
+ const arr = [parentNamespace];
605
+ if (this.parentNode.concept !== 'App' && parentName) {
606
+ arr.push(parentName);
607
+ }
608
+ return `${arr.join('.')}.structures`;
583
609
  }
584
-
585
- toEmbeddedTSFile() {
586
- let code = `namespace ${this.getTsNamespace()} {\n`;
587
-
588
- const state = createCompilerState(code, { tabSize: 1 });
589
- try {
590
- code += this.toEmbeddedTS(state);
591
- } catch (err) {
592
- code += '';
593
- console.log(err);
594
- }
595
- code += '}\n';
596
-
597
- return {
598
- code,
599
- filePath: this.getEmbeddedFilePath(),
600
- sourceMap: state.sourceMap,
601
- };
610
+ throw new Error('无法获取命名空间,请设置 parentNode!');
611
+ }
612
+
613
+ /**
614
+ * 生成宿主语言的文件路径
615
+ * @param name 一般不用传,用于 rename
616
+ */
617
+ getEmbeddedFilePath(name = this.name) {
618
+ const _path = this.module ? `/${this.module.parentKey}/${this.module.name}` : '';
619
+ return `/embedded/${this.app.name}${_path}/structures/${name}.ts`;
620
+ }
621
+
622
+ toEmbeddedTSFile() {
623
+ let code = `namespace ${this.getTsNamespace()} {\n`;
624
+
625
+ const state = createCompilerState(code, { tabSize: 1 });
626
+ try {
627
+ code += this.toEmbeddedTS(state);
628
+ } catch (err) {
629
+ code += '';
630
+ console.log(err);
602
631
  }
603
-
604
- //================================================================================
605
- // 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
606
- // ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
607
- //================================================================================
632
+ code += '}\n';
633
+
634
+ return {
635
+ code,
636
+ filePath: this.getEmbeddedFilePath(),
637
+ sourceMap: state.sourceMap,
638
+ };
639
+ }
640
+
641
+ //= ===============================================================================
642
+ // 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
643
+ // ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
644
+ //= ===============================================================================
608
645
  }
609
646
 
610
647
  classMap.Structure = Structure;
611
648
  export default Structure;
612
- //================================================================================
649
+ //= ===============================================================================
613
650
  // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
614
651
  // 自动生成的代码已结束。下面可以手动编写。
615
- //================================================================================
652
+ //= ===============================================================================