@lcap/nasl 3.3.0-beta.2 → 3.3.2-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 (441) hide show
  1. package/.nyc_output/d58d92d8-c0d6-479b-9f82-1f4da8e73ff3.json +1 -0
  2. package/.nyc_output/processinfo/d58d92d8-c0d6-479b-9f82-1f4da8e73ff3.json +1 -0
  3. package/.nyc_output/processinfo/index.json +1 -0
  4. package/coverage/base.css +224 -0
  5. package/coverage/block-navigation.js +87 -0
  6. package/coverage/favicon.png +0 -0
  7. package/coverage/index.html +461 -0
  8. package/coverage/prettify.css +1 -0
  9. package/coverage/prettify.js +2 -0
  10. package/coverage/sort-arrow-sprite.png +0 -0
  11. package/coverage/sorter.js +196 -0
  12. package/coverage/src/automate/engine/index.html +116 -0
  13. package/coverage/src/automate/engine/utils.js.html +1414 -0
  14. package/coverage/src/bak/index.html +116 -0
  15. package/coverage/src/bak/translator.js.html +622 -0
  16. package/coverage/src/breakpoint/generator/AfterStartNode.ts.html +175 -0
  17. package/coverage/src/breakpoint/generator/BeforeEndNode.ts.html +169 -0
  18. package/coverage/src/breakpoint/generator/BreakpointNode.ts.html +1246 -0
  19. package/coverage/src/breakpoint/generator/CallbackNode.ts.html +145 -0
  20. package/coverage/src/breakpoint/generator/index.html +176 -0
  21. package/coverage/src/breakpoint/generator/index.ts.html +508 -0
  22. package/coverage/src/breakpoint/index.html +116 -0
  23. package/coverage/src/breakpoint/index.ts.html +94 -0
  24. package/coverage/src/breakpoint/shared/constants.ts.html +436 -0
  25. package/coverage/src/breakpoint/shared/index.html +176 -0
  26. package/coverage/src/breakpoint/shared/index.ts.html +94 -0
  27. package/coverage/src/breakpoint/shared/operations.ts.html +160 -0
  28. package/coverage/src/breakpoint/shared/socket.ts.html +1297 -0
  29. package/coverage/src/breakpoint/shared/utils.ts.html +1087 -0
  30. package/coverage/src/breakpoint/store/core.ts.html +1600 -0
  31. package/coverage/src/breakpoint/store/dock.ts.html +733 -0
  32. package/coverage/src/breakpoint/store/index.html +146 -0
  33. package/coverage/src/breakpoint/store/index.ts.html +91 -0
  34. package/coverage/src/common/BaseNode.ts.html +3874 -0
  35. package/coverage/src/common/Command.ts.html +310 -0
  36. package/coverage/src/common/EventEmitter.ts.html +370 -0
  37. package/coverage/src/common/Messager.ts.html +820 -0
  38. package/coverage/src/common/asyncFuncMap.ts.html +127 -0
  39. package/coverage/src/common/index.html +191 -0
  40. package/coverage/src/common/index.ts.html +94 -0
  41. package/coverage/src/concepts/Abort__.ts.html +328 -0
  42. package/coverage/src/concepts/Anchor__.ts.html +646 -0
  43. package/coverage/src/concepts/AnonymousFunction__.ts.html +2029 -0
  44. package/coverage/src/concepts/App__.ts.html +13252 -0
  45. package/coverage/src/concepts/Argument__.ts.html +964 -0
  46. package/coverage/src/concepts/Assignee__.ts.html +2236 -0
  47. package/coverage/src/concepts/AssignmentLine__.ts.html +409 -0
  48. package/coverage/src/concepts/Assignment__.ts.html +1123 -0
  49. package/coverage/src/concepts/Attribute__.ts.html +733 -0
  50. package/coverage/src/concepts/AuthInterface__.ts.html +367 -0
  51. package/coverage/src/concepts/AuthLogicForCallInterface__.ts.html +1984 -0
  52. package/coverage/src/concepts/AuthLogic__.ts.html +781 -0
  53. package/coverage/src/concepts/BackendVariable__.ts.html +1483 -0
  54. package/coverage/src/concepts/Backend__.ts.html +1165 -0
  55. package/coverage/src/concepts/BatchAssignment__.ts.html +3301 -0
  56. package/coverage/src/concepts/BinaryExpression__.ts.html +1441 -0
  57. package/coverage/src/concepts/BindAttribute__.ts.html +3835 -0
  58. package/coverage/src/concepts/BindDirective__.ts.html +1921 -0
  59. package/coverage/src/concepts/BindEvent__.ts.html +3406 -0
  60. package/coverage/src/concepts/BindStyle__.ts.html +1612 -0
  61. package/coverage/src/concepts/BooleanLiteral__.ts.html +418 -0
  62. package/coverage/src/concepts/CallAuthInterface__.ts.html +1615 -0
  63. package/coverage/src/concepts/CallConnector__.ts.html +922 -0
  64. package/coverage/src/concepts/CallFunction__.ts.html +2122 -0
  65. package/coverage/src/concepts/CallInterface__.ts.html +2719 -0
  66. package/coverage/src/concepts/CallLogic__.ts.html +4807 -0
  67. package/coverage/src/concepts/CallQueryComponent__.ts.html +5308 -0
  68. package/coverage/src/concepts/Comment__.ts.html +394 -0
  69. package/coverage/src/concepts/CompletionProperty__.ts.html +925 -0
  70. package/coverage/src/concepts/ConfigGroup__.ts.html +1105 -0
  71. package/coverage/src/concepts/ConfigPropertyValue__.ts.html +424 -0
  72. package/coverage/src/concepts/ConfigProperty__.ts.html +1348 -0
  73. package/coverage/src/concepts/Configuration__.ts.html +1027 -0
  74. package/coverage/src/concepts/Connection__.ts.html +1360 -0
  75. package/coverage/src/concepts/ConnectorTrigger__.ts.html +595 -0
  76. package/coverage/src/concepts/Connector__.ts.html +4255 -0
  77. package/coverage/src/concepts/Constant__.ts.html +913 -0
  78. package/coverage/src/concepts/DataSource__.ts.html +1771 -0
  79. package/coverage/src/concepts/DatabaseTypeAnnotation__.ts.html +331 -0
  80. package/coverage/src/concepts/Destination__.ts.html +2731 -0
  81. package/coverage/src/concepts/End__.ts.html +433 -0
  82. package/coverage/src/concepts/EntityIndex__.ts.html +787 -0
  83. package/coverage/src/concepts/EntityProperty__.ts.html +2668 -0
  84. package/coverage/src/concepts/Entity__.ts.html +2950 -0
  85. package/coverage/src/concepts/EnumItem__.ts.html +550 -0
  86. package/coverage/src/concepts/Enum__.ts.html +1231 -0
  87. package/coverage/src/concepts/Event__.ts.html +1084 -0
  88. package/coverage/src/concepts/ExternalDestination__.ts.html +1033 -0
  89. package/coverage/src/concepts/ForEachStatement__.ts.html +1957 -0
  90. package/coverage/src/concepts/FrontendLibrary__.ts.html +1711 -0
  91. package/coverage/src/concepts/FrontendVariable__.ts.html +292 -0
  92. package/coverage/src/concepts/Frontend__.ts.html +3961 -0
  93. package/coverage/src/concepts/Function__.ts.html +3598 -0
  94. package/coverage/src/concepts/Identifier__.ts.html +1057 -0
  95. package/coverage/src/concepts/IfStatement__.ts.html +1594 -0
  96. package/coverage/src/concepts/Integration__.ts.html +1228 -0
  97. package/coverage/src/concepts/InterfaceParam__.ts.html +1087 -0
  98. package/coverage/src/concepts/Interface__.ts.html +3394 -0
  99. package/coverage/src/concepts/JSBlock__.ts.html +421 -0
  100. package/coverage/src/concepts/JavaLogic__.ts.html +460 -0
  101. package/coverage/src/concepts/LogicItem__.ts.html +1171 -0
  102. package/coverage/src/concepts/Logic__.ts.html +7408 -0
  103. package/coverage/src/concepts/MatchCase__.ts.html +2929 -0
  104. package/coverage/src/concepts/Match__.ts.html +2455 -0
  105. package/coverage/src/concepts/MemberExpression__.ts.html +1726 -0
  106. package/coverage/src/concepts/MicroApp__.ts.html +436 -0
  107. package/coverage/src/concepts/Module__.ts.html +9220 -0
  108. package/coverage/src/concepts/MsgTriggerEvent__.ts.html +1045 -0
  109. package/coverage/src/concepts/MsgTriggerLauncher__.ts.html +1018 -0
  110. package/coverage/src/concepts/Namespace__.ts.html +7942 -0
  111. package/coverage/src/concepts/NewComposite__.ts.html +4729 -0
  112. package/coverage/src/concepts/NewList__.ts.html +1618 -0
  113. package/coverage/src/concepts/NewMap__.ts.html +2326 -0
  114. package/coverage/src/concepts/New__.ts.html +289 -0
  115. package/coverage/src/concepts/NullLiteral__.ts.html +349 -0
  116. package/coverage/src/concepts/NumericLiteral__.ts.html +676 -0
  117. package/coverage/src/concepts/OqlQueryComponent__.ts.html +1141 -0
  118. package/coverage/src/concepts/OverriddenLogic__.ts.html +6817 -0
  119. package/coverage/src/concepts/Param__.ts.html +1726 -0
  120. package/coverage/src/concepts/Point__.ts.html +331 -0
  121. package/coverage/src/concepts/ProcessComponent__.ts.html +1666 -0
  122. package/coverage/src/concepts/ProcessElement__.ts.html +5884 -0
  123. package/coverage/src/concepts/ProcessOutcome__.ts.html +352 -0
  124. package/coverage/src/concepts/ProcessOutcomes__.ts.html +343 -0
  125. package/coverage/src/concepts/Process__.ts.html +4768 -0
  126. package/coverage/src/concepts/QueryAggregateExpression__.ts.html +568 -0
  127. package/coverage/src/concepts/QueryFieldExpression__.ts.html +583 -0
  128. package/coverage/src/concepts/QueryFromExpression__.ts.html +910 -0
  129. package/coverage/src/concepts/QueryGroupByExpression__.ts.html +559 -0
  130. package/coverage/src/concepts/QueryJoinExpression__.ts.html +1567 -0
  131. package/coverage/src/concepts/QueryLimitExpression__.ts.html +637 -0
  132. package/coverage/src/concepts/QueryOrderByExpression__.ts.html +679 -0
  133. package/coverage/src/concepts/QuerySelectExpression__.ts.html +1714 -0
  134. package/coverage/src/concepts/Rect__.ts.html +373 -0
  135. package/coverage/src/concepts/Return__.ts.html +1312 -0
  136. package/coverage/src/concepts/Role__.ts.html +601 -0
  137. package/coverage/src/concepts/SelectMembers__.ts.html +1246 -0
  138. package/coverage/src/concepts/Slot__.ts.html +628 -0
  139. package/coverage/src/concepts/SqlQueryComponent__.ts.html +982 -0
  140. package/coverage/src/concepts/Start__.ts.html +304 -0
  141. package/coverage/src/concepts/StringInterpolation__.ts.html +1129 -0
  142. package/coverage/src/concepts/StringLiteral__.ts.html +505 -0
  143. package/coverage/src/concepts/StructureProperty__.ts.html +1132 -0
  144. package/coverage/src/concepts/Structure__.ts.html +2092 -0
  145. package/coverage/src/concepts/SwitchCase__.ts.html +1174 -0
  146. package/coverage/src/concepts/SwitchStatement__.ts.html +877 -0
  147. package/coverage/src/concepts/Theme__.ts.html +358 -0
  148. package/coverage/src/concepts/Transactional__.ts.html +628 -0
  149. package/coverage/src/concepts/TriggerEvent__.ts.html +1012 -0
  150. package/coverage/src/concepts/TriggerLauncher__.ts.html +775 -0
  151. package/coverage/src/concepts/TypeAnnotation__.ts.html +3718 -0
  152. package/coverage/src/concepts/TypeParam__.ts.html +319 -0
  153. package/coverage/src/concepts/UnaryExpression__.ts.html +697 -0
  154. package/coverage/src/concepts/Unparsed__.ts.html +394 -0
  155. package/coverage/src/concepts/UseComponent__.ts.html +331 -0
  156. package/coverage/src/concepts/ValidationRule__.ts.html +1840 -0
  157. package/coverage/src/concepts/Variable__.ts.html +1489 -0
  158. package/coverage/src/concepts/ViewBlock__.ts.html +352 -0
  159. package/coverage/src/concepts/ViewComponent__.ts.html +4180 -0
  160. package/coverage/src/concepts/ViewElement__.ts.html +8803 -0
  161. package/coverage/src/concepts/View__.ts.html +8620 -0
  162. package/coverage/src/concepts/WhileStatement__.ts.html +1063 -0
  163. package/coverage/src/concepts/basics/stdlib/index.html +356 -0
  164. package/coverage/src/concepts/basics/stdlib/index.ts.html +208 -0
  165. package/coverage/src/concepts/basics/stdlib/nasl.auth.ts.html +565 -0
  166. package/coverage/src/concepts/basics/stdlib/nasl.browser.ts.html +517 -0
  167. package/coverage/src/concepts/basics/stdlib/nasl.collection.ts.html +226 -0
  168. package/coverage/src/concepts/basics/stdlib/nasl.configuration.ts.html +172 -0
  169. package/coverage/src/concepts/basics/stdlib/nasl.core.ts.html +214 -0
  170. package/coverage/src/concepts/basics/stdlib/nasl.event.ts.html +145 -0
  171. package/coverage/src/concepts/basics/stdlib/nasl.http.ts.html +589 -0
  172. package/coverage/src/concepts/basics/stdlib/nasl.interface.ts.html +214 -0
  173. package/coverage/src/concepts/basics/stdlib/nasl.io.ts.html +229 -0
  174. package/coverage/src/concepts/basics/stdlib/nasl.logging.ts.html +268 -0
  175. package/coverage/src/concepts/basics/stdlib/nasl.process.ts.html +1999 -0
  176. package/coverage/src/concepts/basics/stdlib/nasl.ui.ts.html +3259 -0
  177. package/coverage/src/concepts/basics/stdlib/nasl.util.ts.html +6844 -0
  178. package/coverage/src/concepts/basics/stdlib/nasl.validation.ts.html +1768 -0
  179. package/coverage/src/concepts/basics/stdlib/reference2TypeAnnotationList.ts.html +163 -0
  180. package/coverage/src/concepts/basics/stdlib/timeZone.ts.html +664 -0
  181. package/coverage/src/concepts/basics/types/coreTypeList.ts.html +121 -0
  182. package/coverage/src/concepts/basics/types/index.html +131 -0
  183. package/coverage/src/concepts/basics/types/index.ts.html +160 -0
  184. package/coverage/src/concepts/index.html +1961 -0
  185. package/coverage/src/concepts/index.ts.html +103 -0
  186. package/coverage/src/concepts/index__.ts.html +451 -0
  187. package/coverage/src/config.ts.html +325 -0
  188. package/coverage/src/decorators/index.html +131 -0
  189. package/coverage/src/decorators/index.ts.html +574 -0
  190. package/coverage/src/decorators/promise.ts.html +169 -0
  191. package/coverage/src/eventBus.ts.html +100 -0
  192. package/coverage/src/generator/compileComponent.ts.html +142 -0
  193. package/coverage/src/generator/genBundleFiles.ts.html +1828 -0
  194. package/coverage/src/generator/genHash.ts.html +124 -0
  195. package/coverage/src/generator/genMetaData.ts.html +1042 -0
  196. package/coverage/src/generator/genReleaseBody.ts.html +1282 -0
  197. package/coverage/src/generator/icestark.ts.html +220 -0
  198. package/coverage/src/generator/index.html +266 -0
  199. package/coverage/src/generator/index.ts.html +106 -0
  200. package/coverage/src/generator/microApp.ts.html +172 -0
  201. package/coverage/src/generator/permission.ts.html +1036 -0
  202. package/coverage/src/generator/qiankun.ts.html +232 -0
  203. package/coverage/src/generator/styleReplacer.ts.html +199 -0
  204. package/coverage/src/index.html +146 -0
  205. package/coverage/src/index.ts.html +121 -0
  206. package/coverage/src/manager/diagnostic.ts.html +442 -0
  207. package/coverage/src/manager/index.html +131 -0
  208. package/coverage/src/manager/stepRecorder.ts.html +457 -0
  209. package/coverage/src/natural/genNaturalTS.ts.html +355 -0
  210. package/coverage/src/natural/index.html +161 -0
  211. package/coverage/src/natural/index.ts.html +91 -0
  212. package/coverage/src/natural/naslStdlibMap.ts.html +157 -0
  213. package/coverage/src/natural/transformTSCode.ts.html +2647 -0
  214. package/coverage/src/sentry/index.html +116 -0
  215. package/coverage/src/sentry/index.ts.html +676 -0
  216. package/coverage/src/server/createUiTs.ts.html +910 -0
  217. package/coverage/src/server/entity2LogicNamespace.ts.html +1294 -0
  218. package/coverage/src/server/event.js.html +526 -0
  219. package/coverage/src/server/extendBaseNode.ts.html +1762 -0
  220. package/coverage/src/server/formatTsUtils.ts.html +2689 -0
  221. package/coverage/src/server/getConnector.ts.html +316 -0
  222. package/coverage/src/server/getExtensionModules.ts.html +178 -0
  223. package/coverage/src/server/getFunctions.ts.html +133 -0
  224. package/coverage/src/server/getInterfaces.ts.html +229 -0
  225. package/coverage/src/server/getLogging.ts.html +100 -0
  226. package/coverage/src/server/getLogics.ts.html +1363 -0
  227. package/coverage/src/server/getMemberIdentifier.ts.html +1561 -0
  228. package/coverage/src/server/getProcessComponents.ts.html +112 -0
  229. package/coverage/src/server/getProcesses.ts.html +2023 -0
  230. package/coverage/src/server/getValidates.ts.html +115 -0
  231. package/coverage/src/server/index.html +401 -0
  232. package/coverage/src/server/index.ts.html +229 -0
  233. package/coverage/src/server/naslServer.ts.html +14401 -0
  234. package/coverage/src/server/naslStdlibMap.ts.html +241 -0
  235. package/coverage/src/server/process2LogicNamespace.ts.html +454 -0
  236. package/coverage/src/server/translator.ts.html +2566 -0
  237. package/coverage/src/service/creator/add.configs.js.html +379 -0
  238. package/coverage/src/service/creator/errHandles.js.html +322 -0
  239. package/coverage/src/service/creator/index.html +146 -0
  240. package/coverage/src/service/creator/index.js.html +352 -0
  241. package/coverage/src/service/datasource/api.js.html +118 -0
  242. package/coverage/src/service/datasource/index.html +131 -0
  243. package/coverage/src/service/datasource/index.js.html +103 -0
  244. package/coverage/src/service/logic/api.js.html +109 -0
  245. package/coverage/src/service/logic/index.html +131 -0
  246. package/coverage/src/service/logic/index.js.html +103 -0
  247. package/coverage/src/service/storage/api.js.html +202 -0
  248. package/coverage/src/service/storage/index.html +206 -0
  249. package/coverage/src/service/storage/index.ts.html +103 -0
  250. package/coverage/src/service/storage/init.ts.html +2761 -0
  251. package/coverage/src/service/storage/jsoner.ts.html +502 -0
  252. package/coverage/src/service/storage/map.ts.html +256 -0
  253. package/coverage/src/service/storage/service.ts.html +331 -0
  254. package/coverage/src/service/storage/storagePoint.ts.html +304 -0
  255. package/coverage/src/templator/genCallComponentLogic.ts.html +163 -0
  256. package/coverage/src/templator/genCreateBlock.ts.html +1093 -0
  257. package/coverage/src/templator/genCurdEditMultipleKeyBlock.ts.html +1609 -0
  258. package/coverage/src/templator/genCurdMultipleKeyBlock.ts.html +2254 -0
  259. package/coverage/src/templator/genEditTableBlock.ts.html +955 -0
  260. package/coverage/src/templator/genEnumSelectBlock.ts.html +178 -0
  261. package/coverage/src/templator/genGetBlock.ts.html +451 -0
  262. package/coverage/src/templator/genGridViewBlock.ts.html +1114 -0
  263. package/coverage/src/templator/genListViewBlock.ts.html +475 -0
  264. package/coverage/src/templator/genQueryComponent.ts.html +1207 -0
  265. package/coverage/src/templator/genSelectBlock.ts.html +1243 -0
  266. package/coverage/src/templator/genTableBlock.ts.html +910 -0
  267. package/coverage/src/templator/genUpdateBlock.ts.html +1192 -0
  268. package/coverage/src/templator/index.html +326 -0
  269. package/coverage/src/templator/index.ts.html +154 -0
  270. package/coverage/src/templator/utils.ts.html +1861 -0
  271. package/coverage/src/translator/constant.ts.html +106 -0
  272. package/coverage/src/translator/index.html +146 -0
  273. package/coverage/src/translator/index.ts.html +94 -0
  274. package/coverage/src/translator/utils.ts.html +436 -0
  275. package/coverage/src/utils/cookie.ts.html +265 -0
  276. package/coverage/src/utils/env.ts.html +91 -0
  277. package/coverage/src/utils/index.html +236 -0
  278. package/coverage/src/utils/index.ts.html +655 -0
  279. package/coverage/src/utils/logger.ts.html +145 -0
  280. package/coverage/src/utils/sortTsString.ts.html +187 -0
  281. package/coverage/src/utils/string.ts.html +400 -0
  282. package/coverage/src/utils/time-slicing.ts.html +418 -0
  283. package/coverage/src/utils/traverse.ts.html +568 -0
  284. package/coverage/src/utils/window.ts.html +112 -0
  285. package/out/bak/translator.js +16 -18
  286. package/out/bak/translator.js.map +1 -1
  287. package/out/breakpoint/generator/BreakpointNode.js +1 -0
  288. package/out/breakpoint/generator/BreakpointNode.js.map +1 -1
  289. package/out/breakpoint/shared/constants.d.ts +2 -0
  290. package/out/breakpoint/shared/constants.js +3 -1
  291. package/out/breakpoint/shared/constants.js.map +1 -1
  292. package/out/breakpoint/shared/socket.d.ts +1 -0
  293. package/out/breakpoint/shared/socket.js +35 -17
  294. package/out/breakpoint/shared/socket.js.map +1 -1
  295. package/out/breakpoint/shared/utils.js +33 -1
  296. package/out/breakpoint/shared/utils.js.map +1 -1
  297. package/out/breakpoint/store/core.d.ts +2 -0
  298. package/out/breakpoint/store/core.js +5 -3
  299. package/out/breakpoint/store/core.js.map +1 -1
  300. package/out/breakpoint/store/dock.js +33 -0
  301. package/out/breakpoint/store/dock.js.map +1 -1
  302. package/out/concepts/AuthLogicForCallInterface__.js +2 -1
  303. package/out/concepts/AuthLogicForCallInterface__.js.map +1 -1
  304. package/out/concepts/BinaryExpression__.js +5 -5
  305. package/out/concepts/BinaryExpression__.js.map +1 -1
  306. package/out/concepts/BindAttribute__.js +3 -3
  307. package/out/concepts/BindAttribute__.js.map +1 -1
  308. package/out/concepts/CallConnector__.d.ts +2 -0
  309. package/out/concepts/CallConnector__.js +17 -1
  310. package/out/concepts/CallConnector__.js.map +1 -1
  311. package/out/concepts/CallFunction__.js +31 -24
  312. package/out/concepts/CallFunction__.js.map +1 -1
  313. package/out/concepts/CallLogic__.js +53 -46
  314. package/out/concepts/CallLogic__.js.map +1 -1
  315. package/out/concepts/Connection__.js +1 -1
  316. package/out/concepts/Connection__.js.map +1 -1
  317. package/out/concepts/ForEachStatement__.d.ts +1 -20
  318. package/out/concepts/ForEachStatement__.js +16 -14
  319. package/out/concepts/ForEachStatement__.js.map +1 -1
  320. package/out/concepts/IfStatement__.js +24 -25
  321. package/out/concepts/IfStatement__.js.map +1 -1
  322. package/out/concepts/Logic__.js +8 -20
  323. package/out/concepts/Logic__.js.map +1 -1
  324. package/out/concepts/MatchCase__.js +12 -7
  325. package/out/concepts/MatchCase__.js.map +1 -1
  326. package/out/concepts/MemberExpression__.js +11 -14
  327. package/out/concepts/MemberExpression__.js.map +1 -1
  328. package/out/concepts/NewComposite__.d.ts +1 -1
  329. package/out/concepts/NewComposite__.js +11 -83
  330. package/out/concepts/NewComposite__.js.map +1 -1
  331. package/out/concepts/NewList__.js +11 -9
  332. package/out/concepts/NewList__.js.map +1 -1
  333. package/out/concepts/NewMap__.d.ts +1 -1
  334. package/out/concepts/NewMap__.js +12 -4
  335. package/out/concepts/NewMap__.js.map +1 -1
  336. package/out/concepts/New__.js +3 -1
  337. package/out/concepts/New__.js.map +1 -1
  338. package/out/concepts/StringInterpolation__.js +2 -2
  339. package/out/concepts/StringInterpolation__.js.map +1 -1
  340. package/out/concepts/SwitchCase__.js +8 -4
  341. package/out/concepts/SwitchCase__.js.map +1 -1
  342. package/out/concepts/ViewElement__.d.ts +4 -2
  343. package/out/concepts/ViewElement__.js +7 -21
  344. package/out/concepts/ViewElement__.js.map +1 -1
  345. package/out/concepts/WhileStatement__.js +6 -4
  346. package/out/concepts/WhileStatement__.js.map +1 -1
  347. package/out/concepts/basics/stdlib/nasl.browser.js +19 -3
  348. package/out/concepts/basics/stdlib/nasl.browser.js.map +1 -1
  349. package/out/concepts/basics/stdlib/nasl.util.d.ts +2 -0
  350. package/out/concepts/basics/stdlib/nasl.util.js +36 -11
  351. package/out/concepts/basics/stdlib/nasl.util.js.map +1 -1
  352. package/out/concepts/basics/stdlib/timeZone.d.ts +5 -0
  353. package/out/concepts/basics/stdlib/timeZone.js +196 -0
  354. package/out/concepts/basics/stdlib/timeZone.js.map +1 -0
  355. package/out/generator/genBundleFiles.js +12 -4
  356. package/out/generator/genBundleFiles.js.map +1 -1
  357. package/out/generator/genReleaseBody.js +1 -1
  358. package/out/generator/genReleaseBody.js.map +1 -1
  359. package/out/natural/genNaturalTS.d.ts +2 -2
  360. package/out/natural/genNaturalTS.js +5 -5
  361. package/out/natural/genNaturalTS.js.map +1 -1
  362. package/out/natural/transformTSCode.js +18 -3
  363. package/out/natural/transformTSCode.js.map +1 -1
  364. package/out/server/createUiTs.js +3 -0
  365. package/out/server/createUiTs.js.map +1 -1
  366. package/out/server/getLogics.js +3 -1
  367. package/out/server/getLogics.js.map +1 -1
  368. package/out/server/getMemberIdentifier.js +15 -0
  369. package/out/server/getMemberIdentifier.js.map +1 -1
  370. package/out/server/naslServer.js +35 -9
  371. package/out/server/naslServer.js.map +1 -1
  372. package/out/service/creator/errHandles.js +10 -19
  373. package/out/service/creator/errHandles.js.map +1 -1
  374. package/out/service/storage/init.js +7 -2
  375. package/out/service/storage/init.js.map +1 -1
  376. package/out/service/storage/jsoner.js +1 -3
  377. package/out/service/storage/jsoner.js.map +1 -1
  378. package/out/templator/genEditTableBlock.js +24 -2
  379. package/out/templator/genEditTableBlock.js.map +1 -1
  380. package/out/templator/genTableBlock.js +22 -1
  381. package/out/templator/genTableBlock.js.map +1 -1
  382. package/out/translator/types.d.ts +1 -0
  383. package/out/translator/utils.js +13 -0
  384. package/out/translator/utils.js.map +1 -1
  385. package/package.json +2 -2
  386. package/sandbox/stdlib/nasl.browser.ts +2 -0
  387. package/sandbox/stdlib/nasl.ui.definition.ts +2220 -2218
  388. package/sandbox/stdlib/nasl.util.ts +20 -10
  389. package/sandbox-natural/stdlib/nasl.core.ts +6 -3
  390. package/sandbox-natural/stdlib/nasl.oql.ts +6 -0
  391. package/sandbox-natural/stdlib/nasl.util.ts +1 -1
  392. package/src/bak/translator.js +16 -17
  393. package/src/breakpoint/generator/BreakpointNode.ts +1 -0
  394. package/src/breakpoint/shared/constants.ts +2 -0
  395. package/src/breakpoint/shared/socket.ts +41 -17
  396. package/src/breakpoint/shared/utils.ts +43 -1
  397. package/src/breakpoint/store/core.ts +2 -2
  398. package/src/breakpoint/store/dock.ts +50 -0
  399. package/src/breakpoint/types/index.d.ts +1 -0
  400. package/src/concepts/AuthLogicForCallInterface__.ts +2 -1
  401. package/src/concepts/BinaryExpression__.ts +6 -6
  402. package/src/concepts/BindAttribute__.ts +5 -4
  403. package/src/concepts/CallConnector__.ts +19 -1
  404. package/src/concepts/CallFunction__.ts +40 -22
  405. package/src/concepts/CallLogic__.ts +39 -32
  406. package/src/concepts/Connection__.ts +1 -1
  407. package/src/concepts/ForEachStatement__.ts +17 -15
  408. package/src/concepts/IfStatement__.ts +30 -30
  409. package/src/concepts/Logic__.ts +13 -27
  410. package/src/concepts/MatchCase__.ts +15 -7
  411. package/src/concepts/MemberExpression__.ts +11 -14
  412. package/src/concepts/NewComposite__.ts +15 -83
  413. package/src/concepts/NewList__.ts +11 -9
  414. package/src/concepts/NewMap__.ts +12 -4
  415. package/src/concepts/New__.ts +1 -0
  416. package/src/concepts/StringInterpolation__.ts +2 -2
  417. package/src/concepts/SwitchCase__.ts +9 -5
  418. package/src/concepts/ViewElement__.ts +8 -22
  419. package/src/concepts/WhileStatement__.ts +7 -5
  420. package/src/concepts/basics/stdlib/nasl.browser.ts +19 -3
  421. package/src/concepts/basics/stdlib/nasl.util.ts +38 -19
  422. package/src/concepts/basics/stdlib/timeZone.ts +193 -0
  423. package/src/generator/genBundleFiles.ts +12 -4
  424. package/src/generator/genReleaseBody.ts +1 -1
  425. package/src/natural/genNaturalTS.ts +5 -5
  426. package/src/natural/transformTSCode.ts +18 -4
  427. package/src/server/createUiTs.ts +3 -0
  428. package/src/server/getLogics.ts +3 -1
  429. package/src/server/getMemberIdentifier.ts +15 -0
  430. package/src/server/naslServer.ts +126 -83
  431. package/src/service/creator/errHandles.js +10 -16
  432. package/src/service/storage/init.ts +10 -3
  433. package/src/service/storage/jsoner.ts +2 -2
  434. package/src/templator/genEditTableBlock.ts +24 -2
  435. package/src/templator/genTableBlock.ts +22 -1
  436. package/src/translator/types.ts +1 -0
  437. package/src/translator/utils.ts +15 -0
  438. package/test/concepts/call-logic/__snapshots__/toJS.spec.ts.snap +20 -20
  439. package/test/concepts/match/__snapshots__/toJS.spec.ts.snap +1 -1
  440. package/test/concepts/member-expression/__snapshots__/toEmbeddedTS.spec.ts.snap +1 -1
  441. package/test/concepts/view-element/__snapshots__/toVue.spec.ts.snap +10 -10
