@lcap/nasl 2.19.0-beta.1 → 2.19.0-beta.2

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 (516) hide show
  1. package/out/automate/engine/index.d.ts +2 -2
  2. package/out/automate/engine/index.js +6 -7
  3. package/out/automate/engine/index.js.map +1 -1
  4. package/out/automate/engine/operators.d.ts +2 -2
  5. package/out/automate/engine/operators.js +14 -5
  6. package/out/automate/engine/operators.js.map +1 -1
  7. package/out/automate/engine/uniqueName.d.ts +2 -2
  8. package/out/automate/engine/uniqueName.js +5 -5
  9. package/out/automate/engine/uniqueName.js.map +1 -1
  10. package/out/automate/engine/utils.js +4 -1
  11. package/out/automate/engine/utils.js.map +1 -1
  12. package/out/automate/template/myProcess.d.ts +1 -1
  13. package/out/automate/template/myProcess.js +9023 -9023
  14. package/out/automate/template/myProcess.js.map +1 -1
  15. package/out/bak/translator.js +16 -24
  16. package/out/bak/translator.js.map +1 -1
  17. package/out/common/BaseNode.d.ts +12 -0
  18. package/out/common/BaseNode.js +88 -14
  19. package/out/common/BaseNode.js.map +1 -1
  20. package/out/common/EventEmitter.d.ts +1 -0
  21. package/out/common/EventEmitter.js +3 -0
  22. package/out/common/EventEmitter.js.map +1 -1
  23. package/out/common/Messager.js +1 -0
  24. package/out/common/Messager.js.map +1 -1
  25. package/out/concepts/Abort__.d.ts +25 -0
  26. package/out/concepts/Abort__.js +80 -0
  27. package/out/concepts/Abort__.js.map +1 -0
  28. package/out/concepts/Anchor__.d.ts +1 -0
  29. package/out/concepts/Anchor__.js +3 -0
  30. package/out/concepts/Anchor__.js.map +1 -1
  31. package/out/concepts/AnonymousFunction__.d.ts +1 -0
  32. package/out/concepts/AnonymousFunction__.js +3 -0
  33. package/out/concepts/AnonymousFunction__.js.map +1 -1
  34. package/out/concepts/App__.d.ts +99 -256
  35. package/out/concepts/App__.js +232 -405
  36. package/out/concepts/App__.js.map +1 -1
  37. package/out/concepts/Argument__.d.ts +1 -0
  38. package/out/concepts/Argument__.js +3 -0
  39. package/out/concepts/Argument__.js.map +1 -1
  40. package/out/concepts/Assignee__.d.ts +1 -0
  41. package/out/concepts/Assignee__.js +3 -0
  42. package/out/concepts/Assignee__.js.map +1 -1
  43. package/out/concepts/AssignmentLine__.d.ts +1 -0
  44. package/out/concepts/AssignmentLine__.js +3 -0
  45. package/out/concepts/AssignmentLine__.js.map +1 -1
  46. package/out/concepts/Assignment__.d.ts +1 -0
  47. package/out/concepts/Assignment__.js +3 -0
  48. package/out/concepts/Assignment__.js.map +1 -1
  49. package/out/concepts/Attribute__.d.ts +10 -14
  50. package/out/concepts/Attribute__.js +15 -39
  51. package/out/concepts/Attribute__.js.map +1 -1
  52. package/out/concepts/BatchAssignment__.d.ts +1 -0
  53. package/out/concepts/BatchAssignment__.js +6 -3
  54. package/out/concepts/BatchAssignment__.js.map +1 -1
  55. package/out/concepts/BinaryExpression__.d.ts +1 -0
  56. package/out/concepts/BinaryExpression__.js +3 -0
  57. package/out/concepts/BinaryExpression__.js.map +1 -1
  58. package/out/concepts/BindAttribute__.d.ts +13 -0
  59. package/out/concepts/BindAttribute__.js +296 -38
  60. package/out/concepts/BindAttribute__.js.map +1 -1
  61. package/out/concepts/BindDirective__.d.ts +13 -0
  62. package/out/concepts/BindDirective__.js +223 -15
  63. package/out/concepts/BindDirective__.js.map +1 -1
  64. package/out/concepts/BindEvent__.d.ts +6 -0
  65. package/out/concepts/BindEvent__.js +30 -22
  66. package/out/concepts/BindEvent__.js.map +1 -1
  67. package/out/concepts/BindStyle__.d.ts +13 -0
  68. package/out/concepts/BindStyle__.js +200 -1
  69. package/out/concepts/BindStyle__.js.map +1 -1
  70. package/out/concepts/BooleanLiteral__.d.ts +1 -0
  71. package/out/concepts/BooleanLiteral__.js +3 -0
  72. package/out/concepts/BooleanLiteral__.js.map +1 -1
  73. package/out/concepts/CallFunction__.d.ts +1 -0
  74. package/out/concepts/CallFunction__.js +3 -0
  75. package/out/concepts/CallFunction__.js.map +1 -1
  76. package/out/concepts/CallInterface__.d.ts +2 -0
  77. package/out/concepts/CallInterface__.js +51 -5
  78. package/out/concepts/CallInterface__.js.map +1 -1
  79. package/out/concepts/CallLogic__.d.ts +12 -0
  80. package/out/concepts/CallLogic__.js +141 -131
  81. package/out/concepts/CallLogic__.js.map +1 -1
  82. package/out/concepts/CallQueryComponent__.d.ts +3 -0
  83. package/out/concepts/CallQueryComponent__.js +109 -38
  84. package/out/concepts/CallQueryComponent__.js.map +1 -1
  85. package/out/concepts/Comment__.d.ts +1 -0
  86. package/out/concepts/Comment__.js +3 -0
  87. package/out/concepts/Comment__.js.map +1 -1
  88. package/out/concepts/CompletionProperty__.d.ts +2 -0
  89. package/out/concepts/CompletionProperty__.js +4 -0
  90. package/out/concepts/CompletionProperty__.js.map +1 -1
  91. package/out/concepts/ConfigGroup__.d.ts +2 -0
  92. package/out/concepts/ConfigGroup__.js +16 -0
  93. package/out/concepts/ConfigGroup__.js.map +1 -1
  94. package/out/concepts/ConfigPropertyValue__.d.ts +1 -0
  95. package/out/concepts/ConfigPropertyValue__.js +3 -0
  96. package/out/concepts/ConfigPropertyValue__.js.map +1 -1
  97. package/out/concepts/ConfigProperty__.d.ts +24 -0
  98. package/out/concepts/ConfigProperty__.js +83 -0
  99. package/out/concepts/ConfigProperty__.js.map +1 -1
  100. package/out/concepts/Configuration__.d.ts +2 -0
  101. package/out/concepts/Configuration__.js +16 -0
  102. package/out/concepts/Configuration__.js.map +1 -1
  103. package/out/concepts/Constant__.d.ts +6 -0
  104. package/out/concepts/Constant__.js +9 -0
  105. package/out/concepts/Constant__.js.map +1 -1
  106. package/out/concepts/DataElement__.d.ts +1 -0
  107. package/out/concepts/DataElement__.js +3 -0
  108. package/out/concepts/DataElement__.js.map +1 -1
  109. package/out/concepts/DataSource__.d.ts +3 -0
  110. package/out/concepts/DataSource__.js +20 -5
  111. package/out/concepts/DataSource__.js.map +1 -1
  112. package/out/concepts/DatabaseTypeAnnotation__.d.ts +31 -0
  113. package/out/concepts/DatabaseTypeAnnotation__.js +78 -0
  114. package/out/concepts/DatabaseTypeAnnotation__.js.map +1 -0
  115. package/out/concepts/Destination__.d.ts +3 -0
  116. package/out/concepts/Destination__.js +98 -16
  117. package/out/concepts/Destination__.js.map +1 -1
  118. package/out/concepts/End__.d.ts +1 -0
  119. package/out/concepts/End__.js +4 -1
  120. package/out/concepts/End__.js.map +1 -1
  121. package/out/concepts/EntityIndex__.d.ts +1 -0
  122. package/out/concepts/EntityIndex__.js +3 -0
  123. package/out/concepts/EntityIndex__.js.map +1 -1
  124. package/out/concepts/EntityProperty__.d.ts +34 -5
  125. package/out/concepts/EntityProperty__.js +197 -56
  126. package/out/concepts/EntityProperty__.js.map +1 -1
  127. package/out/concepts/Entity__.d.ts +3 -1
  128. package/out/concepts/Entity__.js +33 -1
  129. package/out/concepts/Entity__.js.map +1 -1
  130. package/out/concepts/EnumItem__.d.ts +6 -5
  131. package/out/concepts/EnumItem__.js +9 -6
  132. package/out/concepts/EnumItem__.js.map +1 -1
  133. package/out/concepts/Enum__.d.ts +21 -19
  134. package/out/concepts/Enum__.js +31 -1
  135. package/out/concepts/Enum__.js.map +1 -1
  136. package/out/concepts/Event__.d.ts +1 -0
  137. package/out/concepts/Event__.js +3 -0
  138. package/out/concepts/Event__.js.map +1 -1
  139. package/out/concepts/ExternalDestination__.d.ts +2 -0
  140. package/out/concepts/ExternalDestination__.js +25 -4
  141. package/out/concepts/ExternalDestination__.js.map +1 -1
  142. package/out/concepts/ForEachStatement__.d.ts +1 -0
  143. package/out/concepts/ForEachStatement__.js +4 -1
  144. package/out/concepts/ForEachStatement__.js.map +1 -1
  145. package/out/concepts/FrontendLibrary__.d.ts +213 -0
  146. package/out/concepts/FrontendLibrary__.js +352 -0
  147. package/out/concepts/FrontendLibrary__.js.map +1 -0
  148. package/out/concepts/Frontend__.d.ts +373 -0
  149. package/out/concepts/Frontend__.js +685 -0
  150. package/out/concepts/Frontend__.js.map +1 -0
  151. package/out/concepts/Function__.d.ts +1 -0
  152. package/out/concepts/Function__.js +3 -0
  153. package/out/concepts/Function__.js.map +1 -1
  154. package/out/concepts/Identifier__.d.ts +1 -0
  155. package/out/concepts/Identifier__.js +26 -5
  156. package/out/concepts/Identifier__.js.map +1 -1
  157. package/out/concepts/IfStatement__.d.ts +1 -0
  158. package/out/concepts/IfStatement__.js +5 -2
  159. package/out/concepts/IfStatement__.js.map +1 -1
  160. package/out/concepts/Integration__.d.ts +53 -0
  161. package/out/concepts/Integration__.js +143 -0
  162. package/out/concepts/Integration__.js.map +1 -0
  163. package/out/concepts/InterfaceParam__.d.ts +1 -3
  164. package/out/concepts/InterfaceParam__.js +3 -56
  165. package/out/concepts/InterfaceParam__.js.map +1 -1
  166. package/out/concepts/Interface__.d.ts +14 -0
  167. package/out/concepts/Interface__.js +87 -0
  168. package/out/concepts/Interface__.js.map +1 -1
  169. package/out/concepts/JSBlock__.d.ts +1 -0
  170. package/out/concepts/JSBlock__.js +8 -1
  171. package/out/concepts/JSBlock__.js.map +1 -1
  172. package/out/concepts/JavaLogic__.d.ts +42 -0
  173. package/out/concepts/JavaLogic__.js +122 -0
  174. package/out/concepts/JavaLogic__.js.map +1 -0
  175. package/out/concepts/LogicItem__.d.ts +7 -1
  176. package/out/concepts/LogicItem__.js +11 -0
  177. package/out/concepts/LogicItem__.js.map +1 -1
  178. package/out/concepts/Logic__.d.ts +7 -0
  179. package/out/concepts/Logic__.js +74 -17
  180. package/out/concepts/Logic__.js.map +1 -1
  181. package/out/concepts/MatchCase__.d.ts +1 -0
  182. package/out/concepts/MatchCase__.js +4 -1
  183. package/out/concepts/MatchCase__.js.map +1 -1
  184. package/out/concepts/Match__.d.ts +6 -3
  185. package/out/concepts/Match__.js +116 -20
  186. package/out/concepts/Match__.js.map +1 -1
  187. package/out/concepts/MemberExpression__.d.ts +1 -0
  188. package/out/concepts/MemberExpression__.js +14 -2
  189. package/out/concepts/MemberExpression__.js.map +1 -1
  190. package/out/concepts/MicroApp__.d.ts +51 -0
  191. package/out/concepts/MicroApp__.js +113 -0
  192. package/out/concepts/MicroApp__.js.map +1 -0
  193. package/out/concepts/Module__.d.ts +96 -56
  194. package/out/concepts/Module__.js +169 -58
  195. package/out/concepts/Module__.js.map +1 -1
  196. package/out/concepts/Namespace__.d.ts +1 -0
  197. package/out/concepts/Namespace__.js +3 -0
  198. package/out/concepts/Namespace__.js.map +1 -1
  199. package/out/concepts/NewComposite__.d.ts +4 -4
  200. package/out/concepts/NewComposite__.js +139 -122
  201. package/out/concepts/NewComposite__.js.map +1 -1
  202. package/out/concepts/NewList__.d.ts +2 -0
  203. package/out/concepts/NewList__.js +49 -24
  204. package/out/concepts/NewList__.js.map +1 -1
  205. package/out/concepts/NewMap__.d.ts +2 -0
  206. package/out/concepts/NewMap__.js +53 -23
  207. package/out/concepts/NewMap__.js.map +1 -1
  208. package/out/concepts/New__.d.ts +1 -0
  209. package/out/concepts/New__.js +3 -0
  210. package/out/concepts/New__.js.map +1 -1
  211. package/out/concepts/NullLiteral__.d.ts +1 -0
  212. package/out/concepts/NullLiteral__.js +3 -0
  213. package/out/concepts/NullLiteral__.js.map +1 -1
  214. package/out/concepts/NumericLiteral__.d.ts +1 -0
  215. package/out/concepts/NumericLiteral__.js +6 -9
  216. package/out/concepts/NumericLiteral__.js.map +1 -1
  217. package/out/concepts/OqlQueryComponent__.d.ts +1 -1
  218. package/out/concepts/OqlQueryComponent__.js +43 -58
  219. package/out/concepts/OqlQueryComponent__.js.map +1 -1
  220. package/out/concepts/Param__.d.ts +7 -3
  221. package/out/concepts/Param__.js +17 -60
  222. package/out/concepts/Param__.js.map +1 -1
  223. package/out/concepts/Point__.d.ts +1 -0
  224. package/out/concepts/Point__.js +3 -0
  225. package/out/concepts/Point__.js.map +1 -1
  226. package/out/concepts/ProcessComponent__.d.ts +1 -0
  227. package/out/concepts/ProcessComponent__.js +3 -0
  228. package/out/concepts/ProcessComponent__.js.map +1 -1
  229. package/out/concepts/ProcessElement__.d.ts +1 -0
  230. package/out/concepts/ProcessElement__.js +16 -4
  231. package/out/concepts/ProcessElement__.js.map +1 -1
  232. package/out/concepts/ProcessOutcome__.d.ts +1 -0
  233. package/out/concepts/ProcessOutcome__.js +3 -0
  234. package/out/concepts/ProcessOutcome__.js.map +1 -1
  235. package/out/concepts/ProcessOutcomes__.d.ts +1 -0
  236. package/out/concepts/ProcessOutcomes__.js +3 -0
  237. package/out/concepts/ProcessOutcomes__.js.map +1 -1
  238. package/out/concepts/Process__.d.ts +5 -20
  239. package/out/concepts/Process__.js +4 -7
  240. package/out/concepts/Process__.js.map +1 -1
  241. package/out/concepts/QueryAggregateExpression__.d.ts +1 -0
  242. package/out/concepts/QueryAggregateExpression__.js +3 -0
  243. package/out/concepts/QueryAggregateExpression__.js.map +1 -1
  244. package/out/concepts/QueryFieldExpression__.d.ts +1 -0
  245. package/out/concepts/QueryFieldExpression__.js +7 -1
  246. package/out/concepts/QueryFieldExpression__.js.map +1 -1
  247. package/out/concepts/QueryFromExpression__.d.ts +1 -0
  248. package/out/concepts/QueryFromExpression__.js +3 -0
  249. package/out/concepts/QueryFromExpression__.js.map +1 -1
  250. package/out/concepts/QueryGroupByExpression__.d.ts +1 -0
  251. package/out/concepts/QueryGroupByExpression__.js +3 -0
  252. package/out/concepts/QueryGroupByExpression__.js.map +1 -1
  253. package/out/concepts/QueryJoinExpression__.d.ts +1 -0
  254. package/out/concepts/QueryJoinExpression__.js +3 -0
  255. package/out/concepts/QueryJoinExpression__.js.map +1 -1
  256. package/out/concepts/QueryLimitExpression__.d.ts +1 -0
  257. package/out/concepts/QueryLimitExpression__.js +3 -0
  258. package/out/concepts/QueryLimitExpression__.js.map +1 -1
  259. package/out/concepts/QueryOrderByExpression__.d.ts +1 -0
  260. package/out/concepts/QueryOrderByExpression__.js +3 -0
  261. package/out/concepts/QueryOrderByExpression__.js.map +1 -1
  262. package/out/concepts/QuerySelectExpression__.d.ts +105 -16
  263. package/out/concepts/QuerySelectExpression__.js +102 -9
  264. package/out/concepts/QuerySelectExpression__.js.map +1 -1
  265. package/out/concepts/Rect__.d.ts +1 -0
  266. package/out/concepts/Rect__.js +3 -0
  267. package/out/concepts/Rect__.js.map +1 -1
  268. package/out/concepts/Return__.d.ts +6 -3
  269. package/out/concepts/Return__.js +13 -59
  270. package/out/concepts/Return__.js.map +1 -1
  271. package/out/concepts/Role__.d.ts +1 -0
  272. package/out/concepts/Role__.js +3 -0
  273. package/out/concepts/Role__.js.map +1 -1
  274. package/out/concepts/SelectMembers__.d.ts +1 -0
  275. package/out/concepts/SelectMembers__.js +3 -0
  276. package/out/concepts/SelectMembers__.js.map +1 -1
  277. package/out/concepts/Slot__.d.ts +17 -0
  278. package/out/concepts/Slot__.js +46 -0
  279. package/out/concepts/Slot__.js.map +1 -1
  280. package/out/concepts/SqlQueryComponent__.d.ts +1 -1
  281. package/out/concepts/SqlQueryComponent__.js +3 -46
  282. package/out/concepts/SqlQueryComponent__.js.map +1 -1
  283. package/out/concepts/Start__.d.ts +1 -0
  284. package/out/concepts/Start__.js +3 -0
  285. package/out/concepts/Start__.js.map +1 -1
  286. package/out/concepts/StringInterpolation__.d.ts +1 -0
  287. package/out/concepts/StringInterpolation__.js +6 -1
  288. package/out/concepts/StringInterpolation__.js.map +1 -1
  289. package/out/concepts/StringLiteral__.d.ts +1 -0
  290. package/out/concepts/StringLiteral__.js +9 -6
  291. package/out/concepts/StringLiteral__.js.map +1 -1
  292. package/out/concepts/StructureProperty__.d.ts +9 -3
  293. package/out/concepts/StructureProperty__.js +21 -57
  294. package/out/concepts/StructureProperty__.js.map +1 -1
  295. package/out/concepts/Structure__.d.ts +1 -0
  296. package/out/concepts/Structure__.js +3 -0
  297. package/out/concepts/Structure__.js.map +1 -1
  298. package/out/concepts/SwitchCase__.d.ts +1 -0
  299. package/out/concepts/SwitchCase__.js +5 -2
  300. package/out/concepts/SwitchCase__.js.map +1 -1
  301. package/out/concepts/SwitchStatement__.d.ts +1 -0
  302. package/out/concepts/SwitchStatement__.js +3 -0
  303. package/out/concepts/SwitchStatement__.js.map +1 -1
  304. package/out/concepts/Theme__.d.ts +1 -0
  305. package/out/concepts/Theme__.js +3 -0
  306. package/out/concepts/Theme__.js.map +1 -1
  307. package/out/concepts/Transactional__.d.ts +6 -0
  308. package/out/concepts/Transactional__.js +9 -0
  309. package/out/concepts/Transactional__.js.map +1 -1
  310. package/out/concepts/TypeAnnotation__.d.ts +9 -3
  311. package/out/concepts/TypeAnnotation__.js +96 -10
  312. package/out/concepts/TypeAnnotation__.js.map +1 -1
  313. package/out/concepts/TypeParam__.d.ts +1 -0
  314. package/out/concepts/TypeParam__.js +3 -0
  315. package/out/concepts/TypeParam__.js.map +1 -1
  316. package/out/concepts/UnaryExpression__.d.ts +1 -0
  317. package/out/concepts/UnaryExpression__.js +3 -0
  318. package/out/concepts/UnaryExpression__.js.map +1 -1
  319. package/out/concepts/Unparsed__.d.ts +1 -0
  320. package/out/concepts/Unparsed__.js +3 -0
  321. package/out/concepts/Unparsed__.js.map +1 -1
  322. package/out/concepts/UseComponent__.d.ts +1 -0
  323. package/out/concepts/UseComponent__.js +3 -0
  324. package/out/concepts/UseComponent__.js.map +1 -1
  325. package/out/concepts/ValidationRule__.d.ts +2 -0
  326. package/out/concepts/ValidationRule__.js +56 -0
  327. package/out/concepts/ValidationRule__.js.map +1 -1
  328. package/out/concepts/Variable__.d.ts +6 -3
  329. package/out/concepts/Variable__.js +14 -60
  330. package/out/concepts/Variable__.js.map +1 -1
  331. package/out/concepts/ViewBlock__.d.ts +35 -0
  332. package/out/concepts/ViewBlock__.js +85 -0
  333. package/out/concepts/ViewBlock__.js.map +1 -0
  334. package/out/concepts/ViewComponent__.d.ts +93 -0
  335. package/out/concepts/ViewComponent__.js +114 -0
  336. package/out/concepts/ViewComponent__.js.map +1 -1
  337. package/out/concepts/ViewElement__.d.ts +8 -0
  338. package/out/concepts/ViewElement__.js +66 -10
  339. package/out/concepts/ViewElement__.js.map +1 -1
  340. package/out/concepts/View__.d.ts +9 -3
  341. package/out/concepts/View__.js +64 -16
  342. package/out/concepts/View__.js.map +1 -1
  343. package/out/concepts/WhileStatement__.d.ts +1 -0
  344. package/out/concepts/WhileStatement__.js +3 -0
  345. package/out/concepts/WhileStatement__.js.map +1 -1
  346. package/out/concepts/basics/stdlib/nasl.collection.js +7 -2
  347. package/out/concepts/basics/stdlib/nasl.collection.js.map +1 -1
  348. package/out/concepts/basics/stdlib/nasl.configuration.js +3 -0
  349. package/out/concepts/basics/stdlib/nasl.configuration.js.map +1 -1
  350. package/out/concepts/basics/stdlib/nasl.core.d.ts +2 -0
  351. package/out/concepts/basics/stdlib/nasl.core.js +34 -0
  352. package/out/concepts/basics/stdlib/nasl.core.js.map +1 -1
  353. package/out/concepts/basics/stdlib/nasl.interface.js +1 -1
  354. package/out/concepts/basics/stdlib/nasl.interface.js.map +1 -1
  355. package/out/concepts/basics/stdlib/nasl.process.js +6 -6
  356. package/out/concepts/basics/stdlib/nasl.process.js.map +1 -1
  357. package/out/concepts/basics/stdlib/nasl.ui.js +71 -43
  358. package/out/concepts/basics/stdlib/nasl.ui.js.map +1 -1
  359. package/out/concepts/basics/stdlib/nasl.util.js +146 -21
  360. package/out/concepts/basics/stdlib/nasl.util.js.map +1 -1
  361. package/out/concepts/basics/stdlib/nasl.validation.js +13 -13
  362. package/out/concepts/basics/stdlib/nasl.validation.js.map +1 -1
  363. package/out/concepts/basics/types/coreTypeList.js +1 -5
  364. package/out/concepts/basics/types/coreTypeList.js.map +1 -1
  365. package/out/concepts/basics/types/index.d.ts +1 -0
  366. package/out/concepts/basics/types/index.js +3 -1
  367. package/out/concepts/basics/types/index.js.map +1 -1
  368. package/out/concepts/index__.d.ts +8 -0
  369. package/out/concepts/index__.js +8 -0
  370. package/out/concepts/index__.js.map +1 -1
  371. package/out/decorators/index.js +3 -3
  372. package/out/decorators/index.js.map +1 -1
  373. package/out/enums/KEYWORDS.d.ts +1 -0
  374. package/out/enums/KEYWORDS.js +16 -1
  375. package/out/enums/KEYWORDS.js.map +1 -1
  376. package/out/generator/genBundleFiles.d.ts +6 -3
  377. package/out/generator/genBundleFiles.js +66 -48
  378. package/out/generator/genBundleFiles.js.map +1 -1
  379. package/out/generator/genMetaData.d.ts +2 -2
  380. package/out/generator/genMetaData.js +3 -3
  381. package/out/generator/genMetaData.js.map +1 -1
  382. package/out/generator/genReleaseBody.d.ts +19 -4
  383. package/out/generator/genReleaseBody.js +147 -54
  384. package/out/generator/genReleaseBody.js.map +1 -1
  385. package/out/generator/icestark.d.ts +2 -0
  386. package/out/generator/icestark.js +48 -0
  387. package/out/generator/icestark.js.map +1 -0
  388. package/out/generator/microApp.d.ts +2 -0
  389. package/out/generator/microApp.js +35 -0
  390. package/out/generator/microApp.js.map +1 -0
  391. package/out/generator/permission.d.ts +1 -0
  392. package/out/generator/permission.js +24 -29
  393. package/out/generator/permission.js.map +1 -1
  394. package/out/generator/qiankun.d.ts +2 -0
  395. package/out/generator/qiankun.js +52 -0
  396. package/out/generator/qiankun.js.map +1 -0
  397. package/out/index.d.ts +2 -1
  398. package/out/index.js +4 -1
  399. package/out/index.js.map +1 -1
  400. package/out/manager/stepRecorder.d.ts +20 -0
  401. package/out/manager/stepRecorder.js +110 -0
  402. package/out/manager/stepRecorder.js.map +1 -0
  403. package/out/sentry/index.d.ts +29 -0
  404. package/out/sentry/index.js +111 -0
  405. package/out/sentry/index.js.map +1 -0
  406. package/out/server/entity2LogicNamespace.js +3 -1
  407. package/out/server/entity2LogicNamespace.js.map +1 -1
  408. package/out/server/extendBaseNode.js +113 -2
  409. package/out/server/extendBaseNode.js.map +1 -1
  410. package/out/server/formatTsUtils.d.ts +2 -1
  411. package/out/server/formatTsUtils.js +163 -17
  412. package/out/server/formatTsUtils.js.map +1 -1
  413. package/out/server/getLogics.d.ts +2 -2
  414. package/out/server/getLogics.js +63 -17
  415. package/out/server/getLogics.js.map +1 -1
  416. package/out/server/getMemberIdentifier.d.ts +1 -0
  417. package/out/server/getMemberIdentifier.js +34 -6
  418. package/out/server/getMemberIdentifier.js.map +1 -1
  419. package/out/server/index.js +1 -0
  420. package/out/server/index.js.map +1 -1
  421. package/out/server/naslServer.d.ts +16 -4
  422. package/out/server/naslServer.js +1170 -181
  423. package/out/server/naslServer.js.map +1 -1
  424. package/out/server/translator.js +114 -38
  425. package/out/server/translator.js.map +1 -1
  426. package/out/service/creator/add.configs.js +2 -0
  427. package/out/service/creator/add.configs.js.map +1 -1
  428. package/out/service/creator/errHandles.js +5 -0
  429. package/out/service/creator/errHandles.js.map +1 -1
  430. package/out/service/creator/index.js +2 -0
  431. package/out/service/creator/index.js.map +1 -1
  432. package/out/service/storage/api.d.ts +27 -0
  433. package/out/service/storage/api.js +19 -0
  434. package/out/service/storage/api.js.map +1 -1
  435. package/out/service/storage/init.d.ts +44 -1
  436. package/out/service/storage/init.js +262 -37
  437. package/out/service/storage/init.js.map +1 -1
  438. package/out/service/storage/service.d.ts +12 -1
  439. package/out/service/storage/service.js +32 -1
  440. package/out/service/storage/service.js.map +1 -1
  441. package/out/templator/genCallComponentLogic.d.ts +1 -1
  442. package/out/templator/genCallComponentLogic.js.map +1 -1
  443. package/out/templator/genCreateBlock.js +7 -4
  444. package/out/templator/genCreateBlock.js.map +1 -1
  445. package/out/templator/genCurdEditMultipleKeyBlock.d.ts +7 -1
  446. package/out/templator/genCurdEditMultipleKeyBlock.js +122 -8
  447. package/out/templator/genCurdEditMultipleKeyBlock.js.map +1 -1
  448. package/out/templator/genCurdMultipleKeyBlock.js +6 -8
  449. package/out/templator/genCurdMultipleKeyBlock.js.map +1 -1
  450. package/out/templator/genEditTableBlock.js +48 -20
  451. package/out/templator/genEditTableBlock.js.map +1 -1
  452. package/out/templator/genGetBlock.js +1 -1
  453. package/out/templator/genGetBlock.js.map +1 -1
  454. package/out/templator/genGridViewBlock.js +2 -2
  455. package/out/templator/genGridViewBlock.js.map +1 -1
  456. package/out/templator/genListViewBlock.js +7 -1
  457. package/out/templator/genListViewBlock.js.map +1 -1
  458. package/out/templator/genQueryComponent.js +23 -9
  459. package/out/templator/genQueryComponent.js.map +1 -1
  460. package/out/templator/genSelectBlock.d.ts +12 -1
  461. package/out/templator/genSelectBlock.js +273 -2
  462. package/out/templator/genSelectBlock.js.map +1 -1
  463. package/out/templator/genTableBlock.js +4 -4
  464. package/out/templator/genTableBlock.js.map +1 -1
  465. package/out/templator/genUpdateBlock.js +9 -4
  466. package/out/templator/genUpdateBlock.js.map +1 -1
  467. package/out/templator/utils.d.ts +19 -33
  468. package/out/templator/utils.js +11 -8
  469. package/out/templator/utils.js.map +1 -1
  470. package/out/translator/index.js +4 -1
  471. package/out/translator/index.js.map +1 -1
  472. package/out/utils/traverse.js +8 -2
  473. package/out/utils/traverse.js.map +1 -1
  474. package/package.json +2 -2
  475. package/sandbox/stdlib/nasl.core.ts +2 -0
  476. package/sandbox/stdlib/nasl.util.ts +2 -1
  477. package/src/concepts/BatchAssignment__.ts +1 -1
  478. package/src/concepts/CallLogic__.ts +2 -64
  479. package/src/concepts/NewComposite__.ts +5 -7
  480. package/src/concepts/NewList__.ts +2 -1
  481. package/src/concepts/NewMap__.ts +2 -1
  482. package/src/concepts/OqlQueryComponent__.ts +2 -0
  483. package/src/concepts/ViewElement__.ts +1 -1
  484. package/src/concepts/basics/stdlib/nasl.util.ts +4 -2
  485. package/src/generator/genBundleFiles.ts +10 -1
  486. package/src/server/naslServer.ts +12 -9
  487. package/src/server/translator.ts +33 -6
  488. package/ts-worker/lib/tsserver.js +4 -1
  489. package/sandbox/stdlib/dist/nasl.logging.js +0 -0
  490. package/sandbox/stdlib/dist/nasl.util.js +0 -0
  491. package/src/automate/engine/dist/index.dev.js +0 -517
  492. package/src/common/dist/BaseNode.js +0 -1101
  493. package/src/concepts/basics/stdlib/dist/nasl.util.js +0 -1602
  494. package/src/concepts/basics/stdlib/dist/reference2TypeAnnotationList.js +0 -24
  495. package/src/concepts/dist/BindAttribute__.js +0 -760
  496. package/src/concepts/dist/BindEvent__.js +0 -732
  497. package/src/concepts/dist/CallFunction__.js +0 -527
  498. package/src/concepts/dist/CallLogic__.js +0 -932
  499. package/src/concepts/dist/Identifier__.js +0 -311
  500. package/src/concepts/dist/StringInterpolation__.js +0 -231
  501. package/src/concepts/dist/TypeAnnotation__.js +0 -834
  502. package/src/concepts/dist/ViewElement__.js +0 -1692
  503. package/src/concepts/dist/View__.js +0 -1601
  504. package/src/generator/dist/genBundleFiles.js +0 -261
  505. package/src/generator/dist/genMetaData.js +0 -245
  506. package/src/generator/dist/permission.js +0 -392
  507. package/src/server/dist/naslServer.js +0 -3590
  508. package/src/service/storage/dist/init.js +0 -579
  509. package/src/templator/dist/genEditTableBlock.js +0 -204
  510. package/src/templator/dist/genGridViewBlock.js +0 -265
  511. package/src/templator/dist/genListViewBlock.js +0 -84
  512. package/src/templator/dist/genTableBlock.js +0 -209
  513. package/src/templator/dist/utils.js +0 -527
  514. package/ts-worker/dist/webpack.config.dev.js +0 -106
  515. /package/src/service/{dataSource → datasource}/api.js +0 -0
  516. /package/src/service/{dataSource → datasource}/index.js +0 -0
