@lcap/nasl 2.18.0-beta.7 → 2.20.0-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 (336) hide show
  1. package/out/automate/engine/index.js +3 -3
  2. package/out/automate/engine/index.js.map +1 -1
  3. package/out/bak/translator.js +85 -37
  4. package/out/bak/translator.js.map +1 -1
  5. package/out/common/BaseNode.d.ts +6 -10
  6. package/out/common/BaseNode.js +7 -53
  7. package/out/common/BaseNode.js.map +1 -1
  8. package/out/concepts/AnonymousFunction__.js.map +1 -1
  9. package/out/concepts/App__.d.ts +0 -10
  10. package/out/concepts/App__.js +0 -74
  11. package/out/concepts/App__.js.map +1 -1
  12. package/out/concepts/Assignee__.js.map +1 -1
  13. package/out/concepts/AssignmentLine__.d.ts +5 -5
  14. package/out/concepts/AssignmentLine__.js +6 -6
  15. package/out/concepts/AssignmentLine__.js.map +1 -1
  16. package/out/concepts/Assignment__.js +2 -1
  17. package/out/concepts/Assignment__.js.map +1 -1
  18. package/out/concepts/BatchAssignment__.d.ts +60 -60
  19. package/out/concepts/BatchAssignment__.js +41 -68
  20. package/out/concepts/BatchAssignment__.js.map +1 -1
  21. package/out/concepts/BindAttribute__.d.ts +0 -19
  22. package/out/concepts/BindAttribute__.js +2 -39
  23. package/out/concepts/BindAttribute__.js.map +1 -1
  24. package/out/concepts/BindEvent__.js.map +1 -1
  25. package/out/concepts/BindStyle__.d.ts +2 -2
  26. package/out/concepts/BindStyle__.js +3 -3
  27. package/out/concepts/BindStyle__.js.map +1 -1
  28. package/out/concepts/BooleanLiteral__.js +8 -0
  29. package/out/concepts/BooleanLiteral__.js.map +1 -1
  30. package/out/concepts/CallFunction__.js +25 -58
  31. package/out/concepts/CallFunction__.js.map +1 -1
  32. package/out/concepts/CallInterface__.d.ts +0 -7
  33. package/out/concepts/CallInterface__.js +7 -53
  34. package/out/concepts/CallInterface__.js.map +1 -1
  35. package/out/concepts/CallLogic__.d.ts +1 -2
  36. package/out/concepts/CallLogic__.js +25 -89
  37. package/out/concepts/CallLogic__.js.map +1 -1
  38. package/out/concepts/CallQueryComponent__.js +1 -13
  39. package/out/concepts/CallQueryComponent__.js.map +1 -1
  40. package/out/concepts/CompletionProperty__.js +0 -3
  41. package/out/concepts/CompletionProperty__.js.map +1 -1
  42. package/out/concepts/ConfigGroup__.js.map +1 -1
  43. package/out/concepts/ConfigProperty__.js.map +1 -1
  44. package/out/concepts/Configuration__.js.map +1 -1
  45. package/out/concepts/DataSource__.d.ts +0 -6
  46. package/out/concepts/DataSource__.js +0 -41
  47. package/out/concepts/DataSource__.js.map +1 -1
  48. package/out/concepts/Destination__.d.ts +2 -11
  49. package/out/concepts/Destination__.js +48 -148
  50. package/out/concepts/Destination__.js.map +1 -1
  51. package/out/concepts/EntityProperty__.d.ts +8 -21
  52. package/out/concepts/EntityProperty__.js +23 -109
  53. package/out/concepts/EntityProperty__.js.map +1 -1
  54. package/out/concepts/Entity__.d.ts +0 -32
  55. package/out/concepts/Entity__.js +2 -117
  56. package/out/concepts/Entity__.js.map +1 -1
  57. package/out/concepts/Enum__.js +4 -0
  58. package/out/concepts/Enum__.js.map +1 -1
  59. package/out/concepts/Event__.js.map +1 -1
  60. package/out/concepts/ForEachStatement__.d.ts +4 -0
  61. package/out/concepts/ForEachStatement__.js +8 -4
  62. package/out/concepts/ForEachStatement__.js.map +1 -1
  63. package/out/concepts/Function__.js.map +1 -1
  64. package/out/concepts/Identifier__.js +4 -16
  65. package/out/concepts/Identifier__.js.map +1 -1
  66. package/out/concepts/IfStatement__.d.ts +0 -8
  67. package/out/concepts/IfStatement__.js +0 -22
  68. package/out/concepts/IfStatement__.js.map +1 -1
  69. package/out/concepts/InterfaceParam__.js.map +1 -1
  70. package/out/concepts/Interface__.js.map +1 -1
  71. package/out/concepts/LogicItem__.d.ts +1 -1
  72. package/out/concepts/LogicItem__.js.map +1 -1
  73. package/out/concepts/Logic__.d.ts +1 -6
  74. package/out/concepts/Logic__.js +50 -150
  75. package/out/concepts/Logic__.js.map +1 -1
  76. package/out/concepts/MatchCase__.d.ts +1 -1
  77. package/out/concepts/MatchCase__.js +8 -15
  78. package/out/concepts/MatchCase__.js.map +1 -1
  79. package/out/concepts/Match__.d.ts +19 -21
  80. package/out/concepts/Match__.js +25 -112
  81. package/out/concepts/Match__.js.map +1 -1
  82. package/out/concepts/MemberExpression__.d.ts +1 -4
  83. package/out/concepts/MemberExpression__.js +15 -30
  84. package/out/concepts/MemberExpression__.js.map +1 -1
  85. package/out/concepts/Module__.js.map +1 -1
  86. package/out/concepts/Namespace__.js.map +1 -1
  87. package/out/concepts/NumericLiteral__.js +1 -1
  88. package/out/concepts/NumericLiteral__.js.map +1 -1
  89. package/out/concepts/OqlQueryComponent__.d.ts +3 -7
  90. package/out/concepts/OqlQueryComponent__.js +95 -56
  91. package/out/concepts/OqlQueryComponent__.js.map +1 -1
  92. package/out/concepts/Param__.d.ts +1 -1
  93. package/out/concepts/Param__.js +4 -40
  94. package/out/concepts/Param__.js.map +1 -1
  95. package/out/concepts/ProcessComponent__.js.map +1 -1
  96. package/out/concepts/ProcessElement__.js.map +1 -1
  97. package/out/concepts/Process__.js.map +1 -1
  98. package/out/concepts/QueryJoinExpression__.js.map +1 -1
  99. package/out/concepts/QueryOrderByExpression__.d.ts +3 -3
  100. package/out/concepts/QueryOrderByExpression__.js +3 -3
  101. package/out/concepts/QueryOrderByExpression__.js.map +1 -1
  102. package/out/concepts/QuerySelectExpression__.js.map +1 -1
  103. package/out/concepts/Return__.js +2 -38
  104. package/out/concepts/Return__.js.map +1 -1
  105. package/out/concepts/SelectMembers__.d.ts +1 -1
  106. package/out/concepts/SelectMembers__.js +2 -2
  107. package/out/concepts/SelectMembers__.js.map +1 -1
  108. package/out/concepts/SqlQueryComponent__.d.ts +4 -2
  109. package/out/concepts/SqlQueryComponent__.js +88 -9
  110. package/out/concepts/SqlQueryComponent__.js.map +1 -1
  111. package/out/concepts/StringLiteral__.js +7 -0
  112. package/out/concepts/StringLiteral__.js.map +1 -1
  113. package/out/concepts/StructureProperty__.js.map +1 -1
  114. package/out/concepts/Structure__.js.map +1 -1
  115. package/out/concepts/TypeAnnotation__.d.ts +0 -1
  116. package/out/concepts/TypeAnnotation__.js +12 -25
  117. package/out/concepts/TypeAnnotation__.js.map +1 -1
  118. package/out/concepts/TypeParam__.d.ts +0 -1
  119. package/out/concepts/TypeParam__.js +0 -2
  120. package/out/concepts/TypeParam__.js.map +1 -1
  121. package/out/concepts/UnaryExpression__.js +9 -6
  122. package/out/concepts/UnaryExpression__.js.map +1 -1
  123. package/out/concepts/ValidationRule__.js +23 -88
  124. package/out/concepts/ValidationRule__.js.map +1 -1
  125. package/out/concepts/Variable__.js +2 -38
  126. package/out/concepts/Variable__.js.map +1 -1
  127. package/out/concepts/ViewComponent__.js.map +1 -1
  128. package/out/concepts/ViewElement__.d.ts +29 -30
  129. package/out/concepts/ViewElement__.js +52 -118
  130. package/out/concepts/ViewElement__.js.map +1 -1
  131. package/out/concepts/View__.d.ts +3 -4
  132. package/out/concepts/View__.js +83 -97
  133. package/out/concepts/View__.js.map +1 -1
  134. package/out/concepts/WhileStatement__.js +1 -1
  135. package/out/concepts/WhileStatement__.js.map +1 -1
  136. package/out/concepts/basics/stdlib/nasl.browser.js +0 -50
  137. package/out/concepts/basics/stdlib/nasl.browser.js.map +1 -1
  138. package/out/concepts/basics/stdlib/nasl.ui.js +4 -36
  139. package/out/concepts/basics/stdlib/nasl.ui.js.map +1 -1
  140. package/out/concepts/basics/stdlib/nasl.util.js +43 -63
  141. package/out/concepts/basics/stdlib/nasl.util.js.map +1 -1
  142. package/out/concepts/index__.d.ts +0 -2
  143. package/out/concepts/index__.js +0 -2
  144. package/out/concepts/index__.js.map +1 -1
  145. package/out/generator/genBundleFiles.d.ts +2 -5
  146. package/out/generator/genBundleFiles.js +155 -108
  147. package/out/generator/genBundleFiles.js.map +1 -1
  148. package/out/generator/genMetaData.d.ts +10 -1
  149. package/out/generator/genMetaData.js +50 -189
  150. package/out/generator/genMetaData.js.map +1 -1
  151. package/out/generator/index.d.ts +0 -1
  152. package/out/generator/index.js +0 -1
  153. package/out/generator/index.js.map +1 -1
  154. package/out/index.d.ts +2 -3
  155. package/out/index.js +1 -5
  156. package/out/index.js.map +1 -1
  157. package/out/server/entity2LogicNamespace.js +11 -11
  158. package/out/server/entity2LogicNamespace.js.map +1 -1
  159. package/out/server/extendBaseNode.js +18 -4
  160. package/out/server/extendBaseNode.js.map +1 -1
  161. package/out/server/formatTsUtils.d.ts +2 -1
  162. package/out/server/formatTsUtils.js +64 -40
  163. package/out/server/formatTsUtils.js.map +1 -1
  164. package/out/server/getLogics.js +6 -13
  165. package/out/server/getLogics.js.map +1 -1
  166. package/out/server/getMemberIdentifier.js +7 -7
  167. package/out/server/getMemberIdentifier.js.map +1 -1
  168. package/out/server/getProcesses.d.ts +1 -1
  169. package/out/server/getProcesses.js +1 -1
  170. package/out/server/getProcesses.js.map +1 -1
  171. package/out/server/index.d.ts +1 -0
  172. package/out/server/index.js +27 -2
  173. package/out/server/index.js.map +1 -1
  174. package/out/server/naslServer.d.ts +7 -47
  175. package/out/server/naslServer.js +399 -604
  176. package/out/server/naslServer.js.map +1 -1
  177. package/out/server/naslStdlibMap.js +28 -30
  178. package/out/server/naslStdlibMap.js.map +1 -1
  179. package/out/server/translator.js +11 -59
  180. package/out/server/translator.js.map +1 -1
  181. package/out/service/storage/init.js +3 -33
  182. package/out/service/storage/init.js.map +1 -1
  183. package/out/templator/genCreateBlock.js +4 -6
  184. package/out/templator/genCreateBlock.js.map +1 -1
  185. package/out/templator/genCurdEditMultipleKeyBlock.js +4 -7
  186. package/out/templator/genCurdEditMultipleKeyBlock.js.map +1 -1
  187. package/out/templator/genCurdMultipleKeyBlock.js +5 -7
  188. package/out/templator/genCurdMultipleKeyBlock.js.map +1 -1
  189. package/out/templator/genEnumSelectBlock.js +2 -5
  190. package/out/templator/genEnumSelectBlock.js.map +1 -1
  191. package/out/templator/genGridViewBlock.js +2 -2
  192. package/out/templator/genGridViewBlock.js.map +1 -1
  193. package/out/templator/genListViewBlock.js +2 -2
  194. package/out/templator/genListViewBlock.js.map +1 -1
  195. package/out/templator/genQueryComponent.d.ts +2 -2
  196. package/out/templator/genQueryComponent.js +1 -4
  197. package/out/templator/genQueryComponent.js.map +1 -1
  198. package/out/templator/genTableBlock.js +2 -2
  199. package/out/templator/genTableBlock.js.map +1 -1
  200. package/out/templator/genUpdateBlock.js +3 -4
  201. package/out/templator/genUpdateBlock.js.map +1 -1
  202. package/out/templator/utils.js +1 -1
  203. package/out/templator/utils.js.map +1 -1
  204. package/out/test/integration/node-nasl-server.js +38 -10
  205. package/out/test/integration/node-nasl-server.js.map +1 -1
  206. package/out/translator/index.d.ts +0 -1
  207. package/out/translator/index.js +1 -1
  208. package/out/translator/index.js.map +1 -1
  209. package/out/utils/index.d.ts +0 -1
  210. package/out/utils/index.js +1 -38
  211. package/out/utils/index.js.map +1 -1
  212. package/out/utils/string.d.ts +2 -15
  213. package/out/utils/string.js +3 -18
  214. package/out/utils/string.js.map +1 -1
  215. package/package.json +2 -2
  216. package/sandbox/stdlib/nasl.auth.ts +1 -1
  217. package/sandbox/stdlib/nasl.core.ts +1 -0
  218. package/sandbox/stdlib/nasl.logging.ts +4 -4
  219. package/sandbox/stdlib/nasl.util.ts +8 -4
  220. package/src/automate/engine/index.js +4 -4
  221. package/src/automate/engine/uniqueName.js +3 -3
  222. package/src/automate/template/myProcess.js +1 -1
  223. package/src/automate/upgrader/2.20.js +41 -0
  224. package/src/bak/translator.js +4 -1
  225. package/src/concepts/AnonymousFunction__.ts +48 -2
  226. package/src/concepts/App__.ts +288 -615
  227. package/src/concepts/BatchAssignment__.ts +45 -1
  228. package/src/concepts/BindAttribute__.ts +18 -25
  229. package/src/concepts/BindDirective__.ts +7 -0
  230. package/src/concepts/BindEvent__.ts +7 -0
  231. package/src/concepts/BindStyle__.ts +7 -0
  232. package/src/concepts/CallFunction__.ts +34 -45
  233. package/src/concepts/CallInterface__.ts +2 -1
  234. package/src/concepts/CallLogic__.ts +61 -44
  235. package/src/concepts/CallQueryComponent__.ts +4 -1
  236. package/src/concepts/Constant__.ts +7 -0
  237. package/src/concepts/DataSource__.ts +57 -5
  238. package/src/concepts/Destination__.ts +8 -21
  239. package/src/concepts/Frontend__.ts +937 -0
  240. package/src/concepts/Identifier__.ts +18 -16
  241. package/src/concepts/LogicItem__.ts +8 -1
  242. package/src/concepts/Logic__.ts +128 -142
  243. package/src/concepts/Match__.ts +13 -29
  244. package/src/concepts/NewComposite__.ts +1357 -0
  245. package/src/concepts/NewList__.ts +440 -0
  246. package/src/concepts/NewMap__.ts +666 -0
  247. package/src/concepts/New__.ts +73 -0
  248. package/src/concepts/Param__.ts +245 -199
  249. package/src/concepts/ProcessElement__.ts +43 -36
  250. package/src/concepts/ProcessOutcomes__.ts +90 -0
  251. package/src/concepts/Process__.ts +1 -23
  252. package/src/concepts/Return__.ts +11 -1
  253. package/src/concepts/SelectMembers__.ts +3 -3
  254. package/src/concepts/Transactional__.ts +7 -0
  255. package/src/concepts/TypeAnnotation__.ts +54 -49
  256. package/src/concepts/ValidationRule__.ts +19 -1
  257. package/src/concepts/Variable__.ts +12 -6
  258. package/src/concepts/ViewElement__.ts +51 -7
  259. package/src/concepts/View__.ts +21 -25
  260. package/src/concepts/basics/stdlib/nasl.auth.ts +1 -1
  261. package/src/concepts/basics/stdlib/nasl.logging.ts +5 -0
  262. package/src/concepts/basics/stdlib/nasl.ui.ts +2 -0
  263. package/src/concepts/basics/stdlib/nasl.util.ts +153 -19
  264. package/src/concepts/index__.ts +7 -0
  265. package/src/enums/KEYWORDS.ts +9 -0
  266. package/src/generator/genBundleFiles.ts +43 -29
  267. package/src/generator/genMetaData.ts +5 -10
  268. package/src/generator/genReleaseBody.ts +77 -41
  269. package/src/generator/index.ts +1 -0
  270. package/src/generator/permission.ts +261 -0
  271. package/src/index.ts +1 -1
  272. package/src/server/entity2LogicNamespace.ts +90 -10
  273. package/src/server/extendBaseNode.ts +29 -3
  274. package/src/server/formatTsUtils.ts +6 -0
  275. package/src/server/getLogics.ts +13 -1
  276. package/src/server/getMemberIdentifier.ts +5 -5
  277. package/src/server/naslServer.ts +235 -58
  278. package/src/server/process2LogicNamespace.ts +8 -0
  279. package/src/server/translator.ts +33 -1
  280. package/src/service/creator/add.configs.js +4 -0
  281. package/src/service/datasource/api.js +11 -0
  282. package/src/service/datasource/index.js +6 -0
  283. package/src/service/storage/init.ts +12 -0
  284. package/src/service/video/VideoTranscribe.js +1 -0
  285. package/src/templator/genEditTableBlock.ts +8 -16
  286. package/src/templator/genGetBlock.ts +18 -19
  287. package/src/templator/genGridViewBlock.ts +18 -18
  288. package/src/templator/genListViewBlock.ts +8 -11
  289. package/src/templator/genTableBlock.ts +6 -10
  290. package/ts-worker/lib/tsserver.js +8 -1
  291. package/out/automate/engine/2.14-components.d.ts +0 -1115
  292. package/out/automate/engine/2.14-components.js +0 -1087
  293. package/out/automate/engine/2.14-components.js.map +0 -1
  294. package/out/concepts/ExternalDestination__.d.ts +0 -73
  295. package/out/concepts/ExternalDestination__.js +0 -264
  296. package/out/concepts/ExternalDestination__.js.map +0 -1
  297. package/out/concepts/MatchExpression__.d.ts +0 -97
  298. package/out/concepts/MatchExpression__.js +0 -281
  299. package/out/concepts/MatchExpression__.js.map +0 -1
  300. package/out/concepts/StringInterpolation__.d.ts +0 -113
  301. package/out/concepts/StringInterpolation__.js +0 -227
  302. package/out/concepts/StringInterpolation__.js.map +0 -1
  303. package/out/generator/genReleaseBody.d.ts +0 -41
  304. package/out/generator/genReleaseBody.js +0 -349
  305. package/out/generator/genReleaseBody.js.map +0 -1
  306. package/out/service/defaultErrorMessage.json +0 -97
  307. package/out/service/logic/api.d.ts +0 -9
  308. package/out/service/logic/api.js +0 -11
  309. package/out/service/logic/api.js.map +0 -1
  310. package/out/service/logic/index.d.ts +0 -2
  311. package/out/service/logic/index.js +0 -10
  312. package/out/service/logic/index.js.map +0 -1
  313. package/sandbox/stdlib/dist/nasl.logging.js +0 -0
  314. package/src/automate/engine/dist/index.dev.js +0 -517
  315. package/src/common/dist/BaseNode.js +0 -1101
  316. package/src/concepts/basics/stdlib/dist/nasl.util.js +0 -1503
  317. package/src/concepts/basics/stdlib/dist/reference2TypeAnnotationList.js +0 -24
  318. package/src/concepts/dist/Anchor__.js +0 -179
  319. package/src/concepts/dist/Assignment__.js +0 -301
  320. package/src/concepts/dist/CallFunction__.js +0 -513
  321. package/src/concepts/dist/CallInterface__.js +0 -533
  322. package/src/concepts/dist/CallLogic__.js +0 -892
  323. package/src/concepts/dist/ForEachStatement__.js +0 -426
  324. package/src/concepts/dist/MatchCase__.js +0 -587
  325. package/src/concepts/dist/Match__.js +0 -631
  326. package/src/concepts/dist/MemberExpression__.js +0 -348
  327. package/src/concepts/dist/Param__.js +0 -538
  328. package/src/concepts/dist/Return__.js +0 -494
  329. package/src/concepts/dist/Variable__.js +0 -537
  330. package/src/concepts/dist/ViewElement__.js +0 -1680
  331. package/src/generator/dist/genBundleFiles.js +0 -261
  332. package/src/generator/dist/genMetaData.js +0 -249
  333. package/src/server/dist/formatTsUtils.js +0 -683
  334. package/src/server/dist/naslServer.js +0 -3474
  335. package/src/service/storage/dist/init.js +0 -572
  336. package/ts-worker/dist/webpack.config.dev.js +0 -108
