@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
@@ -1 +1 @@
1
- {"version":3,"file":"ViewElement__.js","sourceRoot":"","sources":["../../src/concepts/ViewElement__.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ViewElement__.js","sourceRoot":"","sources":["../../src/concepts/ViewElement__.ts"],"names":[],"mappings":"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"}
@@ -683,6 +683,8 @@ export declare class View extends BaseNode {
683
683
  */
684
684
  elementLogicRoot: any[];
685
685
  getElementLogicRoot(): void;
686
+ viewElementDataSourceTypeStrMap: Map<BaseNode, string>;
687
+ getViewElementDataSourceCode(state?: TranslatorState): string;
686
688
  getViewBindEvents(): BindEvent[];
687
689
  getViewMatchExpressions(): Match[];
688
690
  /**
@@ -698,9 +700,6 @@ export declare class View extends BaseNode {
698
700
  _setAsIndexView(isIndex: boolean): void;
699
701
  setAsIndexView(isIndex: boolean): void;
700
702
  removeExistingViewElement(viewElement: ViewElement): void;
701
- getRightCode(code: string, assignment: Assignment | BatchAssignment, rightNode: any): string;
702
- handleReplaceCode(code: string, variable: string, replaceCode: string): string;
703
- getAncestorViewElementsWithDataSource(logic: Logic): ViewElement[];
704
- handleCurrentItemCode(code: string, logic: Logic): string;
703
+ getRightCode(code: string, assignment: Assignment | BatchAssignment): string;
705
704
  }
706
705
  export default View;
@@ -37,11 +37,10 @@ exports.View = void 0;
37
37
  const translator_1 = require("../translator");
38
38
  const translator_2 = __importDefault(require("../bak/translator"));
39
39
  const Structure__1 = require("./Structure__");
40
+ const MemberExpression__1 = __importDefault(require("./MemberExpression__"));
40
41
  const Identifier__1 = __importDefault(require("./Identifier__"));
41
42
  const Assignment__1 = __importDefault(require("./Assignment__"));
42
43
  const BatchAssignment__1 = __importDefault(require("./BatchAssignment__"));
43
- const CallInterface__1 = __importDefault(require("./CallInterface__"));
44
- const CallLogic__1 = __importDefault(require("./CallLogic__"));
45
44
  const decorators_1 = require("../decorators");
46
45
  const utils = __importStar(require("../utils"));
47
46
  const BaseNode_1 = __importDefault(require("../common/BaseNode"));
@@ -1153,7 +1152,12 @@ let View = View_1 = class View extends BaseNode_1.default {
1153
1152
  if (el.view !== this)
1154
1153
  return;
1155
1154
  const jsCode = el.toJS();
1156
- const advanceVar = this.variables?.find((variable) => !variable.typeAnnotation && jsCode.includes(`this.${variable.name} = `));
1155
+ // 逻辑内局部变量、输出参数、输入参数过滤
1156
+ if ((el.logic?.variables || []).find((lVar) => jsCode.includes(`${lVar.name} = `))
1157
+ || (el.logic?.returns || []).find((lRet) => jsCode.includes(`${lRet.name} = `))
1158
+ || (el.logic?.params || []).find((lPar) => jsCode.includes(`${lPar.name} = `)))
1159
+ return;
1160
+ const advanceVar = this.variables?.find((variable) => !variable.typeAnnotation && jsCode.includes(`${variable.name} = `));
1157
1161
  if (advanceVar && !advanceMap.get(advanceVar)) {
1158
1162
  advanceMap.set(advanceVar, el);
1159
1163
  }
@@ -1176,7 +1180,6 @@ let View = View_1 = class View extends BaseNode_1.default {
1176
1180
  });
1177
1181
  }
1178
1182
  advanceMap.forEach((assignment, variable) => {
1179
- code += (0, translator_1.indent)((state?.tabSize || 0) + 1) + '// @ts-ignore\n';
1180
1183
  code += (0, translator_1.indent)((state?.tabSize || 0) + 1) + 'let ';
1181
1184
  code += variable.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true }));
1182
1185
  code += ' = ';
@@ -1184,20 +1187,18 @@ let View = View_1 = class View extends BaseNode_1.default {
1184
1187
  assignment.assignmentLines.forEach(({ leftIndex, rightIndex }) => {
1185
1188
  const leftCode = leftIndex.length === 1 ? assignment.left.expression.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true })) : assignment.left.members[leftIndex[1]]?.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true }));
1186
1189
  if (leftCode === variable.name) {
1187
- const rightNode = rightIndex.length === 1 ? assignment.rights[rightIndex[0]]?.expression : assignment.rights[rightIndex[0]]?.members[rightIndex[1]];
1188
- const rightCode = rightNode?.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true }));
1189
- code += this.getRightCode(rightCode, assignment, rightNode);
1190
+ const rightCode = rightIndex.length === 1 ? assignment.rights[rightIndex[0]]?.expression?.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true })) : assignment.rights[rightIndex[0]]?.members[rightIndex[1]]?.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true }));
1191
+ code += this.getRightCode(rightCode, assignment);
1190
1192
  }
1191
1193
  });
1192
1194
  }
1193
1195
  else {
1194
- let rightCode = '';
1195
1196
  // 因为右侧枚举要赋值就得new 一下;
1196
1197
  if (assignment.right && assignment.right instanceof Identifier__1.default && assignment.right.namespace && assignment.right.namespace.endsWith('enums')) {
1197
- rightCode += 'new ';
1198
+ code += 'new ';
1198
1199
  }
1199
- rightCode += (assignment.right && assignment.right.toEmbeddedTS) ? assignment.right.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true })) : '__RIGHT__';
1200
- code += this.getRightCode(rightCode, assignment, assignment.right);
1200
+ const rightCode = (assignment.right && assignment.right.toEmbeddedTS) ? assignment.right.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true })) : '__RIGHT__';
1201
+ code += this.getRightCode(rightCode, assignment);
1201
1202
  }
1202
1203
  code += ';\n';
1203
1204
  });
@@ -1235,6 +1236,9 @@ let View = View_1 = class View extends BaseNode_1.default {
1235
1236
  code += '\n' + (0, translator_1.indent)((state?.tabSize || 0) + 1);
1236
1237
  code += `export function __render(`;
1237
1238
  code += `){\n`;
1239
+ code += this.getViewElementDataSourceCode((0, translator_1.shiftState)(state, code, {
1240
+ tabSize: (state?.tabSize || 0),
1241
+ }));
1238
1242
  code += (0, translator_1.indent)((state?.tabSize || 0));
1239
1243
  // elements 元素
1240
1244
  if (Array.isArray(this.elements)) {
@@ -1338,6 +1342,37 @@ let View = View_1 = class View extends BaseNode_1.default {
1338
1342
  this.elementLogicRoot = [];
1339
1343
  }
1340
1344
  }
1345
+ viewElementDataSourceTypeStrMap;
1346
+ getViewElementDataSourceCode(state) {
1347
+ const viewElementDataSourceTypeStrMap = new Map();
1348
+ let code = '';
1349
+ let bindAttrIndex = 0;
1350
+ this.elements.forEach((item) => {
1351
+ utils.traverse((current) => {
1352
+ const node = current.node;
1353
+ const bindAttrs = node.bindAttrs;
1354
+ if (bindAttrs && bindAttrs.length) {
1355
+ const attr = bindAttrs.find((item) => item.name === 'data-source');
1356
+ if (attr && attr.expression) {
1357
+ if (attr.expression instanceof MemberExpression__1.default || attr.expression instanceof Identifier__1.default) {
1358
+ const value = attr.expression.toEmbeddedTS((0, translator_1.shiftState)(state, code));
1359
+ viewElementDataSourceTypeStrMap.set(node, `nasl.ui.GetItemTypeFromDataSource<typeof ${value || 'any'}>`);
1360
+ }
1361
+ else {
1362
+ const funcName = '__datasourceName' + bindAttrIndex;
1363
+ code += `const ${funcName} = () => { return`;
1364
+ code += attr.expression.toEmbeddedTS((0, translator_1.shiftState)(state, code));
1365
+ code += '};\n';
1366
+ viewElementDataSourceTypeStrMap.set(node, `nasl.ui.GetItemTypeFromDataSource<ReturnType<typeof ${funcName}>>`);
1367
+ bindAttrIndex++;
1368
+ }
1369
+ }
1370
+ }
1371
+ }, { node: item });
1372
+ });
1373
+ this.viewElementDataSourceTypeStrMap = viewElementDataSourceTypeStrMap;
1374
+ return code;
1375
+ }
1341
1376
  getViewBindEvents() {
1342
1377
  const bindEvents = [];
1343
1378
  // 页面上的绑定的事件
@@ -1451,106 +1486,57 @@ let View = View_1 = class View extends BaseNode_1.default {
1451
1486
  this.existingViewElement.delete(viewElement.name);
1452
1487
  }
1453
1488
  }
1454
- getRightCode(code, assignment, rightNode) {
1489
+ getRightCode(code, assignment) {
1455
1490
  const logic = assignment.logic;
1456
- const logicRtn = logic?.returns[0];
1457
- // 调用接口,参数替换成 null
1458
- if (rightNode instanceof CallInterface__1.default) {
1459
- const { _interface } = rightNode.getModuleInterface();
1460
- return _interface ? `${rightNode.tsCalleeKey}(${_interface.params.map(() => 'null').join(',')})` : null;
1461
- }
1462
- // 调用全局逻辑,参数替换成 null
1463
- if (rightNode instanceof CallLogic__1.default && rightNode.calleeNamespace === 'app.logics') {
1464
- const calleeName = rightNode?.calleeName;
1465
- const calleeLogic = this.app.logics.find((l) => l.name === calleeName);
1466
- return calleeLogic ? `app.logics.${calleeName}(${calleeLogic.params.map(() => 'null').join(',')})` : null;
1467
- }
1468
1491
  // view 局部变量,申明提升前增加判断,使用 logic 内的 result 直接替换成对应 logic,logic 内部变量替换成 null
1469
- if (logicRtn && code.includes(logicRtn.name)) {
1470
- if (code === logicRtn.name)
1471
- return `${logic.name}(${logic.params.map(() => 'null').join(',')})`;
1472
- code = this.handleReplaceCode(code, logicRtn.name, `${logic.name}(${logic.params.map(() => 'null').join(',')})`);
1492
+ if (code.includes('result')) {
1493
+ code = code.replace(/result(\d)*/g, `${logic.name}(${logic.params.map(() => 'null').join(',')})`);
1473
1494
  logic.params.forEach((param) => {
1474
1495
  if (code.includes(param.name))
1475
- code = this.handleReplaceCode(code, param.name, 'null');
1496
+ code = code.replace(param.name, 'null');
1476
1497
  });
1477
1498
  logic.variables.forEach((variable) => {
1478
1499
  if (code.includes(variable.name))
1479
- code = this.handleReplaceCode(code, variable.name, 'null');
1500
+ code = code.replace(variable.name, 'null');
1501
+ });
1502
+ logic.returns.forEach((rtn) => {
1503
+ if (code.includes(rtn.name))
1504
+ code = code.replace(rtn.name, 'null');
1480
1505
  });
1481
1506
  return code;
1482
1507
  }