@@ -36,10 +36,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.NewComposite = void 0;
37
37
  const translator_1 = require("../translator");
38
38
  const StructureProperty__1 = __importDefault(require("./StructureProperty__"));
39
+ const generator_1 = require("../generator");
39
40
  const decorators_1 = require("../decorators");
40
41
  const utils = __importStar(require("../utils"));
41
42
  const classMap_1 = __importDefault(require("../common/classMap"));
42
- const TypeAnnotation__1 = __importDefault(require("./TypeAnnotation__"));
43
43
  const Identifier__1 = __importDefault(require("./Identifier__"));
44
44
  const SelectMembers__1 = __importDefault(require("./SelectMembers__"));
45
45
  const AssignmentLine__1 = __importDefault(require("./AssignmentLine__"));
@@ -88,6 +88,9 @@ let NewComposite = NewComposite_1 = class NewComposite extends LogicItem__1.defa
88
88
  super(source);
89
89
  super.subConstructor(source);
90
90
  }
91
+ getClassName() {
92
+ return 'NewComposite';
93
+ }
91
94
  static from(source, parentNode, parentKey) {
92
95
  return super.from(source, parentNode, parentKey);
93
96
  }
@@ -505,7 +508,6 @@ let NewComposite = NewComposite_1 = class NewComposite extends LogicItem__1.defa
505
508
  async newConnection(addRightIndex) {
506
509
  const leftLineSet = new Set();
507
510
  const lineArr = [];
508
- const connectionArr = [];
509
511
  // 系统属性不可自动连线
510
512
  ['id', 'createdTime', 'updatedTime', 'createdBy', 'updatedBy'].forEach((name) => leftLineSet.add(name));
511
513
  // 左边已连线的下标
@@ -514,17 +516,13 @@ let NewComposite = NewComposite_1 = class NewComposite extends LogicItem__1.defa
514
516
  leftLineSet.add(Number(line.leftIndex[1]));
515
517
  });