@@ -5,6 +5,7 @@ import View from './View__';
5
5
  import { ElementToVueOptions } from './ViewElement__';
6
6
  import { getNodeByNodeCallee, getNaslNodeByNodeCallee } from '../automate/engine/utils';
7
7
  import { findConceptKeyWordIndexFromNamespace } from '../utils';
8
+ import * as JSON5 from 'json5';
8
9
 
9
10
  //================================================================================
10
11
  // 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
@@ -20,6 +21,7 @@ import classMap from '../common/classMap';
20
21
  import TypeAnnotation from './TypeAnnotation__';
21
22
  import Argument from './Argument__';
22
23
  import LogicItem from './LogicItem__';
24
+ import Identifier from './Identifier__';
23
25
 
24
26
  /**
25
27
  * 调用逻辑
@@ -68,8 +70,6 @@ export class CallLogic extends LogicItem {
68
70
  @property('Argument')
69
71
  arguments: Array<Argument> = [];
70
72
 
71
-
72
-
73
73
  /**
74
74
  * @param source 需要合并的部分参数
75
75
  */
@@ -83,13 +83,6 @@ export class CallLogic extends LogicItem {
83
83
  return super.from(source, parentNode, parentKey) as CallLogic;
84
84
  }
85
85
 
86
-
87
-
88
-
89
-
90
-
91
-
92
-
93
86
  /**
94
87
  * 插入类型标注
95
88
  * @internal
@@ -122,8 +115,6 @@ export class CallLogic extends LogicItem {
122
115
  return typeAnnotation;
123
116
  }
124
117
 
125
-
126
-
127
118
  /**
128
119
  * 插入类型标注
129
120
  * @param typeAnnotationOptions 类型标注参数
@@ -146,8 +137,6 @@ export class CallLogic extends LogicItem {
146
137
  return node;
147
138
  }
148
139
 
149
-
150
-
151
140
  /**
152
141
  * 添加类型标注
153
142
  * @internal
@@ -167,8 +156,6 @@ export class CallLogic extends LogicItem {
167
156
  return this._insertTypeAnnotationAt(options as any, index);
168
157
  }
169
158
 
170
-
171
-
172
159
  /**
173
160
  * 添加类型标注
174
161
  * @param typeAnnotationOptions 类型标注参数
@@ -192,11 +179,6 @@ export class CallLogic extends LogicItem {
192
179
  return node;
193
180
  }
194
181
 
195
-
196
-
197
-
198
-
199
-
200
182
  /**
201
183
  * 插入实际参数
202
184
  * @internal
@@ -229,8 +211,6 @@ export class CallLogic extends LogicItem {
229
211
  return argument;
230
212
  }
231
213
 
232
-
233
-
234
214
  /**
235
215
  * 插入实际参数
236
216
  * @param argumentOptions 实际参数参数
@@ -253,8 +233,6 @@ export class CallLogic extends LogicItem {
253
233
  return node;
254
234
  }
255
235
 
256
-
257
-
258
236
  /**
259
237
  * 添加实际参数
260
238
  * @internal
@@ -274,8 +252,6 @@ export class CallLogic extends LogicItem {
274
252
  return this._insertArgumentAt(options as any, index);
275
253
  }
276
254
 
277
-
278
-
279
255
  /**
280
256
  * 添加实际参数
281
257
  * @param argumentOptions 实际参数参数
@@ -299,9 +275,6 @@ export class CallLogic extends LogicItem {
299
275
  return node;
300
276
  }
301
277
 
302
-
303
-
304
-
305
278
  /**
306
279
  * 删除类型标注
307
280
  * @param typeAnnotation 已有的类型标注实例
@@ -309,7 +282,7 @@ export class CallLogic extends LogicItem {
309
282
  removeTypeAnnotation(typeAnnotation: TypeAnnotation): void;
310
283
 
311
284
  removeTypeAnnotation(options: TypeAnnotation) {
312
- let typeAnnotation: TypeAnnotation = options;
285
+ const typeAnnotation: TypeAnnotation = options;
313
286
  return typeAnnotation.delete();
314
287
  }
315
288
 
@@ -336,8 +309,6 @@ export class CallLogic extends LogicItem {
336
309
  return params;
337
310
  }
338
311
 
339
-
340
-
341
312
  /**
342
313
  * 删除实际参数
343
314
  * @param argument 已有的实际参数实例
@@ -345,7 +316,7 @@ export class CallLogic extends LogicItem {
345
316
  removeArgument(argument: Argument): void;
346
317
 
347
318
  removeArgument(options: Argument) {
348
- let argument: Argument = options;
319
+ const argument: Argument = options;
349
320
  return argument.delete();
350
321
  }
351
322
 
@@ -448,10 +419,14 @@ export class CallLogic extends LogicItem {
448
419
  }
449
420
  this.calleeName = logic.name;
450
421
  this.arguments = [];
451
- logic.params.forEach((param) => {
452
- this._addArgument({
422
+ logic.params.forEach((param: any) => {
423
+ const argument = this._addArgument({
453
424
  keyword: param.name,
454
425
  });
426
+ if (param.defaultExpression) {
427
+ const exp: any = BaseNode.from({ ...param.defaultExpression.toJSON() });
428
+ argument.setExpression(exp);
429
+ }
455
430
  });
456
431
  if (logic.typeParams) {
457
432
  this.typeArguments = [];
@@ -471,7 +446,7 @@ export class CallLogic extends LogicItem {
471
446
  const relationOptions = { parentNode: this, parentKey: 'arguments' };
472
447
  const argument = Argument.from({
473
448
  keyword: param.name,
474
- expression: param.defaultExpression,
449
+ expression: param.isFunction ? new Identifier() : param.defaultExpression,
475
450
  }, this);
476
451
  Object.assign(argument, relationOptions);
477
452
  return argument;
@@ -692,7 +667,6 @@ var __parseType = __parseType || ((root, prop) => {
692
667
 
693
668
  // 全局逻辑
694
669
  if (!isViewLogic) {
695
- const namespaceArr = calleeNamespace?.split('.');
696
670
  const logic = getNodeByNodeCallee(this.app, this.calleewholeKey, (key: string, tempPoint: any) => {
697
671
  // 处理 NASL 中未定义的假的节点
698
672
  if (key === tempPoint.name) {
@@ -754,12 +728,31 @@ var __parseType = __parseType || ((root, prop) => {
754
728
  code += `},\n`;
755
729
  break;
756
730
  }
731
+ case 'update':
732
+ case 'createOrUpdate':
733
+ case 'batchUpdate': {
734
+ code += `body: {\n`;
735
+ const argsStr = logicArgs
736
+ .filter((arg: any) => arg.expression)
737
+ .map((arg: any) => {
738
+ const name = arg.keyword === 'body' ?
739
+ (this.calleeName === 'batchUpdate' ? 'entities' : 'entity') :
740
+ arg.keyword;
741
+ return `${name}: ${arg.expression.toJS(shiftState(state, code))}`;
742
+ })
743
+ .join(',\n');
744
+ code += argsStr;
745
+ code += `},\n`;
746
+ logicArgs = [];
747
+ breakBody = true;
748
+ break;
749
+ }
757
750
  case 'updateBy': {
758
751
  code += `body: {`;
759
752
  const argsStr = logicArgs
760
753
  .filter((arg: any) => arg.expression)
761
754
  .map((arg: any) => {
762
- const name = arg.expression.returnExpression ? arg.expression.name : 'entity';
755
+ const name = arg.keyword === 'body' ? 'entity' : arg.keyword;
763
756
  // filter回调函数
764
757
  if (arg.expression.returnExpression) {
765
758
  const argsStr = JSON.stringify(handleMember(arg.expression.returnExpression));
@@ -816,6 +809,9 @@ var __parseType = __parseType || ((root, prop) => {
816
809
  .map((obj: any) => `\n${obj?.keyword}: ${obj?.arg?.toJS(shiftState(state, code))}`)
817
810
  .join(', ');
818
811
  code += argsStr;
812
+ if (Array.isArray(this.typeArguments) && this.typeArguments.length) {
813
+ code += `,\n__typeArguments: ${JSON5.stringify(this.typeArguments)}`;
814
+ }
819
815
  }
820
816
  code += '\n}';
821
817
  }
@@ -854,12 +850,27 @@ var __parseType = __parseType || ((root, prop) => {
854
850
  code += '})';
855
851
  } else {
856
852
  code += '(';
857
- completeArguments
858
- .forEach((arg, index) => {
853
+ const needToString = ['showMessage', 'consoleLog'].includes(this.calleeName);
854
+ if (needToString) {
855
+ code += `this.$utils['ToString'](`;
856
+ }
857
+ if (Array.isArray(completeArguments) && completeArguments.length) {
858
+ completeArguments.forEach((arg, index) => {
859
859
  code += arg?.toJS(shiftState(state, code));
860
860
  if (index !== completeArguments?.length - 1)
861
861
  code += ', ';
862
862
  });
863
+ if (needToString) {
864
+ const arg = this.arguments[0];
865
+ const argTypeAnnotation = (arg as any).typeAnnotation || arg.__TypeAnnotation;
866
+ if (argTypeAnnotation) {
867
+ code += `, '${argTypeAnnotation?.sortedTypeKey}'`;
868
+ }
869
+ }
870
+ }
871
+ if (needToString) {
872
+ code += `)`;
873
+ }
863
874
  code += ')';
864
875
  }
865
876
  }
@@ -914,7 +925,10 @@ var __parseType = __parseType || ((root, prop) => {
914
925
  };
915
926
  }
916
927
  const typeAnnotation = (this as any).typeAnnotation || this.__TypeAnnotation;
917
- const needGenInitFromSchema = typeAnnotation && !['primitive', 'union'].includes(typeAnnotation.typeKind);
928
+ const needGenInitFromSchema = typeAnnotation && (
929
+ !['primitive', 'union'].includes(typeAnnotation.typeKind)
930
+ || typeAnnotation.typeName === 'DateTime'
931
+ );
918
932
  if (needGenInitFromSchema) {
919
933
  code = `this.$genInitFromSchema('${typeAnnotation?.sortedTypeKey}', ${code})`;
920
934
  }
@@ -953,7 +967,8 @@ var __parseType = __parseType || ((root, prop) => {
953
967
  && this.parentNode.concept !== 'SelectMembers'
954
968
  && this.parentNode.concept !== 'BinaryExpression'
955
969
  && this.parentNode.concept !== 'StringInterpolation'
956
- && this.parentNode.concept !== 'MemberExpression') {
970
+ && this.parentNode.concept !== 'MemberExpression'
971
+ && !['NewMap', 'NewList'].includes(this.parentNode.concept)) {
957
972
  code += ';';
958
973
  }
959
974
  } else {
@@ -975,7 +990,8 @@ var __parseType = __parseType || ((root, prop) => {
975
990
  && this.parentNode.concept !== 'SelectMembers'
976
991
  && this.parentNode.concept !== 'BinaryExpression'
977
992
  && this.parentNode.concept !== 'StringInterpolation'
978
- && this.parentNode.concept !== 'MemberExpression') {
993
+ && this.parentNode.concept !== 'MemberExpression'
994
+ && !['NewMap', 'NewList'].includes(this.parentNode.concept)) {
979
995
  code += ';';
980
996
  }
981
997
  } else {
@@ -988,7 +1004,8 @@ var __parseType = __parseType || ((root, prop) => {
988
1004
  && this.parentNode.concept !== 'SelectMembers'
989
1005
  && this.parentNode.concept !== 'BinaryExpression'
990
1006
  && this.parentNode.concept !== 'StringInterpolation'
991
- && this.parentNode.concept !== 'MemberExpression') {
1007
+ && this.parentNode.concept !== 'MemberExpression'
1008
+ && !['NewMap', 'NewList'].includes(this.parentNode.concept)) {
992
1009
  code += ';';
993
1010
  }
994
1011
  }
@@ -1087,7 +1087,8 @@ export class CallQueryComponent extends LogicItem {
1087
1087
  && this.parentNode.concept !== 'SelectMembers'
1088
1088
  && this.parentNode.concept !== 'BinaryExpression'
1089
1089
  && this.parentNode.concept !== 'StringInterpolation'
1090
- && this.parentNode.concept !== 'MemberExpression') {
1090
+ && this.parentNode.concept !== 'MemberExpression'
1091
+ && ['NewMap', 'NewList'].includes(this.parentNode.concept)) {
1091
1092
  code += ';';
1092
1093
  }
1093
1094
  code += '\n';
@@ -1486,6 +1487,8 @@ export class CallQueryComponent extends LogicItem {
1486
1487
  expression,
1487
1488
  });
1488
1489
  completionProperty.icon = 'property';
1490
+ // 标记实体属性是否是符合类型
1491
+ Object.assign(completionProperty, { isComplexType: property.typeAnnotation.isComplexType() });
1489
1492
  return completionProperty;
1490
1493
  }),
1491
1494
  }));
@@ -18,6 +18,7 @@ import Process from './Process__';
18
18
  import ProcessElement from './ProcessElement__';
19
19
  import Module from './Module__';
20
20
  import App from './App__';
21
+ import Frontend from './Frontend__';
21
22
 
22
23
  /**
23
24
  * 常量
@@ -78,6 +79,12 @@ export class Constant extends BaseNode {
78
79
  get view() {
79
80
  return this.getAncestor('View') as View;
80
81
  }
82
+ /**
83
+ * 祖先 Frontend
84
+ */
85
+ get frontend() {
86
+ return this.getAncestor('Frontend') as Frontend;
87
+ }
81
88
  /**
82
89
  * 祖先 ProcessElement
83
90
  */
