@lcap/nasl 3.3.3-beta.8 → 3.3.6-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (436) hide show
  1. package/.nyc_output/{78804420-ead6-486f-b682-ab54ccd95dc9.json → d58d92d8-c0d6-479b-9f82-1f4da8e73ff3.json} +1 -1
  2. package/.nyc_output/processinfo/d58d92d8-c0d6-479b-9f82-1f4da8e73ff3.json +1 -0
  3. package/.nyc_output/processinfo/index.json +1 -1
  4. package/coverage/index.html +126 -141
  5. package/coverage/src/automate/engine/index.html +1 -1
  6. package/coverage/src/automate/engine/utils.js.html +36 -36
  7. package/coverage/src/bak/index.html +14 -14
  8. package/coverage/src/bak/translator.js.html +57 -393
  9. package/coverage/src/breakpoint/generator/AfterStartNode.ts.html +1 -1
  10. package/coverage/src/breakpoint/generator/BeforeEndNode.ts.html +1 -1
  11. package/coverage/src/breakpoint/generator/BreakpointNode.ts.html +1 -1
  12. package/coverage/src/breakpoint/generator/CallbackNode.ts.html +1 -1
  13. package/coverage/src/breakpoint/generator/index.html +1 -1
  14. package/coverage/src/breakpoint/generator/index.ts.html +1 -1
  15. package/coverage/src/breakpoint/index.html +1 -1
  16. package/coverage/src/breakpoint/index.ts.html +1 -1
  17. package/coverage/src/breakpoint/shared/constants.ts.html +1 -1
  18. package/coverage/src/breakpoint/shared/index.html +1 -1
  19. package/coverage/src/breakpoint/shared/index.ts.html +1 -1
  20. package/coverage/src/breakpoint/shared/operations.ts.html +2 -2
  21. package/coverage/src/breakpoint/shared/socket.ts.html +1 -1
  22. package/coverage/src/breakpoint/shared/utils.ts.html +1 -1
  23. package/coverage/src/breakpoint/store/core.ts.html +3 -3
  24. package/coverage/src/breakpoint/store/dock.ts.html +1 -1
  25. package/coverage/src/breakpoint/store/index.html +1 -1
  26. package/coverage/src/breakpoint/store/index.ts.html +1 -1
  27. package/coverage/src/common/BaseNode.ts.html +164 -593
  28. package/coverage/src/common/Command.ts.html +1 -1
  29. package/coverage/src/common/EventEmitter.ts.html +31 -31
  30. package/coverage/src/common/Messager.ts.html +1 -1
  31. package/coverage/src/common/asyncFuncMap.ts.html +1 -1
  32. package/coverage/src/common/index.html +23 -38
  33. package/coverage/src/common/index.ts.html +4 -7
  34. package/coverage/src/concepts/Abort__.ts.html +9 -39
  35. package/coverage/src/concepts/Anchor__.ts.html +29 -86
  36. package/coverage/src/concepts/AnonymousFunction__.ts.html +169 -262
  37. package/coverage/src/concepts/App__.ts.html +152 -1205
  38. package/coverage/src/concepts/Argument__.ts.html +53 -137
  39. package/coverage/src/concepts/Assignee__.ts.html +34 -124
  40. package/coverage/src/concepts/AssignmentLine__.ts.html +15 -48
  41. package/coverage/src/concepts/Assignment__.ts.html +81 -213
  42. package/coverage/src/concepts/Attribute__.ts.html +14 -41
  43. package/coverage/src/concepts/AuthInterface__.ts.html +6 -9
  44. package/coverage/src/concepts/AuthLogicForCallInterface__.ts.html +144 -108
  45. package/coverage/src/concepts/AuthLogic__.ts.html +6 -18
  46. package/coverage/src/concepts/BackendVariable__.ts.html +48 -168
  47. package/coverage/src/concepts/Backend__.ts.html +28 -106
  48. package/coverage/src/concepts/BatchAssignment__.ts.html +169 -274
  49. package/coverage/src/concepts/BinaryExpression__.ts.html +129 -285
  50. package/coverage/src/concepts/BindAttribute__.ts.html +111 -522
  51. package/coverage/src/concepts/BindDirective__.ts.html +26 -131
  52. package/coverage/src/concepts/BindEvent__.ts.html +64 -160
  53. package/coverage/src/concepts/BindStyle__.ts.html +21 -78
  54. package/coverage/src/concepts/BooleanLiteral__.ts.html +20 -47
  55. package/coverage/src/concepts/CallAuthInterface__.ts.html +48 -105
  56. package/coverage/src/concepts/CallConnector__.ts.html +35 -62
  57. package/coverage/src/concepts/CallFunction__.ts.html +144 -288
  58. package/coverage/src/concepts/CallInterface__.ts.html +60 -93
  59. package/coverage/src/concepts/CallLogic__.ts.html +343 -292
  60. package/coverage/src/concepts/CallQueryComponent__.ts.html +93 -126
  61. package/coverage/src/concepts/Comment__.ts.html +10 -43
  62. package/coverage/src/concepts/CompletionProperty__.ts.html +13 -40
  63. package/coverage/src/concepts/ConfigGroup__.ts.html +20 -47
  64. package/coverage/src/concepts/ConfigPropertyValue__.ts.html +19 -22
  65. package/coverage/src/concepts/ConfigProperty__.ts.html +40 -97
  66. package/coverage/src/concepts/Configuration__.ts.html +21 -48
  67. package/coverage/src/concepts/Connection__.ts.html +22 -97
  68. package/coverage/src/concepts/ConnectorTrigger__.ts.html +6 -9
  69. package/coverage/src/concepts/Connector__.ts.html +38 -161
  70. package/coverage/src/concepts/Constant__.ts.html +24 -84
  71. package/coverage/src/concepts/DataSource__.ts.html +57 -111
  72. package/coverage/src/concepts/DatabaseTypeAnnotation__.ts.html +6 -9
  73. package/coverage/src/concepts/Destination__.ts.html +55 -97
  74. package/coverage/src/concepts/End__.ts.html +21 -51
  75. package/coverage/src/concepts/EntityIndex__.ts.html +10 -40
  76. package/coverage/src/concepts/EntityProperty__.ts.html +56 -164
  77. package/coverage/src/concepts/Entity__.ts.html +89 -167
  78. package/coverage/src/concepts/EnumItem__.ts.html +10 -40
  79. package/coverage/src/concepts/Enum__.ts.html +24 -84
  80. package/coverage/src/concepts/Event__.ts.html +14 -41
  81. package/coverage/src/concepts/ExternalDestination__.ts.html +21 -75
  82. package/coverage/src/concepts/ForEachStatement__.ts.html +64 -139
  83. package/coverage/src/concepts/FrontendLibrary__.ts.html +20 -71
  84. package/coverage/src/concepts/FrontendVariable__.ts.html +1 -1
  85. package/coverage/src/concepts/Frontend__.ts.html +57 -213
  86. package/coverage/src/concepts/Function__.ts.html +86 -239
  87. package/coverage/src/concepts/Identifier__.ts.html +72 -111
  88. package/coverage/src/concepts/IfStatement__.ts.html +75 -138
  89. package/coverage/src/concepts/Integration__.ts.html +19 -70
  90. package/coverage/src/concepts/InterfaceParam__.ts.html +21 -78
  91. package/coverage/src/concepts/Interface__.ts.html +60 -162
  92. package/coverage/src/concepts/JSBlock__.ts.html +11 -215
  93. package/coverage/src/concepts/JavaLogic__.ts.html +9 -42
  94. package/coverage/src/concepts/LogicItem__.ts.html +21 -51
  95. package/coverage/src/concepts/Logic__.ts.html +321 -405
  96. package/coverage/src/concepts/MatchCase__.ts.html +97 -181
  97. package/coverage/src/concepts/Match__.ts.html +59 -116
  98. package/coverage/src/concepts/MemberExpression__.ts.html +128 -182
  99. package/coverage/src/concepts/MicroApp__.ts.html +6 -9
  100. package/coverage/src/concepts/Module__.ts.html +18 -672
  101. package/coverage/src/concepts/MsgTriggerEvent__.ts.html +14 -41
  102. package/coverage/src/concepts/MsgTriggerLauncher__.ts.html +14 -41
  103. package/coverage/src/concepts/Namespace__.ts.html +91 -358
  104. package/coverage/src/concepts/NewComposite__.ts.html +125 -278
  105. package/coverage/src/concepts/NewList__.ts.html +57 -195
  106. package/coverage/src/concepts/NewMap__.ts.html +63 -168
  107. package/coverage/src/concepts/New__.ts.html +9 -39
  108. package/coverage/src/concepts/NullLiteral__.ts.html +9 -36
  109. package/coverage/src/concepts/NumericLiteral__.ts.html +33 -90
  110. package/coverage/src/concepts/OqlQueryComponent__.ts.html +35 -161
  111. package/coverage/src/concepts/OverriddenLogic__.ts.html +201 -324
  112. package/coverage/src/concepts/Param__.ts.html +75 -189
  113. package/coverage/src/concepts/Point__.ts.html +6 -9
  114. package/coverage/src/concepts/ProcessComponent__.ts.html +21 -72
  115. package/coverage/src/concepts/ProcessElement__.ts.html +115 -316
  116. package/coverage/src/concepts/ProcessOutcome__.ts.html +13 -85
  117. package/coverage/src/concepts/ProcessOutcomes__.ts.html +13 -85
  118. package/coverage/src/concepts/Process__.ts.html +70 -211
  119. package/coverage/src/concepts/QueryAggregateExpression__.ts.html +16 -67
  120. package/coverage/src/concepts/QueryFieldExpression__.ts.html +11 -41
  121. package/coverage/src/concepts/QueryFromExpression__.ts.html +21 -81
  122. package/coverage/src/concepts/QueryGroupByExpression__.ts.html +19 -70
  123. package/coverage/src/concepts/QueryJoinExpression__.ts.html +25 -85
  124. package/coverage/src/concepts/QueryLimitExpression__.ts.html +20 -77
  125. package/coverage/src/concepts/QueryOrderByExpression__.ts.html +20 -80
  126. package/coverage/src/concepts/QuerySelectExpression__.ts.html +15 -42
  127. package/coverage/src/concepts/Rect__.ts.html +6 -9
  128. package/coverage/src/concepts/Return__.ts.html +44 -164
  129. package/coverage/src/concepts/Role__.ts.html +15 -45
  130. package/coverage/src/concepts/SelectMembers__.ts.html +24 -81
  131. package/coverage/src/concepts/Slot__.ts.html +13 -40
  132. package/coverage/src/concepts/SqlQueryComponent__.ts.html +24 -84
  133. package/coverage/src/concepts/Start__.ts.html +9 -36
  134. package/coverage/src/concepts/StringInterpolation__.ts.html +29 -104
  135. package/coverage/src/concepts/StringLiteral__.ts.html +32 -62
  136. package/coverage/src/concepts/StructureProperty__.ts.html +23 -80
  137. package/coverage/src/concepts/Structure__.ts.html +32 -116
  138. package/coverage/src/concepts/SwitchCase__.ts.html +36 -87
  139. package/coverage/src/concepts/SwitchStatement__.ts.html +33 -90
  140. package/coverage/src/concepts/Theme__.ts.html +12 -15
  141. package/coverage/src/concepts/Transactional__.ts.html +6 -9
  142. package/coverage/src/concepts/TriggerEvent__.ts.html +14 -41
  143. package/coverage/src/concepts/TriggerLauncher__.ts.html +13 -46
  144. package/coverage/src/concepts/TypeAnnotation__.ts.html +116 -347
  145. package/coverage/src/concepts/TypeParam__.ts.html +12 -42
  146. package/coverage/src/concepts/UnaryExpression__.ts.html +27 -105
  147. package/coverage/src/concepts/Unparsed__.ts.html +12 -36
  148. package/coverage/src/concepts/UseComponent__.ts.html +6 -9
  149. package/coverage/src/concepts/ValidationRule__.ts.html +40 -79
  150. package/coverage/src/concepts/Variable__.ts.html +37 -157
  151. package/coverage/src/concepts/ViewBlock__.ts.html +6 -9
  152. package/coverage/src/concepts/ViewComponent__.ts.html +24 -99
  153. package/coverage/src/concepts/ViewElement__.ts.html +278 -692
  154. package/coverage/src/concepts/View__.ts.html +163 -517
  155. package/coverage/src/concepts/WhileStatement__.ts.html +55 -118
  156. package/coverage/src/concepts/basics/stdlib/index.html +1 -1
  157. package/coverage/src/concepts/basics/stdlib/index.ts.html +1 -1
  158. package/coverage/src/concepts/basics/stdlib/nasl.auth.ts.html +1 -1
  159. package/coverage/src/concepts/basics/stdlib/nasl.browser.ts.html +1 -1
  160. package/coverage/src/concepts/basics/stdlib/nasl.collection.ts.html +1 -1
  161. package/coverage/src/concepts/basics/stdlib/nasl.configuration.ts.html +1 -1
  162. package/coverage/src/concepts/basics/stdlib/nasl.core.ts.html +1 -1
  163. package/coverage/src/concepts/basics/stdlib/nasl.event.ts.html +1 -1
  164. package/coverage/src/concepts/basics/stdlib/nasl.http.ts.html +1 -1
  165. package/coverage/src/concepts/basics/stdlib/nasl.interface.ts.html +1 -1
  166. package/coverage/src/concepts/basics/stdlib/nasl.io.ts.html +1 -1
  167. package/coverage/src/concepts/basics/stdlib/nasl.logging.ts.html +1 -1
  168. package/coverage/src/concepts/basics/stdlib/nasl.process.ts.html +1 -1
  169. package/coverage/src/concepts/basics/stdlib/nasl.ui.ts.html +1 -1
  170. package/coverage/src/concepts/basics/stdlib/nasl.util.ts.html +3 -3
  171. package/coverage/src/concepts/basics/stdlib/nasl.validation.ts.html +1 -1
  172. package/coverage/src/concepts/basics/stdlib/reference2TypeAnnotationList.ts.html +1 -1
  173. package/coverage/src/concepts/basics/stdlib/timeZone.ts.html +1 -1
  174. package/coverage/src/concepts/basics/types/coreTypeList.ts.html +1 -1
  175. package/coverage/src/concepts/basics/types/index.html +1 -1
  176. package/coverage/src/concepts/basics/types/index.ts.html +1 -1
  177. package/coverage/src/concepts/index.html +965 -980
  178. package/coverage/src/concepts/index.ts.html +1 -1
  179. package/coverage/src/concepts/index__.ts.html +4 -7
  180. package/coverage/src/config.ts.html +1 -1
  181. package/coverage/src/decorators/index.html +5 -5
  182. package/coverage/src/decorators/index.ts.html +32 -32
  183. package/coverage/src/decorators/promise.ts.html +10 -10
  184. package/coverage/src/eventBus.ts.html +1 -1
  185. package/coverage/src/generator/compileComponent.ts.html +4 -4
  186. package/coverage/src/generator/genBundleFiles.ts.html +23 -17
  187. package/coverage/src/generator/genHash.ts.html +3 -3
  188. package/coverage/src/generator/genMetaData.ts.html +16 -103
  189. package/coverage/src/generator/genReleaseBody.ts.html +3 -3
  190. package/coverage/src/generator/icestark.ts.html +4 -10
  191. package/coverage/src/generator/index.html +21 -21
  192. package/coverage/src/generator/index.ts.html +1 -1
  193. package/coverage/src/generator/microApp.ts.html +1 -1
  194. package/coverage/src/generator/permission.ts.html +20 -92
  195. package/coverage/src/generator/qiankun.ts.html +3 -9
  196. package/coverage/src/generator/styleReplacer.ts.html +1 -1
  197. package/coverage/src/index.html +7 -7
  198. package/coverage/src/index.ts.html +4 -4
  199. package/coverage/src/manager/diagnostic.ts.html +14 -11
  200. package/coverage/src/manager/index.html +13 -13
  201. package/coverage/src/manager/stepRecorder.ts.html +1 -1
  202. package/coverage/src/natural/genNaturalTS.ts.html +1 -1
  203. package/coverage/src/natural/index.html +15 -15
  204. package/coverage/src/natural/index.ts.html +1 -1
  205. package/coverage/src/natural/naslStdlibMap.ts.html +1 -1
  206. package/coverage/src/natural/transformTSCode.ts.html +18 -78
  207. package/coverage/src/sentry/index.html +14 -14
  208. package/coverage/src/sentry/index.ts.html +32 -38
  209. package/coverage/src/server/createUiTs.ts.html +6 -15
  210. package/coverage/src/server/entity2LogicNamespace.ts.html +9 -9
  211. package/coverage/src/server/event.js.html +1 -1
  212. package/coverage/src/server/extendBaseNode.ts.html +4 -7
  213. package/coverage/src/server/formatTsUtils.ts.html +9 -9
  214. package/coverage/src/server/getConnector.ts.html +1 -1
  215. package/coverage/src/server/getExtensionModules.ts.html +1 -1
  216. package/coverage/src/server/getFunctions.ts.html +4 -4
  217. package/coverage/src/server/getInterfaces.ts.html +1 -1
  218. package/coverage/src/server/getLogging.ts.html +2 -2
  219. package/coverage/src/server/getLogics.ts.html +1 -1
  220. package/coverage/src/server/getMemberIdentifier.ts.html +119 -167
  221. package/coverage/src/server/getProcessComponents.ts.html +3 -3
  222. package/coverage/src/server/getProcesses.ts.html +1 -1
  223. package/coverage/src/server/getValidates.ts.html +4 -4
  224. package/coverage/src/server/index.html +34 -34
  225. package/coverage/src/server/index.ts.html +1 -1
  226. package/coverage/src/server/naslServer.ts.html +943 -1195
  227. package/coverage/src/server/naslStdlibMap.ts.html +1 -1
  228. package/coverage/src/server/process2LogicNamespace.ts.html +52 -52
  229. package/coverage/src/server/translator.ts.html +14 -50
  230. package/coverage/src/service/creator/add.configs.js.html +9 -27
  231. package/coverage/src/service/creator/errHandles.js.html +37 -19
  232. package/coverage/src/service/creator/index.html +22 -22
  233. package/coverage/src/service/creator/index.js.html +1 -1
  234. package/coverage/src/service/datasource/api.js.html +1 -1
  235. package/coverage/src/service/datasource/index.html +1 -1
  236. package/coverage/src/service/datasource/index.js.html +1 -1
  237. package/coverage/src/service/logic/api.js.html +1 -1
  238. package/coverage/src/service/logic/index.html +1 -1
  239. package/coverage/src/service/logic/index.js.html +1 -1
  240. package/coverage/src/service/storage/api.js.html +1 -1
  241. package/coverage/src/service/storage/index.html +29 -29
  242. package/coverage/src/service/storage/index.ts.html +1 -1
  243. package/coverage/src/service/storage/init.ts.html +601 -1534
  244. package/coverage/src/service/storage/jsoner.ts.html +13 -76
  245. package/coverage/src/service/storage/map.ts.html +3 -3
  246. package/coverage/src/service/storage/service.ts.html +1 -1
  247. package/coverage/src/service/storage/storagePoint.ts.html +1 -1
  248. package/coverage/src/templator/genCallComponentLogic.ts.html +1 -1
  249. package/coverage/src/templator/genCreateBlock.ts.html +56 -47
  250. package/coverage/src/templator/genCurdEditMultipleKeyBlock.ts.html +31 -49
  251. package/coverage/src/templator/genCurdMultipleKeyBlock.ts.html +89 -80
  252. package/coverage/src/templator/genEditTableBlock.ts.html +11 -80
  253. package/coverage/src/templator/genEnumSelectBlock.ts.html +1 -1
  254. package/coverage/src/templator/genGetBlock.ts.html +1 -1
  255. package/coverage/src/templator/genGridViewBlock.ts.html +1 -1
  256. package/coverage/src/templator/genListViewBlock.ts.html +1 -1
  257. package/coverage/src/templator/genQueryComponent.ts.html +1 -1
  258. package/coverage/src/templator/genSelectBlock.ts.html +1 -1
  259. package/coverage/src/templator/genTableBlock.ts.html +3 -66
  260. package/coverage/src/templator/genUpdateBlock.ts.html +36 -48
  261. package/coverage/src/templator/index.html +39 -39
  262. package/coverage/src/templator/index.ts.html +1 -1
  263. package/coverage/src/templator/utils.ts.html +11 -77
  264. package/coverage/src/translator/constant.ts.html +1 -1
  265. package/coverage/src/translator/index.html +21 -21
  266. package/coverage/src/translator/index.ts.html +1 -1
  267. package/coverage/src/translator/utils.ts.html +68 -389
  268. package/coverage/src/utils/cookie.ts.html +4 -4
  269. package/coverage/src/utils/env.ts.html +1 -1
  270. package/coverage/src/utils/index.html +51 -36
  271. package/coverage/src/utils/index.ts.html +22 -115
  272. package/coverage/src/utils/logger.ts.html +13 -13
  273. package/coverage/src/utils/sortTsString.ts.html +10 -25
  274. package/coverage/src/utils/string.ts.html +8 -110
  275. package/coverage/src/utils/time-slicing.ts.html +1 -1
  276. package/coverage/src/utils/traverse.ts.html +1 -1
  277. package/coverage/src/utils/window.ts.html +1 -1
  278. package/out/bak/translator.js.map +1 -1
  279. package/out/common/Command.js +1 -1
  280. package/out/common/Command.js.map +1 -1
  281. package/out/concepts/Argument__.js +7 -2
  282. package/out/concepts/Argument__.js.map +1 -1
  283. package/out/concepts/Assignment__.js +20 -3
  284. package/out/concepts/Assignment__.js.map +1 -1
  285. package/out/concepts/BackendVariable__.js +24 -2
  286. package/out/concepts/BackendVariable__.js.map +1 -1
  287. package/out/concepts/BinaryExpression__.js +40 -13
  288. package/out/concepts/BinaryExpression__.js.map +1 -1
  289. package/out/concepts/CallLogic__.js +7 -12
  290. package/out/concepts/CallLogic__.js.map +1 -1
  291. package/out/concepts/CountersignPolicy__.d.ts +26 -0
  292. package/out/concepts/CountersignPolicy__.js +73 -0
  293. package/out/concepts/CountersignPolicy__.js.map +1 -0
  294. package/out/concepts/ForEachStatement__.js +12 -26
  295. package/out/concepts/ForEachStatement__.js.map +1 -1
  296. package/out/concepts/Identifier__.js +3 -0
  297. package/out/concepts/Identifier__.js.map +1 -1
  298. package/out/concepts/JSBlock__.js +56 -0
  299. package/out/concepts/JSBlock__.js.map +1 -1
  300. package/out/concepts/LogicItem__.js +2 -1
  301. package/out/concepts/LogicItem__.js.map +1 -1
  302. package/out/concepts/Logic__.js +2 -0
  303. package/out/concepts/Logic__.js.map +1 -1
  304. package/out/concepts/Match__.js +1 -1
  305. package/out/concepts/Match__.js.map +1 -1
  306. package/out/concepts/MultiApprovalPolicy__.d.ts +24 -0
  307. package/out/concepts/MultiApprovalPolicy__.js +65 -0
  308. package/out/concepts/MultiApprovalPolicy__.js.map +1 -0
  309. package/out/concepts/NewComposite__.js +18 -10
  310. package/out/concepts/NewComposite__.js.map +1 -1
  311. package/out/concepts/NumericLiteral__.js +1 -1
  312. package/out/concepts/NumericLiteral__.js.map +1 -1
  313. package/out/concepts/Param__.js +24 -2
  314. package/out/concepts/Param__.js.map +1 -1
  315. package/out/concepts/ProcessElement__.d.ts +16 -0
  316. package/out/concepts/ProcessElement__.js +56 -1
  317. package/out/concepts/ProcessElement__.js.map +1 -1
  318. package/out/concepts/Return__.js +24 -2
  319. package/out/concepts/Return__.js.map +1 -1
  320. package/out/concepts/SequentialPolicy__.d.ts +18 -0
  321. package/out/concepts/SequentialPolicy__.js +54 -0
  322. package/out/concepts/SequentialPolicy__.js.map +1 -0
  323. package/out/concepts/Variable__.js +24 -2
  324. package/out/concepts/Variable__.js.map +1 -1
  325. package/out/concepts/ViewElement__.js.map +1 -1
  326. package/out/concepts/View__.js +2 -2
  327. package/out/concepts/View__.js.map +1 -1
  328. package/out/concepts/index__.d.ts +3 -0
  329. package/out/concepts/index__.js +3 -0
  330. package/out/concepts/index__.js.map +1 -1
  331. package/out/concepts/types__.d.ts +4 -1
  332. package/out/generator/genReleaseBody.js +2 -2
  333. package/out/generator/genReleaseBody.js.map +1 -1
  334. package/out/server/extendBaseNode.js +32 -1
  335. package/out/server/extendBaseNode.js.map +1 -1
  336. package/out/server/getLogics.d.ts +1 -0
  337. package/out/server/getLogics.js +6 -2
  338. package/out/server/getLogics.js.map +1 -1
  339. package/out/server/getProcesses.js +66 -6
  340. package/out/server/getProcesses.js.map +1 -1
  341. package/out/server/index.js +1 -0
  342. package/out/server/index.js.map +1 -1
  343. package/out/server/naslServer.js +2 -2
  344. package/out/server/naslServer.js.map +1 -1
  345. package/out/server/translator.js +3 -0
  346. package/out/server/translator.js.map +1 -1
  347. package/out/service/creator/errHandles.js +6 -3
  348. package/out/service/creator/errHandles.js.map +1 -1
  349. package/out/service/storage/init.js +2 -2
  350. package/out/service/storage/init.js.map +1 -1
  351. package/out/templator/genCreateBlock.js +9 -5
  352. package/out/templator/genCreateBlock.js.map +1 -1
  353. package/out/templator/genCurdEditMultipleKeyBlock.js +18 -12
  354. package/out/templator/genCurdEditMultipleKeyBlock.js.map +1 -1
  355. package/out/templator/genCurdMultipleKeyBlock.js +10 -8
  356. package/out/templator/genCurdMultipleKeyBlock.js.map +1 -1
  357. package/out/templator/genEditTableBlock.js +3 -2
  358. package/out/templator/genEditTableBlock.js.map +1 -1
  359. package/out/templator/genUpdateBlock.js +12 -9
  360. package/out/templator/genUpdateBlock.js.map +1 -1
  361. package/out/templator/utils.js.map +1 -1
  362. package/package.json +2 -2
  363. package/sandbox/stdlib/nasl.core.ts +2 -0
  364. package/sandbox/stdlib/nasl.util.ts +3 -3
  365. package/src/bak/translator.js +0 -1
  366. package/src/common/Command.ts +1 -1
  367. package/src/concepts/Argument__.ts +7 -2
  368. package/src/concepts/Assignment__.ts +31 -13
  369. package/src/concepts/BackendVariable__.ts +22 -3
  370. package/src/concepts/BinaryExpression__.ts +39 -13
  371. package/src/concepts/CallLogic__.ts +13 -23
  372. package/src/concepts/CountersignPolicy__.ts +77 -0
  373. package/src/concepts/ForEachStatement__.ts +17 -26
  374. package/src/concepts/Identifier__.ts +4 -1
  375. package/src/concepts/JSBlock__.ts +58 -0
  376. package/src/concepts/LogicItem__.ts +2 -2
  377. package/src/concepts/Logic__.ts +1 -0
  378. package/src/concepts/Match__.ts +1 -1
  379. package/src/concepts/MultiApprovalPolicy__.ts +69 -0
  380. package/src/concepts/NewComposite__.ts +18 -9
  381. package/src/concepts/NumericLiteral__.ts +1 -1
  382. package/src/concepts/Param__.ts +24 -2
  383. package/src/concepts/ProcessElement__.ts +70 -1
  384. package/src/concepts/Return__.ts +23 -3
  385. package/src/concepts/SequentialPolicy__.ts +58 -0
  386. package/src/concepts/Variable__.ts +23 -3
  387. package/src/concepts/ViewElement__.ts +6 -4
  388. package/src/concepts/View__.ts +5 -5
  389. package/src/concepts/index__.ts +3 -0
  390. package/src/concepts/types__.ts +6 -0
  391. package/src/generator/genReleaseBody.ts +40 -40
  392. package/src/server/extendBaseNode.ts +30 -2
  393. package/src/server/getLogics.ts +4 -0
  394. package/src/server/getProcesses.ts +66 -6
  395. package/src/server/index.ts +2 -1
  396. package/src/server/naslServer.ts +2 -2
  397. package/src/server/translator.ts +3 -0
  398. package/src/service/creator/errHandles.js +7 -4
  399. package/src/service/storage/init.ts +2 -2
  400. package/src/templator/genCreateBlock.ts +9 -5
  401. package/src/templator/genCurdEditMultipleKeyBlock.ts +19 -13
  402. package/src/templator/genCurdMultipleKeyBlock.ts +14 -11
  403. package/src/templator/genEditTableBlock.ts +4 -2
  404. package/src/templator/genUpdateBlock.ts +15 -12
  405. package/src/templator/utils.ts +8 -7
  406. package/test/concepts/anonymous-function/__snapshots__/toJS.spec.ts.snap +1 -1
  407. package/test/concepts/assignment/__snapshots__/toJS.spec.ts.snap +1 -1
  408. package/test/concepts/batch-assignment/__snapshots__/toJS.spec.ts.snap +2 -2
  409. package/test/concepts/binary-expression/__snapshots__/toJS.spec.ts.snap +3 -2
  410. package/test/concepts/call-interface/__snapshots__/toJS.spec.ts.snap +2 -2
  411. package/test/concepts/call-logic/__snapshots__/toJS.spec.ts.snap +3 -3
  412. package/test/concepts/match/__snapshots__/toJS.spec.ts.snap +1 -1
  413. package/test/concepts/numeric-literal/__snapshots__/toJS.spec.ts.snap +1 -1
  414. package/test/concepts/validation-rule/__snapshots__/toJS.spec.ts.snap +3 -3
  415. package/.nyc_output/processinfo/78804420-ead6-486f-b682-ab54ccd95dc9.json +0 -1
  416. package/coverage/cobertura-coverage.xml +0 -71878
  417. package/coverage/src/automate/engine/index.js.html +0 -1471
  418. package/coverage/src/automate/engine/operators.js.html +0 -862
  419. package/coverage/src/automate/engine/uniqueName.js.html +0 -412
  420. package/coverage/src/automate/engine/viewCache.js.html +0 -214
  421. package/coverage/src/automate/template/index.html +0 -116
  422. package/coverage/src/automate/template/myProcess.js.html +0 -34645
  423. package/coverage/src/common/utils.ts.html +0 -136
  424. package/coverage/src/concepts/DataElement__.ts.html +0 -118
  425. package/coverage/src/concepts/MetadataType__.ts.html +0 -2053
  426. package/coverage/src/utils/time-slicing/constant.ts.html +0 -196
  427. package/coverage/src/utils/time-slicing/controller.ts.html +0 -1111
  428. package/coverage/src/utils/time-slicing/index.html +0 -236
  429. package/coverage/src/utils/time-slicing/index.ts.html +0 -103
  430. package/coverage/src/utils/time-slicing/page-state.ts.html +0 -121
  431. package/coverage/src/utils/time-slicing/performance.ts.html +0 -253
  432. package/coverage/src/utils/time-slicing/runner.ts.html +0 -247
  433. package/coverage/src/utils/time-slicing/tool.ts.html +0 -220
  434. package/coverage/src/utils/time-slicing/utils.ts.html +0 -355
  435. package/coverage/src/utils/time-slicing/wrapper.ts.html +0 -259
  436. package/coverage/src/utils/time.ts.html +0 -118