516
518
  const autoConnection = () => {
517
- let structure;
518
519
  const isAnnotation = this.typeAnnotation.typeKind === 'anonymousStructure';
519
- if (!isAnnotation)
520
- structure = this.app.findNodeByCompleteName(this.typeAnnotation.typeNamespace + '.' + this.typeAnnotation.typeName);
521
520
  this.app.emit('collect:start', {
522
521
  actionMsg: '自动连线',
523
522
  });
524
523
  this.properties.forEach((property, leftSecondIndex) => {
525
524
  const leftName = property.name;
526
- const leftTypeAnnotation = !isAnnotation && structure.properties.find((p) => p.name === property.name).typeAnnotation;
527
- const typeStruct = isAnnotation && this.typeAnnotation.properties[leftSecondIndex]; // 获取匿名数据结构typeAnnotation的具体property
525
+ const leftTypeAnnotation = !isAnnotation && property.__TypeAnnotation;
528
526
  if (leftLineSet.has(leftSecondIndex) || leftLineSet.has(leftName))
529
527
  return;
530
528
  this.rights.forEach((selectMember, rightFirstIndex) => {
@@ -547,10 +545,6 @@ let NewComposite = NewComposite_1 = class NewComposite extends LogicItem__1.defa
547
545
  rightIndex: [rightFirstIndex],
548
546
  });
549
547
  lineArr.push(Line);
550
- connectionArr.push({
551
- leftItem: typeStruct,
552
- rightItem: expression,
553
- });
554
548
  leftLineSet.add(leftSecondIndex);
555
549
  return;
556
550
  }
@@ -566,32 +560,20 @@ let NewComposite = NewComposite_1 = class NewComposite extends LogicItem__1.defa
566
560
  const rightIndex = [rightFirstIndex, rightSecondIndex];
567
561
  const Line = new AssignmentLine__1.default({ leftIndex, rightIndex });
568
562
  lineArr.push(Line);
569
- connectionArr.push({
570
- leftItem: typeStruct,
571
- rightItem: rightMember,
572
- });
573
563
  leftLineSet.add(leftSecondIndex);
574
564
  }
575
565
  });