@@ -1,4 +1,5 @@
1
1
  import { TranslatorState, withSourceMap, createCompilerState } from '../translator';
2
+ import datasourceService from '../service/datasource';
2
3
 
3
4
  //================================================================================
4
5
  // 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
@@ -93,7 +94,7 @@ export class DataSource extends BaseNode {
93
94
  });
94
95
  }
95
96
 
96
- getEntityExistingNames(excludedList: Array<Entity> = []) {
97
+ getEntityExistingNames(excludedList: Array<Entity> = []) {
97
98
  const excludedSet = new Set(excludedList);
98
99
  return ((this.entities as Entity[]) || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
99
100
  }
@@ -234,9 +235,6 @@ export class DataSource extends BaseNode {
234
235
  return node;
235
236
  }
236
237
 
237
-
238
-
239
-
240
238
  /**
241
239
  * 删除实体
242
240
  * @param name 实体名称
@@ -402,7 +400,7 @@ export class DataSource extends BaseNode {
402
400
  code += this.toEmbeddedTS(state);
403
401
  } catch (err) {
404
402
  code += '';
405
- console.log(err);
403
+ console.error(err);
406
404
  }
407
405
  code += '}\n';
408
406
 
@@ -413,6 +411,60 @@ export class DataSource extends BaseNode {
413
411
  };
414
412
  }
415
413
 
414
+ // 测试数据源连通性
415
+ async pingDatabase(recordEnvConnectError: Function) {
416
+ const configProperty = this.app.configuration.getGroup('dataSource').getProperty(this.name);
417
+ configProperty && configProperty.values.forEach((prop) => {
418
+ // 未配置数据源时,不进行连接测试
419
+ if (!prop.value) {
420
+ return;
421
+ }
422
+ const dataSource = configProperty.name;
423
+ const env = prop.env;
424
+ return datasourceService.pingDatabase({
425
+ body: {
426
+ category: 'sql',
427
+ appId: this.app.id,
428
+ dataSource,
429
+ env,
430
+ },
431
+ }).then(() => {
432
+ Object.assign(this, { [`__${env}ConnectError`]: false });
433
+ }).catch(() => {
434
+ Object.assign(this, { [`__${env}ConnectError`]: true });
435
+ }).then(() => {
436
+ recordEnvConnectError(env);
437
+ });
438
+ });
439
+ }
440
+ recordEnvConnectError(records: any[], env: string) {
441
+ const target = records?.find((item: any) => item.id === this.id);
442
+ // 诊断还未生成,在诊断时生成问题
443
+ if (!target) {
444
+ return;
445
+ }
446
+ // 诊断已生成,手动插入问题
447
+ const errorKey = `__${env}ConnectError`;
448
+ const errorText = `DataSource ${env} env connect error`;
449
+ target.semanticDiagnostics = target.semanticDiagnostics.filter((item: any) => item.code !== errorText);
450
+ if ((this as any)[errorKey]) {
451
+ const envText = env === 'online' ? '生产' : '开发';
452
+ target.semanticDiagnostics.push({
453
+ text: errorText,
454
+ node: this,
455
+ severity: 'error',
456
+ message: `数据源配置:数据源 ${this.name} ${envText}环境数据源连接不通,请先检查${envText}环境数据源配置`,
457
+ originalDiagnostic: {
458
+ fileName: '',
459
+ start: null,
460
+ end: null,
461
+ category: 'error',
462
+ text: `DataSource connection error`,
463
+ },
464
+ });
465
+ }
466
+ }
467
+
416
468
  // 获取datasource对应的数据源配置
417
469
  get dataSourceConfig() {
418
470
  let devProperty = null;
@@ -66,8 +66,6 @@ export class Destination extends LogicItem {
66
66
  @property()
67
67
  target: string = '_self';
68
68
 
69
-
70
-
71
69
  /**
72
70
  * @param source 需要合并的部分参数
73
71
  */
@@ -81,7 +79,6 @@ export class Destination extends LogicItem {
81
79
  return super.from(source, parentNode, parentKey) as Destination;
82
80
  }
83
81
 
84
-
85
82
  /**
86
83
  * 设置viewNamespace
87
84
  */
@@ -133,10 +130,6 @@ export class Destination extends LogicItem {
133
130
  });
134
131
  }
