@lcap/nasl 2.20.0-beta.1 → 2.20.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (307) hide show
  1. package/out/automate/engine/index.d.ts +1 -1
  2. package/out/automate/engine/index.js +7 -7
  3. package/out/automate/engine/index.js.map +1 -1
  4. package/out/automate/engine/uniqueName.d.ts +1 -1
  5. package/out/automate/engine/uniqueName.js +3 -3
  6. package/out/automate/engine/uniqueName.js.map +1 -1
  7. package/out/automate/template/myProcess.js +1 -1
  8. package/out/automate/template/myProcess.js.map +1 -1
  9. package/out/bak/translator.js +38 -85
  10. package/out/bak/translator.js.map +1 -1
  11. package/out/common/BaseNode.d.ts +10 -6
  12. package/out/common/BaseNode.js +53 -7
  13. package/out/common/BaseNode.js.map +1 -1
  14. package/out/concepts/AnonymousFunction__.d.ts +1 -0
  15. package/out/concepts/AnonymousFunction__.js +40 -2
  16. package/out/concepts/AnonymousFunction__.js.map +1 -1
  17. package/out/concepts/App__.d.ts +89 -261
  18. package/out/concepts/App__.js +315 -367
  19. package/out/concepts/App__.js.map +1 -1
  20. package/out/concepts/Assignee__.js.map +1 -1
  21. package/out/concepts/AssignmentLine__.d.ts +5 -5
  22. package/out/concepts/AssignmentLine__.js +6 -6
  23. package/out/concepts/AssignmentLine__.js.map +1 -1
  24. package/out/concepts/Assignment__.js +1 -2
  25. package/out/concepts/Assignment__.js.map +1 -1
  26. package/out/concepts/BatchAssignment__.d.ts +62 -60
  27. package/out/concepts/BatchAssignment__.js +113 -42
  28. package/out/concepts/BatchAssignment__.js.map +1 -1
  29. package/out/concepts/BindAttribute__.d.ts +24 -0
  30. package/out/concepts/BindAttribute__.js +54 -4
  31. package/out/concepts/BindAttribute__.js.map +1 -1
  32. package/out/concepts/BindDirective__.d.ts +5 -0
  33. package/out/concepts/BindDirective__.js +6 -0
  34. package/out/concepts/BindDirective__.js.map +1 -1
  35. package/out/concepts/BindEvent__.d.ts +5 -0
  36. package/out/concepts/BindEvent__.js +6 -0
  37. package/out/concepts/BindEvent__.js.map +1 -1
  38. package/out/concepts/BindStyle__.d.ts +7 -2
  39. package/out/concepts/BindStyle__.js +9 -3
  40. package/out/concepts/BindStyle__.js.map +1 -1
  41. package/out/concepts/BooleanLiteral__.js +0 -8
  42. package/out/concepts/BooleanLiteral__.js.map +1 -1
  43. package/out/concepts/CallFunction__.js +90 -38
  44. package/out/concepts/CallFunction__.js.map +1 -1
  45. package/out/concepts/CallInterface__.d.ts +7 -0
  46. package/out/concepts/CallInterface__.js +54 -7
  47. package/out/concepts/CallInterface__.js.map +1 -1
  48. package/out/concepts/CallLogic__.d.ts +2 -1
  49. package/out/concepts/CallLogic__.js +171 -37
  50. package/out/concepts/CallLogic__.js.map +1 -1
  51. package/out/concepts/CallQueryComponent__.js +16 -1
  52. package/out/concepts/CallQueryComponent__.js.map +1 -1
  53. package/out/concepts/CompletionProperty__.js +3 -0
  54. package/out/concepts/CompletionProperty__.js.map +1 -1
  55. package/out/concepts/ConfigGroup__.js.map +1 -1
  56. package/out/concepts/ConfigProperty__.js.map +1 -1
  57. package/out/concepts/Configuration__.js.map +1 -1
  58. package/out/concepts/Constant__.d.ts +5 -0
  59. package/out/concepts/Constant__.js +6 -0
  60. package/out/concepts/Constant__.js.map +1 -1
  61. package/out/concepts/DataSource__.d.ts +8 -0
  62. package/out/concepts/DataSource__.js +96 -1
  63. package/out/concepts/DataSource__.js.map +1 -1
  64. package/out/concepts/Destination__.d.ts +11 -2
  65. package/out/concepts/Destination__.js +156 -51
  66. package/out/concepts/Destination__.js.map +1 -1
  67. package/out/concepts/EntityProperty__.d.ts +21 -8
  68. package/out/concepts/EntityProperty__.js +109 -23
  69. package/out/concepts/EntityProperty__.js.map +1 -1
  70. package/out/concepts/Entity__.d.ts +32 -0
  71. package/out/concepts/Entity__.js +117 -2
  72. package/out/concepts/Entity__.js.map +1 -1
  73. package/out/concepts/Enum__.js +0 -4
  74. package/out/concepts/Enum__.js.map +1 -1
  75. package/out/concepts/Event__.js.map +1 -1
  76. package/out/concepts/ExternalDestination__.d.ts +73 -0
  77. package/out/concepts/ExternalDestination__.js +264 -0
  78. package/out/concepts/ExternalDestination__.js.map +1 -0
  79. package/out/concepts/ForEachStatement__.d.ts +0 -4
  80. package/out/concepts/ForEachStatement__.js +4 -8
  81. package/out/concepts/ForEachStatement__.js.map +1 -1
  82. package/out/concepts/Frontend__.d.ts +370 -0
  83. package/out/concepts/Frontend__.js +669 -0
  84. package/out/concepts/Frontend__.js.map +1 -0
  85. package/out/concepts/Function__.js.map +1 -1
  86. package/out/concepts/Identifier__.d.ts +1 -0
  87. package/out/concepts/Identifier__.js +33 -10
  88. package/out/concepts/Identifier__.js.map +1 -1
  89. package/out/concepts/IfStatement__.d.ts +8 -0
  90. package/out/concepts/IfStatement__.js +22 -0
  91. package/out/concepts/IfStatement__.js.map +1 -1
  92. package/out/concepts/InterfaceParam__.js.map +1 -1
  93. package/out/concepts/Interface__.js.map +1 -1
  94. package/out/concepts/LogicItem__.d.ts +6 -1
  95. package/out/concepts/LogicItem__.js +6 -0
  96. package/out/concepts/LogicItem__.js.map +1 -1
  97. package/out/concepts/Logic__.d.ts +91 -80
  98. package/out/concepts/Logic__.js +178 -59
  99. package/out/concepts/Logic__.js.map +1 -1
  100. package/out/concepts/MatchCase__.d.ts +1 -1
  101. package/out/concepts/MatchCase__.js +15 -8
  102. package/out/concepts/MatchCase__.js.map +1 -1
  103. package/out/concepts/Match__.d.ts +21 -19
  104. package/out/concepts/Match__.js +118 -26
  105. package/out/concepts/Match__.js.map +1 -1
  106. package/out/concepts/MemberExpression__.d.ts +4 -1
  107. package/out/concepts/MemberExpression__.js +30 -15
  108. package/out/concepts/MemberExpression__.js.map +1 -1
  109. package/out/concepts/Module__.js.map +1 -1
  110. package/out/concepts/Namespace__.js.map +1 -1
  111. package/out/concepts/NewComposite__.d.ts +345 -0
  112. package/out/concepts/NewComposite__.js +1068 -0
  113. package/out/concepts/NewComposite__.js.map +1 -0
  114. package/out/concepts/NewList__.d.ts +130 -0
  115. package/out/concepts/NewList__.js +349 -0
  116. package/out/concepts/NewList__.js.map +1 -0
  117. package/out/concepts/NewMap__.d.ts +221 -0
  118. package/out/concepts/NewMap__.js +480 -0
  119. package/out/concepts/NewMap__.js.map +1 -0
  120. package/out/concepts/New__.d.ts +19 -0
  121. package/out/concepts/New__.js +66 -0
  122. package/out/concepts/New__.js.map +1 -0
  123. package/out/concepts/NumericLiteral__.js +1 -1
  124. package/out/concepts/NumericLiteral__.js.map +1 -1
  125. package/out/concepts/OqlQueryComponent__.d.ts +7 -3
  126. package/out/concepts/OqlQueryComponent__.js +56 -95
  127. package/out/concepts/OqlQueryComponent__.js.map +1 -1
  128. package/out/concepts/Param__.d.ts +8 -1
  129. package/out/concepts/Param__.js +85 -6
  130. package/out/concepts/Param__.js.map +1 -1
  131. package/out/concepts/ProcessComponent__.js.map +1 -1
  132. package/out/concepts/ProcessElement__.js +42 -13
  133. package/out/concepts/ProcessElement__.js.map +1 -1
  134. package/out/concepts/ProcessOutcomes__.d.ts +30 -0
  135. package/out/concepts/ProcessOutcomes__.js +87 -0
  136. package/out/concepts/ProcessOutcomes__.js.map +1 -0
  137. package/out/concepts/Process__.d.ts +4 -20
  138. package/out/concepts/Process__.js +0 -7
  139. package/out/concepts/Process__.js.map +1 -1
  140. package/out/concepts/QueryJoinExpression__.js.map +1 -1
  141. package/out/concepts/QueryOrderByExpression__.d.ts +3 -3
  142. package/out/concepts/QueryOrderByExpression__.js +3 -3
  143. package/out/concepts/QueryOrderByExpression__.js.map +1 -1
  144. package/out/concepts/QuerySelectExpression__.js.map +1 -1
  145. package/out/concepts/Return__.d.ts +5 -0
  146. package/out/concepts/Return__.js +45 -2
  147. package/out/concepts/Return__.js.map +1 -1
  148. package/out/concepts/SelectMembers__.d.ts +1 -1
  149. package/out/concepts/SelectMembers__.js +5 -5
  150. package/out/concepts/SelectMembers__.js.map +1 -1
  151. package/out/concepts/SqlQueryComponent__.d.ts +2 -4
  152. package/out/concepts/SqlQueryComponent__.js +9 -88
  153. package/out/concepts/SqlQueryComponent__.js.map +1 -1
  154. package/out/concepts/StringInterpolation__.d.ts +113 -0
  155. package/out/concepts/StringInterpolation__.js +227 -0
  156. package/out/concepts/StringInterpolation__.js.map +1 -0
  157. package/out/concepts/StringLiteral__.js +0 -7
  158. package/out/concepts/StringLiteral__.js.map +1 -1
  159. package/out/concepts/StructureProperty__.js.map +1 -1
  160. package/out/concepts/Structure__.js.map +1 -1
  161. package/out/concepts/Transactional__.d.ts +5 -0
  162. package/out/concepts/Transactional__.js +6 -0
  163. package/out/concepts/Transactional__.js.map +1 -1
  164. package/out/concepts/TypeAnnotation__.d.ts +4 -0
  165. package/out/concepts/TypeAnnotation__.js +67 -15
  166. package/out/concepts/TypeAnnotation__.js.map +1 -1
  167. package/out/concepts/TypeParam__.d.ts +1 -0
  168. package/out/concepts/TypeParam__.js +2 -0
  169. package/out/concepts/TypeParam__.js.map +1 -1
  170. package/out/concepts/UnaryExpression__.js +6 -9
  171. package/out/concepts/UnaryExpression__.js.map +1 -1
  172. package/out/concepts/ValidationRule__.js +87 -22
  173. package/out/concepts/ValidationRule__.js.map +1 -1
  174. package/out/concepts/Variable__.d.ts +5 -0
  175. package/out/concepts/Variable__.js +46 -3
  176. package/out/concepts/Variable__.js.map +1 -1
  177. package/out/concepts/ViewComponent__.js.map +1 -1
  178. package/out/concepts/ViewElement__.d.ts +35 -29
  179. package/out/concepts/ViewElement__.js +138 -54
  180. package/out/concepts/ViewElement__.js.map +1 -1
  181. package/out/concepts/View__.d.ts +10 -3
  182. package/out/concepts/View__.js +116 -86
  183. package/out/concepts/View__.js.map +1 -1
  184. package/out/concepts/WhileStatement__.js +1 -1
  185. package/out/concepts/WhileStatement__.js.map +1 -1
  186. package/out/concepts/basics/stdlib/nasl.auth.js +1 -1
  187. package/out/concepts/basics/stdlib/nasl.auth.js.map +1 -1
  188. package/out/concepts/basics/stdlib/nasl.browser.js +50 -0
  189. package/out/concepts/basics/stdlib/nasl.browser.js.map +1 -1
  190. package/out/concepts/basics/stdlib/nasl.logging.js +5 -0
  191. package/out/concepts/basics/stdlib/nasl.logging.js.map +1 -1
  192. package/out/concepts/basics/stdlib/nasl.ui.js +38 -4
  193. package/out/concepts/basics/stdlib/nasl.ui.js.map +1 -1
  194. package/out/concepts/basics/stdlib/nasl.util.js +214 -62
  195. package/out/concepts/basics/stdlib/nasl.util.js.map +1 -1
  196. package/out/concepts/index__.d.ts +9 -0
  197. package/out/concepts/index__.js +9 -0
  198. package/out/concepts/index__.js.map +1 -1
  199. package/out/enums/KEYWORDS.d.ts +1 -0
  200. package/out/enums/KEYWORDS.js +9 -1
  201. package/out/enums/KEYWORDS.js.map +1 -1
  202. package/out/generator/genBundleFiles.d.ts +10 -4
  203. package/out/generator/genBundleFiles.js +127 -162
  204. package/out/generator/genBundleFiles.js.map +1 -1
  205. package/out/generator/genMetaData.d.ts +2 -11
  206. package/out/generator/genMetaData.js +185 -51
  207. package/out/generator/genMetaData.js.map +1 -1
  208. package/out/generator/genReleaseBody.d.ts +57 -0
  209. package/out/generator/genReleaseBody.js +380 -0
  210. package/out/generator/genReleaseBody.js.map +1 -0
  211. package/out/generator/index.d.ts +2 -0
  212. package/out/generator/index.js +2 -0
  213. package/out/generator/index.js.map +1 -1
  214. package/out/generator/permission.d.ts +17 -0
  215. package/out/generator/permission.js +221 -0
  216. package/out/generator/permission.js.map +1 -0
  217. package/out/index.d.ts +3 -2
  218. package/out/index.js +7 -1
  219. package/out/index.js.map +1 -1
  220. package/out/server/entity2LogicNamespace.js +100 -20
  221. package/out/server/entity2LogicNamespace.js.map +1 -1
  222. package/out/server/extendBaseNode.js +33 -20
  223. package/out/server/extendBaseNode.js.map +1 -1
  224. package/out/server/formatTsUtils.d.ts +1 -2
  225. package/out/server/formatTsUtils.js +46 -64
  226. package/out/server/formatTsUtils.js.map +1 -1
  227. package/out/server/getLogics.d.ts +2 -1
  228. package/out/server/getLogics.js +24 -6
  229. package/out/server/getLogics.js.map +1 -1
  230. package/out/server/getMemberIdentifier.js +11 -11
  231. package/out/server/getMemberIdentifier.js.map +1 -1
  232. package/out/server/getProcesses.d.ts +1 -1
  233. package/out/server/getProcesses.js +1 -1
  234. package/out/server/getProcesses.js.map +1 -1
  235. package/out/server/index.d.ts +0 -1
  236. package/out/server/index.js +2 -27
  237. package/out/server/index.js.map +1 -1
  238. package/out/server/naslServer.d.ts +50 -8
  239. package/out/server/naslServer.js +816 -429
  240. package/out/server/naslServer.js.map +1 -1
  241. package/out/server/naslStdlibMap.js +30 -28
  242. package/out/server/naslStdlibMap.js.map +1 -1
  243. package/out/server/process2LogicNamespace.js +8 -0
  244. package/out/server/process2LogicNamespace.js.map +1 -1
  245. package/out/server/translator.js +90 -12
  246. package/out/server/translator.js.map +1 -1
  247. package/out/service/creator/add.configs.js +4 -0
  248. package/out/service/creator/add.configs.js.map +1 -1
  249. package/out/service/datasource/api.d.ts +12 -0
  250. package/out/service/datasource/api.js +14 -0
  251. package/out/service/datasource/api.js.map +1 -0
  252. package/out/service/datasource/index.d.ts +2 -0
  253. package/out/service/datasource/index.js +10 -0
  254. package/out/service/datasource/index.js.map +1 -0
  255. package/out/service/defaultErrorMessage.json +97 -0
  256. package/out/service/logic/api.d.ts +9 -0
  257. package/out/service/logic/api.js +11 -0
  258. package/out/service/logic/api.js.map +1 -0
  259. package/out/service/logic/index.d.ts +2 -0
  260. package/out/service/logic/index.js +10 -0
  261. package/out/service/logic/index.js.map +1 -0
  262. package/out/service/storage/init.js +48 -7
  263. package/out/service/storage/init.js.map +1 -1
  264. package/out/templator/genCreateBlock.js +6 -4
  265. package/out/templator/genCreateBlock.js.map +1 -1
  266. package/out/templator/genCurdEditMultipleKeyBlock.js +7 -4
  267. package/out/templator/genCurdEditMultipleKeyBlock.js.map +1 -1
  268. package/out/templator/genCurdMultipleKeyBlock.js +7 -5
  269. package/out/templator/genCurdMultipleKeyBlock.js.map +1 -1
  270. package/out/templator/genEditTableBlock.js +4 -5
  271. package/out/templator/genEditTableBlock.js.map +1 -1
  272. package/out/templator/genEnumSelectBlock.js +5 -2
  273. package/out/templator/genEnumSelectBlock.js.map +1 -1
  274. package/out/templator/genGetBlock.js +4 -3
  275. package/out/templator/genGetBlock.js.map +1 -1
  276. package/out/templator/genGridViewBlock.js +18 -16
  277. package/out/templator/genGridViewBlock.js.map +1 -1
  278. package/out/templator/genListViewBlock.js +7 -7
  279. package/out/templator/genListViewBlock.js.map +1 -1
  280. package/out/templator/genQueryComponent.d.ts +2 -2
  281. package/out/templator/genQueryComponent.js +4 -1
  282. package/out/templator/genQueryComponent.js.map +1 -1
  283. package/out/templator/genTableBlock.js +8 -12
  284. package/out/templator/genTableBlock.js.map +1 -1
  285. package/out/templator/genUpdateBlock.js +4 -3
  286. package/out/templator/genUpdateBlock.js.map +1 -1
  287. package/out/templator/utils.js +1 -1
  288. package/out/templator/utils.js.map +1 -1
  289. package/out/test/integration/node-nasl-server.js +10 -38
  290. package/out/test/integration/node-nasl-server.js.map +1 -1
  291. package/out/translator/index.d.ts +1 -0
  292. package/out/translator/index.js +1 -1
  293. package/out/translator/index.js.map +1 -1
  294. package/out/utils/index.d.ts +1 -0
  295. package/out/utils/index.js +38 -1
  296. package/out/utils/index.js.map +1 -1
  297. package/out/utils/string.d.ts +15 -2
  298. package/out/utils/string.js +18 -3
  299. package/out/utils/string.js.map +1 -1
  300. package/package.json +1 -1
  301. package/src/concepts/App__.ts +11 -36
  302. package/src/concepts/Frontend__.ts +8 -0
  303. package/src/concepts/ViewElement__.ts +7 -28
  304. package/src/concepts/View__.ts +1 -1
  305. package/src/server/getLogics.ts +2 -2
  306. package/src/server/naslServer.ts +8 -8
  307. package/src/service/storage/init.ts +3 -4