576
566
  });
577
567
  });
578
568
  lineArr.length && this.setAssignmentLines([...this.assignmentLines, ...lineArr]);
579
- if (this.typeAnnotation.typeKind === 'anonymousStructure') {
580
- connectionArr.forEach(({ leftItem, rightItem }) => {
581
- if (rightItem.__TypeAnnotation) {
582
- leftItem.update({
583
- typeAnnotation: TypeAnnotation__1.default.from({ ...rightItem.__TypeAnnotation.toJSON() }),
584
- });
585
- }
586
- });
587
- }
588
569
  this.app.emit('collect:end');
589
570
  };
590
571
  let count = 0;
591
572
  const typeAnnotationEnd = () => {
592
- const r = this.rights.every((right) => right.members.every((item) => item.__isCorrectTypeAnnotation));
573
+ const l = this.properties.every((item) => item.__isCorrectTypeAnnotation);
574
+ const r = this.rights.every((right) => right.members.every((item) => item.__isCorrectTypeAnnotation) && right.expression.__isCorrectTypeAnnotation);
593
575
  count++;
594
- if (r) {
576
+ if (r && l) {
595
577
  autoConnection();
596
578
  }
597
579
  else if (count <= 10) {
@@ -635,47 +617,16 @@ let NewComposite = NewComposite_1 = class NewComposite extends LogicItem__1.defa
635
617
  rightIndex: newRightIndex,
636
618
  });
637
619
  newLines.push(Line);
638
- if (this.typeAnnotation.typeKind !== 'anonymousStructure') {
639
- this.update({
640
- assignmentLines: newLines,
641
- properties: newProperties,
642
- });
643
- }
644
- else {
645
- this.app.emit('collect:start', {
646
- actionMsg: '匿名数据结构连线',
647
- });
648
- // 匿名数据结构typeAnnotation变化
649
- const structureProperty = this.typeAnnotation.properties.find(({ name }) => name === leftItem.name);
650
- const exp = rightItem.concept === 'SelectMembers' ? rightItem.expression : rightItem;
651
- // 场景:右侧连接是非匿名数据
652
- if (exp.__TypeAnnotation && exp.__TypeAnnotation.typeKey !== 'nasl.core.Null') {
653
- structureProperty.update({
654
- typeAnnotation: TypeAnnotation__1.default.from({ ...exp.__TypeAnnotation.toJSON() }),
655
- });
656
- }
657
- this.update({
658
- assignmentLines: newLines,
659
- properties: newProperties,
660
- });
661
- this.app.emit('collect:end');
662
- }
620
+ this.update({
621
+ assignmentLines: newLines,
622
+ properties: newProperties,
623
+ });
663
624
  }