135
132
 
136
-
137
-
138
-
139
-
140
133
  /**
141
134
  * 插入实际参数
142
135
  * @internal
@@ -169,8 +162,6 @@ export class Destination extends LogicItem {
169
162
  return argument;
170
163
  }
171
164
 
172
-
173
-
174
165
  /**
175
166
  * 插入实际参数
176
167
  * @param argumentOptions 实际参数参数
@@ -193,8 +184,6 @@ export class Destination extends LogicItem {
193
184
  return node;
194
185
  }
195
186
 
196
-
197
-
198
187
  /**
199
188
  * 添加实际参数
200
189
  * @internal
@@ -214,8 +203,6 @@ export class Destination extends LogicItem {
214
203
  return this._insertArgumentAt(options as any, index);
215
204
  }
216
205
 
217
-
218
-
219
206
  /**
220
207
  * 添加实际参数
221
208
  * @param argumentOptions 实际参数参数
@@ -239,9 +226,6 @@ export class Destination extends LogicItem {
239
226
  return node;
240
227
  }
241
228
 
242
-
243
-
244
-
245
229
  /**
246
230
  * 删除实际参数
247
231
  * @param argument 已有的实际参数实例
@@ -249,12 +233,10 @@ export class Destination extends LogicItem {
249
233
  removeArgumentInArguments(argument: Argument): void;
250
234
 
251
235
  removeArgumentInArguments(options: Argument) {
252
- let argument: Argument = options;
236
+ const argument: Argument = options;
253
237
  return argument.delete();
254
238
  }
255
239
 
256
-
257
-
258
240
  /**
259
241
  * 删除锚点参数
260
242
  * @param name 锚点参数名称
@@ -339,6 +321,8 @@ export class Destination extends LogicItem {
339
321
  if (this.viewName) {
340
322
  viewArr.push(this.viewName);
341
323
  }
324
+ // 第一个是端名,需要去掉
325
+ viewArr.shift();
342
326
  return viewArr;
343
327
  }
344
328
 
@@ -577,6 +561,9 @@ export class Destination extends LogicItem {
577
561
  }
578
562
  });
579
563
  }
564
+ if (this.viewNode) {
565
+ return `${this.viewNode.frontend.basePath}/${viewNameAttr.join('/')}`;
566
+ }
580
567
  return `/${viewNameAttr.join('/')}`;
581
568
  }
582
569
  @withSourceMap()
@@ -659,11 +646,11 @@ export class Destination extends LogicItem {
659
646
  }
660
647
 
661
648
  toBrief(): string {
662
- let q = [];
649
+ const q = [];
663
650
  if (this.anchor?.expression) {
664
651
  q.push(this.anchor.toBrief());
665
652
  }
666
- return this.arguments.map(a => a.toBrief()).concat(q).join('<br />')
653
+ return this.arguments.map((a) => a.toBrief()).concat(q).join('<br />');
667
654
  }
668
655
 
669
656
  @withSourceMap()