@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
@@ -47,6 +47,8 @@ import {
47
47
  AnonymousFunction,
48
48
  MatchCase,
49
49
  OqlQueryComponent,
50
+ NewMap,
51
+ NewList,
50
52
  } from '../concepts';
51
53
  import { SourceMapItem } from '../translator';
52
54
  import { Diagnostic } from '../manager/diagnostic';
@@ -234,6 +236,10 @@ const TS_RULES: Array<{
234
236
  re: /Cannot find name '__(?:IDENTIFIER|LEFT|RIGHT)__'/,
235
237
  result: '表达式不能为空。',
236
238
  },
239
+ {
240
+ re: /Cannot find name '__(?:FRONTENDVARIABLES)__'/,
241
+ result: '前端全局变量:不可在非页面下使用。',
242
+ },
237
243
  {
238
244
  re: /Cannot find name '__(?:QueryFieldExpression)__'/,
239
245
  result: '数据查询:实体属性不能为空。',
@@ -369,6 +375,11 @@ const TS_RULES: Array<{
369
375
  re: /'__destinationEmpty__' is declared but its value is never read./,
370
376
  result: '任务未关联页面',
371
377
  },
378
+ {
379
+ re: /Variable '(.+?)' implicitly has an 'any' type./,
380
+ result: '$1推断不出类型!请连线或手动设置',
381
+ transforms: [transformType],
382
+ },
372
383
  ];
373
384
 
374
385
  const POST_RULES: Array<{
@@ -480,11 +491,13 @@ export function naslNodeTranslateMessage(minRange: MinRange, tsErrorDetail: Diag
480
491
  }
481
492
  }
482
493
 