664
625
  deleteAssignmentLine(assignmentLine) {
665
626
  const newLine = this.assignmentLines.filter((line) => line !== assignmentLine);
666
- this.app.emit('collect:start', {
667
- actionMsg: '删除连线',
668
- });
669
- if (this.typeAnnotation.typeKind === 'anonymousStructure') {
670
- const typeStructureProperty = this.findMember(assignmentLine.leftIndex, 'left', true);
671
- typeStructureProperty.update({
672
- typeAnnotation: null,
673
- });
674
- }
675
627
  this.update({
676
628
  assignmentLines: newLine,
677
629
  });
678
- this.app.emit('collect:end');
679
630
  }
680
631
  changeLinesLocation(selectMember) {
681
632
  if (selectMember.concept !== 'SelectMembers')
@@ -685,7 +636,6 @@ let NewComposite = NewComposite_1 = class NewComposite extends LogicItem__1.defa
685
636
  const newRights = this.rights.filter((member) => selectMember !== member);
686
637
  const filterLine = this.assignmentLines.filter((line) => line.rightIndex[0] !== index);
687
638
  const newLines = [];
688
- const oldLines = this.assignmentLines.filter(({ rightIndex }) => rightIndex[0] === index);
689
639
  filterLine.forEach((line) => {
690
640
  if (line.rightIndex[0] > index) {
691
641
  if (line.rightIndex[1] === undefined) {
@@ -701,22 +651,10 @@ let NewComposite = NewComposite_1 = class NewComposite extends LogicItem__1.defa
701
651
  newLines.push(line);
702
652
  }
703
653
  });
704
- this.app.emit('collect:start', {
705
- actionMsg: '匿名数据结构删除右侧变量',
706
- });
707
- if (this.typeAnnotation.typeKind === 'anonymousStructure') {
708
- oldLines.forEach(({ leftIndex }) => {
709
- const leftItem = this.typeAnnotation.properties[leftIndex[1]];
710
- leftItem.update({
711
- typeAnnotation: null,
712
- });
713
- });
714
- }
715
654
  this.update({
716
655
  rights: newRights,
717
656
  assignmentLines: newLines,
718
657
  });
719
- this.app.emit('collect:end');
720
658
  }
721
659
  }