1483
- // 处理 current.item、current1.item 等数据
1484
- if (/current(\d)*\.item/.test(code)) {
1485
- code = this.handleCurrentItemCode(code, logic);
1508
+ else if (code.startsWith('app.logics.')) {
1509
+ // 直接赋值全局逻辑,逻辑入参替换成 null
1510
+ const args = code.match(/\(([^)]*)\)/)[1];
1511
+ if (args) {
1512
+ const fnArgs = args.split(',')
1513
+ .map(() => 'null')
1514
+ .join(',');
1515
+ code = code.replace(args, fnArgs);
1516
+ }
1486
1517
  return code;
1487
1518
  }
1488
- // 直接赋值 logic 内局部变量、输入参数直接提示系统无法推断类型
1489
- const useLogicVar = logic.params.find((param) => (code.includes(param.name)))
1490
- || logic.variables.find((variable) => (code.includes(variable.name)));
1491
- return useLogicVar ? 'null' : code;
1492
- }
1493
- handleReplaceCode(code, variable, replaceCode) {
1494
- return code.replace(/\S+/g, ($1) => {
1495
- if ($1 === `${variable},`)
1496
- return `${replaceCode},`;
1497
- if ($1 === variable)
1498
- return replaceCode;
1499
- let fnCode = $1;
1500
- if ($1.startsWith(`${variable}.`))
1501
- fnCode = $1.replaceAll(`${variable}.`, `${replaceCode}.`);
1502
- if ($1.startsWith(`${variable},`))
1503
- fnCode = $1.replaceAll(`${variable},`, `${replaceCode},`);
1504
- if ($1.includes(`(${variable},`))
1505
- fnCode = $1.replaceAll(`(${variable},`, `(${replaceCode},`);
1506
- if ($1.includes(`(${variable}.`))
1507
- fnCode = $1.replaceAll(`(${variable}.`, `(${replaceCode}.`);
1508
- if ($1.includes(`(${variable})`))
1509
- fnCode = $1.replaceAll(`(${variable})`, `(${replaceCode})`);
1510
- if ($1.includes(`,${variable},`))
1511
- fnCode = $1.replaceAll(`,${variable},`, `,${replaceCode},`);
1512
- if ($1.includes(`,${variable}.`))
1513
- fnCode = $1.replaceAll(`,${variable}.`, `,${replaceCode}.`);
1514
- if ($1.includes(`,${variable})`))
1515
- fnCode = $1.replaceAll(`,${variable})`, `,${replaceCode})`);
1516
- return fnCode;
1517
- });
1518
- }
1519
- getAncestorViewElementsWithDataSource(logic) {
1520
- let element = logic;
1521
- const viewElements = [];
1522
- while (element) {
1523
- if (element.concept
1524
- && element.concept === 'ViewElement'
1525
- && element.bindAttrs.find((bAttr) => bAttr.name === 'data-source')) {
1526
- viewElements.push(element);
1519
+ else {
1520
+ // 直接赋值 logic 内局部变量、输入参数直接提示系统无法推断类型
1521
+ let hasVar = false;
1522
+ logic.params.forEach((param) => {
1523
+ if (code.includes(param.name))
1524
+ hasVar = true;
1525
+ });
1526
+ if (!hasVar) {
1527
+ logic.variables.forEach((variable) => {
1528
+ if (code.includes(variable.name))
1529
+ hasVar = true;
1530
+ });
1527
1531
  }
1528
- element = element.parentNode;
1529
- }
1530
- return viewElements;
1531
- }
1532
- handleCurrentItemCode(code, logic) {
1533
- const viewElementsWithDataSource = this.getAncestorViewElementsWithDataSource(logic);
1534
- viewElementsWithDataSource.forEach((viewElement, index) => {
1535
- const currentIndex = viewElementsWithDataSource.length - 1 - index;
1536
- const currentItemCode = `current${currentIndex === 0 ? '' : currentIndex}.item`;
1537
- if (code.includes(currentItemCode)) {
1538
- const dataSource = viewElement.bindAttrs.find((bAttr) => bAttr.name === 'data-source');
1539
- if (dataSource) {
1540
- const view = viewElement.getAncestor('View');
1541
- const dataSourceTS = dataSource.expression.toEmbeddedTS();
1542
- const logic = view.logics.find((logic) => logic.name === dataSourceTS);
1543
- if (logic) {
1544
- code = code.replaceAll(currentItemCode, `nasl.ui.getCurrentItemType(${dataSourceTS}(${logic.params.map(() => 'null').join(',')}))`);
1545
- }
1546
- else {
1547
- const variable = view.variables.find((variable) => variable.name === dataSourceTS);
1548
- code = code.replaceAll(currentItemCode, `nasl.ui.getCurrentItemType(${variable ? variable.name : dataSourceTS})`);
1549
- }
1550
- }
1532
+ if (!hasVar) {
1533
+ logic.returns.forEach((rtn) => {
1534
+ if (code.includes(rtn.name))
1535
+ hasVar = true;
1536
+ });
1551
1537
  }
1552
- });
1553
- return code;
1538
+ return hasVar ? 'null' : code;
1539
+ }
1554
1540
  }
1555
1541
  };
1556
1542
  __decorate([