@@ -40,6 +40,8 @@ const json5 = __importStar(require("json5"));
40
40
  const compiler = __importStar(require("vue-template-compiler"));
41
41
  const LogicItem__1 = __importDefault(require("./LogicItem__"));
42
42
  const __1 = require("..");
43
+ const MemberExpression__1 = __importDefault(require("./MemberExpression__"));
44
+ const Identifier__1 = __importDefault(require("./Identifier__"));
43
45
  /**
44
46
  * 自闭合标签
45
47
  */
@@ -88,38 +90,22 @@ function transAstNodeToNaslNode(astNode, namespace) {
88
90
  let node = null;
89
91
  if (astNode.type === 'CallExpression' && astNode.callee.object.name === '$utils') {
90
92
  const calleeName = astNode.callee.property.name || astNode.callee.property.value;
91
- if (calleeName === 'EnumList') {
92
- const args = astNode.arguments;
93
- let name = '';
94
- let namespace = 'app.enums';
95
- if (Array.isArray(args)) {
96
- name = args[0]?.value;
97
- namespace = args[1]?.value ? args[1]?.value : 'app.enums';
98
- }
99
- node = {
100
- concept: 'Identifier',
101
- name,
102
- namespace,
103
- kind: 'Expression',
104
- };
105
- }
106
- else {
107
- node = {
108
- concept: 'CallFunction',
93
+ node = {
94
+ concept: 'CallFunction',
95
+ name: '',
96
+ label: '调用内置函数',
97
+ kind: 'Expression',
98
+ calleeNamespace: 'nasl.util',
99
+ calleeName,
100
+ arguments: astNode.arguments.map((argument) => ({
101
+ concept: 'Argument',
109
102
  name: '',
110
- label: '调用内置函数',
111
- kind: 'Expression',
112
- calleeNamespace: 'nasl.util',
113
- calleeName,
114
- arguments: astNode.arguments.map((argument) => ({
115
- concept: 'Argument',
116
- name: '',
117
- kind: 'Statement',
118
- keyword: '',
119
- expression: transAstNodeToNaslNode(Object.assign({}, argument)),
120
- })),
121
- };
122
- }
103
+ kind: 'Statement',
104
+ keyword: '',
105
+ expression: transAstNodeToNaslNode(Object.assign({}, argument)),
106
+ })).filter((item) => item.expression),
107
+ typeArguments: astNode.arguments.map((argument) => (transAstNodeToNaslTypeNode(Object.assign({}, argument)))).filter((item) => item),
108
+ };
123
109
  }
124
110
  else if (astNode.type === 'MemberExpression') {
125
111
  if (astNode.object?.name === '$global') {
@@ -168,12 +154,18 @@ function transAstNodeToNaslNode(astNode, namespace) {
168
154
  };
169
155
  }
170
156
  else if (astNode.type === 'StringLiteral') {
171
- node = {
172
- concept: 'StringLiteral',
173
- kind: 'Expression',
174
- name: '',
175
- value: astNode.value,
176
- };
157
+ // 单独特殊处理枚举因为他不是MemberExpression,而是Identifier_
158
+ if (astNode?.value?.startsWith('__enumTypeAnnotation_')) {
159
+ return null;
160
+ }
161
+ else {
162
+ node = {
163
+ concept: 'StringLiteral',
164
+ kind: 'Expression',
165
+ name: '',
166
+ value: astNode.value,
167
+ };
168
+ }
177
169
  }
178
170
  else if (astNode.type === 'UnaryExpression') {
179
171
  node = {
@@ -190,6 +182,22 @@ function transAstNodeToNaslNode(astNode, namespace) {
190
182
  }
191
183
  return node;
192
184
  }
185
+ function transAstNodeToNaslTypeNode(astNode, namespace) {
186
+ let node = null;
187
+ // 单独特殊处理枚举因为他不是MemberExpression,而是Identifier_
188
+ if (astNode?.value?.startsWith('__enumTypeAnnotation_')) {
189
+ const valueArr = astNode.value.replace('__enumTypeAnnotation_', '')?.split('.');
190
+ const name = valueArr.pop();
191
+ const namespace = valueArr.join('.');
192
+ node = {
193
+ concept: 'TypeAnnotation',
194
+ typeNamespace: namespace || '',
195
+ typeName: name || '',
196
+ typeKind: 'reference',
197
+ };
198
+ }
199
+ return node;
200
+ }
193
201
  const decorators_1 = require("../decorators");
194
202
  const utils = __importStar(require("../utils"));
195
203
  const BaseNode_1 = __importDefault(require("../common/BaseNode"));
@@ -255,7 +263,7 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
255
263
  */
256
264
  bindRoles = [];
257
265
  /**
258
- * 元素绑定样式属性列表
266
+ * 元素绑定样式列表
259
267
  */
260
268
  bindStyles = [];
261
269
  /**
@@ -280,6 +288,12 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
280
288
  get app() {
281
289
  return this.getAncestor('App');
282
290
  }
291
+ /**
292
+ * 祖先 Frontend
293
+ */
294
+ get frontend() {
295
+ return this.getAncestor('Frontend');
296
+ }
283
297
  /**
284
298
  * @param source 需要合并的部分参数
285
299
  */
@@ -739,7 +753,7 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
739
753
  if (typeof options === 'string') {
740
754
  bindStyle = this.bindStyles.find((item) => item.name === options);
741
755
  if (!bindStyle) {
742
- throw new Error('找不到元素绑定样式属性 ' + options);
756
+ throw new Error('找不到元素绑定样式 ' + options);
743
757
  }
744
758
  }
745
759
  else {
@@ -814,7 +828,7 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
814
828
  get parentAuth() {
815
829
  const _nameSpace = this.view.getNamespace();
816
830
  const mainViewName = _nameSpace.split('.')[2];
817
- return this.view.parentNode.concept === 'App' ? this.view.auth : this.app.views.find((item) => item.name === mainViewName)?.auth;
831
+ return this.view.parentNode.concept === 'App' ? this.view.auth : this.frontend.views.find((item) => item.name === mainViewName)?.auth;
818
832
  }
819
833
  /**
820
834
  * 权限领域的资源路径
@@ -899,13 +913,39 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
899
913
  if (bindAttrs && bindAttrs.length) {
900
914
  const attr = bindAttrs.find((item) => item.name === 'data-source');
901
915
  if (attr && attr.expression) {
902
- const viewElementDataSourceTypeStrMap = this.view.viewElementDataSourceTypeStrMap;
903
- const typeStr = viewElementDataSourceTypeStrMap.get(this) || '<any>';
904
- code += `<${typeStr}>`;
916
+ code += `<${this.__tsDataSourceTypeName}>`;
905
917
  }
906
918
  }
907
919
  return code;
908
920
  }
921
+ getDatasourceTypeCodeStr(state, eleArr) {
922
+ let code = '';
923
+ (eleArr || []).forEach((element, index) => {
924
+ const bindAttrs = element.bindAttrs;
925
+ if (bindAttrs && bindAttrs.length) {
926
+ const attr = bindAttrs.find((item) => item.name === 'data-source');
927
+ if (attr && attr.expression) {
928
+ const datasourceName = `datasourceName${index}`;
929
+ element.__tsDataSourceTypeName = datasourceName;
930
+ if (attr.expression instanceof MemberExpression__1.default || attr.expression instanceof Identifier__1.default) {
931
+ const value = attr.expression.toEmbeddedTS((0, translator_1.shiftState)(state, code));
932
+ code += `type ${datasourceName} = `;
933
+ code += `nasl.ui.GetItemTypeFromDataSource<typeof ${value}>;\n`;
934
+ }
935
+ else {
936
+ code += `const __funcName${index} = () => { return`;
937
+ code += attr.expression.toEmbeddedTS((0, translator_1.shiftState)(state, code));
938
+ code += '};\n';
939
+ code += `type ${datasourceName} = `;
940
+ code += `nasl.ui.GetItemTypeFromDataSource<ReturnType<typeof __funcName${index}>>;\n`;
941
+ }
942
+ }
943
+ }
944
+ });
945
+ code += '\n';
946
+ code += (0, translator_1.indent)((state?.tabSize || 0) + 2);
947
+ return code;
948
+ }
909
949
  toEmbeddedTS(state, parentLevel) {
910
950
  // 过滤模板的登录中的一些翻译,这里只过滤h5表格中的两个列
911
951
  if (this.parentNode.tag && this.toHump(this.parentNode.tag) === 'lcapLogin' || this.staticClass === 'login-cell')
@@ -929,15 +969,35 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
929
969
  if (this.tag === 'template' && this.haveScope()) {
930
970
  const slotTarget = !this.slotTarget ? 'slotDefault' : 'slot' + this.toFirstUpper(this.toHump(this.slotTarget));
931
971
  let code = '';
932
- code += `${slotTarget}: (current${levelIndex === 0 ? '' : levelIndex})=> [\n`;
972
+ code += `${slotTarget}: (current${levelIndex === 0 ? '' : levelIndex})=> {\n`;
973
+ code += this.getDatasourceTypeCodeStr(state, this.children);
933
974
  levelIndex++;
975
+ code += 'return [';
934
976
  this.children.forEach((element) => {
935
977
  code += element.toEmbeddedTS((0, translator_1.shiftState)(state, code, {
936
978
  tabSize: (state?.tabSize || 0),
937
979
  }), levelIndex);
938
980
  });
981
+ code += ']';
939
982
  code += '\n';
940
- code += '],\n';
983
+ code += '},\n';
984
+ return code;
985
+ }
986
+ else if (this.tag === 'template') {
987
+ const slotTarget = !this.slotTarget ? 'slotDefault' : 'slot' + this.toFirstUpper(this.toHump(this.slotTarget));
988
+ let code = '';
989
+ code += `${slotTarget}: ()=> {\n`;
990
+ code += this.getDatasourceTypeCodeStr(state, this.children);
991
+ code += 'return [';
992
+ this.children.forEach((element) => {
993
+ code += element.toEmbeddedTS((0, translator_1.shiftState)(state, code, {
994
+ tabSize: (state?.tabSize || 0),
995
+ }));
996
+ });
997
+ code += (0, translator_1.indent)((state?.tabSize || 0) + 2);
998
+ code += ']';
999
+ code += '\n';
1000
+ code += '},\n';
941
1001
  return code;
942
1002
  }
943
1003
  function chineseTsName(name) {
@@ -988,7 +1048,7 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
988
1048
  code += (0, translator_1.indent)((state?.tabSize || 0) + 2) + '],\n';
989
1049
  }
990
1050
  // 如果子集中有插槽的就
991
- if (this.children.find((item) => item.tag === 'template' && item.haveScope())) {
1051
+ if (this.children.find((item) => item.tag === 'template' && item.slotTarget)) {
992
1052
  code += (0, translator_1.indent)((state?.tabSize || 0) + 2);
993
1053
  const defaultArr = [];
994
1054
  // 先把插槽翻译了
@@ -1005,28 +1065,36 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
1005
1065
  // 翻译其余的子集
1006
1066
  if (defaultArr.length) {
1007
1067
  code += (0, translator_1.indent)((state?.tabSize || 0) + 2);
1008
- code += `slotDefault: ()=> [\n`;
1068
+ code += `slotDefault: ()=> {\n`;
1069
+ code += this.getDatasourceTypeCodeStr(state, defaultArr);
1070
+ code += 'return [';
1009
1071
  defaultArr.forEach((element) => {
1010
1072
  code += element.toEmbeddedTS((0, translator_1.shiftState)(state, code, {
1011
1073
  tabSize: (state?.tabSize || 0) + 2,
1012
1074
  }), levelIndex);
1013
1075
  code += '\n';
1014
1076
  });
1015
- code += (0, translator_1.indent)((state?.tabSize || 0) + 1);
1077
+ code += (0, translator_1.indent)((state?.tabSize || 0) + 2);
1016
1078
  code += ']\n';
1079
+ code += (0, translator_1.indent)((state?.tabSize || 0) + 1);
1080
+ code += '}\n';
1017
1081
  }
1018
1082
  }
1019
1083
  else {
1020
1084
  code += (0, translator_1.indent)((state?.tabSize || 0) + 2);
1021
- code += `slotDefault: ()=> [\n`;
1085
+ code += `slotDefault: ()=> {\n`;
1086
+ code += this.getDatasourceTypeCodeStr(state, this.children);
1087
+ code += 'return [';
1022
1088
  this.children.forEach((element) => {
1023
1089
  code += element.toEmbeddedTS((0, translator_1.shiftState)(state, code, {
1024
1090
  tabSize: (state?.tabSize || 0) + 2,
1025
1091
  }), levelIndex);
1026
1092
  code += '\n';
1027
1093
  });
1028
- code += (0, translator_1.indent)((state?.tabSize || 0) + 1);
1094
+ code += (0, translator_1.indent)((state?.tabSize || 0) + 2);
1029
1095
  code += ']\n';
1096
+ code += (0, translator_1.indent)((state?.tabSize || 0) + 1);
1097
+ code += '}\n';
1030
1098
  }
1031
1099
  }
1032
1100
  code += (0, translator_1.indent)((state?.tabSize || 0)) + '}),\n';
@@ -1073,7 +1141,8 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
1073
1141
  try {
1074
1142
  const ast = babelParser.parseExpression(value);
1075
1143
  if (ast.type === 'CallExpression') {
1076
- calleeName = ast.callee.property.name || ast.callee.property.value;
1144
+ calleeName = ast.callee?.property?.name || ast.callee?.property?.value || ast.callee?.name;
1145
+ calleeName = calleeName.replace(/\(.*/, '');
1077
1146
  args = ast.arguments.map((argument) => ({
1078
1147
  concept: 'Argument',
1079
1148
  name: '',
@@ -1130,7 +1199,7 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
1130
1199
  let element;
1131
1200
  if (astNode.type === 1) {
1132
1201
  if (astNode.tag === 'router-view') {
1133
- if (__1.config.scope === 'h5') {
1202
+ if (view.frontend.type === 'h5') {
1134
1203
  astNode.tag = 'van-router-view';
1135
1204
  }
1136
1205
  else {
@@ -1332,9 +1401,12 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
1332
1401
  finalCode: false,
1333
1402
  nodePathAttr: true,
1334
1403
  attrFormat: (attr, element, defaultResult) => {
1335
- if (attr.concept === 'BindAttribute') {
1404
+ if (attr.concept === 'BindAttribute' && !['href', 'destination', 'externalDestination', 'download'].includes(attr.name)) {
1336
1405
  const api = __1.config.allNodesAPI[element.tag];
1337
1406
  const apiOfAttr = api && api.attrs && api.attrs.find((_attr) => _attr.name === attr.name);
1407
+ if (['u-form-item', 'u-validator', 'van-field'].includes(element.tag) && attr.name === 'rules') {
1408
+ return `${attr.name}=""`;
1409
+ }
1338
1410
  if (apiOfAttr && apiOfAttr['designer-value'] !== undefined) {
1339
1411
  let designerValue = apiOfAttr['designer-value'];
1340
1412
  //对流程模板拖拽进行特判
@@ -1407,7 +1479,7 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
1407
1479
  if (hasAuto)
1408
1480
  addEmpty = false;
1409
1481
  }
1410
- if (['u-select', 'u-dropdown', 'u-panel', 'u-toc', 'u-toc-item', 'u-tree-view-new', 'u-tree-view-node-new', 'u-tree-select', 'u-tree-select-new', 'u-anchor', 'u-drawer', 'u-timeline'].includes(el.tag)) {
1482
+ if (['u-select', 'u-dropdown', 'u-panel', 'u-toc', 'u-toc-item', 'u-tree-view-new', 'u-tree-view-node-new', 'u-tree-select', 'u-tree-select-new', 'u-anchor', 'u-drawer', 'u-timeline', 'u-tabs'].includes(el.tag)) {
1411
1483
  addEmpty = false;
1412
1484
  }
1413
1485
  const background = (emptySlot && emptySlot['empty-background']) || (hasSupport ? 'add-sub' : '');
@@ -1483,10 +1555,22 @@ let ViewElement = ViewElement_1 = class ViewElement extends BaseNode_1.default {
1483
1555
  this.name && parts.push(`ref="${this.name}"`);
1484
1556
  this.staticClass && parts.push(`class="${this.staticClass}"`);
1485
1557
  this.staticStyle && parts.push(`style="${this.staticStyle}"`);
1558
+ const vIfs = [];
1486
1559
  [].concat(this.bindAttrs, this.bindDirectives, this.bindEvents).forEach((attr) => {
1487
1560
  const result = newOptions.attrFormat(attr, this, attr?.toVue(newOptions));
1561
+ // v-auth v-if 都翻译成 v-if
1562
+ if (attr instanceof BindDirective__1.default && ['if', 'auth'].includes(attr.name) && result !== false) {
1563
+ const expr = result.replace(/v-(if|auth)="(.*)"/, (match, p1, p2) => p2);
1564
+ if (expr)
1565
+ vIfs.push(attr.name === 'if' ? expr : `$auth.has(${expr})`);
1566
+ return;
1567
+ }
1488
1568
  result && parts.push(result);
1489
1569
  });
1570
+ if (vIfs.length === 2)
1571
+ parts.push(`v-if="(${vIfs[0]}) && (${vIfs[1]})"`);
1572
+ else if (vIfs.length === 1)
1573
+ parts.push(`v-if="${vIfs[0]}"`);
1490
1574
  const bindStyles = newOptions.bindStylesFormat(this.bindStyles, this);
1491
1575
  if (bindStyles)
1492
1576
  parts.push(bindStyles);
@@ -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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"}
@@ -11,6 +11,7 @@ import Variable from './Variable__';
11
11
  import Logic from './Logic__';
12
12
  import BindEvent from './BindEvent__';
13
13
  import Module from './Module__';
14
+ import Frontend from './Frontend__';
14
15
  import App from './App__';
15
16
  /**
16
17
  * 页面
@@ -100,6 +101,10 @@ export declare class View extends BaseNode {
100
101
  * 祖先 App
101
102
  */
102
103
  get app(): App;
104
+ /**
105
+ * 祖先 Frontend
106
+ */
107
+ get frontend(): Frontend;
103
108
  /**
104
109
  * @param source 需要合并的部分参数
105
110
  */
@@ -683,8 +688,6 @@ export declare class View extends BaseNode {
683
688
  */
684
689
  elementLogicRoot: any[];
685
690
  getElementLogicRoot(): void;
686
- viewElementDataSourceTypeStrMap: Map<BaseNode, string>;
687
- getViewElementDataSourceCode(state?: TranslatorState): string;
688
691
  getViewBindEvents(): BindEvent[];
689
692
  getViewMatchExpressions(): Match[];
690
693
  /**
@@ -700,6 +703,10 @@ export declare class View extends BaseNode {
700
703
  _setAsIndexView(isIndex: boolean): void;
701
704
  setAsIndexView(isIndex: boolean): void;
702
705
  removeExistingViewElement(viewElement: ViewElement): void;
703
- getRightCode(code: string, assignment: Assignment | BatchAssignment): string;
706
+ getRightCode(code: string, assignment: Assignment | BatchAssignment, rightNode: any): string;
707
+ handleReplaceCode(code: string, variable: string, replaceCode: string): string;
708
+ getAncestorViewElementsWithDataSource(logic: Logic): ViewElement[];
709
+ handleCurrentItemCode(code: string, logic: Logic): string;
710
+ getViewCallLogics(): string[];
704
711
  }
705
712
  export default View;