@lcap/nasl 3.3.0-beta.0 → 3.4.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (790) hide show
  1. package/out/bak/translator.js +5 -8
  2. package/out/bak/translator.js.map +1 -1
  3. package/out/breakpoint/generator/AfterStartNode.js +1 -2
  4. package/out/breakpoint/generator/AfterStartNode.js.map +1 -1
  5. package/out/breakpoint/generator/BeforeEndNode.js +1 -2
  6. package/out/breakpoint/generator/BeforeEndNode.js.map +1 -1
  7. package/out/breakpoint/generator/BreakpointNode.js +9 -30
  8. package/out/breakpoint/generator/BreakpointNode.js.map +1 -1
  9. package/out/breakpoint/shared/constants.d.ts +0 -1
  10. package/out/breakpoint/shared/constants.js +1 -7
  11. package/out/breakpoint/shared/constants.js.map +1 -1
  12. package/out/breakpoint/shared/utils.d.ts +1 -3
  13. package/out/breakpoint/shared/utils.js +4 -25
  14. package/out/breakpoint/shared/utils.js.map +1 -1
  15. package/out/common/BaseNode.d.ts +8 -21
  16. package/out/common/BaseNode.js +69 -115
  17. package/out/common/BaseNode.js.map +1 -1
  18. package/out/common/Command.js +1 -6
  19. package/out/common/Command.js.map +1 -1
  20. package/out/common/EventEmitter.d.ts +1 -1
  21. package/out/common/EventEmitter.js +3 -1
  22. package/out/common/EventEmitter.js.map +1 -1
  23. package/out/common/classMap.d.ts +4 -0
  24. package/out/common/classMap.js +5 -0
  25. package/out/common/classMap.js.map +1 -0
  26. package/out/common/index.d.ts +1 -0
  27. package/out/common/index.js +1 -0
  28. package/out/common/index.js.map +1 -1
  29. package/out/concepts/Abort__.d.ts +2 -3
  30. package/out/concepts/Abort__.js +18 -15
  31. package/out/concepts/Abort__.js.map +1 -1
  32. package/out/concepts/Anchor__.d.ts +3 -3
  33. package/out/concepts/Anchor__.js +35 -18
  34. package/out/concepts/Anchor__.js.map +1 -1
  35. package/out/concepts/AnonymousFunction__.d.ts +3 -3
  36. package/out/concepts/AnonymousFunction__.js +53 -29
  37. package/out/concepts/AnonymousFunction__.js.map +1 -1
  38. package/out/concepts/App__.d.ts +157 -160
  39. package/out/concepts/App__.js +80 -106
  40. package/out/concepts/App__.js.map +1 -1
  41. package/out/concepts/Argument__.d.ts +3 -3
  42. package/out/concepts/Argument__.js +42 -22
  43. package/out/concepts/Argument__.js.map +1 -1
  44. package/out/concepts/Assignee__.d.ts +2 -3
  45. package/out/concepts/Assignee__.js +21 -19
  46. package/out/concepts/Assignee__.js.map +1 -1
  47. package/out/concepts/AssignmentLine__.d.ts +2 -3
  48. package/out/concepts/AssignmentLine__.js +17 -15
  49. package/out/concepts/AssignmentLine__.js.map +1 -1
  50. package/out/concepts/Assignment__.d.ts +3 -3
  51. package/out/concepts/Assignment__.js +42 -34
  52. package/out/concepts/Assignment__.js.map +1 -1
  53. package/out/concepts/Attribute__.d.ts +2 -3
  54. package/out/concepts/Attribute__.js +28 -36
  55. package/out/concepts/Attribute__.js.map +1 -1
  56. package/out/concepts/AuthInterface__.d.ts +3 -4
  57. package/out/concepts/AuthInterface__.js +17 -16
  58. package/out/concepts/AuthInterface__.js.map +1 -1
  59. package/out/concepts/AuthLogicForCallInterface__.d.ts +3 -4
  60. package/out/concepts/AuthLogicForCallInterface__.js +27 -37
  61. package/out/concepts/AuthLogicForCallInterface__.js.map +1 -1
  62. package/out/concepts/AuthLogic__.d.ts +3 -4
  63. package/out/concepts/AuthLogic__.js +19 -18
  64. package/out/concepts/AuthLogic__.js.map +1 -1
  65. package/out/concepts/BackendVariable__.d.ts +7 -8
  66. package/out/concepts/BackendVariable__.js +34 -39
  67. package/out/concepts/BackendVariable__.js.map +1 -1
  68. package/out/concepts/Backend__.d.ts +31 -32
  69. package/out/concepts/Backend__.js +22 -23
  70. package/out/concepts/Backend__.js.map +1 -1
  71. package/out/concepts/BatchAssignment__.d.ts +3 -3
  72. package/out/concepts/BatchAssignment__.js +54 -46
  73. package/out/concepts/BatchAssignment__.js.map +1 -1
  74. package/out/concepts/BinaryExpression__.d.ts +3 -3
  75. package/out/concepts/BinaryExpression__.js +62 -30
  76. package/out/concepts/BinaryExpression__.js.map +1 -1
  77. package/out/concepts/BindAttribute__.d.ts +9 -12
  78. package/out/concepts/BindAttribute__.js +102 -81
  79. package/out/concepts/BindAttribute__.js.map +1 -1
  80. package/out/concepts/BindDirective__.d.ts +3 -5
  81. package/out/concepts/BindDirective__.js +28 -34
  82. package/out/concepts/BindDirective__.js.map +1 -1
  83. package/out/concepts/BindEvent__.d.ts +3 -3
  84. package/out/concepts/BindEvent__.js +74 -51
  85. package/out/concepts/BindEvent__.js.map +1 -1
  86. package/out/concepts/BindStyle__.d.ts +3 -5
  87. package/out/concepts/BindStyle__.js +23 -24
  88. package/out/concepts/BindStyle__.js.map +1 -1
  89. package/out/concepts/BooleanLiteral__.d.ts +3 -3
  90. package/out/concepts/BooleanLiteral__.js +24 -17
  91. package/out/concepts/BooleanLiteral__.js.map +1 -1
  92. package/out/concepts/CallAuthInterface__.d.ts +2 -3
  93. package/out/concepts/CallAuthInterface__.js +19 -17
  94. package/out/concepts/CallAuthInterface__.js.map +1 -1
  95. package/out/concepts/CallConnector__.d.ts +4 -5
  96. package/out/concepts/CallConnector__.js +34 -41
  97. package/out/concepts/CallConnector__.js.map +1 -1
  98. package/out/concepts/CallFunction__.d.ts +3 -3
  99. package/out/concepts/CallFunction__.js +71 -33
  100. package/out/concepts/CallFunction__.js.map +1 -1
  101. package/out/concepts/CallInterface__.d.ts +3 -3
  102. package/out/concepts/CallInterface__.js +57 -26
  103. package/out/concepts/CallInterface__.js.map +1 -1
  104. package/out/concepts/CallLogic__.d.ts +6 -6
  105. package/out/concepts/CallLogic__.js +180 -135
  106. package/out/concepts/CallLogic__.js.map +1 -1
  107. package/out/concepts/CallQueryComponent__.d.ts +2 -3
  108. package/out/concepts/CallQueryComponent__.js +41 -57
  109. package/out/concepts/CallQueryComponent__.js.map +1 -1
  110. package/out/concepts/Comment__.d.ts +3 -3
  111. package/out/concepts/Comment__.js +24 -17
  112. package/out/concepts/Comment__.js.map +1 -1
  113. package/out/concepts/CompletionProperty__.d.ts +2 -3
  114. package/out/concepts/CompletionProperty__.js +25 -30
  115. package/out/concepts/CompletionProperty__.js.map +1 -1
  116. package/out/concepts/ConfigGroup__.d.ts +2 -3
  117. package/out/concepts/ConfigGroup__.js +20 -21
  118. package/out/concepts/ConfigGroup__.js.map +1 -1
  119. package/out/concepts/ConfigPropertyValue__.d.ts +2 -3
  120. package/out/concepts/ConfigPropertyValue__.js +16 -16
  121. package/out/concepts/ConfigPropertyValue__.js.map +1 -1
  122. package/out/concepts/ConfigProperty__.d.ts +2 -3
  123. package/out/concepts/ConfigProperty__.js +23 -26
  124. package/out/concepts/ConfigProperty__.js.map +1 -1
  125. package/out/concepts/Configuration__.d.ts +2 -3
  126. package/out/concepts/Configuration__.js +18 -16
  127. package/out/concepts/Configuration__.js.map +1 -1
  128. package/out/concepts/Connection__.d.ts +4 -4
  129. package/out/concepts/Connection__.js +18 -22
  130. package/out/concepts/Connection__.js.map +1 -1
  131. package/out/concepts/ConnectorTrigger__.d.ts +6 -7
  132. package/out/concepts/ConnectorTrigger__.js +21 -22
  133. package/out/concepts/ConnectorTrigger__.js.map +1 -1
  134. package/out/concepts/Connector__.d.ts +33 -139
  135. package/out/concepts/Connector__.js +34 -191
  136. package/out/concepts/Connector__.js.map +1 -1
  137. package/out/concepts/Constant__.d.ts +2 -3
  138. package/out/concepts/Constant__.js +23 -25
  139. package/out/concepts/Constant__.js.map +1 -1
  140. package/out/concepts/DataElement__.d.ts +46 -0
  141. package/out/concepts/DataElement__.js +118 -0
  142. package/out/concepts/DataElement__.js.map +1 -0
  143. package/out/concepts/DataSource__.d.ts +2 -7
  144. package/out/concepts/DataSource__.js +23 -31
  145. package/out/concepts/DataSource__.js.map +1 -1
  146. package/out/concepts/DatabaseTypeAnnotation__.d.ts +4 -5
  147. package/out/concepts/DatabaseTypeAnnotation__.js +18 -18
  148. package/out/concepts/DatabaseTypeAnnotation__.js.map +1 -1
  149. package/out/concepts/Destination__.d.ts +11 -11
  150. package/out/concepts/Destination__.js +89 -39
  151. package/out/concepts/Destination__.js.map +1 -1
  152. package/out/concepts/End__.d.ts +2 -3
  153. package/out/concepts/End__.js +17 -15
  154. package/out/concepts/End__.js.map +1 -1
  155. package/out/concepts/EntityIndex__.d.ts +3 -4
  156. package/out/concepts/EntityIndex__.js +21 -23
  157. package/out/concepts/EntityIndex__.js.map +1 -1
  158. package/out/concepts/EntityProperty__.d.ts +4 -4
  159. package/out/concepts/EntityProperty__.js +67 -51
  160. package/out/concepts/EntityProperty__.js.map +1 -1
  161. package/out/concepts/Entity__.d.ts +3 -3
  162. package/out/concepts/Entity__.js +51 -32
  163. package/out/concepts/Entity__.js.map +1 -1
  164. package/out/concepts/EnumItem__.d.ts +3 -3
  165. package/out/concepts/EnumItem__.js +25 -19
  166. package/out/concepts/EnumItem__.js.map +1 -1
  167. package/out/concepts/Enum__.d.ts +3 -3
  168. package/out/concepts/Enum__.js +35 -23
  169. package/out/concepts/Enum__.js.map +1 -1
  170. package/out/concepts/Event__.d.ts +2 -3
  171. package/out/concepts/Event__.js +21 -24
  172. package/out/concepts/Event__.js.map +1 -1
  173. package/out/concepts/ExternalDestination__.d.ts +5 -6
  174. package/out/concepts/ExternalDestination__.js +25 -25
  175. package/out/concepts/ExternalDestination__.js.map +1 -1
  176. package/out/concepts/ForEachStatement__.d.ts +3 -3
  177. package/out/concepts/ForEachStatement__.js +60 -21
  178. package/out/concepts/ForEachStatement__.js.map +1 -1
  179. package/out/concepts/FrontendLibrary__.d.ts +3 -4
  180. package/out/concepts/FrontendLibrary__.js +25 -27
  181. package/out/concepts/FrontendLibrary__.js.map +1 -1
  182. package/out/concepts/FrontendVariable__.d.ts +3 -4
  183. package/out/concepts/FrontendVariable__.js +12 -12
  184. package/out/concepts/FrontendVariable__.js.map +1 -1
  185. package/out/concepts/Frontend__.d.ts +6 -8
  186. package/out/concepts/Frontend__.js +39 -47
  187. package/out/concepts/Frontend__.js.map +1 -1
  188. package/out/concepts/Function__.d.ts +3 -3
  189. package/out/concepts/Function__.js +60 -37
  190. package/out/concepts/Function__.js.map +1 -1
  191. package/out/concepts/Identifier__.d.ts +3 -4
  192. package/out/concepts/Identifier__.js +29 -30
  193. package/out/concepts/Identifier__.js.map +1 -1
  194. package/out/concepts/IfStatement__.d.ts +3 -3
  195. package/out/concepts/IfStatement__.js +51 -21
  196. package/out/concepts/IfStatement__.js.map +1 -1
  197. package/out/concepts/Integration__.d.ts +2 -93
  198. package/out/concepts/Integration__.js +19 -157
  199. package/out/concepts/Integration__.js.map +1 -1
  200. package/out/concepts/InterfaceParam__.d.ts +4 -30
  201. package/out/concepts/InterfaceParam__.js +24 -58
  202. package/out/concepts/InterfaceParam__.js.map +1 -1
  203. package/out/concepts/Interface__.d.ts +5 -31
  204. package/out/concepts/Interface__.js +34 -89
  205. package/out/concepts/Interface__.js.map +1 -1
  206. package/out/concepts/JSBlock__.d.ts +3 -3
  207. package/out/concepts/JSBlock__.js +24 -17
  208. package/out/concepts/JSBlock__.js.map +1 -1
  209. package/out/concepts/JavaLogic__.d.ts +3 -4
  210. package/out/concepts/JavaLogic__.js +21 -22
  211. package/out/concepts/JavaLogic__.js.map +1 -1
  212. package/out/concepts/LogicItem__.d.ts +8 -3
  213. package/out/concepts/LogicItem__.js +30 -23
  214. package/out/concepts/LogicItem__.js.map +1 -1
  215. package/out/concepts/Logic__.d.ts +18 -17
  216. package/out/concepts/Logic__.js +188 -113
  217. package/out/concepts/Logic__.js.map +1 -1
  218. package/out/concepts/MatchCase__.d.ts +3 -3
  219. package/out/concepts/MatchCase__.js +110 -23
  220. package/out/concepts/MatchCase__.js.map +1 -1
  221. package/out/concepts/Match__.d.ts +3 -3
  222. package/out/concepts/Match__.js +64 -20
  223. package/out/concepts/Match__.js.map +1 -1
  224. package/out/concepts/MemberExpression__.d.ts +3 -3
  225. package/out/concepts/MemberExpression__.js +59 -65
  226. package/out/concepts/MemberExpression__.js.map +1 -1
  227. package/out/concepts/MicroApp__.d.ts +2 -3
  228. package/out/concepts/MicroApp__.js +21 -26
  229. package/out/concepts/MicroApp__.js.map +1 -1
  230. package/out/concepts/Module__.d.ts +47 -219
  231. package/out/concepts/Module__.js +32 -232
  232. package/out/concepts/Module__.js.map +1 -1
  233. package/out/concepts/MsgTriggerEvent__.d.ts +3 -4
  234. package/out/concepts/MsgTriggerEvent__.js +18 -16
  235. package/out/concepts/MsgTriggerEvent__.js.map +1 -1
  236. package/out/concepts/MsgTriggerLauncher__.d.ts +3 -4
  237. package/out/concepts/MsgTriggerLauncher__.js +19 -18
  238. package/out/concepts/MsgTriggerLauncher__.js.map +1 -1
  239. package/out/concepts/Namespace__.d.ts +2 -4
  240. package/out/concepts/Namespace__.js +46 -64
  241. package/out/concepts/Namespace__.js.map +1 -1
  242. package/out/concepts/NewComposite__.d.ts +3 -4
  243. package/out/concepts/NewComposite__.js +133 -71
  244. package/out/concepts/NewComposite__.js.map +1 -1
  245. package/out/concepts/NewList__.d.ts +4 -5
  246. package/out/concepts/NewList__.js +41 -35
  247. package/out/concepts/NewList__.js.map +1 -1
  248. package/out/concepts/NewMap__.d.ts +4 -5
  249. package/out/concepts/NewMap__.js +38 -39
  250. package/out/concepts/NewMap__.js.map +1 -1
  251. package/out/concepts/New__.d.ts +2 -3
  252. package/out/concepts/New__.js +17 -15
  253. package/out/concepts/New__.js.map +1 -1
  254. package/out/concepts/NullLiteral__.d.ts +2 -3
  255. package/out/concepts/NullLiteral__.js +17 -15
  256. package/out/concepts/NullLiteral__.js.map +1 -1
  257. package/out/concepts/NumericLiteral__.d.ts +3 -3
  258. package/out/concepts/NumericLiteral__.js +27 -21
  259. package/out/concepts/NumericLiteral__.js.map +1 -1
  260. package/out/concepts/OqlQueryComponent__.d.ts +3 -3
  261. package/out/concepts/OqlQueryComponent__.js +30 -26
  262. package/out/concepts/OqlQueryComponent__.js.map +1 -1
  263. package/out/concepts/OverriddenLogic__.d.ts +22 -14
  264. package/out/concepts/OverriddenLogic__.js +62 -73
  265. package/out/concepts/OverriddenLogic__.js.map +1 -1
  266. package/out/concepts/Param__.d.ts +3 -3
  267. package/out/concepts/Param__.js +69 -34
  268. package/out/concepts/Param__.js.map +1 -1
  269. package/out/concepts/Point__.d.ts +2 -3
  270. package/out/concepts/Point__.js +16 -16
  271. package/out/concepts/Point__.js.map +1 -1
  272. package/out/concepts/ProcessComponent__.d.ts +2 -3
  273. package/out/concepts/ProcessComponent__.js +22 -24
  274. package/out/concepts/ProcessComponent__.js.map +1 -1
  275. package/out/concepts/ProcessElement__.d.ts +2 -3
  276. package/out/concepts/ProcessElement__.js +46 -61
  277. package/out/concepts/ProcessElement__.js.map +1 -1
  278. package/out/concepts/ProcessOutcome__.d.ts +2 -3
  279. package/out/concepts/ProcessOutcome__.js +18 -17
  280. package/out/concepts/ProcessOutcome__.js.map +1 -1
  281. package/out/concepts/ProcessOutcomes__.d.ts +2 -3
  282. package/out/concepts/ProcessOutcomes__.js +17 -15
  283. package/out/concepts/ProcessOutcomes__.js.map +1 -1
  284. package/out/concepts/Process__.d.ts +7 -5
  285. package/out/concepts/Process__.js +35 -46
  286. package/out/concepts/Process__.js.map +1 -1
  287. package/out/concepts/QueryAggregateExpression__.d.ts +2 -3
  288. package/out/concepts/QueryAggregateExpression__.js +22 -23
  289. package/out/concepts/QueryAggregateExpression__.js.map +1 -1
  290. package/out/concepts/QueryFieldExpression__.d.ts +3 -4
  291. package/out/concepts/QueryFieldExpression__.js +20 -21
  292. package/out/concepts/QueryFieldExpression__.js.map +1 -1
  293. package/out/concepts/QueryFromExpression__.d.ts +3 -4
  294. package/out/concepts/QueryFromExpression__.js +22 -23
  295. package/out/concepts/QueryFromExpression__.js.map +1 -1
  296. package/out/concepts/QueryGroupByExpression__.d.ts +2 -3
  297. package/out/concepts/QueryGroupByExpression__.js +19 -18
  298. package/out/concepts/QueryGroupByExpression__.js.map +1 -1
  299. package/out/concepts/QueryJoinExpression__.d.ts +3 -4
  300. package/out/concepts/QueryJoinExpression__.js +25 -29
  301. package/out/concepts/QueryJoinExpression__.js.map +1 -1
  302. package/out/concepts/QueryLimitExpression__.d.ts +2 -3
  303. package/out/concepts/QueryLimitExpression__.js +22 -22
  304. package/out/concepts/QueryLimitExpression__.js.map +1 -1
  305. package/out/concepts/QueryOrderByExpression__.d.ts +2 -3
  306. package/out/concepts/QueryOrderByExpression__.js +22 -22
  307. package/out/concepts/QueryOrderByExpression__.js.map +1 -1
  308. package/out/concepts/QuerySelectExpression__.d.ts +2 -3
  309. package/out/concepts/QuerySelectExpression__.js +21 -23
  310. package/out/concepts/QuerySelectExpression__.js.map +1 -1
  311. package/out/concepts/Rect__.d.ts +2 -3
  312. package/out/concepts/Rect__.js +18 -20
  313. package/out/concepts/Rect__.js.map +1 -1
  314. package/out/concepts/Return__.d.ts +3 -3
  315. package/out/concepts/Return__.js +45 -29
  316. package/out/concepts/Return__.js.map +1 -1
  317. package/out/concepts/Role__.d.ts +2 -3
  318. package/out/concepts/Role__.js +21 -22
  319. package/out/concepts/Role__.js.map +1 -1
  320. package/out/concepts/SelectMembers__.d.ts +2 -3
  321. package/out/concepts/SelectMembers__.js +21 -20
  322. package/out/concepts/SelectMembers__.js.map +1 -1
  323. package/out/concepts/Slot__.d.ts +2 -3
  324. package/out/concepts/Slot__.js +22 -26
  325. package/out/concepts/Slot__.js.map +1 -1
  326. package/out/concepts/SqlQueryComponent__.d.ts +3 -3
  327. package/out/concepts/SqlQueryComponent__.js +31 -28
  328. package/out/concepts/SqlQueryComponent__.js.map +1 -1
  329. package/out/concepts/Start__.d.ts +2 -3
  330. package/out/concepts/Start__.js +17 -15
  331. package/out/concepts/Start__.js.map +1 -1
  332. package/out/concepts/StringInterpolation__.d.ts +3 -3
  333. package/out/concepts/StringInterpolation__.js +37 -17
  334. package/out/concepts/StringInterpolation__.js.map +1 -1
  335. package/out/concepts/StringLiteral__.d.ts +3 -3
  336. package/out/concepts/StringLiteral__.js +22 -14
  337. package/out/concepts/StringLiteral__.js.map +1 -1
  338. package/out/concepts/StructureProperty__.d.ts +5 -5
  339. package/out/concepts/StructureProperty__.js +40 -33
  340. package/out/concepts/StructureProperty__.js.map +1 -1
  341. package/out/concepts/Structure__.d.ts +12 -3
  342. package/out/concepts/Structure__.js +46 -45
  343. package/out/concepts/Structure__.js.map +1 -1
  344. package/out/concepts/SwitchCase__.d.ts +3 -3
  345. package/out/concepts/SwitchCase__.js +54 -19
  346. package/out/concepts/SwitchCase__.js.map +1 -1
  347. package/out/concepts/SwitchStatement__.d.ts +3 -3
  348. package/out/concepts/SwitchStatement__.js +39 -23
  349. package/out/concepts/SwitchStatement__.js.map +1 -1
  350. package/out/concepts/Theme__.d.ts +2 -3
  351. package/out/concepts/Theme__.js +14 -12
  352. package/out/concepts/Theme__.js.map +1 -1
  353. package/out/concepts/Transactional__.d.ts +2 -3
  354. package/out/concepts/Transactional__.js +17 -18
  355. package/out/concepts/Transactional__.js.map +1 -1
  356. package/out/concepts/TriggerEvent__.d.ts +2 -3
  357. package/out/concepts/TriggerEvent__.js +18 -19
  358. package/out/concepts/TriggerEvent__.js.map +1 -1
  359. package/out/concepts/TriggerLauncher__.d.ts +17 -6
  360. package/out/concepts/TriggerLauncher__.js +63 -26
  361. package/out/concepts/TriggerLauncher__.js.map +1 -1
  362. package/out/concepts/TypeAnnotation__.d.ts +6 -8
  363. package/out/concepts/TypeAnnotation__.js +79 -56
  364. package/out/concepts/TypeAnnotation__.js.map +1 -1
  365. package/out/concepts/TypeParam__.d.ts +3 -3
  366. package/out/concepts/TypeParam__.js +23 -16
  367. package/out/concepts/TypeParam__.js.map +1 -1
  368. package/out/concepts/UnaryExpression__.d.ts +3 -3
  369. package/out/concepts/UnaryExpression__.js +39 -21
  370. package/out/concepts/UnaryExpression__.js.map +1 -1
  371. package/out/concepts/Unparsed__.d.ts +3 -3
  372. package/out/concepts/Unparsed__.js +23 -16
  373. package/out/concepts/Unparsed__.js.map +1 -1
  374. package/out/concepts/UseComponent__.d.ts +2 -3
  375. package/out/concepts/UseComponent__.js +16 -16
  376. package/out/concepts/UseComponent__.js.map +1 -1
  377. package/out/concepts/ValidationRule__.d.ts +16 -17
  378. package/out/concepts/ValidationRule__.js +15 -18
  379. package/out/concepts/ValidationRule__.js.map +1 -1
  380. package/out/concepts/Variable__.d.ts +3 -3
  381. package/out/concepts/Variable__.js +45 -29
  382. package/out/concepts/Variable__.js.map +1 -1
  383. package/out/concepts/ViewBlock__.d.ts +3 -4
  384. package/out/concepts/ViewBlock__.js +19 -20
  385. package/out/concepts/ViewBlock__.js.map +1 -1
  386. package/out/concepts/ViewComponent__.d.ts +31 -32
  387. package/out/concepts/ViewComponent__.js +32 -35
  388. package/out/concepts/ViewComponent__.js.map +1 -1
  389. package/out/concepts/ViewElement__.d.ts +81 -82
  390. package/out/concepts/ViewElement__.js +155 -259
  391. package/out/concepts/ViewElement__.js.map +1 -1
  392. package/out/concepts/View__.d.ts +4 -5
  393. package/out/concepts/View__.js +207 -141
  394. package/out/concepts/View__.js.map +1 -1
  395. package/out/concepts/WhileStatement__.d.ts +3 -3
  396. package/out/concepts/WhileStatement__.js +41 -20
  397. package/out/concepts/WhileStatement__.js.map +1 -1
  398. package/out/concepts/index__.d.ts +1 -0
  399. package/out/concepts/index__.js +1 -0
  400. package/out/concepts/index__.js.map +1 -1
  401. package/out/concepts/types__.d.ts +2 -2
  402. package/out/decorators/index.d.ts +0 -2
  403. package/out/decorators/index.js +8 -12
  404. package/out/decorators/index.js.map +1 -1
  405. package/out/generator/genBundleFiles.d.ts +2 -2
  406. package/out/generator/genBundleFiles.js +4 -11
  407. package/out/generator/genBundleFiles.js.map +1 -1
  408. package/out/generator/genReleaseBody.d.ts +2 -4
  409. package/out/generator/genReleaseBody.js +136 -192
  410. package/out/generator/genReleaseBody.js.map +1 -1
  411. package/out/index.d.ts +1 -0
  412. package/out/index.js +1 -0
  413. package/out/index.js.map +1 -1
  414. package/out/natural/RequirementAnalyzer.d.ts +22 -0
  415. package/out/natural/RequirementAnalyzer.js +196 -0
  416. package/out/natural/RequirementAnalyzer.js.map +1 -0
  417. package/out/natural/RequirementExecutor.d.ts +51 -0
  418. package/out/natural/RequirementExecutor.js +692 -0
  419. package/out/natural/RequirementExecutor.js.map +1 -0
  420. package/out/natural/componentData.d.ts +31 -0
  421. package/out/natural/componentData.js +85 -0
  422. package/out/natural/componentData.js.map +1 -0
  423. package/out/natural/genNaturalTS.d.ts +3 -0
  424. package/out/natural/genNaturalTS.js +90 -0
  425. package/out/natural/genNaturalTS.js.map +1 -0
  426. package/out/natural/index.d.ts +4 -0
  427. package/out/natural/index.js +21 -0
  428. package/out/natural/index.js.map +1 -0
  429. package/out/natural/knowledgeMap.d.ts +4 -0
  430. package/out/natural/knowledgeMap.js +40 -0
  431. package/out/natural/knowledgeMap.js.map +1 -0
  432. package/out/natural/naslStdlibMap.d.ts +2 -0
  433. package/out/natural/naslStdlibMap.js +26 -0
  434. package/out/natural/naslStdlibMap.js.map +1 -0
  435. package/out/natural/transformTSCode.d.ts +7 -0
  436. package/out/natural/transformTSCode.js +878 -0
  437. package/out/natural/transformTSCode.js.map +1 -0
  438. package/out/sentry/index.js +2 -2
  439. package/out/sentry/index.js.map +1 -1
  440. package/out/server/createUiTs.js +1 -34
  441. package/out/server/createUiTs.js.map +1 -1
  442. package/out/server/extendBaseNode.js +17 -17
  443. package/out/server/extendBaseNode.js.map +1 -1
  444. package/out/server/formatTsUtils.js +10 -0
  445. package/out/server/formatTsUtils.js.map +1 -1
  446. package/out/server/getConnector.d.ts +0 -3
  447. package/out/server/getConnector.js +1 -38
  448. package/out/server/getConnector.js.map +1 -1
  449. package/out/server/getMemberIdentifier.js +2 -1
  450. package/out/server/getMemberIdentifier.js.map +1 -1
  451. package/out/server/index.js +0 -2
  452. package/out/server/index.js.map +1 -1
  453. package/out/server/naslServer.d.ts +6 -17
  454. package/out/server/naslServer.js +213 -321
  455. package/out/server/naslServer.js.map +1 -1
  456. package/out/server/translator.js +4 -2
  457. package/out/server/translator.js.map +1 -1
  458. package/out/service/creator/add.configs.js +0 -26
  459. package/out/service/creator/add.configs.js.map +1 -1
  460. package/out/service/creator/errHandles.js +3 -5
  461. package/out/service/creator/errHandles.js.map +1 -1
  462. package/out/service/creator/index.js +0 -13
  463. package/out/service/creator/index.js.map +1 -1
  464. package/out/service/storage/init.js +16 -0
  465. package/out/service/storage/init.js.map +1 -1
  466. package/out/service/storage/jsoner.js +1 -1
  467. package/out/service/storage/jsoner.js.map +1 -1
  468. package/out/templator/genCurdEditMultipleKeyBlock.js +3 -3
  469. package/out/templator/genCurdEditMultipleKeyBlock.js.map +1 -1
  470. package/out/templator/genCurdMultipleKeyBlock.js +3 -3
  471. package/out/templator/genCurdMultipleKeyBlock.js.map +1 -1
  472. package/out/templator/genTableBlock.js +1 -1
  473. package/out/templator/genTableBlock.js.map +1 -1
  474. package/out/translator/index.d.ts +48 -3
  475. package/out/translator/index.js +110 -17
  476. package/out/translator/index.js.map +1 -1
  477. package/out/translator/lsp.d.ts +45 -0
  478. package/out/translator/lsp.js +6 -0
  479. package/out/translator/lsp.js.map +1 -0
  480. package/out/translator/tsp.d.ts +12 -0
  481. package/out/translator/{types.js → tsp.js} +1 -1
  482. package/out/translator/tsp.js.map +1 -0
  483. package/out/utils/index.d.ts +0 -2
  484. package/out/utils/index.js +0 -2
  485. package/out/utils/index.js.map +1 -1
  486. package/out/utils/logger.d.ts +0 -4
  487. package/out/utils/logger.js +1 -13
  488. package/out/utils/logger.js.map +1 -1
  489. package/out/utils/time-slicing.js +1 -1
  490. package/out/utils/time-slicing.js.map +1 -1
  491. package/package.json +11 -5
  492. package/sandbox/stdlib/nasl.oql.ts +0 -2
  493. package/sandbox/stdlib/nasl.ui.definition.ts +1415 -2218
  494. package/sandbox-natural/stdlib/nasl.core.ts +36 -0
  495. package/sandbox-natural/stdlib/nasl.oql.ts +8 -0
  496. package/sandbox-natural/stdlib/nasl.ui.ts +63 -0
  497. package/sandbox-natural/stdlib/nasl.util.ts +119 -0
  498. package/sandbox-natural/tsconfig.json +12 -0
  499. package/src/bak/translator.js +5 -8
  500. package/src/breakpoint/generator/AfterStartNode.ts +1 -2
  501. package/src/breakpoint/generator/BeforeEndNode.ts +1 -2
  502. package/src/breakpoint/generator/BreakpointNode.ts +9 -36
  503. package/src/breakpoint/shared/constants.ts +0 -7
  504. package/src/breakpoint/shared/utils.ts +3 -36
  505. package/src/common/BaseNode.ts +81 -140
  506. package/src/common/Command.ts +1 -6
  507. package/src/common/EventEmitter.ts +4 -2
  508. package/src/common/classMap.ts +3 -0
  509. package/src/common/index.ts +1 -0
  510. package/src/concepts/Abort__.ts +22 -20
  511. package/src/concepts/Anchor__.ts +38 -23
  512. package/src/concepts/AnonymousFunction__.ts +63 -39
  513. package/src/concepts/App__.ts +314 -364
  514. package/src/concepts/Argument__.ts +44 -27
  515. package/src/concepts/Assignee__.ts +39 -41
  516. package/src/concepts/AssignmentLine__.ts +23 -20
  517. package/src/concepts/Assignment__.ts +58 -54
  518. package/src/concepts/Attribute__.ts +34 -40
  519. package/src/concepts/AuthInterface__.ts +24 -22
  520. package/src/concepts/AuthLogicForCallInterface__.ts +41 -71
  521. package/src/concepts/AuthLogic__.ts +30 -21
  522. package/src/concepts/BackendVariable__.ts +54 -55
  523. package/src/concepts/Backend__.ts +59 -58
  524. package/src/concepts/BatchAssignment__.ts +78 -88
  525. package/src/concepts/BinaryExpression__.ts +66 -72
  526. package/src/concepts/BindAttribute__.ts +155 -135
  527. package/src/concepts/BindDirective__.ts +41 -45
  528. package/src/concepts/BindEvent__.ts +89 -80
  529. package/src/concepts/BindStyle__.ts +36 -37
  530. package/src/concepts/BooleanLiteral__.ts +28 -22
  531. package/src/concepts/CallAuthInterface__.ts +32 -29
  532. package/src/concepts/CallConnector__.ts +41 -50
  533. package/src/concepts/CallFunction__.ts +77 -45
  534. package/src/concepts/CallInterface__.ts +68 -36
  535. package/src/concepts/CallLogic__.ts +213 -166
  536. package/src/concepts/CallQueryComponent__.ts +88 -156
  537. package/src/concepts/Comment__.ts +29 -22
  538. package/src/concepts/CompletionProperty__.ts +30 -34
  539. package/src/concepts/ConfigGroup__.ts +29 -28
  540. package/src/concepts/ConfigPropertyValue__.ts +23 -22
  541. package/src/concepts/ConfigProperty__.ts +36 -42
  542. package/src/concepts/Configuration__.ts +26 -23
  543. package/src/concepts/Connection__.ts +21 -26
  544. package/src/concepts/ConnectorTrigger__.ts +34 -30
  545. package/src/concepts/Connector__.ts +87 -342
  546. package/src/concepts/Constant__.ts +36 -30
  547. package/src/concepts/DataElement__.ts +131 -0
  548. package/src/concepts/DataSource__.ts +33 -37
  549. package/src/concepts/DatabaseTypeAnnotation__.ts +24 -24
  550. package/src/concepts/Destination__.ts +104 -51
  551. package/src/concepts/End__.ts +25 -23
  552. package/src/concepts/EntityIndex__.ts +33 -36
  553. package/src/concepts/EntityProperty__.ts +84 -64
  554. package/src/concepts/Entity__.ts +67 -41
  555. package/src/concepts/EnumItem__.ts +32 -24
  556. package/src/concepts/Enum__.ts +42 -28
  557. package/src/concepts/Event__.ts +33 -33
  558. package/src/concepts/ExternalDestination__.ts +29 -29
  559. package/src/concepts/ForEachStatement__.ts +73 -34
  560. package/src/concepts/FrontendLibrary__.ts +38 -37
  561. package/src/concepts/FrontendVariable__.ts +20 -18
  562. package/src/concepts/Frontend__.ts +62 -66
  563. package/src/concepts/Function__.ts +80 -54
  564. package/src/concepts/Identifier__.ts +34 -37
  565. package/src/concepts/IfStatement__.ts +77 -40
  566. package/src/concepts/Integration__.ts +24 -244
  567. package/src/concepts/InterfaceParam__.ts +33 -69
  568. package/src/concepts/Interface__.ts +46 -104
  569. package/src/concepts/JSBlock__.ts +28 -22
  570. package/src/concepts/JavaLogic__.ts +26 -27
  571. package/src/concepts/LogicItem__.ts +47 -29
  572. package/src/concepts/Logic__.ts +226 -168
  573. package/src/concepts/MatchCase__.ts +128 -38
  574. package/src/concepts/Match__.ts +73 -28
  575. package/src/concepts/MemberExpression__.ts +139 -174
  576. package/src/concepts/MicroApp__.ts +27 -32
  577. package/src/concepts/Module__.ts +107 -527
  578. package/src/concepts/MsgTriggerEvent__.ts +33 -25
  579. package/src/concepts/MsgTriggerLauncher__.ts +30 -27
  580. package/src/concepts/Namespace__.ts +99 -109
  581. package/src/concepts/NewComposite__.ts +161 -130
  582. package/src/concepts/NewList__.ts +51 -45
  583. package/src/concepts/NewMap__.ts +48 -51
  584. package/src/concepts/New__.ts +22 -20
  585. package/src/concepts/NullLiteral__.ts +22 -20
  586. package/src/concepts/NumericLiteral__.ts +31 -26
  587. package/src/concepts/OqlQueryComponent__.ts +34 -33
  588. package/src/concepts/OverriddenLogic__.ts +94 -128
  589. package/src/concepts/Param__.ts +90 -51
  590. package/src/concepts/Point__.ts +22 -22
  591. package/src/concepts/ProcessComponent__.ts +37 -36
  592. package/src/concepts/ProcessElement__.ts +86 -114
  593. package/src/concepts/ProcessOutcome__.ts +23 -22
  594. package/src/concepts/ProcessOutcomes__.ts +22 -20
  595. package/src/concepts/Process__.ts +63 -69
  596. package/src/concepts/QueryAggregateExpression__.ts +27 -28
  597. package/src/concepts/QueryFieldExpression__.ts +25 -26
  598. package/src/concepts/QueryFromExpression__.ts +28 -29
  599. package/src/concepts/QueryGroupByExpression__.ts +23 -22
  600. package/src/concepts/QueryJoinExpression__.ts +41 -62
  601. package/src/concepts/QueryLimitExpression__.ts +27 -27
  602. package/src/concepts/QueryOrderByExpression__.ts +27 -27
  603. package/src/concepts/QuerySelectExpression__.ts +54 -105
  604. package/src/concepts/Rect__.ts +24 -26
  605. package/src/concepts/Return__.ts +67 -42
  606. package/src/concepts/Role__.ts +25 -25
  607. package/src/concepts/SelectMembers__.ts +32 -30
  608. package/src/concepts/Slot__.ts +30 -32
  609. package/src/concepts/SqlQueryComponent__.ts +37 -41
  610. package/src/concepts/Start__.ts +22 -20
  611. package/src/concepts/StringInterpolation__.ts +45 -25
  612. package/src/concepts/StringLiteral__.ts +26 -19
  613. package/src/concepts/StructureProperty__.ts +47 -38
  614. package/src/concepts/Structure__.ts +58 -55
  615. package/src/concepts/SwitchCase__.ts +74 -40
  616. package/src/concepts/SwitchStatement__.ts +44 -29
  617. package/src/concepts/Theme__.ts +21 -18
  618. package/src/concepts/Transactional__.ts +31 -24
  619. package/src/concepts/TriggerEvent__.ts +29 -28
  620. package/src/concepts/TriggerLauncher__.ts +82 -32
  621. package/src/concepts/TypeAnnotation__.ts +98 -92
  622. package/src/concepts/TypeParam__.ts +28 -21
  623. package/src/concepts/UnaryExpression__.ts +45 -26
  624. package/src/concepts/Unparsed__.ts +25 -20
  625. package/src/concepts/UseComponent__.ts +22 -22
  626. package/src/concepts/ValidationRule__.ts +555 -539
  627. package/src/concepts/Variable__.ts +67 -43
  628. package/src/concepts/ViewBlock__.ts +25 -26
  629. package/src/concepts/ViewComponent__.ts +91 -87
  630. package/src/concepts/ViewElement__.ts +2437 -2696
  631. package/src/concepts/View__.ts +407 -345
  632. package/src/concepts/WhileStatement__.ts +59 -36
  633. package/src/concepts/index__.ts +1 -0
  634. package/src/concepts/types__.ts +124 -124
  635. package/src/decorators/index.ts +7 -11
  636. package/src/generator/genBundleFiles.ts +4 -14
  637. package/src/generator/genReleaseBody.ts +182 -198
  638. package/src/index.ts +1 -0
  639. package/src/natural/RequirementAnalyzer.ts +208 -0
  640. package/src/natural/RequirementExecutor.ts +685 -0
  641. package/src/natural/componentData.ts +81 -0
  642. package/src/natural/genNaturalTS.ts +90 -0
  643. package/src/natural/index.ts +4 -0
  644. package/src/natural/knowledgeMap.ts +39 -0
  645. package/src/natural/naslStdlibMap.ts +24 -0
  646. package/src/natural/transformTSCode.ts +834 -0
  647. package/src/sentry/index.ts +2 -2
  648. package/src/server/createUiTs.ts +1 -30
  649. package/src/server/extendBaseNode.ts +18 -18
  650. package/src/server/formatTsUtils.ts +11 -0
  651. package/src/server/getConnector.ts +27 -63
  652. package/src/server/getMemberIdentifier.ts +3 -2
  653. package/src/server/index.ts +1 -4
  654. package/src/server/naslServer.ts +212 -302
  655. package/src/server/translator.ts +3 -1
  656. package/src/service/creator/add.configs.js +1 -26
  657. package/src/service/creator/errHandles.js +4 -5
  658. package/src/service/creator/index.js +0 -12
  659. package/src/service/storage/init.ts +17 -0
  660. package/src/service/storage/jsoner.ts +1 -1
  661. package/src/templator/genCurdEditMultipleKeyBlock.ts +3 -3
  662. package/src/templator/genCurdMultipleKeyBlock.ts +3 -3
  663. package/src/templator/genTableBlock.ts +1 -1
  664. package/src/test/examples/app1.json +1406 -0
  665. package/src/test/fixtures/env.ts +19 -0
  666. package/src/test/integration/connect-create-file.ts +14 -0
  667. package/src/test/integration/connect-file.ts +24 -0
  668. package/src/test/integration/node-nasl-server.ts +14 -0
  669. package/src/test/units/baseTypes/Assignment.spec.ts +20 -0
  670. package/src/test/units/baseTypes/CallLogic.spec.ts +22 -0
  671. package/src/test/units/baseTypes/StringLiteral.spec.ts +60 -0
  672. package/src/test/units/baseTypes/new.spec.ts +13 -0
  673. package/src/test/units/common/Vertex.spec.ts +23 -0
  674. package/src/test/units/data/Entity.spec.ts +10 -0
  675. package/src/test/units/login.spec.ts +10 -0
  676. package/src/test/units/page/Block.spec.ts +15 -0
  677. package/src/test/units/page/Element.spec.ts +45 -0
  678. package/src/test/units/page/example.dashboard.html +46 -0
  679. package/src/test/units/page/example.view1.html +63 -0
  680. package/src/test/units/temp/temp.spec.ts +66 -0
  681. package/src/translator/index.ts +137 -3
  682. package/src/translator/lsp.ts +50 -0
  683. package/src/translator/tsp.ts +14 -0
  684. package/src/utils/index.ts +0 -2
  685. package/src/utils/logger.ts +0 -13
  686. package/src/utils/time-slicing.ts +1 -1
  687. package/test/concepts/call-interface/toEmbeddedTS.spec.ts +6 -6
  688. package/test/concepts/call-interface/toJS.spec.ts +6 -6
  689. package/test/concepts/call-logic/__snapshots__/toEmbeddedTS.spec.ts.snap +0 -45
  690. package/test/concepts/call-logic/__snapshots__/toJS.spec.ts.snap +0 -102
  691. package/test/concepts/call-logic/toEmbeddedTS.spec.ts +6 -6
  692. package/test/concepts/call-logic/toJS.spec.ts +6 -6
  693. package/test/concepts/match/toEmbeddedTS.spec.ts +6 -6
  694. package/test/concepts/match/toJS.spec.ts +6 -6
  695. package/test/concepts/utils.ts +43 -46
  696. package/test/concepts/validation-rule/toEmbeddedTS.spec.ts +6 -6
  697. package/test/concepts/validation-rule/toJS.spec.ts +6 -6
  698. package/test/concepts/validation-rule/validation-rule.spec.ts +8 -8
  699. package/test/concepts/view-element/__snapshots__/toEmbeddedTS.spec.ts.snap +0 -592
  700. package/test/concepts/view-element/__snapshots__/toVue.spec.ts.snap +0 -308
  701. package/test/concepts/view-element/fixtures/default-not-found.json +313 -313
  702. package/test/concepts/view-element/toEmbeddedTS.spec.ts +6 -6
  703. package/test/concepts/view-element/toVue.spec.ts +6 -6
  704. package/ts-worker/package-lock.json +101 -6663
  705. package/ts-worker/webpack.config.js +1 -1
  706. package/out/translator/constant.d.ts +0 -6
  707. package/out/translator/constant.js +0 -10
  708. package/out/translator/constant.js.map +0 -1
  709. package/out/translator/types.d.ts +0 -32
  710. package/out/translator/types.js.map +0 -1
  711. package/out/translator/utils.d.ts +0 -17
  712. package/out/translator/utils.js +0 -102
  713. package/out/translator/utils.js.map +0 -1
  714. package/out/utils/cookie.d.ts +0 -9
  715. package/out/utils/cookie.js +0 -62
  716. package/out/utils/cookie.js.map +0 -1
  717. package/out/utils/types.d.ts +0 -1
  718. package/out/utils/types.js +0 -3
  719. package/out/utils/types.js.map +0 -1
  720. package/out/utils/window.d.ts +0 -7
  721. package/out/utils/window.js +0 -14
  722. package/out/utils/window.js.map +0 -1
  723. package/src/translator/constant.ts +0 -7
  724. package/src/translator/types.ts +0 -40
  725. package/src/translator/utils.ts +0 -104
  726. package/src/utils/cookie.ts +0 -60
  727. package/src/utils/types.ts +0 -1
  728. package/src/utils/window.ts +0 -9
  729. package/test/concepts/boolean-literal/__snapshots__/toEmbeddedTS.spec.ts.snap +0 -11
  730. package/test/concepts/boolean-literal/__snapshots__/toJS.spec.ts.snap +0 -11
  731. package/test/concepts/boolean-literal/__snapshots__/toVue.spec.ts.snap +0 -11
  732. package/test/concepts/boolean-literal/constant.ts +0 -5
  733. package/test/concepts/boolean-literal/fixtures/false.json +0 -4
  734. package/test/concepts/boolean-literal/fixtures/true.json +0 -4
  735. package/test/concepts/boolean-literal/toEmbeddedTS.spec.ts +0 -14
  736. package/test/concepts/boolean-literal/toJS.spec.ts +0 -14
  737. package/test/concepts/boolean-literal/toVue.spec.ts +0 -14
  738. package/test/concepts/call-logic/__snapshots__/getQuickInfoOffset.spec.ts.snap +0 -106
  739. package/test/concepts/call-logic/fixtures/nested-call-logic.json +0 -860
  740. package/test/concepts/call-logic/getQuickInfoOffset.spec.ts +0 -23
  741. package/test/concepts/identifier/__snapshots__/toEmbeddedTS.spec.ts.snap +0 -16
  742. package/test/concepts/identifier/__snapshots__/toJS.spec.ts.snap +0 -16
  743. package/test/concepts/identifier/__snapshots__/toVue.spec.ts.snap +0 -16
  744. package/test/concepts/identifier/constant.ts +0 -5
  745. package/test/concepts/identifier/fixtures/data-source.json +0 -5
  746. package/test/concepts/identifier/fixtures/no-namespace.json +0 -4
  747. package/test/concepts/identifier/fixtures/view-variable.json +0 -201
  748. package/test/concepts/identifier/toEmbeddedTS.spec.ts +0 -14
  749. package/test/concepts/identifier/toJS.spec.ts +0 -14
  750. package/test/concepts/identifier/toVue.spec.ts +0 -14
  751. package/test/concepts/member-expression/__snapshots__/toEmbeddedTS.spec.ts.snap +0 -21
  752. package/test/concepts/member-expression/__snapshots__/toJS.spec.ts.snap +0 -21
  753. package/test/concepts/member-expression/__snapshots__/toVue.spec.ts.snap +0 -21
  754. package/test/concepts/member-expression/constant.ts +0 -5
  755. package/test/concepts/member-expression/fixtures/app.enums.UserStatusEnum.json +0 -13
  756. package/test/concepts/member-expression/fixtures/elements.table-view.data.json +0 -13
  757. package/test/concepts/member-expression/fixtures/entry.created-by.json +0 -18
  758. package/test/concepts/member-expression/fixtures/nasl.auth.userInfo.json +0 -19
  759. package/test/concepts/member-expression/toEmbeddedTS.spec.ts +0 -14
  760. package/test/concepts/member-expression/toJS.spec.ts +0 -14
  761. package/test/concepts/member-expression/toVue.spec.ts +0 -14
  762. package/test/concepts/null-literal/__snapshots__/toEmbeddedTS.spec.ts.snap +0 -6
  763. package/test/concepts/null-literal/__snapshots__/toJS.spec.ts.snap +0 -6
  764. package/test/concepts/null-literal/__snapshots__/toVue.spec.ts.snap +0 -6
  765. package/test/concepts/null-literal/constant.ts +0 -5
  766. package/test/concepts/null-literal/fixtures/null.json +0 -3
  767. package/test/concepts/null-literal/toEmbeddedTS.spec.ts +0 -14
  768. package/test/concepts/null-literal/toJS.spec.ts +0 -14
  769. package/test/concepts/null-literal/toVue.spec.ts +0 -14
  770. package/test/concepts/numeric-literal/__snapshots__/toEmbeddedTS.spec.ts.snap +0 -6
  771. package/test/concepts/numeric-literal/__snapshots__/toJS.spec.ts.snap +0 -6
  772. package/test/concepts/numeric-literal/__snapshots__/toVue.spec.ts.snap +0 -6
  773. package/test/concepts/numeric-literal/constant.ts +0 -5
  774. package/test/concepts/numeric-literal/fixtures/number.json +0 -10
  775. package/test/concepts/numeric-literal/toEmbeddedTS.spec.ts +0 -14
  776. package/test/concepts/numeric-literal/toJS.spec.ts +0 -14
  777. package/test/concepts/numeric-literal/toVue.spec.ts +0 -14
  778. package/test/concepts/string-literal/__snapshots__/toEmbeddedTS.spec.ts.snap +0 -16
  779. package/test/concepts/string-literal/__snapshots__/toJS.spec.ts.snap +0 -16
  780. package/test/concepts/string-literal/__snapshots__/toVue.spec.ts.snap +0 -16
  781. package/test/concepts/string-literal/constant.ts +0 -5
  782. package/test/concepts/string-literal/fixtures/escape.json +0 -4
  783. package/test/concepts/string-literal/fixtures/space.json +0 -4
  784. package/test/concepts/string-literal/fixtures/string.json +0 -4
  785. package/test/concepts/string-literal/toEmbeddedTS.spec.ts +0 -14
  786. package/test/concepts/string-literal/toJS.spec.ts +0 -14
  787. package/test/concepts/string-literal/toVue.spec.ts +0 -14
  788. package/test/concepts/view-element/fixtures/default-login.json +0 -333
  789. package/test/concepts/view-element/fixtures/with-role-auth.json +0 -148
  790. package/test/concepts/view-element/fixtures/with-table.json +0 -3473