722
660
  changeMembers(oldNode, members, keepMembers, expression) {
@@ -731,7 +669,7 @@ let NewComposite = NewComposite_1 = class NewComposite extends LogicItem__1.defa
731
669
  let oldLines = this.assignmentLines.filter(({ rightIndex }) => rightIndex[0] === splitIndex);
732
670
  // 右侧变量改变后,修改连线
733
671
  members.forEach((item, index) => {
734
- if (keepMembers.has(item.completeName)) {
672
+ if (keepMembers?.has(item.completeName)) {
735
673
  const lines = this.findlines(item, selectMember);
736
674
  lines.forEach((line) => {
737
675
  const newLine = Object.assign({}, line, { rightIndex: [line.rightIndex[0], index] });
@@ -740,14 +678,6 @@ let NewComposite = NewComposite_1 = class NewComposite extends LogicItem__1.defa
740
678
  });
741
679
  }
742
680
  });
743
- if (this.typeAnnotation.typeKind === 'anonymousStructure') {
744
- oldLines.forEach(({ leftIndex }) => {
745
- const leftItem = this.typeAnnotation.properties[leftIndex[1]];
746
- leftItem.update({
747
- typeAnnotation: null,
748
- });
749
- });
750
- }
751
681
  this.update({
752
682
  assignmentLines: newLines,
753
683
  rights: [...this.rights.slice(0, splitIndex), newSelectMember, ...this.rights.slice(splitIndex + 1, this.rights.length)],
@@ -779,11 +709,8 @@ let NewComposite = NewComposite_1 = class NewComposite extends LogicItem__1.defa
779
709
  }
780
710
  return lines;
781
711
  }
782
- findMember(arrIndex, place, isAnnotation) {
712
+ findMember(arrIndex, place) {
783
713
  const [firstIndex, secondIndex] = [arrIndex[0], arrIndex[1]];
784
- if (isAnnotation) {
785
- return this.typeAnnotation.properties[secondIndex];
786
- }
787
714
  if (place === 'left') {
788
715
  if (secondIndex === undefined) {
789
716
  return this.typeAnnotation;
@@ -882,18 +809,26 @@ let NewComposite = NewComposite_1 = class NewComposite extends LogicItem__1.defa
882
809
  return code;
883
810
  }
884
811
  toEmbeddedTS(state) {
812
+ const indent0 = (0, translator_1.indent)((state?.tabSize || 0));
813
+ const indent1 = (0, translator_1.indent)((state?.tabSize || 0) + 1);
814
+ const indent2 = (0, translator_1.indent)((state?.tabSize || 0) + 2);
815
+ const indent3 = (0, translator_1.indent)((state?.tabSize || 0) + 3);
885
816
  let code = '';
886
817
  if (!this.typeAnnotation) {
887
818
  code += '__IDENTIFIER__';
888
819
  }
889
820
  else if (this.typeAnnotation.typeKind !== 'anonymousStructure') {
890
821
  const rightMap = new Map();
891
- code += '(() => { \n';
822
+ code += `${indent0}(() => { \n`;
892
823
  // 提供sourcemap,获取类型标注和上下文可选变量
893
824
  this.rights.forEach((right) => {
825
+ code += indent1;
894
826
  rightMap.set(right.expression, right.expression.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true })));
895
827
  code += rightMap.get(right.expression);
896
828
  code += ';\n';
829
+ if (right.members?.length) {
830
+ code += indent2;
831
+ }
897
832
  right.members.forEach((member) => {
898
833
  rightMap.set(member, member.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true })));
899
834
  code += rightMap.get(member);
@@ -902,9 +837,8 @@ let NewComposite = NewComposite_1 = class NewComposite extends LogicItem__1.defa
902
837
  code += right.members.length ? '\n' : '';
903
838
  });
904
839
  // 方便ts报错检查
905
- code += 'function __newComposite() {\n';
906
- code += `let __obj = nasl.util.New<${this.typeAnnotation.sortedTypeKey}>();`;
907
- code += '\n';
840
+ code += `${indent1}function __newComposite() {\n`;
841
+ code += `${indent2}let __obj = nasl.util.New<${this.typeAnnotation.sortedTypeKey}>();\n`;
908
842
  // 是否是左边的顶层连线
909
843
  const leftTopIndex = this.assignmentLines.findIndex(({ leftIndex }) => leftIndex[1] === undefined);
910
844
  if (leftTopIndex !== -1) {
@@ -915,25 +849,28 @@ let NewComposite = NewComposite_1 = class NewComposite extends LogicItem__1.defa
915
849
  }
916
850
  else {
917
851
  // 左侧properties的identifier的类型标注
918
- this.properties.forEach((item) => {
919
- code += `const `;
920
- code += `${item.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true }))} = __obj.${item.name};\n`;
852
+ code += `${indent2}const { `;
853
+ this.properties.forEach((item, index) => {
854
+ code += item.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true }));
855
+ if (index < this.properties.length - 1)
856
+ code += ', ';
921
857
  });
858
+ code += ' } = __obj;\n';
922
859
  this.assignmentLines.forEach(({ leftIndex, rightIndex }) => {
923
860
  const leftSecondIndex = leftIndex[1];
924
861
  const [rightFirst, rightSecond] = [rightIndex[0], rightIndex[1]];
925
862
  const leftItem = this.properties[leftSecondIndex];
926
863
  const rightItem = rightSecond !== undefined ? this.rights[rightFirst].members[rightSecond] : this.rights[rightFirst].expression;
927
864
  const rightTs = rightMap.get(rightItem);
928
- code += `nasl.core.compare2(`;
865
+ code += `${indent2}nasl.core.compareNew(`;
929
866
  code += `${['__IDENTIFIER__', '__IDENTIFIER__()'].includes(rightTs) ? 'null' : rightMap.get(rightItem)}, `;
930
867
  code += `${leftItem.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true }))});\n`;
931
868
  });
932
869
  }
933
- code += 'return __obj;\n';
934
- code += '};\n';
935
- code += 'return __newComposite();\n';
936
- code += '})()';
870
+ code += `${indent2}return __obj;\n`;
871
+ code += `${indent1}};\n`;
872
+ code += `${indent1}return __newComposite();\n`;
873
+ code += `${indent0}})()`;
937
874
  }
938
875
  else {
939
876
  const nameMap = new Map();
@@ -946,14 +883,18 @@ let NewComposite = NewComposite_1 = class NewComposite extends LogicItem__1.defa
946
883
  nameMap.set(leftItem.name, rightItem);
947
884
  rightMap.set(rightItem, null);
948
885
  });