@@ -20,6 +20,7 @@ import BaseNode from '../common/BaseNode';
20
20
  import TypeAnnotation from './TypeAnnotation__';
21
21
  import Argument from './Argument__';
22
22
  import LogicItem from './LogicItem__';
23
+ import StringLiteral from './StringLiteral__';
23
24
 
24
25
  /**
25
26
  * 调用函数
@@ -371,9 +372,12 @@ export class CallFunction extends LogicItem {
371
372
  const needToString = ['Concat'].includes(this.calleeName);
372
373
  this.arguments?.forEach((arg: any, index) => {
373
374
  let argStr = arg?.toVue(options);
375
+ const argTypeAnnotation = arg.typeAnnotation || arg.__TypeAnnotation;
376
+
374
377
  if (needToString) {
375
- const argTypeAnnotation = arg.typeAnnotation || arg.__TypeAnnotation;
376
- argStr = `$utils['ToString'](${argStr}, '${argTypeAnnotation?.sortedTypeKey}')`;
378
+ argStr = `$utils['ToString']('${argTypeAnnotation?.sortedTypeKey}', ${argStr})`;
379
+ } else if (['HasValue'].includes(this.calleeName)) {
380
+ argStr = `{ type: '${argTypeAnnotation?.sortedTypeKey}', value: ${argStr} }`;
377
381
  }
378
382
  code += argStr;
379
383
  if (index !== this.arguments?.length - 1) code += ', ';
@@ -421,47 +425,61 @@ export class CallFunction extends LogicItem {
421
425
  }
422
426
  code += `this.$utils['${calleeName}']`;
423
427
  code += '(';
428
+
429
+
430
+ let argTyAnno;
431
+ if (this.calleeName === 'ToString') {
432
+ const arg0 = this.arguments[0];
433
+ argTyAnno = (arg0 as any).typeAnnotation || arg0.__TypeAnnotation;
434
+ } else if (this.calleeName === 'FromString') {
435
+ argTyAnno = this.typeArguments?.[0];
436
+ }
437
+
438
+
439
+ // 调整 ToString 的 typeKey 到第一个参数,剩下的以后重构。
440
+ // 事实上,大部分编译器都会选择把 type tag 放到前端来做运行时匹配,而非末位。
441
+ if (this.calleeName === 'ToString' && argTyAnno) {
442
+ code += `'${argTyAnno?.sortedTypeKey}', `
443
+ }
444
+
424
445
  if (Array.isArray(this.arguments) && this.arguments.length) {
425
446
  const needToString = ['Concat'].includes(this.calleeName);
447
+
426
448
  this.arguments.forEach((arg: any, index) => {
427
449
  let argStr = arg?.toJS(shiftState(state, code));
428
450
  const argTypeAnnotation = arg.typeAnnotation || arg.__TypeAnnotation;
451
+
429
452
  if (needToString) {
430
- argStr = `this.$utils['ToString'](${argStr}, '${argTypeAnnotation?.sortedTypeKey}')`;
453
+ argStr = `this.$utils['ToString']('${argTypeAnnotation?.sortedTypeKey}', ${argStr})`;
431
454
  } else if (['HasValue'].includes(this.calleeName)) {
432
- argStr = `{ value: ${argStr}, type: '${argTypeAnnotation?.sortedTypeKey}' }`;
455
+ argStr = `{ type: '${argTypeAnnotation?.sortedTypeKey}', value: ${argStr} }`;
433
456
  }
434
457
  code += argStr;
435
458
  if (index !== this.arguments?.length - 1) code += ', ';
436
459
  });
437
460
  }
438
- const isStringConvert = ['ToString', 'FromString'].includes(this.calleeName);
439
- let argTypeAnnotation;
440
- if (isStringConvert) {
441
- if (this.calleeName === 'ToString') {
442
- const arg = this.arguments[0];
443
- argTypeAnnotation = (arg as any).typeAnnotation || arg.__TypeAnnotation;
444
- } else if (this.calleeName === 'FromString') {
445
- argTypeAnnotation = this.typeArguments?.[0];
446
- }
461
+
462
+ if (this.calleeName === 'fromString' && argTyAnno) {
463
+ code += `, '${argTyAnno?.sortedTypeKey}'`
447
464
  }
448
- if (argTypeAnnotation) {
449
- code += `, '${argTypeAnnotation?.sortedTypeKey}'`;
450
- } else if (Array.isArray(this.typeArguments) && this.typeArguments.length) {
465
+ // 用作做语义控制。后面这段代码没完全理解,需要保持进入条件不变。
466
+ const flagControl = ['ToString', 'fromString'].includes(this.calleeName) && argTyAnno;
467
+ if (!flagControl && Array.isArray(this.typeArguments) && this.typeArguments.length) {
451
468
  if (this.arguments?.length) code += ', ';
452
- this.typeArguments?.forEach((arg, index) => {
453
- code += arg?.toJS(shiftState(state, code));
469
+
470
+ this.typeArguments?.forEach((tyArg, index) => {
471
+ code += tyArg?.toJS(shiftState(state, code));
454
472
  if (index !== this.typeArguments?.length - 1) code += ', ';
455
473
  });
456
474
  }
457
475
 
458
476
  code += ')';
459
- const typeAnnotation = (this as any).typeAnnotation || this.__TypeAnnotation;
477
+ const tyAnno = (this as any).typeAnnotation || this.__TypeAnnotation;
460
478
  const needGenInitFromSchema =
461
- typeAnnotation &&
462
- (!['primitive', 'union'].includes(typeAnnotation.typeKind) || typeAnnotation.typeName === 'DateTime');
479
+ tyAnno &&
480
+ (!['primitive', 'union'].includes(tyAnno.typeKind) || tyAnno.typeName === 'DateTime');
463
481
  if (needGenInitFromSchema) {
464
- code = `this.$genInitFromSchema('${typeAnnotation?.sortedTypeKey}', ${code})`;
482
+ code = `this.$genInitFromSchema('${tyAnno?.sortedTypeKey}', ${code})`;
465
483
  }
466
484
  return code;
467
485
  }
@@ -1,4 +1,5 @@
1
1
  import * as JSON5 from 'json5';
2
+ import { v4 as uuidv4 } from 'uuid';
2
3
  import { TranslatorState, shiftState, withSourceMap, createCompilerState } from '../translator';
3
4
  import Logic from './Logic__';
4
5
  import type Param from './Param__';
@@ -11,15 +12,14 @@ import type { ViewElement, ElementToVueOptions } from './ViewElement__';
11
12
  import type { MemberExpression } from './MemberExpression__';
12
13
  import type { TSPPosition } from '../translator';
13
14
 
14
- //================================================================================
15
+ //= ===============================================================================
15
16
  // 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
16
17
  // ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
17
- //================================================================================
18
+ //= ===============================================================================
18
19
  import { EventPayload, Params } from '../common/EventEmitter';
19
20
  import { concept, excludedInJSON, property, className } from '../decorators';
20
21
 
21
22
  import * as utils from '../utils';
22
- import { v4 as uuidv4 } from 'uuid';
23
23
  import BaseNode from '../common/BaseNode';
24
24
  import TypeAnnotation from './TypeAnnotation__';
25
25
  import Argument from './Argument__';
@@ -112,7 +112,7 @@ export class CallLogic extends LogicItem {
112
112
  * @param source 需要合并的部分参数
113
113
  */