483
- if (node instanceof ProcessElement && (node.type === 'ExclusiveGateway' || node.type === 'ParallelGateway')) {
494
+ if (node instanceof ProcessElement && (['ExclusiveGateway', 'ParallelGateway', 'InclusiveGateway'].includes(node.type))) {
484
495
  const reg = /Expected (.+?) arguments, but got (.+?)./.exec(text);
485
496
  let u = '排他网关';
486
497
  if (node.type === 'ParallelGateway') {
487
498
  u = '并行网关';
499
+ } else if (node.type === 'InclusiveGateway') {
500
+ u = '包容网关';
488
501
  }
489
502
  if (reg[2] === '0') {
490
503
  tsErrorDetail.message = `${u}出口顺序流和入口顺序流个数不能等于0`;
@@ -610,6 +623,14 @@ export function naslNodeTranslateMessage(minRange: MinRange, tsErrorDetail: Diag
610
623
  tsErrorDetail.message = identifierToString(node);
611
624
  }
612
625
  }
626
+
627
+ if (/'__UpdateNoProperty__' is declared but its value is never read./.exec(text)) {
628
+ tsErrorDetail.message = '局部更新:未选择任何属性';
629
+ const callLogic = node.parentNode.parentNode.parentNode as CallLogic;
630
+ const bodyArgument = callLogic.arguments.find(item => item.keyword === 'body');
631
+ node = bodyArgument.expression;
632
+ }
633
+
613
634
  // 左右类型不一致的,把上级信息带上
614
635
  if (/^Type '(.+?)' is not assignable to type '(.+?)'\./.exec(text) || /^This condition will always return '(.+?)' since the types '(.+?)' and '(.+?)' have no overlap./.exec(text)) {
615
636
  let str = tsErrorDetail.message;
@@ -621,6 +642,8 @@ export function naslNodeTranslateMessage(minRange: MinRange, tsErrorDetail: Diag
621
642
  tsErrorDetail.message = tsErrorDetail.message.replace('左右参数', '返回值')
622
643
  .replace('左边类型', '接收类型')
623
644
  .replace('右边类型', '传入类型');
645
+ } else if (text === `Type 'void' is not assignable to type 'never'.`) {
646
+ tsErrorDetail.message = `${node.name}推断不出类型!请连线或手动设置`;
624
647
  }
625
648
  }
626
649
  // 参数类型不一致!
@@ -650,6 +673,15 @@ export function naslNodeTranslateMessage(minRange: MinRange, tsErrorDetail: Diag
650
673
  node.isSmpty = true;
651
674
  }
652
675
  }
676
+ if (/Variable '(.+?)' implicitly has an 'any' type./.exec(text)) {
677
+ if (node.parentNode instanceof NewMap || node.parentNode instanceof NewList)
678
+ return;
679
+ // if (node.parentNode instanceof NewMap) {
680
+ // tsErrorDetail.message = 'newMap未设置类型,右侧属性' + tsErrorDetail.message.split('请连线或手动设置')[0];
681
+ // } else if (node.parentNode instanceof NewList) {
682
+ // tsErrorDetail.message = 'newList未设置类型,属性' + tsErrorDetail.message.split('请连线或手动设置')[0];
683
+ // }
684
+ }
653
685
  for (const rule of POST_RULES) {
654
686
  if (rule.re.test(tsErrorDetail.message))
655
687
  tsErrorDetail.message = tsErrorDetail.message.replace(rule.re, rule.result);
@@ -9,6 +9,10 @@ function httpCode(response, params, requestInfo) {
9
9
  if ((data.code === undefined) || (data.code + '').startsWith('2')) {
10
10
  return response;
11
11
  }
12
+ if (data.code === 401339 && data.msg === '租户已过期或禁用') {
13
+ location.href = '/dashboard/exception/tenantExpired';
14
+ return
15
+ }
12
16
  if (typeof window !== 'undefined' && new RegExp('^/designer').test(window.location.pathname)) {
13
17
  if (data.code === 401) {
14
18
  window.location.href = '/login';
@@ -0,0 +1,11 @@
1
+ export default {
2
+ pingDatabase: {
3
+ config: {
4
+ noErrorTip: true,
5
+ },
6
+ url: {
7
+ method: 'post',
8
+ path: '/api/v1/app/config/database/ping',
9
+ },
10
+ },
11
+ };
@@ -0,0 +1,6 @@
1
+ import { createService } from '../creator';
2
+ import api from './api';
3
+
4
+ const service = createService(api);
5
+
6
+ export default service;
@@ -436,6 +436,18 @@ export async function loadApp(appId?: string) {
436
436
  },
437
437
  });
438
438
  // const data = res?.data?.result;
439
+ // // mock数据,需要删除
440
+ // data[0].frontends = [];
441
+ // data?.[0].frontends.push({
442
+ // id: '111',
443
+ // concept: 'Frontend',
444
+ // name: 'pcFrontend1',
445
+ // title: 'pc端',
446
+ // type: 'pc',
447
+ // views: data?.[0].views,
448
+ // variables: data?.[0].frontendVariables,
449
+ // componentDependencies: data?.[0].componentDependencies,
450
+ // });
439
451
  app = new App(Object.assign(data?.[0], { id: appId }));
440
452
  } else if (config.storage.protocol === 'mock') {
441
453
  app = new App({
@@ -95,6 +95,7 @@ class VideoTranscribe {
95
95
  a.href = this.videoUrl;
96
96
  document.body.appendChild(a);
97
97
  a.click();
98
+ document.body.removeChild(a);
98
99
  }
99
100
  }
100
101
 
@@ -1,14 +1,10 @@
1
1
  import * as utils from '../utils';
2
- import { App, Module, Namespace, Entity, EntityProperty, DataSource } from '../concepts';
2
+ import { Entity, EntityProperty, DataSource } from '../concepts';
3
3
  import {
4
- getExpression, filterProperty, NameGroup,
5
- getFirstDisplayedProperty, getParamFromLogic, genCallComponentLogic,
6
- genMemberExpression, genLogicParam,
4
+ filterProperty, NameGroup, getFirstDisplayedProperty, getParamFromLogic,
5
+ genCallComponentLogic, genMemberExpression, genLogicParam,
7
6
  } from '.';
8
- import {
9
- NaslCoreTypeAnnotation, NaslUITypeAnnotation, NaslCollectionTypeAnnotation,
10
- NaslTypeAnnotation, NaslLogicItem, NaslNode,
11
- } from './utils';
7
+ import { NaslUITypeAnnotation, NaslLogicItem, NaslNode } from './utils';
12
8
 
13
9
  /**
14
10
  * 根据实体属性生成表格列模板
@@ -19,20 +15,16 @@ export function genEditTableColumnTemplate(entity: Entity, property: EntityPrope
19
15
  const lowerEntityName = utils.firstLowerCase(entity.name);
20
16
  const valueExpression = `current.item.${lowerEntityName}.${property.name}`;
21
17
  const title = property.label || property.name;
22
-
23
- const expression = getExpression(property, `current.item.${lowerEntityName}.${property.name}`);
24
-
25
18
  const canEditable = (property: EntityProperty) => !property.readonly;
26
-
27
19
  const getText = (property: EntityProperty) => {
28
20
  const propertyTypeName = property.typeAnnotation.typeName;
29
21
  if (propertyTypeName === 'Boolean') {
30
22
  return `
31
- <u-text v-if="${expression}" text="是"></u-text>
32
- <u-text v-if="!${expression}" text="否"></u-text>
23
+ <u-text v-if="${valueExpression}" text="是"></u-text>
24
+ <u-text v-if="!${valueExpression}" text="否"></u-text>
33
25
  `;
34
26
  } else {
35
- return `<u-text :text="${expression}"></u-text>`;
27
+ return `<u-text :text="${valueExpression}"></u-text>`;
36
28
  }
37
29
  };
38
30
 
@@ -120,7 +112,7 @@ export function genEditTableTemplate(entity: Entity, nameGroup: NameGroup, selec
120
112
  return `<u-table-view ref="${nameGroup.viewElementMainView}" :data-source="${nameGroup.viewLogicLoad}" data-schema="${nameGroup.structure}"
121
113
  value-field="${nameGroup.viewVariableEntity}.id"
122
114
  :pageable="true" :remote-paging="true" :show-sizer="true" :default-column-width="300" editable>
123
- <u-table-view-column type="index" width="60"><template #title><u-text text="序号"></u-text></template></u-table-view-column>
115
+ <u-table-view-column type="index" width="60"><template #title><u-text text="序号"></u-text></template><template #cell="current"></template></u-table-view-column>
124
116
 
125
117
  ${properties.map((property) => genEditTableColumnTemplate(entity, property, nameGroup, selectNameGroupMap) + '\n').join('')}
126
118
 
@@ -2,7 +2,7 @@ import { config } from '../config';
2
2
  import * as utils from '../utils';
3
3
  import { Entity, Logic, View, ViewElement } from '../concepts';
4
4
  import { NaslCoreTypeAnnotation, NaslTypeAnnotation, NaslLogicItem, NaslNode } from './utils';
5
- import { NameGroup, filterProperty, getExpression, genLogicParam } from '.';
5
+ import { NameGroup, filterProperty, genLogicParam } from '.';
6
6
 
7
7
  export function genGetTemplate(entity: Entity, nameGroup: NameGroup) {
8
8
  const properties = entity.properties.filter(filterProperty('inDetail'));
@@ -11,15 +11,14 @@ export function genGetTemplate(entity: Entity, nameGroup: NameGroup) {
11
11
  <u-info-list-group>
12
12
  <template #title><u-text text="基本信息"></u-text></template>
13
13
  ${properties
14
- .map((property) => {
15
- let formItem = ` <u-info-list-item><template #label><u-text text="${property.label || property.name}"></u-text></template>`;
16
-
17
- formItem += '<u-text :text="' + getExpression(property, `${nameGroup.viewVariableEntity}.${property.name}`) + '"></u-text>';
18
-
19
- formItem += ` </u-info-list-item>\n`;
20
- return formItem;
21
- })
22
- .join('')}
14
+ .map((property) => {
15
+ const valueExpression = `${nameGroup.viewVariableEntity}.${property.name}`;
16
+ let formItem = ` <u-info-list-item><template #label><u-text text="${property.label || property.name}"></u-text></template>`;
17
+ formItem += `<u-text :text="'${valueExpression}'"></u-text>`;
18
+ formItem += ` </u-info-list-item>\n`;
19
+ return formItem;
20
+ })
21
+ .join('')}
23
22
  </u-info-list-group>
24
23
  </u-info-list>`;
25
24
  }
@@ -55,16 +54,16 @@ export function genH5GetTemplate(entity: Entity, nameGroup: NameGroup) {
55
54
 
56
55
  return `<van-cell-group>
57
56
  ${properties
58
- .map((property) => {
59
- const temptitle = property.label || property.name;
60
- let formItem = ` <van-cell isLink`;
57
+ .map((property) => {
58
+ const temptitle = property.label || property.name;
59
+ let formItem = ` <van-cell isLink`;
61
60
 
62
- formItem += ' :value="' + getExpression(property, `${nameGroup.viewVariableEntity}.${property.name}`) + '">';
63
- formItem += `<template #title>${temptitle}</template>`;
64
- formItem += `<template>{{ ${getExpression(property, `${nameGroup.viewVariableEntity}.${property.name}`)} }}</template> </van-cell>\n`;
65
- return formItem;
66
- })
67
- .join('')}
61
+ formItem += ' :value="' + `${nameGroup.viewVariableEntity}.${property.name}` + '">';
62
+ formItem += `<template #title>${temptitle}</template>`;
63
+ formItem += `<template>{{ ${`${nameGroup.viewVariableEntity}.${property.name}`} }}</template> </van-cell>\n`;
64
+ return formItem;
65
+ })
66
+ .join('')}
68
67
  </van-cell-group>`;
69
68
  }
70
69
 
@@ -1,8 +1,7 @@
1
1
  import { config } from '../config';
2
2
  import * as utils from '../utils';
3
- import { App, Module, Namespace, Entity, EntityProperty, View, DataSource, ViewElement } from '../concepts';
3
+ import { App, Module, Namespace, Entity, EntityProperty, DataSource, ViewElement } from '../concepts';
4
4
  import {
5
- getExpression,
6
5
  filterProperty,
7
6
  NameGroup,
8
7
  genUniqueQueryNameGroup,
@@ -12,7 +11,7 @@ import {
12
11
  genCallComponentLogic,
13
12
  genQueryLogic,
14
13
  } from '.';
15
- import { NaslCoreTypeAnnotation, NaslUITypeAnnotation, NaslCollectionTypeAnnotation, NaslTypeAnnotation, NaslLogicItem, NaslNode } from './utils';
14
+ import { NaslUITypeAnnotation, NaslLogicItem, NaslNode } from './utils';
16
15
 
17
16
  /**
18
17
  * 根据实体属性生成表格列模板
@@ -23,7 +22,7 @@ export function genGridViewCardTemplate(property: EntityProperty, nameGroup: Nam
23
22
  const dataSource = entity.parentNode as DataSource;
24
23
  const lowerEntityName = utils.firstLowerCase(entity.name);
25
24
  const currentName = nameGroup.currentName || 'current';
26
- let expression = `${currentName}.item.${lowerEntityName}.${property.name}`;
25
+ let valueExpression = `${currentName}.item.${lowerEntityName}.${property.name}`;
27
26
  const title = property.label || property.name;
28
27
 
29
28
  if (property.relationEntity) {
@@ -33,23 +32,24 @@ export function genGridViewCardTemplate(property: EntityProperty, nameGroup: Nam
33
32
  const displayedProperty = getFirstDisplayedProperty(relationEntity);
34
33
  if (displayedProperty) {
35
34
  const relationLowerEntityName = utils.firstLowerCase(relationEntity.name);
36
- expression = getExpression(property, `${currentName}.item.${relationLowerEntityName}.${displayedProperty.name}`);
35
+ valueExpression = `${currentName}.item.${relationLowerEntityName}.${displayedProperty.name}`;
37
36
  } else
38
37
  return '';
39
38
  } else
40
39
  return '';
41
- } else
42
- expression = getExpression(property, `${currentName}.item.${lowerEntityName}.${property.name}`);
40
+ } else {
41
+ valueExpression = `${currentName}.item.${lowerEntityName}.${property.name}`;
43
42
 
43
+ }
44
44
  const getText = (property: EntityProperty) => {
45
45
  const propertyTypeName = property.typeAnnotation.typeName;
46
46
  if (propertyTypeName === 'Boolean') {
47
47
  return `
48
- <u-text v-if="${expression}" text="是"></u-text>
49
- <u-text v-if="!${expression}" text="否"></u-text>
48
+ <u-text v-if="${valueExpression}" text="是"></u-text>
49
+ <u-text v-if="!${valueExpression}" text="否"></u-text>
50
50
  `;
51
51
  } else {
52
- return `<u-text :text="${expression}"></u-text>`;
52
+ return `<u-text :text="${valueExpression}"></u-text>`;
53
53
  }
54
54
  };
55
55
 
@@ -64,7 +64,7 @@ export function genH5GridViewCardTemplate(property: EntityProperty, nameGroup?:
64
64
  const lowerEntityName = utils.firstLowerCase(entity.name);
65
65
 
66
66
  const currentName = nameGroup.currentName || 'current';
67
- let expression = `${currentName}.item.${lowerEntityName}.${property.name}`;
67
+ let valueExpression = `${currentName}.item.${lowerEntityName}.${property.name}`;
68
68
 
69
69
  if (property.relationEntity) {
70
70
  // 有外键关联
@@ -73,23 +73,23 @@ export function genH5GridViewCardTemplate(property: EntityProperty, nameGroup?:
73
73
  const displayedProperty = getFirstDisplayedProperty(relationEntity);
74
74
  if (displayedProperty) {
75
75
  const relationLowerEntityName = utils.firstLowerCase(relationEntity.name);
76
- expression = getExpression(property, `${currentName}.item.${relationLowerEntityName}.${displayedProperty.name}`);
76
+ valueExpression = `${currentName}.item.${relationLowerEntityName}.${displayedProperty.name}`;
77
77
  } else
78
78
  return '';
79
79
  } else
80
80
  return '';
81
- } else
82
- expression = getExpression(property, `${currentName}.item.${lowerEntityName}.${property.name}`);
83
-
81
+ } else {
82
+ valueExpression = `${currentName}.item.${lowerEntityName}.${property.name}`;
83
+ }
84
84
  const getText = (property: EntityProperty) => {
85
85
  const propertyTypeName = property.typeAnnotation.typeName;
86
86
  if (propertyTypeName === 'Boolean') {
87
87
  return `
88
- <van-text v-if="${expression}" text="是" display="block"></van-text>
89
- <van-text v-if="!${expression}" text="否" display="block"></van-text>
88
+ <van-text v-if="${valueExpression}" text="是" display="block"></van-text>
89
+ <van-text v-if="!${valueExpression}" text="否" display="block"></van-text>
90
90
  `;
91
91
  } else {
92
- return `<van-text :text="${expression}" display="block"></van-text>`;
92
+ return `<van-text :text="${valueExpression}" display="block"></van-text>`;
93
93
  }
94
94
  };
95
95
  return `${getText(property)}`;
@@ -1,24 +1,22 @@
1
1
  import { config } from '../config';
2
2
  import * as utils from '../utils';
3
- import { App, Module, Namespace, Entity, EntityProperty, View, DataSource, ViewElement } from '../concepts';
4
- import { getExpression, genUniqueQueryNameGroup, getFirstDisplayedProperty, genQueryLogic, genQueryStructure, genLogicParam } from '.';
3
+ import { App, Module, Namespace, Entity, EntityProperty, DataSource, ViewElement } from '../concepts';
4
+ import { genUniqueQueryNameGroup, getFirstDisplayedProperty, genQueryLogic, genLogicParam } from '.';
5
5
  import {
6
- NameGroup, NaslUITypeAnnotation, NaslCollectionTypeAnnotation,
7
- NaslTypeAnnotation, NaslLogicItem, NaslNode,
6
+ NameGroup, NaslUITypeAnnotation, NaslLogicItem, NaslNode,
8
7
  } from './utils';
9
8
 
10
9
  export function genListViewTemplate(property: EntityProperty, nameGroup: NameGroup) {
11
10
  const entity = property.entity;
12
11
  const lowerEntityName = utils.firstLowerCase(entity.name);
13
12
  const currentName = nameGroup.currentName || 'current';
14
-
15
- const expression = getExpression(property, `${currentName}.item.${lowerEntityName}.${property.name}`);
13
+ const valueExpression = `${currentName}.item.${lowerEntityName}.${property.name}`;
16
14
  return `<u-list-view ref="${nameGroup.viewElementMainView}" :data-source="${nameGroup.viewLogicLoad}" data-schema="${nameGroup.structure}"
17
15
  text-field="${nameGroup.viewVariableEntity}.${property.name}"
18
16
  value-field="${nameGroup.viewVariableEntity}.id" :pageable="true" :remote-paging="true">
19
17
  <template #item="current">
20
18
  <u-linear-layout>
21
- <u-text :text="${expression}"></u-text>
19
+ <u-text :text="${valueExpression}"></u-text>
22
20
  </u-linear-layout>
23
21
  </template>
24
22
  </u-list-view>`;
@@ -28,14 +26,13 @@ export function genH5ListViewTemplate(property: EntityProperty, nameGroup: NameG
28
26
  const entity = property.entity;
29
27
  const lowerEntityName = utils.firstLowerCase(entity.name);
30
28
  const currentName = nameGroup.currentName || 'current';
31
-
32
- const expression = getExpression(property, `${currentName}.item.${lowerEntityName}.${property.name}`);
29
+ const valueExpression = `${currentName}.item.${lowerEntityName}.${property.name}`;
33
30
  return `<van-list-view ref="${nameGroup.viewElementMainView}" :data-source="${nameGroup.viewLogicLoad}" data-schema="${nameGroup.structure}"
34
31
  text-field="${nameGroup.viewVariableEntity}.${property.name}"
35
32
  value-field="${nameGroup.viewVariableEntity}.id" pageable="auto-more" :remote-paging="true">
36
33
  <template #item="current">
37
- <van-cell :value="${expression}" isLink>
38
- <template #title>{{ ${expression} }}</template>
34
+ <van-cell :value="${valueExpression}" isLink>
35
+ <template #title>{{ ${valueExpression} }}</template>
39
36
  </van-cell>
40
37
  </template>
41
38
  </van-list-view>`;
@@ -1,7 +1,6 @@
1
1
  import * as utils from '../utils';
2
2
  import { App, Module, Namespace, Entity, EntityProperty, View, DataSource, ViewElement } from '../concepts';
3
3
  import {
4
- getExpression,
5
4
  filterProperty,
6
5
  NameGroup,
7
6
  genUniqueQueryNameGroup,
@@ -22,27 +21,24 @@ export function genTableColumnTemplate(property: EntityProperty, currentName: st
22
21
 
23
22
  const dataSource = entity.parentNode as DataSource;
24
23
  const lowerEntityName = utils.firstLowerCase(entity.name);
25
- let expression = `${currentName}.item.${lowerEntityName}.${property.name}`;
24
+ let valueExpression = `${currentName}.item.${lowerEntityName}.${property.name}`;
26
25
  const title = property.label || property.name;
27
26
 
28
27
  if (property.relationEntity) {
29
28
  const relationLowerEntityName = utils.firstLowerCase(property.relationEntity);
30
29
  const relationEntity = dataSource?.findEntityByName(property.relationEntity);
31
30
  const displayedProperty = getFirstDisplayedProperty(relationEntity);
32
- // 有外键关联
33
- expression = getExpression(property, `${currentName}.item.${relationLowerEntityName}.${displayedProperty?.name || property.relationProperty}`);
34
- } else {
35
- expression = getExpression(property, `${currentName}.item.${lowerEntityName}.${property.name}`);
31
+ valueExpression = `${currentName}.item.${relationLowerEntityName}.${displayedProperty?.name || property.relationProperty}`;
36
32
  }
37
33
 
38
34
  const getText = (property: EntityProperty) => {
39
35
  if (property.typeAnnotation.typeName === 'Boolean') {
40
36
  return `
41
- <u-text v-if="${expression}" text="是"></u-text>
42
- <u-text v-if="!${expression}" text="否"></u-text>
37
+ <u-text v-if="${valueExpression}" text="是"></u-text>
38
+ <u-text v-if="!${valueExpression}" text="否"></u-text>
43
39
  `;
44
40
  } else {
45
- return `<u-text :text="${expression}"></u-text>`;
41
+ return `<u-text :text="${valueExpression}"></u-text>`;
46
42
  }
47
43
  };
48
44
 
@@ -68,7 +64,7 @@ export function genTableTemplate(entity: Entity, nameGroup: NameGroup, modifyabl
68
64
  return `<u-table-view ref="${nameGroup.viewElementMainView}" :data-source="${nameGroup.viewLogicLoad}" data-schema="${nameGroup.structure}"
69
65
  value-field="${nameGroup.viewVariableEntity}.id"
70
66
  :pageable="true" :remote-paging="true" :show-sizer="true">
71
- <u-table-view-column type="index" width="60"><template #title><u-text text="序号"></u-text></template></u-table-view-column>
67
+ <u-table-view-column type="index" width="60"><template #title><u-text text="序号"></u-text></template><template #cell="current"></template></u-table-view-column>
72
68
 
73
69
  ${properties.map((property) => genTableColumnTemplate(property, currentName) + '\n').join('')}
74
70
 
@@ -176736,7 +176736,7 @@ var ts;
176736
176736
 
176737
176737
  function analyzeTypeNode(typeNode) {
176738
176738
  const typeInfo = {};
176739
- const { typeName, typeArguments, members } = typeNode || {};
176739
+ const { typeName, typeArguments, members, types } = typeNode || {};
176740
176740
  if (typeName) {
176741
176741
  const { left, right } = typeName || {};
176742
176742
  if (right) {
@@ -176745,6 +176745,8 @@ var ts;
176745
176745
  if (left) {
176746
176746
  typeInfo.typeNamespace = analyzeTypeNameSpace(left);
176747
176747
  }
176748
+ } else if(Array.isArray(types)) {
176749
+ typeInfo.typeName = 'Union';
176748
176750
  } else {
176749
176751
  typeInfo.typeKind = 'anonymousStructure';
176750
176752
  }
@@ -176753,6 +176755,11 @@ var ts;
176753
176755
  return analyzeTypeNode(typeArg);
176754
176756
  });
176755
176757
  }
176758
+ if (Array.isArray(types)) {
176759
+ typeInfo.typeArguments = types.map((typeArg) => {
176760
+ return analyzeTypeNode(typeArg);
176761
+ });
176762
+ }
176756
176763
  if (Array.isArray(members)) {
176757
176764
  const properties = members.map((member) => {
176758
176765
  const { name, type } = member || {};