949
- code += '(() => { \n';
886
+ code += `${indent0}(() => { \n`;
950
887
  // 提供sourcemap,获取类型标注和上下文可选变量
951
888
  this.rights.forEach((right) => {
889
+ code += indent1;
952
890
  let ts = right.expression.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true }));
953
891
  if (rightMap.has(right.expression))
954
892
  rightMap.set(right.expression, ts);
955
893
  code += ts;
956
894
  code += ';\n';
895
+ if (right.members?.length) {
896
+ code += indent2;
897
+ }
957
898
  right.members.forEach((member) => {
958
899
  ts = member.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true }));
959
900
  if (rightMap.has(member))
@@ -964,48 +905,124 @@ let NewComposite = NewComposite_1 = class NewComposite extends LogicItem__1.defa
964
905
  code += right.members.length ? '\n' : '';
965
906
  });
966
907
  // 方便ts报错检查
967
- code += 'function __newComposite(): ';
968
- code += this.typeAnnotation.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true }));
969
- code += '{\n';
970
- this.properties.forEach((property) => {
908
+ code += `${indent1}function __newComposite() {\n`;
909
+ this.properties.forEach((property, index) => {
910
+ const temp = `temp${index}`;
911
+ const propertyType = this.typeAnnotation.properties[index]?.typeAnnotation;
971
912
  const name = property.name;
972
913
  const rightItem = nameMap.get(name);
973
- if (rightMap.get(rightItem) !== undefined) {
974
- code += `{ const x = ${rightMap.get(rightItem)}; const `;
975
- code += property.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true }));
976
- code += `: nasl.core.Incompatible<typeof x, void> = x`;
977
- code += '; }\n';
914
+ const ts = rightMap.get(rightItem);
915
+ if (ts !== undefined) {
916
+ if (['__IDENTIFIER__', '__IDENTIFIER__()'].includes(ts)) {
917
+ code += `${indent2}let ${temp}: void = null; `;
918
+ }
919
+ else {
920
+ code += `${indent2}let ${temp}${ts === 'null' ? ':void' : ''} = ${ts}; `;
921
+ }
922
+ code += `const `;
923
+ code += `${property.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true }))}: `;
924
+ code += propertyType ? propertyType.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true })) : `nasl.core.Incompatible<typeof ${temp}, void>`;
925
+ code += ` = ${temp};\n`;
926
+ }
927
+ else if (propertyType) {
928
+ code += `${indent2}let ${property.name}: `;
929
+ code += `${propertyType.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true }))}; `;
930
+ code += `<`;
931
+ code += `${property.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true }))}`;
932
+ code += `>${property.name};\n`;
978
933
  }