@@ -84,43 +84,33 @@ exports.GENERIC_DESC = {
84
84
  * @returns
85
85
  */
86
86
  function isUnion(typeAnnotation) {
87
- return (typeAnnotation &&
88
- typeAnnotation.typeKind === 'union' &&
89
- typeAnnotation.typeNamespace === 'nasl.core' &&
90
- typeAnnotation.typeName === 'Union');
87
+ return typeAnnotation && typeAnnotation.typeKind === 'union' && typeAnnotation.typeNamespace === 'nasl.core' && typeAnnotation.typeName === 'Union';
91
88
  }
92
89
  exports.isUnion = isUnion;
93
90
  const decorators_1 = require("../decorators");
94
91
  const BaseNode_1 = __importDefault(require("../common/BaseNode"));
92
+ const classMap_1 = __importDefault(require("../common/classMap"));
95
93
  const StructureProperty__1 = __importDefault(require("./StructureProperty__"));
96
94
  /**
97
95
  * 类型标注
98
96
  */
99
- let TypeAnnotation = TypeAnnotation_1 =
100
- // @ts-ignore
101
- class TypeAnnotation extends BaseNode_1.default {
102
- /** 类名 */
103
- static ConceptName = 'TypeAnnotation';
97
+ let TypeAnnotation = TypeAnnotation_1 = class TypeAnnotation extends BaseNode_1.default {
104
98
  /**
105
99
  * 产品概念
106
100
  */
107
- // @ts-ignore
108
- concept;
101
+ concept = 'TypeAnnotation';
109
102
  /**
110
103
  * 类型种类
111
104
  */
112
- // @ts-ignore
113
- typeKind;
105
+ typeKind = undefined;
114
106
  /**
115
107
  * 类型命名空间
116
108
  */
117
- // @ts-ignore
118
- typeNamespace;
109
+ typeNamespace = undefined;
119
110
  /**
120
111
  * 类型名称
121
112
  */
122
- // @ts-ignore
123
- typeName;
113
+ typeName = undefined;
124
114
  /**
125
115
  * 类型参数
126
116
  */
@@ -132,8 +122,7 @@ class TypeAnnotation extends BaseNode_1.default {
132
122
  /**
133
123
  * 是否是推断出来的
134
124
  */
135
- // @ts-ignore
136
- inferred;
125
+ inferred = undefined;
137
126
  /**
138
127
  * 匿名数据结构属性
139
128
  */
@@ -141,8 +130,7 @@ class TypeAnnotation extends BaseNode_1.default {
141
130
  /**
142
131
  * 规则对象
143
132
  */
144
- // @ts-ignore
145
- ruleMap;
133
+ ruleMap = undefined;
146
134
  /**
147
135
  * @param source 需要合并的部分参数
148
136
  */
@@ -151,6 +139,9 @@ class TypeAnnotation extends BaseNode_1.default {
151
139
  super(source);
152
140
  super.subConstructor(source);
153
141
  }
142
+ getClassName() {
143
+ return 'TypeAnnotation';
144
+ }
154
145
  static from(source, parentNode, parentKey) {
155
146
  return super.from(source, parentNode, parentKey);
156
147
  }
@@ -300,11 +291,11 @@ class TypeAnnotation extends BaseNode_1.default {
300
291
  return node;
301
292
  }
302
293
  removeTypeAnnotationInTypeArguments(options) {
303
- let typeAnnotation = options;
294
+ const typeAnnotation = options;
304
295
  return typeAnnotation.delete();
305
296
  }
306
297
  removeTypeAnnotationInReturnType(options) {
307
- let typeAnnotation = options;
298
+ const typeAnnotation = options;
308
299
  return typeAnnotation.delete();
309
300
  }
310
301
  __removeTypeAnnotation(typeAnnotation) {
@@ -331,7 +322,7 @@ class TypeAnnotation extends BaseNode_1.default {
331
322
  return params;
332
323
  }
333
324
  removeStructureProperty(options) {
334
- let structureProperty = options;
325
+ const structureProperty = options;
335
326
  return structureProperty.delete();
336
327
  }
337
328
  __removeStructureProperty(structureProperty) {
@@ -388,9 +379,7 @@ class TypeAnnotation extends BaseNode_1.default {
388
379
  return `${this.typeNamespace}.${this.typeName}<${(this.typeArguments || []).map((arg) => arg.typeKey)}>`;
389
380
  }
390
381
  else if (this.typeKind === 'anonymousStructure') {
391
- return `{ ${this.properties
392
- .map(({ name, typeAnnotation }) => `${name}: ${typeAnnotation ? typeAnnotation.typeKey : '未知'}`)
393
- .join(', ')} }`;
382
+ return `{ ${this.properties.map(({ name, typeAnnotation }) => `${name}: ${typeAnnotation ? typeAnnotation.typeKey : '未知'}`).join(', ')} }`;
394
383
  }
395
384
  else if (this.typeKind === 'union') {
396
385
  return `${this.typeArguments.map((arg) => arg.typeKey).join(' | ')}`;
@@ -462,16 +451,12 @@ class TypeAnnotation extends BaseNode_1.default {
462
451
  }
463
452
  else if (this.typeKind === 'generic') {
464
453
  if (this.typeArguments && this.typeArguments.length)
465
- return `${this.typeName}<${(this.typeArguments || [])
466
- .map((arg) => arg.headTitle || arg.name || 'T')
467
- .join(', ')}>`;
454
+ return `${this.typeName}<${(this.typeArguments || []).map((arg) => arg.headTitle || arg.name || 'T').join(', ')}>`;
468
455
  else
469
456
  return this.typeName;
470
457
  }
471
458
  else if (this.typeKind === 'anonymousStructure') {
472
- return `{ ${this.properties
473
- ?.map(({ name, typeAnnotation }) => `${name}: ${typeAnnotation.headTitle}`)
474
- .join(', ')} }`;
459
+ return `{ ${this.properties?.map(({ name, typeAnnotation }) => `${name}: ${typeAnnotation.headTitle}`).join(', ')} }`;
475
460
  }
476
461
  else if (this.typeKind === 'union') {
477
462
  return `${this.typeArguments.map((arg) => arg.typeTitle || arg.name).join(' 或 ')}`;
@@ -497,9 +482,7 @@ class TypeAnnotation extends BaseNode_1.default {
497
482
  return `${this.typeName}<${!this.typeArguments.length ? 'T' : this.typeArguments.map((arg) => arg.typeTitle || arg.name || 'T').join(', ')}>`;
498
483
  }
499
484
  else if (this.typeKind === 'anonymousStructure') {
500
- return `{ ${this.properties
501
- ?.map(({ name, typeAnnotation }) => `${name}: ${typeAnnotation ? typeAnnotation.typeTitle : '未知'}`)
502
- .join(', ')} }`;
485
+ return `{ ${this.properties?.map(({ name, typeAnnotation }) => `${name}: ${typeAnnotation ? typeAnnotation.typeTitle : '未知'}`).join(', ')} }`;
503
486
  }
504
487
  else if (this.typeKind === 'union') {
505
488
  return `${this.typeArguments.map((arg) => arg.typeTitle || arg.name).join(' 或 ')}`;
@@ -522,9 +505,7 @@ class TypeAnnotation extends BaseNode_1.default {
522
505
  return this.typeName;
523
506
  }
524
507
  else if (this.typeKind === 'generic') {
525
- return `${this.typeName}<${!this.typeArguments.length
526
- ? 'T'
527
- : this.typeArguments.map((arg) => arg.typeInlineTitle || arg.name || 'T').join(', ')}>`;
508
+ return `${this.typeName}<${!this.typeArguments.length ? 'T' : this.typeArguments.map((arg) => arg.typeInlineTitle || arg.name || 'T').join(', ')}>`;
528
509
  }
529
510
  else if (this.typeKind === 'anonymousStructure') {
530
511
  return `{ ${this.properties
@@ -676,7 +657,7 @@ class TypeAnnotation extends BaseNode_1.default {
676
657
  toJS(state) {
677
658
  return JSON.stringify(this);
678
659
  }
679
- toEmbeddedTS(state) {
660
+ toEmbeddedTS(state = (0, translator_1.createCompilerState)()) {
680
661
  if (this.typeKind === 'primitive' || this.typeKind === 'reference') {
681
662
  if (this.typeKind === 'reference' && this.typeNamespace && this.typeNamespace.endsWith('enums')) {
682
663
  return `${this.tsCalleeNamespace}.${this.typeName}`;
@@ -727,14 +708,55 @@ class TypeAnnotation extends BaseNode_1.default {
727
708
  }
728
709
  }
729
710
  }
711
+ toNaturalTS(state = (0, translator_1.createCompilerState)()) {
712
+ if (this.typeKind === 'primitive' || this.typeKind === 'reference') {
713
+ if (this.typeKind === 'reference' && this.typeNamespace && this.typeNamespace.endsWith('enums')) {
714
+ return this.tsCalleeNamespace.startsWith('nasl.ui') ? `${this.tsCalleeNamespace}.${this.typeName}` : `${this.typeName}`;
715
+ }
716
+ return this.tsCalleeNamespace.startsWith('nasl.ui') ? `${this.tsCalleeNamespace}.${this.typeName}` : `${this.typeName}`;
717
+ }
718
+ if (this.typeKind === 'generic') {
719
+ let code = `${this.typeName}<`;
720
+ (this.typeArguments || []).forEach((arg, index) => {
721
+ code += arg.toNaturalTS((0, translator_1.shiftState)(state, code, { inline: true }));
722
+ if (index !== this.typeArguments.length - 1)
723
+ code += ', ';
724
+ });
725
+ code += '>';
726
+ return code;
727
+ }
728
+ if (this.typeKind === 'union') {
729
+ let code = '';
730
+ (this.typeArguments || []).forEach((arg, index) => {
731
+ code += arg.toNaturalTS((0, translator_1.shiftState)(state, code, { inline: true }));
732
+ if (index !== this.typeArguments.length - 1)
733
+ code += ' | ';
734
+ });
735
+ return code;
736
+ }
737
+ if (this.typeKind === 'anonymousStructure') {
738
+ let code = `{ `;
739
+ (this.properties || []).forEach((property, i) => {
740
+ code += `${property.name}: `;
741
+ code += `${property.typeAnnotation.toNaturalTS((0, translator_1.shiftState)(state, code, { inline: true, tabSize: state.tabSize + 1 }))}`;
742
+ code += i < this.properties?.length - 1 ? ', ' : ' }';
743
+ });
744
+ return code;
745
+ }
746
+ if (this.tsCalleeNamespace && this.typeName) {
747
+ return `${this.typeName}`;
748
+ }
749
+ if (this.typeName) {
750
+ return this.typeName;
751
+ }
752
+ return '__IDENTIFIER__';
753
+ }
730
754
  /**
731
755
  * 用于标准化数据结构,便于计算 anonymousStructure 的 __name
732
756
  */
733
757
  get anonymousStructureTypeDesc() {
734
758
  if (this.typeKind === 'generic') {
735
- return `${this.typeName}<${this.typeArguments
736
- .map((arg) => arg.anonymousStructureTypeDesc || arg.name || 'T')
737
- .join(', ')}>`;
759
+ return `${this.typeName}<${this.typeArguments.map((arg) => arg.anonymousStructureTypeDesc || arg.name || 'T').join(', ')}>`;
738
760
  }
739
761
  else if (this.typeKind === 'anonymousStructure') {
740
762
  return `{ ${[...this.properties]
@@ -837,8 +859,7 @@ class TypeAnnotation extends BaseNode_1.default {
837
859
  // 是否是复合类型 List|Map|entities|structures
838
860
  isComplexType() {
839
861
  const namespaceType = this.typeNamespace?.split('.').pop();
840
- return (['Map', 'List'].includes(this.typeName) ||
841
- (this.typeKind === 'reference' && ['entities', 'structures'].includes(namespaceType)));
862
+ return ['Map', 'List'].includes(this.typeName) || (this.typeKind === 'reference' && ['entities', 'structures'].includes(namespaceType));
842
863
  }
843
864
  /* 类型签名 */
844
865
  get sign() {
@@ -871,12 +892,9 @@ class TypeAnnotation extends BaseNode_1.default {
871
892
  }
872
893
  return JSON.stringify(typeAnnotation1) === JSON.stringify(typeAnnotation2);
873
894
  }
874
- // 是否是系统类型
875
- isSystemType() {
876
- return ['nasl.ui', 'nasl.auth', 'nasl.http', 'nasl.process'].includes(this.typeNamespace);
877
- }
878
895
  // 是否包含系统类型
879
- hasSystemType(app) {
896
+ hasSystemType() {
897
+ const disableTypeNamespaces = ['nasl.ui', 'nasl.auth', 'nasl.http', 'nasl.process'];
880
898
  const traverseChild = (item, cb) => {
881
899
  const res = cb(item);
882
900
  if (res === false)
@@ -885,7 +903,7 @@ class TypeAnnotation extends BaseNode_1.default {
885
903
  if (item.typeKind === 'anonymousStructure') {
886
904
  return item.properties.some((prop) => traverseChild(prop.typeAnnotation, cb));
887
905
  }
888
- if (item.typeArguments && ['generic', 'union'].includes(item.typeKind)) {
906
+ else if (item.typeArguments && ['generic', 'union'].includes(item.typeKind)) {
889
907
  return item.typeArguments.some((arg) => traverseChild(arg, cb));
890
908
  }
891
909
  }
@@ -893,14 +911,14 @@ class TypeAnnotation extends BaseNode_1.default {
893
911
  let result = false;
894
912
  traverseChild(this, (node) => {
895
913
  if (node.typeNamespace?.endsWith('.structures')) {
896
- const structure = app.findNodeByCompleteName(`${node.typeNamespace}.${node.typeName}`);
897
- const res = !structure?.properties.some((prop) => prop.typeAnnotation.hasSystemType(app));
914
+ const structure = this.rootNode.findNodeByCompleteName(node.typeNamespace + '.' + node.typeName);
915
+ const res = !structure.properties.some((prop) => prop.typeAnnotation.hasSystemType());
898
916
  if (res === false) {
899
917
  result = true;
900
918
  }
901
919
  return res;
902
920
  }
903
- if (node.isSystemType()) {
921
+ else if (disableTypeNamespaces.includes(node.typeNamespace)) {
904
922
  result = true;
905
923
  return false;
906
924
  }
@@ -908,6 +926,9 @@ class TypeAnnotation extends BaseNode_1.default {
908
926
  return result;
909
927
  }
910
928
  };
929
+ __decorate([
930
+ (0, decorators_1.property)()
931
+ ], TypeAnnotation.prototype, "concept", void 0);
911
932
  __decorate([
912
933
  (0, decorators_1.property)()
913
934
  ], TypeAnnotation.prototype, "typeKind", void 0);
@@ -935,12 +956,14 @@ __decorate([
935
956
  __decorate([
936
957
  (0, translator_1.withSourceMap)()
937
958
  ], TypeAnnotation.prototype, "toEmbeddedTS", null);
959
+ __decorate([
960
+ (0, translator_1.withSourceMap)()
961
+ ], TypeAnnotation.prototype, "toNaturalTS", null);
938
962
  TypeAnnotation = TypeAnnotation_1 = __decorate([
939
- decorators_1.className,
940
963
  (0, decorators_1.concept)('类型标注')
941
- // @ts-ignore
942
964
  ], TypeAnnotation);
943
965
  exports.TypeAnnotation = TypeAnnotation;
966
+ classMap_1.default.TypeAnnotation = TypeAnnotation;
944
967
  exports.default = TypeAnnotation;
945
968
  //================================================================================
946
969
  // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
@@ -1 +1 @@
1
- {"version":3,"file":"TypeAnnotation__.js","sourceRoot":"","sources":["../../src/concepts/TypeAnnotation__.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TypeAnnotation__.js","sourceRoot":"","sources":["../../src/concepts/TypeAnnotation__.ts"],"names":[],"mappings":"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"}
@@ -4,12 +4,10 @@ import BaseNode from '../common/BaseNode';
4
4
  * 类型参数
5
5
  */
6
6
  export declare class TypeParam extends BaseNode {
7
- /** 类名 */
8
- static readonly ConceptName = "TypeParam";
9
7
  /**
10
8
  * 产品概念
11
9
  */
12
- readonly concept: 'TypeParam';
10
+ concept: 'TypeParam';
13
11
  /**
14
12
  * 类型名称
15
13
  */
@@ -18,8 +16,10 @@ export declare class TypeParam extends BaseNode {
18
16
  * @param source 需要合并的部分参数
19
17
  */
20
18
  constructor(source?: Partial<TypeParam>);
19
+ getClassName(): string;
21
20
  static from(source: any, parentNode?: any, parentKey?: string): TypeParam;
22
21
  useComponent: any;
23
22
  toEmbeddedTS(state?: TranslatorState, prefix?: string): string;
23
+ toNaturalTS(state?: TranslatorState, prefix?: string): string;
24
24
  }
25
25
  export default TypeParam;
@@ -14,60 +14,67 @@ exports.TypeParam = void 0;
14
14
  const translator_1 = require("../translator");
15
15
  const decorators_1 = require("../decorators");
16
16
  const BaseNode_1 = __importDefault(require("../common/BaseNode"));
17
+ const classMap_1 = __importDefault(require("../common/classMap"));
17
18
  /**
18
19
  * 类型参数
19
20
  */
20
- let TypeParam = TypeParam_1 =
21
- // @ts-ignore
22
- class TypeParam extends BaseNode_1.default {
23
- /** 类名 */
24
- static ConceptName = 'TypeParam';
21
+ let TypeParam = TypeParam_1 = class TypeParam extends BaseNode_1.default {
25
22
  /**
26
23
  * 产品概念
27
24
  */
28
- // @ts-ignore
29
- concept;
25
+ concept = 'TypeParam';
30
26
  /**
31
27
  * 类型名称
32
28
  */
33
- // @ts-ignore
34
- name;
29
+ name = undefined;
35
30
  /**
36
31
  * @param source 需要合并的部分参数
37
32
  */
38
33
  constructor(source) {
39
- source = Object.assign({}, TypeParam_1.getDefaultOptions(), source);
34
+ // @ts-ignore
35
+ source = { ...TypeParam_1.getDefaultOptions(), ...source };
40
36
  super(source);
41
37
  super.subConstructor(source);
42
38
  }
39
+ getClassName() {
40
+ return 'TypeParam';
41
+ }
43
42
  static from(source, parentNode, parentKey) {
44
43
  return super.from(source, parentNode, parentKey);
45
44
  }
46
- //================================================================================
45
+ //= ===============================================================================
47
46
  // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
48
47
  // 自动生成的代码已结束。下面可以手动编写。
49
- //================================================================================
48
+ //= ===============================================================================
50
49
  // 使用什么组件
51
50
  useComponent = undefined;
52
51
  toEmbeddedTS(state, prefix) {
53
52
  return this.name;
54
53
  }
54
+ toNaturalTS(state = (0, translator_1.createCompilerState)(), prefix) {
55
+ return this.name;
56
+ }
55
57
  };
58
+ __decorate([
59
+ (0, decorators_1.property)()
60
+ ], TypeParam.prototype, "concept", void 0);
56
61
  __decorate([
57
62
  (0, decorators_1.property)()
58
63
  ], TypeParam.prototype, "name", void 0);
59
64
  __decorate([
60
65
  (0, translator_1.withSourceMap)()
61
66
  ], TypeParam.prototype, "toEmbeddedTS", null);
67
+ __decorate([
68
+ (0, translator_1.withSourceMap)()
69
+ ], TypeParam.prototype, "toNaturalTS", null);
62
70
  TypeParam = TypeParam_1 = __decorate([
63
- decorators_1.className,
64
71
  (0, decorators_1.concept)('类型参数')
65
- // @ts-ignore
66
72
  ], TypeParam);
67
73
  exports.TypeParam = TypeParam;
74
+ classMap_1.default.TypeParam = TypeParam;
68
75
  exports.default = TypeParam;
69
- //================================================================================
76
+ //= ===============================================================================
70
77
  // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
71
78
  // 自动生成的代码已结束。下面可以手动编写。
72
- //================================================================================
79
+ //= ===============================================================================
73
80
  //# sourceMappingURL=TypeParam__.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TypeParam__.js","sourceRoot":"","sources":["../../src/concepts/TypeParam__.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,8CAA+D;AAO/D,8CAA6E;AAI7E,kEAA0C;AAE1C;;GAEG;AAIH,IAAa,SAAS;AADtB,aAAa;AACb,MAAa,SAAU,SAAQ,kBAAQ;IACrC,SAAS;IACT,MAAM,CAAU,WAAW,GAAG,WAAW,CAAC;IAE1C;;OAEG;IACH,aAAa;IACJ,OAAO,CAAe;IAE/B;;OAEG;IAGH,AADA,aAAa;IACb,IAAI,CAAU;IAEd;;OAEG;IACH,YAAY,MAA2B;QACrC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,WAAS,CAAC,iBAAiB,EAAE,EAAE,MAAM,CAAC,CAAC;QAClE,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,MAAW,EAAE,UAAgB,EAAE,SAAkB;QAC3D,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,CAAc,CAAC;IAChE,CAAC;IAED,kFAAkF;IAClF,gEAAgE;IAChE,uBAAuB;IACvB,kFAAkF;IAElF,SAAS;IACT,YAAY,GAAQ,SAAS,CAAC;IAG9B,YAAY,CAAC,KAAuB,EAAE,MAAe;QACnD,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;CAKF,CAAA;AA/BC;IAFC,IAAA,qBAAQ,GAAE;uCAEG;AAwBd;IADC,IAAA,0BAAa,GAAE;6CAGf;AAzCU,SAAS;IAHrB,sBAAS;IACT,IAAA,oBAAO,EAAC,MAAM,CAAC;IAChB,aAAa;GACA,SAAS,CA8CrB;AA9CY,8BAAS;AAgDtB,kBAAe,SAAS,CAAC;AACzB,kFAAkF;AAClF,gEAAgE;AAChE,uBAAuB;AACvB,kFAAkF"}
1
+ {"version":3,"file":"TypeParam__.js","sourceRoot":"","sources":["../../src/concepts/TypeParam__.ts"],"names":[],"mappings":";;;;;;;;;;;;;AACA,8CAAoF;AAOpF,8CAAkE;AAGlE,kEAA0C;AAC1C,kEAA0C;AAE1C;;GAEG;AAEH,IAAa,SAAS,iBAAtB,MAAa,SAAU,SAAQ,kBAAQ;IACrC;;OAEG;IAEH,OAAO,GAAgB,WAAW,CAAC;IAEnC;;OAEG;IAEH,IAAI,GAAW,SAAS,CAAC;IAEzB;;OAEG;IACH,YAAY,MAA2B;QACrC,aAAa;QACb,MAAM,GAAG,EAAE,GAAG,WAAS,CAAC,iBAAiB,EAAE,EAAE,GAAG,MAAM,EAAE,CAAC;QACzD,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;IAED,YAAY;QACV,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,MAAW,EAAE,UAAgB,EAAE,SAAkB;QAC3D,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,CAAc,CAAC;IAChE,CAAC;IAED,mFAAmF;IACnF,gEAAgE;IAChE,uBAAuB;IACvB,mFAAmF;IAEnF,SAAS;IACT,YAAY,GAAQ,SAAS,CAAC;IAG9B,YAAY,CAAC,KAAuB,EAAE,MAAe;QACnD,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAGD,WAAW,CAAC,KAAK,GAAG,IAAA,gCAAmB,GAAE,EAAE,MAAe;QACxD,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;CAMF,CAAA;AAhDC;IADC,IAAA,qBAAQ,GAAE;0CACwB;AAMnC;IADC,IAAA,qBAAQ,GAAE;uCACc;AA6BzB;IADC,IAAA,0BAAa,GAAE;6CAGf;AAGD;IADC,IAAA,0BAAa,GAAE;4CAGf;AA/CU,SAAS;IADrB,IAAA,oBAAO,EAAC,MAAM,CAAC;GACH,SAAS,CAqDrB;AArDY,8BAAS;AAuDtB,kBAAQ,CAAC,SAAS,GAAG,SAAS,CAAC;AAC/B,kBAAe,SAAS,CAAC;AACzB,mFAAmF;AACnF,gEAAgE;AAChE,uBAAuB;AACvB,mFAAmF"}
@@ -6,12 +6,10 @@ import LogicItem from './LogicItem__';
6
6
  * 一元表达式
7
7
  */
8
8
  export declare class UnaryExpression extends LogicItem {
9
- /** 类名 */
10
- static readonly ConceptName = "UnaryExpression";
11
9
  /**
12
10
  * 产品概念
13
11
  */
14
- readonly concept: 'UnaryExpression';
12
+ concept: 'UnaryExpression';
15
13
  /**
16
14
  * 参数
17
15
  */
@@ -24,6 +22,7 @@ export declare class UnaryExpression extends LogicItem {
24
22
  * @param source 需要合并的部分参数
25
23
  */
26
24
  constructor(source?: Partial<UnaryExpression>);
25
+ getClassName(): string;
27
26
  static from(source: any, parentNode?: any, parentKey?: string): UnaryExpression;
28
27
  /**
29
28
  * 设置参数
@@ -45,5 +44,6 @@ export declare class UnaryExpression extends LogicItem {
45
44
  toJS(state?: TranslatorState): string;
46
45
  toBrief(): string;
47
46
  toEmbeddedTS(state?: TranslatorState): string;
47
+ toNaturalTS(state?: TranslatorState): string;
48
48
  }
49
49
  export default UnaryExpression;