@@ -80,7 +80,8 @@ export function constantToParam(v: Constant) {
80
80
  export function genUserTaskLogic(userTask: ProcessElement) {
81
81
  const taskId = userTask.constants.find((p) => p.name === 'taskId');
82
82
  const { process } = userTask;
83
- const l = [
83
+ let logics = [];
84
+ const usertaskLogics = [
84
85
  new Logic({
85
86
  name: `complete`,
86
87
  fake: true,
@@ -106,15 +107,73 @@ export function genUserTaskLogic(userTask: ProcessElement) {
106
107
  returns: [],
107
108
  }),
108
109
  ];
109
- if (userTask.type === 'InitiateTask') l.pop();
110
+ const multiTaskLogics = [
111
+ new Logic({
112
+ name: `reject`,
113
+ fake: true,
114
+ params: [
115
+ new Param({
116
+ name: 'taskId',
117
+ typeAnnotation: TypeAnnotation.createPrimitive('String'),
118
+ }),
119
+ new Param({
120
+ name: 'targetTaskDefinitionId',
121
+ typeAnnotation: TypeAnnotation.createPrimitive('String'),
122
+ }),
123
+ ],
124
+ body: [],
125
+ returns: [
126
+ new Return({
127
+ name: 'result',
128
+ typeAnnotation: TypeAnnotation.createReference('LCAPOperateProcessResult', {
129
+ typeNamespace: 'nasl.process',
130
+ }),
131
+ }),
132
+ ],
133
+ }),
134
+ new Logic({
135
+ name: `pass`,
136
+ fake: true,
137
+ params: [
138
+ new Param({
139
+ name: 'taskId',
140
+ typeAnnotation: TypeAnnotation.createPrimitive('String'),
141
+ }),
142
+ ],
143
+ returns: [
144
+ new Return({
145
+ name: 'result',
146
+ typeAnnotation: TypeAnnotation.createPrimitive('String'),
147
+ }),
148
+ ],
149
+ }),
150
+ new Logic({
151
+ name: `fail`,
152
+ fake: true,
153
+ params: [
154
+ new Param({
155
+ name: 'taskId',
156
+ typeAnnotation: TypeAnnotation.createPrimitive('String'),
157
+ }),
158
+ ],
159
+ returns: [
160
+ new Return({
161
+ name: 'result',
162
+ typeAnnotation: TypeAnnotation.createPrimitive('String'),
163
+ }),
164
+ ],
165
+ }),
166
+ ]
167
+ logics = userTask.type === 'MultiApprovalTask' ? multiTaskLogics : usertaskLogics;
168
+ if (userTask.type === 'InitiateTask') logics.pop();
110
169
  const path = `app.processes.${process.name}.elements.${userTask.name}.logics`;
111
- l.forEach((item) => {
170
+ logics.forEach((item) => {
112
171
  item.getNamespace = function () {
113
172
  return path;
114
173
  };
115
174
  item.fake = true;
116
175
  });
117
- return l;
176
+ return logics;
118
177
  }
119
178
 
120
179
  export function userTask2LogicNamespace(userTask: ProcessElement) {
@@ -361,12 +420,13 @@ export function getProcessVariableSuggestions(node: LogicItem, abandonConstant:
361
420
 
362
421
  const elements: ProcessElement[] = getPreviousTask(processElem, process);
363
422
  const prevtasks = elements.map((us) => {
423
+ const constant = us.type === 'MultiApprovalTask' ? [] : us.constants.map(genCompletionProperty([process.name, us.name]));
364
424
  const cp = new CompletionProperty({
365
425
  name: us.name,
366
426
  value: us.name,
367
427
  children: [
368
428
  ...us.returns.map(genCompletionProperty([process.name, us.name])),
369
- ...(abandonConstant ? [] : us.constants.map(genCompletionProperty([process.name, us.name]))),
429
+ ...(abandonConstant ? [] : constant),
370
430
  ],
371
431
  });
372
432
  cp.icon = us.type;
@@ -400,7 +460,7 @@ export function getProcessVariableSuggestions(node: LogicItem, abandonConstant:
400
460
  if (processElem.isUserTask) {
401
461
  // 任务完成时可以拿到该任务的输出参数
402
462
  let returns: CompletionProperty[] = [];
403
- if (node.logic && node.logic.parentNode.name === 'OnClose') {
463
+ if (node.logic && node.logic.parentNode.name === 'OnClose' && processElem.type !== 'MultiApprovalTask') {
404
464
  returns = processElem.returns.map(genCompletionProperty([process.name, processElem.name]));
405
465
  }
406
466
  const scopeVariable = new CompletionProperty({
@@ -1,4 +1,4 @@
1
- import { getLogics, iteratorTree } from './getLogics';
1
+ import { getLogics, iteratorTree, getLogicsSync } from './getLogics';
2
2
  import { getConnectorTree, publishConnector } from './getConnector';
3
3
  import { getInterfaces } from './getInterfaces';
4
4
  import { getFunctions, getBuildInFunction } from './getFunctions';
@@ -21,6 +21,7 @@ import { getAllComponentEventMap } from './createUiTs';
21
21
  import { displayString2TypeAnnotation } from './formatTsUtils';
22
22
 
23
23
  const server: any = {
24
+ getLogicsSync,
24
25
  getLogics,
25
26
  iteratorTree,
26
27
  getInterfaces,
@@ -514,8 +514,8 @@ class NaslServer {
514
514
  await this.writeFiles(files);
515
515
  this._debugInFileStorage(app, files);
516
516
  // 修改名称回调
517
- registerCommand('tsRename.change', (value: boolean, callback: Function) => {
518
- callback(value);
517
+ registerCommand('tsRename.change', (value: boolean, callback: Function, toast?: Function) => {
518
+ callback(value, toast);
519
519
  });
520
520
  // 删除回调
521
521
  registerCommand('tsDelete.change', (callback: Function) => {
@@ -504,6 +504,9 @@ export function naslNodeTranslateMessage(minRange: MinRange, tsErrorDetail: Diag
504
504
  case 'ApprovalTask':
505
505
  u = '审批任务';
506
506
  break;
507
+ case 'MultiApprovalTask':
508
+ u = '多人审批任务';
509
+ break;
507
510
  case 'InitiateTask':
508
511
  u = '发起任务';
509
512
  break;
@@ -32,10 +32,13 @@ export default {
32
32
  return;
33
33
  }
34
34
 
35
- // 检测到当前应用已在新 tab 页打开
36
- if (err.code === 500502) {
37
- eventBus.emit('multiTabOpened');
38
- return;
35
+ // 检测到当前应用已在新 tab 页操作,或者版本升级,备份还原
36
+ if (err.code === 500502 || err.code === 500505) {
37
+ eventBus.emit('multiTabOpened', {
38
+ refreshBrowser: err.code === 500505,
39
+ message: err.msg,
40
+ });
41
+ return;
39
42
  }
40
43
 
41
44
  if (versionStatus[err.code])
@@ -88,7 +88,6 @@ async function deleteExpiredRecords() {
88
88
  expiredRecordsRequest.onsuccess = (event: any) => {
89
89
  const cursor = event.target.result;
90
90
  if (cursor) {
91
- console.log(cursor);
92
91
  objectStore.delete(cursor.primaryKey);
93
92
  cursor.continue();
94
93
  } else {
@@ -751,9 +750,10 @@ class TaskQueue {
751
750
 
752
751
  // code: 401650, 检测到当前应用拉取操作已被强制结束, 用户确认后再刷新
753
752
  // code: 500502 msg: '该应用已在新tab 页打开,请刷新!' 不重试或刷新
753
+ // code: 500505 需要刷新浏览器
754
754
  if (!error)
755
755
  this.recover(app);
756
- else if (![401650, 500502].includes(error.code)) {
756
+ else if (![401650, 500502, 500505].includes(error.code)) {
757
757
  // 连接失败,或超时,或后端持久化异常
758
758
  if ((error.message === 'Network Error' || error.message?.includes('timeout') || error.code === 500500)
759
759
  && this.status !== TaskQueueStatus.Retrying) {
@@ -71,11 +71,13 @@ export function genCreateFormTemplate(entity: Entity, nameGroup: NameGroup, sele
71
71
  </u-select>
72
72
  `;
73
73
  } else if (propertyTypeName === 'Integer' || propertyTypeName === 'Long') {
74
- formItem += `<u-number-input v-model="${vModel}" placeholder="请输入${label}"></u-number-input>`;
74
+ let step = 0, decimalLength = 0
75
+ formItem += `<u-number-input v-model="${vModel}" :highPrecision="true" :step="${step}" placeholder="请输入${label}"></u-number-input>`;
75
76
  } else if (propertyTypeName === 'Double') {
76
77
  formItem += `<u-number-input v-model="${vModel}" :precision="0" :step="0" placeholder="请输入${label}"></u-number-input>`;
77
78
  } else if (propertyTypeName === 'Decimal') {
78
- formItem += `<u-number-input v-model="${vModel}" :precision="0" :step="0" placeholder="请输入${label}"></u-number-input>`;
79
+ let { step, decimalLength } = getDecimalInfo(property)
80
+ formItem += `<u-number-input v-model="${vModel}" :highPrecision="true" :step="${step}" placeholder="请输入${label}"></u-number-input>`
79
81
  } else if (propertyTypeName === 'String' && propertyTypeMaxLength > 256) {
80
82
  formItem += `<u-textarea v-model="${vModel}" placeholder="请输入${label}"></u-textarea>`;
81
83
  } else if (propertyTypeName === 'Date') {
@@ -149,13 +151,15 @@ export function genH5CreateFormTemplate(entity: Entity, nameGroup: NameGroup, se
149
151
  } else if (propertyTypeName === 'Boolean') {
150
152
  formItem += `<template #input><van-linear-layout style="width:100%;" direction="horizontal"><van-switch v-model="${vModel}"></van-switch></van-linear-layout></template>`;
151
153
  } else if (propertyTypeName === 'Integer' || propertyTypeName === 'Long') {
152
- formItem += `<template #input><van-linear-layout style="width:100%;" direction="horizontal"><van-stepper-new v-model="${vModel}" placeholder="请输入${property.label || property.name
154
+ let decimalLength = 0, step = 1
155
+ formItem += `<template #input><van-linear-layout style="width:100%;" direction="horizontal"><van-stepper-new :highPrecision="true" step="${step}" v-model="${vModel}" placeholder="请输入${property.label || property.name
153
156
  }" :showPlus="false" :showMinus="false" align="left"></van-stepper-new></van-linear-layout></template>`;
154
157
  } else if (propertyTypeName === 'Double') {
155
- formItem += `<template #input><van-linear-layout style="width:100%;" direction="horizontal"><van-stepper-new v-model="${vModel}" placeholder="请输入${property.label || property.name
158
+ formItem += `<template #input><van-linear-layout style="width:100%;" direction="horizontal"><van-stepper-new v-model="${vModel}" placeholder="请输入${property.label || property.name
156
159
  }" :showPlus="false" :showMinus="false" align="left"></van-stepper-new></van-linear-layout></template>`;
157
160
  } else if (propertyTypeName === 'Decimal') {
158
- formItem += `<template #input><van-linear-layout style="width:100%;" direction="horizontal"><van-stepper-new v-model="${vModel}" placeholder="请输入${property.label || property.name
161
+ let { step, decimalLength } = getDecimalInfo(property)
162
+ formItem += `<template #input><van-linear-layout style="width:100%;" direction="horizontal"><van-stepper-new :highPrecision="true" step="${step}" v-model="${vModel}" placeholder="请输入${property.label || property.name
159
163
  }" :showPlus="false" :showMinus="false" align="left"></van-stepper-new></van-linear-layout></template>`;
160
164
  } else if (propertyTypeName === 'Text') {
161
165
  formItem += `<template #input><van-linear-layout style="width:100%;" direction="horizontal"><van-fieldtextarea v-model="${vModel}" placeholder="请输入${property.label || property.name
@@ -5,7 +5,7 @@
5
5
  */
6
6
  import * as utils from '../utils';
7
7
  import { App, Module, Namespace, Entity, View, Enum, DataSource, ViewElement, EntityProperty } from '../concepts';
8
- import { NaslCoreTypeAnnotation, NaslUITypeAnnotation, NaslTypeAnnotation, NaslLogicItem, NaslNode } from './utils';
8
+ import { NaslCoreTypeAnnotation, NaslUITypeAnnotation, NaslTypeAnnotation, NaslLogicItem, NaslNode, getDecimalInfo, transEntityMetadataTypes } from './utils';
9
9
  import {
10
10
  filterProperty,
11
11
  NameGroup,
@@ -30,7 +30,7 @@ function genFilterTemplate(entity: Entity, nameGroup: NameGroup, selectNameGroup
30
30
  const properties = entity.properties.filter(filterProperty('inFilter'));
31
31
 
32
32
  return `
33
- <u-linear-layout justify="space-between">
33
+ <u-linear-layout>
34
34
  <u-form layout="inline">
35
35
  ${properties
36
36
  .map((property) => {
@@ -39,7 +39,8 @@ function genFilterTemplate(entity: Entity, nameGroup: NameGroup, selectNameGroup
39
39
  let formItem = `<u-form-item layout="center"><template #label><u-text text="${label}"></u-text></template>`;
40
40
 
41
41
  const { typeAnnotation } = property || {};
42
- const { typeName: propertyTypeName, typeNamespace: propertyTypeNamespace } = typeAnnotation || {};
42
+ const { typeNamespace: propertyTypeNamespace } = typeAnnotation || {};
43
+ const propertyTypeName = transEntityMetadataTypes(typeAnnotation, dataSource.app);
43
44
  const propertyTypeMaxLength: number =
44
45
  Number(
45
46
  property.rules
@@ -74,11 +75,13 @@ function genFilterTemplate(entity: Entity, nameGroup: NameGroup, selectNameGroup
74
75
  </u-select>
75
76
  `;
76
77
  } else if (propertyTypeName === 'Integer' || propertyTypeName === 'Long') {
77
- formItem += `<u-number-input v-model="${vModel}" placeholder="请输入${label}"></u-number-input>`;
78
+ let step = 0, decimalLength = 0
79
+ formItem += `<u-number-input v-model="${vModel}" :highPrecision="true" :step="${step}" placeholder="请输入${label}"></u-number-input>`;
78
80
  } else if (propertyTypeName === 'Double') {
79
81
  formItem += `<u-number-input v-model="${vModel}" :precision="0" :step="0" placeholder="请输入${label}"></u-number-input>`;
80
82
  } else if (propertyTypeName === 'Decimal') {
81
- formItem += `<u-number-input v-model="${vModel}" :precision="0" :step="0" placeholder="请输入${label}"></u-number-input>`;
83
+ let { step, decimalLength } = getDecimalInfo(property)
84
+ formItem += `<u-number-input v-model="${vModel}" :highPrecision="true" :step="${step}" placeholder="请输入${label}"></u-number-input>`
82
85
  } else if (propertyTypeName === 'String' && propertyTypeMaxLength > 256) {
83
86
  formItem += `<u-textarea v-model="${vModel}" placeholder="请输入${label}"></u-textarea>`;
84
87
  } else if (propertyTypeName === 'Date') {
@@ -107,9 +110,9 @@ function genFilterTemplate(entity: Entity, nameGroup: NameGroup, selectNameGroup
107
110
  <u-button color="primary" @click="${nameGroup.viewLogicReload}">查 询</u-button>
108
111
  </u-form-item>
109
112
  </u-form>
113
+ </u-linear-layout>
110
114
 
111
- <u-linear-layout><u-button color="primary" @click="${nameGroup.viewLogicCreate}">创 建</u-button></u-linear-layout>
112
- </u-linear-layout>
115
+ <u-linear-layout mode="flex" alignment="start" justify="end"><u-button color="primary" @click="${nameGroup.viewLogicCreate}">创 建</u-button></u-linear-layout>
113
116
  `;
114
117
  }
115
118
 
@@ -143,7 +146,8 @@ function genSaveModalTemplate(entity: Entity, nameGroup: NameGroup, selectNameGr
143
146
  ><template #label><u-text text="${label}"></u-text></template>`;
144
147
 
145
148
  const { typeAnnotation } = property || {};
146
- const { typeName: propertyTypeName, typeNamespace: propertyTypeNamespace } = typeAnnotation || {};
149
+ const { typeNamespace: propertyTypeNamespace } = typeAnnotation || {};
150
+ const propertyTypeName = transEntityMetadataTypes(typeAnnotation, dataSource.app);
147
151
  const propertyTypeMaxLength: number =
148
152
  Number(
149
153
  property.rules
@@ -177,11 +181,12 @@ function genSaveModalTemplate(entity: Entity, nameGroup: NameGroup, selectNameGr
177
181
  <u-select-item :value="false" text="否">否</u-select-item>
178
182
  </u-select>`;
179
183
  } else if (propertyTypeName === 'Integer' || propertyTypeName === 'Long') {
180
- formItem += `<u-number-input v-model="${vModel}" placeholder="请输入${label}"></u-number-input>`;
184
+ formItem += `<u-number-input v-model="${vModel}" :highPrecision="true" :step="0" placeholder="请输入${label}"></u-number-input>`;
181
185
  } else if (propertyTypeName === 'Double') {
182
186
  formItem += `<u-number-input v-model="${vModel}" :precision="0" :step="0" placeholder="请输入${label}"></u-number-input>`;
183
187
  } else if (propertyTypeName === 'Decimal') {
184
- formItem += `<u-number-input v-model="${vModel}" :precision="0" :step="0" placeholder="请输入${label}"></u-number-input>`;
188
+ let { step, decimalLength } = getDecimalInfo(property)
189
+ formItem += `<u-number-input v-model="${vModel}" :highPrecision="true" :step="${step}" placeholder="请输入${label}"></u-number-input>`
185
190
  } else if (propertyTypeName === 'String' && propertyTypeMaxLength > 256) {
186
191
  formItem += `<u-textarea v-model="${vModel}" placeholder="请输入${label}"></u-textarea>`;
187
192
  } else if (propertyTypeName === 'Date') {
@@ -408,8 +413,8 @@ export function genEditTableColumnComponent(app: App, entity: Entity, property:
408
413
  const label = (property.label || property.name).replace(/"/g, '&quot;');
409
414
  let formItem = '';
410
415
 
411
- const propertyTypeName = property.typeAnnotation.typeName;
412
416
  const propertyTypeNamespace = property.typeAnnotation.typeNamespace;
417
+ const propertyTypeName = transEntityMetadataTypes(property.typeAnnotation, dataSource.app);
413
418
  const propertyTypeMaxLength: number =
414
419
  Number(
415
420
  property.rules
@@ -454,11 +459,12 @@ export function genEditTableColumnComponent(app: App, entity: Entity, property:
454
459
  <u-select-item :value="false" text="否">否</u-select-item>
455
460
  </u-select>`;
456
461
  } else if (propertyTypeName === 'Integer' || propertyTypeName === 'Long') {
457
- formItem = `<u-number-input :value.sync="${valueExpression}" placeholder="请输入${label}" :autofocus="true" @blur="${nameGroup.viewLogicBlurUpdate}"></u-number-input>`;
462
+ formItem = `<u-number-input :value.sync="${valueExpression}" :highPrecision="true" :step="0" placeholder="请输入${label}" :autofocus="true" @blur="${nameGroup.viewLogicBlurUpdate}"></u-number-input>`;
458
463
  } else if (propertyTypeName === 'Double') {
459
464
  formItem = `<u-number-input :value.sync="${valueExpression}" :precision="0" :step="0" placeholder="请输入${label}" :autofocus="true" @blur="${nameGroup.viewLogicBlurUpdate}"></u-number-input>`;
460
465
  } else if (propertyTypeName === 'Decimal') {
461
- formItem = `<u-number-input :value.sync="${valueExpression}" :precision="0" :step="0" placeholder="请输入${label}" :autofocus="true" @blur="${nameGroup.viewLogicBlurUpdate}"></u-number-input>`;
466
+ let { step, decimalLength } = getDecimalInfo(property)
467
+ formItem = `<u-number-input :value.sync="${valueExpression}" :highPrecision="true" :step="${step}" placeholder="请输入${label}" :autofocus="true" @blur="${nameGroup.viewLogicBlurUpdate}"></u-number-input>`;
462
468
  } else if (propertyTypeName === 'String' && propertyTypeMaxLength > 256) {
463
469
  formItem = `<u-validator placement="bottom" display="appear" @blur-valid="${nameGroup.viewLogicBlurUpdate}" style="width:100%">
464
470
  <u-textarea :value.sync="${valueExpression}" placeholder="请输入${label}" :autofocus="true" size="full"></u-textarea>
@@ -29,12 +29,12 @@ function genFilterTemplate(entity: Entity, nameGroup: NameGroup, selectNameGroup
29
29
  const dataSource = entity.parentNode as DataSource;
30
30
  const properties = entity.properties.filter(filterProperty('inFilter'));
31
31
  return `
32
- <u-linear-layout justify="space-between">
32
+ <u-linear-layout>
33
33
  <u-form layout="inline">
34
34
  ${properties
35
35
  .map((property) => {
36
36
  const vModel = `${nameGroup.viewVariableFilter}.${property.name}`;
37
- const label = (property.label || property.name).replace(/"/g, '&quot;');
37
+ const label = property.label || property.name;
38
38
  let formItem = `<u-form-item layout="center"><template #label><u-text text="${label}"></u-text></template>`;
39
39
 
40
40
  const { typeAnnotation } = property || {};
@@ -64,8 +64,10 @@ function genFilterTemplate(entity: Entity, nameGroup: NameGroup, selectNameGroup
64
64
  text-field="${lowerEntityName}.${displayedProperty.name}" value-field="${lowerEntityName}.${relationProperty.name}" :pagination="true" v-model="${vModel}">
65
65
  </u-select>
66
66
  `;
67
- } else return '';
68
- } else return '';
67
+ } else
68
+ return '';
69
+ } else
70
+ return '';
69
71
  } else if (propertyTypeName === 'Boolean') {
70
72
  formItem += `
71
73
  <u-select clearable v-model="${vModel}" placeholder="请输入${label}">
@@ -74,11 +76,12 @@ function genFilterTemplate(entity: Entity, nameGroup: NameGroup, selectNameGroup
74
76
  </u-select>
75
77
  `;
76
78
  } else if (propertyTypeName === 'Integer' || propertyTypeName === 'Long') {
77
- formItem += `<u-number-input v-model="${vModel}" placeholder="请输入${label}"></u-number-input>`;
79
+ formItem += `<u-number-input v-model="${vModel}" :highPrecision="true" :step="0" placeholder="请输入${label}"></u-number-input>`;
78
80
  } else if (propertyTypeName === 'Double') {
79
81
  formItem += `<u-number-input v-model="${vModel}" :precision="0" :step="0" placeholder="请输入${label}"></u-number-input>`;
80
82
  } else if (propertyTypeName === 'Decimal') {
81
- formItem += `<u-number-input v-model="${vModel}" :precision="0" :step="0" placeholder="请输入${label}"></u-number-input>`;
83
+ let { step, decimalLength } = getDecimalInfo(property)
84
+ formItem += `<u-number-input v-model="${vModel}" :highPrecision="true" :step="${step}" placeholder="请输入${label}"></u-number-input>`
82
85
  } else if (propertyTypeName === 'String' && propertyTypeMaxLength > 256) {
83
86
  formItem += `<u-textarea v-model="${vModel}" placeholder="请输入${label}"></u-textarea>`;
84
87
  } else if (propertyTypeName === 'Date') {
@@ -107,9 +110,9 @@ function genFilterTemplate(entity: Entity, nameGroup: NameGroup, selectNameGroup
107
110
  <u-button color="primary" @click="${nameGroup.viewLogicReload}">查 询</u-button>
108
111
  </u-form-item>
109
112
  </u-form>
113
+ </u-linear-layout>
110
114
 
111
- <u-linear-layout><u-button color="primary" @click="${nameGroup.viewLogicCreate}">创 建</u-button></u-linear-layout>
112
- </u-linear-layout>
115
+ <u-linear-layout mode="flex" alignment="start" justify="end"><u-button color="primary" @click="${nameGroup.viewLogicCreate}">创 建</u-button></u-linear-layout>
113
116
  `;
114
117
  }
115
118
 
@@ -182,13 +185,13 @@ function genSaveModalTemplate(entity: Entity, nameGroup: NameGroup, selectNameGr
182
185
  <u-select-item :value="false" text="否"><u-text text="否"></u-text></u-select-item>
183
186
  </u-select>`;
184
187
  } else if (propertyTypeName === 'Integer' || propertyTypeName === 'Long') {
185
- formItem += `<u-number-input v-model="${vModel}" placeholder="请输入${label}" ${property.primaryKey ? `:disabled="${nameGroup.viewVariableIsUpdate}"` : ''
186
- }></u-number-input>`;
188
+ formItem += `<u-number-input :highPrecision="true" :step="0" v-model="${vModel}" placeholder="请输入${label}" ${property.primaryKey ? `:disabled="${nameGroup.viewVariableIsUpdate}"` : ''}></u-number-input>`;
187
189
  } else if (propertyTypeName === 'Double') {
188
190
  formItem += `<u-number-input v-model="${vModel}" :precision="0" :step="0" placeholder="请输入${label}" ${property.primaryKey ? `:disabled="${nameGroup.viewVariableIsUpdate}"` : ''
189
191
  }></u-number-input>`;
190
192
  } else if (propertyTypeName === 'Decimal') {
191
- formItem += `<u-number-input v-model="${vModel}" :precision="0" :step="0" placeholder="请输入${label}" ${property.primaryKey ? `:disabled="${nameGroup.viewVariableIsUpdate}"` : ''
193
+ let { step, decimalLength } = getDecimalInfo(property)
194
+ formItem += `<u-number-input v-model="${vModel}" :highPrecision="true" :step="${step}" placeholder="请输入${label}" ${property.primaryKey ? `:disabled="${nameGroup.viewVariableIsUpdate}"` : ''
192
195
  }></u-number-input>`;
193
196
  } else if (propertyTypeName === 'String' && propertyTypeMaxLength > 256) {
194
197
  formItem += `<u-textarea v-model="${vModel}" placeholder="请输入${label}" ${property.primaryKey ? `:disabled="${nameGroup.viewVariableIsUpdate}"` : ''
@@ -79,11 +79,13 @@ export function genEditTableColumnTemplate(
79
79
  <u-select-item :value="false" text="否">否</u-select-item>
80
80
  </u-select>`;
81
81
  } else if (propertyTypeName === 'Integer' || propertyTypeName === 'Long') {
82
- formItem = `<u-number-input :value.sync="${valueExpression}" placeholder="请输入${label}" :autofocus="true" @blur="${nameGroup.viewLogicBlurUpdate}"></u-number-input>`;
82
+ formItem = `<u-number-input :value.sync="${valueExpression}" :highPrecision="true" :step="0" placeholder="请输入${label}" :autofocus="true" @blur="${nameGroup.viewLogicBlurUpdate}"></u-number-input>`;
83
83
  } else if (propertyTypeName === 'Double') {
84
84
  formItem = `<u-number-input :value.sync="${valueExpression}" :precision="0" :step="0" placeholder="请输入${label}" :autofocus="true" @blur="${nameGroup.viewLogicBlurUpdate}"></u-number-input>`;
85
85
  } else if (propertyTypeName === 'Decimal') {
86
- formItem = `<u-number-input :value.sync="${valueExpression}" :precision="0" :step="0" placeholder="请输入${label}" :autofocus="true" @blur="${nameGroup.viewLogicBlurUpdate}"></u-number-input>`;
86
+ let { step, decimalLength } = getDecimalInfo(property)
87
+
88
+ formItem = `<u-number-input :value.sync="${valueExpression}" :highPrecision="true" :step="${step}" placeholder="请输入${label}" :autofocus="true" @blur="${nameGroup.viewLogicBlurUpdate}"></u-number-input>`;
87
89
  } else if (propertyTypeName === 'String' && propertyTypeMaxLength > 256) {
88
90
  formItem = `<u-validator placement="bottom" display="appear" @blur-valid="${nameGroup.viewLogicBlurUpdate}" style="width:100%">
89
91
  <u-textarea :value.sync="${valueExpression}" placeholder="请输入${label}" :autofocus="true" size="full"></u-textarea>
@@ -28,11 +28,11 @@ export function genUpdateFormTemplate(entity: Entity, nameGroup: NameGroup, sele
28
28
  if (property.rules && property.rules.length) {
29
29
  property.rules.forEach((rule) => rules.push(rule));
30
30
  }
31
- if (required) rules.push('required');
31
+ if (required)
32
+ rules.push('required');
32
33
  const rulesStr = rules.join(' | ');
33
34
 
34
- let formItem = ` <u-form-item ${required ? ' required' : ''}${rulesStr.length ? ` rules="${rulesStr}"` : ''
35
- } layout="center"><template #label><u-text text="${label}"></u-text></template>\n`;
35
+ let formItem = ` <u-form-item ${required ? ' required' : ''}${rulesStr.length ? ` rules="${rulesStr}"` : ''} layout="center"><template #label><u-text text="${label}"></u-text></template>\n`;
36
36
 
37
37
  const { typeAnnotation } = property || {};
38
38
  const { typeNamespace: propertyTypeNamespace } = typeAnnotation || {};
@@ -56,10 +56,10 @@ export function genUpdateFormTemplate(entity: Entity, nameGroup: NameGroup, sele
56
56
  const key = [property.name, relationEntity.name].join('-');
57
57
  const selectNameGroup = selectNameGroupMap.get(key);
58
58
  formItem += `
59
- <u-select clearable placeholder="请选择${label}" :data-source="${selectNameGroup.viewLogicLoad}"
60
- text-field="${lowerEntityName}.${displayedProperty.name}" value-field="${lowerEntityName}.${relationProperty.name}" :pagination="true" v-model="${vModel}">
61
- </u-select>
62
- `;
59
+ <u-select clearable placeholder="请选择${label}" :data-source="${selectNameGroup.viewLogicLoad}"
60
+ text-field="${lowerEntityName}.${displayedProperty.name}" value-field="${lowerEntityName}.${relationProperty.name}" :pagination="true" v-model="${vModel}">
61
+ </u-select>
62
+ `;
63
63
  } else
64
64
  return '';
65
65
  } else
@@ -72,11 +72,12 @@ export function genUpdateFormTemplate(entity: Entity, nameGroup: NameGroup, sele
72
72
  </u-select>
73
73
  `;
74
74
  } else if (propertyTypeName === 'Integer' || propertyTypeName === 'Long') {
75
- formItem += `<u-number-input v-model="${vModel}" placeholder="请输入${label}"></u-number-input>`;
75
+ formItem += `<u-number-input v-model="${vModel}" :highPrecision="true" :step="0" placeholder="请输入${label}"></u-number-input>`;
76
76
  } else if (propertyTypeName === 'Double') {
77
77
  formItem += `<u-number-input v-model="${vModel}" :precision="0" :step="0" placeholder="请输入${label}"></u-number-input>`;
78
78
  } else if (propertyTypeName === 'Decimal') {
79
- formItem += `<u-number-input v-model="${vModel}" :precision="0" :step="0" placeholder="请输入${label}"></u-number-input>`;
79
+ let { step, decimalLength } = getDecimalInfo(property)
80
+ formItem += `<u-number-input v-model="${vModel}" :highPrecision="true" :step="${step}" placeholder="请输入${label}"></u-number-input>`;
80
81
  } else if (propertyTypeName === 'String' && propertyTypeMaxLength > 256) {
81
82
  formItem += `<u-textarea v-model="${vModel}" placeholder="请输入${label}"></u-textarea>`;
82
83
  } else if (propertyTypeName === 'Date') {
@@ -153,11 +154,13 @@ export function genH5UpdateFormTemplate(entity: Entity, nameGroup: NameGroup, se
153
154
  } else if (propertyTypeName === 'Boolean') {
154
155
  formItem += `<template #input><van-linear-layout style="width:100%;" direction="horizontal"><van-switch v-model="${vModel}"></van-switch></van-linear-layout></template>`;
155
156
  } else if (propertyTypeName === 'Integer' || propertyTypeName === 'Long') {
156
- formItem += `<template #input><van-linear-layout style="width:100%;" direction="horizontal"><van-stepper-new v-model="${vModel}" placeholder="请输入${label}" :showPlus="false" :showMinus="false" align="left"></van-stepper-new></van-linear-layout></template>`;
157
+ let decimalLength = 0, step = 1
158
+ formItem += `<template #input><van-linear-layout style="width:100%;" direction="horizontal"><van-stepper-new :highPrecision="true" step="${step}" v-model="${vModel}" placeholder="请输入${label}" :showPlus="false" :showMinus="false" align="left"></van-stepper-new></van-linear-layout></template>`;
157
159
  } else if (propertyTypeName === 'Double') {
158
- formItem += `<template #input><van-linear-layout style="width:100%;" direction="horizontal"><van-stepper-new v-model="${vModel}" placeholder="请输入${label}" :showPlus="false" :showMinus="false" align="left"></van-stepper-new></van-linear-layout></template>`;
160
+ formItem += `<template #input><van-linear-layout style="width:100%;" direction="horizontal"><van-stepper-new v-model="${vModel}" placeholder="请输入${label}" :showPlus="false" :showMinus="false" align="left"></van-stepper-new></van-linear-layout></template>`;
159
161
  } else if (propertyTypeName === 'Decimal') {
160
- formItem += `<template #input><van-linear-layout style="width:100%;" direction="horizontal"><van-stepper-new v-model="${vModel}" placeholder="请输入${label}" :showPlus="false" :showMinus="false" align="left"></van-stepper-new></van-linear-layout></template>`;
162
+ let { step, decimalLength } = getDecimalInfo(property)
163
+ formItem += `<template #input><van-linear-layout style="width:100%;" direction="horizontal"><van-stepper-new :highPrecision="true" step="${step}" v-model="${vModel}" placeholder="请输入${label}" :showPlus="false" :showMinus="false" align="left"></van-stepper-new></van-linear-layout></template>`;
161
164
  } else if (propertyTypeName === 'Text') {
162
165
  formItem += `<template #input><van-linear-layout style="width:100%;" direction="horizontal"><van-fieldtextarea v-model="${vModel}" placeholder="请输入${label}"></van-fieldtextarea></van-linear-layout></template>`;
163
166
  // @TODO
@@ -591,6 +591,7 @@ export const NaslNode = {
591
591
  }),
592
592
  };
593
593
 
594
+
594
595
  export const getDecimalInfo = (property: any) => {
595
596
  let step
596
597
  let typeAnnotation = property?.typeAnnotation
@@ -603,11 +604,11 @@ export const getDecimalInfo = (property: any) => {
603
604
  return { step, decimalLength }
604
605
  }
605
606
  export function transEntityMetadataTypes(typeAnnotation: TypeAnnotation, app: App) {
606
- let { typeName: propertyTypeName } = typeAnnotation || {};
607
- if (typeAnnotation?.typeNamespace?.endsWith('.metadataTypes')) {
608
- const referenceNode = app.findNodeByCompleteName(typeAnnotation.typeNamespace + '.' + typeAnnotation.typeName) || {}
609
- const { typeName } = referenceNode.typeAnnotation || {};
610
- propertyTypeName = typeName;
611
- }
612
- return propertyTypeName;
607
+ let { typeName: propertyTypeName } = typeAnnotation || {};
608
+ if (typeAnnotation?.typeNamespace?.endsWith('.metadataTypes')) {
609
+ const referenceNode = app.findNodeByCompleteName(typeAnnotation.typeNamespace + '.' + typeAnnotation.typeName) || {}
610
+ const { typeName } = referenceNode.typeAnnotation || {};
611
+ propertyTypeName = typeName;
612
+ }
613
+ return propertyTypeName;
613
614
  }
@@ -1,3 +1,3 @@
1
1
  // Jest Snapshot v1, https://goo.gl/fbAQLP
2
2
 
3
- exports[`anonymous-function:toJS simple 1`] = `"(item) => (((item || {}).length) >= (0))"`;
3
+ exports[`anonymous-function:toJS simple 1`] = `"(item) => (this.$global.greaterThanOrEqual((item || {}).length,\\"0\\"))"`;
@@ -2,7 +2,7 @@
2
2
 
3
3
  exports[`assignment:toJS both-space 1`] = `""`;
4
4
 
5
- exports[`assignment:toJS left-space 1`] = `" = 123"`;
5
+ exports[`assignment:toJS left-space 1`] = `" = new NaslLong(\\"123\\")"`;
6
6
 
7
7
  exports[`assignment:toJS right-space 1`] = `"result"`;
8
8
 
@@ -2,8 +2,8 @@
2
2
 
3
3
  exports[`batch-assignment:toJS muli-var-muli-value 1`] = `
4
4
  "param3.property1 = param2;
5
- param3.createdBy.length = 0;
6
- param3.id = 0;
5
+ param3.createdBy.length = \\"0\\";
6
+ param3.id = \\"0\\";
7
7
  "
8
8
  `;
9
9
 
@@ -1,7 +1,7 @@
1
1
  // Jest Snapshot v1, https://goo.gl/fbAQLP
2
2
 
3
3
  exports[`binary-expression:toJS constant-nested 1`] = `
4
- "(\`123\` || {}).length == 3 && false;
4
+ "this.$global.isEqual((\`123\` || {}).length, \\"3\\") && false;
5
5
  "
6
6
  `;
7
7
 
@@ -11,6 +11,7 @@ exports[`binary-expression:toJS constant-simple 1`] = `
11
11
  `;
12
12
 
13
13
  exports[`binary-expression:toJS variable-nested 1`] = `
14
- "(param1 || {}).length == 3 || ((param3 || {}).updatedBy || {}).length != 0;
14
+ "this.$global.isEqual((param1 || {}).length, \\"3\\") ||
15
+ ((param3 || {}).updatedBy || {}).length != \\"0\\";
15
16
  "
16
17
  `;
@@ -20,7 +20,7 @@ exports[`call-interface:toJS with-body-complex-argument 1`] = `
20
20
  },
21
21
  query: {
22
22
  param1: \`123\`,
23
- param2: 123,
23
+ param2: \\"123\\",
24
24
  },
25
25
  path: {},
26
26
  headers: {},
@@ -39,7 +39,7 @@ exports[`call-interface:toJS with-body-complex-argument 1`] = `
39
39
  properties: null,
40
40
  })
41
41
  );
42
- obj.id = 1;
42
+ obj.id = \\"1\\";
43
43
  obj.value = \`val_text\`;
44
44
  obj.property1 = \`prop1\`;
45
45
  return obj;
@@ -11,7 +11,7 @@ exports[`call-logic:toJS entries-get-with-arguments 1`] = `
11
11
  \\"lcap-calllogic-uuid\\": \\"050b4ece455845679874a48344f8540a\\",
12
12
  },
13
13
  query: {
14
- id: 123,
14
+ id: \\"123\\",
15
15
  },
16
16
  body: {},
17
17
  })
@@ -44,9 +44,9 @@ exports[`call-logic:toJS entries-update-with-arguments 1`] = `
44
44
  properties: null,
45
45
  })
46
46
  );
47
- obj.id = 123;
47
+ obj.id = \\"123\\";
48
48
  obj.name = \`测试属性1\`;
49
- obj.value = 1234;
49
+ obj.value = \\"1234\\";
50
50
  return obj;
51
51
  })(),
52
52
  },
@@ -5,7 +5,7 @@ exports[`match:toJS isExpression 1`] = `
5
5
  if (this.$isInstanceOf(variable1, \\"nasl.core.Boolean\\")) {
6
6
  throw Error(\\"程序中止\\");
7
7
  } else if (this.$isInstanceOf(variable1, \\"nasl.core.Long\\")) {
8
- return 0;
8
+ return \\"0\\";
9
9
  } else if (this.$isInstanceOf(variable1, \\"nasl.core.String\\")) {
10
10
  return \`\`;
11
11
  } else {
@@ -1,6 +1,6 @@
1
1
  // Jest Snapshot v1, https://goo.gl/fbAQLP
2
2
 
3
3
  exports[`numeric-literal:toJS number 1`] = `
4
- "0;
4
+ "\\"0\\";
5
5
  "
6
6
  `;