979
934
  else {
980
- code += '{ const ';
935
+ code += `${indent2}const `;
981
936
  code += property.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true }));
982
- code += '; }\n';
937
+ code += ';\n';
983
938
  }
984
939
  });
985
- code += 'return;\n';
986
- code += '};\n';
987
- code += 'return __newComposite();\n';
988
- code += '})()';
940
+ code += `${indent2}return {\n`;
941
+ code += `${indent3}__name: "AStructure_${(0, generator_1.genHash)(JSON.stringify(this))}" as const,\n`;
942
+ this.properties.forEach((property) => {
943
+ code += `${indent3}${property.name},\n`;
944
+ });
945
+ code += `${indent2}}\n`;
946
+ code += `${indent1}};\n`;
947
+ code += `${indent1}return __newComposite();\n`;
948
+ code += `${indent0}})()`;
989
949
  }
990
950
  return code;
991
951
  }
992
- __addIdentifier(App) {
993
- const app = this.app || App;
994
- app.emit('collect:start', {
952
+ getInitCode(state) {
953
+ const indent1 = (0, translator_1.indent)((state?.tabSize || 0) + 1);
954
+ const indent2 = (0, translator_1.indent)((state?.tabSize || 0) + 2);
955
+ const indent3 = (0, translator_1.indent)((state?.tabSize || 0) + 3);
956
+ const indent4 = (0, translator_1.indent)((state?.tabSize || 0) + 4);
957
+ let code = '';
958
+ const nameMap = new Map();
959
+ const rightMap = new Map();
960
+ this.assignmentLines.forEach(({ leftIndex, rightIndex }) => {
961
+ const leftSecondIndex = leftIndex[1];
962
+ const [rightFirst, rightSecond] = [rightIndex[0], rightIndex[1]];
963
+ const leftItem = this.properties[leftSecondIndex];
964
+ const rightItem = rightSecond !== undefined ? this.rights[rightFirst].members[rightSecond] : this.rights[rightFirst].expression;
965
+ nameMap.set(leftItem.name, rightItem);
966
+ rightMap.set(rightItem, null);
967
+ });
968
+ code += '(() => { ';
969
+ // 提供sourcemap,获取类型标注和上下文可选变量
970
+ this.rights.forEach((right) => {
971
+ let ts = right.expression.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true }));
972
+ if (rightMap.has(right.expression))
973
+ rightMap.set(right.expression, ts);
974
+ right.members.forEach((member) => {
975
+ ts = member.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true }));
976
+ if (rightMap.has(member))
977
+ rightMap.set(member, ts);
978
+ });
979
+ });
980
+ // 方便ts报错检查
981
+ code += 'function __newComposite() { ';
982
+ this.properties.forEach((property, index) => {
983
+ const name = property.name;
984
+ const propertyType = this.typeAnnotation.properties[index]?.typeAnnotation;
985
+ const rightItem = nameMap.get(name);
986
+ const ts = rightMap.get(rightItem);
987
+ if (propertyType) {
988
+ code += `const ${name}: ${propertyType.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true }))}; `;
989
+ }
990
+ else if (ts !== undefined) {
991
+ code += `const ${name} = ${['__IDENTIFIER__', '__IDENTIFIER__()'].includes(ts) ? null : ts}; `;
992
+ }
993
+ else {
994
+ code += `const ${name}; `;
995
+ }
996
+ });
997
+ code += `\n${indent3}return {\n`;
998
+ code += `${indent4}__name: "AStructure_${(0, generator_1.genHash)(JSON.stringify(this))}" as const,\n`;
999
+ this.properties.forEach((property) => {
1000
+ code += `${indent4}${property.name},\n`;
1001
+ });
1002
+ code += `${indent3}}\n`;
1003
+ code += `${indent2}};\n`;
1004
+ code += `${indent2}return __newComposite();\n`;
1005
+ code += `${indent1}})()`;
1006
+ return code;
1007
+ }
1008
+ __addIdentifier(name, typeAnnotation) {
1009
+ const newName = name || 'property1';
1010
+ const newType = typeAnnotation || null;
1011
+ this.app.emit('collect:start', {
995
1012
  actionMsg: '添加匿名数据结构属性',
996
1013
  });
997
- const node = this.addIdentifier({ name: this.getIdentifierUniqueName('property1') });
1014
+ const node = this.addIdentifier({ name: this.getIdentifierUniqueName(newName) });
998
1015
  const struct = StructureProperty__1.default.from({
999
1016
  name: node.name,
1000
- typeAnnotation: null,
1017
+ typeAnnotation: newType,
1001
1018
  });
1002
1019
  this.typeAnnotation.addStructureProperty(struct);
1003
- app.emit('collect:end');
1020
+ this.app.emit('collect:end');
1004
1021
  }
1005
1022
  __deleteIdentifier(property) {
1006
1023
  const index = this.properties.findIndex((p) => p === property);
1007
1024
  const newLines = [];
1008
- const newProperties = [...this.typeAnnotation.properties.slice(0, index), ...this.typeAnnotation.properties.slice(index + 1, this.properties.length)];
1025
+ const newProperties = this.typeAnnotation.properties.filter((item) => item.name !== property.name);
1009
1026
  this.assignmentLines.forEach((line) => {
1010
1027
  const { leftIndex } = line;
1011
1028
  if (leftIndex[1] < index) {
@@ -1 +1 @@
1
- {"version":3,"file":"NewComposite__.js","sourceRoot":"","sources":["../../src/concepts/NewComposite__.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NewComposite__.js","sourceRoot":"","sources":["../../src/concepts/NewComposite__.ts"],"names":[],"mappings":"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"}