114
114
  constructor(source?: Partial<CallLogic>) {
115
- source = Object.assign({}, CallLogic.getDefaultOptions(), source);
115
+ source = { ...CallLogic.getDefaultOptions(), ...source};
116
116
  super(source);
117
117
  super.subConstructor(source);
118
118
  }
@@ -355,12 +355,12 @@ export class CallLogic extends LogicItem {
355
355
  removeTypeAnnotation(typeAnnotation: TypeAnnotation): void;
356
356
 
357
357
  removeTypeAnnotation(options: TypeAnnotation) {
358
- let typeAnnotation: TypeAnnotation = options;
358
+ const typeAnnotation: TypeAnnotation = options;
359
359
  return typeAnnotation.delete();
360
360
  }
361
361
 
362
362
  __removeTypeAnnotation(typeAnnotation: TypeAnnotation) {
363
- const parentKey = typeAnnotation.parentKey;
363
+ const {parentKey} = typeAnnotation;
364
364
  const params: Params = {
365
365
  parentNode: this,
366
366
  parentKey,
@@ -389,12 +389,12 @@ export class CallLogic extends LogicItem {
389
389
  removeArgument(argument: Argument): void;
390
390
 
391
391
  removeArgument(options: Argument) {
392
- let argument: Argument = options;
392
+ const argument: Argument = options;
393
393
  return argument.delete();
394
394
  }
395
395
 
396
396
  __removeLogicItem(logicItem: LogicItem) {
397
- const parentKey = logicItem.parentKey;
397
+ const {parentKey} = logicItem;
398
398
  const params: Params = {
399
399
  parentNode: this,
400
400
  parentKey,
@@ -433,7 +433,7 @@ export class CallLogic extends LogicItem {
433
433
  if (typeof options === 'string') {
434
434
  validation = this.validation;
435
435
  if (!validation) {
436
- throw new Error('找不到元素绑定属性 ' + options);
436
+ throw new Error(`找不到元素绑定属性 ${ options}`);
437
437
  }
438
438
  } else {
439
439
  validation = options;
@@ -442,7 +442,7 @@ export class CallLogic extends LogicItem {
442
442
  }
443
443
 
444
444
  __removeBindAttribute(bindAttribute: BindAttribute) {
445
- const parentKey = bindAttribute.parentKey;
445
+ const {parentKey} = bindAttribute;
446
446
  const params: Params = {
447
447
  parentNode: this,
448
448
  parentKey,
@@ -464,10 +464,10 @@ export class CallLogic extends LogicItem {
464
464
  return params;
465
465
  }
466
466
 
467
- //================================================================================
467
+ //= ===============================================================================
468
468
  // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
469
469
  // 自动生成的代码已结束。下面可以手动编写。
470
- //================================================================================
470
+ //= ===============================================================================
471
471
 
472
472
  get tsCalleeNamespace() {
473
473
  if (this.calleeNamespace) {
@@ -708,7 +708,7 @@ export class CallLogic extends LogicItem {
708
708
  ) {
709
709
  code += '$global.';
710
710
  }
711
- const completeArguments = this.completeArguments;
711
+ const {completeArguments} = this;
712
712
 
713
713
  if (this.concept === 'CallLogic' && this.getAncestor('BindAttribute')?.name === 'data-source') {
714
714
  if (this.calleeNamespace) {
@@ -775,7 +775,6 @@ export class CallLogic extends LogicItem {
775
775
  });
776
776
  }
777
777
  code += ')}';
778
-
779
778
  return code;
780
779
  }
781
780
 
@@ -989,6 +988,7 @@ export class CallLogic extends LogicItem {
989
988
  breakBody = true;
990
989
  break;
991
990
  }
991
+ default: break;
992
992
  }
993
993
  const bodyArgument = logicArgs.find((arg) => arg.keyword === 'body');
994
994
  if (!breakBody) {
@@ -1023,7 +1023,7 @@ export class CallLogic extends LogicItem {
1023
1023
  code += '\n})';
1024
1024
  } else {
1025
1025
  if (isComponentLogic) {
1026
- // 组件ref元素的对象没有qu dao的容错
1026
+ // 组件ref元素的对象没有取到的容错
1027
1027
  code += `this.$refs && this.$refs[\`${refName}\`] && this.$refs[\`${refName}\`].${this.calleeName} && this.$refs[\`${refName}\`].${this.calleeName}`;
1028
1028
  } else if (calleeNamespace === 'nasl.ui' || calleeNamespace === 'nasl.util') {
1029
1029
  switch (this.calleeName) {
@@ -1034,11 +1034,17 @@ export class CallLogic extends LogicItem {
1034
1034
  code += `console.log`;
1035
1035
  break;
1036
1036
  case 'jsonSerialize':
1037
- code += `JSON.stringify`;
1037
+ if (this.arguments[0]?.expression?.__TypeAnnotation?.typeName === 'String' &&
1038
+ this.arguments[0]?.expression?.__TypeAnnotation?.typeNamespace === 'nasl.core') {
1039
+ code += `JSON.stringify`;
1040
+ } else {
1041
+ code += `this.$utils['JsonSerialize']`
1042
+ }
1038
1043
  break;
1039
1044
  case 'jsonDeserialize':
1040
1045
  code += `JSON.parse`;
1041
1046
  break;
1047
+ default: ;
1042
1048
  }
1043
1049
  } else if (
1044
1050
  calleeNamespace === 'nasl.browser' ||
@@ -1071,17 +1077,18 @@ export class CallLogic extends LogicItem {
1071
1077
  code += `this.$utils['ToString'](`;
1072
1078
  }
1073
1079
  if (Array.isArray(completeArguments) && completeArguments.length) {
1074
- completeArguments.forEach((arg, index) => {
1075
- code += arg?.toJS(shiftState(state, code));
1076
- if (index !== completeArguments?.length - 1) code += ', ';
1077
- });
1078
1080
  if (needToString) {
1079
1081
  const arg = this.arguments[0];
1080
1082
  const argTypeAnnotation = (arg as any).typeAnnotation || arg.__TypeAnnotation;
1081
1083
  if (argTypeAnnotation) {
1082
- code += `, '${argTypeAnnotation?.sortedTypeKey}'`;
1084
+ code += `'${argTypeAnnotation?.sortedTypeKey}', `;
1083
1085
  }
1084
1086
  }
1087
+
1088
+ completeArguments.forEach((arg, index) => {
1089
+ code += arg?.toJS(shiftState(state, code));
1090
+ if (index !== completeArguments?.length - 1) code += ', ';
1091
+ });
1085
1092
  }
1086
1093
  if (needToString) {
1087
1094
  code += `)`;
@@ -1320,7 +1327,6 @@ export class CallLogic extends LogicItem {
1320
1327
  toNaturalTS(state = createCompilerState()): string {
1321
1328
  const {
1322
1329
  handleError,
1323
- calleeKey,
1324
1330
  calleeName,
1325
1331
  parentKey,
1326
1332
  typeArguments,
@@ -1333,9 +1339,10 @@ export class CallLogic extends LogicItem {
1333
1339
  arguments: logicArgs,
1334
1340
  } = this;
1335
1341
 
1336
- let code = calleeKey.replace('__elements', '$refs');
1342
+ let code = '';
1343
+ let calleeKey = this.calleeKey.replace('__elements', '$refs');
1337
1344
  if (/^app.+?\.entities\..+?logics/.test(code))
1338
- code = code.replace(/^app.+?\.entities\.(.+?)\.logics/, '$1');
1345
+ calleeKey = calleeKey.replace(/^app.+?\.entities\.(.+?)\.logics/, '$1');
1339
1346
  /** 设置函数范型参数 */
1340
1347
  const setTypeArguments = () => {
1341
1348
  if (Array.isArray(typeArguments) && typeArguments.length) {
@@ -1357,7 +1364,7 @@ export class CallLogic extends LogicItem {
1357
1364
  code += '(';
1358
1365
  logicArgs.forEach((arg, index) => {
1359
1366
  // 页面逻辑先都非必填
1360
- code += arg.toNaturalTS(shiftState(state, code), paramRequired);
1367
+ code += arg.toNaturalTS(shiftState(state, code, { tabSize: 0 }), paramRequired);
1361
1368
  if (index !== logicArgs.length - 1) code += ', ';
1362
1369
  });
1363
1370
  code += ')';
@@ -1365,7 +1372,7 @@ export class CallLogic extends LogicItem {
1365
1372
  code += '(';
1366
1373
  completeArguments.forEach((arg, index) => {
1367
1374
  // 取到是不是必填放入参数中
1368
- code += arg.toNaturalTS(shiftState(state, code), arg?.paramRequired);
1375
+ code += arg.toNaturalTS(shiftState(state, code, { tabSize: 0 }), arg?.paramRequired);
1369
1376
  if (index !== logicArgs.length - 1) code += ', ';
1370
1377
  });
1371
1378
  code += ')';
@@ -1478,7 +1485,7 @@ export class CallLogic extends LogicItem {
1478
1485
  line: detail.line + lineOffset,
1479
1486
  offset: characterOffset,
1480
1487
  };
1481
- } else {
1488
+ }
1482
1489
  let indexOf = 0;
1483
1490
 
1484
1491
  // 没有括号,表示括号在外面
@@ -1503,7 +1510,7 @@ export class CallLogic extends LogicItem {
1503
1510
  ...detail,
1504
1511
  offset: detail.offset + indexOf,
1505
1512
  };
1506
- }
1513
+
1507
1514
  }
1508
1515
 
1509
1516
  /**
@@ -1553,14 +1560,14 @@ export class CallLogic extends LogicItem {
1553
1560
  public static getDefaultOptions() {
1554
1561
  return {};
1555
1562
  }
1556
- //================================================================================
1563
+ //= ===============================================================================
1557
1564
  // 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
1558
1565
  // ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
1559
- //================================================================================
1566
+ //= ===============================================================================
1560
1567
  }
1561
1568
 
1562
1569
  export default CallLogic;
1563
- //================================================================================
1570
+ //= ===============================================================================
1564
1571
  // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
1565
1572
  // 自动生成的代码已结束。下面可以手动编写。
1566
- //================================================================================
1573
+ //= ===============================================================================
@@ -401,7 +401,7 @@ export class Connection extends BaseNode {
401
401
  @withSourceMap()
402
402
  toEmbeddedTS(state?: TranslatorState, prependCode?: string, noName?: boolean, prefix?: boolean): string {
403
403
  let code = '';
404
- code += `export function ${this.name}<T extends (...args: any[]) => any>(`;
404
+ code += `export function ${this.tsName}<T extends (...args: any[]) => any>(`;
405
405
  code += 'cb: T';
406
406
  code += `): ReturnType<T> {\n`;
407
407
  code += '\n';
@@ -77,7 +77,7 @@ export class ForEachStatement extends LogicItem {
77
77
  * @param source 需要合并的部分参数
78
78
  */
79
79
  constructor(source?: Partial<ForEachStatement>) {
80
- source = Object.assign({}, ForEachStatement.getDefaultOptions(), source);
80
+ source = { ...ForEachStatement.getDefaultOptions(), ...source};
81
81
  super(source);
82
82
  super.subConstructor(source);
83
83
  }
@@ -278,7 +278,7 @@ export class ForEachStatement extends LogicItem {
278
278
  if (typeof options === 'string') {
279
279
  each = this.each;
280
280
  if (!each) {
281
- throw new Error('找不到逻辑项 ' + options);
281
+ throw new Error(`找不到逻辑项 ${ options}`);
282
282
  }
283
283
  } else {
284
284
  each = options;
@@ -303,7 +303,7 @@ export class ForEachStatement extends LogicItem {
303
303
  if (typeof options === 'string') {
304
304
  start = this.start;
305
305
  if (!start) {
306
- throw new Error('找不到逻辑项 ' + options);
306
+ throw new Error(`找不到逻辑项 ${ options}`);
307
307
  }
308
308
  } else {
309
309
  start = options;
@@ -328,7 +328,7 @@ export class ForEachStatement extends LogicItem {
328
328
  if (typeof options === 'string') {
329
329
  end = this.end;
330
330
  if (!end) {
331
- throw new Error('找不到逻辑项 ' + options);
331
+ throw new Error(`找不到逻辑项 ${ options}`);
332
332
  }
333
333
  } else {
334
334
  end = options;
@@ -343,12 +343,12 @@ export class ForEachStatement extends LogicItem {
343
343
  removeItemInBody(logicItem: LogicItem): void;
344
344
 
345
345
  removeItemInBody(options: LogicItem) {
346
- let logicItem: LogicItem = options;
346
+ const logicItem: LogicItem = options;
347
347
  return logicItem.delete();
348
348
  }
349
349
 
350
350
  __removeLogicItem(logicItem: LogicItem) {
351
- const parentKey = logicItem.parentKey;
351
+ const {parentKey} = logicItem;
352
352
  const params: Params = {
353
353
  parentNode: this,
354
354
  parentKey,
@@ -387,7 +387,7 @@ export class ForEachStatement extends LogicItem {
387
387
  if (typeof options === 'string') {
388
388
  item = this.item;
389
389
  if (!item) {
390
- throw new Error('找不到输入参数 ' + options);
390
+ throw new Error(`找不到输入参数 ${ options}`);
391
391
  }
392
392
  } else {
393
393
  item = options;
@@ -412,7 +412,7 @@ export class ForEachStatement extends LogicItem {
412
412
  if (typeof options === 'string') {
413
413
  index = this.index;
414
414
  if (!index) {
415
- throw new Error('找不到输入参数 ' + options);
415
+ throw new Error(`找不到输入参数 ${ options}`);
416
416
  }
417
417
  } else {
418
418
  index = options;
@@ -421,7 +421,7 @@ export class ForEachStatement extends LogicItem {
421
421
  }
422
422
 
423
423
  __removeParam(param: Param) {
424
- const parentKey = param.parentKey;
424
+ const {parentKey} = param;
425
425
  const params: Params = {
426
426
  parentNode: this,
427
427
  parentKey,
@@ -469,7 +469,7 @@ export class ForEachStatement extends LogicItem {
469
469
  }
470
470
  }
471
471
 
472
- public static getDefaultOptions() {
472
+ public static getDefaultOptions(): any {
473
473
  return {
474
474
  label: 'ForEach 循环分支',
475
475
  item: {
@@ -519,11 +519,11 @@ export class ForEachStatement extends LogicItem {
519
519
  if (Array.isArray(this.body)) {
520
520
  this.body.forEach((logicItem) => {
521
521
  code +=
522
- logicItem.toJS(
522
+ `${logicItem.toJS(
523
523
  shiftState(state, code, {
524
524
  tabSize: 0,
525
525
  }),
526
- ) + '\n';
526
+ ) }\n`;
527
527
  });
528
528
  }
529
529
  code += '}\n';
@@ -554,14 +554,14 @@ export class ForEachStatement extends LogicItem {
554
554
  if (Array.isArray(this.body)) {
555
555
  this.body.forEach((logicItem) => {
556
556
  code +=
557
- logicItem.toEmbeddedTS(
557
+ `${logicItem.toEmbeddedTS(
558
558
  shiftState(state, code, {
559
559
  tabSize: (state?.tabSize || 0) + 1,
560
560
  }),
561
- ) + ';\n';
561
+ ) };\n`;
562
562
  });
563
563
  }
564
- code += indent(state?.tabSize || 0) + '})\n';
564
+ code += `${indent(state?.tabSize || 0) }})\n`;
565
565
 
566
566
  return code;
567
567
  }
@@ -603,6 +603,8 @@ export class ForEachStatement extends LogicItem {
603
603
  })
604
604
  )};\n`;
605
605
  });
606
+ if (state.focusedNodePath === `${this.nodePath}.body[${this.body.length}]`)
607
+ code += `${indent(state.tabSize + 1)}// 当前位置\n`;
606
608
  }
607
609
  code += `${indent(state?.tabSize || 0)}})\n`;
608
610
 
@@ -1,3 +1,4 @@
1
+ import { v4 as uuidv4 } from 'uuid';
1
2
  import { TranslatorState, shiftState, withSourceMap, indent, createCompilerState } from '../translator';
2
3
 
3
4
  //================================================================================
@@ -8,7 +9,6 @@ import { EventPayload, Params } from '../common/EventEmitter';
8
9
  import { concept, excludedInJSON, property, className } from '../decorators';
9
10
 
10
11
  import * as utils from '../utils';
11
- import { v4 as uuidv4 } from 'uuid';
12
12
  import BaseNode from '../common/BaseNode';
13
13
  import LogicItem from './LogicItem__';
14
14
 
@@ -51,7 +51,7 @@ export class IfStatement extends LogicItem {
51
51
  * @param source 需要合并的部分参数
52
52
  */
53
53
  constructor(source?: Partial<IfStatement>) {
54
- source = Object.assign({}, IfStatement.getDefaultOptions(), source);
54
+ source = { ...IfStatement.getDefaultOptions(), ...source};
55
55
  super(source);
56
56
  super.subConstructor(source);
57
57
  }
@@ -316,7 +316,7 @@ export class IfStatement extends LogicItem {
316
316
  if (typeof options === 'string') {
317
317
  test = this.test;
318
318
  if (!test) {
319
- throw new Error('找不到逻辑项 ' + options);
319
+ throw new Error(`找不到逻辑项 ${ options}`);
320
320
  }
321
321
  } else {
322
322
  test = options;
@@ -331,7 +331,7 @@ export class IfStatement extends LogicItem {
331
331
  removeItemInConsequent(logicItem: LogicItem): void;
332
332
 
333
333
  removeItemInConsequent(options: LogicItem) {
334
- let logicItem: LogicItem = options;
334
+ const logicItem: LogicItem = options;
335
335
  return logicItem.delete();
336
336
  }
337
337
 
@@ -342,12 +342,12 @@ export class IfStatement extends LogicItem {
342
342
  removeItemInAlternate(logicItem: LogicItem): void;
343
343
 
344
344
  removeItemInAlternate(options: LogicItem) {
345
- let logicItem: LogicItem = options;
345
+ const logicItem: LogicItem = options;
346
346
  return logicItem.delete();
347
347
  }
348
348
 
349
349
  __removeLogicItem(logicItem: LogicItem) {
350
- const parentKey = logicItem.parentKey;
350
+ const {parentKey} = logicItem;
351
351
  const params: Params = {
352
352
  parentNode: this,
353
353
  parentKey,
@@ -403,7 +403,7 @@ export class IfStatement extends LogicItem {
403
403
  }
404
404
  code += '}';
405
405
  if (Array.isArray(this.alternate)) {
406
- code += `${indent(state?.tabSize || 0)} else {\n`;
406
+ code += `${indent((state?.tabSize || 0))} else {\n`;
407
407
  this.alternate.forEach((logicItem) => {
408
408
  code += `${logicItem.toJS(
409
409
  shiftState(state, code, {
@@ -440,7 +440,7 @@ export class IfStatement extends LogicItem {
440
440
  });
441
441
  }
442
442
 
443
- code += `${indent(state?.tabSize || 0)}}`;
443
+ code += `${indent((state?.tabSize || 0))}}`;
444
444
  if (Array.isArray(this.alternate)) {
445
445
  code += ' else {\n';
446
446
  this.alternate.forEach((logicItem) => {
@@ -450,7 +450,7 @@ export class IfStatement extends LogicItem {
450
450
  }),
451
451
  )};\n`;
452
452
  });
453
- code += `${indent(state?.tabSize || 0)}}\n`;
453
+ code += `${indent((state?.tabSize || 0))}}\n`;
454
454
  }
455
455
  return code;
456
456
  }
@@ -465,28 +465,28 @@ export class IfStatement extends LogicItem {
465
465
 
466
466
  code += ') {\n';
467
467
 
468
- if (Array.isArray(this.consequent)) {
469
- this.consequent.forEach((logicItem) => {
470
- code += `${logicItem.toNaturalTS(
471
- shiftState(state, code, {
472
- tabSize: (state?.tabSize || 0) + 1,
473
- })
474
- )};\n`;
475
- });
476
- }
468
+ this.consequent.forEach((item) => {
469
+ code += `${item.toNaturalTS(
470
+ shiftState(state, code, {
471
+ tabSize: (state?.tabSize || 0) + 1,
472
+ })
473
+ )}\n`;
474
+ });
475
+ if (state.focusedNodePath === `${this.nodePath}.consequent[${this.consequent.length}]`)
476
+ code += `${indent((state?.tabSize || 0) + 1)}// 当前位置\n`;
477
+
478
+ code += `${indent((state?.tabSize || 0))}} else {\n`;
479
+ this.alternate.forEach((item) => {
480
+ code += `${item.toNaturalTS(
481
+ shiftState(state, code, {
482
+ tabSize: (state?.tabSize || 0) + 1,
483
+ })
484
+ )}\n`;
485
+ });
486
+ if (state.focusedNodePath === `${this.nodePath}.alternate[${this.alternate.length}]`)
487
+ code += `${indent((state?.tabSize || 0) + 1)}// 当前位置\n`;
488
+ code += `${indent((state?.tabSize || 0))}}\n`;
477
489
 
478
- code += `${indent(state?.tabSize || 0)}}\n`;
479
- if (Array.isArray(this.alternate)) {
480
- code += ' else {\n';
481
- this.alternate.forEach((logicItem) => {
482
- code += `${logicItem.toNaturalTS(
483
- shiftState(state, code, {
484
- tabSize: (state?.tabSize || 0) + 1,
485
- })
486
- )};\n`;
487
- });
488
- code += `${indent(state?.tabSize || 0)}}\n`;
489
- }
490
490
  return code;
491
491
  }
492
492